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

Sprout from master 2005-02-11 23:45:42 UTC Dorian Birsan <dbirsan> 'Bug 84935'
Cherrypick from master 2005-02-05 04:11:18 UTC Dorian Birsan <dbirsan> 'bug 83742 (improve feature search presentation)':
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
Delete:
    ant/org.eclipse.ant.core/.classpath
    ant/org.eclipse.ant.core/.cvsignore
    ant/org.eclipse.ant.core/.externalToolBuilders/Build Ant Support JAR.launch
    ant/org.eclipse.ant.core/.project
    ant/org.eclipse.ant.core/.settings/org.eclipse.jdt.core.prefs
    ant/org.eclipse.ant.core/.settings/org.eclipse.pde.core.prefs
    ant/org.eclipse.ant.core/.settings/org.eclipse.pde.prefs
    ant/org.eclipse.ant.core/about.html
    ant/org.eclipse.ant.core/asl-v20.txt
    ant/org.eclipse.ant.core/build.properties
    ant/org.eclipse.ant.core/buildfiles/buildExtraJAR.xml
    ant/org.eclipse.ant.core/buildfiles/exportplugin.xml
    ant/org.eclipse.ant.core/buildnotes_platform-ant.html
    ant/org.eclipse.ant.core/doc/.cvsignore
    ant/org.eclipse.ant.core/lib/.cvsignore
    ant/org.eclipse.ant.core/plugin.properties
    ant/org.eclipse.ant.core/plugin.xml
    ant/org.eclipse.ant.core/r2_0_buildnotes_platform-ant.html
    ant/org.eclipse.ant.core/r2_1_buildnotes_platform-ant.html
    ant/org.eclipse.ant.core/r3_0_buildnotes_platform-ant.html
    ant/org.eclipse.ant.core/schema/antProperties.exsd
    ant/org.eclipse.ant.core/schema/antTasks.exsd
    ant/org.eclipse.ant.core/schema/antTypes.exsd
    ant/org.eclipse.ant.core/schema/extraClasspathEntries.exsd
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePlugin.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePreferences.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntSecurityException.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntClasspathEntry.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntPropertyValueProvider.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ProjectInfo.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Property.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/TargetInfo.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Task.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Type.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html
    ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AbstractEclipseBuildLogger.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClassLoader.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClasspathEntry.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntCoreUtil.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntObject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntPropertyValueProvider.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntSecurityManager.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/IAntCoreConstants.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/InternalCoreAntMessages.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/InternalCoreAntMessages.properties
    ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/DemuxInputStreamSetter.java
    ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InputHandlerSetter.java
    ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntMessages.java
    ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntMessages.properties
    ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
    ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalProject.java
    ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/NullInputHandler.java
    ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/ProgressBuildListener.java
    ant/org.eclipse.ant.tests.core/.classpath
    ant/org.eclipse.ant.tests.core/.cvsignore
    ant/org.eclipse.ant.tests.core/.externalToolBuilders/Ant Test Support Lib Builder.launch
    ant/org.eclipse.ant.tests.core/.project
    ant/org.eclipse.ant.tests.core/.settings/org.eclipse.jdt.core.prefs
    ant/org.eclipse.ant.tests.core/.settings/org.eclipse.pde.core.prefs
    ant/org.eclipse.ant.tests.core/.settings/org.eclipse.pde.prefs
    ant/org.eclipse.ant.tests.core/about.html
    ant/org.eclipse.ant.tests.core/build.properties
    ant/org.eclipse.ant.tests.core/buildfiles/buildAntTestsSupportJAR.xml
    ant/org.eclipse.ant.tests.core/lib/.cvsignore
    ant/org.eclipse.ant.tests.core/plugin.properties
    ant/org.eclipse.ant.tests.core/plugin.xml
    ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntFileRunner.java
    ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestChecker.java
    ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestPlugin.java
    ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestPropertyValueProvider.java
    ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/ProjectHelper.java
    ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/inputHandlers/AntTestInputHandler.java
    ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/tasks/AntTestTask.java
    ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/tasks/AntTestTask2.java
    ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildListener.java
    ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildLogger.java
    ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/types/AntTestPath.java
    ant/org.eclipse.ant.tests.core/test.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/Bug32551.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/Bug34663.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/Bug42926.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/Bug73602.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/ClasspathOrdering.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/CustomTask.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/CustomType.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/ExtensionPointTask.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/ExtensionPointType.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/MissingDefault.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/NoDefault.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/TestForEcho.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/build.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/echoing.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/failingTarget.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/input.xml
    ant/org.eclipse.ant.tests.core/testbuildfiles/javac.xml
    ant/org.eclipse.ant.tests.core/testlib/classpathOrdering1.jar
    ant/org.eclipse.ant.tests.core/testlib/classpathOrdering2.jar
    ant/org.eclipse.ant.tests.core/testlib/taskFolder/org/eclipse/ant/tests/core/support/tasks/AntTestTask2.class
    ant/org.eclipse.ant.tests.core/testresources/AntTestTask.java
    ant/org.eclipse.ant.tests.core/testresources/taskdefs.properties
    ant/org.eclipse.ant.tests.core/testresources/test.properties
    ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/AbstractAntTest.java
    ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/AutomatedSuite.java
    ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/ProjectCreationDecorator.java
    ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/FrameworkTests.java
    ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java
    ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/ProjectTests.java
    ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TargetTests.java
    ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TaskTests.java
    ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TypeTests.java
    ant/org.eclipse.ant.tests.ui/.classpath
    ant/org.eclipse.ant.tests.ui/.cvsignore
    ant/org.eclipse.ant.tests.ui/.externalToolBuilders/Build Test Support JAR.launch
    ant/org.eclipse.ant.tests.ui/.project
    ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.jdt.core.prefs
    ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.pde.core.prefs
    ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.pde.prefs
    ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/AbstractAntDebugTest.java
    ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DebugElementEventWaiter.java
    ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DebugElementKindEventDetailWaiter.java
    ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DeferredBreakpointTests.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/dtd/dumper.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorContentOutlineTests.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorTests.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/CodeCompletionTest.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/TaskDescriptionProviderTest.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/FormattingPreferencesTest.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlDocumentFormatterTest.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlFormatterTest.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlTagFormatterTest.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/EditorTestHelper.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/NonInitialTypingTest.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/OpenAntEditorTest.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestLocationProvider.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestProblemRequestor.java
    ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestTextCompletionProcessor.java
    ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AbstractAntUIBuildPerformanceTest.java
    ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AbstractAntUIBuildTest.java
    ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AntUtilTests.java
    ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/BuildTests.java
    ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/OpenLaunchConfigurationDialogTests.java
    ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/SeparateVMTests.java
    ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java
    ant/org.eclipse.ant.tests.ui/External Tools/org/eclipse/ant/tests/ui/externaltools/MigrationTests.java
    ant/org.eclipse.ant.tests.ui/about.html
    ant/org.eclipse.ant.tests.ui/build.properties
    ant/org.eclipse.ant.tests.ui/buildfiles/buildAntTestsSupportJAR.xml
    ant/org.eclipse.ant.tests.ui/icons/ant.gif
    ant/org.eclipse.ant.tests.ui/lib/.cvsignore
    ant/org.eclipse.ant.tests.ui/plugin.properties
    ant/org.eclipse.ant.tests.ui/plugin.xml
    ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java
    ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUIPerformanceTests.java
    ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUITestPlugin.java
    ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUITests.java
    ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ConsoleLineTracker.java
    ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/DebugElementKindEventWaiter.java
    ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/DebugEventWaiter.java
    ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ProjectCreationDecorator.java
    ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ProjectHelper.java
    ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/inputHandlers/TestSWTInputHandler.java
    ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/AntTestTask.java
    ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/AntTestTask2.java
    ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/NestElementTask.java
    ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/types/AntTestPath.java
    ant/org.eclipse.ant.tests.ui/test.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/74840.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/antUITestsSupport.jar
    ant/org.eclipse.ant.tests.ui/testbuildfiles/bad.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/badproject.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/breakpoints.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/build.Cp1251.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/build.UTF8.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/build.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest1.properties
    ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest1.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest2.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/customBoolean.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/dependencytest.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/echoing.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/empty.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/environmentVar.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointSepVM.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointTaskSepVM.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointTypeSepVM.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/failingTarget.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_source01.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target01.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target02.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target03.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/importRequiringUserProp.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/input.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/javac.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/macrodef.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/mixed.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/nestedElementAttributes.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/outline_select_test_build.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/performance/build.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/postRun.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/preRun.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/projectOnly.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/refid.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/russianbuild.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/taskdef.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/test1.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/test2.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/test3.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/test4.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/test5.xml
    ant/org.eclipse.ant.tests.ui/testbuildfiles/toBeImported.xml
    ant/org.eclipse.ant.tests.ui/testresources/Test2.java
    ant/org.eclipse.ant.ui/.classpath
    ant/org.eclipse.ant.ui/.cvsignore
    ant/org.eclipse.ant.ui/.externalToolBuilders/Build Ant Runner Support JAR.launch
    ant/org.eclipse.ant.ui/.externalToolBuilders/Build Remote Ant JAR.launch
    ant/org.eclipse.ant.ui/.project
    ant/org.eclipse.ant.ui/.settings/org.eclipse.jdt.core.prefs
    ant/org.eclipse.ant.ui/.settings/org.eclipse.pde.core.prefs
    ant/org.eclipse.ant.ui/.settings/org.eclipse.pde.prefs
    ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/TaskXMLFileMerger.java
    ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/XDOCtasks.xml
    ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/tasks.xml
    ant/org.eclipse.ant.ui/Ant Editor/ant1.6.2.dtd
    ant/org.eclipse.ant.ui/Ant Editor/anttasks_1.6.0.xml
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/AntDTDMessages.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/AntDTDMessages.properties
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IAtom.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IAttribute.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IDfm.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IElement.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IModel.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/ISchema.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/ParseError.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/Parser.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/AntDTDSchemaMessages.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/AntDTDSchemaMessages.properties
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Atom.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Attribute.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Dfm.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Element.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Model.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Nfm.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/NfmNode.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/NfmParser.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Schema.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/SchemaFactory.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/AntDTDUtilMessages.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/AntDTDUtilMessages.properties
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/Factory.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/FactoryObject.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IKeyHolder.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IMapHolder.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IValueHolder.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/MapHolder.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedMap.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedMapFactory.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedSet.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntAutoEditStrategy.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntCompletionProposal.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditor.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorActionContributor.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorCompletionProcessor.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorMessages.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorMessages.properties
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorSourceViewerConfiguration.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntElementHyperlink.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntElementHyperlinkDetector.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntSourceViewerInformationControl.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/DecayCodeCompletionDataStructuresThread.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/TaskDescriptionProvider.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AbstractBreakpointRulerAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AntEditorActionMessages.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AntEditorActionMessages.properties
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/EnableDisableBreakpointRulerAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/EnableDisableBreakpointRulerActionDelegate.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingActionGroup.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingExpandAllRulerAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingToggleRulerAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/InformationDispatchAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ManageBreakpointRulerAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ManageBreakpointRulerActionDelegate.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/OpenDeclarationAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/OpenExternalDocAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/RunToLineAdapter.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ToggleLineBreakpointAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/TogglePresentationAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTML2TextReader.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTMLPrinter.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTMLTextPresenter.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/LineBreakingReader.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/SingleCharReader.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/SubstitutionTextReader.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/FormattingPreferences.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormatter.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormattingStrategy.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlElementFormattingStrategy.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlFormatter.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlTagFormatter.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntEditorContentOutlinePage.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntEditorMarkerUpdater.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntOutlineMessages.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntOutlineMessages.properties
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterImportedElementsAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterInternalTargetsAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterPropertiesAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterTopLevelAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/ToggleLinkWithEditorAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/ToggleSortAntOutlineAction.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntContext.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateAccess.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateInformationControlCreator.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplatePreferencePage.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateProposal.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateVariableTextHover.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateViewerConfiguration.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntVariableResolver.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/BuildFileContextType.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/TaskContextType.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AbstractAntEditorScanner.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AnnotationModelFactory.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntAnnotationModel.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntDocumentFactory.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntDocumentSetupParticipant.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorDocumentProvider.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorPartitionScanner.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorProcInstrScanner.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTagScanner.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTextMessages.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTextMessages.properties
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorWhitespaceDetector.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntExternalAnnotationModel.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntFoldingStructureProvider.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntInformationProvider.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntStorageDocumentProvider.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/FileScanner.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/IAntEditorColorConstants.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/IReconcilingParticipant.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/MultilineDamagerRepairer.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/NotifyingReconciler.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/PartiallySynchronizedDocument.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/TagRule.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLAnnotationHover.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLProblemAnnotation.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLReconcilingStrategy.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLTextHover.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelper.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelperMessages.java
    ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelperMessages.properties
    ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/AntSupportMessages.java
    ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/AntSupportMessages.properties
    ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/AntInputHandler.java
    ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/AntProcessBuildLogger.java
    ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/AntProcessDebugBuildLogger.java
    ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/NullBuildLogger.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntImageDescriptor.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntPropertyValueProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntSourceViewerConfiguration.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIImages.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIModelMessages.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIModelMessages.properties
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIPlugin.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIPreferenceInitializer.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUtil.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/ColorManager.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIConstants.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIHelpContextIds.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIPreferenceConstants.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/ImageDescriptorRegistry.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/AntConsoleColorProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/BuildFailedTracker.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/EclipseJavacPatternMatcher.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/JavacPatternMatcher.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/JikesJavacPatternMatcher.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/TaskLineTracker.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/AntBuildfileImportWizard.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/DataTransferMessages.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/DataTransferMessages.properties
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/ExternalAntBuildfileImportPage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/ProjectCreator.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourceLookupDirector.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourceLookupParticipant.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourcePathComputerDelegate.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/IAntDebugConstants.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/IAntDebugController.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugElement.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugModelPresentation.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugTarget.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntLineBreakpoint.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntProperties.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntPropertiesValue.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntProperty.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntStackFrame.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntThread.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntValue.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugMessageIds.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugModelMessages.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugModelMessages.properties
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/RemoteAntDebugBuildListener.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AddVariableStringAction.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuildTab.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuilderTabGroup.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuilderTargetsTab.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntClasspathProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntClasspathTab.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntEnvironmentTab.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntHomeClasspathEntry.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntJRETab.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntJavaLaunchDelegate.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchConfigurationMessages.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchConfigurationMessages.properties
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchDelegate.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchShortcut.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchShortcutWithDialog.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntMainTab.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntProcess.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntPropertiesTab.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntStreamMonitor.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntStreamsProxy.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntTabGroup.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntTargetsTab.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntWorkingDirectoryBlock.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/ContributedClasspathEntriesEntry.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/EditAntHomeEntryAction.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/IAntLaunchConfigurationConstants.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/MessageIds.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntBuildListener.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntProcessFactory.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntRuntimeProcess.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RunAntStatusHandler.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/SetTargetsDialog.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TargetOrderDialog.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TargetTableLabelProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TaskLinkManager.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/VariableInputDialog.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntCommentNode.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDTDNode.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDefiningTaskNode.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntElementNode.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntImportNode.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModel.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelChangeEvent.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelContentProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelCore.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelLabelProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelMessages.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelMessages.properties
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProblem.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProject.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntProjectNode.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntProjectNodeProxy.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntPropertyNode.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTargetNode.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTaskNode.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModel.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModelConstants.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModelListener.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IProblem.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IProblemRequestor.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/InternalTargetFilter.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/LocationProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AbstractAntEditorPreferencePage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AbstractClasspathEntry.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AddCustomDialog.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AddPropertyDialog.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathBlock.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathContentProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathLabelProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathPage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntCodeAssistPreferencePage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntCodeFormatterPreferencePage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntContentProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntEditorPreferenceConstants.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntEditorPreferencePage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntObjectLabelProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencePage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencesMessages.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencesMessages.properties
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreviewerUpdater.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPropertiesBlock.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPropertiesPage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntRuntimePreferencePage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntTasksPage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntTypesPage.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ClasspathEntry.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ClasspathModel.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ColorEditor.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/DialogSettingsHelper.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FileFilter.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FileSelectionDialog.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FormatPreviewCode.txt
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/GlobalClasspathEntries.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/IAntBlockContainer.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/IClasspathEntry.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/MessageLine.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/MinimizedFileSystemElement.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/OverlayPreferenceStore.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/StatusDialog.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/StatusInfo.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/SyntaxPreviewCode.txt
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/TabFolderLayout.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/URLFieldEditor.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntView.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewContentProvider.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewDropAdapter.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewMessages.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewMessages.properties
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AddBuildFilesAction.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntOpenWithMenu.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntViewActionMessages.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntViewActionMessages.properties
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/EditorImageDescriptor.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/FilterInternalTargetsAction.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RefreshBuildFilesAction.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RemoveAllAction.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RemoveProjectAction.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RunTargetAction.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/SearchForBuildFilesAction.java
    ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/SearchForBuildFilesDialog.java
    ant/org.eclipse.ant.ui/Common Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/util/AntDebugUtil.java
    ant/org.eclipse.ant.ui/Common Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/util/DebugMessageIds.java
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/DemuxInputStreamSetter.java
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/InputHandlerSetter.java
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/InternalAntRunner.java
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/RemoteAntMessages.java
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/RemoteAntMessages.properties
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/ProxyInputHandler.java
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/SWTInputHandler.java
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/MessageIds.java
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/RemoteAntBuildLogger.java
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/debug/RemoteAntBreakpoint.java
    ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/debug/RemoteAntDebugBuildLogger.java
    ant/org.eclipse.ant.ui/about.html
    ant/org.eclipse.ant.ui/asl-v20.txt
    ant/org.eclipse.ant.ui/build.properties
    ant/org.eclipse.ant.ui/buildfiles/buildExtraJAR.xml
    ant/org.eclipse.ant.ui/buildfiles/buildRemoteExtraJAR.xml
    ant/org.eclipse.ant.ui/buildfiles/exportplugin.xml
    ant/org.eclipse.ant.ui/icons/dtool16/segment_edit.gif
    ant/org.eclipse.ant.ui/icons/etool16/segment_edit.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/add_co.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/alpha_mode.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/ant_targets.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_imported_elements.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_internal_targets.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_properties.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_top_level.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/properties.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/refresh.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/remove_co.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/removeall_co.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/run_tool.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/search.gif
    ant/org.eclipse.ant.ui/icons/full/dlcl16/synced.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/add_co.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/alpha_mode.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/ant_targets.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/filter_imported_elements.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/filter_internal_targets.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/filter_properties.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/filter_top_level.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/properties.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/refresh.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/remove_co.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/removeall_co.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/run_tool.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/search.gif
    ant/org.eclipse.ant.ui/icons/full/elcl16/synced.gif
    ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/ant.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/ant_buildfile.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/ant_target_err.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/build_tab.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/classpath.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/defaulttarget_obj.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/eclipse_obj.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/import_obj.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/macrodef_obj.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/main_tab.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/prop_ps.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/property_obj.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/targetinternal_obj.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/targetpublic_obj.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/task_obj.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/taskdef_obj.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/template_obj.gif
    ant/org.eclipse.ant.ui/icons/full/obj16/type.gif
    ant/org.eclipse.ant.ui/icons/full/ovr16/error_co.gif
    ant/org.eclipse.ant.ui/icons/full/ovr16/import_co.gif
    ant/org.eclipse.ant.ui/icons/full/ovr16/warning_co.gif
    ant/org.eclipse.ant.ui/icons/full/wizban/importbuildfile_wiz.gif
    ant/org.eclipse.ant.ui/plugin.properties
    ant/org.eclipse.ant.ui/plugin.xml
    ant/org.eclipse.ant.ui/templates/ant.properties
    ant/org.eclipse.ant.ui/templates/ant.xml
    ant/org.eclipse.ant.ui/templates/resolver.gif
    platform/org.eclipse.platform/.classpath
    platform/org.eclipse.platform/.cvsignore
    platform/org.eclipse.platform/.project
    platform/org.eclipse.platform/SplashFinal_500x330.psd
    platform/org.eclipse.platform/about.html
    platform/org.eclipse.platform/about.ini
    platform/org.eclipse.platform/about.mappings
    platform/org.eclipse.platform/about.properties
    platform/org.eclipse.platform/build.properties
    platform/org.eclipse.platform/cheatsheets/CVS_1.xml
    platform/org.eclipse.platform/css/graphics/contentpage/background.jpg
    platform/org.eclipse.platform/css/graphics/contentpage/backgroundcurve.gif
    platform/org.eclipse.platform/css/graphics/contentpage/content_background.jpg
    platform/org.eclipse.platform/css/graphics/contentpage/overview_wtr.jpg
    platform/org.eclipse.platform/css/graphics/contentpage/samples_wtr.jpg
    platform/org.eclipse.platform/css/graphics/contentpage/section1.gif
    platform/org.eclipse.platform/css/graphics/contentpage/section2.gif
    platform/org.eclipse.platform/css/graphics/contentpage/section3.gif
    platform/org.eclipse.platform/css/graphics/contentpage/section4.gif
    platform/org.eclipse.platform/css/graphics/contentpage/tutorials_wtr.jpg
    platform/org.eclipse.platform/css/graphics/contentpage/whatsnew_wtr.jpg
    platform/org.eclipse.platform/css/graphics/contentpage/wordmark.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/overview48.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/overview48sel.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/overview72.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/samples48.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/samples48sel.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/samples72.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials48.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials48sel.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials72.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/wb48.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew48.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew48sel.gif
    platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew72.gif
    platform/org.eclipse.platform/css/graphics/icons/dtool/back.gif
    platform/org.eclipse.platform/css/graphics/icons/dtool/forward.gif
    platform/org.eclipse.platform/css/graphics/icons/dtool/overview.gif
    platform/org.eclipse.platform/css/graphics/icons/dtool/restore_welcome.gif
    platform/org.eclipse.platform/css/graphics/icons/dtool/samples.gif
    platform/org.eclipse.platform/css/graphics/icons/dtool/tutorials.gif
    platform/org.eclipse.platform/css/graphics/icons/dtool/whatsnew.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/back.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/forward.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/overview.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/overview48.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/overview48sel.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/overview72.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/restore_welcome.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/samples.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/samples48.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/samples48sel.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/samples72.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/tutorials.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/tutorials48.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/tutorials48sel.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/tutorials72.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/wb48.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew48.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew48sel.gif
    platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew72.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/community_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/communityhov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/features_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/featureshov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/javaapp_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/javaapphov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/javaapplet_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/javaapplethov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/javadev_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/javadevhov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/migrate_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/migratehov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/new_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/newhov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/plugin_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/pluginhov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/rcpapp_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/rcpapphov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/samplepurp_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/samplepurphov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/samplered_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/sampleredhov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/script_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/scripthov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/swtapp_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/swtapphov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/teamsup_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/teamsuphov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/updates_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/updateshov_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/wbbasics_obj.gif
    platform/org.eclipse.platform/css/graphics/icons/obj48/wbbasicshov_obj.gif
    platform/org.eclipse.platform/css/graphics/rootpage/background.jpg
    platform/org.eclipse.platform/css/graphics/rootpage/brandmark.gif
    platform/org.eclipse.platform/css/graphics/rootpage/dots.gif
    platform/org.eclipse.platform/css/graphics/swt/form_banner.gif
    platform/org.eclipse.platform/css/overview/overview.css
    platform/org.eclipse.platform/css/overview/swt.properties
    platform/org.eclipse.platform/css/root.css
    platform/org.eclipse.platform/css/root_swt.properties
    platform/org.eclipse.platform/css/samples/samples.css
    platform/org.eclipse.platform/css/samples/swt.properties
    platform/org.eclipse.platform/css/shared.css
    platform/org.eclipse.platform/css/standby_root.css
    platform/org.eclipse.platform/css/standby_swt.properties
    platform/org.eclipse.platform/css/tutorials/swt.properties
    platform/org.eclipse.platform/css/tutorials/tutorials.css
    platform/org.eclipse.platform/css/whatsnew/swt.properties
    platform/org.eclipse.platform/css/whatsnew/whatsnew.css
    platform/org.eclipse.platform/eclipse.gif
    platform/org.eclipse.platform/eclipse32.gif
    platform/org.eclipse.platform/eclipse_lg.gif
    platform/org.eclipse.platform/intro.gif
    platform/org.eclipse.platform/introContent.xml
    platform/org.eclipse.platform/plugin.properties
    platform/org.eclipse.platform/plugin.xml
    platform/org.eclipse.platform/plugin_customization.ini
    platform/org.eclipse.platform/plugin_customization.properties
    platform/org.eclipse.platform/splash.bmp
    platform/org.eclipse.platform/src-intro/org/eclipse/platform/internal/CheatSheetStandbyContent.java
    platform/org.eclipse.platform/src/META-INF/MANIFEST.MF
    platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java
    platform/org.eclipse.platform/src/org/eclipse/core/launcher/WebstartMain.java
    platform/org.eclipse.platform/src/org/eclipse/core/launcher/package.html
    platform/org.eclipse.platform/welcome.xml
    platform/org.eclipse.sdk/.project
    platform/org.eclipse.sdk/about.html
    platform/org.eclipse.sdk/about.ini
    platform/org.eclipse.sdk/about.mappings
    platform/org.eclipse.sdk/about.properties
    platform/org.eclipse.sdk/build.properties
    platform/org.eclipse.sdk/eclipse32.gif
    platform/org.eclipse.sdk/plugin.properties
    platform/org.eclipse.sdk/plugin.xml
    update/org.eclipse.update.configurator/.classpath
    update/org.eclipse.update.configurator/.cvsignore
    update/org.eclipse.update.configurator/.options
    update/org.eclipse.update.configurator/.project
    update/org.eclipse.update.configurator/about.html
    update/org.eclipse.update.configurator/build.properties
    update/org.eclipse.update.configurator/plugin.properties
    update/org.eclipse.update.configurator/plugin.xml
    update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/ConfiguratorUtils.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfiguration.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfigurationFactory.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/package.html
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BootDescriptor.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BundleManifest.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationActivator.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationParser.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureEntry.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureParser.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FullFeatureParser.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/IConfigurationConstants.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaIo.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaNio.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Messages.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfigurationFactory.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginEntry.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginParser.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ProductProvider.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SitePolicy.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/UpdateURLDecoder.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Utils.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/VersionedIdentifier.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/XMLPrintHandler.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/AboutInfo.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IBundleGroupConstants.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IProductConstants.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IniFileReader.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/messages.properties
    update/org.eclipse.update.core.linux/.classpath
    update/org.eclipse.update.core.linux/.cvsignore
    update/org.eclipse.update.core.linux/.project
    update/org.eclipse.update.core.linux/about.html
    update/org.eclipse.update.core.linux/build.properties
    update/org.eclipse.update.core.linux/fragment.xml
    update/org.eclipse.update.core.linux/os/linux/x86/libupdate.so
    update/org.eclipse.update.core.linux/src/build.xml
    update/org.eclipse.update.core.linux/src/update.c
    update/org.eclipse.update.core.linux/src/update.h
    update/org.eclipse.update.core.win32/.project
    update/org.eclipse.update.core.win32/about.html
    update/org.eclipse.update.core.win32/build.properties
    update/org.eclipse.update.core.win32/fragment.xml
    update/org.eclipse.update.core.win32/os/win32/x86/update.dll
    update/org.eclipse.update.core.win32/src/build.xml
    update/org.eclipse.update.core.win32/src/update.cpp
    update/org.eclipse.update.core.win32/src/update.h
    update/org.eclipse.update.examples/.classpath
    update/org.eclipse.update.examples/.cvsignore
    update/org.eclipse.update.examples/.project
    update/org.eclipse.update.examples/Scrapbook2.jpage
    update/org.eclipse.update.examples/about.html
    update/org.eclipse.update.examples/build.properties
    update/org.eclipse.update.examples/plugin.properties
    update/org.eclipse.update.examples/plugin.xml
    update/org.eclipse.update.examples/site/features/com.reddot.reddot_1.0.0.jar
    update/org.eclipse.update.examples/site/features/com.reddot.reddot_2.0.0.jar
    update/org.eclipse.update.examples/site/info/images/redDot.jpg
    update/org.eclipse.update.examples/site/info/siteInfo.html
    update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_1.0.0.jar
    update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_2.0.0.jar
    update/org.eclipse.update.examples/site/site.xml
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java
    update/org.eclipse.update.tests.core/.classpath
    update/org.eclipse.update.tests.core/.cvsignore
    update/org.eclipse.update.tests.core/.project
    update/org.eclipse.update.tests.core/about.html
    update/org.eclipse.update.tests.core/build.properties
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/Pde_core.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/help.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/junit_3.7.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/helpFeature.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/org.eclipse.pde.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/siteInfo.html
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/Pde_core.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/help.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/junit_3.7.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/site.xml
    update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml
    update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar
    update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar
    update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html
    update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar
    update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar
    update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar
    update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/Site with space/site.xml
    update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile
    update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml
    update/org.eclipse.update.tests.core/data/features/features2.jar
    update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
    update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/.project
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/build.log
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/sitebuild.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/.project
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/build.log
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/sitebuild.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/site.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/.project
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/build.log
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/site.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/.project
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/rootfeature.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/site.xml
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/childrenfeature.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/rootfeature.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/site.xml
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/childrenfeature.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/rootfeature.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/site.xml
    update/org.eclipse.update.tests.core/data/parsertests/feature1.xml
    update/org.eclipse.update.tests.core/data/parsertests/feature1bis.xml
    update/org.eclipse.update.tests.core/data/parsertests/feature2.xml
    update/org.eclipse.update.tests.core/data/parsertests/feature3.xml
    update/org.eclipse.update.tests.core/data/parsertests/feature4.xml
    update/org.eclipse.update.tests.core/data/parsertests/reddot.xml
    update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml
    update/org.eclipse.update.tests.core/data/parsertests/site.properties
    update/org.eclipse.update.tests.core/data/parsertests/site.xml
    update/org.eclipse.update.tests.core/data/parsertests/site10.xml
    update/org.eclipse.update.tests.core/data/parsertests/site2.xml
    update/org.eclipse.update.tests.core/data/parsertests/site3.xml
    update/org.eclipse.update.tests.core/data/parsertests/site4.xml
    update/org.eclipse.update.tests.core/data/parsertests/site7.xml
    update/org.eclipse.update.tests.core/data/parsertests/site8.xml
    update/org.eclipse.update.tests.core/data/parsertests/site9.xml
    update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.classpath
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/FeatureWithInstallHandler_1.0.0.jar
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI$1.class
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI.class
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/build.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/handler.jar
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/src/HandlerWithUI.java
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/platform.xml
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml
    update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar
    update/org.eclipse.update.tests.core/data/resources.properties
    update/org.eclipse.update.tests.core/data/site.xml
    update/org.eclipse.update.tests.core/data/site2/site.xml
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/plugin.xml
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleManifest_1.0.1/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/plugin.xml
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/src.jar
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/plugin.xml
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/src.jar
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/notBundleManifest_1.0.2/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/testAPI/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/testAPI/site.xml
    update/org.eclipse.update.tests.core/data/validation/site2/.eclipseproduct
    update/org.eclipse.update.tests.core/data/validation/site3/.eclipseextension
    update/org.eclipse.update.tests.core/data/validation/site4/eclipse/.eclipseextension
    update/org.eclipse.update.tests.core/data/validation/site5/.eclipseUM
    update/org.eclipse.update.tests.core/data/validation/site5/eclipse/.eclipseextension
    update/org.eclipse.update.tests.core/data/validation/site6/.eclipseUM
    update/org.eclipse.update.tests.core/data/validation/site6/children/children/eclipse/.eclipseextension
    update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse.test.feature_1.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse_test_feature/feature.xml
    update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif
    update/org.eclipse.update.tests.core/data/xmls/site1/site.xml
    update/org.eclipse.update.tests.core/plugin.properties
    update/org.eclipse.update.tests.core/plugin.xml
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestFeatureContentProvider_FileFilterAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestNestedFeatureAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestUpdateManagerUtilsAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/AllBrandingTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/BundleProviderTest.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/ProductTest.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/PlatformConfigurationTestCase.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/AllMirrorTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteFeatureVersionMirror.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nativeTests/TestLocalSystemInfo.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/AllNestedTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/TestInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestCategories.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestFeatureParse.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/AllPerformanceTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/TestStartup.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutableInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestGetFeature.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/AllSiteValidationTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/TestSiteValidation.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/AllStandaloneTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/StandaloneManagerTestCase.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestBundlesInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureDisable.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureEnable.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUninstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUpdate.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/TestUILabel.java
    update/org.eclipse.update.tests.core/test.xml
    update/org.eclipse.update.tests.core/test_with_mail.xml
    update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar
    update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar
    update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html
    update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml
    update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar
    update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar
    update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar
    update/org.eclipse.update.tests.core/webserver/Site with space/site.xml
    update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html
    update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/rootfeature.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/site.xml
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml
    update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml
    update/org.eclipse.update.tests.core/webserver/bundleSite/features/com.example.bundle.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.budle.fragment.ui_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.fragment_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin.ui_2.0.0.jar
    update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/bundleSite/site.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.classpath
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.project
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.template
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/build.properties
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/fragment.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/.project
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/build.properties
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/feature.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.classpath
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.project
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.template
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/build.properties
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/fragment.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.classpath
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.project
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.template
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/bin/com/example/bundle/plugin/ui/UiPlugin.class
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/build.properties
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/plugin.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/src/com/example/bundle/plugin/ui/UiPlugin.java
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.classpath
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.project
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.template
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/bin/com/example/bundle/plugin/PluginPlugin.class
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/build.properties
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/plugin.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/src/com/example/bundle/plugin/PluginPlugin.java
    update/org.eclipse.update.ui.forms/.classpath
    update/org.eclipse.update.ui.forms/.cvsignore
    update/org.eclipse.update.ui.forms/.project
    update/org.eclipse.update.ui.forms/about.html
    update/org.eclipse.update.ui.forms/build.properties
    update/org.eclipse.update.ui.forms/plugin.properties
    update/org.eclipse.update.ui.forms/plugin.xml
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPlugin.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPluginResources.properties
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ILayoutExtension.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/image1.gif
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml
    update/org.eclipse.update.ui.win32/.classpath
    update/org.eclipse.update.ui.win32/.cvsignore
    update/org.eclipse.update.ui.win32/.project
    update/org.eclipse.update.ui.win32/about.html
    update/org.eclipse.update.ui.win32/build.properties
    update/org.eclipse.update.ui.win32/icons/full/clcl16/backward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/forward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/go_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/hierarchicalLayout.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/home_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/refresh_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/show_unconf.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/stop_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/cview16/browser.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/backward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/forward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/go_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/hierarchicalLayout.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/home_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/refresh_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/show_unconf.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/stop_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/backward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/collapseall.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/forward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/go_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/hierarchicalLayout.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/home_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/refresh_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/show_unconf.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/stop_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/eview16/browser.gif
    update/org.eclipse.update.ui.win32/icons/full/forms/def_provider.jpg
    update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.gif
    update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.jpg
    update/org.eclipse.update.ui.win32/icons/full/forms/form_underline.jpg
    update/org.eclipse.update.ui.win32/icons/full/forms/form_underline2.jpg
    update/org.eclipse.update.ui.win32/icons/full/forms/topic.gif
    update/org.eclipse.update.ui.win32/icons/sample.gif
    update/org.eclipse.update.ui.win32/plugin.properties
    update/org.eclipse.update.ui.win32/plugin.xml
    update/org.eclipse.update.ui.win32/schema/welcomePages.exsd
    update/org.eclipse.update.ui.win32/schema/welcomeSections.exsd
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/ShowWelcomePageAction.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortal.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalImages.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalResources.properties
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/TipsAndTricksContentProvider.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/WelcomeContentProvider.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/HelpSection.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentObserver.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentProvider.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IPortalSectionForm.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/PortalSection.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/SectionDescriptor.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditor.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInput.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInputFactory.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalForm.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPage.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPart.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomeTitleArea.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/BrowserControlSite.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/GlobalActionHandler.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IEmbeddedWebBrowser.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IWebBrowserListener.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowser.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditor.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorContributor.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInput.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInputFactory.java
    update/org.eclipse.update/.classpath
    update/org.eclipse.update/.cvsignore
    update/org.eclipse.update/.project
    update/org.eclipse.update/.vcm_meta
diff --git a/ant/org.eclipse.ant.core/.classpath b/ant/org.eclipse.ant.core/.classpath
deleted file mode 100644
index 009d54c..0000000
--- a/ant/org.eclipse.ant.core/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry output="src_ant_bin" kind="src" path="src_ant/"/>
-	<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/ant/org.eclipse.ant.core/.cvsignore b/ant/org.eclipse.ant.core/.cvsignore
deleted file mode 100644
index bd3d9f9..0000000
--- a/ant/org.eclipse.ant.core/.cvsignore
+++ /dev/null
@@ -1,5 +0,0 @@
-bin
-lib
-temp.folder
-antsupport.jar
-src_ant_bin
diff --git a/ant/org.eclipse.ant.core/.externalToolBuilders/Build Ant Support JAR.launch b/ant/org.eclipse.ant.core/.externalToolBuilders/Build Ant Support JAR.launch
deleted file mode 100644
index fe0b0a1..0000000
--- a/ant/org.eclipse.ant.core/.externalToolBuilders/Build Ant Support JAR.launch
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.core/src_ant&quot; type=&quot;2&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.core/buildfiles/buildExtraJAR.xml&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;&#10;}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.core&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;&#10;}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.ant.core/buildfiles/buildExtraJAR.xml}"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_RUN_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.debug.ui.target_run_perspective" value="perspective_none"/>
-</launchConfiguration>
diff --git a/ant/org.eclipse.ant.core/.project b/ant/org.eclipse.ant.core/.project
deleted file mode 100644
index 1261dfd..0000000
--- a/ant/org.eclipse.ant.core/.project
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ant.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>Build Ant Support JAR.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/ant/org.eclipse.ant.core/.settings/org.eclipse.jdt.core.prefs b/ant/org.eclipse.ant.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4339060..0000000
--- a/ant/org.eclipse.ant.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Mon Nov 01 18:57:07 GMT-08:00 2004

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=warning

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=disabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/ant/org.eclipse.ant.core/.settings/org.eclipse.pde.core.prefs b/ant/org.eclipse.ant.core/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index a490ecf..0000000
--- a/ant/org.eclipse.ant.core/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu May 27 14:47:50 PDT 2004

-eclipse.preferences.version=1

-selfhosting.binExcludes=/org.eclipse.ant.core/src_ant_bin

diff --git a/ant/org.eclipse.ant.core/.settings/org.eclipse.pde.prefs b/ant/org.eclipse.ant.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 39cbcf0..0000000
--- a/ant/org.eclipse.ant.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:32:47 GMT-08:00 2004

-compilers.p.unused-element-or-attribute=1

-compilers.p.unresolved-ex-points=0

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

-compilers.p.no-required-att=0

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

-compilers.p.not-externalized-att=1

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/ant/org.eclipse.ant.core/about.html b/ant/org.eclipse.ant.core/about.html
deleted file mode 100644
index 8035e5f..0000000
--- a/ant/org.eclipse.ant.core/about.html
+++ /dev/null
@@ -1,50 +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>22nd March, 2004</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>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as follows:</p>
-
-<p><b>Ant 1.6.1</b></p>
-<p>The plug-in is based on software developed by The Apache Software Foundation as part of the Ant project.</p>
-
-<p>The following classes (&quot;Ant-Derived Work&quot;) are based on Ant code:</p>
-
-<ul>
-	<li>org.eclipse.ant.internal.core.ant.InternalAntRunner contained in antsupportlib.jar and antsupportlibsrc.zip</li>
-	<li>org.eclipse.ant.internal.core.ant.InternalProject contained in antsupportlib.jar and antsupportlibsrc.zip</li>
-</ul>
-
-<p>Your use of the Ant-Derived Work is subject to the terms and conditions of the Apache Software License 2.0.  A copy of the license is contained
-in the file <a href="asl-v20.txt">asl-v20.txt</a> and is also available at <a href="http://www.apache.org/licenses/LICENSE-2.0.html">http://www.apache.org/licenses/LICENSE-2.0.html</a>.
-
-<p>The names &quot;Ant&quot; and  &quot;Apache Software Foundation&quot; must not be used to endorse or promote products derived from this 
-software without prior written permission.  For written permission, please contact <a href="mailto:apache@apache.org">apache@apache.org</a>.</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/ant/org.eclipse.ant.core/asl-v20.txt b/ant/org.eclipse.ant.core/asl-v20.txt
deleted file mode 100644
index d645695..0000000
--- a/ant/org.eclipse.ant.core/asl-v20.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/ant/org.eclipse.ant.core/build.properties b/ant/org.eclipse.ant.core/build.properties
deleted file mode 100644
index b282831..0000000
--- a/ant/org.eclipse.ant.core/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the 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.antsupport.jar=src/
-source.lib/antsupportlib.jar=src_ant/
-src.includes=about.html,schema/
-bin.includes=plugin.xml,plugin.properties,about.html,*.jar,lib/*.jar,
-jars.compile.order=antsupport.jar,lib/antsupportlib.jar
-jars.extra.classpath=../org.apache.ant/lib/ant.jar,../org.apache.ant/lib/ant-launcher.jar
-javadoc.packages=org.eclipse.*
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/buildfiles/buildExtraJAR.xml b/ant/org.eclipse.ant.core/buildfiles/buildExtraJAR.xml
deleted file mode 100644
index bb161b8..0000000
--- a/ant/org.eclipse.ant.core/buildfiles/buildExtraJAR.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="Build Ant support JAR" default="build" basedir="..">
-
-	<property name="bootclasspath" value=""/>
-
-	<target name="build" description="Cleans, builds and refreshes the impacted resources" depends="clean, lib/antsupportlib.jar"/>
-
-	<target name="init" depends="properties">
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="build.result.folder" value="${basedir}"/>
-		<property name="version.suffix" value="_3.1.0"/>
-		<property name="3.0.version.suffix" value="_3.0.0"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-
-	<target name="lib/antsupportlib.jar" depends="init" description="Creates the lib/antsupportlib.jar">
-		<property name="destdir" value="${temp.folder}/lib/antsupportlib.jar.bin"/>
-		<delete dir="${temp.folder}/lib/antsupportlib.jar.bin"/>
-		<mkdir dir="${temp.folder}/lib/antsupportlib.jar.bin"/>
-		<!-- compile the source code -->
-		<javac target="1.4" source="1.4" destdir="${temp.folder}/lib/antsupportlib.jar.bin"
-			failonerror="true"
-			verbose="false"
-			debug="on"
-			includeAntRuntime="yes"
-			bootclasspath="${bootclasspath}" 
-			classpath="${basedir}/../org.eclipse.core.runtime/bin;
-					${eclipse.home}/plugins/org.eclipse.core.runtime${version.suffix}/runtime.jar;
-					${basedir}/../org.eclipse.core.variables/bin;
-					${eclipse.home}/plugins/org.eclipse.core.variables${3.0.version.suffix}/variables.jar;
-					${basedir}/../org.eclipse.osgi/bin;
-					${eclipse.home}/plugins/org.eclipse.osgi${version.suffix}/core.jar;
-					${basedir}/bin">
-			<src path="src_ant/"/>
-		</javac>
-		<!-- copy necessary resources -->
-		<copy todir="${temp.folder}/lib/antsupportlib.jar.bin">
-			<fileset dir="src_ant/" excludes="**/*.java"/>
-		</copy>
-		<mkdir dir="${build.result.folder}/lib"/>
-		<jar destfile="${build.result.folder}/lib/antsupportlib.jar" basedir="${temp.folder}/lib/antsupportlib.jar.bin"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="clean" depends="init">
-		<delete file="${build.result.folder}/lib/antsupportlib.jar"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/buildfiles/exportplugin.xml b/ant/org.eclipse.ant.core/buildfiles/exportplugin.xml
deleted file mode 100644
index f0df5c3..0000000
--- a/ant/org.eclipse.ant.core/buildfiles/exportplugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.ant.core Eclipse plug-in
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation -->
-<project name="Export ant.core" 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.ant.core_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}" />
-		<delete dir="${dest}/lib"/>
-		<mkdir dir="${dest}/lib"/>
-		<jar destfile="${dest}/antsupport.jar">
-			<fileset dir="bin">
-				<exclude name="org/eclipse/ant/internal/core/ant/*"/>
-			</fileset>
-		</jar>
-		<!-- Create the source zip -->
-		<zip destfile="${dest}/antsupportsrc.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}"/>
-		<ant antfile="buildfiles/buildExtraJAR.xml" target="build"/>
-		<copy file="lib/antsupportlib.jar" todir="${dest}/lib"/>
-	</target>
-	
-</project>
diff --git a/ant/org.eclipse.ant.core/buildnotes_platform-ant.html b/ant/org.eclipse.ant.core/buildnotes_platform-ant.html
deleted file mode 100644
index 883fc3a..0000000
--- a/ant/org.eclipse.ant.core/buildnotes_platform-ant.html
+++ /dev/null
@@ -1,473 +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">
-   <meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; I) [Netscape]">
-   <title>Ant Release Notes</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Ant</h1>
-Feb 15, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82598">82598</a>: Ant UI test failures from incorrect output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81324">81324</a>: Exiting while debugging same JRE build<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Ant</h1>
-Feb 8, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51403">51403</a>: Ant in Eclipse breaks after upgrading to Java 1.4.2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84082">84082</a>: Move to use the FastPartitioner<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80435">80435</a>: Problems using the XmlLogger as a listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84342">84342</a>: Ant Formatter new line<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Ant</h1>
-Feb 1, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83644">83644</a>: NPE in RemoteAntDebugBuildListener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83367">83367</a>: AntEditor hover while debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82870">82870</a>: Cannot debug Ant builds in non-Java projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83647">83647</a>: Old Tasks / Types remain after reconciliation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83322">83322</a>: When defined properties not showing up in the Variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71358">71358</a>: Poor performance editing Ant buildfile with "large" taskdef<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83455">83455</a>: Reuse in Ant Build Loggers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83577">83577</a>: dependency stack frames do not find source<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84190">84190</a>: NPE with taskdef<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81811">81811</a>: Ant UI performance tests take much longer on Linux-GTK than Win32<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Ant</h1>
-Jan 25, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83146">83146</a>: Warnings in latest integration build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83131">83131</a>: Build fails if only running the implicit target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82833">82833</a>: BuildException stacktrace not printed when ant run with -v option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82875">82875</a>: Stack frames for external targets mapped to incorrect file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82498">82498</a>: Ant Run to line not respecting skip breakpoints pref<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83153">83153</a>: Ant editor depends resolution fails with spaces<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83261">83261</a>: NumberFormatException getting variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83254">83254</a>: Cannot allow debug session for Ant build to occur in the foreground<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83273">83273</a>: NPE while editing buildfile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83343">83343</a>: Show dependancy calling in the Ant stack<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83436">83436</a>: AntTargetsTab will not validate without targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83578">83578</a>: Mnemonic collision on Ant Main tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83358">83358</a>: StackOverflowError from ProgressBuildListener if circular dependancy<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Ant</h1>
-Jan 18, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81029">81029</a>: Silent failure on build if .launch for builder is missing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82713">82713</a>: Runtime Classpath tree item coloration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82478">82478</a>: Ant view is not sorted correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82415">82415</a>: [debug] Source lookup broken when working with multiple files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82894">82894</a>: Ant Debugger sometimes get RESUME before SUSPEND<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70238">70238</a>: Clicking junit call stack items doesn't open source anymore<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81717">81717</a>: ClassCastException in Ant Editor with installed Web Tools plug-ins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82835">82835</a>: Ant Editor should use a shared document provider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82880">82880</a>: AntTargetsTab will not validate without default target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76690">76690</a>: Previously added property files not filtered<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82543">82543</a>: Attribute completion for new Ant 1.6.* tasks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82528">82528</a>: Return from ant call resumes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82959">82959</a>: Ant view : tasks are sorted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80988">80988</a>: Migrate StringMatcher to RegEx 1.4 support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82777">82777</a>: Up/Down buttons in Ant Runtime Classpath tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82799">82799</a>: JARs added by the user in Ant Runtime flagged as require<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Ant</h1>
-Jan 11, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82168">82168</a>: ant.home and ant.library.dir not set for parsing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81970">81970</a>: ANT View Hide Internal Targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82172">82172</a>: StringIndexOutOfBounds on removing chars during code complete<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52687">52687</a>: Code assist should propose properties defined in the Runtime Prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58351">58351</a>: Extraclasspathentries should show up in the UI<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81270">81270</a>: Variables view scrolls to top on step<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78453">78453</a>: Back and forth navigation after hyperlink navigation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78708">78708</a>: Properties tab correct presentation of properties to be set for builds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82396">82396</a>: Change to have Ant objects use the plugin identifiers instead of names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82344">82344</a>: Types, Tasks and Properties page clean up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56072">56072</a>: Ant objects should indicate which are included in a separate VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55562">55562</a>: Transient properties are displayed in the 'Properties' launch configuration tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78923">78923</a>: Warn when a builder is disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82486">82486</a>: Ant view does not update project name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81296">81296</a>: Better presentation of Ant properties when debugging<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Ant</h1>
-Jan 4, 2005
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81541">81541</a>: NPE attempting to add breakpoint to external buildfile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82031">82031</a>: Project attributes not able to be code completed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81409">81409</a>: Set relevant preference pages for Ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81408">81408</a>: Remove quick diff actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81328">81328</a>: Debugging fails on Ant older than 1.6<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81367">81367</a>: Projects do not require the default attribute<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Ant</h1>
-Dec 21, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81484">81484</a>: ConnectException in RemoteAntDebugBuildListener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81573">81573</a>: Spelling mistakes in the Import > Existing Ant Buildfile description<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Ant</h1>
-M4, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81280">81280</a>: NPE on removing launch if build never actually starts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81299">81299</a>: Retrieving properties fails for empty string properties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81268">81268</a>: Property presentation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81274">81274</a>: BadLocationException in Ant Editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81371">81371</a>: &quot;Open declaration&quot; doesnt work on names with spaces<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81479">81479</a>: Ant debugger hits disabled breakpoints<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Dec 14, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80541">80541</a>: Run to Line breakpoints for Ant debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24131">24131</a>: Ability to debug ANT buildfile in some type of ANT debugger<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80651">80651</a>: NPE in Ant debugger<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80287">80287</a>: Ant debugger leaves highlight in editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79463">79463</a>: Deadlock debugging ant script<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80555">80555</a>: Ant debugger does not respect skip breakpoints pref<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80707">80707</a>: Make breakpoint / run mode check debug model specific<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77330">77330</a>: Ant build configuration; main tab<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Dec 8, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80382">80382</a>: Copy/Paste results in a divide by 0 error in the Ant editor<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Dec 7, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76536">76536</a>: Status line error message not cleared for Ant view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79822">79822</a>: Cache AntElementNode labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79835">79835</a>: Too much filtering in the Ant content outline page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76226">76226</a>: Lost some support with changes to AntTargetsTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79884">79884</a>: ArrayIndexOutOfBoundsException attempting to getTargets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71590">71590</a>: Serializable classes and declaring a static final serialVersionUID<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79788">79788</a>: Adapt to new hyperlink support<br> 
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Nov 30, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78648">78648</a>: Allow multi-select in the Ant view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79602">79602</a>: Adjust the Ant auto indent to the deprecations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76216">76216</a>: AntView should prompt before remove all<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78646">78646</a>: Error nodes in the Ant view hide which file they're from<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Nov 23, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78799">78799</a>: Capture Output option is redundant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79012">79012</a>: Add launch shortcut hotkey for Ant builds<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Nov 16, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78198">78198</a>: NPE if buildfile does not designate default target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78141">78141</a>: Ant build unable to scan build files using import<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78000">78000</a>: Build triggered when only team-private resources have changed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78196">78196</a>: Tooltip for the RunTargetAction not correct for selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78201">78201</a>: ClassCastException on Refresh in the AntView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78466">78466</a>: IllegalThreadStateException opening Ant LCD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78162">78162</a>: Double click on Ant view tasks Open the editor (should start that target)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77728">77728</a>: Duplicate &quot;Source&quot; command category<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Nov 9, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78030">78030</a>: Ant editor should propose values for project default attribute<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78028">78028</a>: Ant Completion processor is not directly filtering templates by context<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77973">77973</a>: AntView is parsing buildfiles on startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77975">77975</a>: AntModels from error AntView elements are not disposed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77723">77723</a>: Open external documentation has no menu entry<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77386">77386</a>: Allow user to set URL for external doc location<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-3.1M3, Nov 5, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75744">75744</a>: XmlTextHover shows affordance based on JDT prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77169">77169</a>: Pass ProgressMonitor through when creating project from import<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65480">65480</a>: Present reference attribute value proposals for javac attributes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58815">58815</a>: "Show source of selected elements only" for the Ant Editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77246">77246</a>: Cancel Decay thread when Ant UI plugin stopped<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76986">76986</a>: Ant Editor pref page does not handle multiple errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31602">31602</a>: Add hyperlink support in Ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75665">75665</a>: NPE running Ant UI performance test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76976">76976</a>: NPE in AntProjectNodeProxy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77216">77216</a>: NPE trying to open an existing launching configuration for an external builder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77218">77218</a>: NPE retrieving targets for empty buildfile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72054">72054</a>: Literal quotes no longer work in external tool arguments<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69948">69948</a>: TVT3.0: tools.jar warning message is too long<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49390">49390</a>: Ant manual as external documentation (Shift-F2)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45484">45484</a>: Ant builds using an external JVM with [input] tasks cannot request input.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77549">77549</a>: NPE in initial reconcile of Ant Editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77727">77727</a>: OK not enabled on empty input when run on separate VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77401">77401</a>: "No targets" error not cleared<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77523">77523</a>: Same JRE input handler comes up in error state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77519">77519</a>: Separate JRE input handler not working on non Win32 OS<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77777">77777</a>: Increase in build time from adding SWT Input handler<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Oct 26, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76207">76207</a>: ClassCastException changing preference for Code Assist<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76712">76712</a>: Differences depending on how AntModel generated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76838">76838</a>: Provide Show in target list for the Ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72652">72652</a>: Refactor AntModel<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76366">76366</a>: Navigation actions in the context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76843">76843</a>: Lost the generation of Ant problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55357">55357</a>: templates do not appear in content assist when expected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76231">76231</a>: Centralized Ant navigation support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68885">68885</a>: Execution of implicit target retrieving targets for Ant LCD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76607">76607</a>: Double click opening in Ant view does not select element<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76973">76973</a>: StringIndexOutOfBounds navigating within property declaration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76608">76608</a>: AntView Open With support for "normal" targets should select element<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72598">72598</a>: "*.ant" file association does not provide syntax coloring<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74113">74113</a>: Error annotations for external buildfiles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76217">76217</a>: AntView buildfile selection dialog does not filter added buildfiles<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Oct 19, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76138">76138</a>: Ant editor not following tab/space setting on shift right<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76225">76225</a>: Move the ExternalAntBuildfileImportPage to use the AntUtil support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72566">72566</a>: Rework AntView to make use of AntModel support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63051">63051</a>: Consistency with &quot;Run&quot; in AntView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75319">75319</a>: Move the AntTargetsTab to retrieve target information from an AntModel<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48018">48018</a>: AntView open with does not correctly with external entity targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76129">76129</a>: ClassCastException filtering for internal targets in Ant LCD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76293">76293</a>: Import Ant buildfile fails if no destdir<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73602">73602</a>: InternalAntRunner.getTargets can fail with top level taskdefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76414">76414</a>: Templates show up when code completing for nested elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72482">72482</a>: No "Folding" context menu item in the Ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76300">76300</a>: NPE if attempt to import empty buildfile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75802">75802</a>: scp task missing in code completion helper files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55057">55057</a>: Ant view support for imported elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76346">76346</a>: Bad attribute completion for &lt;attribute&gt; tag<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74775">74775</a>: Folders in "Ant Build... ", Classpath tab ignored in other contexts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76535">76535</a>: DnD to the Ant view should always show the plus sign<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Oct 12, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50583">50583</a>: Patternsets, paths and fileset hovering (F2)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73553">73553</a>: Format keybinding wrong on Mac<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69258">69258</a>: Target navigation for Ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59745">59745</a>: Present buildfile source view for additional proposal info<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71689">71689</a>: Syntax colored folded region annotation hover<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65200">65200</a>: Ctrl-Shift-Q does not work to toggle Quick diff in AntEditor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75940">75940</a>: Open declaration support in the Ant editor requires full selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75759">75759</a>: Navigation to property definition<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75804">75804</a>: Add Task dialog needs to be resizeable<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Oct 5, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74840">74840</a>: Variables not substituted in user properties for same JRE Ant Build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75133">75133</a>: Variables get run mutliple times for Run ant...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75224">75224</a>: Remove remnants of incremental reconciliation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75369">75369</a>: 3.1M2: Tooltips in ANT editor show "xx changed lines"<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Sep 28, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73807">73807</a>: Parsing the Ant dtd on startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74490">74490</a>: Decay Ant code completion data structures<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75137">75137</a>: AntRunner#addUserProperties(Map) does not add<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71296">71296</a>: Ant editor performance tests: opening / typing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75064">75064</a>: The remove builder button in project properties is inactive<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Sep 23, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74539">74539</a>: [TYPO] Missing 's' in "existing" in dialog title "Import  project from existing Ant buildfile"<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Sep 21, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74102">74102</a>: Identity instead of equals for import buildfile javac resolution<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74117">74117</a>: Improve error message when user specifies buildfile that does not exist for import<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74117">74114</a>: Silent failure when importing buildfile with no javac target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74122">74122</a>: Buildfile project name not updated when change imported buildfile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73724">73724</a>: Logfile output differs from console output: extra linebreaks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73800">73800</a>: Check for updates to code completion for Ant 1.6.2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66235">66235</a>: Working directoy error not cleared after setting to be in same VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74060">74060</a>: NPEs in Ant tests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74105">74105</a>: Duplicate files in the Ant UI jar<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74372">74372</a>: Import Project from buildfile adds all classpath entries as libraries<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Sep 14, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73637">73637</a>: CodeAssist for &lt;fail&gt; task makes incorrect suggestions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70871">70871</a>: Update the XMLMarkerAnnotation for the MarkerAnnotation deprecations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67980">67980</a>: Prolog error message in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69104">69104</a>: [ant] Add buildfile need to show all file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47246">47246</a>: Antview add file dialog should allow multi select<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73284">73284</a>: InternalAntRunner should check for bad string index and generate more helpful error msgs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73568">73568</a>: .externalToolBuilders folder remains when all builders removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73584">73584</a>: Ant JRE tab allows to specify *no* JRE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73595">73595</a>: Import Project from buildfile does not handle BuildExceptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71419">71419</a>: Missing action for 'External Tools Launch Configuration'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67003">67003</a>: &lt;splash&gt; task creates process that never ends<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Sep 7, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73102">73102</a>: ProjectHelper retains old state in memory<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73268">73268</a>: ArrayIndexOutOfBoundsException when double click in Builder page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72823">72823</a>: Ant Builder should not create console when not capturing output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63344">63344</a>: Missing some Ant output as the streams have been closed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68886">68886</a>: Code completion in Ant editor not work with xmlbuddy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71438">71438</a>: Ordering of builders not considered for builds other than full builds<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Aug 31, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70650">70650</a>: Project builders do not execute in specified order<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71688">71688</a>: Customization of initally folded regions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72746">72746</a>: Remove All image broken in Ant view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66062">66062</a>: DocumentModelChangeEvent and IDocumentModelEventListener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72512">72512</a>: Global Properties not set for editor parsing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72473">72473</a>: Remove external tools plugin unused dependancies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65479">65479</a>: taskString could be cached in AntEditorCompletionProcessor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72619">72619</a>: Add DTD syntax coloring<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Aug 24, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72077">72077</a>: No code completion for most built-in properties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71685">71685</a>: Imported nested tasks / attributes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72224">72224</a>: Error logged when failure to get introspection helper<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Aug 17, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71956">71956</a>: Setting selection in the outline updates editor twice<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71696">71696</a>: Buildfile prologs are not foldable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71687">71687</a>: Comments are not foldable in the Ant Editor<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Aug 10, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71319">71319</a>: Duplicate target hover error message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71596">71596</a>: Some files missing from the distribution of the Ant plugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71475">71475</a>: ant.tests.core builds extra jar on any resource change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60134">60134</a>: Code folding in the Ant Editor<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Aug 03, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70841">70841</a>: Move to Ant 1.6.2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69768">69768</a>: TVT3.0: Preferences -> Ant has text showing up in english<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70734">70734</a>: TVT3.0: Duplicate mnemonics, ''Build Ant'' and ''Build Ant...''?<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-July 27, 2004
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56295">56295</a>: new icon for taskdef needed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68840">68840</a>: Source not found on Console hyperlink for Separate VM builds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68252">68252</a>: unused icons in Ant ui<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68081">68081</a>: Ant view's Add Buildfiles popup item should have trailing ellipses<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68886">68886</a>: Code completion in Ant editor not work with xmlbuddy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69177">69177</a>: Error messages not logged for build failure due to bad inputhandler<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69235">69235</a>: Fully qualify the Ant partition name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70429">70429</a>: missing &lt;pre&gt; and &lt;/pre&gt; tags in Examples section of configurationDuplicationMaps.exsd<br>
-
-</body>
-</html>
diff --git a/ant/org.eclipse.ant.core/doc/.cvsignore b/ant/org.eclipse.ant.core/doc/.cvsignore
deleted file mode 100644
index d06d4c1..0000000
--- a/ant/org.eclipse.ant.core/doc/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-book.css
-org_eclipse_ant_core_antProperties.html
-org_eclipse_ant_core_antTasks.html
-org_eclipse_ant_core_antTypes.html
-org_eclipse_ant_core_extraClasspathEntries.html
-schema.css
diff --git a/ant/org.eclipse.ant.core/lib/.cvsignore b/ant/org.eclipse.ant.core/lib/.cvsignore
deleted file mode 100644
index f0f30e5..0000000
--- a/ant/org.eclipse.ant.core/lib/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-antsupportlib.jar
diff --git a/ant/org.eclipse.ant.core/plugin.properties b/ant/org.eclipse.ant.core/plugin.properties
deleted file mode 100644
index 8eb1b67..0000000
--- a/ant/org.eclipse.ant.core/plugin.properties
+++ /dev/null
@@ -1,19 +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 = Ant Build Tool Core
-providerName = Eclipse.org
-classpathName = Extra Ant Classpath Entry Definitions
-tasksName = Ant Task Definitions
-typesName = Ant Type Definitions
-propertiesName = Ant Properties Definitions
-
-antBuildFileContentType.name= Ant BuildFile
diff --git a/ant/org.eclipse.ant.core/plugin.xml b/ant/org.eclipse.ant.core/plugin.xml
deleted file mode 100644
index 2889aa8..0000000
--- a/ant/org.eclipse.ant.core/plugin.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ant.core"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.ant.core.AntCorePlugin">
-
-   <runtime>
-      <library name="antsupport.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.core.variables"/>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-   </requires>
-   
-   <extension-point id="extraClasspathEntries" name="%classpathName" schema="schema/extraClasspathEntries.exsd"/>
-   <extension-point id="antTasks" name="%tasksName" schema="schema/antTasks.exsd"/>
-   <extension-point id="antTypes" name="%typesName" schema="schema/antTypes.exsd"/>
-   <extension-point id="antProperties" name="%propertiesName" schema="schema/antProperties.exsd"/>
-   
-<!-- Applications -->
-   <extension
-         id="antRunner"
-         point="org.eclipse.core.runtime.applications">
-      <application>
-         <run
-               class="org.eclipse.ant.core.AntRunner">
-         </run>
-      </application>
-   </extension>
-<!-- Extra Classpath -->
-   <extension
-         point="org.eclipse.ant.core.extraClasspathEntries">
-      <extraClasspathEntry
-            library="lib/antsupportlib.jar">
-      </extraClasspathEntry>
-   </extension>
-    <extension
-      	 point="org.eclipse.ant.core.antProperties">
-      <antProperty
-            name="eclipse.home"
-            class="org.eclipse.ant.internal.core.AntPropertyValueProvider">
-      </antProperty>
-       <antProperty
-            name="eclipse.running"
-            class="org.eclipse.ant.internal.core.AntPropertyValueProvider">
-      </antProperty>
-    </extension>
-    
-	<extension 
-		point="org.eclipse.core.runtime.contentTypes"> 
-		<content-type  
-			id="antBuildFile" 
-			name="%antBuildFileContentType.name" 
-			base-type="org.eclipse.core.runtime.xml" 
-			priority="high"> 
-			<describer 
-				class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber"> 
-				<parameter name="element" value="project" /> 
-			</describer> 
-		</content-type> 
-   </extension>
-</plugin>
diff --git a/ant/org.eclipse.ant.core/r2_0_buildnotes_platform-ant.html b/ant/org.eclipse.ant.core/r2_0_buildnotes_platform-ant.html
deleted file mode 100644
index 238d69a..0000000
--- a/ant/org.eclipse.ant.core/r2_0_buildnotes_platform-ant.html
+++ /dev/null
@@ -1,552 +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">
-   <meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; I) [Netscape]">
-   <title>Eclipse Platform Release Notes Core</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020612
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F06%2F11&chfieldto=2002%2F06%2F12&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&field0-0-1=noop&type0-0-1=noop&value0-0-1=&cmdtype=doit&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020611
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F06%2F07&chfieldto=2002%2F06%2F11&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&field0-0-1=noop&type0-0-1=noop&value0-0-1=&cmdtype=doit&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020607
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F05%2F31&chfieldto=2002%2F06%2F07&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&field0-0-1=noop&type0-0-1=noop&value0-0-1=&cmdtype=doit&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020531
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F05%2F30&chfieldto=2002%2F05%2F31&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&field0-0-1=noop&type0-0-1=noop&value0-0-1=&cmdtype=doit&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<hr WIDTH="100%">
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020530
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F05%2F29&chfieldto=2002%2F05%2F30&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020529
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F05%2F21&chfieldto=2002%2F05%2F29&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020521
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-The plug-in <b><tt>org.eclipse.ant.ui</tt></b> has been removed in favor
-of <b><tt>org.eclipse.ui.externaltools</tt></b>.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F05%2F14&chfieldto=2002%2F05%2F21&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<hr WIDTH="100%">
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020514
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-Ant type eclipse.commapatternset has been removed.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F04%2F30&chfieldto=2002%2F05%2F14&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020430
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-Type commapatternset is now called eclipse.commapatternset .</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F04%2F12&chfieldto=2002%2F04%2F30&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020411
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F04%2F09&chfieldto=2002%2F04%2F12&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=Active&newqueryname=&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020409
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-<b><tt>org.eclipse.ant.core</tt></b> does not export <b><tt>org.apache.ant</tt></b>
-anymore. Plug-ins that need to have access to Ant classes need to require
-<b><tt>org.apache.ant</tt></b>
-directly.</li>
-
-<li>
-Tasks <b><tt>refreshLocal</tt></b> and <b><tt>incrementalBuild</tt></b>
-are not available anymore. Use <b><tt>eclipse.refreshLocal</tt></b> and
-<b><tt>eclipse.incrementalBuild</tt></b>
-instead.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-New property <b><tt>eclipse.running</tt></b> is set for scripts running
-inside Eclipse.</li>
-
-<li>
-It is now possible to extend the Ant classpath by adding new JARs, folders,
-tasks and types through a preference (Workbench->Preferences->Ant->Customize).</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2002%2F01%2F29&chfieldto=2002%2F04%2F09&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=Active&newqueryname=&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20020129
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2001%2F12%2F17&chfieldto=2002%2F01%2F29&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=ant&newqueryname=&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20011218
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2001%2F12%2F11&chfieldto=2001%2F12%2F17&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=ant&newqueryname=&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20011211
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-Ant code from Apache has moved to a new plug-in called org.apache.ant..</li>
-</ul>
-
-<h3>
-Resolved Bugs</h3>
-
-<ul>
-<li>
-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2001%2F11%2F27&chfieldto=2001%2F12%2F10&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=Active&newqueryname=&order=Bug+Number">Click
-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED
-since the last integration build.</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20011127 (v213)
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5391">5391</a>&nbsp;
-Upgrade to Ant 1.4.1</li>
-</ul>
-
-<h1>
-
-<hr WIDTH="100%">Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build 20011120 (v211)
-<h2>
-What's new in this drop</h2>
-
-<h3>
-API changes</h3>
-
-<ul>
-<li>
-None.</li>
-</ul>
-
-<h3>
-Other highlights</h3>
-
-<ul>
-<li>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5331">5331</a>&nbsp;
-Ant does not override optional tasks with org.eclipse.ant.core.antTasks
-extension point</li>
-</ul>
-
-</body>
-</html>
diff --git a/ant/org.eclipse.ant.core/r2_1_buildnotes_platform-ant.html b/ant/org.eclipse.ant.core/r2_1_buildnotes_platform-ant.html
deleted file mode 100644
index 6ce0828..0000000
--- a/ant/org.eclipse.ant.core/r2_1_buildnotes_platform-ant.html
+++ /dev/null
@@ -1,706 +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">
-   <meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; I) [Netscape]">
-   <title>Eclipse Platform Release Notes Ant</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build March 25, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35610">35610</a>: External tools plugin.xml error<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build March 17, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35138">35138</a>: NPE during shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34767">34767</a>: Ant preferences not imported<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35100">35100</a>: Migrate actions to command extension point<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build March 13, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34726">34726</a>: Ant tests do not need the overhead of AutomatedSuite.run<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34922">34922</a>: Typos<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34439">34439</a>: Index out of bounds editing custom task<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34496">34496</a>: double click adds type without name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34682">34682</a>: External entity with unrecognized protocol<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34678">34678</a>: Duplicate properties in files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34663">34663</a>: Ant attempts to resolve taskdefs before resolving properties<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build March 12, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34442">34442</a>: Custom task does not work in folder (only in jar)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34472">34472</a>: External tools preference is not clear<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34519">34519</a>: Dialog slow to cancel when Properties/External Tools was selected<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build March 6, 2003
-<p>
-<b>Note:</b> Adding the Xerces JARs to your runtime Ant classpath is no longer required.
-In fact, adding these JARs can cause problems. The Xerces classes are loaded from the Xerces plugin provided with Eclipse.
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32643">32643</a>: PlantyContentOutlinePage: 'Open With' shows up in context menu for non-existant external entity<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33682">33682</a>: Ant build file editor causes exceptions when file empty<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33794">33794</a>: Variables should be sorted in the "Select Variable" dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33826">33826</a>: Preferences>Editor>Appearance: layout problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33069">33069</a>: Stack traces using ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31727">31727</a>: Ant Editor tests fail when run as PDE JUnit tests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33838">33838</a>: Have build.xml as a default name for -find emulation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32700">32700</a>: Refresh Tab Scope variable selected but no selection widget<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33685">33685</a>: Ant view: open with not available for targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32657">32657</a>: Ant build stops working after terminating build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33861">33861</a>: [External Tools] Pref page too prominent<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33870">33870</a>: The build.properties for org.eclipse.ant.tests.core is incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33837">33837</a>: Ant editor code assist is case sensitive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33859">33859</a>: AntEditor: error nodes in outline are inconsistent with the Java editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33867">33867</a>: Misspelling in Ant View context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33874">33874</a>: AntEditor: no context menu on vertical ruler<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33857">33857</a>: AntEditor: doesn't support hovers on annotations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33928">33928</a>: NPE closing workbench<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33981">33981</a>: Better positioning of error squiggles in Ant Editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33264">33264</a>: Content assist fails if reference external entity<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33664">33644</a>: Class org/xml/sax/Parser violates loader constraints with IBM vm 131<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32890">32890</a>: Coloring bug in ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33892">33892</a>: BadLocationException possible during reconciliation of AntEditor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33952">33952</a>: AntEditor: possible automatic move of cursor while editing<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build March 4, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33443">33443</a>: No need for our own Ant version implementation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33263">33263</a>: Ant completion of properties is incorrect.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32825">32825</a>: Missing NLS strings for Ant Editor preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32183">32183</a>: Running with Ant1.6 alpha<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32477">32477</a>: Errors in external entities and nested external entities aren't supported by the editor outline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32551">32551</a>: "Run Ant" causes ClassCastException with filesets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32587">32587</a>: AntView actions are incorrecly enabled --> NPE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32824">32824</a>: BadLocationException creating build.xml file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32624">32624</a>: Problem with asyncExec(..) Runnable in PlantyContentOutlinePage if control of treeviewer gets disposed.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32787">32787</a>: AssertionFailedException selecting error node in AntEditor outline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33043">33043</a>: Custom types are broken<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33288">33288</a>: Ant View tooltips should use book capitalization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32517">32517</a>: No mneumonics on the Choose Configuration Type dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31433">31433</a>: Ant view will not set its focus when selecting the window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33514">33514</a>: Ant integration appears broken in I20030227<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32715">32715</a>: Cancelling removing a external tool builder fails<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32836">32836</a>: Cannot remove custom task<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33284">33284</a>: Ant preferences: additional classpath entries not removed permanently<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33117">33117</a>: ClassCastException with tasks using Xerces<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32837">32837</a>: Tasks tab restore defaults<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32827">32827</a>: Editor selection for external entities can be improved<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32809">32809</a>: AntView search dialog retains name of removed working set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32693">32693</a>: Duplicate mneumonic on Program main tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33534">33534</a>: Ant Editor: range indication not supported<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33272">33272</a>: Leaking PlantyDocumentProviders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32768">32768</a>: Edit launch config from Ant view starts out "dirty"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32811">32811</a>: Setting ANT_HOME for specific config does not update classpath<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32781">32781</a>: Description in Ant preference page is confusing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33702">33702</a>: [Ant View] Properties action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33346">33346</a>: Move to Ant 1.5.2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32521">32521</a>: (minor)AntView status line shows "no description"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33670">33670</a>: Ant view error strings are too long<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32762">32762</a>: ${resource_loc} variable component specific resource tree too small<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 21, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23969">23969</a>: Launcher should throw JVM exit code to parent process when build fails<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 20, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31819">31819</a>: New support for color in TableViewers and TreeViewers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32158">32158</a>: Can't remove erroneous project builders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30716">30716</a>: cannot change external tool builder launch configuration properties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31949">31949</a>: Use OpenWith menu for external entities in the AntEditor outline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32091">32091</a>: AntClassloader should be setting its parent classloader<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31625">31625</a>: Mixing build files in Ant view does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31934">31934</a>: Targets tab gets very wide if lots of targets selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19459">19459</a>: [ExternalTools] failure to execute invalid tools should be better handled by ui.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32297">32297</a>: "plug-in" should be spelled with a hyphen<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32276">32276</a>: Stack trace running ant.bat as an external process<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31955">31955</a>: Outline is not created until initial reconcilation: noticeable delay<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32345">32345</a>: Ant Editor doesn't support annotations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32374">32374</a>: BadLocationException on external entity build file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32423">32423</a>: Cannot use Run as Ant build with the Ant Editor outline with focus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32419">32419</a>: Put External Tools launch button with Run and Debug launch buttons<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 18, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28770">28770</a>: Display default target in project label in Ant view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30596">30596</a>: Fixes for the Ant Editor Tests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29236">29236</a>: AntView tests & Ant editor tests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31780">31780</a>: Workaround JFace selection bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31776">31776</a>: Ant targets cannot be configured within the list box if many targets exist<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31777">31777</a>: Add reconciling to the Ant editor outline page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21793">21793</a>: Ant ProjectHelper not loaded correctly [set thread context classloader]<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31796">31796</a>: Ant Editor syntax coloring fails over multiple lines<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30836">30836</a>: XMLElements from external entities have incorrect selection in AntEditor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31369">31369</a>: External Processes are not typed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31439">31439</a>: PlantyException on opening ant script<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31588">31588</a>: Show In... support from the Ant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31792">31792</a>: Project.init shortcut not working for datatypes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31797">31797</a>: AntEditor syntax color does not update until the editor is re-opened<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31935">31935</a>: No targets selected, yet still have targets in target execution order<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31876">31876</a>: ClassCastException code assisting in Ant Editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31948">31948</a>: AntEditor reconciling has broken resolution of external entities<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32069">32069</a>: Color preferences are applied too early<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27613">27613</a>: Code duplication with Ant preference pages and Ant launch config tabs<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 13, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31587">31587</a>: Open Editor for external entities should use selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31561">31561</a>: Parse build files faster<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31672">31672</a>: Broken backwards compatibility with Ant 1.4.*<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31678">31678</a>: Disallow the AntClassLoader to load core Ant classes from plugin parents<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30679">30679</a>: External tool migration and writing to System.err<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31097">31097</a>: Ant Color Option list needs scrollbars<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28928">28928</a>: Set minimum size of Runtime class path<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 11, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30939">30939</a>: DBCS characters are garbled at the Outline view using non-native workbench encoding<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31180">31180</a>: Outline colors all elements whose name matches default target's<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29815">29815</a>: Ant artwork<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29898">29898</a>: Updating actions in the AntView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30931">30931</a>: [Ant View] Run button not enabled when first target added to list<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30961">30961</a>: Arguments field on the ExternalToolsMain tab needs to be multiline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30239">30239</a>: Some bugs in launch configurations for external tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31378">31378</a>: AntTargetsTab order tab does not color default target correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31200">31200</a>: Unable to uncheck Ant Targets after clicking "Revert"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31145">31145</a>: Show external entities as root nodes in the outline page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30884">30884</a>: PlantyCompletionProcessor does not handle external entities<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30844">30844</a>: AntClasspathTab top table will grow unbounded<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29572">29572</a>: headless Ant support does not properly handle IDE based Ant tasks<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 6, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31055">31055</a>: NPE determining if default target<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 5, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30239">30239</a>: Some bugs in launch configurations for external tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26750">26750</a>: "Run with..." dialog for AntView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29231">29231</a>: Ant view is listed under "External Tools" in menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29824">29824</a>: Ant view toolbars should follow type hierarchy example<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30220">30220</a>: external builder not readded to projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30228">30228</a>: Mneumonic collision on Refresh tab for resource variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30649">30649</a>: Ant Runtime Classpath Up/Down buttons broken<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30591">30591</a>: DBCS:After remove all targets, "Run Ant..." will repeat last target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29822">29822</a>: Streamline single target case for Ant View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30331">30331</a>: [Ant View] Add build files sorts case dependant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30318">30318</a>: Planty should be renamed to "Ant Editor"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29820">29820</a>: Reduce clutter in Ant View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30098">30098</a>: AntSecurityManager throws exception when exiting Eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30715">30715</a>: Incorrect string description for ${build_type} variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30420">30420</a>: StringIndexOutOfBoundsException on restart with Ant editor active<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30744">30744</a>: Activating a target in the Ant view switches view layout<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30589">30589</a>: DBCS:Clicking "Up" or "Down" make Target lost<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29318">29318</a>: Two builds at the same time...one starts logging to the DOS console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29271">29271</a>: External tools ant output always goes to the console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30547">30547</a>: Ant view properties action doesn't handle more than one config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30680">30680</a>: "Widget is disposed" setting variable arguments for Ant Build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30769">30769</a>: Missing icon for target error node<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29885">29885</a>: Ant editor (planty) does not handle relative paths nicely<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29744">29744</a>: [External Tools] refresh ${working_set} does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30559">30559</a>: ExternalToolsPlugin.log(Throwable) logs no message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30770">30770</a>: When things go wrong parsing for the Ant Editor outline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30767">30767</a>: NPE on resource changed from AntView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30343">30343</a>: Ant Editor outline does not indicate default target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24108">24108</a>: Nls external tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26683">26683</a>: Targets tab behavior<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27325">27325</a>: "activate" terminology<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29828">29828</a>: Too many preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30915">30915</a>: Selected resource tracking fails<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30932">30932</a>: Restore defaults does not work for color preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30845">30845</a>: org.eclipse.ui.externaltools.internal.ant.dtd.test.dumper.java<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30093">30093</a>: Handling bad definitions of extension points<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Jan 28, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29878">29878</a>: Chkpii failures for Ant / external tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29857">29857</a>: Open with "Planty"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28877">28877</a>: Double clicking active target should run the active target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29816">29816</a>: Support "delete" key in the Ant view for active targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30035">30035</a>: NPE running build file in external project<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29315">29315</a>: AntProgressBuildListener writing to .log on build cancelled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29321">29321</a>: Set ANT_HOME does not force you to enter location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29249">29249</a>: Ant view updates for resource changes inefficiently<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27675">27675</a>: Show custom Eclipse tasks / types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30083">30083</a>: Adding -logger XmlLogger cause Exception on build finished<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27627">27627</a>: API review<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30086">30086</a>: Ant view not updated when project deleted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29743">29743</a>: [External Tools] Apply button does not enable in "refresh tab"<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Jan 21, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26532">26532</a>: [External Tools] the external tools menu in the run menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25860">25860</a>: Ant runner sets basedir incorrectly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26667">26667</a>: External Tool variables are expanded in launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29504">29504</a>: External Tools' Eclipse variables are disallowed to have text before/after<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16618">16618</a>: [ExternalTools] Re-launch last External Tool hotkey <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26523">26523</a>: NPE in getHyperLink<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29573">29573</a>: External tool variable scope is too restrictive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29672">29672</a>: When external tool builders go bad<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29152">29152</a>: Migrate extension point schema ownership<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29148">29148</a>: Contribution of Planty 0.9.1<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28746">28746</a>: Please sort build targets alphabetically<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29322">29322</a>: Revert has no effect on Build Options tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29806">29806</a>: Default script name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29812">29812</a>: Define placeholder for Ant View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29811">29811</a>: Add "Ant View" to top level menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28306">28306</a>: External tool builder not deleted on cancel<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28577">28577</a>: External tool builder not added<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28769">28769</a>: New Ant View doesn't gracefully handle missing targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29449">29449</a>: SearchForBuildFilesDialog.searchForBuildFiles optimization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29663">29663</a>: Descriptions in the AntView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29818">29818</a>: Replace "Go To File" with "Open With ->"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3079">3079</a>: [ExternalTools] Clicking on output should open resource<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27684">27684</a>: Tasks and Types lists need to be sorted<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Jan 14, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26688">26688</a>: Rendering of Ant projects in the Ant View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27699">27699</a>: Move up/down enabled when no selection and only one target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29180">29180</a>: Support double-click in the selection dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28809">28809</a>: ANT_HOME not set on first run of Ant tool<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27540">27540</a>: Run Ant vs. Ant View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19623">19623</a>: [ExternalTools] Display full command line for external tool<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29220">29220</a>: Ant view execution order contains extra node<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29221">29221</a>: Run as Ant does not report anything on some failures<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24338">24338</a>: Cancelling an Ant run can take a long time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21012">21012</a>: [ExternalTools] Cancel tool does not cancel tool<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28933">28933</a>: Cannot add tasks/types from folder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28876">28876</a>: Ant View in M4 should split vertical<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29269">29269</a>: ClassNotFoundException: TaskLineTracker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26978">26978</a>: Ant targets tab shouldn't add all targets by defaultt<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26882">26882</a>: Need "run for build kinds" UI for project builders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28431">28431</a>: Variable expansion is using incorrect path separators<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28569">28569</a>: Browse workspace dialog needs colon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28570">28570</a>: Missing mneumonic for copy button in External Tools builders page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28305">28305</a>: Edit properties for Launch Configuration for External tools<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Jan 7, 2003
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27983">27983</a>: Ant logger does not respect console buffer size<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Dec 17, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28276">28276</a>: Should not expose "ant class loader" option to user<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Dec 16, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28301">28301</a>: Creation of an External Tool Builder gets name wrong.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28306">28306</a>: External tool builder not deleted on cancel<br>
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Dec 13, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27984">27984</a>: Total build time wrong<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23661">23661</a>: [ExternalTools] Launching Ant on xml file that is in the active editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20581">20581</a>: [ExternalTools] Variables should insert at caret<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26182">26182</a>: Ant preference page has conflicting mnemonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26200">26200</a>: External tools menu is missing mnemonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27525">27525</a>: Remove All Projects and Remove all build files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28052">28052</a>: AntProcessBuildLogger doesn't handle empty locations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27804">27804</a>: VariableContextManager and ExternalToolsPlugin#startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28130">28130</a>: 1.3 incompatible compile when target, source set to "1.3" using 1.4.* vm<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28136">28136</a>: Ant view "Run" button is ambiguous<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28213">28213</a>: Adding a file to the Ant view that already exists takes way too long<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26689">26689</a>: navigate from ant view to editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26554">26554</a>: Ant view should update when projects closed/removed<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Dec 10, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27328">27328</a>: Search for build file does not remeber last search text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27541">27541</a>: Cannot add an Ant External Tool Builder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27050">27050</a>: NullBuildLogger no longer needed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16574">16574</a>: [ExternalTools] External tool builders should use same set of external tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27101">27101</a>: AntView enhancement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27686">27686</a>: Having both Run Ant and Run Ant... in the same menu is problematic<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27669">27669</a>: Ant view toolbar is misleading<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27615">27615</a>: Incorrect button enablement on AntClasspathPage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22793">22793</a>: [ExternalTools] Ant preference page jar area changes size<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27814">27814</a>: AntLaunchShortcut refererences internal debug UI class<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27665">27665</a>: Buildfile hyperlink off by 1<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27323">27323</a>: can only single-select active targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27700">27700</a>: Ant View: I can activate a target more than once<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27810">27810</a>: BuilderPropertyPage makes multiple dispatching listeners<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15405">15405</a>: Make all ANT configuration defined at config level<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27841">27841</a>: Illegal reference to LaunchGroup and DebugUIPlugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27832">27832</a>: Easy to cut off the "Reuse Ant classloader" option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27831">27831</a>: Save changes prompt from classpath tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25649">25649</a>: Add action to add ant project to ant view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27505">27505</a>: Ant specific actions in External tools base<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27865">27865</a>: Can't cancel AntView search<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27702">27702</a>: IllegalArgumentException in AntView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27846">27846</a>: Cannot add new ext tool builer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20856">20856</a>: [ExternalTools] Preferences/Ant/Classpath inconsistency<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27440">27440</a>: Cached classloader misses changes to tasks / types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25650">25650</a>: Add action to ant view to search for build files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27954">27954</a>: Merge Main and Options tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27841">27841</a>: Ext tool builders have wrong icon and NPE'd<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17782">17782</a>: [ExternalTools] Custom tasks not checked for validity<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26455">26455</a>: -find option not yet implemented<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27703">27703</a>: Add classpath tab for Ant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27776">27776</a>: Don't use the term "Ant Script"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27780">27780</a>: Ant Preference page reorganization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27856">27856</a>: Description field on ExternalToolsMainTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27964">27964</a>: NoSuchElement exception in AddCustomDialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27956">27956</a>: Create Ant Main tab to limit location selection<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Dec 03, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20014">20014</a>: [ExternalTools] Tool location should accept only files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26918">26918</a>: Projects with external builders cause NPEs when built in headless mode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26671">26671</a>: Ant external tool hangs Eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25709">25709</a>: Lists on Targets page of External Tools properties need scrollbars<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26637">26637</a>: Process timestamp showing as launch configuration property<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26638">26638</a>: Too much logging to the log<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26995">26995</a>: Run Ant action should prompt for config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26449">26449</a>: pref page: set ANT_HOME 'Browse' button size is unusual<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27500">27500</a>: Ant tasks do not always have a name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25712">25712</a>: external tools tabs missing mneumonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27124">27124</a>: Adjust hyperlink for adorned tasks in Ant output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27049">27049</a>: AntProcessBuildLogger does not write to logfile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24704">24704</a>: Tasks with the same name can be entered via the pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27345">27345</a>: "Don't ask again" preference when migrating external tool builders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27128">27128</a>: Hyperlinking for Ant tasks does not work on older Ants<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27141">27141</a>: [External Tools] Unexpected Run Ant dialog behaviour.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27531">27531</a>: Browse for Ant home should store last location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27157">27157</a>: Two launch histories for external tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27534">27534</a>: Extra runtime classpath entries lost if Ant home specified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25500">25500</a>: Add JAR to classpath should default to workspace root<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13144">13144</a>: [ExternalTools] Ant preference page details<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27449">27449</a>: External Tools/Ant should honour dialog font<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27206">27206</a>: Additional ant classpath urls do not show up for adding tasks/types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24865">24865</a>: Misc Restricted to Selected Objects in Breakpoint Properties dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27265">27265</a>: Adornment adjustment is incorrect for long task names.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20921">20921</a>: [ExternalTools] Project properties runs autobuild for all projects<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Nov 26, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27009">27009</a>: External tool option tab defaults to "run in background"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24699">24699</a>: Ant classpath should be separated into two components?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26405">26405</a>: AntTargetsTab doesn't save target selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26415">26415</a>: Migrate external tool project builders to use launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26704">26704</a>: Remove External Tools View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26705">26705</a>: Remove "ExternalTool" UI code<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26708">26708</a>: output should be the same as from command line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27014">27014</a>: Prompt for argument checkbox should be temporarily removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27033">27033</a>: AntView uses JDK 1.4 method String.split(...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26744">26744</a>: [ExternalTools] Console always opens build file with Text editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26636">26636</a>: Cached Ant classloader not reset with classpath change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16849">16849</a>: [ExternalTools] Ant does not respect output level preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26948">26948</a>: Requesting invalid target execution causes NPE in ProgressBuildListener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26042">26042</a>: Can't run Ant script with new Ant on MacOS X<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26606">26606</a>: Ant errors not showing in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19520">19520</a>: [ExternalTools] Performance suffers with console log ouput enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22402">22402</a>: [ExternalTools] Port fix for handling spaces in arguments...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26192">26192</a>: NPE from ant targets tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26729">26729</a>: External tools menu does not update<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26714">26714</a>: Ant loses preferences<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Nov 19, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26112">26112</a>: "Run Ant..." implies dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6498">6498</a>: [ExternalTools] selecting and building individual targets in ANT scripts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18971">18971</a>: [ExternalTools] Using external tool configs in other contexts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19450">19450</a>: [ExternalTools] menu should limit itself to the first n tools (perhaps n = 20)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21809">21809</a>: Let user specify installation directory of Ant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24718">24718</a>: Run Ant should be programmatically available<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25059">25059</a>: [ExternalTools] Refresh Scopes dialog should be wizard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25062">25062</a>: Support execution of ant tasks in a seperate thread<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25821">25821</a>: External Tool] Error Message "External Tool runner internal error"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26061">26061</a>: Changes to Ant classpath don't persist<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26418">26418</a>: Remove "launch configuration mode" as an option in external tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26629">26629</a>: Error message has reversed arguments<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19450">19450</a>: [ExternalTools] menu should limit itself to the first n tools (perhaps n = 20)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22738">22738</a>: [ExternalTools] Tool arguments should be a wizard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13275">13275</a>: [ExternalTools] Ant Wizard should not "always" be modal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20857">20857</a>: Problems with Ant classpath not being picked up<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Nov 13, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26050">26050</a>: Unnamed projects cause NPE in Ant View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16982">16982</a>: [ExternalTools] Console font setting should be workbench text font<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25592">25592</a>: [External Tools] Log console should have autoscroll<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18478">18478</a>: [External Tools] Minor: output not always in right order<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22727">22727</a>: [External Tools] Program tool output not shown on log console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25762">25762</a>: Problem starting JUnit plugin tests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25746">25746</a>: Runtime exec support should be in debug core<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25877">25877</a>: should save all files before execute ant script<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23662">23662</a>: [ExternalTools] External tools history manipulation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25907">25907</a>: [ExternalTools] ExternalToolMenuDelegate leaking menus<br>
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Nov 12, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25759">25759</a>: NPE trying to open the antview preferences page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22730">22730</a>: [ExternalTools] Capture output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25397">25397</a>: AntPage flashes when resized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25493">25493</a>: NPE if default target does not exist in external tool builder ant file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25648">25648</a>: Add remove action to ant view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25468">25468</a>: Backwards compatibility with Ant 1.4.1<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Nov 05, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25509">25509</a>: NPE from InternalAntRunner<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25639">25639</a>: Double click in tasks and types tabs should invoke edit<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25656">25656</a>: [ant] Cannot add multiple Jars to ant classpath at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25693">25693</a>: Implement support for the -diagnostics option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25647">25647</a>: Add Ant View to Eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25698">25698</a>: Global properties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25699">25699</a>: Global property files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25702">25702</a>:  [External Tools] Restore defaults does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24525">24525</a>:  Active targets not shown in ant tool property page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24578">24578</a>:  Can't add variable to tool arguments<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Oct 29, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24847">24847</a>: duplicate options not handled the same as cmd line Ant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25133">25133</a>: Implement support for the 1.5.1 feature: -propertyfile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25213">25213</a>: -propertyfile should not abort build if the property file is not found<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24580">24580</a>: Expose more information in TargetInfo<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17803">17803</a>: [ExternalTools] AntPage table should scroll horizontally<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18294">18294</a>: [ExternalTools] Ant preference page: classpath list too wide<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24383">24383</a>: Update the printUsage of InternalAntRunner<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24824">24824</a>: DefaultLogger should be used for headless Ant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20576">20576</a>: [ExternalTools] Should specify order of jars on classpath<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24234">24234</a>: Ant test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24318">24318</a>: Move to Ant 1.5.1<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25134">25134</a>: Implement support for the 1.5.1 feature: -inputhandler<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Oct 22, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24756">24756</a>: -projecthelp indicates BUILD SUCCESSFUL<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24831">24831</a>: Same URL multiple times in the AntClassLoader<br>
-
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Oct 16, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15821">15821</a>: [ExternalTools] Minor: Ant console "steals" focus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22400">22400</a>: [ExternalTools] Run Ant... action displayed for invalid resources (build I0813)<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Oct 15, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6020">6020</a>: Tasks calling System.exit crash Eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23651">23651</a>: [doc] AntTasks and AntTypes refer to non-existant API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23653">23653</a>: [doc] Extra Ant classpath entries extension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24459">24459</a>: AntCorePlugin startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19899">19899</a>: If the user never changes the Ant classpath, it should always be computed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23917">23917</a>: logfile not created in the correct location when path not fully specified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24587">24587</a>: Project properties not set properly if no arguments passed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24696">24696</a>: ExternalTools antrunner.jar is still in the HEAD stream<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24418">24418</a>: Option without necessary corresponding argument not handled correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24594">24594</a>: Targets specified as arguments not recognized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23995">23995</a>: deadlock while running build.xml<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24733">24733</a>: Help text is wrong<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24710">24710</a>: Custom ant task classes not found<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Oct 09, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24527">24527</a>: java.io.FileNotFoundException occurs when invoking AntRunner<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Oct 08, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20557">20557</a>: Running an empty ant script takes about 2 seconds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22459">22459</a>: AntRunner prints stack trace on OperationCanceledException<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23383">23383</a>: API: Add @since tags<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24290">24290</a>: Ant preferences are only saved at shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23584">23584</a>: Java should be capitalized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17484">17484</a>: [ExternalTools] Adding tasks from JARs in the Ant Preference Page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23664">23664</a>: Better reporting of errors when reading Ant build file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24415">24415</a>: Running an Ant script with console logging turned off writes to OS console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24452">24452</a>: Key clashes within extension point definitions<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23350">23350</a>: Possible NPE<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Oct 01, 2002
-
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23482">23482</a>: Rework the Core Ant code to be able to use the NLS tools<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14180">14180</a>: Ant -help not function<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19801">19801</a>: AntCorePreferences, Type, Tasks could be a public class<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23881">23881</a>: Same error logged three times<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23913">23913</a>: Issues with InternalAntRunner#printHelp(Project)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22714">22714</a>: Arguments line lose spaces when printed to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23132">23132</a>: -logfile option for ant doesnt seem to work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16740">16740</a>: [ExternalTools] Irrelevant stack trace for errors in Ant build file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19838">19838</a>: Error codes for Ant Core should be public<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21478">21478</a>: Insufficient Ant activation error reporting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23658">23658</a>: Build file is not logged to log console view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22465">22465</a>: Wrong ant script causes fatal error written to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23924">23924</a>: handling of incorrect / unrecognized arguments<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23720">23720</a>: [doc] Extension point listing is incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22702">22702</a>: XmlLogger not working?<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21479">21479</a>: Ant classpath refers to old 'xerces.jar'<br> 
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23832">23832</a>: Update Ant pages on dev.eclipse.org<br>
-
-</body>
-</html>
diff --git a/ant/org.eclipse.ant.core/r3_0_buildnotes_platform-ant.html b/ant/org.eclipse.ant.core/r3_0_buildnotes_platform-ant.html
deleted file mode 100644
index ccaa5ea..0000000
--- a/ant/org.eclipse.ant.core/r3_0_buildnotes_platform-ant.html
+++ /dev/null
@@ -1,956 +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">
-   <meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; I) [Netscape]">
-   <title>Ant Release Notes </title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build for RC3, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66867">66867</a>: icon allignment<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66883">66883</a>: RC2, external tools: VM arguments not forwarded to separate JRE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55358">55358</a>: Create templates for commonly used tasks and types.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55242">55242</a>: NPE on shutting down Eclipse<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66734">66734</a>: NPE in RemoteAntProcessFactory from "null" attributes (1.1.x VM)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67057">67057</a>: Migration of builder from 2.0.2 to 3.0<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67302">67302</a>: AntEditorMarkerUpdater susceptable to CME<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build for RC2, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65655">65655</a>: eclipse.home ant property improperly set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60828">60828</a>: wizard banner for import ant build file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64668">64668</a>: Style (bold/italic) not working in Ant Editor on comments<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65086">65086</a>: Missing code completions for attribute values<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65075">65075</a>: Outline not cleared when change to empty buildfile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65208">65208</a>: Taskdef undefined<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65758">65758</a>: "&Add Buildfiles" displayed on Ant view toolbar<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65582">65582</a>: warning in generated javadoc for AntCorePreferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66171">66171</a>: Polish patch: support view activation via a keyboard shortcut<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65348">65348</a>: Unused sections in anttasks_1.6.0.xml<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65404">65404</a>: Rule conflicts during launch config change notification<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64461">64461</a>: Ant Editor image does not update when problem prefs changed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65465">65465</a>:	Search for Buildfiles button Search disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64684">64684</a>: DocumentSetupParticipants (easily) interfere with each other<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65757">65757</a>: Different built-in properties from Ant at the commandline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66058">66058</a>: Change project builder "handle" format<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64713">64713</a>: Ant editor locks jars supplying tasks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66303">66303</a>: NPE during shutdown from integrated external too builder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66342">66342</a>: Ant editor indentation problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65391">65391</a>: No confirm before migration of external builder: 2.1.3 -> 3.0<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64928">64928</a>: Change builder when workspace is locked<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build May 27, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63448">63448</a>: Exception with non-existent property file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55793">55793</a>: [Editor] Taskdef warnings length is not adjusted correctly in targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63123">63123</a>: Run from context menu of external entity does not build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63165">63165</a>: AntModel#possiblyWaitForReconcile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51333">51333</a>: Position for error markers is wrong<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62396">62396</a>: Allow configuration of Ant buildfile warnings and errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64475">64475</a>: Reconciling multiple times for changes to preferences<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build May 25, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63760">63760</a>: No external tool build on clean if first builder disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63558">63558</a>: formatter removes text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63335">63335</a>: VM arguments text pane should grab horizontal space<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63884">63884</a>: NPE editing Ant builders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63604">63604</a>: Modal progress improvements round two<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63339">63339</a>: AntUtil#getFileForLocation(...) has incorrect behavior on WinOS<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build May 20, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62830">62830</a>: Ant Build and Ant Build... both appear on Run menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63010">63010</a>: Colon for projects label from Ant build tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63142">63142</a>: Error remains after turning off Build before launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63151">63151</a>: NPE parsing buildfile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63045">63045</a>: Use JFace MessageDialogWithToggle<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62826">62826</a>: Remove duplicate property configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62967">62967</a>: VM never exits (using older VM for an Ant build)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63125">63125</a>: Problem from import not reported correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60916">60916</a>: Icon look unalligned<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build May 18, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61676">61676</a>: AntLaunchShortcut should seed copied config name better<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61788">61788</a>: Cleanup IntrospectionHelpers when editor closes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61947">61947</a>: InternalAntRunner.java has 2 copyright notices<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51381">51381</a>: Add "Import from Ant buildfile"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51781">51781</a>: Top level tasks causing problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61396">61396</a>: Consistency in Ant shortcuts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57379">57379</a>: partition scanner doesn't handle CDATA sections<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61830">61830</a>: Ant Editor shows bogus errors when using property setting tasks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62234">62234</a>: Ant color settings should NOT be shown in Workbench>Colors and Fonts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61402">61402</a>: Remove AntEditor annotation and quick diff pref pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62563">62563</a>: NPE editing external Ant file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34971">34971</a>: Global and local properties and property files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61553">61553</a>: formatter should expose api for formatting docs & tags together<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54723">54723</a>: [Editor] No indication of error, no outline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58374">58374</a>: Building with external build files from editor "context"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61955">61955</a>: dangerous practice of catching Throwable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54466">54466</a>: ant formatter preference page should include preview window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62237">62237</a>: Ant syntax coloring options lacks a preview<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62403">62403</a>: Create separate Code Assist page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61806">61806</a>: Move off of InputDialog deprecated code<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build May 11, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51416">51416</a>: Migrate "Run Ant..." action to Run context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61018">61018</a>: Copy and Paste in Ant Editor inserts extra unwanted tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60303">60303</a>: Variables buttons missing mnemonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55128">55128</a>: Properties value hover shown for text that is not a property<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59737">59737</a>: Not all properties set during parsing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61394">61394</a>: Attribute and element elements of macrodef do not present attribute proposals<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61602">61602</a>: ant.ui AntUtil not compiling in HEAD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61605">61605</a>: more robust version of AntUIPlugin.stop<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61284">61284</a>: Failing code completion tests for Ant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55618">55618</a>: [Editor] Hover value for old property<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60693">60693</a>: No code completions for starting a buildfile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60348">60348</a>: Template proposals show up when code assist for properties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60145">60145</a>: ant editor has wrong values for properties for &lt;import&gt;<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60362">60362</a>: Run Ant forces workspace build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61617">61617</a>: valid chars in content type ids<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61652">61652</a>: Move Ant outline actions to Debug context menu launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61689">61689</a>: Ant doesn't release taskdef classes after a run<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build May 4, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60163">60163</a>: Accessibility: New Builder Dialog missing object info for textInput controls<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60546">60546</a>: Default target null does not exist in this project<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60521">60521</a>: Global classpath Ant home should indicate default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60807">60807</a>: Targets tab checkboxes not using dialog font<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60067">60067</a>: Ant Editor adds marker which cannot be deleted<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59985">59985</a>: Move from ProgressMonitorDialog to IProgressService.busyCursorWhile()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60312">60312</a>: Adapt to changes from bug 60258<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60473">60473</a>: projecthelp does not work for separate VM builds<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60678">60678</a>: PDE ant tasks fail to load when self hosting<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60691">60691</a>: AntModel should reuse classloader until classpath changes<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60761">60761</a>: Ant build file content-type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61652">61652</a>: Double quoting doesn't work for variable expansion with external tools<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build April 27, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59755">59755</a>: Cannot set ant home to ant used in 2.1.x<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59862">59862</a>: Code completion could cache the current prefix<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59024">59024</a>: template code completion doesn't use prefix to limit options<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59866">59866</a>: Copy/Paste of entire lines breaks indentation in Ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57855">57855</a>: Sorting targets option is completely hidden<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53339">53339</a>: Make the InternalAntRunner more lazy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55662">55662</a>: formatter references deprecated code<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59513">59513</a>: ant input task causes stack overflow<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59917">59917</a>: NPE in AntEditorCompletionProcessor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60011">60011</a>: NPE from AntEditor during shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55436">55436</a>: Template additional proposal info is not working<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59863">59863</a>: Code completion when text selection is not empty<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build April 20, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47285">47285</a>: Open External File does not work on build.xml<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58426">58426</a>: NPE in PartiallySynchronizedDocument.replace(..)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25590">25590</a>: Should be possible to use variables specifying Ant classpath<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43266">43266</a>: Using variables in Ant Properties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57839">57839</a>: Mimic classpath tab support for variables in the classpath pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58263">58263</a>: organization of colors for Ant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55429">55429</a>: Ant editor typing can be slow due to reconcile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57195">57195</a>: Auto-indent in Ant editor is broken<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build April 13, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55047">55047</a>: [Editor] Ant tasks and types not cleared when parsing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37943">37943</a>: ${project_loc} for ANT ext tool builder location can't find targets.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56199">56199</a>: AntEditor move to file buffer document provider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58206">58206</a>: Help with memory footprint: dispose Ant model for Ant doc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52688">52688</a>: Provide "build_project" variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57317">57317</a>: Typing in Ant buildfile location is brutally slow<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57332">57332</a>: Too much validation going on in launch config Location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57984">57984</a>: NPE from startup with open Ant Editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55824">55824</a>: macrodef code assist offers wrong attributes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56296">56296</a>: code assist for custom tasks: type references<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build April 6, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56959">56959</a>: Move the AntEditorMarkerUpdater to make use of MarkerUtilities<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57140">57140</a>: Ant launching and the prelaunch checks<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55823">55823</a>: problems view not updated until save<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54458">54458</a>: formatter swallows text when attribute values include --><br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51215">51215</a>: fix partioner to handle angle brackets in attribute values.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56657">56657</a>: External tool builders need to adapt to new build story<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55355">55355</a>: Move to new template extension point for ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40255">40255</a>: Ant formatter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54461">54461</a>: add an AutoIndentStrategy to ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55429">55429</a>: Ant editor typing can be slow due to reconcile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55433">55433</a>: Enhance property file support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55782">55782</a>: Edit/Remove buttons incorrectly enabled for the AntEnvironmentTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55982">55982</a>: Rename "alternate JRE" to "separate JRE"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49830">49830</a>: Code assist for refid<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54935">54935</a>: Ant editor title image does not indicate error when first opened<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55961">55961</a>: Move/Add the link with editor action to the view menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57000">57000</a>: Do not handle Property file names with spaces<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56297">56297</a>: code assist for custom tasks: enumerations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56299">56299</a>: code assist for custom tasks:  boolean attributes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56488">56488</a>: template support should be context aware<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Mar 30, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55818">55818</a>: AntEditorContentOutlinePage retains too much state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55813">55813</a>: ProjectHelper static state needs to be cleaned up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56055">56055</a>: Remove top level ant.jar in org.apache.ant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56293">56293</a>: editor incorrectly reports "taskdef class not found<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56258">56258</a>: escape entities in ant warning hovers<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Mar 23, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54756">54756</a>: add *.macrodef & *.ent to editor's file associations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50303">50303</a>: Ant Editor outline "Link with Editor"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55118">55118</a>: NPE from AntModel<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55313">55313</a>: Add a mnemonic for one of the launch config tabs for builders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38935">38935</a>: Completion for custom ant tasks in ant editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54933">54933</a>: Ant error overlay drawn in different quadrant than Java<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37180">37180</a>: Ant editor errors and warnings should appear in the problem list<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49829">49829</a>: Code assist should include previously defined macrodefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50452">50452</a>: Another way to resolve a location for a tools.jar<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53688">53688</a>: Update Ant preference page to reflect classpath tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53715">53715</a>: Add environment tab to Ant launch config types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55003">55003</a>: Nodes with warnings have error icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55140">55140</a>: Build hangs if running on separate VM that is older than 1.4<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52076">52076</a>: Preference page for the Ant Formatter<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52449">52449</a>: Show error for target that depends on a non-existant target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55119">55119</a>: Assertion failed dumped to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55122">55122</a>: Ant editor code assist locks up Eclipse if reconciling error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55543">55543</a>: Opening an Ant editor is taking 10 seconds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54937">54937</a>: [Editor] Changing property does not change value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53458">53458</a>: "Import" elements open with select element in open editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50986">50986</a>: Classpath tab for External tool Ant builds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55306">55306</a>: Incorrect schema for org.eclipse.ant.core.extraClasspathEntries<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51307">51307</a>: calls to taskdef printing "Dropping \d from path as it doesn't exist"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52446">52446</a>: Label for tasks/types has leading slash<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Mar 16, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54115">54115</a>: Hungry code assist (is eating characters)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54359">54359</a>: Button enablement on the classpath tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54361">54361</a>: Missing Ant home no longer indicated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52724">52724</a>: Errors from the ant task do not provide links<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51825">51825</a>: add to outline view "filter top level tasks and types" action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54731">54731</a>: remove dependency on apache ant in ant core and ui buildfiles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54784">54784</a>: NPE from XMLTextHover<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38267">38267</a>: tools.jar needs to be updated when setting to run in a separate VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51698">51698</a>: Output still displayed when "Capture output" off in sep VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54369">54369</a>: Remove pref for "Warn ... for changing the Ant JRE"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53152">53152</a>: Eclipse "locks up" aka super slow when editing a large build.xml<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54664">54664</a>: Cannot run a build.xml from a non-Java project<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48934">48934</a>: Move to use the Platform UI color support<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Mar 9, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53316">53316</a>: Hidden functionality of the copy button for builders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53511">53511</a>: External tool builders run in background when they shouldn't<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49445">49445</a>: outline and ant runner views should  include imported targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34685">34685</a>: Error indicated but no error squiggle or message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53681">53681</a>: NPE if external entity does not exist<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49014">49014</a>: Classpath should be expanded on entry into tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48051">48051</a>: Add "Restore defaults" button to the Ant Classpath Page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48053">48053</a>: Remove Update classpath functionality from the JRE tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52883">52883</a>: SeparateVM Ant builds cannot be specified to run in the foreground<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53778">53778</a>: Ant classpath missing global entries<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53891">53891</a>: Spelling error in Ant Code Formatter preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53696">53696</a>: Failing Ant UI test: testMixedElement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53547">53547</a>: Ant Outline view - toggle control to Show/Hide included elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53690">53690</a>: Code completion proposals case sensitive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52211">52211</a>: Persisting classpath when the same as default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40688">40688</a>: Code assist for closing a task should not need "&lt/"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54113">54113</a>: [Editor] Highlight range incorrect for selected element<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53687">53687</a>: StringIndexOutOfBoundsException on code completion<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52040">52040</a>: Ant editor reports error on my custom task<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48041">48041</a>: Updating classpath support for separate VMs<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Mar 2, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52973">52973</a>: Better message for specifying an Ant home that does not exist<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52972">52972</a>: Ant classpath tab does not indicate an error if the Ant home has been deleted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53115">53115</a>: Contribute remote Ant support as an extraClasspathEntry<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53244">53244</a>: External tool builders generate outgoing "ATTR_LAUNCH_IN_BACKGROUND" change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51726">51726</a>: Show In is enabled for selections in Ant editor outline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51731">51731</a>: Navigate/Show In for external elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51347">51347</a>: External entity support (Open With etc)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53125">53125</a>: Navigate support for Import<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53142">53142</a>: ClassCastException determining properties for top level code assist<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 24, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52209">52209</a>: JARs from global classpath not found for build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52332">52332</a>: caret off by one after code assist<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51579">51579</a>: Pref Page Ant/Editor/Annotations; 2 checkboxes do not use dialog font<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51784">51784</a>: Setting Java executable for Alternate JRE is forgotten<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37944">37944</a>: .project file paths to external tools hardcoded to specific project<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52400">52400</a>: ClassCastException in BuilderPropertyPage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52713">52713</a>: Provide descriptions for Ant and Program config types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52329">52329</a>: Move to Ant 1.6.1<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40618">40618</a>: No JRE tab for Ant project builders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47373">47373</a>: Setting properties for separate VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51733">51733</a>: Code assist: no completions available<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51007">51007</a>: Review the "remove Xerces" code in AntRunner<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47901">47901</a>: Extend contributed "object"s extension points to specify whether to be included in separate VM build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52793">52793</a>: Builder Launch in Background setting is forgotten<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47312">47312</a>: Setting tasks and types for separate VM build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51101">51101</a>: [Dialogs] New Builder Dialog should not come up w/ an error message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51393">51393</a>: Ant in external JVM doesn't honor extraClassPath extension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38821">38821</a>: Ant editor: indenting size<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 17, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51694">51694</a>: base directory not honored when run in separate VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51696">51696</a>: alternate label for Ant build file "Location"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51789">51789</a>: Run Ant... in ant view does not run<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52200">52200</a>: NPE possible if hovering over text in AntEditor with no project node<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52182">52182</a>: BadLocationException during reconcile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51937">51937</a>: Widget is disposed problem possible from BuilderPropertyPage<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 12, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51882">51882</a>: Project builders property dialog fails with graphic disposed<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 10, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51332">51332</a>: Outline positions to wrong offset in editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50389">50389</a>: Problem altering order of ant targets when mutliple targets selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49554">49554</a>: JDK 1.5 and Ant Editor troubles<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51298">51298</a>: No "Environment" tab on program project builders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51319">51319</a>: "Run" in Outline View does not work for default target<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Feb 3, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50795">50795</a>: Possible lockup from executing implicit target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50410">50410</a>: Cannot use older Ant installs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50494">50494</a>: AntView context menu cleanup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50505">50505</a>: Malformed URL exception from antcore preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49275">49275</a>: Ant Editor Outline view - no longer works as of M5<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49792">49792</a>: Update the Ant code assist support files for Ant 1.6.0<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Jan 27, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45915">45915</a>: Checkbox table view for external tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44125">44125</a>: Performance issues with Ant editor: slow to open<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50351">50351</a>: Should not be able to remove/edit wrapped builders<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40501">40501</a>: Missing Ant syntax errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44995">44995</a>: Option to hide properties in Ant outline view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50529">50529</a>: incorrect error annotation length for error target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44343">44343</a>: Create an object model for Ant UI<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50575">50575</a>: Editor selection is incorrect for some multiline elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50046">50046</a>: Add property text hovering to the Ant Editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49386">49386</a>: code assist should include previosly defined properties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50653">50653</a>: No code assist proposals when starting in error state<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Jan 20, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50019">50019</a>: No overview ruler for the AntEditor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49579">49579</a>: Adapt to the marker annotation changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50016">50016</a>: AntEditorPreferencePage does not present all of the annotation prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34548">34548</a>: Add 'Run task' to outline view of build.xml files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50144">50144</a>: Classpath for separate Ant build is duplicated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50170">50170</a>: TaskDescriptionProvider could be shared by all AntEditors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33361">33361</a>: [External Tools] copy button does nothing<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Jan 13, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49747">49747</a>: misspelled title in Any Property File Selection Dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49709">49709</a>: ClassCastException when adding non-file as a property file<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32727">32727</a>: Console color for Ant not updated until forced to redraw<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45923">45923</a>: Move to Ant 1.6<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49810">49810</a>: Code assist for attributes of a target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41591">41591</a>: Ant 1.6 new options<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49886">49886</a>: Hide internal targets icon needs to be updated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49697">49697</a>: ant editor outline page's label provider is case sensitive<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49380">49380</a>: editor outline should have icon for macrodef<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44491">44491</a>: Move to using ProjectHelper2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47581">47581</a>: Duplicates on the Ant runtime classpath<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Jan 6, 2004
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48803">48803</a>: Run ant doesnt save build.xml before display of run dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49016">49016</a>: [Ant view] Missing acclerator keys<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Dec 15, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48127">48127</a>: Ant will not launch with an incomplete class path<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48445">48445</a>: Ant core external tool builder not successful<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47422">47422</a>: Internal error on launching ant target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48747">48747</a>: Specify Ant logger argument then build fails<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Dec 9, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47941">47941</a>: Ant core buildfiles doesn't work without binary plugins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48098">48098</a>: NPE creating new Ant launch configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48012">48012</a>: BuildFailedTracker does not handle failure message with no line numbers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44935">44935</a>: Xerces warnings for Ant classpath<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47137">47137</a>: Context menu actions of the AntEditor outline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48113">48113</a>: Select an element in the AntView after single deletion<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37332">37332</a>: Targets tab needs to reset if classpath changed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39251">39251</a>: Need some way for variables to provide multiple arguments<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47139">47139</a>: changing color pref does not update editor until re-opened<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47140">47140</a>: Ant editor missing current line highlight<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47289">47289</a>: Ant UI giving wrong error message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48184">48184</a>: org.apache.ant must not list any dependencies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48165">48165</a>: Error when location is corrected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43814">43814</a>: Ant Runtime error, but do not affect eclipse work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46897">46897</a>: Ant view not sorted after a project is renamed.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47933">47933</a>: Multiple listeners added to fields in ExternalToolsMainTab<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Dec 2, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47745">47745</a>: Remove xerces from ant ui tests for seperate VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45974">45974</a>: Move the Ant projects to use the PDE required plugins container support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44565">44565</a>: StringIndexOutOfBounds from BuildFailedTracker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47308">47308</a>: Add Ant task error in preferences in 3.0M5<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47368">47368</a>: Ant custom tasks and types need to use variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47748">47748</a>: Should not prompt when running tests<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45985">45985</a>: BUILD FAILED: java.lang.NoSuchMethodError: attempting to use jar task on Ant 1.6b2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42983">42983</a>: Variables get run mutliple times for Run ant...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47370">47370</a>: Improve AntPage.getContents(boolean)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47477">47477</a>: Improve Builders property page description<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47821">47821</a>: Do not force the expansion of the Ant classpath entries<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30638">30638</a>: Ant Runtime page is cut off in High Contrast<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Nov 25, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47155">47155</a>: Context menu for plugin.xml file should not have Run Ant...<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Nov 20, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46916">46916</a>: Ant source is shipped in the wrong directory<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47133">47133</a>: Non-Java project Ant build defaults to same VM<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Nov 19, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47043">47043</a>: Update the classpath for a separate JRE leads to a NPE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46815">46815</a>: VM widgets enabled when set to run in same VM<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Nov 18, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36406">36406</a>: Ant target icons conflict with GTK tree expander<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46740">46740</a>: Loss of the separate output directories for org.eclipse.ant.ui<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46734">46734</a>: No error logged if Build logger incompatible instance<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46703">46703</a>: Moving multiple Ant classpath entries does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43798">43798</a>: Incessant dialogs when trying to set the JRE for Ant config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46819">46819</a>: enable/disable builder bug - cannot cancel<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29677">29677</a>: Need A Way To Run Ant Instead of The Default Java Builder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45899">45899</a>: Make build in separate VM the default setting for Ant launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45995">45995</a>: Setting Ant home adds jars in reverse order<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Nov 11, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46049">46049</a>: Rename "external tool builders" property page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45644">45644</a>: NumberFormatException if multiline build errors in remote VM build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44093">44093</a>: Tests for external tool builder migration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45781">45781</a>: tools.jar on classpath<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Oct 28, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44494">44494</a>: Remove direct dependancies on the Xerces plugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44988">44988</a>: Incorrect javac output with -verbose<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45285">45285</a>: Multi-select in AntView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44368">44368</a>: Space between buttons on Ant tasks and types page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45473">45473</a>: AntRunner.setMessageOutputLevel should only set when changed from dflt<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45288">45288</a>: Help: Running Ant buildfiles programmatically incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45881">45881</a>: NPE in AntCorePreference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45844">45844</a>: Ant problems in I20031029 when no tools.jar<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45450">45450</a>: Rework the presentation of the Ant classpath<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Oct 21, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44369">44369</a>: Duplicate mneumonic on the Ant Editor Code Assist page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44271">44271</a>: Update OutlinePreparingHandler for deprecations in IDocument<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41289">41289</a>: TaskLinkManager needs to be cleaned up earlier<br>
-
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Oct 7, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43845">43845</a>: Ant Editor code assist should display error in the status bar<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43541">43541</a>: Run Ant... launch config comes up in dirty state<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44042">44042</a>: Move the Ant test console line tracker to implement IConsoleLineTrackerExtension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35687">35687</a>: AntEditor should demonstrate proper use of MultiLineRule in conjunction with damager/repairer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44090">44090</a>: Error building org.eclipse.core.resources<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38243">38243</a>: Editing an external tool builder modifies the .project file<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Sept 30, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39250">39250</a>: DnD build file into ant view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37287">37287</a>: Ant view not persisted within session<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38677">38677</a>: Ant target table sorting and filtering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43522">43522</a>: Ant preference page does not update for preference change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43255">43255</a>: Junit tasks showing "null"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43384">43384</a>: Info to make running separate JRE easier<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43542">43542</a>: Ant home Browse button on the AntClasspath tab has incorrect layout<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40269">40269</a>: Document requirements for developing Ant tasks in self hosting workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43773">43773</a>: Project Resource doesn't Refresh for External Tool in separate VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42595">42595</a>: NPE while scrolling background ant output in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43626">43626</a>: BuildFailedTracker not adding link<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43628">43628</a>: Review all uses of getFileForLocation(IPath)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40500">40500</a>: Incorrect code assist in AntEditor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43618">43618</a>: Child jvm for ant build not exiting when build fails<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43530">43530</a>: Newly added classpath elements should be selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43081">43081</a>: Ant Errors not linking to source when using linked folders<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Sept 23, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38995">38995</a>: Cannot run target from antview - "An error occurred please see log for more details<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43322">43322</a>: [External Tools] Cannot create new 'program' config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41819">41819</a>: Document the antRunner application entry point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38389">38389</a>: AntClasspathTab top label gets truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43382">43382</a>: AntWorkingDirectoryBlock not disabled fully for same VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41877">41877</a>:	Change from "show" to "do not show"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43287">43287</a>: [Dialog] Ant Build Targets tab font<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43320">43320</a>: Ant "tables" are not "delete" enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43363">43363</a>: Cannot use user's xerces to parse targets<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Sept 16, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42334">42334</a>: Pref Page Ant/Runtime Button labeling inconsistencies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42808">42808</a>: After creation of new Ant object select that object<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33673">33673</a>: Option to filter subtargets from Ant view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42926">42926</a>: ant.home not set at parse time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42491">42491</a>: Can edit contributed Ant objects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42495">42495</a>:	Change in DirectoryDialog behavior dealing with ampersands in message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42741">42741</a>:	Config classpath does not update for change in global Ant home<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42983">42983</a>:	Variables get run multiple times for Run ant...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43043">43043</a>:	-help does not work for Ant build in separate VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39295">39295</a>:	Sort targets alphabetically in Ant outline<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42966">42966</a>:	New option shortcuts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34001">34001</a>:	Warn user when specifies Xerces on Ant runtime classpath<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38815">38815</a>:	update Xerces in the Ant runtime classpath<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42984">42984</a>: No way to set working directory, VM args for Ant processes<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Sept 9, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42327">42327</a>: [Dialog] "Order targets" dialog margin spaces<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42063">42063</a>: Pref Page Ant/Runtime Add.. dialog margin spacing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41998">41998</a>: RemoteAntBuildListener server connection not closed on failure<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42351">42351</a>: Ant UI and help contexts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42420">42420</a>: No progress shown when external program running in foreground<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41068">41068</a>: Ant in separate VM does not color output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41156">41156</a>: Links for tasks missing if use -debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42222">42222</a>: Separate VM console output not showing till end<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41997">41997</a>: Clean up RemoteAntBuildLogger<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37653">37653</a>: ant.home is not set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41671">41671</a>: Ant error popups message box and prints into the console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42136">42136</a>: External tools; Ant BuildConfiguration; JRE tab problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42333">42333</a>: Ant build failed error messages no longer shown in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42484">42484</a>: NPE if ctrl dbl click in Ant properties block<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42737">42737</a>: Subtarget -> internal target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39294">39294</a>: Allow filtering of helper targets in Ant outline<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Sept 2, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41581">41581</a>: The Ant UI packages are incorrectly named<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42137">42137</a>: External tools; Ant Build Configuration; Properties tab; button sizes<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Aug 27, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42029">42029</a>: eclipse.running flag not being set properly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42073">42073</a>: Can't manually build plug-ins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40972">40972</a>: Ant class loader should define findClass, not loadClass<br>
-<h1>
-
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Aug 26, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41779">41779</a>: Run ant has no effect from within the synchronize view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39567">39567</a>: Use a Job for the BackgroundResourceRefresher<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41835">41835</a>: Ant in separate VM setting eclipse.running<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41841">41841</a>: Use InternalAntRunner as Ant entry point for separate VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41521">41521</a>: AntConsoleColorProvider should be marked as readOnly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41816">41816</a>: Ant Editor annotation list should be dynamically sized.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40069">40069</a>: Move Ant editor to use standard annotation types<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Aug 20, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41498">41498</a>: Update doc for Ant properties extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41301">41301</a>: BuilderPropertyPage should have both enable and disable buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41300">41300</a>: No multi-select in the External Tool builder property page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41277">41277</a>: Move to Ant 1.5.4<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41616">41616</a>: Ant view play button should be async<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41717">41717</a>: NPE in AntEditor on latest text framework<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Aug 12, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40922">40922</a>: Ability to disable an external tool builder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41273">41273</a>: Build Options page does not use dialog font for widgets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41157">41157</a>: links missing in seperate VM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41120">41120</a>: Buildfile link not available when using -debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40490">40490</a>: Scoped external tool builder not triggered if change in different project<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41119">41119</a>: Multi-line task output differs from cmd line Ant<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40037">40037</a>: Duplicate properties silently fail<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41419">41419</a>: Can overwrite contributed properties<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41454">41454</a>: NPE out of AntProcessBuildLogger<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build Aug 6, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34415">34415</a>: Missing file link in build failed message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40502">40502</a>: Provide an extension to set ant property values<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40871">40871</a>: No code assist proposals for properties in echo task<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40935">40935</a>: BUILD FAILED message with ant: handling "-Debug"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40951">40951</a>: NullPointerException at autocompletion on sql tag<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41041">41041</a>: Remote Ant should not have extra classpath entries on the classpath<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24129">24129</a>: Ability to (optionally) run ANT in a separate JVM<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41158">41158</a>: NPE from ant classpath provider<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build July 29, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40672">40672</a>: NPE during full build in ExternalToolBuilder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37248">37248</a>: Make org.eclipse.ant.tests.ui part of the build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37902">37902</a>: Code-Assist for <fail> tasks makes incorrect suggestions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40733">40733</a>: Contributed Ant objects should indicate contributor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40778">40778</a>: Questionable Ant warning: "library tools.jar not on runtime classpath"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40165">40165</a>: Notify user when Ant does not have tools.jar on the Ant runtime classpath<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40879">40879</a>: Tests needed for Ant Core<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build July 22, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40254">40254</a>: Ant code assist should not require "<"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40212">40212</a>: incorrect location of 'properties' in context menu of ant view<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build July 16, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40044">40044</a>: Incorrect error message if remove auto activation delay<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38844">38844</a>: Two code assist entries for WsdlToDotnet task<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40138">40138</a>: Incorrect dialog titles for adding / editing tasks / types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40277">40277</a>: Update the package names for the Ant UI tests<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build July 15, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39722">39722</a>: Ant core schemas should mark the library as a resource<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39713">39713</a>: Ant build not triggered on second save<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38614">38614</a>: External tool builder not triggered when checking project out from repository<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39215">39215</a>: Ant is run in Java Applet security mode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39067">39067</a>: Allow to run same build.xml multiple times<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39814">39814</a>: core.resources has invalid external tool builder??<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39978">39978</a>: Edit button should be disabled for multiselect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34597">34597</a>: Search results are not shown in overview ruler or as squigglies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40048">40048</a>: Ant editor has no syntax highlighting<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build July 8, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38525">38525</a>: Deadlock refreshing resources for an external tool when in background<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38900">38900</a>: Ant target names not quoted when "Run Ant in a separate Java virtual machine" is checked<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build June 17, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38820">38820</a>: Ant editor: Content Assist wrong behaviour with upper case<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38728">38728</a>: Remove AntClassloader workarounds for self hosting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38707">38707</a>: Working sets should not be considered for full builds<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build June 10, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38023">38023</a>: NPE attempting to Run as > Ant Build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38645">38645</a>: Exception occured creating launch configuration tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34683">34683</a>: Standardize the parser used throughout ExternalTools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38609">38609</a>: External tool project builders always run in background<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build June 3, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38142">38142</a>: Unknown extension point specified in org.eclipse.ui.externaltools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37522">37522</a>: properties with capitals are lost in content assist<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38029">38029</a>: Build fails resulting from errors in build file provides no link<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37516">37516</a>: AntRunner should return an IPlatformRunnable return code<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38284">38284</a>: [External Tools] Illegal access to DebugUIPlugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37529">37529</a>: Ant UI tests failing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38287">38287</a>: TVT21: Use of variable makes the string difficult to translate<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build May 13, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37060">37060</a>: Ant core preference store persistance<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37173">37173</a>: VariableSelectionDialog needs a key listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37451">37451</a>: XDOCtasks.xml does not need to be included in binary plugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37520">37520</a>: Cannot edit properties from double click<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37502">37502</a>: Property icon missing in Ant editor outline and from content assist proposals<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35834">35834</a>: Action set icons: some color; some not<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32444">32444</a>: No configurability for code completion in Ant Editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20169">20169</a>: Help context ids for External tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25337">25337</a>: External Builder Configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31699">31699</a>: Ant editor completion should provide minimal required keys<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36869">36869</a>: WorkingSetComponent should allow creating/editing of working sets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36971">36971</a>: Classpath not set correctly for parsing target<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build May 06, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36574">36574</a>: Additional classpath entries on Ant dont take effect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36848">36848</a>: Support double-click in variable selection dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37088">37088</a>: Argument expansion consistently fails<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37074">37074</a>: External tool builders should not default to run in the background<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37007">37007</a>: NPE with missing name for property<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37185">37185</a>: Properties not sorted properly after edit<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37059">37059</a>: Better error reporting when arguments cannot be expanded<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37094">37094</a>: Specifying -D with spaces differs from cmd line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36875">36875</a>: Targets tab defaults 50/50 split for names and descriptions<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build April 29, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35511">35511</a>: NPE running external tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36444">36444</a>: Ant view needs a refresh action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36581">36581</a>: External tool closed when Eclipse exits<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29316">29316</a>: Classpath entries and task/type paths separators not platform specific<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36870">36870</a>: Separate the Ant UI from ExternalToolsUI<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37056">37056</a>: NPE creating new Ant config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36937">36937</a>: WorkingSetComponent should set the working set images<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36538">36538</a>: Add a ${variable} that prompts the user with a dialog<br>
-
-<h1>
-Eclipse Platform Build Notes<br>
-Ant</h1>
-Eclipse SDK Build April 22, 2003
-<h3>
-Resolved Bugs</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35507">35507</a>: Preference pages do not set help on control<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35508">35508</a>: Ant editor preference page doesn't set widget fonts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34608">34608</a>: Exception using content assist<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35497">35497</a>: ArrayIndexOutOfBounds on external tools page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35726">35726</a>: Remove unused icons in External Tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34984">34984</a>: RunTargetAction causing parsing of build file out of ProjectNode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36076">36076</a>: Ant View does not refresh for projects outside the workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31691">31691</a>: Allow unrecognized arguments to pass through<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34488">34488</a>: When "-quiet" no report of build success or failure<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36570">36570</a>: Ant view parses files during shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34709">34709</a>: Should be allowed to apply changes to Ant launch config when errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35648">35648</a>: No help context for variable selection dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36660">36660</a>: Double click in external tool builder property page should invoke edit<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36728">36728</a>: NPE after upgrading<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36353">36353</a>: Move to Ant 1.5.3<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27245">27245</a>: If Ant "core" classes cannot be found, no error reported<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34645">34645</a>: Representation of default targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36158">36158</a>: Workbench Help set on wrong Composite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36596">36596</a>: No completion proposals for properties that contain '-'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36412">36412</a>: Refreshing for specific resource should set an initial selection<br>
-</body>
-</html>
diff --git a/ant/org.eclipse.ant.core/schema/antProperties.exsd b/ant/org.eclipse.ant.core/schema/antProperties.exsd
deleted file mode 100644
index bfec797..0000000
--- a/ant/org.eclipse.ant.core/schema/antProperties.exsd
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

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

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.ant.core" id="antProperties" name="Ant Properties"/>

-      </appInfo>

-      <documentation>

-         Allows plug-ins to define Ant properties for use in Ant build files.

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="antProperty" 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="antProperty">

-      <annotation>

-         <appInfo>

-            <meta.element labelAttribute="name"/>

-         </appInfo>

-      </annotation>

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  The name of the property.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  The value of the property. If a value is provided here, the &quot;class&quot; attribute is ignored.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  If there is no &apos;value&apos; attribute provided, this class is called to return the dynamic value for the Ant property.  If &lt;code&gt;null&lt;/code&gt; is returned, the value is not set.

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.ant.core.IAntPropertyProvider"/>

-               </appInfo>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  indicates whether this property is suitable for use in a &quot;headless&quot; Ant environment. If running headless and the attribute is &quot;false&quot;, the property will not be set and any specified &lt;code&gt;org.eclipse.ant.core.IAntPropertyProvider&lt;/code&gt; will not be instantiated. The implied value is &lt;code&gt;true&lt;/code&gt;, when not specified.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  indicates whether this property should only be considered when run in the same VM as Eclipse. The implied value is &lt;code&gt;true&lt;/code&gt;, when not specified.

-               </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 an Ant properties extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ant.core.antProperties&quot;&gt;
-      &lt;antProperty name=&quot;eclipse.home&quot;
-           class=&quot;org.eclipse.ant.internal.core.AntPropertyValueProvider&quot;/&gt;
-      &lt;antProperty name=&quot;eclipse.running&quot;
-           value=&quot;true&quot;/&gt;
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The class named in the &lt;samp&gt;class&lt;/samp&gt; property must implement the &lt;samp&gt;org.eclipse.ant.core.IAntPropertyProvider&lt;/samp&gt; interface.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         The platform uses this mechanism to set the Ant property eclipse.home to the Eclipse installation directory and to set the eclipse.running property.

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         Copyright (c) 2000, 2003 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/ant/org.eclipse.ant.core/schema/antTasks.exsd b/ant/org.eclipse.ant.core/schema/antTasks.exsd
deleted file mode 100644
index 9969c57..0000000
--- a/ant/org.eclipse.ant.core/schema/antTasks.exsd
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ant.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ant.core" id="antTasks" name="Ant Tasks"/>
-      </appInfo>
-      <documentation>
-         Allows plug-ins to define arbitrary Ant tasks for use 
-by the Ant infrastructure.  The standard Ant infrastructure 
-allows for the addition of arbitrary tasks.  
-Unfortunately, it is unlikely that the Ant Core plug-in 
-would have the classes required by these tasks on its 
-classpath (or that of any of its prerequisites).  
-To address this, clients should define an extension 
-which plugs into this extension-point and maps a 
-task name onto a class.  The Ant plug-in can then 
-request that the declaring plug-in load the specified class.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="antTask" 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="antTask">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  name of the task to be defined
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the fully qualified name of a Java class implementing 
-the task.  Generally this class must be a subclass of
-&lt;code&gt;org.apache.tools.ant.Task&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.apache.tools.ant.Task"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="library" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a path relative to the plug-in install location
-for the library containing the task.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="headless" type="boolean">
-            <annotation>
-               <documentation>
-                  indicates whether this task is suitable for use in a &quot;headless&quot; Ant environment. If running headless and the attribute is &quot;false&quot;, 
-                  the task will not be loaded or defined. As well, the plugin class loader will not be added as a parent classloader to the Ant classloader.
-                  The implied value is true, when not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="eclipseRuntime" type="boolean">
-            <annotation>
-               <documentation>
-                  indicates whether this task requires an Eclipse runtime (i.e. must be run in the same VM as Eclipse). The implied value is true, when not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an Ant tasks extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ant.core.antTasks&quot;&gt;
-      &lt;antTask name=&quot;coolTask&quot; class=&quot;com.example.CoolTask&quot; library=&quot;lib/antSupport.jar&quot;/&gt;
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The platform itself supplies a number of tasks including 
-eclipse.incrementalBuild and eclipse.refreshLocal.
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2003 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/ant/org.eclipse.ant.core/schema/antTypes.exsd b/ant/org.eclipse.ant.core/schema/antTypes.exsd
deleted file mode 100644
index 5ead6a2..0000000
--- a/ant/org.eclipse.ant.core/schema/antTypes.exsd
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ant.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ant.core" id="antTypes" name="Ant Types"/>
-      </appInfo>
-      <documentation>
-         Allows plug-ins to define arbitrary Ant datatypes for 
-use by the Ant infrastructure.  The standard Ant 
-infrastructure allows for the addition of arbitrary 
-datatypes.  Unfortunately, it is unlikely that the 
-Ant Core plug-in would have the classes required 
-by these datatypes on its classpath (or that of any 
-of its prerequisites).  To address this, clients 
-should define an extension which plugs into this 
-extension-point and maps a datatype name onto a class.  
-The Ant plug-in can then request that the declaring 
-plug-in load the specified class.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="antType" 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="antType">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="name"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  name of the type to be defined
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  the fully qualified name of a Java class implementing 
-the datatype.  Generally this class must be a subclass of
-&lt;code&gt;org.apache.tools.ant.types.DataType&lt;/code&gt;.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.apache.tools.ant.types.DataType"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="library" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a path relative to the plug-in install location for the library containing the type.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="headless" type="boolean">
-            <annotation>
-               <documentation>
-                  indicates whether this type is suitable for use in a &quot;headless&quot; Ant environment. If running headless and the attribute is &lt;code&gt;false&lt;/code&gt;, the type will not be loaded or defined. As well, the plugin class loader will not be added as a parent classloader to the Ant classloader. The implied value is &lt;code&gt;true&lt;/code&gt;, when not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="eclipseRuntime" type="boolean">
-            <annotation>
-               <documentation>
-                  indicates whether this type requires an Eclipse runtime (i.e. must be run in the same VM as Eclipse). The implied value is &lt;code&gt;true&lt;/code&gt;, when not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an Ant types extension point: 
-&lt;p&gt;
-&lt;pre&gt;
-   &lt;extension point=&quot;org.eclipse.ant.core.antTypes&quot;&gt;
-      &lt;antType name=&quot;coolType&quot; class=&quot;com.example.CoolType&quot; library=&quot;lib/antSupport.jar&quot;/&gt;
-   &lt;/extension&gt; 
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2003 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/ant/org.eclipse.ant.core/schema/extraClasspathEntries.exsd b/ant/org.eclipse.ant.core/schema/extraClasspathEntries.exsd
deleted file mode 100644
index 3dc5644..0000000
--- a/ant/org.eclipse.ant.core/schema/extraClasspathEntries.exsd
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ant.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.ant.core" id="extraClasspathEntries" name="Extra Ant Classpath Entries"/>
-      </appInfo>
-      <documentation>
-         Allows plug-ins to define arbitrary JARs for use by the Ant infrastructure.
-These JARs are put into the Ant classpath at runtime.  Besides
-the JAR, the plug-in classloader of the plug-in providing the
-JAR is also added to the classpath.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="extraClasspathEntry" 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="extraClasspathEntry">
-      <complexType>
-         <attribute name="library" type="string" use="required">
-            <annotation>
-               <documentation>
-                  a path relative to the plug-in install location for the library.
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="resource"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="headless" type="boolean">
-            <annotation>
-               <documentation>
-                  indicates whether this extra classpath entry is suitable for use in a &quot;headless&quot; Ant environment. If running headless and the attribute is &lt;code&gt;false&lt;/code&gt;, this entry will not be added to the Ant classpath. As well, the plugin class loader will not be added as a parent classloader to the Ant classloader. The implied value is &lt;code&gt;true&lt;/code&gt;, when not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="eclipseRuntime" type="boolean">
-            <annotation>
-               <documentation>
-                  indicates whether this extra classpath entry should only be considered for builds run in the same VM as Eclipse. The implied value is true, when not specified.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         The following is an example of an extra classpath entries extension point:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.ant.core.extraClasspathEntries&quot;&gt;
-  &lt;extraClasspathEntry library=&quot;myExtraLibrary.jar&quot;/&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         The platform itself supplies an Ant support jar (antsupportlib.jar).
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2000, 2003 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/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePlugin.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePlugin.java
deleted file mode 100644
index 08af255..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePlugin.java
+++ /dev/null
@@ -1,283 +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.ant.core;
-
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.ant.internal.core.AntClassLoader;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPluginDescriptor;
-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 Ant Core plug-in.
- */
-public class AntCorePlugin extends Plugin {
-
-	/**
-	 * Status code indicating an unexpected internal error.
-	 * @since 2.1
-	 */
-	public static final int INTERNAL_ERROR = 120;		
-	
-	/**
-	 * The single instance of this plug-in runtime class.
-	 */
-	private static AntCorePlugin plugin;
-
-	/**
-	 * The preferences class for this plugin.
-	 */
-	private AntCorePreferences preferences;
-
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.ant.core"</code>)
-	 * for the Ant Core plug-in.
-	 */
-	public static final String PI_ANTCORE = "org.eclipse.ant.core"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"antTasks"</code>)
-	 * for the Ant tasks extension point.
-	 */
-	public static final String PT_TASKS = "antTasks"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"extraClasspathEntries"</code>)
-	 * for the extra classpath entries extension point.
-	 */
-	public static final String PT_EXTRA_CLASSPATH = "extraClasspathEntries"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"antTypes"</code>)
-	 * for the Ant types extension point.
-	 */
-	public static final String PT_TYPES = "antTypes"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"antProperties"</code>)
-	 * for the Ant properties extension point.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String PT_PROPERTIES = "antProperties"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"org.eclipse.ant.core.antBuildFile"</code>)
-	 * for the content type of an Ant BuildFile
-	 * 
-	 * @since 3.0
-	 */
-	public static final String ANT_BUILDFILE_CONTENT_TYPE = PI_ANTCORE + ".antBuildFile"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"class"</code>)
-	 * of a tag that appears in Ant extensions.
-	 */
-	public static final String CLASS = "class"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"name"</code>)
-	 * of a tag that appears in Ant extensions.
-	 */
-	public static final String NAME = "name"; //$NON-NLS-1$
-
-	/**
-	 * Simple identifier constant (value <code>"library"</code>)
-	 * of a tag that appears in Ant extensions.
-	 */
-	public static final String LIBRARY = "library"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"headless"</code>) of a tag
-	 * that appears in Ant extensions.
-	 * @since 2.1
-	 */
-	public static final String HEADLESS = "headless"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"eclipseRuntime"</code>) of a tag
-	 * that appears in Ant extensions.
-	 * @since 3.0
-	 */
-	public static final String ECLIPSE_RUNTIME = "eclipseRuntime"; //$NON-NLS-1$
-	
-	/**
-	 * Simple identifier constant (value <code>"value"</code>) of a tag
-	 * that appears in Ant extensions.
-	 * @since 3.0
-	 */
-	public static final String VALUE = "value"; //$NON-NLS-1$
-
-	/**
-	 * Key to access the <code>IProgressMonitor</code> reference. When a
-	 * progress monitor is passed to the <code>AntRunner.run(IProgressMonitor)</code>
-	 * method, the object is available as a reference for the current
-	 * Ant project.
-	 */
-	public static final String ECLIPSE_PROGRESS_MONITOR = "eclipse.progress.monitor"; //$NON-NLS-1$
-	
-	/**
-	 * Status code indicating an error occurred running a build.
-	 * @since 2.1
-	 */
-	public static final int ERROR_RUNNING_BUILD = 1;
-	
-	/**
-	 * Status code indicating an error occurred due to a malformed URL.
-	 * @since 2.1
-	 */
-	public static final int ERROR_MALFORMED_URL = 2;
-	
-	/**
-	 * Status code indicating an error occurred as a library was not specified
-	 * @since 2.1
-	 */
-	public static final int ERROR_LIBRARY_NOT_SPECIFIED = 3;
-
-	/** 
-	 * 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 Ant Core plug-in are required.
-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
-	 * </p>
-	 * 
-	 * @param descriptor the plug-in descriptor for the
-	 *   Ant Core plug-in
-	 */
-	public AntCorePlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#shutdown()
-	 */
-	public void shutdown() {
-		if (preferences == null) {
-			return;
-		}
-		savePluginPreferences();
-	}
-
-	/**
-	 * Given an extension point name, extract its extensions and return them
-	 * as a List.
-	 * @param pointName The name of the extension point
-	 * @return The list of the extensions
-	 */
-	private List extractExtensions(String pointName) {
-		IExtensionPoint extensionPoint = getDescriptor().getExtensionPoint(pointName);
-		if (extensionPoint == null) {
-			return null;
-		}
-		IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();
-		return Arrays.asList(extensions);
-	}
-
-	/**
-	 * Returns an object representing this plug-in's preferences.
-	 * 
-	 * @return the Ant core object representing the preferences for this plug-in.
-	 */
-	public AntCorePreferences getPreferences() {
-		if (preferences == null) {
-			preferences = new AntCorePreferences(extractExtensions(PT_TASKS), extractExtensions(PT_EXTRA_CLASSPATH), extractExtensions(PT_TYPES), extractExtensions(PT_PROPERTIES), false);
-		}
-		return preferences;
-	}
-	
-	/**
-	 * Set this plug-in's preferences for running headless based on the 
-	 * headless parameter.
-	 * This method is public for testing purposes only. It should not
-	 * be called outside of the Ant integration framework.
-	 * @param headless Whether or not to mark that the plug-in is running headless or not
-	 */
-	public void setRunningHeadless(boolean headless) {
-		preferences = new AntCorePreferences(extractExtensions(PT_TASKS), extractExtensions(PT_EXTRA_CLASSPATH), extractExtensions(PT_TYPES), extractExtensions(PT_PROPERTIES), headless);
-	}
-
-	/**
-	 * Returns this plug-in instance.
-	 *
-	 * @return the single instance of this plug-in runtime class
-	 */
-	public static AntCorePlugin getPlugin() {
-		return plugin;
-	}
-	
-	/**
-	 * Returns a new class loader to use when executing Ant builds.
-	 * 
-	 * @return the new class loader
-	 */
-	public ClassLoader getNewClassLoader() {
-	    AntCorePreferences corePreferences = getPreferences();
-		return getNewClassLoader(false, corePreferences.getURLs());
-	}
-	
-	/**
-	 * Returns a new class loader to use when executing Ant builds.
-	 * 
-	 * @return the new class loader
-	 */
-	public URLClassLoader getNewClassLoader(URL[] urls) {
-		return getNewClassLoader(false, urls);
-	}
-	
-	/**
-	 * Returns a new class loader to use when executing Ant builds or 
-	 * other applications such as parsing or code proposal determination 
-	 * @param allowLoading whether to allow plugin classloaders associated 
-	 * with the new classloader to load Apache Ant classes.
-	 * @return the new class loader
-	 */
-	public ClassLoader getNewClassLoader(boolean allowLoading) {
-		AntCorePreferences corePreferences = getPreferences();
-		URL[] urls = corePreferences.getURLs();
-		return getNewClassLoader(allowLoading, urls);
-	}
-		
-	/**
-	 * Returns a new class loader to use when executing Ant builds or 
-	 * other applications such as parsing or code proposal determination 
-	 * @param allowLoading whether to allow plugin classloaders associated 
-	 * with the new classloader to load Apache Ant classes.
-	 * @param urls the urls that define the classpath of the new classloader
-	 * @return the new class loader
-	 */
-	public URLClassLoader getNewClassLoader(boolean allowLoading, URL[] urls) {
-		AntCorePreferences corePreferences = getPreferences();
-		ClassLoader[] pluginLoaders = corePreferences.getPluginClassLoaders();
-		AntClassLoader loader= new AntClassLoader(urls, pluginLoaders);
-		loader.allowPluginClassLoadersToLoadAntClasses(allowLoading);
-		return loader;
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 * @since 2.1
-	 */
-	public static void log(Throwable t) {
-		IStatus status= new Status(IStatus.ERROR, PI_ANTCORE, INTERNAL_ERROR, "Error logged from Ant Core: ", t); //$NON-NLS-1$
-		getPlugin().getLog().log(status);
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePreferences.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePreferences.java
deleted file mode 100644
index 5b62235..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntCorePreferences.java
+++ /dev/null
@@ -1,1500 +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
- *     Thierry Lach (thierry.lach@bbdodetroit.com) - bug 40502
- *******************************************************************************/
-package org.eclipse.ant.core;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.StringTokenizer;
-import org.eclipse.ant.internal.core.AntClasspathEntry;
-import org.eclipse.ant.internal.core.AntObject;
-import org.eclipse.ant.internal.core.IAntCoreConstants;
-import org.eclipse.ant.internal.core.InternalCoreAntMessages;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginClassLoader;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.ILibrary;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginPrerequisite;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-
-
-/**
- * Represents the Ant Core plug-in's preferences providing utilities for
- * extracting, changing and updating the underlying preferences.
- * @since 2.1
- */
-public class AntCorePreferences implements org.eclipse.core.runtime.Preferences.IPropertyChangeListener {
-
-	private List defaultTasks;
-	private List defaultTypes;
-	private List extraClasspathURLs;
-	private List defaultProperties;
-	private IAntClasspathEntry[] defaultAntHomeEntries;
-	
-	private Task[] customTasks;
-	private Task[] oldCustomTasks;
-	private Type[] customTypes;
-	private Type[] oldCustomTypes;
-	private IAntClasspathEntry[] antHomeEntries;
-	private IAntClasspathEntry[] additionalEntries;
-	private Property[] customProperties;
-	private Property[] oldCustomProperties;
-	private String[] customPropertyFiles;
-	
-	private List pluginClassLoaders;
-	
-	private ClassLoader[] orderedPluginClassLoaders;
-	
-	private String antHome;
-	
-	private boolean runningHeadless= false;
-	
-	protected AntCorePreferences(List defaultTasks, List defaultExtraClasspath, List defaultTypes, boolean headless) {
-		this(defaultTasks, defaultExtraClasspath, defaultTypes, Collections.EMPTY_LIST, headless);
-	}
-	
-	protected AntCorePreferences(List defaultTasks, List defaultExtraClasspath, List defaultTypes, List defaultProperties, boolean headless) {
-		runningHeadless= headless;
-		initializePluginClassLoaders();
-		extraClasspathURLs = new ArrayList(20);
-		this.defaultTasks = computeDefaultTasks(defaultTasks);
-		this.defaultTypes = computeDefaultTypes(defaultTypes);
-		computeDefaultExtraClasspathEntries(defaultExtraClasspath);
-		computeDefaultProperties(defaultProperties);
-		restoreCustomObjects();
-		
-	}
-	
-	/**
-	 * When a preference changes, update the in-memory cache of the preference.
-	 * @param event The property change event that has occurred.
-	 * @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
-	 */
-	public void propertyChange(Preferences.PropertyChangeEvent event) {
-		Preferences prefs = AntCorePlugin.getPlugin().getPluginPreferences();
-		String property= event.getProperty();
-		if (property.equals(IAntCoreConstants.PREFERENCE_TASKS) || property.startsWith(IAntCoreConstants.PREFIX_TASK)) {
-			restoreTasks(prefs);
-		} else if (property.equals(IAntCoreConstants.PREFERENCE_TYPES) || property.startsWith(IAntCoreConstants.PREFIX_TYPE)) {
-			restoreTypes(prefs);
-		} else if (property.equals(IAntCoreConstants.PREFERENCE_ANT_HOME_ENTRIES)) {
-			restoreAntHomeEntries(prefs);
-		} else if (property.equals(IAntCoreConstants.PREFERENCE_ADDITIONAL_ENTRIES)) {
-			restoreAdditionalEntries(prefs);
-		} else if (property.equals(IAntCoreConstants.PREFERENCE_ANT_HOME)) {
-			restoreAntHome(prefs);
-		} else if (property.equals(IAntCoreConstants.PREFERENCE_PROPERTIES) || property.startsWith(IAntCoreConstants.PREFIX_PROPERTY)) {
-			restoreCustomProperties(prefs);
-		} else if (property.equals(IAntCoreConstants.PREFERENCE_PROPERTY_FILES)) {
-			restoreCustomPropertyFiles(prefs);
-		}
-	}
-
-	/**
-	 * Restores the in-memory model of the preferences from the preference store
-	 */
-	private void restoreCustomObjects() {
-		Preferences prefs = AntCorePlugin.getPlugin().getPluginPreferences();
-		restoreAntHome(prefs);
-		restoreTasks(prefs);
-		restoreTypes(prefs);
-		restoreAntHomeEntries(prefs);
-		restoreAdditionalEntries(prefs);
-		restoreCustomProperties(prefs);
-		restoreCustomPropertyFiles(prefs);
-		prefs.addPropertyChangeListener(this);
-	}
-	
-	private void restoreTasks(Preferences prefs) {
-		 String tasks = prefs.getString(IAntCoreConstants.PREFERENCE_TASKS);
-		 if (tasks.equals("")) { //$NON-NLS-1$
-			 customTasks = new Task[0];
-		 } else {
-			 customTasks = extractTasks(prefs, getArrayFromString(tasks));
-		 }
-	}
-	
-	private void restoreTypes(Preferences prefs) {
-		String types = prefs.getString(IAntCoreConstants.PREFERENCE_TYPES);
-		if (types.equals("")) {//$NON-NLS-1$
-			customTypes = new Type[0];
-		} else {
-			customTypes = extractTypes(prefs, getArrayFromString(types));
-		}
-	}
-	
-	private void restoreAntHomeEntries(Preferences prefs) {
-		String entries = prefs.getString("ant_urls"); //old constant //$NON-NLS-1$
-		if (entries.equals("")) {//$NON-NLS-1$
-			entries= prefs.getString(IAntCoreConstants.PREFERENCE_ANT_HOME_ENTRIES);
-		} else {
-			prefs.setToDefault("ant_urls"); //$NON-NLS-1$
-			antHomeEntries= migrateURLEntries(getArrayFromString(entries));
-			return;
-		}
-		if (entries.equals("")) {//$NON-NLS-1$
-			antHomeEntries= getDefaultAntHomeEntries();
-		} else {
-			antHomeEntries= extractEntries(getArrayFromString(entries));
-		}
-	}
-	
-	private void restoreAdditionalEntries(Preferences prefs) {
-		String entries = prefs.getString("urls"); //old constant //$NON-NLS-1$
-		if (entries.equals("")) {//$NON-NLS-1$
-			entries = prefs.getString(IAntCoreConstants.PREFERENCE_ADDITIONAL_ENTRIES);
-		} else {
-			prefs.setToDefault("urls"); //$NON-NLS-1$
-			additionalEntries= migrateURLEntries(getArrayFromString(entries));
-			return;
-		}
-		if (entries.equals("")) {//$NON-NLS-1$
-			IAntClasspathEntry toolsJarEntry= getToolsJarEntry();
-			if (toolsJarEntry == null) {
-				additionalEntries= new IAntClasspathEntry[0];
-			} else {
-				additionalEntries= new IAntClasspathEntry[] { toolsJarEntry };
-			}
-		} else {
-			additionalEntries= extractEntries(getArrayFromString(entries));
-		}
-	}
-	
-	/*
-	 * Migrates the persisted url entries restored from a workspace older than 3.0
-	 */
-	private IAntClasspathEntry[] migrateURLEntries(String[] urlEntries) {
-		List result = new ArrayList(urlEntries.length);
-		for (int i = 0; i < urlEntries.length; i++) {
-			URL url;
-			try {
-				url = new URL (urlEntries[i]);
-			} catch (MalformedURLException e) {
-				continue;
-			}
-			result.add(new AntClasspathEntry(url));
-		}
-		return (IAntClasspathEntry[])result.toArray(new IAntClasspathEntry[result.size()]);
-	}
-
-	private void restoreAntHome(Preferences prefs) {
-		antHome= prefs.getString(IAntCoreConstants.PREFERENCE_ANT_HOME);
-		if (antHome == null || antHome.length() == 0) {
-			antHome= getDefaultAntHome();
-		}
-	}
-	
-	/**
-	 * Returns the absolute path of the default ant.home to use for the build.
-	 * The default is the org.apache.ant plugin folder provided with Eclipse.
-	 * 
-	 * @return String absolute path of the default ant.home
-	 * @since 3.0
-	 */
-	public String getDefaultAntHome() {
-		IAntClasspathEntry[] entries= getDefaultAntHomeEntries();
-		if (entries.length > 0) {
-			URL antjar= entries[0].getEntryURL();
-			IPath antHomePath= new Path(antjar.getFile());
-			//parent directory of the lib directory
-			antHomePath= antHomePath.removeLastSegments(2);
-			return antHomePath.toFile().getAbsolutePath();
-		} 
-		return null;
-	}
-	
-	private void restoreCustomProperties(Preferences prefs) {
-		String properties = prefs.getString(IAntCoreConstants.PREFERENCE_PROPERTIES);
-		if (properties.equals("")) {//$NON-NLS-1$
-			customProperties = new Property[0];
-		} else {
-			customProperties = extractProperties(prefs, getArrayFromString(properties));
-		}
-	}
-	
-	private void restoreCustomPropertyFiles(Preferences prefs) {
-		String propertyFiles= prefs.getString(IAntCoreConstants.PREFERENCE_PROPERTY_FILES);
-		if (propertyFiles.equals("")) { //$NON-NLS-1$
-			customPropertyFiles= new String[0];
-		} else {
-			customPropertyFiles= getArrayFromString(propertyFiles);
-		}
-	}
-
-	protected Task[] extractTasks(Preferences prefs, String[] tasks) {
-		List result = new ArrayList(tasks.length);
-		for (int i = 0; i < tasks.length; i++) {
-			String taskName = tasks[i];
-			String[] values = getArrayFromString(prefs.getString(IAntCoreConstants.PREFIX_TASK + taskName));
-			if (values.length < 2) {
-				continue;
-			}
-			Task task = new Task();
-			task.setTaskName(taskName);
-			task.setClassName(values[0]);
-			String library= values[1];
-			if (library.startsWith("file:")) { //$NON-NLS-1$
-				//old format where URLs were persisted
-				library= library.substring(5);
-			}
-			task.setLibraryEntry(new AntClasspathEntry(library));
-			result.add(task);
-		}
-		return (Task[]) result.toArray(new Task[result.size()]);
-	}
-
-	protected Type[] extractTypes(Preferences prefs, String[] types) {
-		List result = new ArrayList(types.length);
-		for (int i = 0; i < types.length; i++) {
-			String typeName = types[i];
-			String[] values = getArrayFromString(prefs.getString(IAntCoreConstants.PREFIX_TYPE + typeName));
-			if (values.length < 2) {
-				continue;
-			}
-			Type type = new Type();
-			type.setTypeName(typeName);
-			type.setClassName(values[0]);
-			String library= values[1];
-			if (library.startsWith("file:")) { //$NON-NLS-1$
-				//old format where URLs were persisted
-				library= library.substring(5);
-			}
-			type.setLibraryEntry(new AntClasspathEntry(library));
-			result.add(type);
-		}
-		return (Type[]) result.toArray(new Type[result.size()]);
-	}
-	
-	protected Property[] extractProperties(Preferences prefs, String[] properties) {
-		Property[] result = new Property[properties.length];
-		for (int i = 0; i < properties.length; i++) {
-			String propertyName = properties[i];
-			String[] values = getArrayFromString(prefs.getString(IAntCoreConstants.PREFIX_PROPERTY + propertyName));
-			if (values.length < 1) {
-				continue;
-			}
-			Property property = new Property();
-			property.setName(propertyName);
-			property.setValue(values[0]);
-			result[i]= property;
-		}
-		return result;
-	}
-
-	private IAntClasspathEntry[] extractEntries(String[] entries) {
-		IAntClasspathEntry[] result = new IAntClasspathEntry[entries.length];
-		for (int i = 0; i < entries.length; i++) {
-			result[i]= new AntClasspathEntry(entries[i]);
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the array of URLs that is the default set of URLs defining
-	 * the Ant classpath.
-	 * 
-	 * Ant running through the command line tries to find tools.jar to help the
-	 * user. Try emulating the same behaviour here.
-	 *
-	 * @return the default set of URLs defining the Ant classpath
-	 * @deprecated
-	 */
-	public URL[] getDefaultAntURLs() {
-		IAntClasspathEntry[] entries= getDefaultAntHomeEntries();
-		List result= new ArrayList(3);
-		for (int i = 0; i < entries.length; i++) {
-			IAntClasspathEntry entry = entries[i];
-			result.add(entry.getEntryURL());
-		}
-		URL toolsURL= getToolsJarURL();
-		if (toolsURL != null) {
-			result.add(toolsURL);
-		}
-		return (URL[]) result.toArray(new URL[result.size()]);
-	}
-	
-	/**
-	 * Returns the array of classpath entries that is the default set of entries defining
-	 * the Ant classpath.
-	 *
-	 * @return the default set of classpath entries defining the Ant classpath
-	 */
-	public IAntClasspathEntry[] getDefaultAntHomeEntries() {
-		if (defaultAntHomeEntries== null) {
-			List result = new ArrayList(29);
-			Plugin antPlugin= Platform.getPlugin("org.apache.ant"); //$NON-NLS-1$
-			if (antPlugin != null) {
-				IPluginDescriptor descriptor = antPlugin.getDescriptor(); 
-				addLibraries(descriptor, result);
-			}
-			
-			defaultAntHomeEntries= (IAntClasspathEntry[]) result.toArray(new IAntClasspathEntry[result.size()]);
-		}
-		return defaultAntHomeEntries;
-	}
-	
-	/**
-	 * Returns the array of URLs that is the set of URLs defining the Ant
-	 * classpath.
-	 * 
-	 * @return the set of URLs defining the Ant classpath
-	 * @deprecated use getAntHomeClasspathEntries and getToolsJarEntry
-	 */
-	public URL[] getAntURLs() {
-		int extra= 0;
-		IAntClasspathEntry entry= getToolsJarEntry();
-		if (entry != null) {
-			extra++;
-		}
-		URL[] urls= new URL[antHomeEntries.length + extra];
-		int i;
-		for (i = 0; i < antHomeEntries.length; i++) {
-			URL url = antHomeEntries[i].getEntryURL();
-			if (url != null) {
-				urls[i]= url;
-			}
-		}
-		if (extra > 0) {
-			urls[i]= entry.getEntryURL();
-		}
-		return urls;
-		
-	}
-
-	protected List computeDefaultTasks(List tasks) {
-		List result = new ArrayList(tasks.size());
-		for (Iterator iterator = tasks.iterator(); iterator.hasNext();) {
-			IConfigurationElement element = (IConfigurationElement) iterator.next();
-			if (!relevantRunningHeadless(element)) {
-				continue;
-			}
-			Task task = new Task();
-			task.setTaskName(element.getAttribute(AntCorePlugin.NAME));
-			task.setClassName(element.getAttribute(AntCorePlugin.CLASS));
-			
-			configureAntObject(result, element, task, task.getTaskName(), InternalCoreAntMessages.getString("AntCorePreferences.No_library_for_task")); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	private void addURLToExtraClasspathEntries(URL url, IConfigurationElement element) {
-		String eclipseRuntime= element.getAttribute(AntCorePlugin.ECLIPSE_RUNTIME);
-		boolean eclipseRuntimeRequired= true;
-		if (eclipseRuntime != null) {
-			eclipseRuntimeRequired= Boolean.valueOf(eclipseRuntime).booleanValue();
-		}
-		Iterator itr= extraClasspathURLs.iterator();
-		while (itr.hasNext()) {
-			IAntClasspathEntry entry = (IAntClasspathEntry) itr.next();
-			if (entry.getEntryURL().equals(url)) {
-				return;
-			}
-		}
-		
-		AntClasspathEntry entry= new AntClasspathEntry(url);
-		entry.setEclipseRuntimeRequired(eclipseRuntimeRequired);
-		extraClasspathURLs.add(entry);
-	}
-
-	protected List computeDefaultTypes(List types) {
-		List result = new ArrayList(types.size());
-		for (Iterator iterator = types.iterator(); iterator.hasNext();) {
-			IConfigurationElement element = (IConfigurationElement) iterator.next();
-			if (!relevantRunningHeadless(element)) {
-				continue;
-			}
-			Type type = new Type();
-			type.setTypeName(element.getAttribute(AntCorePlugin.NAME));
-			type.setClassName(element.getAttribute(AntCorePlugin.CLASS));
-			
-			configureAntObject(result, element, type, type.getTypeName(), InternalCoreAntMessages.getString("AntCorePreferences.No_library_for_type")); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	private void configureAntObject(List result, IConfigurationElement element, AntObject antObject, String objectName, String errorMessage) {
-		String runtime = element.getAttribute(AntCorePlugin.ECLIPSE_RUNTIME);
-		if (runtime != null) {
-			antObject.setEclipseRuntimeRequired(Boolean.valueOf(runtime).booleanValue());
-		}
-		
-		String library = element.getAttribute(AntCorePlugin.LIBRARY);
-		if (library == null) {
-			IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_LIBRARY_NOT_SPECIFIED, MessageFormat.format(InternalCoreAntMessages.getString("AntCorePreferences.Library_not_specified_for__{0}_4"), new String[]{objectName}), null); //$NON-NLS-1$
-			AntCorePlugin.getPlugin().getLog().log(status);
-			return;
-		}
-		
-		IPluginDescriptor descriptor = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-		try {
-			antObject.setPluginLabel(element.getNamespace());
-			URL url = Platform.asLocalURL(new URL(descriptor.getInstallURL(), library));
-			if (new File(url.getPath()).exists()) {
-				addURLToExtraClasspathEntries(url, element);
-				result.add(antObject);
-				addPluginClassLoader(descriptor.getPluginClassLoader());
-				antObject.setLibraryEntry(new AntClasspathEntry(url));
-				return;
-			} 
-
-			//type specifies a library that does not exist
-			IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_LIBRARY_NOT_SPECIFIED, MessageFormat.format(errorMessage, new String[]{url.toExternalForm(), descriptor.getLabel()}), null); //$NON-NLS-1$
-			AntCorePlugin.getPlugin().getLog().log(status);
-			return;
-		} catch (MalformedURLException e) {
-			// if the URL does not have a valid format, just log and ignore the exception
-			IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_MALFORMED_URL, InternalCoreAntMessages.getString("AntCorePreferences.Malformed_URL._1"), e); //$NON-NLS-1$
-			AntCorePlugin.getPlugin().getLog().log(status);
-			return;
-		} catch (Exception e) {
-			//likely extra classpath entry library that does not exist
-			IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_LIBRARY_NOT_SPECIFIED, MessageFormat.format(InternalCoreAntMessages.getString("AntCorePreferences.8"), new String[]{descriptor.getLabel()}), null); //$NON-NLS-1$
-			AntCorePlugin.getPlugin().getLog().log(status);
-			return;
-		}
-	}
-
-	/*
-	 * Computes the extra classpath entries defined plugins and fragments.
-	 */
-	protected void computeDefaultExtraClasspathEntries(List entries) {
-		for (Iterator iterator = entries.iterator(); iterator.hasNext();) {
-			IConfigurationElement element = (IConfigurationElement) iterator.next();
-			if (!relevantRunningHeadless(element)) {
-				continue;
-			}
-			String library = element.getAttribute(AntCorePlugin.LIBRARY);
-			IPluginDescriptor descriptor = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-			try {
-				URL url = Platform.asLocalURL(new URL(descriptor.getInstallURL(), library));
-				
-				if (new File(url.getPath()).exists()) {
-					addURLToExtraClasspathEntries(url, element);  
-					addPluginClassLoader(descriptor.getPluginClassLoader());
-				} else {
-					//extra classpath entry that does not exist
-					IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_LIBRARY_NOT_SPECIFIED, MessageFormat.format(InternalCoreAntMessages.getString("AntCorePreferences.No_library_for_extraClasspathEntry"), new String[]{url.toExternalForm(), descriptor.getLabel()}), null); //$NON-NLS-1$
-					AntCorePlugin.getPlugin().getLog().log(status);
-					continue;
-				}
-			} catch (MalformedURLException e) {
-				//if the URL does not have a valid format, just log and ignore the exception
-				IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_MALFORMED_URL, InternalCoreAntMessages.getString("AntCorePreferences.Malformed_URL._1"), e); //$NON-NLS-1$
-				AntCorePlugin.getPlugin().getLog().log(status);
-				continue;
-			} catch (Exception e) {
-				//likely extra classpath entry that does not exist
-				IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_LIBRARY_NOT_SPECIFIED, MessageFormat.format(InternalCoreAntMessages.getString("AntCorePreferences.6"), new String[]{descriptor.getLabel()}), null); //$NON-NLS-1$
-				AntCorePlugin.getPlugin().getLog().log(status);
-				continue;
-			}
-		}
-	}
-	
-	private boolean relevantRunningHeadless(IConfigurationElement element) {
-		if (runningHeadless) {
-			String headless = element.getAttribute(AntCorePlugin.HEADLESS);
-			if (headless != null) {
-				boolean headlessProperty= Boolean.valueOf(headless).booleanValue();
-				if (!headlessProperty) {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-	
-	/*
-	 * Scan the Ant property extensions for properties to set.
-	 * 
-	 * @since 3.0
-	 */
-	private void computeDefaultProperties(List properties) {
-		defaultProperties = new ArrayList(properties.size());
-		for (Iterator iterator = properties.iterator(); iterator.hasNext();) {
-			IConfigurationElement element = (IConfigurationElement) iterator.next();
-			if (!relevantRunningHeadless(element)) {
-				continue;
-			}
-			String name = element.getAttribute(AntCorePlugin.NAME);
-			if (name == null) {
-				continue;
-			}
-			String value = element.getAttribute(AntCorePlugin.VALUE);
-			Property property;
-			if (value != null) {
-				property = new Property(name, value);
-				property.setPluginLabel(element.getNamespace());
-			} else {
-				property = new Property();
-				property.setName(name);
-				IPluginDescriptor descriptor= element.getDeclaringExtension().getDeclaringPluginDescriptor();
-				property.setPluginLabel(element.getNamespace());
-				String className = element.getAttribute(AntCorePlugin.CLASS);
-				property.setValueProvider(className, descriptor.getPluginClassLoader());
-			}
-			defaultProperties.add(property);
-			String runtime = element.getAttribute(AntCorePlugin.ECLIPSE_RUNTIME);
-			if (runtime != null) {
-				property.setEclipseRuntimeRequired(Boolean.valueOf(runtime).booleanValue());
-			}
-		}
-	}
-
-	/**
-	 * Returns the IAntClasspathEntry for the tools.jar associated with the path supplied.
-	 * May return <code>null</code> if no tools.jar is found (e.g. the path
-	 * points to a JRE install).
-	 * 
-	 * @param javaHomePath path for Java home
-	 * @return IAntClasspathEntry tools.jar IAntClasspathEntry or <code>null</code>
-	 * @since 3.0
-	 */
-	public IAntClasspathEntry getToolsJarEntry(IPath javaHomePath) {
-		if ("jre".equalsIgnoreCase(javaHomePath.lastSegment())) { //$NON-NLS-1$
-			javaHomePath = javaHomePath.removeLastSegments(1);
-		}
-		javaHomePath= javaHomePath.append("lib").append("tools.jar"); //$NON-NLS-1$ //$NON-NLS-2$
-		File tools= javaHomePath.toFile();
-		if (!tools.exists()) {
-			//attempt to find in the older 1.1.* 
-			javaHomePath= javaHomePath.removeLastSegments(1);
-			javaHomePath= javaHomePath.append("classes.zip"); //$NON-NLS-1$
-			tools= javaHomePath.toFile();
-			if (!tools.exists()) {
-				return null;
-			}
-		}
-        
-		return new AntClasspathEntry(tools.getAbsolutePath());    
-	}
-
-	/**
-	 * Returns the URL for the tools.jar associated with the System property "java.home"
-	 * location. If "java.home" has no associated tools.jar (such as a JRE install), the environment variable "JAVA_HOME" is
-	 * resolved to check for a tools.jar.
-     * May return <code>null</code> if no tools.jar is found.
-	 * 
-	 * @return URL tools.jar URL or <code>null</code>
-	 * @deprecated use getToolsJarEntry()
-	 */
-	public URL getToolsJarURL() {
-		IPath path = new Path(System.getProperty("java.home")); //$NON-NLS-1$
-		IAntClasspathEntry entry= getToolsJarEntry(path);
-		if (entry == null) {
-			IDynamicVariable variable = VariablesPlugin.getDefault().getStringVariableManager().getDynamicVariable("env_var"); //$NON-NLS-1$
-			String javaHome= null;
-			try {
-				if (variable != null) {
-					javaHome = variable.getValue("JAVA_HOME"); //$NON-NLS-1$
-				}
-				if (javaHome != null) {
-					path= new Path(javaHome);
-					entry= getToolsJarEntry(path);
-				}
-			} catch (CoreException e) {
-			}
-		}
-		if (entry != null) {
-			return entry.getEntryURL();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the <code>IAntClasspathEntry</code> for the tools.jar associated with the System property "java.home"
-	 * location.
-	 * If "java.home" has no associated tools.jar (such as a JRE install), the environment variable "JAVA_HOME" is
-	 * resolved to check for a tools.jar. 
-	 * May return <code>null</code> if no tools.jar is found.
-	 * 
-	 * @return IAntClasspathEntry tools.jar IAntClasspathEntry or <code>null</code>
-	 */
-	public IAntClasspathEntry getToolsJarEntry() {
-		IPath path = new Path(System.getProperty("java.home")); //$NON-NLS-1$
-		IAntClasspathEntry entry= getToolsJarEntry(path);
-		if (entry == null) {
-			IDynamicVariable variable = VariablesPlugin.getDefault().getStringVariableManager().getDynamicVariable("env_var"); //$NON-NLS-1$
-			String javaHome= null;
-			try {
-				if (variable != null) {
-					javaHome = variable.getValue("JAVA_HOME"); //$NON-NLS-1$
-				}
-				if (javaHome != null) {
-					path= new Path(javaHome);
-					entry= getToolsJarEntry(path);
-				}
-			} catch (CoreException e) {
-			}
-		}
-		return entry;
-	}
-
-	private void addLibraries(IPluginDescriptor source, List destination) {
-		URL root = source.getInstallURL();
-		ILibrary[] libraries = source.getRuntimeLibraries();
-		for (int i = 0; i < libraries.length; i++) {
-			try {
-				URL url = new URL(root, libraries[i].getPath().toString());
-				destination.add(new AntClasspathEntry(Platform.asLocalURL(url)));
-			} catch (Exception e) {
-				// if the URL does not have a valid format, just log and ignore the exception
-				IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_MALFORMED_URL, InternalCoreAntMessages.getString("AntCorePreferences.Malformed_URL._1"), e);  //$NON-NLS-1$
-				AntCorePlugin.getPlugin().getLog().log(status);
-			}
-		}
-	}
-
-	protected void addPluginClassLoader(ClassLoader loader) {
-		if (!pluginClassLoaders.contains(loader)) {
-			pluginClassLoaders.add(loader);
-		}
-	}
-
-	/**
-	 * Returns the list of urls added to the classpath by the extra classpath
-	 * entries extension point.
-	 * 
-	 * @return the list of extra classpath URLs
-	 */
-	public URL[] getExtraClasspathURLs() {
-		URL[] urls= new URL[extraClasspathURLs.size()];
-		
-		for (int i = 0; i < extraClasspathURLs.size(); i++) {
-				IAntClasspathEntry entry = (IAntClasspathEntry) extraClasspathURLs.get(i);
-				urls[i]= entry.getEntryURL();	
-		}
-		return urls;
-	}
-	
-	/**
-	 * Returns the list of urls added to the classpath by the extra classpath
-	 * entries extension point for an Ant build that is occuring without the Eclipse runtime.
-	 * 
-	 * @return the list of extra classpath URLs
-	 * @since 3.0
-	 */
-	public URL[] getRemoteExtraClasspathURLs() {
-		List urls= new ArrayList(extraClasspathURLs.size());
-		
-		for (int i = 0; i < extraClasspathURLs.size(); i++) {
-				IAntClasspathEntry entry = (IAntClasspathEntry) extraClasspathURLs.get(i);
-				if (!entry.isEclipseRuntimeRequired()) {
-					urls.add(entry.getEntryURL());
-				}
-		}
-		return (URL[])urls.toArray(new URL[urls.size()]);
-	}
-	
-	/**
-	 * Returns the entire set of URLs that define the Ant runtime classpath.
-	 * Includes the Ant URLs, the additional URLs and extra classpath URLs.
-	 * 
-	 * @return the entire runtime classpath of URLs
-	 */
-	public URL[] getURLs() {
-		List result = new ArrayList(60);
-		if (antHomeEntries != null) {
-			addEntryURLs(result, antHomeEntries);
-		}
-		if (additionalEntries != null && additionalEntries.length > 0) {
-			addEntryURLs(result, additionalEntries);
-		}
-		
-		for (int i = 0; i < extraClasspathURLs.size(); i++) {
-			IAntClasspathEntry entry = (IAntClasspathEntry) extraClasspathURLs.get(i);
-			URL url= entry.getEntryURL();
-			if (url != null) {
-				result.add(url);
-			}	
-		}
-		
-		return (URL[]) result.toArray(new URL[result.size()]);
-	}
-
-	private void addEntryURLs(List result, IAntClasspathEntry[] entries) {
-		for (int i = 0; i < entries.length; i++) {
-			IAntClasspathEntry entry = entries[i];
-			URL url= entry.getEntryURL();
-			if (url != null) {
-				result.add(url);
-			}
-		}
-	}
-
-	protected ClassLoader[] getPluginClassLoaders() {
-		if (orderedPluginClassLoaders == null) {
-			Iterator classLoaders= pluginClassLoaders.iterator();
-			Map idToLoader= new HashMap(pluginClassLoaders.size());
-			IPluginDescriptor[] descriptors= new IPluginDescriptor[pluginClassLoaders.size()];
-			int i= 0;
-			while (classLoaders.hasNext()) {
-				PluginClassLoader loader = (PluginClassLoader) classLoaders.next();
-				IPluginDescriptor descriptor= loader.getPluginDescriptor();
-				idToLoader.put(descriptor.getUniqueIdentifier(), loader);
-				descriptors[i]= descriptor;
-				i++;
-			}
-			String[] ids= computePrerequisiteOrderPlugins(descriptors);
-			orderedPluginClassLoaders= new ClassLoader[pluginClassLoaders.size()];
-			for (int j = 0; j < ids.length; j++) {
-				String id = ids[j];
-				orderedPluginClassLoaders[j]= (ClassLoader)idToLoader.get(id);
-			}
-		}
-		return orderedPluginClassLoaders;
-	}
-
-	/*
-	 * Copied from org.eclipse.pde.internal.build.Utils
-	 */
-	private String[] computePrerequisiteOrderPlugins(IPluginDescriptor[] plugins) {
-		List prereqs = new ArrayList(9);
-		Set pluginList = new HashSet(plugins.length);
-		for (int i = 0; i < plugins.length; i++) {
-			pluginList.add(plugins[i].getUniqueIdentifier());
-		}
-		
-		// create a collection of directed edges from plugin to prereq
-		for (int i = 0; i < plugins.length; i++) {
-			boolean boot = false;
-			boolean runtime = false;
-			boolean found = false;
-			IPluginPrerequisite[] prereqList = plugins[i].getPluginPrerequisites();
-			if (prereqList != null) {
-				for (int j = 0; j < prereqList.length; j++) {
-					// ensure that we only include values from the original set.
-					String prereq = prereqList[j].getUniqueIdentifier();
-					boot = boot || prereq.equals(BootLoader.PI_BOOT);
-					runtime = runtime || prereq.equals(Platform.PI_RUNTIME);
-					if (pluginList.contains(prereq)) {
-						found = true;
-						prereqs.add(new String[] { plugins[i].getUniqueIdentifier(), prereq });
-					}
-				}
-			}
-
-			// if we didn't find any prereqs for this plugin, add a null prereq
-			// to ensure the value is in the output	
-			if (!found) {
-				prereqs.add(new String[] { plugins[i].getUniqueIdentifier(), null });
-			}
-
-			// if we didn't find the boot or runtime plugins as prereqs and they are in the list
-			// of plugins to build, add prereq relations for them.  This is required since the 
-			// boot and runtime are implicitly added to a plugin's requires list by the platform runtime.
-			// Note that we should skip the xerces plugin as this would cause a circularity.
-			if (plugins[i].getUniqueIdentifier().equals("org.apache.xerces")) //$NON-NLS-1$
-				continue;
-			if (!boot && pluginList.contains(BootLoader.PI_BOOT) && !plugins[i].getUniqueIdentifier().equals(BootLoader.PI_BOOT))
-				prereqs.add(new String[] { plugins[i].getUniqueIdentifier(), BootLoader.PI_BOOT });
-			if (!runtime && pluginList.contains(Platform.PI_RUNTIME) && !plugins[i].getUniqueIdentifier().equals(Platform.PI_RUNTIME) && !plugins[i].getUniqueIdentifier().equals(BootLoader.PI_BOOT))
-				prereqs.add(new String[] { plugins[i].getUniqueIdentifier(), Platform.PI_RUNTIME });
-		}
-
-		// do a topological sort, insert the fragments into the sorted elements
-		String[][] prereqArray = (String[][]) prereqs.toArray(new String[prereqs.size()][]);
-		return computeNodeOrder(prereqArray);
-	}
-	
-	/*
-	 * Copied from org.eclipse.pde.internal.build.Utils
-	 */
-	private String[] computeNodeOrder(String[][] specs) {
-		Map counts = computeCounts(specs);
-		List nodes = new ArrayList(counts.size());
-		while (!counts.isEmpty()) {
-			List roots = findRootNodes(counts);
-			if (roots.isEmpty())
-				break;
-			for (Iterator i = roots.iterator(); i.hasNext();)
-				counts.remove(i.next());
-			nodes.addAll(roots);
-			removeArcs(specs, roots, counts);
-		}
-		String[] result = new String[nodes.size()];
-		nodes.toArray(result);
-
-		return result;
-	}
-	
-	/*
-	 * Copied from org.eclipse.pde.internal.build.Utils
-	 */
-	private void removeArcs(String[][] mappings, List roots, Map counts) {
-		for (Iterator j = roots.iterator(); j.hasNext();) {
-			String root = (String) j.next();
-			for (int i = 0; i < mappings.length; i++) {
-				if (root.equals(mappings[i][1])) {
-					String input = mappings[i][0];
-					Integer count = (Integer) counts.get(input);
-					if (count != null)
-						counts.put(input, new Integer(count.intValue() - 1));
-				}
-			}
-		}
-	}
-	
-	/*
-	 * Copied from org.eclipse.pde.internal.build.Utils
-	 */
-	private List findRootNodes(Map counts) {
-		List result = new ArrayList(5);
-		for (Iterator i = counts.keySet().iterator(); i.hasNext();) {
-			String node = (String) i.next();
-			int count = ((Integer) counts.get(node)).intValue();
-			if (count == 0)
-				result.add(node);
-		}
-		return result;
-	}
-	
-	/*
-	 * Copied from org.eclipse.pde.internal.build.Utils
-	 */
-	private Map computeCounts(String[][] mappings) {
-		Map counts = new HashMap(5);
-		for (int i = 0; i < mappings.length; i++) {
-			String from = mappings[i][0];
-			Integer fromCount = (Integer) counts.get(from);
-			String to = mappings[i][1];
-			if (to == null)
-				counts.put(from, new Integer(0));
-			else {
-				if (((Integer) counts.get(to)) == null)
-					counts.put(to, new Integer(0));
-				fromCount = fromCount == null ? new Integer(1) : new Integer(fromCount.intValue() + 1);
-				counts.put(from, fromCount);
-			}
-		}
-		return counts;
-	}
-	
-	private void initializePluginClassLoaders() {
-		pluginClassLoaders = new ArrayList(10);
-		// ant.core should always be present
-		pluginClassLoaders.add(Platform.getPlugin(AntCorePlugin.PI_ANTCORE).getDescriptor().getPluginClassLoader());
-	}
-
-	/**
-	 * Returns the default and custom tasks.
-	 * 
-	 * @return the list of default and custom tasks.
-	 */
-	public List getTasks() {
-		List result = new ArrayList(10);
-		if (defaultTasks != null && !defaultTasks.isEmpty()) {
-			result.addAll(defaultTasks);
-		}
-		if (customTasks != null && customTasks.length != 0) {
-			result.addAll(Arrays.asList(customTasks));
-		}
-		return result;
-	}
-	
-	/**
-	 * Returns the default and custom tasks that are relavent when there is no
-	 * Eclipse runtime context (an Ant build in a separate VM).
-	 * 
-	 * @return the list of default and custom tasks.
-	 */
-	public List getRemoteTasks() {
-		List result = new ArrayList(10);
-		if (defaultTasks != null && !defaultTasks.isEmpty()) {
-			Iterator iter= defaultTasks.iterator();
-			while (iter.hasNext()) {
-				Task task = (Task) iter.next();
-				if (!task.isEclipseRuntimeRequired()) {
-					result.add(task);
-				}
-			}
-		}
-		if (customTasks != null && customTasks.length != 0) {
-			result.addAll(Arrays.asList(customTasks));
-		}
-		return result;
-	}
-
-	/**
-	 * Returns the user defined custom tasks
-	 * @return the user defined tasks
-	 */
-	public Task[] getCustomTasks() {
-		return customTasks;
-	}
-
-	/**
-	 * Returns the user defined custom types
-	 * @return the user defined types
-	 */
-	public Type[] getCustomTypes() {
-		return customTypes;
-	}
-
-	/**
-	 * Returns the custom user properties specified for Ant builds.
-	 * 
-	 * @return the properties defined for Ant builds.
-	 */
-	public Property[] getCustomProperties() {
-		return customProperties;
-	}
-	
-	/**
-	 * Returns the default and custom properties.
-	 * 
-	 * @return the list of default and custom properties.
-	 * @since 3.0
-	 */
-	public List getProperties() {
-		List result = new ArrayList(10);
-		if (defaultProperties != null && !defaultProperties.isEmpty()) {
-			result.addAll(defaultProperties);
-		}
-		if (customProperties != null && customProperties.length != 0) {
-			result.addAll(Arrays.asList(customProperties));
-		}
-		return result;
-	}
-	
-	/**
-	 * Returns the default and custom properties that are relavent when there is no
-	 * Eclipse runtime context (Ant build in a separate VM).
-	 * 
-	 * @return the list of default and custom properties.
-	 * @since 3.0
-	 */
-	public List getRemoteAntProperties() {
-		List result = new ArrayList(10);
-		if (defaultProperties != null && !defaultProperties.isEmpty()) {
-			Iterator iter= defaultProperties.iterator();
-			while (iter.hasNext()) {
-				Property property = (Property) iter.next();
-				if (!property.isEclipseRuntimeRequired()) {
-					result.add(property);
-				}
-			}
-		}
-		if (customProperties != null && customProperties.length != 0) {
-			result.addAll(Arrays.asList(customProperties));
-		}
-		return result;
-	}
-	
-	/**
-	 * Returns the custom property files specified for Ant builds performing any required 
-	 * string substition if indicated.
-	 * 
-	 * @param performStringSubstition whether or not to perform the string subsitution on the property file strings
-	 * @return the property files defined for Ant builds.
-	 * @since 3.0
-	 */
-	public String[] getCustomPropertyFiles(boolean performStringSubstition) {
-		if (!performStringSubstition || customPropertyFiles == null || customPropertyFiles.length == 0) {
-			return customPropertyFiles;
-		}
-		List files= new ArrayList(customPropertyFiles.length);
-		for (int i = 0; i < customPropertyFiles.length; i++) {
-			String filename= customPropertyFiles[i];
-			 try {
-				filename = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(filename);
-				files.add(filename);
-			} catch (CoreException e) {
-				//notify the user via the Ant console of the missing file
-				files.add(filename);
-			}
-		}
-		return (String[])files.toArray(new String[files.size()]);
-	}
-	
-	/**
-	 * Returns the custom property files specified for Ant builds.
-	 * 
-	 * @return the property files defined for Ant builds.
-	 */
-	public String[] getCustomPropertyFiles() {
-		return getCustomPropertyFiles(true);
-	}
-	
-	/**
-	 * Returns the custom URLs specified for the Ant classpath
-	 * 
-	 * @return the urls defining the Ant classpath
-	 * @deprecated
-	 */
-	public URL[] getCustomURLs() {
-		URL[] urls= new URL[additionalEntries.length];
-		int i;
-		for (i = 0; i < additionalEntries.length; i++) {
-			URL url = additionalEntries[i].getEntryURL();
-			if (url != null) {
-				urls[i]=url;
-			}
-		}
-	
-		return urls;
-	}
-
-	/**
-	 * Sets the user defined custom tasks.
-	 * To commit the changes, updatePluginPreferences must be
-	 * called.
-	 * @param tasks
-	 */
-	public void setCustomTasks(Task[] tasks) {
-		oldCustomTasks= customTasks;
-		customTasks = tasks;
-	}
-
-	/**
-	 * Sets the user defined custom types.
-	 * To commit the changes, updatePluginPreferences must be
-	 * called.
-	 * @param types The custom types
-	 */
-	public void setCustomTypes(Type[] types) {
-		oldCustomTypes= customTypes;
-		customTypes = types;
-	}
-
-	/**
-	 * Sets the custom URLs specified for the Ant classpath.
-	 * To commit the changes, updatePluginPreferences must be
-	 * called.
-	 * 
-	 * @param urls the urls defining the Ant classpath
-	 * @deprecated use setAdditionalEntries(IAntClasspathEntry)[]
-	 */
-	public void setCustomURLs(URL[] urls) {
-		additionalEntries= new IAntClasspathEntry[urls.length];
-		for (int i = 0; i < urls.length; i++) {
-			URL url = urls[i];
-			IAntClasspathEntry entry= new AntClasspathEntry(url);
-			additionalEntries[i]= entry;
-		}
-	}
-	
-	/**
-	 * Sets the Ant URLs specified for the Ant classpath. To commit the changes,
-	 * updatePluginPreferences must be called.
-	 * 
-	 * @param urls the urls defining the Ant classpath
-	 * @deprecated use setAntHomeEntires(IAntClasspathEntry[])
-	 */
-	public void setAntURLs(URL[] urls) {
-		antHomeEntries= new IAntClasspathEntry[urls.length];
-		for (int i = 0; i < urls.length; i++) {
-			URL url = urls[i];
-			IAntClasspathEntry entry= new AntClasspathEntry(url);
-			antHomeEntries[i]= entry;
-		}
-	}
-	
-	/**
-	 * Sets the custom property files specified for Ant builds. To commit the
-	 * changes, updatePluginPreferences must be called.
-	 * 
-	 * @param paths the absolute paths defining the property files to use.
-	 */
-	public void setCustomPropertyFiles(String[] paths) {
-		customPropertyFiles = paths;
-	}
-	
-	/**
-	 * Sets the custom user properties specified for Ant builds. To commit the
-	 * changes, updatePluginPreferences must be called.
-	 * 
-	 * @param properties the properties defining the Ant properties
-	 */
-	public void setCustomProperties(Property[] properties) {
-		oldCustomProperties= customProperties;
-		customProperties = properties;
-	}
-
-	/**
-	 * Returns the default and custom types.
-	 * 
-	 * @return all of the defined types
-	 */
-	public List getTypes() {
-		List result = new ArrayList(10);
-		if (defaultTypes != null && !defaultTypes.isEmpty()) {
-			result.addAll(defaultTypes);
-		}
-		if (customTypes != null && customTypes.length != 0) {
-			result.addAll(Arrays.asList(customTypes));
-		}
-		return result;
-	}
-	
-	/**
-	 * Returns the default and custom types that are relavent when there is no
-	 * Eclipse runtime context (an Ant build in a separate VM).
-	 * 
-	 * @return the list of default and custom types.
-	 */
-	public List getRemoteTypes() {
-		List result = new ArrayList(10);
-		if (defaultTypes != null && !defaultTypes.isEmpty()) {
-			Iterator iter= defaultTypes.iterator();
-			while (iter.hasNext()) {
-				Type type = (Type) iter.next();
-				if (!type.isEclipseRuntimeRequired()) {
-					result.add(type);
-				}
-			}
-		}
-		if (customTypes != null && customTypes.length != 0) {
-			result.addAll(Arrays.asList(customTypes));
-		}
-		return result;
-	}
-	
-	/**
-	 * Returns the default types defined via the type extension point
-	 * 
-	 * @return all of the default types
-	 */
-	public List getDefaultTypes() {
-		List result = new ArrayList(10);
-		if (defaultTypes != null && !defaultTypes.isEmpty()) {
-			result.addAll(defaultTypes);
-		}
-		return result;
-	}
-	
-	/**
-	 * Returns the default tasks defined via the task extension point
-	 * 
-	 * @return all of the default tasks
-	 */
-	public List getDefaultTasks() {
-		List result = new ArrayList(10);
-		if (defaultTasks != null && !defaultTasks.isEmpty()) {
-			result.addAll(defaultTasks);
-		}
-		return result;
-	}
-	
-	/**
-	 * Returns the default properties defined via the properties extension point
-	 * 
-	 * @return all of the default properties
-	 * @since 3.0
-	 */
-	public List getDefaultProperties() {
-		List result = new ArrayList(10);
-		if (defaultProperties != null && !defaultProperties.isEmpty()) {
-			result.addAll(defaultProperties);
-		}
-		return result;
-	}
-
-	/*
-	 * Convert a list of tokens into an array using "," as the tokenizer.
-	 */
-	protected String[] getArrayFromString(String list) {
-		String separator= ","; //$NON-NLS-1$
-		if (list == null || list.trim().equals("")) { //$NON-NLS-1$
-			return new String[0];
-		}
-		ArrayList result = new ArrayList();
-		for (StringTokenizer tokens = new StringTokenizer(list, separator); tokens.hasMoreTokens();) {
-			String token = tokens.nextToken().trim();
-			if (!token.equals("")) { //$NON-NLS-1$
-				result.add(token);
-			}
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	/**
-	 * Updates the underlying plugin preferences to the current state.
-	 */
-	public void updatePluginPreferences() {
-		Preferences prefs = AntCorePlugin.getPlugin().getPluginPreferences();
-		prefs.removePropertyChangeListener(this);
-		updateTasks(prefs);
-		updateTypes(prefs);
-		updateAntHomeEntries(prefs);
-		updateAdditionalEntries(prefs);
-		updateProperties(prefs);
-		updatePropertyFiles(prefs);
-		boolean classpathChanged= AntCorePlugin.getPlugin().getPluginPreferences().needsSaving();
-		AntCorePlugin.getPlugin().savePluginPreferences();
-		if (classpathChanged) {
-			prefs.setValue(IAntCoreConstants.PREFERENCE_CLASSPATH_CHANGED, true);
-		}
-		prefs.setValue(IAntCoreConstants.PREFERENCE_CLASSPATH_CHANGED, false);
-		prefs.addPropertyChangeListener(this);
-	}
-
-	protected void updateTasks(Preferences prefs) {
-		if (oldCustomTasks != null) {
-			for (int i = 0; i < oldCustomTasks.length; i++) {
-				Task oldTask = oldCustomTasks[i];
-				prefs.setToDefault(IAntCoreConstants.PREFIX_TASK + oldTask.getTaskName());
-			}
-			oldCustomTasks= null;	
-		}	
-		
-		if (customTasks.length == 0) {
-			prefs.setValue(IAntCoreConstants.PREFERENCE_TASKS, ""); //$NON-NLS-1$
-			return;
-		}
-		StringBuffer tasks = new StringBuffer();
-		for (int i = 0; i < customTasks.length; i++) {
-			tasks.append(customTasks[i].getTaskName());
-			tasks.append(',');
-			prefs.setValue(IAntCoreConstants.PREFIX_TASK + customTasks[i].getTaskName(), customTasks[i].getClassName() + "," + customTasks[i].getLibraryEntry().getLabel()); //$NON-NLS-1$
-		}
-		prefs.setValue(IAntCoreConstants.PREFERENCE_TASKS, tasks.toString());
-	}
-
-	protected void updateTypes(Preferences prefs) {
-		if (oldCustomTypes != null) {
-			for (int i = 0; i < oldCustomTypes.length; i++) {
-				Type oldType = oldCustomTypes[i];
-				prefs.setToDefault(IAntCoreConstants.PREFIX_TYPE + oldType.getTypeName());
-			}
-			oldCustomTypes= null;	
-		}	
-				
-		if (customTypes.length == 0) {
-			prefs.setValue(IAntCoreConstants.PREFERENCE_TYPES, ""); //$NON-NLS-1$
-			return;
-		}
-		StringBuffer types = new StringBuffer();
-		for (int i = 0; i < customTypes.length; i++) {
-			types.append(customTypes[i].getTypeName());
-			types.append(',');
-			prefs.setValue(IAntCoreConstants.PREFIX_TYPE + customTypes[i].getTypeName(), customTypes[i].getClassName() + "," + customTypes[i].getLibraryEntry().getLabel()); //$NON-NLS-1$
-		}
-		prefs.setValue(IAntCoreConstants.PREFERENCE_TYPES, types.toString());
-	}
-	
-	protected void updateProperties(Preferences prefs) {
-		if (oldCustomProperties != null) {
-			for (int i = 0; i < oldCustomProperties.length; i++) {
-				Property oldProperty = oldCustomProperties[i];
-				prefs.setToDefault(IAntCoreConstants.PREFIX_PROPERTY + oldProperty.getName());
-			}
-			oldCustomProperties= null;
-		}
-		
-		if (customProperties.length == 0) {
-			prefs.setValue(IAntCoreConstants.PREFERENCE_PROPERTIES, ""); //$NON-NLS-1$
-			return;
-		}
-		StringBuffer properties = new StringBuffer();
-		for (int i = 0; i < customProperties.length; i++) {
-			properties.append(customProperties[i].getName());
-			properties.append(',');
-			prefs.setValue(IAntCoreConstants.PREFIX_PROPERTY + customProperties[i].getName(), customProperties[i].getValue(false)); //$NON-NLS-1$
-		}
-		prefs.setValue(IAntCoreConstants.PREFERENCE_PROPERTIES, properties.toString());
-	}
-
-	protected void updateAdditionalEntries(Preferences prefs) {
-		prefs.setValue("urls", ""); //old constant removed  //$NON-NLS-1$//$NON-NLS-2$
-		String serialized= null;
-		IAntClasspathEntry toolsJarEntry= getToolsJarEntry();
-		if (additionalEntries.length == 1 && toolsJarEntry != null && additionalEntries[0].getLabel().equals(toolsJarEntry.getLabel())) {
-			serialized= ""; //$NON-NLS-1$
-		} else {
-			StringBuffer entries = new StringBuffer();
-			for (int i = 0; i < additionalEntries.length; i++) {
-				entries.append(additionalEntries[i].getLabel());
-				entries.append(',');
-			}
-			serialized= entries.toString();
-		}
-		
-		prefs.setValue(IAntCoreConstants.PREFERENCE_ADDITIONAL_ENTRIES, serialized);
-		
-		String prefAntHome= ""; //$NON-NLS-1$
-		if (antHome != null && !antHome.equals(getDefaultAntHome())) {
-			prefAntHome= antHome;
-		} 
-		prefs.setValue(IAntCoreConstants.PREFERENCE_ANT_HOME, prefAntHome);
-	}
-	
-	protected void updateAntHomeEntries(Preferences prefs) {
-		prefs.setValue("ant_urls", ""); //old constant removed  //$NON-NLS-1$//$NON-NLS-2$
-		
-		//see if the custom entries are just the default entries
-		IAntClasspathEntry[] defaultEntries= getDefaultAntHomeEntries();
-		boolean dflt= false;
-		if (defaultEntries.length == antHomeEntries.length) {
-			dflt= true;
-			for (int i = 0; i < antHomeEntries.length; i++) {
-				if (!antHomeEntries[i].equals(defaultEntries[i])) {
-					dflt= false;
-					break;
-				}
-			}
-		}
-		if (dflt) {
-			//always want to recalculate the default Ant urls
-			//to pick up any changes in the default Ant classpath
-			prefs.setValue(IAntCoreConstants.PREFERENCE_ANT_HOME_ENTRIES, ""); //$NON-NLS-1$
-			return;
-		}
-		StringBuffer entries = new StringBuffer();
-		for (int i = 0; i < antHomeEntries.length; i++) {
-			entries.append(antHomeEntries[i].getLabel());
-			entries.append(',');
-		}
-		
-		prefs.setValue(IAntCoreConstants.PREFERENCE_ANT_HOME_ENTRIES, entries.toString());
-	}
-	
-	protected void updatePropertyFiles(Preferences prefs) {
-		StringBuffer files = new StringBuffer();
-		for (int i = 0; i < customPropertyFiles.length; i++) {
-			files.append(customPropertyFiles[i]);
-			files.append(',');
-		}
-		
-		prefs.setValue(IAntCoreConstants.PREFERENCE_PROPERTY_FILES, files.toString());
-	}
-	
-	/**
-	 * Sets the string that defines the Ant home set by the user.
-	 * May be set to <code>null</code>.
-	 * 
-	 * @param antHome the fully qualified path to Ant home
-	 */
-	public void setAntHome(String antHome) {
-		this.antHome= antHome;
-	}
-	
-	/**
-	 * Returns the string that defines the Ant home set by the user or the location 
-	 * of the Eclipse Ant plugin if Ant home has not been specifically set by the user.
-	 * Can return <code>null</code>
-	 * 
-	 * @return the fully qualified path to Ant home
-	 */
-	public String getAntHome() {
-		return antHome;
-	}
-	
-	/**
-	 * Returns the set of classpath entries that compose the libraries added to the
-	 * Ant runtime classpath from the Ant home location.
-	 * 
-	 * @return the set of ant home classpath entries
-	 * @since 3.0
-	 */
-	public IAntClasspathEntry[] getAntHomeClasspathEntries() {
-		return antHomeEntries;
-	}
-	
-	/**
-	 * Returns the set of classpath entries that the user has added to the
-	 * Ant runtime classpath.
-	 * 
-	 * @return the set of user classpath entries
-	 * @since 3.0
-	 */
-	public IAntClasspathEntry[] getAdditionalClasspathEntries() {
-		return additionalEntries;
-	}
-	
-	/**
-	 * Sets the set of classpath entries that compose the libraries added to the
-	 * Ant runtime classpath from the Ant home location.
-	 * 
-	 * @param entries the set of ant home classpath entries
-	 * @since 3.0
-	 */
-	public void setAntHomeClasspathEntries(IAntClasspathEntry[] entries) {
-		antHomeEntries= entries;
-	}
-	
-	/**
-	 * Sets the set of classpath entries that the user has added to the 
-	 * Ant runtime classpath.
-	 * 
-	 * @param entries the set of user classpath entries
-	 * @since 3.0
-	 */
-	public void setAdditionalClasspathEntries(IAntClasspathEntry[] entries) {
-		additionalEntries= entries;
-	}
-
-	/**
-	 * Returns the list of URLs to added to the classpath for an Ant build that is 
-	 * occuring without the Eclipse runtime.
-	 * 
-	 * @return the list of classpath entries
-	 * @since 3.0
-	 */
-	public URL[] getRemoteAntURLs() {
-		List result = new ArrayList(40);
-		if (antHomeEntries != null) {
-			for (int i = 0; i < antHomeEntries.length; i++) {
-				IAntClasspathEntry entry = antHomeEntries[i];
-				result.add(entry.getEntryURL());
-			}
-		}
-		if (additionalEntries != null && additionalEntries.length > 0) {
-			for (int i = 0; i < additionalEntries.length; i++) {
-				IAntClasspathEntry entry = additionalEntries[i];
-				result.add(entry.getEntryURL());	
-			}
-		}
-		if (extraClasspathURLs != null) {
-			for (int i = 0; i < extraClasspathURLs.size(); i++) {
-				IAntClasspathEntry entry = (IAntClasspathEntry) extraClasspathURLs.get(i);
-				if (!entry.isEclipseRuntimeRequired()) {
-					result.add(entry.getEntryURL());
-				}
-			}
-		}
-		
-		return (URL[]) result.toArray(new URL[result.size()]);
-	}
-	
-	/**
-	 * Returns all contributed classpath entries via the 
-	 * <code>extraClasspathEntries</code> extension point.
-	 * 
-	 * @return all contributed classpath entries via the 
-	 * <code>extraClasspathEntries</code> extension point
-	 * @since 3.0
-	 */
-	public IAntClasspathEntry[]getContributedClasspathEntries() {
-		return (IAntClasspathEntry[]) extraClasspathURLs.toArray(new IAntClasspathEntry[extraClasspathURLs.size()]);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
deleted file mode 100644
index 65a481b..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
+++ /dev/null
@@ -1,562 +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.ant.core;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-import org.eclipse.ant.internal.core.AntClassLoader;
-import org.eclipse.ant.internal.core.IAntCoreConstants;
-import org.eclipse.ant.internal.core.InternalCoreAntMessages;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-
-/**
- * Entry point for running Ant builds inside Eclipse.
- */
-public class AntRunner implements IPlatformRunnable {
-
-	private static boolean buildRunning= false;
-	protected String buildFileLocation = IAntCoreConstants.DEFAULT_BUILD_FILENAME;
-	protected List buildListeners;
-	protected String[] targets;
-	protected Map userProperties;
-	protected int messageOutputLevel = 2; // Project.MSG_INFO
-	protected String buildLoggerClassName;
-	protected String inputHandlerClassName;
-	protected String[] arguments;
-	protected String[] propertyFiles;
-	protected URL[] customClasspath;
-	protected String antHome;
-
-	/**
-	 * Sets the build file location on the file system.
-	 * 
-	 * @param buildFileLocation the file system location of the build file
-	 */
-	public void setBuildFileLocation(String buildFileLocation) {
-		if (buildFileLocation == null) {
-			this.buildFileLocation = IAntCoreConstants.DEFAULT_BUILD_FILENAME;
-		} else {
-			this.buildFileLocation = buildFileLocation;
-		}
-	}
-
-	/**
-	 * Set the message output level.
-	 * <p>
-	 * Valid values are:
-	 * <ul>
-	 * <li><code>org.apache.tools.ant.Project.ERR</code>, 
-	 * <li><code>org.apache.tools.ant.Project.WARN</code>,
-	 * <li><code>org.apache.tools.ant.Project.INFO</code>,
-	 * <li><code>org.apache.tools.ant.Project.VERBOSE</code> or
-	 * <li><code>org.apache.tools.ant.Project.DEBUG</code>
-	 * </ul>
-	 * 
-	 * @param level the message output level
-	 */
-	public void setMessageOutputLevel(int level) {
-		messageOutputLevel = level;
-	}
-
-	/**
-	 * Sets the arguments to be passed to the build (e.g. -Dos=win32 -Dws=win32
-	 * - verbose).
-	 * 
-	 * @param arguments the arguments to be passed to the build
-	 */
-	public void setArguments(String arguments) {
-		this.arguments = getArray(arguments);
-	}
-
-	/*
-	 * Helper method to ensure an array is converted into an ArrayList.
-	 */
-	private String[] getArray(String args) {
-		StringBuffer sb = new StringBuffer();
-		boolean waitingForQuote = false;
-		ArrayList result = new ArrayList();
-		for (StringTokenizer tokens = new StringTokenizer(args, ", \"", true); tokens.hasMoreTokens();) { //$NON-NLS-1$
-			String token = tokens.nextToken();
-			if (waitingForQuote) {
-				if (token.equals("\"")) { //$NON-NLS-1$
-					result.add(sb.toString());
-					sb.setLength(0);
-					waitingForQuote = false;
-				} else {
-					sb.append(token);
-				}
-			} else {
-				if (token.equals("\"")) { //$NON-NLS-1$
-					// test if we have something like -Dproperty="value"
-					if (result.size() > 0) {
-						int index = result.size() - 1;
-						String last = (String) result.get(index);
-						if (last.charAt(last.length() - 1) == '=') {
-							result.remove(index);
-							sb.append(last);
-						}
-					}
-					waitingForQuote = true;
-				} else {
-					if (!(token.equals(",") || token.equals(" "))) //$NON-NLS-1$ //$NON-NLS-2$
-						result.add(token);
-				}
-			}
-		}
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-	/**
-	 * Sets the arguments to be passed to the build (e.g. -Dos=win32 -Dws=win32 -verbose).
-	 * 
-	 * @param arguments the arguments to be passed to the build
-	 * @since 2.1
-	 */
-	public void setArguments(String[] arguments) {
-		this.arguments = arguments;
-	}
-
-	/**
-	 * Sets the targets and execution order.
-	 * 
-	 * @param executionTargets which targets should be run and in which order
-	 */
-	public void setExecutionTargets(String[] executionTargets) {
-		this.targets = executionTargets;
-	}
-
-	/**
-	 * Adds a build listener. The parameter <code>className</code>
-	 * is the class name of a <code>org.apache.tools.ant.BuildListener</code>
-	 * implementation. The class will be instantiated at runtime and the
-	 * listener will be called on build events
-	 * (<code>org.apache.tools.ant.BuildEvent</code>).
-	 *
-	 * @param className a build listener class name
-	 */
-	public void addBuildListener(String className) {
-		if (className == null) {
-			return;
-		}
-		if (buildListeners == null) {
-			buildListeners = new ArrayList(5);
-		}
-		buildListeners.add(className);
-	}
-
-	/**
-	 * Sets the build logger. The parameter <code>className</code>
-	 * is the class name of a <code>org.apache.tools.ant.BuildLogger</code>
-	 * implementation. The class will be instantiated at runtime and the
-	 * logger will be called on build events
-	 * (<code>org.apache.tools.ant.BuildEvent</code>).  
-	 * Only one build logger is permitted for any build.
-	 * 
-	 *
-	 * @param className a build logger class name
-	 */
-	public void addBuildLogger(String className) {
-		buildLoggerClassName = className;
-	}
-
-	/**
-	 * Adds user-defined properties. Keys and values must be String objects.
-	 * 
-	 * @param properties a Map of user-defined properties
-	 */
-	public void addUserProperties(Map properties) {
-		if (userProperties == null) {
-			userProperties= new HashMap(properties);
-		} else {
-			userProperties.putAll(properties);
-		}
-	}
-
-	/**
-	 * Returns the buildfile target information.
-	 * 
-	 * @return an array containing the target information
-	 * 
-	 * @see TargetInfo
-	 * @since 2.1
-	 * @throws CoreException Thrown if problem is encountered determining the targets
-	 */
-	public synchronized TargetInfo[] getAvailableTargets() throws CoreException {
-		Class classInternalAntRunner= null;
-		Object runner= null;
-		ClassLoader originalClassLoader= Thread.currentThread().getContextClassLoader();
-		try {
-			classInternalAntRunner = getInternalAntRunner();
-			runner = classInternalAntRunner.newInstance();
-			
-			basicConfigure(classInternalAntRunner, runner);
-					
-			// get the info for each targets
-			Method getTargets = classInternalAntRunner.getMethod("getTargets", null); //$NON-NLS-1$
-			Object results = getTargets.invoke(runner, null);
-			// get the default target
-			Method getDefault= classInternalAntRunner.getMethod("getDefaultTarget", null); //$NON-NLS-1$
-			String defaultName= (String)getDefault.invoke(runner, null);
-			// collect the info into target objects
-			List infos = (List) results;
-			
-			ProjectInfo project= new ProjectInfo((String)infos.remove(0), (String)infos.remove(0));
-			int i= 0;
-			Iterator iter= infos.iterator();
-			TargetInfo[] targetInfo= new TargetInfo[infos.size()];
-			List info;
-			while (iter.hasNext()) {
-				info= (List)iter.next();
-				targetInfo[i++] = new TargetInfo(project, (String)info.get(0), (String)info.get(1), (String[])info.get(2), info.get(0).equals(defaultName));
-			}
-			return targetInfo;
-		} catch (NoClassDefFoundError e) {
-			problemLoadingClass(e);
-			//not possible to reach this line
-			return new TargetInfo[0];
-		} catch (ClassNotFoundException e) {
-			problemLoadingClass(e);
-			//not possible to reach this line
-			return new TargetInfo[0];
-		} catch (InvocationTargetException e) {
-			handleInvocationTargetException(runner, classInternalAntRunner, e);
-			//not possible to reach this line
-			return new TargetInfo[0];
-		} catch (Exception e) {
-			String message = (e.getMessage() == null) ? InternalCoreAntMessages.getString("AntRunner.Build_Failed._3") : e.getMessage(); //$NON-NLS-1$
-			throw new CoreException(new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, message, e));
-		} finally {
-			Thread.currentThread().setContextClassLoader(originalClassLoader);
-		}
-	}
-
-	private void basicConfigure(Class classInternalAntRunner, Object runner) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
-		Method setBuildFileLocation = classInternalAntRunner.getMethod("setBuildFileLocation", new Class[] { String.class }); //$NON-NLS-1$
-		setBuildFileLocation.invoke(runner, new Object[] { buildFileLocation });
-		
-		if (antHome != null) {	
-			Method setAntHome = classInternalAntRunner.getMethod("setAntHome", new Class[] { String.class }); //$NON-NLS-1$
-			setAntHome.invoke(runner, new Object[] { antHome });
-		}
-		
-		setProperties(runner, classInternalAntRunner);
-		
-		if (arguments != null && arguments.length > 0) {
-			Method setArguments = classInternalAntRunner.getMethod("setArguments", new Class[] { String[].class }); //$NON-NLS-1$
-			setArguments.invoke(runner, new Object[] { arguments });
-		}
-	}
-
-	/**
-	 * Runs the build file. If a progress monitor is specified it will be
-	 * available during the script execution as a reference in the Ant Project
-	 * (<code>org.apache.tools.ant.Project.getReferences()</code>). A long-
-	 * running task could, for example, get the monitor during its execution and
-	 * check for cancellation. The key value to retrieve the progress monitor
-	 * instance is <code>AntCorePlugin.ECLIPSE_PROGRESS_MONITOR</code>.
-	 * 
-	 * Only one build can occur at any given time.
-	 * 
-	 * Sets the current threads context class loader to the AntClassLoader
-	 * for the duration of the build.
-	 * 
-	 * @param monitor a progress monitor, or <code>null</code> if progress
-	 *    reporting and cancellation are not desired
-	 * @throws CoreException Thrown if a build is already occuring or if an exception occurs during the build
-	 */
-	public void run(IProgressMonitor monitor) throws CoreException {
-		if (buildRunning) {
-			IStatus status= new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, MessageFormat.format(InternalCoreAntMessages.getString("AntRunner.Already_in_progess"), new String[]{buildFileLocation}), null); //$NON-NLS-1$
-			throw new CoreException(status);
-		}
-		buildRunning= true;
-		Object runner= null;
-		Class classInternalAntRunner= null;
-		ClassLoader originalClassLoader= Thread.currentThread().getContextClassLoader();
-		try {
-			classInternalAntRunner = getInternalAntRunner();
-			runner = classInternalAntRunner.newInstance();
-			// set build file
-			Method setBuildFileLocation = classInternalAntRunner.getMethod("setBuildFileLocation", new Class[] { String.class }); //$NON-NLS-1$
-			setBuildFileLocation.invoke(runner, new Object[] { buildFileLocation });
-			
-			//set the custom classpath
-			if (customClasspath != null) {
-				Method setCustomClasspath = classInternalAntRunner.getMethod("setCustomClasspath", new Class[] { URL[].class }); //$NON-NLS-1$
-				setCustomClasspath.invoke(runner, new Object[] { customClasspath });
-			}
-			
-			// add listeners
-			if (buildListeners != null) {
-				Method addBuildListeners = classInternalAntRunner.getMethod("addBuildListeners", new Class[] { List.class }); //$NON-NLS-1$
-				addBuildListeners.invoke(runner, new Object[] { buildListeners });
-			}
-			
-			if (buildLoggerClassName == null) {
-				//indicate that the default logger is not to be used
-				buildLoggerClassName= ""; //$NON-NLS-1$
-			}
-			// add build logger
-			Method addBuildLogger = classInternalAntRunner.getMethod("addBuildLogger", new Class[] { String.class }); //$NON-NLS-1$
-			addBuildLogger.invoke(runner, new Object[] { buildLoggerClassName });
-			
-			if (inputHandlerClassName != null) {	
-				// add the input handler
-				Method setInputHandler = classInternalAntRunner.getMethod("setInputHandler", new Class[] { String.class }); //$NON-NLS-1$
-				setInputHandler.invoke(runner, new Object[] { inputHandlerClassName });
-			}
-			
-			basicConfigure(classInternalAntRunner, runner);
-			
-			// add progress monitor
-			if (monitor != null) {
-				Method setProgressMonitor = classInternalAntRunner.getMethod("setProgressMonitor", new Class[] { IProgressMonitor.class }); //$NON-NLS-1$
-				setProgressMonitor.invoke(runner, new Object[] { monitor });
-			}
-			
-			// set message output level
-			if (messageOutputLevel != 2) { //changed from the default Project.MSG_INFO
-				Method setMessageOutputLevel = classInternalAntRunner.getMethod("setMessageOutputLevel", new Class[] { int.class }); //$NON-NLS-1$
-				setMessageOutputLevel.invoke(runner, new Object[] { new Integer(messageOutputLevel)});
-			}
-			
-			// set execution targets
-			if (targets != null) {
-				Method setExecutionTargets = classInternalAntRunner.getMethod("setExecutionTargets", new Class[] { String[].class }); //$NON-NLS-1$
-				setExecutionTargets.invoke(runner, new Object[] { targets });
-			} 
-
-			// run
-			Method run = classInternalAntRunner.getMethod("run", null); //$NON-NLS-1$
-			run.invoke(runner, null);
-		} catch (NoClassDefFoundError e) {
-			problemLoadingClass(e);
-		} catch (ClassNotFoundException e) {
-			problemLoadingClass(e);
-		} catch (InvocationTargetException e) {
-			handleInvocationTargetException(runner, classInternalAntRunner, e);
-		} catch (Exception e) {
-			String message = (e.getMessage() == null) ? InternalCoreAntMessages.getString("AntRunner.Build_Failed._3") : e.getMessage(); //$NON-NLS-1$
-			IStatus status= new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, message, e);
-			throw new CoreException(status);
-		} finally {
-			buildRunning= false;
-			Thread.currentThread().setContextClassLoader(originalClassLoader);
-		}
-	}
-
-	private Class getInternalAntRunner() throws ClassNotFoundException {
-		ClassLoader loader = getClassLoader();
-		Thread.currentThread().setContextClassLoader(loader);
-		return loader.loadClass("org.eclipse.ant.internal.core.ant.InternalAntRunner"); //$NON-NLS-1$
-	}
-
-	private void setProperties(Object runner, Class classInternalAntRunner)
-		throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
-		// add properties
-		if (userProperties != null) {
-			Method addUserProperties = classInternalAntRunner.getMethod("addUserProperties", new Class[] { Map.class }); //$NON-NLS-1$
-			addUserProperties.invoke(runner, new Object[] { userProperties });
-		}
-		
-		// add property files
-		if (propertyFiles != null) {
-			Method addPropertyFiles = classInternalAntRunner.getMethod("addPropertyFiles", new Class[] { String[].class }); //$NON-NLS-1$
-			addPropertyFiles.invoke(runner, new Object[] { propertyFiles });
-		}
-	}
-
-	/*
-	 * Handles exceptions that are loaded by the Ant Class Loader by
-	 * asking the Internal Ant Runner class for the correct error message.
-	 * 
-	 * Handles OperationCanceledExceptions, nested NoClassDefFoundError and
-	 * nested ClassNotFoundException
-	 */
-	protected void handleInvocationTargetException(Object runner, Class classInternalAntRunner, InvocationTargetException e) throws CoreException {
-		Throwable realException = e.getTargetException();
-		if (realException instanceof OperationCanceledException) {
-			return;
-		}
-		String message= null;
-		if (runner != null) {
-			try {
-				Method getBuildErrorMessage = classInternalAntRunner.getMethod("getBuildExceptionErrorMessage", new Class[] { Throwable.class }); //$NON-NLS-1$
-				message= (String)getBuildErrorMessage.invoke(runner, new Object[] { realException });
-			} catch (Exception ex) {
-				//do nothing as already in error state
-			}
-		}
-		// J9 throws NoClassDefFoundError nested in a InvocationTargetException
-		if (message == null && ((realException instanceof NoClassDefFoundError) || (realException instanceof ClassNotFoundException))) {
-			problemLoadingClass(realException);
-			return;
-		}
-		boolean internalError= false;
-		if (message == null) {
-			//error did not result from a BuildException
-			internalError= true;
-			message = (realException.getMessage() == null) ? InternalCoreAntMessages.getString("AntRunner.Build_Failed._3") : realException.getMessage(); //$NON-NLS-1$
-		}
-		IStatus status= new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, message, realException);
-		if (internalError) {
-			AntCorePlugin.getPlugin().getLog().log(status);
-		}
-		throw new CoreException(status);
-	}
-
-	protected void problemLoadingClass(Throwable e) throws CoreException {
-		String missingClassName= e.getMessage();
-		String message;
-		if (missingClassName != null) {
-			missingClassName= missingClassName.replace('/', '.');
-			message= InternalCoreAntMessages.getString("AntRunner.Could_not_find_one_or_more_classes._Please_check_the_Ant_classpath._2"); //$NON-NLS-1$
-			message= MessageFormat.format(message, new String[]{missingClassName});
-		} else {
-			message= InternalCoreAntMessages.getString("AntRunner.Could_not_find_one_or_more_classes._Please_check_the_Ant_classpath._1"); //$NON-NLS-1$
-		}
-		IStatus status= new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, message, e);
-		AntCorePlugin.getPlugin().getLog().log(status);
-		throw new CoreException(status);
-	}
-
-	/**
-	 * Runs the build file.
-	 * @throws CoreException Thrown if a build is already occuring or if an exception occurs during the build
-	 */
-	public void run() throws CoreException {
-		run(/*IProgressMonitor*/null);
-	}
-
-	/**
-	 * Invokes the building of a project object and executes a build using either a given
-	 * target or the default target. This method is called when running Eclipse headless
-	 * and specifying <code>org.eclipse.ant.core.antRunner</code> as the application.
-	 * 
-	 * Sets the current threads context class loader to the AntClassLoader
-	 * for the duration of the build.
-	 *
-	 * @param argArray the command line arguments
-	 * @exception Exception if a problem occurred during the buildfile execution
-	 * @return an exit object (<code>EXIT_OK</code>) indicating normal termination if no exception occurs
-	 * @see org.eclipse.core.boot.IPlatformRunnable#run(java.lang.Object)
-	 */
-	public Object run(Object argArray) throws Exception {
-		ClassLoader originalClassLoader= Thread.currentThread().getContextClassLoader();
-		try {
-			//set the preferences for headless mode
-			AntCorePlugin.getPlugin().setRunningHeadless(true);
-			
-			// Add debug information if necessary - fix for bug 5672.
-			// Since the platform parses the -debug command line arg
-			// and removes it from the args passed to the applications,
-			// we have to check if Eclipse is in debug mode in order to
-			// forward the -debug argument to Ant.
-			if (BootLoader.inDebugMode()) {
-				String[] args = (String[]) argArray;
-				String[] newArgs = new String[args.length + 1];
-				for (int i = 0; i < args.length; i++) {
-					newArgs[i] = args[i];
-				}
-				newArgs[args.length] = "-debug"; //$NON-NLS-1$
-				argArray = newArgs;
-			}
-			ClassLoader loader = getClassLoader();
-			Thread.currentThread().setContextClassLoader(loader);
-			Class classInternalAntRunner = loader.loadClass("org.eclipse.ant.internal.core.ant.InternalAntRunner"); //$NON-NLS-1$
-			Object runner = classInternalAntRunner.newInstance();
-			Method run = classInternalAntRunner.getMethod("run", new Class[] { Object.class }); //$NON-NLS-1$
-			run.invoke(runner, new Object[] { argArray });
-		} finally {
-			Thread.currentThread().setContextClassLoader(originalClassLoader);
-		}
-
-		return EXIT_OK;
-	}
-	
-	private ClassLoader getClassLoader() {
-		if (customClasspath == null) {
-			return AntCorePlugin.getPlugin().getNewClassLoader();
-		} 
-		AntCorePreferences preferences = AntCorePlugin.getPlugin().getPreferences();
-		List fullClasspath= new ArrayList();
-		fullClasspath.addAll(Arrays.asList(customClasspath));
-		fullClasspath.addAll(Arrays.asList(preferences.getExtraClasspathURLs()));
-		return new AntClassLoader((URL[])fullClasspath.toArray(new URL[fullClasspath.size()]), preferences.getPluginClassLoaders());
-	}
-	
-	/**
-	 * Sets the input handler. The parameter <code>className</code>
-	 * is the class name of a <code>org.apache.tools.ant.input.InputHandler</code>
-	 * implementation. The class will be instantiated at runtime and the
-	 * input handler will be used to respond to &lt;input&gt; requests
-	 * Only one input handler is permitted for any build.
-	 * 
-	 * @param className an input handler class name
-	 * @since 2.1
-	 */
-	public void setInputHandler(String className) {
-		inputHandlerClassName= className;
-	}
-	
-	/**
-	 * Sets the user specified property files.
-	 * @param propertyFiles array of property file paths
-	 * @since 2.1
-	 */
-	public void setPropertyFiles(String[] propertyFiles) {
-		this.propertyFiles= propertyFiles;
-	}
-
-	/**
-	 * Sets the custom classpath to use for this build
-	 * @param customClasspath array of URLs that define the custom classpath
-	 */
-	public void setCustomClasspath(URL[] customClasspath) {
-		this.customClasspath = customClasspath;
-	}
-	
-	/**
-	 * Sets the Ant home to use for this build
-	 * @param antHome String specifying the Ant home to use
-	 * @since 2.1
-	 */
- 	public void setAntHome(String antHome) {
- 		this.antHome= antHome;
- 	}
-	/**
-	 * Returns whether an Ant build is already in progress
-	 * 
-	 * Only one Ant build can occur at any given time.
-	 * 
-	 * @since 2.1
-	 * @return boolean
-	 */
-	public static boolean isBuildRunning() {
-		return buildRunning;
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntSecurityException.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntSecurityException.java
deleted file mode 100644
index eed9e4c..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntSecurityException.java
+++ /dev/null
@@ -1,24 +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.ant.core;
-
-
-/**
- * A security exception that is thrown by the AntSecurityManager if
- * an Ant task in some way attempts to halt or exit the Java Virtual Machine.
- * 
- * @since 2.1
- */
-public class AntSecurityException extends SecurityException {
-
-	private static final long serialVersionUID = 1L;
-
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntClasspathEntry.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntClasspathEntry.java
deleted file mode 100644
index af01861..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntClasspathEntry.java
+++ /dev/null
@@ -1,43 +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.ant.core;
-
-import java.net.URL;
-
-/**
- * Represents an Ant classpath entry.
- *
- * @since 3.0
- */
-public interface IAntClasspathEntry {
-
-	/**
-	 * Returns the label for this classpath entry.
-	 * @return the label for this entry.
-	 */
-	public String getLabel();
-	
-	/**
-	 * Returns the URL for this classpath entry or <code>null</code>
-	 * if it cannot be resolved.
-	 * 
-	 * @return the url for this classpath entry.
-	 */
-	public URL getEntryURL();
-	
-	/**
-	 * Returns whether this classpath entry requires the Eclipse runtime to be 
-	 * relevant. Defaults value is <code>true</code>
-	 * 
-	 * @return whether this classpath entry requires the Eclipse runtime
-	 */
-	public boolean isEclipseRuntimeRequired();
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntPropertyValueProvider.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntPropertyValueProvider.java
deleted file mode 100644
index ca590af..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntPropertyValueProvider.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 BBDO Detroit 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:
- *     Thierry Lach (thierry.lach@bbdodetroit.com) - initial API and implementation for bug 40502
- *******************************************************************************/
-package org.eclipse.ant.core;
-
-/**
- * An interface that must be implemented by plugins that wish to contribute
- * predefined variables to an Ant project when run from within Eclipse.
- * 
- * @since 3.0
- */
-public interface IAntPropertyValueProvider {
-
-	/**
-	 * Returns a value that the Ant entry point will use to set the
-	 * value of the Ant property.
-	 *
-	 * @param antPropertyName the Ant property to set
-	 * @return the value for the property, 
-	 *    or <code>null</code> if the property should not be set
-	 */
-	public String getAntPropertyValue(String antPropertyName);   
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ProjectInfo.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ProjectInfo.java
deleted file mode 100644
index 8c6ee56..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ProjectInfo.java
+++ /dev/null
@@ -1,55 +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.ant.core;
-
-
-/**
- * Represents information about a project within an Ant build file.
- * @since 2.1
- */
-
-public class ProjectInfo {
-
-	private String name = null;
-	private String description = null;
-
-	/**
-	 * Create a project information
-	 * 
-	 * @param name project name
-	 * @param description a brief explanation of the project's purpose 		or
-	 * <code>null</code> if not specified
-	 */
-	/*package*/
-	ProjectInfo(String name, String description) {
-		this.name = name == null ? "" : name; //$NON-NLS-1$
-		this.description = description;
-	}
-
-	/**
-	 * Returns the project name.
-	 * 
-	 * @return the project name
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns the project description or <code>null</code> if no
-	 * description is provided.
-	 * 
-	 * @return the project description or <code>null</code> if none
-	 */
-	public String getDescription() {
-		return description;
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Property.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Property.java
deleted file mode 100644
index 702072c..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Property.java
+++ /dev/null
@@ -1,207 +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.ant.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Represents a Ant property.
- * @since 2.1
- */
-public class Property {
-
-	private String name;
-	private String value;
-	private String className;
-	private IAntPropertyValueProvider valueProvider;
-	private String pluginLabel;
-	private ClassLoader loader;
-	private boolean eclipseRuntime= true;
-
-	public Property(String name, String value) {
-		this.name= name;
-		this.value= value;
-	}
-
-	public Property() {
-	}
-	
-	/**
-	 * Gets the name
-	 * @return Returns a String
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Sets the name
-	 * @param name The name to set
-	 */
-	public void setName(String name) {
-		this.name= name;
-	}
-	
-	/*
-	 * @see Object#equals()
-	 */	
-	public boolean equals(Object other) {
-		if (other.getClass().equals(getClass())) {
-			Property elem= (Property)other;
-			return name.equals(elem.getName());
-		}
-		return false;
-	}
-	
-	/*
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return name.hashCode();
-	}
-	
-	/**
-	 * Returns the value.
-	 * Equivalent to calling #getValue(true);
-	 * @return String
-	 */
-	public String getValue() {
-		return getValue(true);
-	}
-	
-	/**
-	 * Returns the value.
-	 * 
-	 * @param substituteVariables whether the value has any variables resolved.
-	 * @return String
-	 * @since 3.0
-	 */
-	public String getValue(boolean substituteVariables) {
-		if (className != null) {
-			Class cls = null;
-			try {
-				cls = loader.loadClass(className);
-			} catch (ClassNotFoundException e) {
-				AntCorePlugin.log(e);
-				return null;
-			}
-			try {
-				valueProvider = (IAntPropertyValueProvider)cls.newInstance();
-			} catch (InstantiationException e) {
-				AntCorePlugin.log(e);
-				return null;
-			} catch (IllegalAccessException ex) {
-				AntCorePlugin.log(ex);
-				return null;
-			}
-			loader= null;
-			className= null;
-		}
-		
-		if (valueProvider != null) {
-			return valueProvider.getAntPropertyValue(name);
-		} 
-		if (substituteVariables) {
-			try {
-				String expanded = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(value);
-				return expanded;
-			} catch (CoreException e) {
-			}
-		} else {
-			return value;
-		}
-		return value;
-	}
-
-	/**
-	 * Sets the value.
-	 * @param value The value to set
-	 */
-	public void setValue(String value) {
-		this.value = value;
-	}
-	
-	/**
-	 * Returns whether this Ant property has been created because of an extension
-	 * point definition.
-	 * 
-	 * @return boolean
-	 * @since 3.0
-	 */
-	public boolean isDefault() {
-		return pluginLabel != null;
-	}
-
-	/**
-	 * Sets the label of the plugin that contributed this Ant property via an extension
-	 * point.
-	 * 
-	 * @param pluginLabel The label of the plugin
-	 * @since 3.0
-	 */
-	public void setPluginLabel(String pluginLabel) {
-		this.pluginLabel = pluginLabel;
-	}
-	
-	/**
-	 * Returns the label of the plugin that contributed this Ant property via an extension
-	 * point.
-	 * 
-	 * @return pluginLabel The label of the plugin
-	 * @since 3.0
-	 */
-	public String getPluginLabel() {
-		return this.pluginLabel;
-	}
-	
-	/**
-	 * Sets the name of the class that is an <code>IAntPropertyValueProvider</code> to be used to dynamically provide a 
-	 * value for this property.
-	 * Sets the class loader to load the <code>IAntPropertyValueProvider</code> to be used to dynamically provide a 
-	 * value for this property.
-	 * 
-	 * @param className The name of the value provider class to use to resolve the value of this property
-	 * @param loader The class loader to use to load the value provider class to use to resolve the value of this property
-	 * @since 3.0
-	 */
-	public void setValueProvider(String className, ClassLoader loader) {
-		this.className= className;
-		this.loader= loader;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buff= new StringBuffer("\""); //$NON-NLS-1$
-		buff.append(getName());
-		buff.append("\"= \""); //$NON-NLS-1$
-		buff.append(getValue(false));
-		buff.append("\""); //$NON-NLS-1$
-		return buff.toString();
-	}
-	
-	/**
-	 * Returns whether this property requires the Eclipse runtime to be 
-	 * relevant. Defaults value is <code>true</code>
-	 * 
-	 * @return whether this property requires the Eclipse runtime
-     * @since 3.0
-	 */
-	public boolean isEclipseRuntimeRequired() {
-		return eclipseRuntime;
-	}
-	
-	public void setEclipseRuntimeRequired(boolean eclipseRuntime) {
-		this.eclipseRuntime= eclipseRuntime;
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/TargetInfo.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/TargetInfo.java
deleted file mode 100644
index 9532ee8..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/TargetInfo.java
+++ /dev/null
@@ -1,115 +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.ant.core;
-
-
-/**
- * Represents information about a target within an Ant build file.
- * @since 2.1
- */
-public class TargetInfo {
-
-	private String name = null;
-	private String description = null;
-	private ProjectInfo project = null;
-	private String[] dependencies = null;
-	private boolean isDefault = false;
-
-	/**
-	 * Create a target information
-	 * 
-	 * @param name target name
-	 * @param description a brief explanation of the target's purpose
-	 * 		or <code>null</code> if not specified
-	 * @param project enclosing project
-	 * @param dependencies names of prerequisite projects 
-	 * @param isDefault whether this is the build file default target
-	 */
-	/*package*/
-	TargetInfo(ProjectInfo project, String name, String description, String[] dependencies, boolean isDefault) {
-		this.name = name == null ? "" : name; //$NON-NLS-1$
-		this.description = description;
-		this.project = project;
-		this.dependencies = dependencies;
-		this.isDefault = isDefault;
-	}
-
-	/**
-	 * Returns the target name.
-	 * 
-	 * @return the target name
-	 */
-	public String getName() {
-		return name;
-	}
-
-	/**
-	 * Returns the target description or <code>null</code> if no
-	 * description is provided.
-	 * 
-	 * @return the target description or <code>null</code> if none
-	 */
-	public String getDescription() {
-		return description;
-	}
-	
-	/**
-	 * Returns the ProjectInfo of the enclosing project.
-	 * 
-	 * @return the project info for the enclosing project
-	 */
-	public ProjectInfo getProject() {
-		return project;
-	}
-	
-	/**
-	 * Return the names of the targets that this target depends on.
-	 * 
-	 * @return the dependent names
-	 */
-	public String[] getDependencies() {
-		return dependencies;
-	}
-
-	/**
-	 * Returns whether this is the build file default target.
-	 * 
-	 * @return whether this is the build file default target
-	 */
-	public boolean isDefault() {
-		return isDefault;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof TargetInfo)) {
-			return false;
-		}
-		TargetInfo other= (TargetInfo)obj;
-		return getName().equals(other.getName());
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getName().hashCode();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getName();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Task.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Task.java
deleted file mode 100644
index 7b9df05..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Task.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.ant.core;
-
-
-import org.eclipse.ant.internal.core.AntObject;
-
-/**
- * Represents an Ant task.
- * @since 2.1
- */
-public class Task extends AntObject {
-
-	/**
-	 * Returns the name of the task
-	 * @return the name of the task
-	 */
-	public String getTaskName() {
-		return fName;
-	}
-
-	/**
-	 * Sets the name of the task
-	 * @param taskName The taskName to set
-	 */
-	public void setTaskName(String taskName) {
-		fName= taskName;
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Type.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Type.java
deleted file mode 100644
index a9c8f8e..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Type.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.ant.core;
-
-
-import org.eclipse.ant.internal.core.AntObject;
-
-/**
- * Represents an Ant type.
- * @since 2.1
- */
-public class Type extends AntObject {
-
-	/**
-	 * Returns the type name
-	 * @return Returns a String
-	 */
-	public String getTypeName() {
-		return fName;
-	}
-
-	/**
-	 * Sets the taskName.
-	 * @param taskName The taskName to set
-	 */
-	public void setTypeName(String taskName) {
-		fName = taskName;
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html
deleted file mode 100644
index a931089..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html
+++ /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">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for running the Ant build tool in the platform.
-<h2>
-Package Specification</h2>
-This package defines a number of task and data types and various infrastructure
-pieces which make Ant in the platform easier and more powerful.
-</body>
-</html>
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AbstractEclipseBuildLogger.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AbstractEclipseBuildLogger.java
deleted file mode 100644
index 008f46e..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AbstractEclipseBuildLogger.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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.ant.internal.core;
-
-import java.util.Map;
-
-import org.eclipse.ant.core.AntCorePlugin;
-
-public abstract class AbstractEclipseBuildLogger {
-    
-    /**
-     * Process identifier - used to link the Eclipse Ant build
-     * loggers to a process.
-     */
-    public static final String ANT_PROCESS_ID = AntCorePlugin.PI_ANTCORE + ".ANT_PROCESS_ID"; //$NON-NLS-1$
-    
-    protected String fProcessId= null;
-    
-    public void configure(Map userProperties) {
-        fProcessId= (String) userProperties.remove(ANT_PROCESS_ID);
-    } 
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClassLoader.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClassLoader.java
deleted file mode 100644
index 159657b..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClassLoader.java
+++ /dev/null
@@ -1,82 +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
- *     Tom Tromey (tromey@redhat.com) - patch for bug 40972
- *******************************************************************************/
-package org.eclipse.ant.internal.core;
-
-
-import java.net.URL;
-import java.net.URLClassLoader;
-
-public class AntClassLoader extends URLClassLoader {
-	
-	private boolean allowPluginLoading= false;
-
-	protected ClassLoader[] pluginLoaders;
-	private static final String ANT_PACKAGES_PREFIX= "org.apache.tools"; //$NON-NLS-1$
-	
-	public AntClassLoader(URL[] urls, ClassLoader[] pluginLoaders) {
-		super(urls, ClassLoader.getSystemClassLoader());
-		this.pluginLoaders = pluginLoaders;
-	}
-
-	protected Class findClass(String name) throws ClassNotFoundException {
-		Class result = null;
-		//check whether to load the Apache Ant classes from the plugin class loaders 
-		//or to only load from the URLs specified from the Ant runtime classpath preferences setting
-		if (allowPluginLoading || !(name.startsWith(ANT_PACKAGES_PREFIX))) {
-			result= loadClassPlugins(name);
-		} 
-		
-		if (result == null) {
-			result = loadClassURLs(name);
-		}
-		if (result == null) {
-			throw new ClassNotFoundException(name);
-		}
-		return result;
-	}
-
-	protected Class loadClassURLs(String name) {
-		try {
-			return super.findClass(name);
-		} catch (ClassNotFoundException e) {
-			// Ignore exception now. If necessary we'll throw
-			// a ClassNotFoundException in findClass(String)
-		}
-		return null;
-	}
-
-	protected Class loadClassPlugins(String name) {
-		Class result = null;
-		if (pluginLoaders != null) {
-			for (int i = 0; (i < pluginLoaders.length) && (result == null); i++) {
-				try {
-					result = pluginLoaders[i].loadClass(name);
-				} catch (ClassNotFoundException e) {
-					// Ignore exception now. If necessary we'll throw
-					// a ClassNotFoundException in loadClass(String)
-				}
-			}
-		}
-		return result;
-	}
-	
-	/**
-	 * Sets whether this classloader will allow Apache Ant classes to be found or
-	 * loaded from its set of plugin classloaders.
-	 * 
-	 * @param allowLoading whether or not to allow the plugin classloaders
-	 * to load the Apache Ant classes
-	 */
-	public void allowPluginClassLoadersToLoadAntClasses(boolean allowLoading) {
-		this.allowPluginLoading = allowLoading;
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClasspathEntry.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClasspathEntry.java
deleted file mode 100644
index 2c8b395..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntClasspathEntry.java
+++ /dev/null
@@ -1,103 +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.ant.internal.core;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.variables.VariablesPlugin;
-
-public class AntClasspathEntry implements IAntClasspathEntry {
-
-	private String entryString;
-	private boolean eclipseRequired= false;
-	private URL url= null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.core.IAntClasspathEntry#getLabel()
-	 */
-	public String getLabel() {
-		
-		return entryString;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.core.IAntClasspathEntry#getEntryURL()
-	 */
-	public URL getEntryURL() {
-		if (url != null) {
-			return url;
-		}
-		try {
-			String expanded = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(entryString);
-			return new URL("file:" + expanded); //$NON-NLS-1$
-		} catch (CoreException e) {
-			try {
-				return new URL("file:" + entryString); //$NON-NLS-1$
-			} catch (MalformedURLException e1) {
-				return null;
-			}
-		} catch (MalformedURLException e) {
-			AntCorePlugin.log(e);
-		}
-		return null;
-	}
-
-	public AntClasspathEntry(String entryString) {
-		this.entryString= entryString;
-	}
-	
-	public AntClasspathEntry(URL url) {
-		this.url= url;
-		this.entryString= new File(url.getPath()).getAbsolutePath();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof IAntClasspathEntry) {
-			IAntClasspathEntry other= (IAntClasspathEntry)obj;
-			return entryString.equals(other.getLabel());
-		}
-		return false;
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return entryString.hashCode();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getLabel();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.core.IAntClasspathEntry#isEclipseRuntimeRequired()
-	 */
-	public boolean isEclipseRuntimeRequired() {
-		return eclipseRequired;
-	}
-	
-	public void setEclipseRuntimeRequired(boolean eclipseRequired) {
-		this.eclipseRequired = eclipseRequired;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntCoreUtil.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntCoreUtil.java
deleted file mode 100644
index 50f3e09..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntCoreUtil.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.core;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-public class AntCoreUtil {
-    
-    /*
-	 * Helper method to ensure an array is converted into an ArrayList.
-	 */
-	public static ArrayList getArrayList(String[] args) {
-		if (args == null) {
-			return null;
-		}
-		// We could be using Arrays.asList() here, but it does not specify
-		// what kind of list it will return. We need a list that
-		// implements the method List.remove(Object) and ArrayList does.
-		ArrayList result = new ArrayList(args.length);
-		for (int i = 0; i < args.length; i++) {
-			result.add(args[i]);
-		}
-		return result;
-	}
-	
-	/*
-	 * From a command line list, get the argument for the given parameter.
-	 * The parameter and its argument are removed from the list.
-	 * 
-	 * @return <code>null</code> if the parameter is not found 
-	 * 			or an empty String if no arguments are found
-	 */
-	public static String getArgument(List commands, String param) {
-		if (commands == null) {
-			return null;
-		}
-		int index = commands.indexOf(param);
-		if (index == -1) {
-			return null;
-		}
-		commands.remove(index);
-		if (index == commands.size()) {// if this is the last command
-			return ""; //$NON-NLS-1$
-		}
-		
-		String command = (String) commands.get(index);
-		if (command.startsWith("-")) { //new parameter //$NON-NLS-1$
-			return ""; //$NON-NLS-1$
-		}
-		commands.remove(index);
-		return command;
-	}
-	
-	public static void processMinusDProperties(List commands, Map userProperties) {
-	    Iterator iter= commands.iterator();
-	    while (iter.hasNext()) {
-            String arg = (String) iter.next();
-			if (arg.startsWith("-D")) { //$NON-NLS-1$
-				String name = arg.substring(2, arg.length());
-				String value = null;
-				int posEq = name.indexOf("="); //$NON-NLS-1$
-				if (posEq == 0) {
-					value= name.substring(1);
-					name= ""; //$NON-NLS-1$
-				} else if (posEq > 0 && posEq != name.length() - 1) {
-					value = name.substring(posEq + 1).trim();
-					name = name.substring(0, posEq);
-				}
-				
-				if (value == null) {
-					//the user has specified something like "-Debug"
-					continue;
-				}
-	
-				userProperties.put(name, value);
-				iter.remove();
-			}
-		}
-	}
-	
-	public static File getFileRelativeToBaseDir(String fileName, String base, String buildFileLocation) {
-		IPath path= new Path(fileName);
-		if (!path.isAbsolute()) {
-			if (base != null) {
-				File baseDir= new File(base);
-				//relative to the base dir
-				path= new Path(baseDir.getAbsolutePath()); 
-			} else {
-				//relative to the build file location
-				path= new Path(buildFileLocation);
-				path= path.removeLastSegments(1);
-			}
-			path= path.addTrailingSeparator();
-			path= path.append(fileName);
-		}
-		
-		return path.toFile();
-	}
-	
-	/**
-	 * Returns a list of Properties contained in the list of fileNames.
-	 */
-	public static List loadPropertyFiles(List fileNames, String base, String buildFileLocation) throws IOException {
-	    List allProperties= new ArrayList(fileNames.size());
-		for (int i = 0; i < fileNames.size(); i++) {
-			String filename = (String) fileNames.get(i);
-           	File file= getFileRelativeToBaseDir(filename, base, buildFileLocation);
-            Properties props = new Properties();
-            FileInputStream fis = null;
-            try {
-                fis = new FileInputStream(file);
-                props.load(fis);
-            } finally {
-                if (fis != null) {
-                    try {
-                        fis.close();
-                    } catch (IOException e){
-                    }
-                }
-            }
-          
-            allProperties.add(props);
-        }
-		return allProperties;
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntObject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntObject.java
deleted file mode 100644
index d7da235..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntObject.java
+++ /dev/null
@@ -1,144 +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.ant.internal.core;
-
-
-import java.net.URL;
-
-import org.eclipse.ant.core.IAntClasspathEntry;
-
-public abstract class AntObject {
-
-	protected String fClassName;
-	protected URL fLibrary;
-	protected IAntClasspathEntry fLibraryEntry;
-	protected String fName;
-	private String fPluginLabel;
-	private boolean eclipseRuntime= true;
-	
-	/**
-	 * Gets the className.
-	 * @return Returns a String
-	 */
-	public String getClassName() {
-		return fClassName;
-	}
-	/**
-	 * Sets the className.
-	 * @param className The className to set
-	 */
-	public void setClassName(String className) {
-		fClassName = className;
-	}
-	/**
-	 * Gets the library.
-	 * @return Returns a URL
-	 * @deprecated use #getLibraryEntry()
-	 */
-	public URL getLibrary() {
-		if (fLibrary != null) {
-			return fLibrary;
-		} 
-		return fLibraryEntry.getEntryURL();	
-	}
-	/**
-	 * Sets the library.
-	 * @param library The library to set
-	 * @deprecated use #setLibraryEntry(IAntClasspathEntry)
-	 */
-	public void setLibrary(URL library) {
-		fLibrary = library;
-	}
-	
-	/**
-	 * Gets the library classpath entry.
-	 * @return Returns a classpath entry for the library of this Ant object
-	 */
-	public IAntClasspathEntry getLibraryEntry() {
-		if (fLibraryEntry != null) {
-			return fLibraryEntry;
-		} 
-		fLibraryEntry= new AntClasspathEntry(fLibrary);
-		return fLibraryEntry;
-	}
-	/**
-	 * Sets the library classpath entry.
-	 * @param libraryEntry The library entry to set
-	 */
-	public void setLibraryEntry(IAntClasspathEntry libraryEntry) {
-		fLibraryEntry = libraryEntry;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return fName;
-	}
-	/**
-	 * Returns whether this Ant object has been created because of an extension
-	 * point definition.
-	 * @return boolean
-	 */
-	public boolean isDefault() {
-		return fPluginLabel != null;
-	}
-
-	/**
-	 * Sets that this Ant object has been created by the appropriate extension
-	 * point.
-	 * @param isDefault Whether this Ant object has been created because of an
-	 * extension point defintion.
-	 * @deprecated Since 3.0 Set the plugin label to indicate a default object
-	 */
-	public void setIsDefault(boolean isDefault) {
-		if (!isDefault) {
-			fPluginLabel= null;
-		}
-	}
-	
-	/**
-	 * Sets the label of the plugin that contributed this Ant object via an extension
-	 * point.
-	 * 
-	 * @param pluginLabel The label of the plugin
-	 * @since 3.0
-	 */
-	public void setPluginLabel(String pluginLabel) {
-		fPluginLabel = pluginLabel;
-	}
-
-	/**
-	 * Returns the label of the plugin that contributed this Ant object via an extension
-	 * point.
-	 * 
-	 * @return pluginLabel The label of the plugin
-	 * @since 3.0
-	 */
-	public String getPluginLabel() {
-		return fPluginLabel;
-	}
-	
-	/**
-	 * Returns whether this Ant object requires the Eclipse runtime to be 
-	 * relevant. Defaults value is <code>true</code>
-	 * 
-	 * @return whether this Ant object requires the Eclipse runtime
-     * @since 3.0
-	 */
-	public boolean isEclipseRuntimeRequired() {
-		return eclipseRuntime;
-	}
-	
-	public void setEclipseRuntimeRequired(boolean eclipseRuntime) {
-		this.eclipseRuntime= eclipseRuntime;
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntPropertyValueProvider.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntPropertyValueProvider.java
deleted file mode 100644
index 9ad2d19..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntPropertyValueProvider.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 BBDO Detroit 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:
- *     Thierry Lach (thierry.lach@bbdodetroit.com) - initial API and implementation for bug 40502
- *     IBM Corporation - added eclipse.running property, bug 65655
- *******************************************************************************/
-package org.eclipse.ant.internal.core;
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.IAntPropertyValueProvider;
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Dynamic provider for Ant properties.
- * 
- * Provides the dynamic values for the following Ant properties:
- * 
- * <ul>
- * <li><code>eclipse.home</code> - set to the Eclipse installation directory</li>
- * </ul>
- * * <ul>
- * <li><code>eclipse.running</code> - set (to "true") when Eclipse is running</li>
- * </ul>
- * 
- * @since 3.0
- */
-public class AntPropertyValueProvider implements IAntPropertyValueProvider {
-	/**
-	 * Returns the dynamic property values for Ant properties.
-	 * 
-	 * @param propertyName The name of the property to resovle the value for
-	 * @return The resolved value for the property
-	 * @see org.eclipse.ant.core.IAntPropertyValueProvider#getAntPropertyValue(String)
-	 */
-	public String getAntPropertyValue(String propertyName) {
-		String value = null;
-		if ("eclipse.running".equals(propertyName)){ //$NON-NLS-1$
-			return "true"; //$NON-NLS-1$
-		} else if ("eclipse.home".equals(propertyName)) { //$NON-NLS-1$
-			try {
-				value = new File(Platform.resolve(new URL("platform:/base/")).getPath()).getAbsolutePath(); //$NON-NLS-1$
-				if (value.endsWith("/")) { //$NON-NLS-1$
-				    value = value.substring(0, value.length() - 1);
-				}
-			} catch (Exception e) {
-				AntCorePlugin.log(e);
-			}
-		}
-		return value;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntSecurityManager.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntSecurityManager.java
deleted file mode 100644
index 2fdebca..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/AntSecurityManager.java
+++ /dev/null
@@ -1,366 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.core;
-
-
-import java.io.FileDescriptor;
-import java.net.InetAddress;
-import java.net.SocketPermission;
-import java.security.Permission;
-import java.util.PropertyPermission;
-
-import org.eclipse.ant.core.AntSecurityException;
-import sun.security.util.SecurityConstants;
-
-/**
- * A security manager that always throws an <code>AntSecurityException</code>
- * if the calling thread attempts to cause the Java Virtual Machine to 
- * exit/halt or if the restricted thread attempts to set a System property.
- * Otherwise this manager just delegates to the pre-existing manager
- * passed in the constructor or mimics the default security manager behavior
- */
-public class AntSecurityManager extends SecurityManager {
-
-	private SecurityManager fSecurityManager= null;
-	private Thread fRestrictedThread= null;
-	
-	public AntSecurityManager(SecurityManager securityManager, Thread restrictedThread) {
-		fSecurityManager= securityManager;
-		fRestrictedThread= restrictedThread;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkExit(int)
-	 */
-	public void checkExit(int status) {
-		//no exit allowed from the restricted thread...System.exit is being called
-		//by some ant task...do not want Eclipse to exit if
-		//in the same VM.
-		if (Thread.currentThread() == fRestrictedThread) {
-			throw new AntSecurityException();
-		}
-		if (fSecurityManager != null) {
-			fSecurityManager.checkExit(status);
-		}
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkAccept(java.lang.String, int)
-	 */
-	public void checkAccept(String host, int port) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkAccept(host, port);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkAccess(java.lang.Thread)
-	 */
-	public void checkAccess(Thread t) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkAccess(t);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkAccess(java.lang.ThreadGroup)
-	 */
-	public void checkAccess(ThreadGroup g) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkAccess(g);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkAwtEventQueueAccess()
-	 */
-	public void checkAwtEventQueueAccess() {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkAwtEventQueueAccess();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkConnect(java.lang.String, int, java.lang.Object)
-	 */
-	public void checkConnect(String host, int port, Object context) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkConnect(host, port, context);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkConnect(java.lang.String, int)
-	 */
-	public void checkConnect(String host, int port) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkConnect(host, port);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkCreateClassLoader()
-	 */
-	public void checkCreateClassLoader() {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkCreateClassLoader();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkDelete(java.lang.String)
-	 */
-	public void checkDelete(String file) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkDelete(file);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkExec(java.lang.String)
-	 */
-	public void checkExec(String cmd) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkExec(cmd);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkLink(java.lang.String)
-	 */
-	public void checkLink(String lib) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkLink(lib);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkListen(int)
-	 */
-	public void checkListen(int port) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkListen(port);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkMemberAccess(java.lang.Class, int)
-	 */
-	public void checkMemberAccess(Class clazz, int which) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkMemberAccess(clazz, which);
-		}
-	}
-
-	/**
-	 * @see java.lang.SecurityManager#checkMulticast(java.net.InetAddress, byte)
-	 * @deprecated
-	 */
-	public void checkMulticast(InetAddress maddr, byte ttl) {
-		if (fSecurityManager != null) {
-			String host = maddr.getHostAddress();
-			if (!host.startsWith("[") && host.indexOf(':') != -1) { //$NON-NLS-1$
-	   			host = "[" + host + "]"; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-	    	checkPermission(new SocketPermission(host, "accept,connect")); //$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkMulticast(java.net.InetAddress)
-	 */
-	public void checkMulticast(InetAddress maddr) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkMulticast(maddr);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkPackageAccess(java.lang.String)
-	 */
-	public void checkPackageAccess(String pkg) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkPackageAccess(pkg);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkPackageDefinition(java.lang.String)
-	 */
-	public void checkPackageDefinition(String pkg) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkPackageDefinition(pkg);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkPermission(java.security.Permission, java.lang.Object)
-	 */
-	public void checkPermission(Permission perm, Object context) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkPermission(perm, context);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkPermission(java.security.Permission)
-	 */
-	public void checkPermission(Permission perm) {
-		if (perm.getActions().equals(SecurityConstants.PROPERTY_WRITE_ACTION)) {
-			if (perm instanceof PropertyPermission && fRestrictedThread == Thread.currentThread()) {
-				//attempting to write a system property
-				throw new AntSecurityException();
-			}
-		}
-		if (fSecurityManager != null) {
-			fSecurityManager.checkPermission(perm);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkPrintJobAccess()
-	 */
-	public void checkPrintJobAccess() {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkPrintJobAccess();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkPropertiesAccess()
-	 */
-	public void checkPropertiesAccess() {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkPropertiesAccess();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkPropertyAccess(java.lang.String)
-	 */
-	public void checkPropertyAccess(String key) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkPropertyAccess(key);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkRead(java.io.FileDescriptor)
-	 */
-	public void checkRead(FileDescriptor fd) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkRead(fd);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkRead(java.lang.String, java.lang.Object)
-	 */
-	public void checkRead(String file, Object context) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkRead(file, context);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkRead(java.lang.String)
-	 */
-	public void checkRead(String file) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkRead(file);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkSecurityAccess(java.lang.String)
-	 */
-	public void checkSecurityAccess(String target) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkSecurityAccess(target);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkSetFactory()
-	 */
-	public void checkSetFactory() {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkSetFactory();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkSystemClipboardAccess()
-	 */
-	public void checkSystemClipboardAccess() {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkSystemClipboardAccess();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkTopLevelWindow(java.lang.Object)
-	 */
-	public boolean checkTopLevelWindow(Object window) {
-		if (fSecurityManager != null) {
-			return fSecurityManager.checkTopLevelWindow(window);
-		}
-		return super.checkTopLevelWindow(window);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkWrite(java.io.FileDescriptor)
-	 */
-	public void checkWrite(FileDescriptor fd) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkWrite(fd);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#checkWrite(java.lang.String)
-	 */
-	public void checkWrite(String file) {
-		if (fSecurityManager != null) {
-			fSecurityManager.checkWrite(file);
-		}
-	}
-
-	/**
-	 * @see java.lang.SecurityManager#getInCheck()
-	 * @deprecated
-	 */
-	public boolean getInCheck() {
-		if (fSecurityManager != null) {
-			return fSecurityManager.getInCheck();
-		}
-		return super.getInCheck();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#getSecurityContext()
-	 */
-	public Object getSecurityContext() {
-		if (fSecurityManager != null) {
-			return fSecurityManager.getSecurityContext();
-		}
-		return super.getSecurityContext();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.SecurityManager#getThreadGroup()
-	 */
-	public ThreadGroup getThreadGroup() {
-		if (fSecurityManager != null) {
-			fSecurityManager.getThreadGroup();
-		}
-		return super.getThreadGroup();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/IAntCoreConstants.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/IAntCoreConstants.java
deleted file mode 100644
index 561e06d..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/IAntCoreConstants.java
+++ /dev/null
@@ -1,46 +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.ant.internal.core;
-
-
-/**
- * Common constants.
- */
-public interface IAntCoreConstants {
-
-	// default values
-	public static final String DEFAULT_BUILD_FILENAME = "build.xml"; //$NON-NLS-1$
-
-	// preferences
-	public static final String PREFERENCE_TASKS = "tasks"; //$NON-NLS-1$
-	public static final String PREFERENCE_TYPES = "types"; //$NON-NLS-1$
-	
-	public static final String PREFIX_TASK = "task."; //$NON-NLS-1$
-	public static final String PREFIX_TYPE = "type."; //$NON-NLS-1$
-	
-	/**
-	 * Preferences
-	 * @since 3.0
-	 */
-	public static final String PREFERENCE_ANT_HOME_ENTRIES = "ant_home_entries"; //$NON-NLS-1$
-	public static final String PREFERENCE_ADDITIONAL_ENTRIES = "additional_entries"; //$NON-NLS-1$
-	
-	public static final String PREFERENCE_CLASSPATH_CHANGED = "classpath_changed"; //$NON-NLS-1$
-	
-	/**
-	 * Preferences
-	 * @since 2.1
-	 */
-	public static final String PREFERENCE_ANT_HOME = "ant_home"; //$NON-NLS-1$
-	public static final String PREFERENCE_PROPERTIES = "properties"; //$NON-NLS-1$
-	public static final String PREFERENCE_PROPERTY_FILES = "propertyfiles"; //$NON-NLS-1$
-	public static final String PREFIX_PROPERTY = "property."; //$NON-NLS-1$
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/InternalCoreAntMessages.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/InternalCoreAntMessages.java
deleted file mode 100644
index 6c78b5f..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/InternalCoreAntMessages.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.ant.internal.core;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class InternalCoreAntMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.core.InternalCoreAntMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private InternalCoreAntMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/InternalCoreAntMessages.properties b/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/InternalCoreAntMessages.properties
deleted file mode 100644
index 0f40a1f..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/internal/core/InternalCoreAntMessages.properties
+++ /dev/null
@@ -1,23 +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
-###############################################################################
-
-AntCorePreferences.Malformed_URL._1=Malformed URL.
-AntCorePreferences.Library_not_specified_for__{0}_4=Library not specified for: {0}
-AntCorePreferences.No_library_for_task=The library {0} specified via the antTasks extension point of {1} does not exist
-AntCorePreferences.No_library_for_type=The library {0} specified via the antTypes extension point of {1} does not exist
-AntCorePreferences.8=It appears the library specified via the antTasks or antTypes extension point of {0} does not exist
-AntCorePreferences.No_library_for_extraClasspathEntry=The library {0} specified via the extraClasspathEntries extension point of {1} does not exist
-AntCorePreferences.6=It appears the library specified via the extraClasspathEntries extension point of {0} does not exist
-
-AntRunner.Could_not_find_one_or_more_classes._Please_check_the_Ant_classpath._1=Could not find one or more classes. Please check the Ant classpath.
-AntRunner.Could_not_find_one_or_more_classes._Please_check_the_Ant_classpath._2=Could not find one or more classes: \"{0}\". Please check the Ant classpath.
-AntRunner.Build_Failed._3=BUILD FAILED
-AntRunner.Already_in_progess=Ant build {0} already already in progress. Concurrent Ant builds are possible if you specify to build in a separate JRE.
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/DemuxInputStreamSetter.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/DemuxInputStreamSetter.java
deleted file mode 100644
index 7a43356..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/DemuxInputStreamSetter.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.core.ant;
-
-
-import org.apache.tools.ant.DemuxInputStream;
-import org.apache.tools.ant.Project;
-
-/**
- * This class exists so that the Ant integration has backwards compatibility
- * with Ant releases previous to 1.6. DemuxInputStream is a new class to Ant 1.6.
- */
-class DemuxInputStreamSetter {
-
-	protected void remapSystemIn(Project project) {
-		System.setIn(new DemuxInputStream(project));
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InputHandlerSetter.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InputHandlerSetter.java
deleted file mode 100644
index 772a01c..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InputHandlerSetter.java
+++ /dev/null
@@ -1,44 +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.ant.internal.core.ant;
-
-
-import java.text.MessageFormat;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.input.DefaultInputHandler;
-import org.apache.tools.ant.input.InputHandler;
-
-/**
- * This class exists so that the Ant integration has backwards compatibility
- * with Ant releases previous to 1.5. InputHandlers are a new feature of Ant 1.5.
- */
-class InputHandlerSetter {
-
-	protected void setInputHandler(Project project, String inputHandlerClassname) {
-		InputHandler handler = null;
-		if (inputHandlerClassname == null) {
-			handler = new DefaultInputHandler();
-		} else {
-			try {
-				handler = (InputHandler)(Class.forName(inputHandlerClassname).newInstance());
-			} catch (ClassCastException e) {
-				String msg = MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.The_specified_input_handler_class_{0}_does_not_implement_the_org.apache.tools.ant.input.InputHandler_interface_5"), new String[]{inputHandlerClassname}); //$NON-NLS-1$
-				throw new BuildException(msg, e);
-			} catch (Exception e) {
-				String msg = MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Unable_to_instantiate_specified_input_handler_class_{0}___{1}_6"), new String[]{inputHandlerClassname, e.getClass().getName()}); //$NON-NLS-1$
-				throw new BuildException(msg, e);
-			}
-		}
-		project.setInputHandler(handler);
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntMessages.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntMessages.java
deleted file mode 100644
index 957f3b1..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntMessages.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.ant.internal.core.ant;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class InternalAntMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.core.ant.InternalAntMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private InternalAntMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntMessages.properties b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntMessages.properties
deleted file mode 100644
index bbcc21c..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntMessages.properties
+++ /dev/null
@@ -1,77 +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
-###############################################################################
-
-InternalAntRunner.Build_file__{0}_1=Buildfile: {0}
-InternalAntRunner.Arguments__{0}_2=Arguments: {0}
-InternalAntRunner.Default_target__3=Default target:
-InternalAntRunner.Main_targets__4=Main targets:
-InternalAntRunner.Subtargets__5=Subtargets:
-InternalAntRunner.Unable_to_instantiate_logger__{0}_6=Unable to instantiate logger: {0}
-InternalAntRunner.Could_not_load_the_version_information._{0}_9=Could not load the version information. {0}
-InternalAntRunner.Could_not_load_the_version_information._10=Could not load the version information.
-InternalAntRunner.options_13=options
-InternalAntRunner.target_15=target
-InternalAntRunner.Options___21=Options: 
-InternalAntRunner.print_this_message_23=print this message
-InternalAntRunner.print_project_help_information_25=print project help information
-InternalAntRunner.print_the_version_information_and_exit_27=print the version information and exit
-InternalAntRunner.be_extra_quiet_29=be extra quiet
-InternalAntRunner.be_extra_verbose_31=be extra verbose
-InternalAntRunner.print_debugging_information_33=print debugging information
-InternalAntRunner.produce_logging_information_without_adornments_35=produce logging information without adornments
-InternalAntRunner.use_given_file_for_log_37=use given file for log
-InternalAntRunner.the_class_which_is_to_perform_logging_39=the class which is to perform logging
-InternalAntRunner.add_an_instance_of_class_as_a_project_listener_41=add an instance of class as a project listener
-InternalAntRunner.use_given_buildfile_43=use given buildfile
-InternalAntRunner.use_value_for_given_property_45=use value for given property
-InternalAntRunner.Using_{0}_file_as_build_log._1=Using {0} file as build log.
-InternalAntRunner.Could_not_write_to_the_specified_log_file__{0}._Make_sure_the_path_exists_and_you_have_write_permissions._2=Cannot write on the specified log file: {0}. Make sure the path exists and you have write permissions.
-InternalAntRunner.BUILD_SUCCESSFUL_1=BUILD SUCCESSFUL
-InternalAntRunner.Unknown_argument__{0}_2=Unknown argument: {0}
-InternalAntRunner.Buildfile__{0}_does_not_exist_!_1=Buildfile: {0} does not exist
-InternalAntRunner.{0}_which_was_specified_to_be_a_build_listener_is_not_an_instance_of_org.apache.tools.ant.BuildListener._1={0} which was specified to be a build listener is not an instance of org.apache.tools.ant.BuildListener.
-InternalAntRunner.{0}_which_was_specified_to_perform_logging_is_not_an_instance_of_org.apache.tools.ant.BuildLogger._2={0} which was specified to perform logging is not an instance of org.apache.tools.ant.BuildLogger.
-InternalAntRunner.You_must_specify_a_classname_when_using_the_-listener_argument_1=You must specify a classname when using the -listener argument
-InternalAntRunner.You_must_specify_a_classname_when_using_the_-logger_argument_2=You must specify a classname when using the -logger argument
-InternalAntRunner.You_must_specify_a_log_file_when_using_the_-log_argument_3=You must specify a log file when using the -log argument
-InternalAntRunner.You_must_specify_a_buildfile_when_using_the_-buildfile_argument_4=You must specify a buildfile when using the -buildfile argument
-InternalAntRunner.12=print information that might be helpful to
-InternalAntRunner.13=\t\t\t\t\t\tdiagnose or report problems.
-InternalAntRunner.19=load all properties from file with -D
-InternalAntRunner.20=\t\t\t\t\t\tproperties taking precedence
-InternalAntRunner.22=the class which will handle input requests
-InternalAntRunner.1=\t\t\t\"
-InternalAntRunner.Class_{0}_not_found_for_task_{1}_1=Class {0} not found for task {1}
-InternalAntRunner.Class_{0}_not_found_for_type_{1}_2=Class {0} not found for type {1}
-InternalAntRunner.Only_one_logger_class_may_be_specified_1=Only one logger class may be specified
-InternalAntRunner.You_must_specify_a_classname_when_using_the_-inputhandler_argument_1=You must specify a classname when using the -inputhandler argument
-InternalAntRunner.Only_one_input_handler_class_may_be_specified._2=Only one input handler class may be specified.
-InternalAntRunner.You_must_specify_a_property_filename_when_using_the_-propertyfile_argument_3=You must specify a property filename when using the -propertyfile argument
-InternalAntRunner.4=Could not load property file: {0}
-InternalAntRunner.The_specified_input_handler_class_{0}_does_not_implement_the_org.apache.tools.ant.input.InputHandler_interface_5=The specified input handler class {0} does not implement the org.apache.tools.ant.input.InputHandler interface
-InternalAntRunner.Unable_to_instantiate_specified_input_handler_class_{0}___{1}_6=Unable to instantiate specified input handler class {0} : {1}
-InternalAntRunner.Specifying_an_InputHandler_is_an_Ant_1.5.*_feature._Please_update_your_Ant_classpath_to_include_an_Ant_version_greater_than_this._2=Specifying an InputHandler is an Ant 1.5.* feature. Please update your Ant classpath to include an Ant version greater than this.
-InternalAntRunner.The_diagnositics_options_is_an_Ant_1.5.*_feature._Please_update_your_Ant_classpath_to_include_an_Ant_version_greater_than_this._4=The diagnositics options is an Ant 1.5.* feature. Please update your Ant classpath to include an Ant version greater than this.
-InternalAntRunner.Specifying_property_files_is_a_Ant_1.5.*_feature._Please_update_your_Ant_classpath._6=Specifying property files is a Ant 1.5.* feature. Please update your Ant classpath to include an Ant version greater than this.
-InternalAntRunner.Default_target_{0}{1}{2}_does_not_exist_in_this_project_1=Default target {0}{1}{2} does not exist in this project
-InternalAntRunner.ANT_HOME_must_be_set_to_use_Ant_diagnostics_2=ANT_HOME must be set to use Ant diagnostics
-InternalAntRunner.Buildfile__{0}_is_not_a_file_1=Buildfile: {0} is not a file
-InternalAntRunner.-find_not_supported=-find not supported.\nCan be emulated using Run As > Ant Build located\nin the Run > External Tools menu
-InternalAntRunner.Error_setting_Ant_task=Error setting Ant task {0}
-InternalAntRunner.Missing_Class=Could not load a class required for parsing targets
-InternalAntRunner.157=-lib not supported\nConfigure the Ant runtime classpath using either the\nglobal Ant runtime classpath or the Ant runtime classpath\n for this particular build
-InternalAntRunner.158=\t\t\tdo not allow interactive input
-InternalAntRunner.159=\t\texecute all targets that do not depend
-InternalAntRunner.160=\t\t\t\t\t\ton failed target(s)
-
-ProgressBuildListener.Build_cancelled._5=Build cancelled.
-
-InternalProject.0=Could not create type {0} due to {1}
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
deleted file mode 100644
index a123170..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
+++ /dev/null
@@ -1,1450 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * Portions Copyright  2000-2005 The Apache Software Foundation
- * All rights reserved. This program and the accompanying materials are made 
- * available under the terms of the Apache Software License v2.0 which 
- * accompanies this distribution and is available at 
- * http://www.apache.org/licenses/LICENSE-2.0.
- * 
- * Contributors:
- *     IBM Corporation - derived implementation
- *     Blake Meike (blakem@world.std.com)- patch for bug 31691 and bug 34488
- *******************************************************************************/
-
-package org.eclipse.ant.internal.core.ant;
- 
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Vector;
-import org.apache.tools.ant.AntTypeDefinition;
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.BuildLogger;
-import org.apache.tools.ant.ComponentHelper;
-import org.apache.tools.ant.DefaultLogger;
-import org.apache.tools.ant.DemuxOutputStream;
-import org.apache.tools.ant.Diagnostics;
-import org.apache.tools.ant.Main;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.ProjectHelper;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.TaskAdapter;
-import org.apache.tools.ant.XmlLogger;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.AntSecurityException;
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.core.Type;
-import org.eclipse.ant.internal.core.AbstractEclipseBuildLogger;
-import org.eclipse.ant.internal.core.AntCoreUtil;
-import org.eclipse.ant.internal.core.AntSecurityManager;
-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.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.osgi.framework.Bundle;
-
-/**
- * Eclipse application entry point into Ant. Derived from the original Ant Main class
- * to ensure that the functionality is equivalent when running in the platform.
- */
-public class InternalAntRunner {
-
-	private IProgressMonitor monitor;
-
-	private List buildListeners;
-
-	private String buildFileLocation;
-
-	/** 
-	 * Targets we want to run.
-	 */
-	private Vector targets;
-
-	private Map userProperties;
-	private boolean noExplicitUserProperties= true;
-	
-	private Project currentProject;
-	
-	private String defaultTarget;
-	
-	private BuildLogger buildLogger= null;
-	
-	/**
-	 * Cache of the Ant version number when it has been loaded
-	 */
-	private String antVersionNumber= null;
-
-	/** Current message output status. Follows Project.MSG_XXX */
-	private int messageOutputLevel = Project.MSG_INFO;
-
-	/** Indicates whether output to the log is to be unadorned. */
-	private boolean emacsMode = false;
-
-	/** Indicates we should only parse and display the project help information */
-	private boolean projectHelp = false;
-
-	/** Stream that we are using for logging */
-	private PrintStream out = System.out;
-
-	/** Stream that we are using for logging error messages */
-	private PrintStream err = System.err;
-
-	/**
-	 * The Ant logger class. There may be only one logger. It will have the
-	 * right to use the 'out' PrintStream. The class must implement the BuildLogger
-	 * interface.  An empty String indicates that no logger is to be used.  A <code>null</code>
-	 * name indicates that the <code>org.apache.tools.ant.DefaultLogger</code> will be used.
-	 */
-	private String loggerClassname = null;
-
-	/** Extra arguments to be parsed as command line arguments. */
-	private String[] extraArguments = null;
-	
-	private boolean scriptExecuted= false;
-	
-	private List propertyFiles= new ArrayList();
-	
-	private URL[] customClasspath= null;
-	
-	/**
-     * The Ant InputHandler class. There may be only one input handler.
-     */
-    private String inputHandlerClassname = null;
-    
-    private String buildAntHome= null;
-    
-    /** 
-     * Indicates whether to execute all targets that 
-     * do not depend on failed targets
-     * @since Ant 1.6.0
-     */
-    private boolean keepGoing= false;
-
-    /** 
-     * Indicates whether this build is to support interactive input 
-     * @since Ant 1.6.0
-     */
-    private boolean allowInput = true;
-    
-    private String fEarlyErrorMessage= null;
-    
-	/**
-	 * Adds a build listener.
-	 * 
-	 * @param classNames the fully qualified names of the build listeners to be added
-	 */
-	public void addBuildListeners(List classNames) {
-		if (buildListeners == null) {
-			buildListeners = new ArrayList(classNames.size());
-		}
-		buildListeners.addAll(classNames);
-	}
-
-	/**
-	 * Adds a build logger. There can be only one build logger.
-	 * @param className The fully qualified name of the build logger to add
-	 */
-	public void addBuildLogger(String className) {
-		loggerClassname = className;
-	}
-
-	/**
-	 * Adds user properties to the current collection of user properties.
-	 * @param properties The user properties to be added
-	 */
-	public void addUserProperties(Map properties) {
-		if (userProperties == null) {
-			userProperties= new HashMap(properties);
-		} else {
-			userProperties.putAll(properties);
-		}
-		noExplicitUserProperties= false;
-	}
-	
-	/**
-	 * Adds user property files.
-	 * @param additionalPropertyFiles The property files to add
-	 * @since 2.1
-	 */
-	public void addPropertyFiles(String[] additionalPropertyFiles) {
-		propertyFiles.addAll(Arrays.asList(additionalPropertyFiles));
-	}
-
-	private void addBuildListeners(Project project) {
-		String className= null;
-		try {
-			BuildLogger logger= createLogger();
-			if (logger != null) {
-				project.addBuildListener(logger);
-			}
-			if (buildListeners != null) {
-				for (Iterator iterator = buildListeners.iterator(); iterator.hasNext();) {
-					className = (String) iterator.next();
-					Class listener = Class.forName(className);
-					project.addBuildListener((BuildListener) listener.newInstance());
-				}
-			}
-		} catch (ClassCastException e) {
-			String message = MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.{0}_which_was_specified_to_be_a_build_listener_is_not_an_instance_of_org.apache.tools.ant.BuildListener._1"), new String[]{className}); //$NON-NLS-1$
-			logMessage(null, message, Project.MSG_ERR);
-			throw new BuildException(message, e);
-		} catch (BuildException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new BuildException(e);
-		}
-	}
-
-	private void setProperties(Project project, boolean substituteVariables) {
-		setBuiltInProperties(project);
-		if (userProperties != null) {
-			for (Iterator iterator = userProperties.entrySet().iterator(); iterator.hasNext();) {
-				Map.Entry entry = (Map.Entry) iterator.next();
-				String value= (String) entry.getValue();
-				if (substituteVariables) {
-					try {
-						value= VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution((String) entry.getValue());
-					} catch (CoreException e) {
-					}
-				}
-				project.setUserProperty((String) entry.getKey(), value);
-				
-			}
-			//may have properties set (always have the Ant process ID)
-			//using the Arguments and not the Properties page
-			//if set using the arguments, still include the global properties
-			if (noExplicitUserProperties) {
-				setGlobalProperties(project, substituteVariables);
-			}
-		} else {
-			setGlobalProperties(project, substituteVariables);
-		}
-	}
-
-	private void setBuiltInProperties(Project project) {
-		//note also see processAntHome for system properties that are set
-		project.setUserProperty("ant.file", getBuildFileLocation()); //$NON-NLS-1$
-		project.setUserProperty("ant.version", Main.getAntVersion()); //$NON-NLS-1$
-	}
-	
-	private void setGlobalProperties(Project project, boolean substituteVariables) {
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		List properties= prefs.getProperties();
-		if (properties != null) {
-			for (Iterator iter = properties.iterator(); iter.hasNext();) {
-				Property property = (Property) iter.next();
-				String value= property.getValue(substituteVariables);
-				if (value != null) {
-					project.setUserProperty(property.getName(), value);
-				}
-			}
-		}
-	}
-
-	private void setTasks(Project project) {
-		List tasks = AntCorePlugin.getPlugin().getPreferences().getTasks();
-		
-		for (Iterator iterator = tasks.iterator(); iterator.hasNext();) {
-			org.eclipse.ant.core.Task task = (org.eclipse.ant.core.Task) iterator.next();
-			
-			if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-				AntTypeDefinition def= new AntTypeDefinition();
-				def.setName(task.getTaskName());
-	            def.setClassName(task.getClassName());
-	            def.setClassLoader(this.getClass().getClassLoader());
-	            def.setAdaptToClass(Task.class);
-	            def.setAdapterClass(TaskAdapter.class);
-	            ComponentHelper.getComponentHelper(project).addDataTypeDefinition(def);
-			} else {
-				try {
-					Class taskClass = Class.forName(task.getClassName());
-					if (isVersionCompatible("1.5")) { //$NON-NLS-1$
-						try {
-							project.checkTaskClass(taskClass);
-						} catch (BuildException e) {
-							IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Error_setting_Ant_task"), new String[]{task.getTaskName()}), e); //$NON-NLS-1$
-							AntCorePlugin.getPlugin().getLog().log(status);
-							continue;
-						}
-						}
-					project.addTaskDefinition(task.getTaskName(), taskClass);
-				} catch (ClassNotFoundException e) {
-					IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Class_{0}_not_found_for_task_{1}_1"), new String[]{task.getClassName(), task.getTaskName()}), e); //$NON-NLS-1$
-					AntCorePlugin.getPlugin().getLog().log(status);
-					}
-				}
-		}
-	}
-
-	private void setTypes(Project project) {
-		List types = AntCorePlugin.getPlugin().getPreferences().getTypes();
-		for (Iterator iterator = types.iterator(); iterator.hasNext();) {
-			Type type = (Type) iterator.next();
-			if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-				AntTypeDefinition def = new AntTypeDefinition();
-                def.setName(type.getTypeName());
-                def.setClassName(type.getClassName());
-                def.setClassLoader(this.getClass().getClassLoader());
-                ComponentHelper.getComponentHelper(project).addDataTypeDefinition(def);
-			} else {
-				try {
-					Class typeClass = Class.forName(type.getClassName());
-					project.addDataTypeDefinition(type.getTypeName(), typeClass);
-				} catch (ClassNotFoundException e) {
-					IStatus status = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.ERROR_RUNNING_BUILD, MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Class_{0}_not_found_for_type_{1}_2"), new String[]{type.getClassName(), type.getTypeName()}), e); //$NON-NLS-1$
-					AntCorePlugin.getPlugin().getLog().log(status);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Parses the build file and adds necessary information into
-	 * the given project.
-	 * @param project The project to configure
-	 */
-	private void parseBuildFile(Project project) {
-		File buildFile = new File(getBuildFileLocation());
-		if (!buildFile.exists()) {
-			throw new BuildException(MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Buildfile__{0}_does_not_exist_!_1"), //$NON-NLS-1$
-						 new String[]{buildFile.getAbsolutePath()}));
-		}
-		if (!buildFile.isFile()) {
-			throw new BuildException(MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Buildfile__{0}_is_not_a_file_1"), //$NON-NLS-1$
-							new String[]{buildFile.getAbsolutePath()}));
-		}
-		
-		ProjectHelper helper = ProjectHelper.getProjectHelper();
-		project.addReference("ant.projectHelper", helper); //$NON-NLS-1$
-		helper.parse(project, buildFile);
-	}
-
-	/**
-	 * Gets all the target information from the build script.
-	 * Returns a list of lists. Each item in the enclosing list represents a
-	 * target, where the first element is the name, the
-	 * second element is the description, the third element is the
-	 * project name, and the last elements is an array of dependencies.
-	 * @return a list of lists representing the targets
-	 */
-	public List getTargets() {
-		try {
-		    setJavaClassPath();
-			Project antProject;
-		
-			if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-				//in Ant version 1.6 or greater all tasks can exist outside the scope of a target
-				antProject= new Project();
-			} else {
-				antProject= new InternalProject();
-			}
-			processAntHome(false);
-			antProject.init();
-			setTypes(antProject);
-			boolean exceptionState= processProperties(AntCoreUtil.getArrayList(extraArguments));
-            if (fEarlyErrorMessage != null) {
-                if (exceptionState) {
-                    throw new BuildException(fEarlyErrorMessage);
-                }
-            }
-			
-			setProperties(antProject, false);
-			if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-				new InputHandlerSetter().setInputHandler(antProject, "org.eclipse.ant.internal.core.ant.NullInputHandler"); //$NON-NLS-1$
-			}
-			parseBuildFile(antProject);
-			defaultTarget = antProject.getDefaultTarget();
-			Enumeration projectTargets = antProject.getTargets().elements();
-			List infos= new ArrayList();
-			infos.add(antProject.getName());
-			infos.add(antProject.getDescription());
-			List info;
-			Target target;
-			boolean defaultFound= false;
-			while (projectTargets.hasMoreElements()) {
-				target = (Target) projectTargets.nextElement();
-				String name= target.getName();
-				if (name.length() == 0) {
-					//"no name" implicit target of Ant 1.6
-					continue;
-				}
-				info= new ArrayList(4);
-				info.add(name);
-				if (target.getName().equals(defaultTarget)) {
-					defaultFound= true;
-				}
-				info.add(target.getDescription());
-				List dependencies= new ArrayList();
-				Enumeration enumeration= target.getDependencies();
-				while (enumeration.hasMoreElements()) {
-					dependencies.add(enumeration.nextElement());
-				}
-				String[] dependencyArray= new String[dependencies.size()];
-				dependencies.toArray(dependencyArray);
-				info.add(dependencyArray);
-				infos.add(info);
-			}
-			if (!defaultFound) {
-				//default target must exist
-				throw new BuildException(MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Default_target_{0}{1}{2}_does_not_exist_in_this_project_1"), new String[]{"'", defaultTarget, "'"})); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			return infos;
-		} finally {
-			processAntHome(true);
-		}
-	}
-	
-	/**
-	 * Returns the default target name that was last computed or <code>null</code>
-	 * if no default target has been computed.
-	 * @return the default target name
-	 */
-	public String getDefaultTarget() {
-		return defaultTarget;
-	}
-
-	/**
-	 * Runs the build script.
-	 */
-	public void run() {
-		run(AntCoreUtil.getArrayList(extraArguments));
-	}
-
-	private void printArguments(Project project) {
-		if ((messageOutputLevel != Project.MSG_DEBUG) && (messageOutputLevel != Project.MSG_VERBOSE)) {
-			return;
-		}
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0; i < extraArguments.length; i++) {
-			sb.append(extraArguments[i]);
-			sb.append(' ');
-		}
-		project.log(MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Arguments__{0}_2"), new String[]{sb.toString().trim()})); //$NON-NLS-1$
-	}
-
-	private void createMonitorBuildListener(Project project) {
-		if (monitor == null) {
-			return;
-		}
-		List chosenTargets = targets;
-		if (chosenTargets == null || chosenTargets.isEmpty()) {
-			chosenTargets = new ArrayList(1);
-			String defltTarget= project.getDefaultTarget();
-			if (defltTarget != null) {
-				chosenTargets.add(defltTarget);
-			}
-		}
-		project.addBuildListener(new ProgressBuildListener(project, chosenTargets, monitor));
-	}
-
-	/**
-	 * Logs a message with the client that lists the targets
-	 * in a project
-	 * 
-	 * @param project the project to list targets from
-	 */
-	private void printTargets(Project project) {
-		// find the target with the longest name
-		int maxLength = 0;
-		Enumeration ptargets = project.getTargets().elements();
-		String targetName;
-		String targetDescription;
-		Target currentTarget;
-		// split the targets in top-level and sub-targets depending
-		// on the presence of a description
-		List topNames = new ArrayList();
-		List topDescriptions = new ArrayList();
-		List subNames = new ArrayList();
-
-		while (ptargets.hasMoreElements()) {
-			currentTarget = (Target) ptargets.nextElement();
-			targetName = currentTarget.getName();
-			targetDescription = currentTarget.getDescription();
-			if (targetDescription == null) {
-				subNames.add(targetName);
-			} else {
-				topNames.add(targetName);
-				topDescriptions.add(targetDescription);
-				if (targetName.length() > maxLength) {
-					maxLength = targetName.length();
-				}
-			}
-		}
-
-		Collections.sort(subNames);
-		Collections.sort(topNames);
-		Collections.sort(topDescriptions);
-		
-		String defaultTargetName = project.getDefaultTarget();
-		if (defaultTargetName != null && !"".equals(defaultTargetName)) { // shouldn't need to check but... //$NON-NLS-1$
-			List defaultName = new ArrayList(1);
-			List defaultDesc = null;
-			defaultName.add(defaultTargetName);
-
-			int indexOfDefDesc = topNames.indexOf(defaultTargetName);
-			if (indexOfDefDesc >= 0) {
-				defaultDesc = new ArrayList(1);
-				defaultDesc.add(topDescriptions.get(indexOfDefDesc));
-			}
-			printTargets(project, defaultName, defaultDesc, InternalAntMessages.getString("InternalAntRunner.Default_target__3"), maxLength); //$NON-NLS-1$
-
-		}
-
-		printTargets(project, topNames, topDescriptions, InternalAntMessages.getString("InternalAntRunner.Main_targets__4"), maxLength); //$NON-NLS-1$
-		printTargets(project, subNames, null, InternalAntMessages.getString("InternalAntRunner.Subtargets__5"), 0); //$NON-NLS-1$
-	}
-
-	/**
-	 * Logs a message with the client that lists the target names and optional descriptions
-	 * 
-	 * @param project the enclosing target
-	 * @param names the targets names
-	 * @param descriptions the corresponding descriptions
-	 * @param heading the message heading
-	 * @param maxlen maximum length that can be allocated for a name
-	 */
-	private void printTargets(Project project, List names, List descriptions, String heading, int maxlen) {
-		// now, start printing the targets and their descriptions
-		String lSep = System.getProperty("line.separator"); //$NON-NLS-1$
-		
-		String spaces = "    "; //$NON-NLS-1$
-		while (spaces.length() < maxlen) {
-			spaces += spaces;
-		}
-		StringBuffer msg = new StringBuffer();
-		msg.append(heading + lSep + lSep);
-		for (int i = 0; i < names.size(); i++) {
-			msg.append(' ');
-			msg.append(names.get(i));
-			if (descriptions != null) {
-				msg.append(spaces.substring(0, maxlen - ((String) names.get(i)).length() + 2));
-				msg.append(descriptions.get(i));
-			}
-			msg.append(lSep);
-		}
-		logMessage(project, msg.toString(), Project.MSG_INFO);
-	}
-
-	/**
-	 * Invokes the building of a project object and executes a build using either a given
-	 * target or the default target. This method is called if running in
-	 * headless mode.
-	 * @see org.eclipse.ant.core.AntRunner#run(Object)
-	 * @param argArray the command line arguments
-	 * @exception Exception execution exceptions
-	 */
-	public void run(Object argArray) throws Exception {
-		run(AntCoreUtil.getArrayList((String[]) argArray));
-	}
-
-	/*
-	 * Note that the list passed to this method must support
-	 * List#remove(Object)
-	 */
-	private void run(List argList) {
-		setCurrentProject(new Project());
-		Throwable error = null;
-		PrintStream originalErr = System.err;
-		PrintStream originalOut = System.out;
-		InputStream originalIn= System.in;
-		
-		SecurityManager originalSM= System.getSecurityManager();
-		setJavaClassPath();
-		scriptExecuted= true;
-		processAntHome(false);
-		try {
-			if (argList != null && (argList.remove("-projecthelp") || argList.remove("-p"))) { //$NON-NLS-1$ //$NON-NLS-2$
-				projectHelp = true;
-			}
-			getCurrentProject().init();
-			if (argList != null) {
-				scriptExecuted= preprocessCommandLine(argList);
-			
-				if (!scriptExecuted) {
-					return;
-				}
-			}
-			
-            boolean exceptionState= processProperties(argList);
-            
-			addBuildListeners(getCurrentProject());
-            
-			addInputHandler(getCurrentProject());
-			
-			remapSystemIn();
-			System.setOut(new PrintStream(new DemuxOutputStream(getCurrentProject(), false)));
-			System.setErr(new PrintStream(new DemuxOutputStream(getCurrentProject(), true)));
-			
-			if (!projectHelp) {
-				getCurrentProject().fireBuildStarted();
-			}
-            
-            if (fEarlyErrorMessage != null) {
-                //an error occurred processing the properties
-                //build started has fired and we have
-                //listeners/loggers to report the error
-                logMessage(getCurrentProject(), fEarlyErrorMessage, Project.MSG_ERR);
-                if (exceptionState) {
-                    throw new BuildException(fEarlyErrorMessage);
-                }
-            }
-            
-            //properties can only be set after buildStarted as some listeners/loggers
-            //depend on this (e.g. XMLLogger)
-            setProperties(getCurrentProject(), true);
-			
-			if (argList != null && !argList.isEmpty()) {
-				try {
-					scriptExecuted= processCommandLine(argList);
-				} catch (BuildException e) {
-					scriptExecuted= false;
-					throw e;
-				}
-			}
-			if (!scriptExecuted) {
-				return;
-			}
-			
-            //needs to occur after processCommandLine(List)
-			if (allowInput && (inputHandlerClassname != null && inputHandlerClassname.length() > 0)) {
-				if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-					getCurrentProject().setDefaultInputStream(originalIn);
-					System.getProperties().remove("eclipse.ant.noInput");  //$NON-NLS-1$
-				}
-			} else {
-				//set the system property that any input handler
-				//can check to see if handling input is allowed
-				System.setProperty("eclipse.ant.noInput", "true");  //$NON-NLS-1$//$NON-NLS-2$
-			}
-			
-			getCurrentProject().log(MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Build_file__{0}_1"), new String[]{getBuildFileLocation()})); //$NON-NLS-1$
-
-			setTasks(getCurrentProject());
-			setTypes(getCurrentProject());
-			
-			if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-				getCurrentProject().setKeepGoingMode(keepGoing);
-			}
-			
-			parseBuildFile(getCurrentProject());
-			validateDefaultTarget();
-			createMonitorBuildListener(getCurrentProject());
-			
-			if (projectHelp) {
-				printHelp(getCurrentProject());
-				scriptExecuted= false;
-				return;
-			}
-			
-			if (extraArguments != null) {
-				printArguments(getCurrentProject());
-			}
-			System.setSecurityManager(new AntSecurityManager(originalSM, Thread.currentThread()));
-			
-			if (targets == null) {
-                targets= new Vector(1);
-            }
-            if (targets.isEmpty() && getCurrentProject().getDefaultTarget() != null) {
-                targets.add(getCurrentProject().getDefaultTarget());
-            }
-            getCurrentProject().addReference("eclipse.ant.targetVector", targets); //$NON-NLS-1$
-			getCurrentProject().executeTargets(targets);
-		} catch (OperationCanceledException e) {
-			scriptExecuted= false;
-			logMessage(getCurrentProject(), e.getMessage(), Project.MSG_INFO);
-			throw e;
-		} catch (AntSecurityException e) {
-			//expected
-		} catch (RuntimeException e) {
-			error = e;
-			throw e;
-		} catch (Error e) {
-			error = e;
-			throw e;
-		} finally {
-			System.setErr(originalErr);
-			System.setOut(originalOut);
-			System.setIn(originalIn);
-			if (System.getSecurityManager() instanceof AntSecurityManager) {
-				System.setSecurityManager(originalSM);
-			}
-			
-			if (!projectHelp) {		
-				if (AntCorePlugin.getPlugin().getBundle().getState() != Bundle.ACTIVE) {
-					return;
-				}
-				fireBuildFinished(getCurrentProject(), error);
-			}
-						
-			//close any user specified build log
-			if (err != originalErr) {
-				err.close();
-			}
-			if (out != originalOut) {
-				out.close();
-			}
-			
-			processAntHome(true);
-			if (!allowInput) {
-				System.getProperties().remove("eclipse.ant.noInput");  //$NON-NLS-1$
-			}
-		}
-	}
-	
-	private void remapSystemIn() {
-		if (!isVersionCompatible("1.6")) { //$NON-NLS-1$
-			return;
-		}
-		DemuxInputStreamSetter setter= new DemuxInputStreamSetter();
-		setter.remapSystemIn(getCurrentProject());
-	}
-
-	private void processAntHome(boolean finished) {
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		String antHome= prefs.getAntHome();
-		if (buildAntHome != null && !finished) {
-			antHome= buildAntHome;
-		}
-		if (antHome == null || antHome.length() == 0) {
-			System.getProperties().remove("ant.home"); //$NON-NLS-1$
-			System.getProperties().remove("ant.library.dir"); //$NON-NLS-1$
-		} else {
-			System.setProperty("ant.home", antHome); //$NON-NLS-1$
-			File antLibDir= new File(antHome, "lib"); //$NON-NLS-1$
-			System.setProperty("ant.library.dir", antLibDir.getAbsolutePath()); //$NON-NLS-1$
-		}
-	}
-	
-	public void setAntHome(String antHome) {
-		this.buildAntHome= antHome;
-	}
-	
-	private void validateDefaultTarget() {
-		defaultTarget = getCurrentProject().getDefaultTarget();
-		if (defaultTarget == null) {
-		    return;      
-        }
-		Enumeration currentTargets = getCurrentProject().getTargets().elements();
-		boolean defaultFound= false;
-		while (currentTargets.hasMoreElements()) {
-			Target target = (Target) currentTargets.nextElement();
-			if (target.getName().equals(defaultTarget)) {
-				defaultFound= true;
-				break;
-			}
-		}
-		
-		if (!defaultFound) {
-			//default target must exist
-			throw new BuildException(MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Default_target_{0}{1}{2}_does_not_exist_in_this_project_1"), new String[]{"'", defaultTarget, "'"})); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-
-	/**
-	 * Creates and returns the default build logger for logging build events to the ant log.
-	 * 
-	 * @return the default build logger for logging build events to the ant log
-	 * 			can return <code>null</code> if no logging is to occur
-	 */
-	private BuildLogger createLogger() {
-		if (loggerClassname == null) {
-			buildLogger= new DefaultLogger();
-		} else if (!"".equals(loggerClassname)) { //$NON-NLS-1$
-			try {
-				buildLogger = (BuildLogger) (Class.forName(loggerClassname).newInstance());
-			} catch (ClassCastException e) {
-				String message = MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.{0}_which_was_specified_to_perform_logging_is_not_an_instance_of_org.apache.tools.ant.BuildLogger._2"), new String[]{loggerClassname}); //$NON-NLS-1$
-				logMessage(null, message, Project.MSG_ERR);
-				throw new BuildException(message, e);
-			} catch (Exception e) {
-				String message = MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Unable_to_instantiate_logger__{0}_6"), new String[]{loggerClassname}); //$NON-NLS-1$
-				logMessage(null, message, Project.MSG_ERR);
-				throw new BuildException(message, e);
-			}
-		} 
-		
-		if (buildLogger != null) {
-			buildLogger.setMessageOutputLevel(messageOutputLevel);
-			buildLogger.setOutputPrintStream(out);
-			buildLogger.setErrorPrintStream(err);
-			buildLogger.setEmacsMode(emacsMode);
-            if (buildLogger instanceof AbstractEclipseBuildLogger) {
-                ((AbstractEclipseBuildLogger) buildLogger).configure(userProperties);
-            }
-		}
-
-		return buildLogger;
-	}
-
-	private void fireBuildFinished(Project project, Throwable error) {
-		if(usingXmlLogger()) {
-			//generate the log file in the correct location
-			String fileName= project.getProperty("XmlLogger.file"); //$NON-NLS-1$
-			if (fileName == null) {
-				fileName= "log.xml"; //$NON-NLS-1$
-			}
-			String realPath= new Path(getBuildFileLocation()).toFile().getAbsolutePath();
-			IPath path= new Path(realPath);
-			path= path.removeLastSegments(1);
-			path= path.addTrailingSeparator();
-			path= path.append(fileName);
-		
-			project.setProperty("XmlLogger.file", path.toOSString()); //$NON-NLS-1$
-		}
-		if (error == null && scriptExecuted) {
-			logMessage(project, InternalAntMessages.getString("InternalAntRunner.BUILD_SUCCESSFUL_1"), messageOutputLevel); //$NON-NLS-1$
-		} 
-		project.fireBuildFinished(error);
-	}
-
-	private boolean usingXmlLogger() {
-		if (buildLogger instanceof XmlLogger) {
-			return true;
-		}
-		if (buildListeners != null) {
-			Enumeration e= getCurrentProject().getBuildListeners().elements();
-			while (e.hasMoreElements()) {
-				BuildListener element = (BuildListener) e.nextElement();
-				if (element instanceof XmlLogger) {
-					return true;
-				}
-			}
-		}
-		
-		return false;
-	}
-
-	private void logMessage(Project project, String message, int priority) {
-		if (project != null) {
-			project.log(message, priority);	
-		} else {
-			if (buildListeners != null) {
-				project = new Project();
-				BuildEvent event = new BuildEvent(project);
-				event.setMessage(message, priority);
-				//notify the build listeners that are not registered as
-				//no project existed
-				for (Iterator iterator = buildListeners.iterator(); iterator.hasNext();) {
-					try {
-						BuildListener listener = (BuildListener) iterator.next();
-						listener.messageLogged(event);
-					} catch (ClassCastException e) {
-						//ignore we could be trying to log that a build listener is the
-						//wrong type of class
-					}
-				}
-			} else {
-				IStatus s = new Status(IStatus.ERROR, AntCorePlugin.PI_ANTCORE, AntCorePlugin.INTERNAL_ERROR, message, null);
-				AntCorePlugin.getPlugin().getLog().log(s);
-			}
-		}
-	}
-
-	/**
-	 * Sets the buildFileLocation.
-	 * 
-	 * @param buildFileLocation the file system location of the build file
-	 */
-	public void setBuildFileLocation(String buildFileLocation) {
-		this.buildFileLocation = buildFileLocation;
-		if (getCurrentProject() != null) {
-			getCurrentProject().setUserProperty("ant.file", buildFileLocation); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Sets the input handler class name.
-	 * 
-	 * @param inputHandlerClassname the name of the class to use for the input handler
-	 */
-	public void setInputHandler(String inputHandlerClassname) {
-		this.inputHandlerClassname= inputHandlerClassname;
-	}
-
-	private String getBuildFileLocation() {
-		if (buildFileLocation == null) {
-			buildFileLocation = new File("build.xml").getAbsolutePath(); //$NON-NLS-1$
-		}
-		return buildFileLocation;
-	}
-
-	/**
-	 * Sets the message output level. Use -1 for none.
-	 * @param level The message output level
-	 */
-	public void setMessageOutputLevel(int level) {
-		messageOutputLevel = level;
-		if (buildLogger != null) {
-			buildLogger.setMessageOutputLevel(level);
-		}
-	}
-
-	/**
-	 * Sets the extra user arguments
-	 * @param args The extra user arguments
-	 */
-	public void setArguments(String[] args) {
-		extraArguments = args;
-	}
-
-	/**
-	 * Sets the execution targets.
-	 * @param executionTargets The targets to execute for the build
-	 */
-	public void setExecutionTargets(String[] executionTargets) {
-		targets = new Vector(executionTargets.length);
-		for (int i = 0; i < executionTargets.length; i++) {
-			targets.add(executionTargets[i]);
-		}
-	}
-	
-	/*
-	 * Returns a String representation of the Ant version number as specified
-	 * in the version.txt file.
-	 */
-	private String getAntVersionNumber() throws BuildException {
-		if (antVersionNumber == null) {
-			try {
-				Properties props = new Properties();
-				InputStream in = Main.class.getResourceAsStream("/org/apache/tools/ant/version.txt"); //$NON-NLS-1$
-				props.load(in);
-				in.close();
-				String versionNumber= props.getProperty("VERSION");  //$NON-NLS-1$
-				antVersionNumber= versionNumber;
-			} catch (IOException ioe) {
-				throw new BuildException(MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Could_not_load_the_version_information._{0}_9"), new String[]{ioe.getMessage()})); //$NON-NLS-1$
-			} catch (NullPointerException npe) {
-				throw new BuildException(InternalAntMessages.getString("InternalAntRunner.Could_not_load_the_version_information._10")); //$NON-NLS-1$
-			}
-		}
-		return antVersionNumber;
-	}
-	
-	/*
-	 * Returns whether the given version is compatible with the
-	 * current Ant version. A version is compatible if it is less
-	 * than or equal to the current version. 
-	 */
-	private boolean isVersionCompatible(String comparison) {
-		String version= getAntVersionNumber();
-		return version.compareTo(comparison) >= 0;
-	}
-	
-	private boolean preprocessCommandLine(List commands) {
-		
-		String arg = AntCoreUtil.getArgument(commands, "-listener"); //$NON-NLS-1$
-		while (arg != null) {
-			if (arg.length() == 0) {
-				throw new BuildException(InternalAntMessages.getString("InternalAntRunner.You_must_specify_a_classname_when_using_the_-listener_argument_1")); //$NON-NLS-1$
-			} 
-			if (buildListeners == null) {
-				buildListeners= new ArrayList(1);
-			}
-			buildListeners.add(arg);
-			arg = AntCoreUtil.getArgument(commands, "-listener"); //$NON-NLS-1$
-		}
-
-		arg = AntCoreUtil.getArgument(commands, "-logger"); //$NON-NLS-1$
-		if (arg != null) {
-			if (arg.length() == 0) {
-				throw new BuildException(InternalAntMessages.getString("InternalAntRunner.You_must_specify_a_classname_when_using_the_-logger_argument_2")); //$NON-NLS-1$
-			} 
-			loggerClassname = arg;
-		}
-		arg = AntCoreUtil.getArgument(commands, "-logger"); //$NON-NLS-1$
-		if (arg != null) {
-			throw new BuildException(InternalAntMessages.getString("InternalAntRunner.Only_one_logger_class_may_be_specified_1")); //$NON-NLS-1$
-		}
-		
-		arg = AntCoreUtil.getArgument(commands, "-inputhandler"); //$NON-NLS-1$
-		if (arg != null) {
-			if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
-				throw new BuildException(InternalAntMessages.getString("InternalAntRunner.Specifying_an_InputHandler_is_an_Ant_1.5.*_feature._Please_update_your_Ant_classpath_to_include_an_Ant_version_greater_than_this._2")); //$NON-NLS-1$
-			}
-			if (arg.length() == 0) {
-				throw new BuildException(InternalAntMessages.getString("InternalAntRunner.You_must_specify_a_classname_when_using_the_-inputhandler_argument_1")); //$NON-NLS-1$
-			} 
-			inputHandlerClassname = arg;
-		}
-		arg = AntCoreUtil.getArgument(commands, "-inputhandler"); //$NON-NLS-1$
-		if (arg != null) {
-			throw new BuildException(InternalAntMessages.getString("InternalAntRunner.Only_one_input_handler_class_may_be_specified._2")); //$NON-NLS-1$
-		}
-		return true;
-	}
-	
-	/*
-	 * Looks for interesting command line arguments. 
-	 * Returns whether it is OK to run the script.
-	 */
-	private boolean processCommandLine(List commands) {
-		
-		if (commands.remove("-help") || commands.remove("-h")) { //$NON-NLS-1$ //$NON-NLS-2$
-			printUsage();
-			return false;
-		}
-		
-		if (commands.remove("-version")) { //$NON-NLS-1$
-			printVersion();
-			return false;
-		}
-		
-		if (commands.remove("-verbose") || commands.remove("-v")) { //$NON-NLS-1$ //$NON-NLS-2$
-			printVersion();
-			setMessageOutputLevel(Project.MSG_VERBOSE);
-		}
-		
-		if (commands.remove("-debug") || commands.remove("-d")) { //$NON-NLS-1$ //$NON-NLS-2$
-			printVersion();
-			setMessageOutputLevel(Project.MSG_DEBUG);
-		}
-		
-		if (commands.remove("-quiet") || commands.remove("-q")) { //$NON-NLS-1$ //$NON-NLS-2$
-			setMessageOutputLevel(Project.MSG_WARN);
-		}
-
-		if (commands.remove("-emacs") || commands.remove("-e")) { //$NON-NLS-1$ //$NON-NLS-2$
-			emacsMode = true;
-			if (buildLogger != null) {
-				buildLogger.setEmacsMode(true);
-			}
-		}
-		
-		if (commands.remove("-diagnostics")) { //$NON-NLS-1$
-			if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
-				throw new BuildException(InternalAntMessages.getString("InternalAntRunner.The_diagnositics_options_is_an_Ant_1.5.*_feature._Please_update_your_Ant_classpath_to_include_an_Ant_version_greater_than_this._4")); //$NON-NLS-1$
-			}
-			try {
-				Diagnostics.doReport(System.out);
-			} catch (NullPointerException e) {
-				logMessage(getCurrentProject(), InternalAntMessages.getString("InternalAntRunner.ANT_HOME_must_be_set_to_use_Ant_diagnostics_2"), Project.MSG_ERR); //$NON-NLS-1$
-			}
-			return false;
-		}
-		
-		String arg = AntCoreUtil.getArgument(commands, "-logfile"); //$NON-NLS-1$
-		if (arg == null) {
-			arg = AntCoreUtil.getArgument(commands, "-l"); //$NON-NLS-1$
-		}
-		if (arg != null) {
-			if (arg.length() == 0) {
-				String message= InternalAntMessages.getString("InternalAntRunner.You_must_specify_a_log_file_when_using_the_-log_argument_3"); //$NON-NLS-1$
-				logMessage(currentProject, message, Project.MSG_ERR); 
-				throw new BuildException(message);
-			} 
-			try {
-				createLogFile(arg);
-			} catch (IOException e) {
-				// just log message and ignore exception
-				logMessage(getCurrentProject(), MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Could_not_write_to_the_specified_log_file__{0}._Make_sure_the_path_exists_and_you_have_write_permissions._2"), new String[]{arg}), Project.MSG_ERR); //$NON-NLS-1$
-				return false;
-			}
-		
-		}
-		
-		arg = AntCoreUtil.getArgument(commands, "-buildfile"); //$NON-NLS-1$
-		if (arg == null) {
-			arg = AntCoreUtil.getArgument(commands, "-file"); //$NON-NLS-1$
-			if (arg == null) {
-				arg = AntCoreUtil.getArgument(commands, "-f"); //$NON-NLS-1$
-			}
-		}
-		
-		if (arg != null) {
-			if (arg.length() == 0) {
-				String message= InternalAntMessages.getString("InternalAntRunner.You_must_specify_a_buildfile_when_using_the_-buildfile_argument_4"); //$NON-NLS-1$
-				logMessage(currentProject, message, Project.MSG_ERR); 
-				throw new BuildException(message);
-			} 
-			setBuildFileLocation(arg);
-		}
-		
-		if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-			if (commands.remove("-k") || commands.remove("-keep-going")) { //$NON-NLS-1$ //$NON-NLS-2$
-				keepGoing= true;
-			}
-			if (commands.remove("-noinput")) { //$NON-NLS-1$
-				allowInput= false;
-			}
-			arg= AntCoreUtil.getArgument(commands, "-lib"); //$NON-NLS-1$
-			if (arg != null) {
-				logMessage(currentProject, InternalAntMessages.getString("InternalAntRunner.157"), Project.MSG_ERR); //$NON-NLS-1$
-				return false;
-			}
-		}
-		
-		arg= AntCoreUtil.getArgument(commands, "-find"); //$NON-NLS-1$
-		if (arg == null) {
-			arg= AntCoreUtil.getArgument(commands, "-s"); //$NON-NLS-1$
-		}
-		if (arg != null) {
-			logMessage(currentProject, InternalAntMessages.getString("InternalAntRunner.-find_not_supported"), Project.MSG_ERR); //$NON-NLS-1$
-			return false;
-		}
-
-		if ((commands != null) && (!commands.isEmpty())) {
-			processUnrecognizedCommands(commands);
-		}
-
-		if ((commands != null) && (!commands.isEmpty())) {
-			processTargets(commands);
-		}
-		
-		return true;
-	}
-	
-	/*
-	 * Checks for unrecognized arguments on the command line.
-	 * Since there is no syntactic way to distingush between
-	 * ant -foo target1 target2
-	 * ant -foo fooarg target
-	 * we remove everything up to the last argument that
-	 * begins with a '-'.  In the latter case, above, that
-	 * means that there will be an extra target, 'fooarg',
-	 * left lying around.
-	 */
-	private void processUnrecognizedCommands(List commands) {
-		int p = -1;
-
-		// find the last arg that begins with '-'
-		for (int i = commands.size() - 1; i >= 0; i--) {
-			if (((String) commands.get(0)).startsWith("-")) { //$NON-NLS-1$
-				p = i;
-				break;
-			}
-		}
-		if (p < 0) { return; }
-
-		// remove everything preceding that last '-arg'
-		String s = ""; //$NON-NLS-1$
-		for (int i = 0; i <= p; i++) {
-			s += " " + ((String) commands.get(0)); //$NON-NLS-1$
-			commands.remove(0);
-		}
-		
-		// warn of ignored commands
-		String message = MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Unknown_argument__{0}_2"), new Object[]{ s.substring(1) }); //$NON-NLS-1$
-		logMessage(currentProject, message, Project.MSG_WARN); 
-	}
-	
-
-	/*
-	 * Checks for targets specified at the command line.
-	 */
-	private void processTargets(List commands) {
-		if (targets == null) {
-			targets = new Vector(commands.size());
-		}
-		for (Iterator iter = commands.iterator(); iter.hasNext();) {
-			targets.add(iter.next());
-		}
-	}
-
-	/*
-	 * Creates the log file with the name specified by the user.
-	 * If the fileName is not absolute, the file will be created in the
-	 * working directory if specified or in the same directory as the location
-	 * of the build file.
-	 */
-	private void createLogFile(String fileName) throws FileNotFoundException, IOException {
-		File logFile = getFileRelativeToBaseDir(fileName);
-		
-		//this stream is closed in the finally block of run(list)
-		out = new PrintStream(new FileOutputStream(logFile));
-		err = out;
-		logMessage(getCurrentProject(), MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.Using_{0}_file_as_build_log._1"), new String[]{logFile.getCanonicalPath()}), Project.MSG_INFO); //$NON-NLS-1$
-		if (buildLogger != null) {
-			buildLogger.setErrorPrintStream(err);
-			buildLogger.setOutputPrintStream(out);
-		}
-	}
-
-	private File getFileRelativeToBaseDir(String fileName) {
-	    return AntCoreUtil.getFileRelativeToBaseDir(fileName, getCurrentProject().getUserProperty("basedir"), getBuildFileLocation()); //$NON-NLS-1$
-	}
-
-	/*
-	 * Processes cmd line properties and adds the user properties
-	 * Any user properties that have been explicitly set are set as well.
-	 * Ensures that -D properties take precedence.
-	 */
-	private boolean processProperties(List commands) {
-        boolean exceptionToBeThrown= false;
-		//MULTIPLE property files are allowed
-		String arg= AntCoreUtil.getArgument(commands, "-propertyfile"); //$NON-NLS-1$
-		while (arg != null) {
-			if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
-				fEarlyErrorMessage= InternalAntMessages.getString("InternalAntRunner.Specifying_property_files_is_a_Ant_1.5.*_feature._Please_update_your_Ant_classpath._6"); //$NON-NLS-1$
-				break;
-			}
-			if (arg.length() == 0) {
-                fEarlyErrorMessage= InternalAntMessages.getString("InternalAntRunner.You_must_specify_a_property_filename_when_using_the_-propertyfile_argument_3"); //$NON-NLS-1$
-                exceptionToBeThrown= true;
-                break;
-			} 
-			
-			propertyFiles.add(arg);
-			arg= AntCoreUtil.getArgument(commands, "-propertyfile"); //$NON-NLS-1$
-		}
-		
-		String[] globalPropertyFiles= AntCorePlugin.getPlugin().getPreferences().getCustomPropertyFiles();
-		if (globalPropertyFiles.length > 0) {
-            if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
-                fEarlyErrorMessage= InternalAntMessages.getString("InternalAntRunner.Specifying_property_files_is_a_Ant_1.5.*_feature._Please_update_your_Ant_classpath._6"); //$NON-NLS-1$
-            } else {
-                if (propertyFiles == null) {
-                    propertyFiles= new ArrayList(globalPropertyFiles.length);
-                }
-                propertyFiles.addAll(Arrays.asList(globalPropertyFiles));
-            }
-		}
-		
-		if (propertyFiles != null && !propertyFiles.isEmpty()) {
-            loadPropertyFiles();
-		}
-		
-		if (commands != null) {
-			processMinusDProperties(commands);
-        }
-        return exceptionToBeThrown;
-	}
-
-	private void processMinusDProperties(List commands) {
-	    if (!commands.isEmpty() && userProperties == null) {
-			userProperties= new HashMap();
-		}
-		AntCoreUtil.processMinusDProperties(commands, userProperties);
-	}
-
-	/*
-	 * Print the project description, if any
-	 */
-	private void printHelp(Project project) {
-		if (project.getDescription() != null) {
-			logMessage(project, project.getDescription(), Project.MSG_INFO);
-		}
-		printTargets(project);
-	}
-
-	/*
-	 * Logs a message with the client indicating the version of <b>Ant</b> that this class
-	 * fronts.
-	 */
-	private void printVersion() {
-		logMessage(getCurrentProject(), Main.getAntVersion(), Project.MSG_INFO);
-	}
-
-	/*
-	 * Logs a message with the client outlining the usage of <b>Ant</b>.
-	 */
-	private void printUsage() {
-		String lSep = System.getProperty("line.separator"); //$NON-NLS-1$
-		StringBuffer msg = new StringBuffer();
-		msg.append("ant ["); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.options_13")); //$NON-NLS-1$
-		msg.append("] ["); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.target_15")); //$NON-NLS-1$
-		msg.append(" ["); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.target_15")); //$NON-NLS-1$
-		msg.append("2 ["); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.target_15")); //$NON-NLS-1$
-		msg.append("3] ...]]"); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append(InternalAntMessages.getString("InternalAntRunner.Options___21")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-help, -h\t\t\t\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.print_this_message_23")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-projecthelp, -p\t\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.print_project_help_information_25")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-version\t\t\t\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.print_the_version_information_and_exit_27")); //$NON-NLS-1$
-		msg.append(lSep); 
-		msg.append("\t-diagnostics\t\t\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.12")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append(InternalAntMessages.getString("InternalAntRunner.13")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-quiet, -q\t\t\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.be_extra_quiet_29")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-verbose, -v\t\t\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.be_extra_verbose_31")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-debug, -d\t\t\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.print_debugging_information_33")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-emacs, -e\t\t\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.produce_logging_information_without_adornments_35")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-logfile\t<file>\t\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.use_given_file_for_log_37")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t\t-l\t<file>"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.1")); //$NON-NLS-1$ //$NON-NLS-2$
-		msg.append(lSep);  
-		msg.append("\t-logger <classname>\t\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.the_class_which_is_to_perform_logging_39")); //$NON-NLS-1$
-		msg.append(lSep);  
-		msg.append("\t-listener <classname>\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.add_an_instance_of_class_as_a_project_listener_41")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-noinput\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.158")); //$NON-NLS-1$
-		msg.append(lSep); 
-		msg.append("\t-buildfile\t<file>\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.use_given_buildfile_43")); //$NON-NLS-1$
-		msg.append(lSep); 
-		msg.append("\t\t-file\t<file>"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.1")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t\t-f\t\t<file>"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.1")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-D<property>=<value>\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.use_value_for_given_property_45")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-keep-going, -k"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.159")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append(InternalAntMessages.getString("InternalAntRunner.160")); //$NON-NLS-1$
-		msg.append(lSep); 
-		msg.append("\t-propertyfile <name>\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.19")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append(InternalAntMessages.getString("InternalAntRunner.20")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-inputhandler <class>\t"); //$NON-NLS-1$
-		msg.append(InternalAntMessages.getString("InternalAntRunner.22")); //$NON-NLS-1$
-		msg.append(lSep);
-
-		logMessage(getCurrentProject(), msg.toString(), Project.MSG_INFO);
-	}
-	
-	/**
-	 * Sets the build progress monitor.
-	 * @param monitor The progress monitor to use
-	 */
-	public void setProgressMonitor(IProgressMonitor monitor) {
-		this.monitor = monitor;
-	}
-
-	private Project getCurrentProject() {
-		return currentProject;
-	}
-
-	private void setCurrentProject(Project currentProject) {
-		this.currentProject = currentProject;
-	}
-	
-	public String getBuildExceptionErrorMessage(Throwable t) {
-		if (t instanceof BuildException) {
-			return t.toString();
-		}
-		return null;
-	}
-	
-	/**
-	 * Load all properties from the files 
-	 * specified by -propertyfile.
-	 */
-	private void loadPropertyFiles() {
-	    if (userProperties == null) {
-        	userProperties= new HashMap();
-        }
-        try {
-            List allProperties = AntCoreUtil.loadPropertyFiles(propertyFiles, getCurrentProject().getUserProperty("basedir"), getBuildFileLocation()); //$NON-NLS-1$
-	        Iterator iter= allProperties.iterator();
-	        while (iter.hasNext()) {
-	            Properties props = (Properties) iter.next();
-	            Enumeration propertyNames = props.propertyNames();
-	            while (propertyNames.hasMoreElements()) {
-	                String name = (String) propertyNames.nextElement();
-	                //most specific to global
-	                //do not overwrite specific with a global property
-	                if (userProperties.get(name) == null) {
-	                    userProperties.put(name, props.getProperty(name));
-	                }
-	            }
-	        }
-        } catch (IOException e) {
-            fEarlyErrorMessage= MessageFormat.format(InternalAntMessages.getString("InternalAntRunner.4"), new String[]{e.getMessage()}); //$NON-NLS-1$
-        }
-	}
-	
-	/*
-     * Creates the InputHandler and adds it to the project.
-     *
-     * @exception BuildException if a specified InputHandler
-     *                           implementation could not be loaded.
-     */
-    private void addInputHandler(Project project) {
-    	if (!isVersionCompatible("1.5") || (inputHandlerClassname != null && inputHandlerClassname.length() == 0)) { //$NON-NLS-1$
-			return;
-		}
-		InputHandlerSetter setter= new InputHandlerSetter();
-		setter.setInputHandler(project, inputHandlerClassname);
-    }
-
-	/*
-	 * Sets the Java class path in org.apache.tools.ant.types.Path
-	 */
-	private void setJavaClassPath() {
-		URL[] antClasspath= null;
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		if (customClasspath == null) {
-			antClasspath= prefs.getURLs();
-		} else {
-			URL[] extraClasspath= prefs.getExtraClasspathURLs();
-			antClasspath= new URL[customClasspath.length + extraClasspath.length];
-			System.arraycopy(customClasspath, 0, antClasspath, 0, customClasspath.length);
-			System.arraycopy(extraClasspath, 0, antClasspath, customClasspath.length, extraClasspath.length);
-		}
-		StringBuffer buff= new StringBuffer();
-		File file= null;
-		for (int i = 0; i < antClasspath.length; i++) {
-			try {
-				file = new File(Platform.asLocalURL(antClasspath[i]).getPath());
-			} catch (IOException e) {
-				continue;
-			}
-			buff.append(file.getAbsolutePath());
-			buff.append("; "); //$NON-NLS-1$
-		}
-
-		org.apache.tools.ant.types.Path systemClasspath= new org.apache.tools.ant.types.Path(null, buff.substring(0, buff.length() - 2));
-		org.apache.tools.ant.types.Path.systemClasspath= systemClasspath;
-	}
-	
-	/**
-	 * Sets the custom classpath to be included when setting the Java classpath for this build.
-	 * @param classpath The custom classpath for this build.
-	 */
-	public void setCustomClasspath(URL[] classpath) {
-		customClasspath= classpath;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalProject.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalProject.java
deleted file mode 100644
index 9fb0ac8..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalProject.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * Portions Copyright  2000-2004 The Apache Software Foundation
- * All rights reserved.  This program and the accompanying materials are made 
- * available under the terms of the Apache Software License v2.0 which 
- * accompanies this distribution and is available at 
- * http://www.apache.org/licenses/LICENSE-2.0.
- * 
- * Contributors:
- *     IBM Corporation - derived implementation
- *******************************************************************************/
-
-package org.eclipse.ant.internal.core.ant;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Properties;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.ProjectComponent;
-
-/**
- * A subclass of Project to facilitate "faster" parsing with
- * less garbage generated. This class is not used on Ant 1.6 and newer
- * due to the improvements in lazy loading of these Ant versions.
- * 
- * Only three tasks are loaded (property, taskdef and 
- * typedef: three tasks that can be defined outside of a target on Ant 1.5.1 or older).
- *
- * Datatypes are loaded if requested.
- * 
- * Derived from the original Ant Project class
- */
-public class InternalProject extends Project {
-
-	private Hashtable typeNameToClass = null;
-	
-	public InternalProject() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Project#init()
-	 */
-	public void init() throws BuildException {
-		setJavaVersionProperty();
-
-		try {
-			Class taskClass = Class.forName("org.apache.tools.ant.taskdefs.Property"); //$NON-NLS-1$
-			addTaskDefinition("property", taskClass); //$NON-NLS-1$
-			taskClass = Class.forName("org.apache.tools.ant.taskdefs.Typedef"); //$NON-NLS-1$
-			addTaskDefinition("typedef", taskClass); //$NON-NLS-1$
-			taskClass = Class.forName("org.apache.tools.ant.taskdefs.Taskdef"); //$NON-NLS-1$
-			addTaskDefinition("taskdef", taskClass); //$NON-NLS-1$
-		} catch (NoClassDefFoundError e) {
-			throw new BuildException(InternalAntMessages.getString("InternalAntRunner.Missing_Class"), e); //$NON-NLS-1$
-		} catch (ClassNotFoundException c) {
-			throw new BuildException(InternalAntMessages.getString("InternalAntRunner.Missing_Class"), c); //$NON-NLS-1$
-		}
-
-		setSystemProperties();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Project#createDataType(java.lang.String)
-	 */
-	public Object createDataType(String typeName) throws BuildException {
-		if (typeNameToClass == null) {
-			initializeTypes();
-		}
-		Class typeClass = (Class) typeNameToClass.get(typeName);
-
-		if (typeClass == null) {
-			return null;
-		}
-
-		Throwable thrown = null;
-		try {
-			Constructor ctor = null;
-			boolean noArg = false;
-			// DataType can have a "no arg" constructor or take a single
-			// Project argument.
-			try {
-				ctor = typeClass.getConstructor(new Class[0]);
-				noArg = true;
-			} catch (NoSuchMethodException nse) {
-				ctor = typeClass.getConstructor(new Class[] { Project.class });
-				noArg = false;
-			}
-
-			Object o = null;
-			if (noArg) {
-				o = ctor.newInstance(new Object[0]);
-			} else {
-				o = ctor.newInstance(new Object[] { this });
-			}
-			if (o instanceof ProjectComponent) {
-				((ProjectComponent) o).setProject(this);
-			}
-			return o;
-		} catch (InvocationTargetException ite) {
-			thrown = ite.getTargetException();
-		} catch (IllegalArgumentException e) {
-			thrown = e;
-		} catch (InstantiationException e) {
-			thrown = e;
-		} catch (IllegalAccessException e) {
-			thrown = e;
-		} catch (NoSuchMethodException nse) {
-			thrown = nse;
-		} catch (NoClassDefFoundError ncdfe) {
-			thrown = ncdfe;
-		}
-		if (thrown != null) {
-			String message= MessageFormat.format(InternalAntMessages.getString("InternalProject.0"), new String[]{typeName, thrown.toString()}); //$NON-NLS-1$
-			throw new BuildException(message, thrown);
-		}
-		// this line is actually unreachable
-		return null;
-	}
-
-	/**
-	 * Initialize the mapping of data type name to data type classname
-	 */
-	private void initializeTypes() {
-		typeNameToClass = new Hashtable(18);
-		String dataDefs = "/org/apache/tools/ant/types/defaults.properties"; //$NON-NLS-1$
-		try {
-			Properties props = new Properties();
-			InputStream in = Project.class.getResourceAsStream(dataDefs);
-			if (in == null) {
-				return;
-			}
-			props.load(in);
-			in.close();
-
-			Enumeration enumeration = props.propertyNames();
-			while (enumeration.hasMoreElements()) {
-				String typeName = (String) enumeration.nextElement();
-				String className = props.getProperty(typeName);
-				try {
-					Class typeClass= Class.forName(className);
-					typeNameToClass.put(typeName, typeClass);
-				} catch (NoClassDefFoundError e) {
-					//ignore
-				} catch (ClassNotFoundException c) {
-					//ignore
-				}
-			}
-		} catch (IOException ioe) {
-			return;
-		}
-
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Project#getDataTypeDefinitions()
-	 */
-	public Hashtable getDataTypeDefinitions() {
-		if (typeNameToClass == null) {
-			initializeTypes();
-		}
-		return typeNameToClass;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Project#addDataTypeDefinition(java.lang.String, java.lang.Class)
-	 */
-	public void addDataTypeDefinition(String typeName, Class typeClass) {
-		getDataTypeDefinitions();
-		typeNameToClass.put(typeName, typeClass);
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/NullInputHandler.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/NullInputHandler.java
deleted file mode 100644
index 9c45b6a..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/NullInputHandler.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.ant.internal.core.ant;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.input.InputHandler;
-import org.apache.tools.ant.input.InputRequest;
-
-/**
- * A input handler that does nothing with input requests
- * Used to ensure we do not block while retrieving targets from an Ant buildfile
- * that has an input task in the top level implicit target
- */
-public class NullInputHandler implements InputHandler {
-
-	public NullInputHandler() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.input.InputHandler#handleInput(org.apache.tools.ant.input.InputRequest)
-	 */
-	public void handleInput(InputRequest request) throws BuildException {
-	}
-}
diff --git a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/ProgressBuildListener.java b/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/ProgressBuildListener.java
deleted file mode 100644
index 496c37f..0000000
--- a/ant/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/ProgressBuildListener.java
+++ /dev/null
@@ -1,315 +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.ant.internal.core.ant;
-
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.Ant;
-import org.apache.tools.ant.taskdefs.CallTarget;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubProgressMonitor;
-
-/**
- * Reports progress and checks for cancelation of a script execution.
- */
-public class ProgressBuildListener implements BuildListener {
-
-	protected Map projects;
-	protected Project mainProject;
-	protected Project parentProject;
-	private Thread currentTaskThread;
-
-	/**
-	 *  Contains the progress monitor instances for the various
-	 *	projects in a chain.
-	 */
-	protected class ProjectMonitors {
-		/**
-		 *  This field is null for the main project
-		 */
-		private Target mainTarget;
-		private IProgressMonitor mainMonitor;
-		private IProgressMonitor targetMonitor;
-		private IProgressMonitor taskMonitor;
-		
-		protected IProgressMonitor getMainMonitor() {
-			return mainMonitor;
-		}
-
-		protected Target getMainTarget() {
-			return mainTarget;
-		}
-
-		protected IProgressMonitor getTargetMonitor() {
-			return targetMonitor;
-		}
-
-		protected IProgressMonitor getTaskMonitor() {
-			return taskMonitor;
-		}
-
-		protected void setMainMonitor(IProgressMonitor mainMonitor) {
-			this.mainMonitor = mainMonitor;
-		}
-
-		protected void setMainTarget(Target mainTarget) {
-			this.mainTarget = mainTarget;
-		}
-
-		protected void setTargetMonitor(IProgressMonitor targetMonitor) {
-			this.targetMonitor = targetMonitor;
-		}
-
-		protected void setTaskMonitor(IProgressMonitor taskMonitor) {
-			this.taskMonitor = taskMonitor;
-		}
-
-	}
-
-	public ProgressBuildListener(Project project, List targetNames, IProgressMonitor monitor) {
-		projects = new HashMap();
-		mainProject = project;
-		ProjectMonitors monitors = new ProjectMonitors();
-		if (monitor == null) {
-			monitor= new NullProgressMonitor();
-		}
-		monitors.setMainMonitor(monitor);
-		projects.put(mainProject, monitors);
-		List targets= new ArrayList(targetNames.size());
-		for (int i = 0; i < targetNames.size(); i++) {
-			String targetName = (String) targetNames.get(i);
-			Target target= (Target) mainProject.getTargets().get(targetName);
-			if (target != null) {
-				targets.add(target);
-			}
-		}
-		int work = computeWork(targets);
-		monitors.getMainMonitor().beginTask("", work);  //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#buildStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildStarted(BuildEvent event) {
-		checkCanceled();
-	}
-
-	protected int computeWork(List targets) {
-		int result = 0;
-		for (int i = 0; i < targets.size(); i++) {
-			result = result + countTarget((Target)targets.get(i), new ArrayList());
-		}
-		return result;
-	}
-
-	protected int countTarget(Target target, List alreadySeen) {
-		int result = 1;
-		Project project = target.getProject();
-		Hashtable targets= project.getTargets();
-        String targetName;
-        Target dependency;
-		for (Enumeration dependencies = target.getDependencies(); dependencies.hasMoreElements();) {
-			targetName = (String) dependencies.nextElement();
-            if (alreadySeen.contains(targetName)) { //circular dependency or common dependancy
-				return result;
-            }
-            alreadySeen.add(targetName);
-			dependency = (Target)targets.get(targetName);
-			if (dependency != null) {
-				result = result + countTarget(dependency, alreadySeen);
-			}
-		}
-		// we have to handle antcall tasks as well
-		Task[] tasks = target.getTasks();
-		for (int i = 0; i < tasks.length; i++) {
-			if (tasks[i] instanceof CallTarget) {
-				// As we do not have access to the information (at least in Ant 1.4.1)
-				// describing what target is executed by this antcall task, we assume
-				// a scenario where it depends on all targets of the project but itself.
-				result = result + (targets.size() - 1);
-			}
-		}
-		return result;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#buildFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildFinished(BuildEvent event) {
-		ProjectMonitors monitors = (ProjectMonitors) projects.get(mainProject);
-		monitors.getMainMonitor().done();
-		Set keys= projects.keySet();
-		Iterator itr= keys.iterator();
-		while (itr.hasNext()) {
-			Project project = (Project) itr.next();
-			project.removeBuildListener(this);
-			project.getReferences().remove(AntCorePlugin.ECLIPSE_PROGRESS_MONITOR);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetStarted(BuildEvent event) {
-		checkCanceled();
-		Project currentProject = event.getProject();
-		if (currentProject == null) {
-			return;
-		}
-		Target target = event.getTarget();
-		ProjectMonitors monitors = (ProjectMonitors) projects.get(currentProject);
-
-		// if monitors is null we are in a new script
-		if (monitors == null) {
-			monitors = createMonitors(currentProject, target);
-		}
-
-		monitors.setTargetMonitor(subMonitorFor(monitors.getMainMonitor(), 1));
-		int work = (target != null) ? target.getTasks().length : 100;
-		monitors.getTargetMonitor().beginTask("", work);  //$NON-NLS-1$
-	}
-
-	protected ProjectMonitors createMonitors(Project currentProject, Target target) {
-		ProjectMonitors monitors = new ProjectMonitors();
-		// remember the target so we can remove this monitors object later
-		monitors.setMainTarget(target);
-		List targets= new ArrayList(1);
-		targets.add(target);
-		int work = computeWork(targets);
-		ProjectMonitors parentMonitors = null;
-		if (parentProject == null) {
-			parentMonitors = (ProjectMonitors) projects.get(mainProject);
-			monitors.setMainMonitor(subMonitorFor(parentMonitors.getMainMonitor(), 1));
-		} else {
-			parentMonitors = (ProjectMonitors) projects.get(parentProject);
-			parentProject = null;
-			monitors.setMainMonitor(subMonitorFor(parentMonitors.getTaskMonitor(), 1));
-		}
-		monitors.getMainMonitor().beginTask("", work);  //$NON-NLS-1$
-		projects.put(currentProject, monitors);
-		return monitors;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#targetFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetFinished(BuildEvent event) {
-		checkCanceled();
-		Project currentProject = event.getProject();
-		if (currentProject == null) {
-			return;
-		}
-		ProjectMonitors monitors = (ProjectMonitors) projects.get(currentProject);
-		if (monitors == null) {
-			return;
-		}
-		monitors.getTargetMonitor().done();
-		// if this is not the main project test if we are done with this project
-		if ((currentProject != mainProject) && (monitors.getMainTarget() == event.getTarget())) {
-			monitors.getMainMonitor().done();
-			projects.remove(currentProject);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#taskStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskStarted(BuildEvent event) {
-		checkCanceled();
-		Project currentProject = event.getProject();
-		if (currentProject == null) {
-			return;
-		}
-		currentProject.getReferences().remove(AntCorePlugin.ECLIPSE_PROGRESS_MONITOR);
-		ProjectMonitors monitors = (ProjectMonitors) projects.get(currentProject);
-		if (monitors == null) {
-			return;
-		}
-		Task task = event.getTask();
-		if (task == null) {
-			return;
-		}
-		currentTaskThread= Thread.currentThread();
-		monitors.setTaskMonitor(subMonitorFor(monitors.getTargetMonitor(), 1));
-		monitors.getTaskMonitor().beginTask("", 1);  //$NON-NLS-1$
-		// If this script is calling another one, track the project chain.
-		if (task instanceof Ant) {
-			parentProject = currentProject;
-		} else {
-			currentProject.addReference(AntCorePlugin.ECLIPSE_PROGRESS_MONITOR, monitors.getTaskMonitor());
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#taskFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskFinished(BuildEvent event) {
-		checkCanceled();
-		Project project = event.getProject();
-		if (project == null) {
-			return;
-		}
-		project.getReferences().remove(AntCorePlugin.ECLIPSE_PROGRESS_MONITOR);
-		ProjectMonitors monitors = (ProjectMonitors) projects.get(project);
-		if (monitors == null) {
-			return;
-		}
-		monitors.getTaskMonitor().done();
-		currentTaskThread= null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#messageLogged(org.apache.tools.ant.BuildEvent)
-	 */
-	public void messageLogged(BuildEvent event) {
-		checkCanceled();
-	}
-
-	protected void checkCanceled() {
-		//only cancel if the current task thread matches the current thread
-		//do not want to throw an exception in a separate thread or process
-		//see bug 32657
-		if (currentTaskThread != null && currentTaskThread != Thread.currentThread()) {
-			return;
-		}
-		ProjectMonitors monitors = (ProjectMonitors) projects.get(mainProject);
-		if (monitors.getMainMonitor().isCanceled()) {
-			currentTaskThread= null;
-			throw new OperationCanceledException(InternalAntMessages.getString("ProgressBuildListener.Build_cancelled._5")); //$NON-NLS-1$
-		}
-	}
-
-	protected IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks) {
-		if (monitor == null) {
-			return new NullProgressMonitor();
-		}
-		if (monitor instanceof NullProgressMonitor) {
-			return monitor;
-		}
-		return new SubProgressMonitor(monitor, ticks);
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/.classpath b/ant/org.eclipse.ant.tests.core/.classpath
deleted file mode 100644
index 0b19baf..0000000
--- a/ant/org.eclipse.ant.tests.core/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="test plugin"/>
-	<classpathentry kind="src" path="tests"/>
-	<classpathentry output="test_support_bin" kind="src" path="test 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/ant/org.eclipse.ant.tests.core/.cvsignore b/ant/org.eclipse.ant.tests.core/.cvsignore
deleted file mode 100644
index 0b48495..0000000
--- a/ant/org.eclipse.ant.tests.core/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-lib
-test_support_bin
diff --git a/ant/org.eclipse.ant.tests.core/.externalToolBuilders/Ant Test Support Lib Builder.launch b/ant/org.eclipse.ant.tests.core/.externalToolBuilders/Ant Test Support Lib Builder.launch
deleted file mode 100644
index 324b0d4..0000000
--- a/ant/org.eclipse.ant.tests.core/.externalToolBuilders/Ant Test Support Lib Builder.launch
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.tests.core/test support/org&quot; type=&quot;2&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.tests.core/buildfiles/buildAntTestsSupportJAR.xml&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;&#10;}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.tests.core&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;&#10;}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.ant.tests.core/buildfiles/buildAntTestsSupportJAR.xml}"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_RUN_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-</launchConfiguration>
diff --git a/ant/org.eclipse.ant.tests.core/.project b/ant/org.eclipse.ant.tests.core/.project
deleted file mode 100644
index 6943510..0000000
--- a/ant/org.eclipse.ant.tests.core/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ant.tests.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>Ant Test Support Lib Builder.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/ant/org.eclipse.ant.tests.core/.settings/org.eclipse.jdt.core.prefs b/ant/org.eclipse.ant.tests.core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4067439..0000000
--- a/ant/org.eclipse.ant.tests.core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Mon Aug 02 09:29:34 GMT-08:00 2004

-org.eclipse.jdt.core.compiler.problem.unusedImport=warning

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-eclipse.preferences.version=1

diff --git a/ant/org.eclipse.ant.tests.core/.settings/org.eclipse.pde.core.prefs b/ant/org.eclipse.ant.tests.core/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index f01a374..0000000
--- a/ant/org.eclipse.ant.tests.core/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu May 27 14:48:43 PDT 2004

-eclipse.preferences.version=1

-selfhosting.binExcludes=/org.eclipse.ant.tests.core/test_support_bin

diff --git a/ant/org.eclipse.ant.tests.core/.settings/org.eclipse.pde.prefs b/ant/org.eclipse.ant.tests.core/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index f345b78..0000000
--- a/ant/org.eclipse.ant.tests.core/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:36:24 GMT-08:00 2004

-compilers.p.unused-element-or-attribute=1

-compilers.p.unresolved-ex-points=0

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

-compilers.p.no-required-att=0

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

-compilers.p.not-externalized-att=1

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/ant/org.eclipse.ant.tests.core/about.html b/ant/org.eclipse.ant.tests.core/about.html
deleted file mode 100644
index d57b432..0000000
--- a/ant/org.eclipse.ant.tests.core/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>16th October, 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/ant/org.eclipse.ant.tests.core/build.properties b/ant/org.eclipse.ant.tests.core/build.properties
deleted file mode 100644
index a6804c3..0000000
--- a/ant/org.eclipse.ant.tests.core/build.properties
+++ /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
-###############################################################################
-bin.includes = plugin.xml,\
-			   plugin.properties,\
-               test.xml,\
-               about.html,\
-               testbuildfiles/,\
-               testresources/,\
-               testlib/,\
-               lib/,\
-               lib/*.jar,\
-               *.jar
-               
-source.anttestscore.jar = test plugin/,\
-                         tests/,\
-                         buildfiles/
-source.lib/antTestsSupport.jar = test support/
-jars.compile.order=anttestscore.jar,lib/antTestsSupport.jar
diff --git a/ant/org.eclipse.ant.tests.core/buildfiles/buildAntTestsSupportJAR.xml b/ant/org.eclipse.ant.tests.core/buildfiles/buildAntTestsSupportJAR.xml
deleted file mode 100644
index 0e05c2d..0000000
--- a/ant/org.eclipse.ant.tests.core/buildfiles/buildAntTestsSupportJAR.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="build tests support jar" default="build" basedir="..">
-
-	<property name="bootclasspath" value=""/>
-
-	<target name="build" description="Removes all build artifacts, recreates the support jar, and refreshes this plugin's resources" depends="clean, lib/antTestsSupport.jar"/>
-
-	<target name="init" depends="properties">
-		<property name="version.suffix" value="_3.1.0"/>
-		<property name="version.suffix.old" value="_3.0.0"/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="plugin.destination" value="${basedir}"/>
-		<property name="build.result.folder" value="${basedir}"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-
-	<target name="lib/antTestsSupport.jar" depends="init" description= "Builds the support JAR">
-		<property name="destdir" value="${temp.folder}/lib/antTestsSupport.jar.bin"/>
-		<delete dir="${temp.folder}/lib/antTestsSupport.jar.bin"/>
-		<mkdir dir="${temp.folder}/lib/antTestsSupport.jar.bin"/>
-		<!-- compile the source code -->
-		<javac target="1.1" destdir="${temp.folder}/lib/antTestsSupport.jar.bin" failonerror="false" verbose="false" debug="on" includeAntRuntime="yes" bootclasspath="${bootclasspath}" 
-			classpath="${basedir}/../org.eclipse.core.runtime/bin;
-			${eclipse.home}/plugins/org.eclipse.core.runtime${version.suffix}/runtime.jar;
-			${basedir}/bin;
-			${eclipse.home}/plugins/org.eclipse.ant.core${version.suffix}/antsupport.jar;
-			${basedir}/../org.eclipse.ant.core/bin">
-			<src path="test support/"/>
-		</javac>
-		<mkdir dir="${build.result.folder}/lib"/>
-		<jar destfile="${build.result.folder}/lib/antTestsSupport.jar" basedir="${temp.folder}/lib/antTestsSupport.jar.bin"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="clean" depends="init">
-		<delete file="${build.result.folder}/lib/antTestsSupport.jar"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/lib/.cvsignore b/ant/org.eclipse.ant.tests.core/lib/.cvsignore
deleted file mode 100644
index 3740b60..0000000
--- a/ant/org.eclipse.ant.tests.core/lib/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-antTestsSupport.jar
diff --git a/ant/org.eclipse.ant.tests.core/plugin.properties b/ant/org.eclipse.ant.tests.core/plugin.properties
deleted file mode 100644
index a815294..0000000
--- a/ant/org.eclipse.ant.tests.core/plugin.properties
+++ /dev/null
@@ -1,13 +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
-###############################################################################
-
-pluginName=Ant Core Test Plugin
-providerName=Eclipse.org
diff --git a/ant/org.eclipse.ant.tests.core/plugin.xml b/ant/org.eclipse.ant.tests.core/plugin.xml
deleted file mode 100644
index 759293c..0000000
--- a/ant/org.eclipse.ant.tests.core/plugin.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ant.tests.core"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.ant.tests.core.testplugin.AntTestPlugin">
-
-   <runtime>
-      <library name="anttestscore.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui.ide" optional="true"/>
-      <import plugin="org.apache.ant"/>
-      <import plugin="org.junit"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ant.core"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ant.core.extraClasspathEntries">
-      <extraClasspathEntry
-            library="lib/antTestsSupport.jar">
-      </extraClasspathEntry>
-   </extension>
-   
-   <extension point="org.eclipse.ant.core.antTasks">
-	    <antTask 
-	    	name="coolTask" 
-	    	class="org.eclipse.ant.tests.core.support.tasks.AntTestTask"
-	    	library="lib/antTestsSupport.jar"
-	    	headless="false">
-	    </antTask>
-   </extension>
-
-	<extension point="org.eclipse.ant.core.antTypes">
-	    <antType 
-	    	name="coolType" 
-	    	class="org.eclipse.ant.tests.core.support.types.AntTestPath"
-	    	library="lib/antTestsSupport.jar"
-	    	headless="false">
-	    </antType>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ant.core.antProperties">
-      <antProperty
-            name="property.testing"
-            value="true">
-      </antProperty>
-       <antProperty
-            name="property.testing2"
-            value="hey"
-            class= "org.eclipse.does.not.exist">
-      </antProperty>
-      <antProperty
-            name="property.testing3"
-            class= "org.eclipse.ant.tests.core.testplugin.AntTestPropertyValueProvider">
-      </antProperty>
-       <antProperty
-            name="property.headless"
-            value="headless"
-            headless= "false">
-      </antProperty>
-   </extension>
-
-</plugin>
diff --git a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntFileRunner.java b/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntFileRunner.java
deleted file mode 100644
index 64e8216..0000000
--- a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntFileRunner.java
+++ /dev/null
@@ -1,78 +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.ant.tests.core.testplugin;
-
-
-import org.eclipse.ant.core.AntRunner;
-import org.eclipse.ant.tests.core.AbstractAntTest;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Responsible for running test ant build files.
- */
-public class AntFileRunner {
-	
-	private static final String BASE_DIR_PREFIX = "-Dbasedir="; //$NON-NLS-1$
-
-	public void run(IFile buildFile, String[] targets, String[] args, String baseDir, boolean captureOutput) throws CoreException {
-	
-		AntRunner runner = new AntRunner();
-
-		String[] runnerArgs = args;
-
-		if (baseDir.length() > 0) {
-			// Ant requires the working directory to be specified
-			// as one of the arguments, so it needs to be appended.
-			int length = 1;
-			if (args != null) {
-				length = args.length + 1;
-			} 
-			
-			runnerArgs = new String[length];
-			if (args != null) {
-				System.arraycopy(args, 0, runnerArgs, 0, args.length);
-			}
-			runnerArgs[length - 1] = BASE_DIR_PREFIX + baseDir;
-		}
-		runner.setArguments(runnerArgs);
-
-		if (buildFile != null) {
-			runner.setBuildFileLocation(buildFile.getLocation().toFile().toString());
-		}
-		if (targets != null && targets.length > 0) {
-			runner.setExecutionTargets(targets);
-		}
-		if (captureOutput) {
-			runner.addBuildLogger(AbstractAntTest.ANT_TEST_BUILD_LOGGER);
-		}
-
-		runner.run(null);
-	}
-	
-	public void run(String[] args, String baseDir) throws Exception {
-	
-		AntRunner runner = new AntRunner();
-
-		String[] runnerArgs = args;
-
-		if (baseDir.length() > 0) {
-			// Ant requires the working directory to be specified
-			// as one of the arguments, so it needs to be appended.
-			runnerArgs = new String[args.length + 1];
-			System.arraycopy(args, 0, runnerArgs, 0, args.length);
-			runnerArgs[args.length] = BASE_DIR_PREFIX + baseDir;
-		}
-		runner.setArguments(runnerArgs);
-
-		runner.run(args);
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestChecker.java b/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestChecker.java
deleted file mode 100644
index ccc5816..0000000
--- a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestChecker.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
- *******************************************************************************/
-package org.eclipse.ant.tests.core.testplugin;
-
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-
-public class AntTestChecker {
-	
-	private static AntTestChecker deflt= null;
-	
-	private int taskStartedCount;
-	
-	private int taskFinishedCount;
-	
-	private int targetsStartedCount;
-	
-	private int targetsFinishedCount;
-	
-	private int buildsStartedCount;
-	
-	private int buildsFinishedCount;
-	
-	private List messages= new ArrayList();
-	
-	private List targets= new ArrayList();
-	
-	private List tasks= new ArrayList();
-	
-	private List projects= new ArrayList();
-	
-	private Hashtable userProperties;
-	
-	private List nameOfListeners= new ArrayList();
-	
-	private AntTestChecker()  {
-	}
-	
-	/**
-	 * Returns the singleton AntTestChecker
-	 */
-	public static AntTestChecker getDefault() {
-		if (deflt == null) {
-			deflt= new AntTestChecker();
-		}
-		return deflt;
-	}
-	
-	/**
-	 * Resets the singleton AntTestChecker
-	 */
-	public static void reset() {
-		if (deflt != null) {
-			deflt.resetState();
-		}
-	}
-	/**
-	 * @see org.apache.tools.ant.BuildListener#buildFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildFinished() {
-		buildsFinishedCount++;
-	}
-
-	
-	public void buildStarted(String projectName) {
-		buildsStartedCount++;
-		projects.add(projectName);
-	}
-
-	
-	public void messageLogged(String message) {
-		messages.add(message);
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#targetFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetFinished() {
-		targetsFinishedCount++;
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetStarted(String targetName) {
-		targetsStartedCount++;
-		targets.add(targetName);
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#taskFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskFinished() {
-		taskFinishedCount++;
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#taskStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskStarted(String taskName) {
-		taskStartedCount++;
-		tasks.add(taskName);
-	}
-	
-	/**
-	 * Returns the buildsFinishedCount.
-	 * @return int
-	 */
-	public int getBuildsFinishedCount() {
-		return buildsFinishedCount;
-	}
-
-	/**
-	 * Returns the buildsStartedCount.
-	 * @return int
-	 */
-	public int getBuildsStartedCount() {
-		return buildsStartedCount;
-	}
-
-	/**
-	 * Returns the messagesLoggedCount.
-	 * @return int
-	 */
-	public int getMessagesLoggedCount() {
-		return messages.size();
-	}
-
-	/**
-	 * Returns the targetsFinishedCount.
-	 * @return int
-	 */
-	public int getTargetsFinishedCount() {
-		return targetsFinishedCount;
-	}
-
-	/**
-	 * Returns the targetsStartedCount.
-	 * @return int
-	 */
-	public int getTargetsStartedCount() {
-		return targetsStartedCount;
-	}
-
-	/**
-	 * Returns the taskFinishedCount.
-	 * @return int
-	 */
-	public int getTaskFinishedCount() {
-		return taskFinishedCount;
-	}
-
-	/**
-	 * Returns the taskStartedCount.
-	 * @return int
-	 */
-	public int getTaskStartedCount() {
-		return taskStartedCount;
-	}
-	
-	protected void resetState() {
-		taskStartedCount= 0;
-		taskFinishedCount= 0;
-		targetsStartedCount= 0;
-		targetsFinishedCount= 0;
-		buildsStartedCount= 0;
-		buildsFinishedCount= 0;
-		messages= new ArrayList();
-		tasks= new ArrayList();
-		targets= new ArrayList();
-		projects= new ArrayList();
-		userProperties= null;
-		nameOfListeners= new ArrayList();
-	}
-	
-	/**
-     * Return the message n from the last:
-     * e.g. getLoggedMessage(0) returns the most recent message
-     * 
-	 * @param n message index
-	 * @return the nth last message
-	 */
-    public String getLoggedMessage(int n) {
-        n = messages.size() - (n + 1);
-        if ((n < 0) || (n >= messages.size())) {
-            return null;
-        }
-        return (String) messages.get(n);
-    }
-
-    public String getLastMessageLogged() {
-        return getLoggedMessage(0);
-    }
-	
-	public void setUserProperties(Hashtable userProperties) {
-		this.userProperties= userProperties;
-	}
-
-	public String getUserProperty(String name) {
-		return (String)userProperties.get(name);
-	}
-	
-	public List getMessages() {
-		return messages;
-	}
-	
-	public List getListeners() {
-		return nameOfListeners;
-	}
-	
-	public String getLastListener() {
-		return (String)nameOfListeners.get(nameOfListeners.size() - 1);
-	}
-
-
-	public void addNameOfListener(String nameOfListener) {
-		this.nameOfListeners.add(nameOfListener);
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestPlugin.java b/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestPlugin.java
deleted file mode 100644
index 8ab76ab..0000000
--- a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestPlugin.java
+++ /dev/null
@@ -1,59 +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.ant.tests.core.testplugin;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-
-
-public class AntTestPlugin extends AbstractUIPlugin {
-	
-	private static AntTestPlugin deflt;
-	
-	public AntTestPlugin() {
-		super();
-		deflt= this;
-	}
-	
-	public static AntTestPlugin getDefault() {
-		return deflt;
-	}
-	
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	
-	public static void enableAutobuild(boolean enable) throws CoreException {
-		// disable auto build
-		IWorkspace workspace= AntTestPlugin.getWorkspace();
-		IWorkspaceDescription desc= workspace.getDescription();
-		desc.setAutoBuilding(enable);
-		workspace.setDescription(desc);
-	}
-	
-	public File getFileInPlugin(IPath path) {
-		try {
-			Bundle bundle = getDefault().getBundle();
-			URL installURL= new URL(bundle.getEntry("/"), path.toString());
-			URL localURL= Platform.asLocalURL(installURL);
-			return new File(localURL.getFile());
-		} catch (IOException e) {
-			return null;
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestPropertyValueProvider.java b/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestPropertyValueProvider.java
deleted file mode 100644
index 7d9ac88..0000000
--- a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/AntTestPropertyValueProvider.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ant.tests.core.testplugin;
-
-import org.eclipse.ant.core.IAntPropertyValueProvider;
-
-public class AntTestPropertyValueProvider implements IAntPropertyValueProvider {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.core.IAntPropertyValueProvider#getAntPropertyValue(java.lang.String)
-	 */
-	public String getAntPropertyValue(String antPropertyName) {
-		return "AntTestPropertyValueProvider";
-	}
-
-}
diff --git a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/ProjectHelper.java b/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/ProjectHelper.java
deleted file mode 100644
index fecbbef..0000000
--- a/ant/org.eclipse.ant.tests.core/test plugin/org/eclipse/ant/tests/core/testplugin/ProjectHelper.java
+++ /dev/null
@@ -1,109 +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.ant.tests.core.testplugin;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.wizards.datatransfer.*;
-
-/**
- * Helper methods to set up an IProject.
- */
-public class ProjectHelper {
-	
-	public static final IPath TEST_BUILDFILES_DIR= new Path("testbuildfiles");
-	public static final IPath TEST_RESOURCES_DIR= new Path("testresources");	
-	public static final IPath TEST_LIB_DIR= new Path("testlib");
-	
-	/**
-	 * Creates a IProject.
-	 */	
-	public static IProject createProject(String projectName) throws CoreException {
-		IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-		IProject project= root.getProject(projectName);
-		if (!project.exists()) {
-			project.create(null);
-		} else {
-			project.refreshLocal(IResource.DEPTH_INFINITE, null);
-		}
-		
-		if (!project.isOpen()) {
-			project.open(null);
-		}
-		
-		return project;
-	}
-	
-	/**
-	 * Removes an IProject.
-	 */		
-	public static void delete(IProject project) throws CoreException {
-		project.delete(true, true, null);
-	}
-
-
-	/**
-	 * Adds a folder to an IProject.
-	 */		
-	public static IFolder addFolder(IProject project, String containerName) throws CoreException {
-		
-			IFolder folder= project.getFolder(containerName);
-			if (!folder.exists()) {
-				folder.create(false, true, null);
-			}
-		
-		return folder;
-		
-	}
-	
-	public static void importFilesFromDirectory(File rootDir, IPath destPath, IProgressMonitor monitor) throws InvocationTargetException, IOException {		
-		IImportStructureProvider structureProvider = FileSystemStructureProvider.INSTANCE;
-		List files = new ArrayList(100);
-		addFiles(rootDir, files);
-		try {
-			ImportOperation op= new ImportOperation(destPath, rootDir, structureProvider, new ImportOverwriteQuery(), files);
-			op.setCreateContainerStructure(false);
-			op.run(monitor);
-		} catch (InterruptedException e) {
-			// should not happen
-		}
-	}	
-	
-	private static void addFiles(File dir, List collection) throws IOException {
-		File[] files = dir.listFiles();
-		List subDirs = new ArrayList(2);
-		for (int i = 0; i < files.length; i++) {
-			if (files[i].isFile()) {
-				collection.add(files[i]);
-			} else if (files[i].isDirectory()) {
-				subDirs.add(files[i]);
-			}
-		}
-		Iterator iter = subDirs.iterator();
-		while (iter.hasNext()) {
-			File subDir = (File)iter.next();
-			addFiles(subDir, collection);
-		}
-	}
-	
-	private static class ImportOverwriteQuery implements IOverwriteQuery {
-		public String queryOverwrite(String file) {
-			return ALL;
-		}	
-	}			
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/inputHandlers/AntTestInputHandler.java b/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/inputHandlers/AntTestInputHandler.java
deleted file mode 100644
index 34d77d4..0000000
--- a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/inputHandlers/AntTestInputHandler.java
+++ /dev/null
@@ -1,36 +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.ant.tests.core.support.inputHandlers;
-
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.input.DefaultInputHandler;
-import org.apache.tools.ant.input.InputRequest;
-
-/**
- * A test input handler when using Ant within Eclipse.
- * This is the class that will respond to <input> requests from
- * within an Ant build file.
- * If the build is occurring in Ant 1.6.0 and the -noinput option has been specified
- * this input handler will fail.
- */
-public class AntTestInputHandler extends DefaultInputHandler {
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.input.InputHandler#handleInput(org.apache.tools.ant.input.InputRequest)
-	 */
-	public void handleInput(InputRequest request) throws BuildException {
-		if (System.getProperty("eclipse.ant.noInput") != null) { //$NON-NLS-1$
-			throw new BuildException("Unable to respond to input request likely as a result of specifying the -noinput command");
-		}
-		request.setInput("testing handling input requests");
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/tasks/AntTestTask.java b/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/tasks/AntTestTask.java
deleted file mode 100644
index c73c836..0000000
--- a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/tasks/AntTestTask.java
+++ /dev/null
@@ -1,35 +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.ant.tests.core.support.tasks;
-
-
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.Echo;
-
-
-public class AntTestTask extends Task {
-	
-	public AntTestTask() {
-		super();
-	}
-	
-	/**
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		Echo echo= new Echo();
-		echo.setProject(getProject());
-		echo.setMessage("Testing Ant in Eclipse with a custom task");
-		echo.execute();
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/tasks/AntTestTask2.java b/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/tasks/AntTestTask2.java
deleted file mode 100644
index 59dddc7..0000000
--- a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/tasks/AntTestTask2.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ant.tests.core.support.tasks;
-
-
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.Echo;
-
-
-public class AntTestTask2 extends Task {
-	
-	public AntTestTask2() {
-		super();
-	}
-	
-	/**
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		Echo echo= new Echo();
-		echo.setProject(getProject());
-		echo.setMessage("Testing Ant in Eclipse with a custom task");
-		echo.execute();
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildListener.java b/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildListener.java
deleted file mode 100644
index 30d4ddf..0000000
--- a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildListener.java
+++ /dev/null
@@ -1,64 +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.ant.tests.core.support.testloggers;
-
-
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildListener;
-import org.eclipse.ant.tests.core.testplugin.AntTestChecker;
-
-
-public class TestBuildListener implements BuildListener {
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#buildFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildFinished(BuildEvent event) {
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#buildStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildStarted(BuildEvent event) {
-		AntTestChecker.getDefault().addNameOfListener(this.getClass().getName());
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#messageLogged(org.apache.tools.ant.BuildEvent)
-	 */
-	public void messageLogged(BuildEvent event) {
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#targetFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetFinished(BuildEvent event) {
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetStarted(BuildEvent event) {
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#taskFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskFinished(BuildEvent event) {
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#taskStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskStarted(BuildEvent event) {
-	}
-
-}
diff --git a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildLogger.java b/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildLogger.java
deleted file mode 100644
index da7dbf2..0000000
--- a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/testloggers/TestBuildLogger.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.tests.core.support.testloggers;
-
-
-import java.io.PrintStream;
-
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildLogger;
-import org.apache.tools.ant.Project;
-import org.eclipse.ant.core.AntSecurityException;
-import org.eclipse.ant.tests.core.testplugin.AntTestChecker;
-import org.eclipse.core.runtime.OperationCanceledException;
-
-public class TestBuildLogger implements BuildLogger {
-
-	private int fMessageOutputLevel= Project.MSG_INFO;
-	private PrintStream fErr= null;
-	private PrintStream fOut= null;
-    private boolean fSetProperties= true;
-	
-	/**
-	 * An exception that has already been logged.
-	 */
-	private Throwable fHandledException= null;
-	
-	
-	public TestBuildLogger() {
-	}
-	
-	/**
-	 * @see org.apache.tools.ant.BuildLogger#setMessageOutputLevel(int)
-	 */
-	public void setMessageOutputLevel(int level) {
-		fMessageOutputLevel= level;
-	}
-	
-	protected int getMessageOutputLevel() {
-		return fMessageOutputLevel;
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildLogger#setEmacsMode(boolean)
-	 */
-	public void setEmacsMode(boolean emacsMode) {
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#buildStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildStarted(BuildEvent event) {
-		AntTestChecker.getDefault().buildStarted(event.getProject().getName());
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#buildFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildFinished(BuildEvent event) {
-		handleException(event);
-		fHandledException= null;
-		AntTestChecker.getDefault().buildFinished();
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetStarted(BuildEvent event) {
-		AntTestChecker.getDefault().targetStarted(event.getTarget().getName());
-        if (fSetProperties) {
-            fSetProperties= false;
-            AntTestChecker.getDefault().setUserProperties(event.getProject().getProperties());
-        }
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#targetFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetFinished(BuildEvent event) {
-		handleException(event);
-		AntTestChecker.getDefault().targetFinished();
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#taskStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskStarted(BuildEvent event) {
-		AntTestChecker.getDefault().taskStarted(event.getTask().getTaskName());
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#taskFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskFinished(BuildEvent event) {
-		handleException(event);
-		AntTestChecker.getDefault().targetFinished();
-	}
-
-	/**
-	 * @see BuildListener#messageLogged(BuildEvent)
-	 */
-	public void messageLogged(BuildEvent event) {
-		if (event.getPriority() > getMessageOutputLevel()) {
-			return;
-		}
-		logMessage(event.getMessage(), event.getPriority());
-		AntTestChecker.getDefault().messageLogged(event.getMessage());
-	}
-
-	protected PrintStream getErrorPrintStream() {
-		return fErr;
-	}
-	
-	protected PrintStream getOutputPrintStream() {
-		return fOut;
-	}
-	
-	/**
-	 * @see org.apache.tools.ant.BuildLogger#setErrorPrintStream(java.io.PrintStream)
-	 */
-	public void setErrorPrintStream(PrintStream err) {
-		//this build logger logs to "null" unless
-		//the user has explicitly set a logfile to use
-		if (err == System.err) {
-			fErr= null;
-		} else {
-			fErr= err;
-		}
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildLogger#setOutputPrintStream(java.io.PrintStream)
-	 */
-	public void setOutputPrintStream(PrintStream output) {
-		//this build logger logs to "null" unless
-		//the user has explicitly set a logfile to use
-		if (output == System.out) {
-			fOut= null;
-		} else {
-			fOut= output;
-		}
-	}
-	
-	protected void logMessage(String message, int priority) {
-		if (priority > getMessageOutputLevel()) {
-			return;
-		}
-		
-		if (priority == Project.MSG_ERR) {
-			if (getErrorPrintStream() != null && getErrorPrintStream() != System.err) {
-				//user has designated to log to a logfile
-				getErrorPrintStream().println(message);
-			}
-		} else {
-			if (getOutputPrintStream() != null && getOutputPrintStream() != System.out) {
-				//user has designated to log to a logfile
-				getOutputPrintStream().println(message);
-			} 
-		}
-	}
-	
-	protected void handleException(BuildEvent event) {
-		Throwable exception = event.getException();
-		if (exception == null || exception == fHandledException
-		|| exception instanceof OperationCanceledException
-		|| exception instanceof AntSecurityException) {
-			return;
-		}
-		fHandledException= exception;
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/types/AntTestPath.java b/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/types/AntTestPath.java
deleted file mode 100644
index 408ac4a..0000000
--- a/ant/org.eclipse.ant.tests.core/test support/org/eclipse/ant/tests/core/support/types/AntTestPath.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.ant.tests.core.support.types;
-
-
-
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.types.Path;
-
-public class AntTestPath extends Path {
-	
-	String message;
-	
-	public AntTestPath(Project project) {
-		super(project);
-	}
-	
-	public void setMessage(String message) {
-		this.message= message;
-	}
-	
-	public String getMessage() {
-		return message;
-	}
-	
-}
diff --git a/ant/org.eclipse.ant.tests.core/test.xml b/ant/org.eclipse.ant.tests.core/test.xml
deleted file mode 100644
index 4f6daa5..0000000
--- a/ant/org.eclipse.ant.tests.core/test.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
-  <!-- sets the properties eclipse-home, and library-file -->
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}\..\.."/>
-<property name="plugin-name" value="org.eclipse.ant.tests.core"/>
-  <property name="library-file"
-            value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
- 
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="jdt-folder" 
-              value="${eclipse-home}/jdt_folder"/>
-    <delete dir="${jdt-folder}" quiet="true"/>
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${jdt-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.ant.tests.core.AutomatedSuite"/>
-    </ant>
-  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-  <!-- This target runs the performance test suites. -->
-  <target name="performance">
-  </target>	
-	
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug32551.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug32551.xml
deleted file mode 100644
index e543997..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug32551.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<project name="bug" default="all">
- <path id="myclasspath">
- 	<fileset dir="..\lib">
-  		<include name="antTestsSupport.jar" /> 
-  	</fileset>
-  </path>
-  
- <taskdef name="hello" classname="org.eclipse.ant.tests.core.support.tasks.AntTestTask">
-  	<classpath refid="myclasspath" /> 
-  </taskdef>
-  
- <target name="all">
-  	<hello /> 
-  </target>
-  </project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug34663.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug34663.xml
deleted file mode 100644
index 2479f90..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug34663.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<project name="34663.xml" default="echoP">
-
-<taskdef file="${ROOTDIR}/taskdefs.properties" />
- 
- <target name="echoP">
- 	<myEchoProperties/>
- </target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug42926.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug42926.xml
deleted file mode 100644
index 3bb86a2..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug42926.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<project default="all">
-	<path id="someclasspath">
-		<fileset dir="${ant.home}/lib" includes="sometask.jar"/>
-	</path>
-
-	<taskdef name="sometask" classname="com.foo.SomeTask"
-classpathref="someclasspath"/>
-
-	<target name="all">
-		<echo>Hello ${ant.home}</echo>
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug73602.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug73602.xml
deleted file mode 100644
index 505a2bd..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/Bug73602.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<project name="main" default="all">
-    <taskdef resource="taskdefs.properties"/>
-    <hello/>
-    <target name="all">
-        <echo>Hello</echo>
-    </target>
-	<target name="all3">
-	        <echo>Hello</echo>
-	    </target>
-	<target name="all4">
-	        <echo>Hello</echo>
-	    </target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/ClasspathOrdering.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/ClasspathOrdering.xml
deleted file mode 100644
index c99b65e..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/ClasspathOrdering.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<project name="ClasspathOrdering" default="ordered" basedir="..">
-
-	<target name="ordered">
-		<java classname= "ClasspathOrdering"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/CustomTask.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/CustomTask.xml
deleted file mode 100644
index 53525c8..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/CustomTask.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<project name="Custom Task" default="Custom Task" basedir=".">
-	<target name="init">
-		<tstamp/>
-	</target>
-
-	<target name="Custom Task" description= "Test adding a custom task" depends="init">
-		<AntTestTask/>
-	</target>
-	
-	<target name="Custom Task from Entry" description= "Test adding a custom task">
-		<AntTestTask2/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/CustomType.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/CustomType.xml
deleted file mode 100644
index 1ae1ef5..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/CustomType.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<project name="Custom Type" default="Custom Type" basedir=".">
-
-	<anttestpath id="compile.classpath">
-      <fileset dir="lib">
-        <include name="**/*.jar"/>
-      </fileset>
-    </anttestpath>
-    
-	<target name="init">
-		<tstamp/>
-	</target>
-
-	<target name="Custom Type" description= "Test adding a custom type" depends="init">
-		<echo message="Test adding a custom type"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/ExtensionPointTask.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/ExtensionPointTask.xml
deleted file mode 100644
index 10a3140..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/ExtensionPointTask.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<project name="Extension Point Task" default="Extension Point Task" basedir=".">
-	<target name="Extension Point Task" description= "Ensure that an extension point defined task is present">
-		<coolTask/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/ExtensionPointType.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/ExtensionPointType.xml
deleted file mode 100644
index abaaaec..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/ExtensionPointType.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<project name="Extension Point Type" default="Extension Point Type" basedir=".">
-
-	<coolType id="compile.classpath">
-      <fileset dir="lib">
-        <include name="**/*.jar"/>
-      </fileset>
-    </coolType>
-    
-	<target name="Extension Point Type" description= "Ensure that an extension point defined type is present">
-		<echo message="Ensure that an extension point defined type is present"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/MissingDefault.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/MissingDefault.xml
deleted file mode 100644
index 305d7e9..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/MissingDefault.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<project name= "Testing" default="build">
-
-	<target name= "test">
-		<echo message="testing"/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/NoDefault.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/NoDefault.xml
deleted file mode 100644
index 77c914a..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/NoDefault.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<project name= "Testing">
-	<target name= "test">
-		<echo message="testing"/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/TestForEcho.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/TestForEcho.xml
deleted file mode 100644
index 2213e5e..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/TestForEcho.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<project name="Echo Test" default="Test for Echo" basedir=".">
-	<target name="init">
-		<tstamp/>
-	</target>
-
-	<target name="Test for Echo" description= "Calls other echos" depends="init">
-		<ant antfile="buildfiles/echoing.xml" dir="../../AntTests" target="echo1"/>
-		<ant antfile="buildfiles/echoing.xml" dir="../../AntTests" target="echo2"/>
-		<ant antfile="buildfiles/echoing.xml" dir="../../AntTests" target="echo3"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/build.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/build.xml
deleted file mode 100644
index 7638a53..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/build.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<project name="Eching" default="echo1" basedir="..">
-
-	<target name="echo1">
-		<echo message="echo1"/>
-	</target>
-	
-	<target name="echo2">
-		<echo message="echo2"/>
-	</target>
-	
-	<target name="echo3" description= "An echo3!">
-		<echo message="echo3"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/echoing.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/echoing.xml
deleted file mode 100644
index 5cdd64d..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/echoing.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<project name="Echoing" default="echo1" basedir="..">
-
-	<target name="echo1">
-		<echo message="echo1"/>
-	</target>
-	
-	<target name="echo2">
-		<echo message="echo2"/>
-	</target>
-	
-	<target name="echo3" description= "An echo3!">
-		<echo message="echo3"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/failingTarget.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/failingTarget.xml
deleted file mode 100644
index 04418e0..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/failingTarget.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<project default="all">
-	<target name="all" depends="fails, echos"/>
-	<target name="fails">
-		<jar jarfile="jar16.jar" basedir="doesNotExist"/>
-	</target>
-	<target name="echos">
-		<echo>Still echo on failure</echo>
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/input.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/input.xml
deleted file mode 100644
index 8d70ab5..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/input.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<project name="input testing" default= "input test">
-	<target name="input test">
-		<input message="Enter for echo" addproperty= "inputTest">
-		</input>
-		<echo message="${inputTest}"/>
-	</target>	
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.core/testbuildfiles/javac.xml b/ant/org.eclipse.ant.tests.core/testbuildfiles/javac.xml
deleted file mode 100644
index 42f0225..0000000
--- a/ant/org.eclipse.ant.tests.core/testbuildfiles/javac.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.ant.core" default="build" basedir="..">
-
-	
-	<target name="init" depends="properties">
-		<property name="plugin" value="AntTests"/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="plugin.destination" value="${basedir}"/>
-		<property name="build.result.folder" value="${basedir}"/>
-	</target>
-	
-	<target name="properties" if="use.eclipse.JDTCompiler">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-	
-	<target name="build" depends="init">
-		<property name="destdir" value="${temp.folder}/javac.bin"/>
-		<delete dir="${temp.folder}/javac.bin"/>
-		<mkdir dir="${temp.folder}/javac.bin"/>
-		<!-- compile the source code -->
-		<javac destdir="${temp.folder}/javac.bin" failonerror="false" verbose="false" debug="on" includeAntRuntime="yes">
-			<src path="resources"/>
-		</javac>
-	</target>
-	
-	<target name="clean" depends="init">
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="refresh" depends="init" if="eclipse.running">
-		<eclipse.refreshLocal resource="${plugin}" depth="infinite"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.core/testlib/classpathOrdering1.jar b/ant/org.eclipse.ant.tests.core/testlib/classpathOrdering1.jar
deleted file mode 100644
index b10cb7f..0000000
--- a/ant/org.eclipse.ant.tests.core/testlib/classpathOrdering1.jar
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.tests.core/testlib/classpathOrdering2.jar b/ant/org.eclipse.ant.tests.core/testlib/classpathOrdering2.jar
deleted file mode 100644
index 6816741..0000000
--- a/ant/org.eclipse.ant.tests.core/testlib/classpathOrdering2.jar
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.tests.core/testlib/taskFolder/org/eclipse/ant/tests/core/support/tasks/AntTestTask2.class b/ant/org.eclipse.ant.tests.core/testlib/taskFolder/org/eclipse/ant/tests/core/support/tasks/AntTestTask2.class
deleted file mode 100644
index 6a37eb5..0000000
--- a/ant/org.eclipse.ant.tests.core/testlib/taskFolder/org/eclipse/ant/tests/core/support/tasks/AntTestTask2.class
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.tests.core/testresources/AntTestTask.java b/ant/org.eclipse.ant.tests.core/testresources/AntTestTask.java
deleted file mode 100644
index bc4f602..0000000
--- a/ant/org.eclipse.ant.tests.core/testresources/AntTestTask.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
- *******************************************************************************/
-
-
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.Echo;
-
-
-public class AntTestTask extends Task {
-	
-	public AntTestTask() {
-		super();
-	}
-	
-	/**
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		Echo echo= new Echo();
-		echo.setProject(getProject());
-		echo.setMessage("Testing Ant in Eclipse with a custom task");
-		echo.execute();
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/testresources/taskdefs.properties b/ant/org.eclipse.ant.tests.core/testresources/taskdefs.properties
deleted file mode 100644
index 9f1bfcb..0000000
--- a/ant/org.eclipse.ant.tests.core/testresources/taskdefs.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-myEchoProperties=org.apache.tools.ant.taskdefs.optional.EchoProperties
-hello=org.eclipse.ant.tests.core.support.tasks.AntTestTask
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.core/testresources/test.properties b/ant/org.eclipse.ant.tests.core/testresources/test.properties
deleted file mode 100644
index 7eacd3a..0000000
--- a/ant/org.eclipse.ant.tests.core/testresources/test.properties
+++ /dev/null
@@ -1,12 +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
-###############################################################################
-AntTests=testing from properties file
-eclipse.is.cool=Yep
diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/AbstractAntTest.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/AbstractAntTest.java
deleted file mode 100644
index 710454a..0000000
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/AbstractAntTest.java
+++ /dev/null
@@ -1,231 +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.ant.tests.core;
-
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.AntRunner;
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.core.TargetInfo;
-import org.eclipse.ant.core.Task;
-import org.eclipse.ant.core.Type;
-import org.eclipse.ant.tests.core.testplugin.AntFileRunner;
-import org.eclipse.ant.tests.core.testplugin.AntTestChecker;
-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.IPath;
-import org.eclipse.core.runtime.Path;
-
-
- 
-/**
- * Tests for Ant core
- */
-public abstract class AbstractAntTest extends TestCase {
-	
-	protected static final String BUILD_SUCCESSFUL= "BUILD SUCCESSFUL";
-	public static final String ANT_TEST_BUILD_LOGGER = "org.eclipse.ant.tests.core.support.testloggers.TestBuildLogger"; //$NON-NLS-1$
-	public static final String ANT_TEST_BUILD_LISTENER= "org.eclipse.ant.tests.core.support.testloggers.TestBuildListener";
-	
-	/**
-	 * Returns the 'AntTests' project.
-	 * 
-	 * @return the test project
-	 */
-	protected IProject getProject() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject("AntTests");
-	}
-	
-	public static IProject project;
-	
-	
-	public AbstractAntTest(String name) {
-		super(name);
-	}
-	
-	protected IFile getBuildFile(String buildFileName) {
-		IFile file = getProject().getFolder("buildfiles").getFile(buildFileName);
-		assertTrue("Could not find build file named: " + buildFileName, file.exists());
-		return file;
-	}
-	
-	protected IFolder getWorkingDirectory(String workingDirectoryName) {
-		IFolder folder = getProject().getFolder(workingDirectoryName);
-		assertTrue("Could not find the working directory named: " + workingDirectoryName, folder.exists());
-		return folder;
-	}
-	
-	protected IFile checkFileExists(String fileName) throws CoreException {
-		getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
-		IFile file = getProject().getFolder("buildfiles").getFile(fileName);
-		assertTrue("Could not find file named: " + fileName, file.exists());
-		return file;
-	}
-	
-	public void run(String buildFileName) throws CoreException {
-		run(buildFileName, null, false);
-	}
-	
-	public void run(String buildFileName, String[] args) throws CoreException {
-		run(buildFileName, args, false);
-	}
-	
-	public void run(String buildFileName, String[] args, boolean retrieveTargets) throws CoreException {
-		run(buildFileName, args, retrieveTargets, "");
-	}
-	
-	public void run(String buildFileName, String[] args, boolean retrieveTargets, String workingDir) throws CoreException {
-		AntTestChecker.reset();
-		IFile buildFile= null;
-		if (buildFileName != null) {
-			buildFile= getBuildFile(buildFileName);
-		}
-		AntFileRunner runner= new AntFileRunner();
-		String[] targets= null;
-		if (retrieveTargets) {
-			targets= getTargetNames(buildFileName);
-		}
-		if (workingDir.length() > 0) {
-			workingDir= getWorkingDirectory(workingDir).getLocation().toFile().getAbsolutePath();
-		} 
-		runner.run(buildFile, targets, args, workingDir, true);
-		assertTrue("Build starts did not equal build finishes", AntTestChecker.getDefault().getBuildsStartedCount() == AntTestChecker.getDefault().getBuildsFinishedCount());
-	}
-	
-	protected TargetInfo[] getTargets(String buildFileName) throws CoreException {
-		IFile buildFile= getBuildFile(buildFileName);
-		
-		AntRunner runner = new AntRunner();
-		runner.setBuildFileLocation(buildFile.getLocation().toFile().getAbsolutePath());
-	 	return runner.getAvailableTargets();
-	}
-	
-	protected String[] getTargetNames(String buildFileName) throws CoreException {
-		TargetInfo[] infos= getTargets(buildFileName);
-		String[] names= new String[infos.length];
-		for (int i = 0; i < infos.length; i++) {
-			TargetInfo info = infos[i];
-			names[i]= info.getName();
-		}
-		return names;
-	}
-	
-	protected String[] getTargetDescriptions(String buildFileName) throws CoreException {
-		TargetInfo[] infos= getTargets(buildFileName);
-		String[] descriptions= new String[infos.length];
-		for (int i = 0; i < infos.length; i++) {
-			TargetInfo info = infos[i];
-			descriptions[i]= info.getDescription();
-		}
-		return descriptions;
-	}
-	
-	/**
-	 * Returns the name of the project containing the given target in the given build file or
-	 * <code>null</code> if no project name can be found.
-	 */
-	protected String getProjectName(String buildFileName, String targetName) throws CoreException {
-		TargetInfo info= getTarget(buildFileName, targetName);
-		if (info != null) {
-			return info.getProject().getName();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the dependencies of the target with the given name in the given build file or <code>null</code>
-	 * if no such target can be found.
-	 */
-	protected String[] getDependencies(String buildFileName, String targetName) throws CoreException {
-		TargetInfo info= getTarget(buildFileName, targetName);
-		if (info != null) {
-			return info.getDependencies();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the target with the given name in the given build file or <code>null</code>
-	 * if no such target can be found.
-	 */
-	protected TargetInfo getTarget(String buildFileName, String targetName) throws CoreException {
-		TargetInfo[] infos= getTargets(buildFileName);
-		for (int i= 0, numTargets= infos.length; i < numTargets; i++) {
-			if (infos[i].getName().equals(targetName)) {
-				return infos[i];
-			}
-		}
-		return null;
-	}
-    
-    /**
-     * Return the log message n from the last:
-     * e.g. getLoggedMessage(0) returns the most recent message
-     * 
-     * @param n message index
-     * @return the nth last message
-     */
-    protected String getLoggedMessage(int n) {
-        return AntTestChecker.getDefault().getLoggedMessage(n);
-    }
-	
-	protected String getLastMessageLogged() {
-		return getLoggedMessage(0);
-	}
-	
-	protected void assertSuccessful() {
-		List messages= AntTestChecker.getDefault().getMessages();
-		String success= (String)messages.get(messages.size() - 1);
-		assertTrue("Build was not flagged as successful: " + success, BUILD_SUCCESSFUL.equals(success));
-	}
-	
-	protected String getPropertyFileName() {
-		return getProject().getFolder("resources").getFile("test.properties").getLocation().toFile().getAbsolutePath();
-	}
-	
-	protected void restorePreferenceDefaults() {
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		IAntClasspathEntry toolsEntry= prefs.getToolsJarEntry();
-		IAntClasspathEntry[] additionalEntries;
-		if (toolsEntry == null) {
-			additionalEntries= new IAntClasspathEntry[]{};
-		} else {
-			additionalEntries= new IAntClasspathEntry[] {toolsEntry};
-		}
-		prefs.setAdditionalClasspathEntries(additionalEntries);
-		prefs.setAntHomeClasspathEntries(prefs.getDefaultAntHomeEntries());
-		prefs.setCustomTasks(new Task[]{});
-		prefs.setCustomTypes(new Type[]{});
-		prefs.setCustomPropertyFiles(new String[]{});
-		prefs.setCustomProperties(new Property[]{});
-		prefs.setAntHome(prefs.getDefaultAntHome());
-	}
-	
-	protected String getAntHome() {
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		IAntClasspathEntry[] entries= prefs.getAntHomeClasspathEntries();
-		IAntClasspathEntry antjar= entries[0];
-		IPath antHomePath= new Path(antjar.getEntryURL().getFile());
-		antHomePath= antHomePath.removeLastSegments(1);
-		return antHomePath.toFile().getAbsolutePath();
-	}
-}
-
diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/AutomatedSuite.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/AutomatedSuite.java
deleted file mode 100644
index 1547350..0000000
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/AutomatedSuite.java
+++ /dev/null
@@ -1,100 +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.ant.tests.core;
-
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ant.tests.core.tests.FrameworkTests;
-import org.eclipse.ant.tests.core.tests.OptionTests;
-import org.eclipse.ant.tests.core.tests.ProjectTests;
-import org.eclipse.ant.tests.core.tests.TargetTests;
-import org.eclipse.ant.tests.core.tests.TaskTests;
-import org.eclipse.ant.tests.core.tests.TypeTests;
-
-/**
- * Test all areas of Ant.
- * 
- * To run this test suite:
- * <ol>
- * <li>Create a new JUnit plugin test launch configuration</li>
- * <li>Set the Test class to "org.eclipse.ant.tests.core.AutomatedSuite"</li>
- * <li>Set the Project to "org.eclipse.ant.tests.core"</li>
- * <li>Run the launch configuration. Output from the tests will be displayed in a JUnit view</li>
- * </ol>
- */
-public class AutomatedSuite extends TestSuite {
-	
-	/**
-	 * Flag that indicates test are in progress
-	 */
-	protected boolean testing = true;
-
-	/**
-	 * Returns the suite.  This is required to
-	 * use the JUnit Launcher.
-	 */
-	public static Test suite() {
-		return new AutomatedSuite();
-	}
-
-	/**
-	 * Construct the test suite.
-	 */
-	public AutomatedSuite() {
-		addTest(new TestSuite(ProjectCreationDecorator.class));
-		addTest(new TestSuite(FrameworkTests.class));
-		addTest(new TestSuite(TargetTests.class));
-		addTest(new TestSuite(ProjectTests.class));
-		addTest(new TestSuite(OptionTests.class));
-		addTest(new TestSuite(TaskTests.class));
-		addTest(new TestSuite(TypeTests.class));
-	}
-
-	/**
-	 * Runs the tests and collects their result in a TestResult without blocking.
-	 * the UI thread. Not normally needed but nice to have to check on the state of
-	 * environment during a test run.
-	 */
-//	public void run(final TestResult result) {
-//		final Display display = Display.getCurrent();
-//		Thread thread = null;
-//		try {
-//			Runnable r = new Runnable() {
-//				public void run() {
-//					for (Enumeration e= tests(); e.hasMoreElements(); ) {
-//				  		if (result.shouldStop() )
-//				  			break;
-//						Test test= (Test)e.nextElement();
-//						runTest(test, result);
-//					}					
-//					testing = false;
-//					display.wake();
-//				}
-//			};
-//			thread = new Thread(r);
-//			thread.start();
-//		} catch (Exception e) {
-//			e.printStackTrace();
-//		}
-//				
-//		while (testing) {
-//			try {
-//				if (!display.readAndDispatch())
-//					display.sleep();
-//			} catch (Throwable e) {
-//				e.printStackTrace();
-//			}			
-//		}		
-//	}
-}
-
diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/ProjectCreationDecorator.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/ProjectCreationDecorator.java
deleted file mode 100644
index 8d5d64e..0000000
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/ProjectCreationDecorator.java
+++ /dev/null
@@ -1,50 +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.ant.tests.core;
-
-
-import java.io.File;
-
-import org.eclipse.ant.tests.core.testplugin.AntTestPlugin;
-import org.eclipse.ant.tests.core.testplugin.ProjectHelper;
-import org.eclipse.core.resources.*;
-
-/**
- * Test to close the workbench, since debug tests do not run in the UI
- * thread.
- */
-public class ProjectCreationDecorator extends AbstractAntTest {
-	
-	public ProjectCreationDecorator(String name) {
-		super(name);
-	}
-	
-	public void testProjectCreation() throws Exception {
-		// delete any pre-existing project
-		IProject pro = ResourcesPlugin.getWorkspace().getRoot().getProject("AntTests");
-		if (pro.exists()) {
-			pro.delete(true, true, null);
-		}
-		// create project and import buildfiles and support files
-		project = ProjectHelper.createProject("AntTests");
-		IFolder folder = ProjectHelper.addFolder(project, "buildfiles");
-		File root = AntTestPlugin.getDefault().getFileInPlugin(ProjectHelper.TEST_BUILDFILES_DIR);
-		ProjectHelper.importFilesFromDirectory(root, folder.getFullPath(), null);
-		
-		folder = ProjectHelper.addFolder(project, "resources");
-		root = AntTestPlugin.getDefault().getFileInPlugin(ProjectHelper.TEST_RESOURCES_DIR);
-		ProjectHelper.importFilesFromDirectory(root, folder.getFullPath(), null);
-		
-		folder = ProjectHelper.addFolder(project, "lib");
-		root = AntTestPlugin.getDefault().getFileInPlugin(ProjectHelper.TEST_LIB_DIR);
-		ProjectHelper.importFilesFromDirectory(root, folder.getFullPath(), null);
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/FrameworkTests.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/FrameworkTests.java
deleted file mode 100644
index 1e77acb..0000000
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/FrameworkTests.java
+++ /dev/null
@@ -1,258 +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.ant.tests.core.tests;
-
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.AntRunner;
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.core.TargetInfo;
-import org.eclipse.ant.internal.core.AntClasspathEntry;
-import org.eclipse.ant.tests.core.AbstractAntTest;
-import org.eclipse.ant.tests.core.testplugin.AntTestChecker;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-public class FrameworkTests extends AbstractAntTest {
-	
-	public FrameworkTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * Ensures that the deprecated means of setting the classpath still works correctly
-	 * Do not fix deprecations unless the deprecated methods are being removed.
-	 * @throws MalformedURLException
-	 * @throws CoreException
-	 */
-	public void testClasspathOrderingDeprecated() throws MalformedURLException, CoreException {
-		AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-		
-		String path= getProject().getFolder("lib").getFile("classpathOrdering1.jar").getLocation().toFile().getAbsolutePath();
-		URL url= new URL("file:" + path);
-		
-		path= getProject().getFolder("lib").getFile("classpathOrdering2.jar").getLocation().toFile().getAbsolutePath();
-		URL url2= new URL("file:" + path);
-		
-		URL urls[] = prefs.getCustomURLs();
-		URL newUrls[] = new URL[urls.length + 2];
-		System.arraycopy(urls, 0, newUrls, 0, urls.length);
-		newUrls[urls.length] = url;
-		newUrls[urls.length + 1] = url2;
-		prefs.setCustomURLs(newUrls);
-		
-		prefs.updatePluginPreferences();
-		
-		run("ClasspathOrdering.xml");
-		String msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-		assertTrue("Message incorrect: " + msg, msg.equals("classpathOrdering1"));
-		assertSuccessful();
-		
-		restorePreferenceDefaults();
-		
-		urls = prefs.getCustomURLs();
-		newUrls = new URL[urls.length + 2];
-		System.arraycopy(urls, 0, newUrls, 0, urls.length);
-		newUrls[urls.length] = url2;
-		newUrls[urls.length + 1] = url;
-		prefs.setCustomURLs(newUrls);
-		
-		prefs.updatePluginPreferences();
-		
-		run("ClasspathOrdering.xml");
-		msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-		assertTrue("Message incorrect: " + msg, msg.equals("classpathOrdering2"));
-		assertSuccessful();
-		restorePreferenceDefaults();
-	}
-	
-	public void testClasspathOrdering() throws CoreException {
-		AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-		
-		String path= getProject().getFolder("lib").getFile("classpathOrdering1.jar").getLocation().toFile().getAbsolutePath();
-		IAntClasspathEntry entry= new AntClasspathEntry(path);
-		
-		path= getProject().getFolder("lib").getFile("classpathOrdering2.jar").getLocation().toFile().getAbsolutePath();
-		IAntClasspathEntry entry2= new AntClasspathEntry(path);
-		
-		IAntClasspathEntry entries[] = prefs.getAdditionalClasspathEntries();
-		IAntClasspathEntry newEntries[] = new IAntClasspathEntry[entries.length + 2];
-		System.arraycopy(entries, 0, newEntries, 0, entries.length);
-		newEntries[entries.length] = entry;
-		newEntries[entries.length + 1] = entry2;
-		prefs.setAdditionalClasspathEntries(newEntries);
-		
-		prefs.updatePluginPreferences();
-		
-		run("ClasspathOrdering.xml");
-		String msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-		assertTrue("Message incorrect: " + msg, msg.equals("classpathOrdering1"));
-		assertSuccessful();
-		
-		restorePreferenceDefaults();
-		
-		entries = prefs.getAdditionalClasspathEntries();
-		newEntries = new IAntClasspathEntry[entries.length + 2];
-		System.arraycopy(entries, 0, newEntries, 0, entries.length);
-		newEntries[entries.length] = entry2;
-		newEntries[entries.length + 1] = entry;
-		prefs.setAdditionalClasspathEntries(newEntries);
-		
-		prefs.updatePluginPreferences();
-		
-		run("ClasspathOrdering.xml");
-		msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-		assertTrue("Message incorrect: " + msg, msg.equals("classpathOrdering2"));
-		assertSuccessful();
-		restorePreferenceDefaults();
-	}
-	
-	public void testMissingDefaultTarget() {
-		try {
-			run("MissingDefault.xml", new String[]{"test"}, false);
-		} catch (CoreException e) {
-			String msg= e.getMessage();
-			assertTrue("Message incorrect: " + msg, msg.equals("Default target 'build' does not exist in this project"));
-			return;
-		}
-		assertTrue("Build files with no default targets should not be accepted", false);
-	}
-    
-    public void testNoDefaultTarget() throws CoreException {
-        run("NoDefault.xml");
-        assertSuccessful();
-    }
-	
-	/**
-	 * Ensures that tasks like javac work when includeAntRuntime is specified
-	 * bug 20857.
-	 * This test will just return if the tests are conducted on a JRE (no tools.jar).
-	 */
-	public void testIncludeAntRuntime() throws CoreException {
-		IAntClasspathEntry toolsEntry= AntCorePlugin.getPlugin().getPreferences().getToolsJarEntry();
-		if (toolsEntry == null) {
-			//running on a JRE where tools.jar could not be found
-			return;
-		}
-		run("javac.xml", new String[]{"build","refresh"}, false); //standard compiler
-		assertSuccessful();
-		IFile classFile= getProject().getFolder("temp.folder").getFolder("javac.bin").getFile("AntTestTask.class");
-		assertTrue("Class file was not generated", classFile.exists());
-		run("javac.xml", new String[]{"-Duse.eclipse.compiler=true", "clean", "build", "refresh"}, false); //JDTCompiler
-		assertSuccessful();
-		classFile= getProject().getFolder("temp.folder").getFolder("javac.bin").getFile("AntTestTask.class");
-		assertTrue("Class file was not generated", classFile.exists());
-	}
-	
-	/**
-	 * Tests the properties added using a global property file
-	 */
-	public void testGlobalPropertyFile() throws CoreException {
-		
-		AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-		
-		String path= getPropertyFileName();
-		prefs.setCustomPropertyFiles(new String[]{path});
-		
-		run("TestForEcho.xml", new String[]{});
-		assertSuccessful();
-		assertTrue("eclipse.is.cool should have been set as Yep", "Yep".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool")));
-		assertTrue("AntTests should have a value of testing", "testing from properties file".equals(AntTestChecker.getDefault().getUserProperty("AntTests")));
-		assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name"));
-		
-		restorePreferenceDefaults();
-	}
-	
-	/**
-	 * Tests the properties added using a global property
-	 */
-	public void testGlobalProperty() throws CoreException {
-		
-		AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-		prefs.setCustomProperties(new Property[]{new Property("eclipse.is.cool", "Yep"), new Property("JUnitTest", "true")});
-		
-		run("TestForEcho.xml", new String[]{});
-		assertSuccessful();
-		assertTrue("eclipse.is.cool should have been set as Yep", "Yep".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool")));
-		assertTrue("JUnitTests should have a value of true", "true".equals(AntTestChecker.getDefault().getUserProperty("JUnitTest")));
-		assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name"));
-		
-		restorePreferenceDefaults();
-	}
-	
-	public void testGlobalPropertyFileWithMinusDTakingPrecedence() throws CoreException {
-		AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-		
-		String path= getPropertyFileName();
-		prefs.setCustomPropertyFiles(new String[]{path});
-		
-		run("echoing.xml", new String[]{"-DAntTests=testing", "-Declipse.is.cool=true"}, false);
-		assertSuccessful();
-		assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool")));
-		assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests")));
-		assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name"));
-		restorePreferenceDefaults();
-	}
-	
-	/**
-	 * Tests that the default ANT_HOME is set and that it can be changed
-	 */
-	public void testSettingAntHome() throws CoreException {
-		try {
-			AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-			run("echoing.xml");
-			assertTrue("ANT_HOME not set correctly", prefs.getDefaultAntHome().equals(System.getProperty("ant.home")));
-			File antLibDir= new File(prefs.getDefaultAntHome(), "lib"); //$NON-NLS-1$
-			assertTrue("ant.library.dir not set correctly", antLibDir.getAbsolutePath().equals(System.getProperty("ant.library.dir")));
-			prefs.setAntHome("");
-			run("echoing.xml");
-			assertTrue("ANT_HOME not set correctly", null == System.getProperty("ant.home"));
-			assertTrue("ant.library.dir not set correctly", null == System.getProperty("ant.library.dir"));
-		} finally {
-			restorePreferenceDefaults();
-		}	
-	}
-	
-	/**
-	 * Tests retrieving target info using AntRunner
-     * Covers bug 73602 at the same time
-	 */
-	public void testGetTargets() throws CoreException {
-	  
-			AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-			
-			String path= getProject().getFolder("resources").getLocation().toFile().getAbsolutePath();
-			IAntClasspathEntry entry= new AntClasspathEntry(path);
-			
-			
-			IAntClasspathEntry entries[] = prefs.getAdditionalClasspathEntries();
-			IAntClasspathEntry newEntries[] = new IAntClasspathEntry[entries.length + 1];
-			System.arraycopy(entries, 0, newEntries, 0, entries.length);
-			newEntries[entries.length] = entry;
-			prefs.setAdditionalClasspathEntries(newEntries);
-			
-			prefs.updatePluginPreferences();
-			
-			AntRunner runner= new AntRunner();
-			IFile buildFile= getBuildFile("Bug73602.xml");
-			if (buildFile != null) {
-				runner.setBuildFileLocation(buildFile.getLocation().toFile().toString());
-			}
-			TargetInfo[] infos= runner.getAvailableTargets();
-			assertTrue("incorrect number of targets retrieved", infos != null && infos.length == 3);
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java
deleted file mode 100644
index 55248f8..0000000
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java
+++ /dev/null
@@ -1,622 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.tests.core.tests;
-
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.List;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.tests.core.AbstractAntTest;
-import org.eclipse.ant.tests.core.testplugin.AntTestChecker;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-public class OptionTests extends AbstractAntTest {
-	
-	protected static final String UNKNOWN_ARG= "Unknown argument: ";
-	protected static final String START_OF_HELP= "ant [options] [target [target2 [target3] ...]]";
-	protected static final String VERSION= "Apache Ant version 1.6.2 compiled on July 16 2004";
-	protected static final String PLUGIN_VERSION= "org.apache.ant_1.6.2";
-	 
-	public OptionTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * Tests the "-help" option
-	 */
-	public void testHelp() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-help"});
-		assertTrue("One message should have been logged", AntTestChecker.getDefault().getMessagesLoggedCount() == 1);
-		assertTrue("Help is incorrect", getLastMessageLogged() != null && getLastMessageLogged().startsWith(START_OF_HELP));
-	}
-	
-	/**
-	 * Tests the "-h" option (help)
-	 */
-	public void testMinusH() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-h"});
-		assertTrue("One message should have been logged, was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 1);
-		assertTrue("Help is incorrect", getLastMessageLogged() != null && getLastMessageLogged().startsWith(START_OF_HELP));
-	}
-	
-	/**
-	 * Tests the "-version" option
-	 */
-	public void testVersion() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-version"});
-		assertTrue("One message should have been logged", AntTestChecker.getDefault().getMessagesLoggedCount() == 1);
-		assertTrue("Version is incorrect", VERSION.equals(getLastMessageLogged()));
-	}
-	
-	/**
-	 * Tests the "-projecthelp" option
-	 */
-	public void testProjecthelp() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-projecthelp"});
-		assertTrue("5 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 5);
-		assertTrue("Project help is incorrect", getLastMessageLogged().startsWith("Subtargets:"));
-	}
-	
-	/**
-	 * Tests the "-p" option (project help)
-	 */
-	public void testMinusP() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-p"});
-		assertTrue("5 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 5);
-		assertTrue("Project help is incorrect", getLastMessageLogged().startsWith("Subtargets:"));
-	}
-	
-	/**
-	 * Tests the "-projecthelp" option when it will not show (quite mode)
-	 */
-	public void testProjecthelpQuiet() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-projecthelp", "-q"});
-		assertTrue("no messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 0);
-	}
-	
-	/**
-	 * Tests the "-listener" option with a listener that is not an instance of BuildListener
-	 */
-	public void testListenerBad() {
-		try {
-			run("TestForEcho.xml", new String[]{"-listener", "java.lang.String"});
-		} catch (CoreException ce) {
-			String msg= ce.getMessage();
-			assertTrue("Message incorrect!: " + msg, msg.equals("java.lang.String which was specified to be a build listener is not an instance of org.apache.tools.ant.BuildListener."));
-			return;
-		}
-		assertTrue("A core exception should have occurred wrappering a class cast exception", false);
-	}
-	
-	/**
-	 * Tests passing an unrecognized argument
-	 */
-	public void testUnknownArg() throws CoreException {	
-		run("TestForEcho.xml", new String[]{"-listenr"});
-        assertTrue("Unrecognized option message should have been logged before successful build",
-					(AntTestChecker.getDefault().getMessagesLoggedCount() == 6)
-					 && (getLoggedMessage(5).startsWith(UNKNOWN_ARG))
-                     && (getLastMessageLogged().startsWith(BUILD_SUCCESSFUL)));
-	}
-	
-	/**
-	 * Tests specifying the -logfile with no arg
-	 */
-	public void testLogFileWithNoArg() {
-		try {
-			run("TestForEcho.xml", new String[]{"-logfile"});
-		} catch (CoreException ce) {
-			return;
-		}
-		assertTrue("You must specify a log file when using the -log argument", false);
-	}
-	
-	/**
-	 * Tests specifying the -logfile
-	 */
-	public void testLogFile() throws CoreException, IOException {
-		run("TestForEcho.xml", new String[]{"-logfile", "TestLogFile.txt"});
-		IFile file= checkFileExists("TestLogFile.txt");
-		InputStream stream =file.getContents();
-		
-		InputStreamReader in= null;
-		try {		
-			in= new InputStreamReader(new BufferedInputStream(stream));
-			StringBuffer buffer= new StringBuffer();
-			char[] readBuffer= new char[2048];
-			int n= in.read(readBuffer);
-			while (n > 0) {
-				buffer.append(readBuffer, 0, n);
-				n= in.read(readBuffer);
-			}
-			assertTrue("File should have started with Buildfile", buffer.toString().startsWith("Buildfile"));
-		} finally {
-			in.close();
-			stream.close();
-		}
-		
-	}
-	
-	/**
-	 * Tests specifying the -logger with no arg
-	 */
-	public void testLoggerWithNoArg() {
-		try {
-			run("TestForEcho.xml", new String[]{"-logger"});
-		} catch (CoreException ce) {
-			return;
-		}
-		assertTrue("You must specify a classname when using the -logger argument", false);
-	}
-	
-	/**
-	 * Tests the "-logger" option with a logger that is not an instance of BuildLogger
-	 */
-	public void testLoggerBad() {
-		try {
-			run("TestForEcho.xml", new String[]{"-logger", "java.lang.String"});
-		} catch (CoreException ce) {
-			return;
-		}
-		assertTrue("A core exception should have occurred wrappering a class cast exception", false);
-	}
-	
-	/**
-	 * Tests the "-logger" option with two loggers specified...only one is allowed
-	 */
-	public void testTwoLoggers() {
-		try {
-			run("TestForEcho.xml", new String[]{"-logger", "java.lang.String", "-q", "-logger", "java.lang.String"});
-		} catch (CoreException ce) {
-			return;
-		}
-		assertTrue("As only one logger can be specified", false);
-	}
-	
-	/**
-	 * Tests specifying the -listener with no arg
-	 */
-	public void testListenerWithNoArg() {
-		try {
-			run("TestForEcho.xml", new String[]{"-listener"});
-		} catch (CoreException ce) {
-			return;
-		}
-		assertTrue("You must specify a listeners when using the -listener argument ", false);
-	}
-	
-	/**
-	 * Tests specifying the -listener with a class that will not be found
-	 */
-	public void testListenerClassNotFound() {
-		try {
-			run("TestForEcho.xml", new String[]{"-listener", "TestBuildListener"});
-		} catch (CoreException e) {
-			String message= e.getStatus().getException().getMessage();
-			assertTrue("Should be ClassNotFoundException", "java.lang.ClassNotFoundException: TestBuildListener".equals(message));
-			return;
-		}
-		assertTrue("A CoreException should have occurred as the listener class will not be found", false);
-		
-	}
-	
-	/**
-	 * Tests specifying the -listener option
-	 */
-	public void testListener() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-listener", ANT_TEST_BUILD_LISTENER});
-		assertSuccessful();
-		assertTrue("A listener should have been added named: " + ANT_TEST_BUILD_LISTENER, ANT_TEST_BUILD_LISTENER.equals(AntTestChecker.getDefault().getLastListener()));
-	}
-	
-	/**
-	 * Tests specifying the XmlLogger as a listener (bug 80435)
-	 */
-	public void testXmlLoggerListener() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-listener", "org.apache.tools.ant.XmlLogger"});
-		assertSuccessful();
-		
-		//find the log file generated by the xml logger
-		IFile file= checkFileExists("log.xml");
-		InputStream stream= file.getContents();
-		try {
-			assertTrue(stream.available() != 0);
-		} catch (IOException e) {
-			assertTrue(false);
-		}
-	}
-	
-	/**
-	 * Tests specifying the -listener option multiple times...which is allowed
-	 */
-	public void testListenerMultiple() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-listener", ANT_TEST_BUILD_LISTENER, "-listener", ANT_TEST_BUILD_LISTENER});
-		assertSuccessful();
-		assertTrue("A listener should have been added named: " + ANT_TEST_BUILD_LISTENER, ANT_TEST_BUILD_LISTENER.equals(AntTestChecker.getDefault().getLastListener()));
-		assertTrue("Two listeners should have been added", AntTestChecker.getDefault().getListeners().size() == 2);
-	}
-	
-	/**
-	 * Tests specifying the -listener option multiple times, with one missing the arg
-	 */
-	public void testListenerMultipleWithBad() {
-		try {
-			run("TestForEcho.xml", new String[]{"-listener", ANT_TEST_BUILD_LISTENER, "-q", "-listener", "-verbose"});
-		} catch(CoreException e) {
-			//You must specify a listener for all -listener arguments
-			return;
-		}
-		assertTrue("You must specify a listener for all -listener arguments ", false);
-	}
-	
-	/**
-	 * Tests specifying the -buildfile with no arg
-	 */
-	public void testBuildFileWithNoArg() {
-		try {
-			run("TestForEcho.xml", new String[]{"-buildfile"});
-		} catch (CoreException ce) {
-			//You must specify a buildfile when using the -buildfile argument
-			return;
-		}
-		assertTrue("You must specify a buildfile when using the -buildfile argument", false);
-	}
-	
-	/**
-	 * Tests specifying the -buildfile
-	 */
-	public void testBuildFile() throws CoreException {
-		String buildFileName= getProject().getFolder("buildfiles").getFile("echoing.xml").getLocation().toFile().getAbsolutePath();
-		run("TestForEcho.xml", new String[]{"-buildfile", buildFileName}, false, "buildfiles");
-		
-		assertTrue("Should have been 1 tasks, was: " + AntTestChecker.getDefault().getTaskStartedCount(), AntTestChecker.getDefault().getTaskStartedCount() == 1);
-	}
-	
-	/**
-	 * Tests specifying a target at the command line that does not exist.
-	 */
-	public void testSpecifyBadTargetAsArg() {
-		try {
-			run("TestForEcho.xml", new String[]{"echo2"}, false);
-		} catch (CoreException ce) {
-			return;
-		}
-		assertTrue("A core exception should have occurred as the target does not exist", false);
-	}
-	
-	/**
-	 * Tests specifying a target at the command line
-	 */
-	public void testSpecifyTargetAsArg() throws CoreException {
-		run("echoing.xml", new String[]{"echo3"}, false);
-		assertTrue("3 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 3);
-		assertSuccessful();
-	}
-	
-	/**
-	 * Tests specifying a target at the command line with other options
-	 */
-	public void testSpecifyTargetAsArgWithOtherOptions() throws CoreException {
-		run("echoing.xml", new String[]{"-logfile", "TestLogFile.txt", "echo3"}, false);
-		assertTrue("4 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 4);
-		List messages= AntTestChecker.getDefault().getMessages();
-		//ensure that echo3 target executed and only that target
-		assertTrue("echo3 target not executed", messages.get(2).equals("echo3"));
-		assertSuccessful();
-	}
-	
-	/**
-	 * Tests specifying targets at the command line with other options
-	 */
-	public void testSpecifyTargetsAsArgWithOtherOptions() throws CoreException {
-		run("echoing.xml", new String[]{"-logfile", "TestLogFile.txt", "echo2", "echo3"}, false);
-		assertTrue("5 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 5);
-		List messages= AntTestChecker.getDefault().getMessages();
-		//ensure that echo2 target executed
-		assertTrue("echo2 target not executed", messages.get(2).equals("echo2"));
-		assertSuccessful();
-	}
-	
-	/**
-	 * Tests specifying a target at the command line and quiet reporting
-	 */
-	public void testSpecifyTargetAsArgAndQuiet() throws CoreException {
-		run("echoing.xml", new String[]{"-logfile", "TestLogFile.txt", "echo3", "-quiet"}, false);
-		assertTrue("2 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 2);
-	}
-	
-	/**
-	 * Tests properties using "-D"
-	 */
-	public void testMinusD() throws CoreException {
-		run("echoing.xml", new String[]{"-DAntTests=testing", "-Declipse.is.cool=true"}, false);
-		assertSuccessful();
-		assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool")));
-		assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests")));
-		assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name"));
-		
-	}
-	
-	/**
-	 * Tests properties using "-D" and "-d" to specify debug
-	 */
-	public void testMinusDMinusd() throws CoreException {
-		run("echoing.xml", new String[]{"-d", "-DAntTests=testing", "-Declipse.is.cool=true"}, false);
-		assertSuccessful();
-		assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool")));
-		assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests")));
-		assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name"));
-	
-	}
-	
-	public void testMinusDAndGlobalProperties() throws CoreException {
-		run("echoing.xml", new String[]{"-DAntTests=testing", "-Declipse.is.cool=true"}, false);
-		assertSuccessful();
-		assertTrue("eclipse.running should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.running")));
-		assertNotNull("eclipse.home should have been set", AntTestChecker.getDefault().getUserProperty("eclipse.home"));
-	}
-	
-	/**
-	 * Tests specifying a property such as "-D=emptyStringIsMyName
-	 * Bug 37007
-	 */
-	public void testMinusDEmpty() throws CoreException {
-		run("echoing.xml", new String[]{"-D=emptyStringIsMyName", "-Declipse.is.cool=true"}, false);
-		assertSuccessful();
-		assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool")));
-		assertTrue("\"\" should have a value of emptyStringIsMyName", "emptyStringIsMyName".equals(AntTestChecker.getDefault().getUserProperty("")));
-		assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name"));
-	}
-	
-	/**
-	 * Tests specifying properties that contain spaces
-	 * Bug 37094
-	 */
-	public void testMinusDWithSpaces() throws CoreException {
-		run("echoing.xml", new String[]{"-DAntTests= testing", "-Declipse.is.cool=    true"}, false);
-		assertSuccessful();
-		assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool")));
-		assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests")));
-		assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name"));
-	}
-	
-	/**
-	 * Tests specifying properties when the user has incorrectly specified "-Debug"
-	 * Bug 40935
-	 */
-	public void testPropertiesWithMinusDebug() throws CoreException {
-		run("echoing.xml", new String[]{"-Debug", "-DAntTests= testing", "-Declipse.is.cool=    true"}, false);
-		assertTrue("\"-Debug\" should be flagged as an unknown argument", "Unknown argument: -Debug".equals(AntTestChecker.getDefault().getMessages().get(0)));
-		assertSuccessful();
-		assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool")));
-		assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests")));
-		assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name"));
-	}
-	
-	/**
-	 * Tests when the user has incorrectly specified "-Debug"
-	 * Bug 40935
-	 */
-	public void testMinusDebug() throws CoreException {
-		run("echoing.xml", new String[]{"-Debug"});
-		assertTrue("\"-Debug\" should be flagged as an unknown argument", "Unknown argument: -Debug".equals(AntTestChecker.getDefault().getMessages().get(0)));
-		assertSuccessful();
-	}
-	
-	public void testPropertyFileWithNoArg() {
-		try {
-			run("TestForEcho.xml", new String[]{"-propertyfile"});
-		} catch (CoreException ce) {
-			String msg= (String)AntTestChecker.getDefault().getMessages().get(0);
-			assertTrue("Message incorrect!: " + msg, msg.equals("You must specify a property filename when using the -propertyfile argument"));
-			return;
-		}
-		assertTrue("You must specify a property filename when using the -propertyfile argument", false);
-	}
-	
-	/**
-	 * A build should succeed when a property file is not found.
-	 * The error is reported and the build continues.
-	 */
-	public void testPropertyFileFileNotFound() throws CoreException {
-		
-		run("TestForEcho.xml", new String[]{"-propertyfile", "qq.txt"});
-		assertSuccessful();
-		String msg= (String)AntTestChecker.getDefault().getMessages().get(0);
-		assertTrue("Message incorrect!: " + msg, msg.startsWith("Could not load property file:"));
-	}
-	
-	public void testPropertyFile() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-propertyfile", getPropertyFileName()});
-		assertSuccessful();
-		assertTrue("eclipse.is.cool should have been set as Yep", "Yep".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool")));
-		assertTrue("AntTests should have a value of testing", "testing from properties file".equals(AntTestChecker.getDefault().getUserProperty("AntTests")));
-		assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name"));
-	}
-	
-	public void testPropertyFileWithMinusDTakingPrecedence() throws CoreException {
-		run("echoing.xml", new String[]{"-propertyfile", getPropertyFileName(), "-DAntTests=testing", "-Declipse.is.cool=true"}, false);
-		assertSuccessful();
-		assertTrue("eclipse.is.cool should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.is.cool")));
-		assertTrue("AntTests should have a value of testing", "testing".equals(AntTestChecker.getDefault().getUserProperty("AntTests")));
-		assertNull("my.name was not set and should be null", AntTestChecker.getDefault().getUserProperty("my.name"));
-	}
-	
-	public void testInputHandlerWithNoArg() {
-		try {
-			run("TestForEcho.xml", new String[]{"-inputhandler"});
-		} catch (CoreException ce) {
-			String msg= ce.getMessage();
-			assertTrue("Message incorrect!: " + msg, msg.equals("You must specify a classname when using the -inputhandler argument"));
-			return;
-		}
-		assertTrue("You must specify a classname when using the -inputhandler argument", false);
-	}
-	
-	/**
-	 * Tests the "-inputhandler" option with two handlers specified...only one is allowed
-	 */
-	public void testInputHandlerMultiple() {
-		try {
-			run("TestForEcho.xml", new String[]{"-inputhandler", "org.apache.tools.ant.input.DefaultInputHandler", "-q", "-inputhandler", "org.apache.tools.ant.input.DefaultInputHandler"});
-		} catch (CoreException ce) {
-			String msg= ce.getMessage();
-			assertTrue("Message incorrect!: " + msg, msg.equals("Only one input handler class may be specified."));
-			return;
-		}
-		assertTrue("As only one input handler can be specified", false);
-	}
-	
-	/**
-	 * Tests the "-inputhandler" option with a input handler that is not an instance of InputHandler
-	 */
-	public void testInputHandlerBad() {
-		try {
-			run("TestForEcho.xml", new String[]{"-inputhandler", "java.lang.StringBuffer"});
-		} catch (CoreException ce) {
-			String msg= ce.getMessage();
-			assertTrue("Message incorrect!: " + msg, msg.equals("The specified input handler class java.lang.StringBuffer does not implement the org.apache.tools.ant.input.InputHandler interface"));
-			return;
-		}
-		assertTrue("Incorrect inputhandler", false);
-	}
-	
-	/**
-	 * Tests the "-inputhandler" option with a input handler that is not a defined class
-	 */
-	public void testInputHandlerBad2() {
-		try {
-			run("TestForEcho.xml", new String[]{"-inputhandler", "ja.lang.StringBuffer"});
-		} catch (CoreException ce) {
-			String msg= ce.getMessage();
-			assertTrue("Message incorrect!: " + msg, msg.startsWith("Unable to instantiate specified input handler class ja.lang.StringBuffer"));
-			return;
-		}
-		assertTrue("Incorrect inputhandler", false);
-	}
-	
-	/**
-	 * Tests the "-inputhandler" option with a test input handler and the -noinput option
-	 */
-	public void testInputHandlerWithMinusNoInput() {
-		try {
-			run("input.xml", new String[]{"-inputhandler", "org.eclipse.ant.tests.core.support.inputHandlers.AntTestInputHandler", "-noinput"});
-		} catch (CoreException ce) {
-			assertTrue("Message incorrect: " + ce.getMessage(), ce.getMessage().endsWith("Unable to respond to input request likely as a result of specifying the -noinput command"));
-			return;
-		}
-		
-		assertTrue("Build should have failed", false);
-	}
-	
-	/**
-	 * Tests the -noinput option with the default input handler
-	 */
-	public void testMinusNoInput() {
-		try {
-			run("input.xml", new String[]{"-noinput"});
-		} catch (CoreException ce) {
-			assertTrue("Message incorrect: " + ce.getMessage(), ce.getMessage().endsWith("Failed to read input from Console."));
-			return;
-		}
-	
-		assertTrue("Build should have failed", false);
-	}
-	
-	/**
-	 * Tests the "-inputhandler" option with a test input handler
-	 * Order after the noinput tests so that we test we are resetting the system property
-	 */
-	public void testInputHandler() throws CoreException {
-		
-		run("input.xml", new String[]{"-inputhandler", "org.eclipse.ant.tests.core.support.inputHandlers.AntTestInputHandler"});
-		assertSuccessful();
-		String msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-		assertTrue("Message incorrect: " + msg, msg.equals("testing handling input requests"));
-		
-	}
-	
-	/**
-	 * Tests the "-diagnostics" option with no ANT_HOME set
-	 * bug 25693
-	 */
-	public void testDiagnosticsWithNoAntHome() throws CoreException {
-		try {
-			AntCorePlugin.getPlugin().getPreferences().setAntHome(null);
-			run("input.xml", new String[]{"-diagnostics"});
-		
-			String msg= (String)AntTestChecker.getDefault().getMessages().get(0);
-			assertTrue("Message incorrect: " + msg, msg.equals("------- Ant diagnostics report -------"));
-		} finally {
-			restorePreferenceDefaults();
-		}
-	}
-		
-	/**
-	 * Tests the "-diagnostics" option with ANT_HOME set
-	 * bug 25693
-	 */
-	public void testDiagnostics() throws CoreException {
-	
-		try {
-			run("input.xml", new String[]{"-diagnostics"});
-		} finally {
-			restorePreferenceDefaults();
-		}
-		
-		String msg= (String)AntTestChecker.getDefault().getMessages().get(12);
-		//msg depends on whether self hosting testing or build testing
-		assertTrue("Message incorrect: " + msg, msg.endsWith("org.apache.ant") || msg.endsWith(PLUGIN_VERSION));
-	}
-	
-	/**
-	 * Tests the "-quiet" still reports build successful
-	 * bug 34488
-	 */
-	public void testMinusQuiet() throws CoreException {
-		run("TestForEcho.xml", new String[]{"-quiet"});
-		assertSuccessful();	
-	}
-
-	/**
-	 * Tests the "-keep-going" option
-	 */
-	public void testMinusKeepGoing() {
-		try {
-			run("failingTarget.xml", new String[]{"-keep-going"}, false);
-		} catch (CoreException be) {
-			assertTrue("4 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 4);
-			assertTrue("Incorrect message:"  + AntTestChecker.getDefault().getLoggedMessage(1), "Still echo on failure".equals(AntTestChecker.getDefault().getLoggedMessage(1)));
-			return;
-		}
-		
-		assertTrue("The build should have failed", false);
-	}
-	
-	/**
-	 * Tests the "-k" option
-	 */
-	public void testMinusK() {
-		try {
-			run("failingTarget.xml", new String[]{"-k"}, false);
-		} catch (CoreException be) {
-			assertTrue("4 messages should have been logged; was " + AntTestChecker.getDefault().getMessagesLoggedCount(), AntTestChecker.getDefault().getMessagesLoggedCount() == 4);
-			assertTrue("Incorrect message:"  + AntTestChecker.getDefault().getLoggedMessage(1), "Still echo on failure".equals(AntTestChecker.getDefault().getLoggedMessage(1)));
-			return;
-		}
-		
-		assertTrue("The build should have failed", false);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/ProjectTests.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/ProjectTests.java
deleted file mode 100644
index b477eb4..0000000
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/ProjectTests.java
+++ /dev/null
@@ -1,78 +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.ant.tests.core.tests;
-
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.tests.core.AbstractAntTest;
-import org.eclipse.ant.tests.core.testplugin.AntTestChecker;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-
-
-public class ProjectTests extends AbstractAntTest {
-	
-	public ProjectTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * Tests that the three properties that should always be set are correct
-	 */
-	public void testBasePropertiesSet() throws CoreException {
-		String buildFileName="TestForEcho.xml"; 
-		run(buildFileName);
-		IFile buildFile= getBuildFile(buildFileName);
-		String fullName= buildFile.getLocation().toFile().getAbsolutePath();
-		assertTrue("eclipse.running should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("eclipse.running")));
-		assertTrue("ant.file should have been set as the build file name", fullName.equals(AntTestChecker.getDefault().getUserProperty("ant.file")));
-		assertNotNull("ant.java.version should have been set", AntTestChecker.getDefault().getUserProperty("ant.java.version"));
-		assertNotNull("ant.version should have been set", AntTestChecker.getDefault().getUserProperty("ant.version"));
-		assertNotNull("eclipse.home should have been set", AntTestChecker.getDefault().getUserProperty("eclipse.home"));
-	}
-
-	public void testValue() throws CoreException {
-		String buildFileName="TestForEcho.xml"; 
-		run(buildFileName);
-		assertTrue("property.testing should have been set as true", "true".equals(AntTestChecker.getDefault().getUserProperty("property.testing")));
-	}
-
-	public void testValueWithClass() throws CoreException {
-		
-		String buildFileName="TestForEcho.xml"; 
-		run(buildFileName);
-		assertTrue("property.testing2 should have been set as hey", "hey".equals(AntTestChecker.getDefault().getUserProperty("property.testing2")));
-	}
-
-	public void testClass() throws CoreException {
-		String buildFileName="TestForEcho.xml"; 
-		run(buildFileName);
-		assertTrue("property.testing3 should have been set as AntTestPropertyProvider", "AntTestPropertyValueProvider".equals(AntTestChecker.getDefault().getUserProperty("property.testing3")));
-	}
-	
-	public void testHeadless() throws CoreException {
-		try {
-			AntCorePlugin.getPlugin().setRunningHeadless(true);
-			String buildFileName="TestForEcho.xml"; 
-			run(buildFileName);
-			assertNull("property.headless should not have been set as AntTestPropertyProvider", AntTestChecker.getDefault().getUserProperty("property.headless"));
-		} finally {
-			AntCorePlugin.getPlugin().setRunningHeadless(false);
-		}
-	}
-	
-	public void testNotHeadless() throws CoreException {
-		String buildFileName="TestForEcho.xml"; 
-		run(buildFileName);
-		assertTrue("property.headless should have been set as AntTestPropertyProvider", "headless".equals(AntTestChecker.getDefault().getUserProperty("property.headless")));
-	}
-}
-
diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TargetTests.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TargetTests.java
deleted file mode 100644
index 20df72b..0000000
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TargetTests.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.ant.tests.core.tests;
-
-
-import java.io.File;
-
-import org.eclipse.ant.core.TargetInfo;
-import org.eclipse.ant.tests.core.AbstractAntTest;
-import org.eclipse.ant.tests.core.testplugin.AntTestChecker;
-import org.eclipse.core.runtime.CoreException;
-
-
-public class TargetTests extends AbstractAntTest {
-	
-	public TargetTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * Ensures that a default target is found
-	 */
-	public void testDefaultTarget() throws CoreException {
-		TargetInfo[] targets= getTargets("TestForEcho.xml");
-		assertTrue("Should be two targets in TestForEcho.xml", targets.length == 2);
-		assertTrue("Test for Echo should be the default target", targets[1].isDefault());
-	}
-	
-	/**
-	 * Ensures that targets are found in a build file with data types
-	 */
-	public void testGetTargetsWithDataTypes() throws CoreException {
-		TargetInfo[] targets= getTargets("Bug32551.xml");
-		assertTrue("Should be one targets in Bug32551.xml", targets.length == 1);
-	}
-	
-	/**
-	 * Ensures that targets are found in a buildfile with a fileset based on ant_home
-	 * (that ant_home is set at parse time)
-	 * Bug 42926.
-	 */
-	public void testGetTargetsWithAntHome() {
-		System.getProperties().remove("ant.home");
-		try {
-			getTargets("Bug42926.xml");
-		} catch (CoreException ce) {
-			//classpathref was successful but the task is not defined
-			ce.getMessage().equals("file:c:/runtime-test-workspace/AntTests/buildfiles/Bug42926.xml:7: taskdef class com.foo.SomeTask cannot be found");
-		}
-	}
-	
-	/**
-	 * Ensures that target names are retrieved properly
-	 */
-	public void testTargetNames() throws CoreException {
-		String[] targetNames= getTargetNames("TestForEcho.xml");
-		assertTrue("Should be two targets in TestForEcho.xml", targetNames.length == 2);
-		assertTrue("First name should be init", targetNames[0].equals("init"));
-		assertTrue("Second name should be Test for Echo", targetNames[1].equals("Test for Echo"));
-	}
-	
-	/**
-	 * Ensures that target descriptions are retrieved properly
-	 */
-	public void testTargetDescription() throws CoreException {
-		String[] targetDescriptions= getTargetDescriptions("TestForEcho.xml");
-		assertTrue("Should be two targets in TestForEcho.xml", targetDescriptions.length == 2);
-		assertNull("First description should be null", targetDescriptions[0]);
-		assertTrue("Second description should be Calls other targets", targetDescriptions[1].equals("Calls other echos"));
-	}
-	
-	/**
-	 * Ensures that target projects are retrieved properly
-	 */
-	public void testTargetProject() throws CoreException {
-		String targetProject= getProjectName("TestForEcho.xml", "Test for Echo");
-		assertTrue("Project name should be Echo Test", "Echo Test".equals(targetProject));
-	}
-	
-	/**
-	 * Ensures that target dependencies are retrieved properly
-	 */
-	public void testTargetDependencies() throws CoreException {
-		String[] dependencies= getDependencies("TestForEcho.xml", "Test for Echo");
-		assertNotNull("Dependencies should not be null", dependencies);
-		assertTrue("Should be one dependency in Test for Echo", dependencies.length == 1);
-		assertTrue("First dependency should be init", "init".equals(dependencies[0]));
-	}
-	
-	/**
-	 * Runs an Ant build and ensure that the build file location is logged
-	 */
-	public void testRunScript() throws CoreException {
-		run("TestForEcho.xml");
-		String message= (String)AntTestChecker.getDefault().getMessages().get(0);
-		assertTrue("Build file location should be logged as the first message", message != null && message.endsWith("AntTests" + File.separator + "buildfiles" + File.separator + "TestForEcho.xml"));
-		assertSuccessful();
-	}
-}
-
diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TaskTests.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TaskTests.java
deleted file mode 100644
index 37bfe88..0000000
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TaskTests.java
+++ /dev/null
@@ -1,143 +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.ant.tests.core.tests;
-
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.core.Task;
-import org.eclipse.ant.internal.core.AntClasspathEntry;
-import org.eclipse.ant.tests.core.AbstractAntTest;
-import org.eclipse.ant.tests.core.testplugin.AntTestChecker;
-import org.eclipse.core.runtime.CoreException;
-
-public class TaskTests extends AbstractAntTest {
-
-	
-	public TaskTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * Testing the old deprecated API
-	 * @throws CoreException
-	 */
-	public void testAddTaskSettingLibrary() throws CoreException {
-		AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-		URL[] urls= prefs.getExtraClasspathURLs();
-		Task newTask= new Task();
-		newTask.setLibrary(urls[0]);
-		newTask.setTaskName("AntTestTask");
-		newTask.setClassName("org.eclipse.ant.tests.core.support.tasks.AntTestTask");
-		prefs.setCustomTasks(new Task[]{newTask});
-		
-		prefs.updatePluginPreferences();
-		
-		run("CustomTask.xml", new String[0], false);
-		String msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-		assertTrue("Message incorrect: " + msg, msg.equals("Testing Ant in Eclipse with a custom task"));
-		assertSuccessful();
-	}
-	
-	public void testAddTaskSettingLibraryEntry() throws CoreException {
-		AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-		URL[] urls= prefs.getExtraClasspathURLs();
-		Task newTask= new Task();
-		newTask.setLibraryEntry(new AntClasspathEntry(urls[0]));
-		newTask.setTaskName("AntTestTask2");
-		newTask.setClassName("org.eclipse.ant.tests.core.support.tasks.AntTestTask");
-		prefs.setCustomTasks(new Task[]{newTask});
-		
-		prefs.updatePluginPreferences();
-		
-		run("CustomTask.xml", new String[] {"Custom Task from Entry"}, false);
-		String msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-		assertTrue("Message incorrect: " + msg, msg.equals("Testing Ant in Eclipse with a custom task"));
-		assertSuccessful();
-	}
-	
-	public void testRemoveTask() {
-		AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-		prefs.setCustomTasks(new Task[]{});
-		try {
-			run("CustomTask.xml");
-		} catch (CoreException ce) {
-			assertTrue("Exception from undefined task is incorrect", ce.getMessage().endsWith("as this is not an Ant bug."));
-			return;
-		} finally {
-			restorePreferenceDefaults();	
-		}
-		assertTrue("Build should have failed as task no longer defined", false);
-	}
-	
-	public void testAddTaskFromFolder() throws CoreException {
-		try {
-			AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-			Task newTask= new Task();
-			String path= getProject().getFolder("lib").getFile("taskFolder").getLocation().toFile().getAbsolutePath();
-			IAntClasspathEntry entry= new AntClasspathEntry(path + File.separatorChar);
-			IAntClasspathEntry entries[] = prefs.getAdditionalClasspathEntries();
-			IAntClasspathEntry newEntries[] = new IAntClasspathEntry[entries.length + 1];
-			System.arraycopy(entries, 0, newEntries, 0, entries.length);
-			newEntries[entries.length] = entry;
-			prefs.setAdditionalClasspathEntries(newEntries);
-		
-			newTask.setLibraryEntry(entry);
-			newTask.setTaskName("AntTestTask");
-			newTask.setClassName("org.eclipse.ant.tests.core.support.tasks.AntTestTask2");
-			prefs.setCustomTasks(new Task[]{newTask});
-		
-			prefs.updatePluginPreferences();
-		
-			run("CustomTask.xml", new String[0], false);
-			String msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-			assertTrue("Message incorrect: " + msg, msg.equals("Testing Ant in Eclipse with a custom task"));
-			assertSuccessful();
-		} finally {
-			restorePreferenceDefaults();
-		}
-	}
-		
-	public void testTasksDefinedInPropertyFile() throws CoreException {
-		try {
-			AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-			Property newProp= new Property("ROOTDIR", "..//resources");
-			prefs.setCustomProperties(new Property[]{newProp});
-			run("Bug34663.xml");
-		} finally {
-			restorePreferenceDefaults();
-		}
-	}
-	
-	public void testTaskDefinedInExtensionPoint() throws CoreException {
-		run("ExtensionPointTask.xml");
-		String msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-		assertTrue("Message incorrect: " + msg, msg.equals("Testing Ant in Eclipse with a custom task"));
-		assertSuccessful();
-	}
-		
-	public void testTaskDefinedInExtensionPointHeadless() {
-		AntCorePlugin.getPlugin().setRunningHeadless(true);
-		try {
-			run("ExtensionPointTask.xml");
-		} catch (CoreException ce) {
-			assertTrue("Exception from undefined task is incorrect", ce.getMessage().endsWith("as this is not an Ant bug."));
-			return;
-		} finally {
-			AntCorePlugin.getPlugin().setRunningHeadless(false);
-		}
-		assertTrue("Build should have failed as task was not defined to run in headless", false);
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TypeTests.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TypeTests.java
deleted file mode 100644
index 56941af..0000000
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/TypeTests.java
+++ /dev/null
@@ -1,80 +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.ant.tests.core.tests;
-
-
-import java.net.URL;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.Type;
-import org.eclipse.ant.internal.core.AntClasspathEntry;
-import org.eclipse.ant.tests.core.AbstractAntTest;
-import org.eclipse.ant.tests.core.testplugin.AntTestChecker;
-import org.eclipse.core.runtime.CoreException;
-
-public class TypeTests extends AbstractAntTest {
-
-	public TypeTests(String name) {
-		super(name);
-	}
-	
-	public void testAddType() throws CoreException {
-		AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-		URL[] urls= prefs.getExtraClasspathURLs();
-		Type newType= new Type();
-		newType.setLibraryEntry(new AntClasspathEntry(urls[0]));
-		newType.setTypeName("anttestpath");
-		newType.setClassName("org.eclipse.ant.tests.core.support.types.AntTestPath");
-		prefs.setCustomTypes(new Type[]{newType});
-		
-		run("CustomType.xml");
-		String msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-		assertTrue("Message incorrect: " + msg, msg.equals("Test adding a custom type"));
-		assertSuccessful();
-	}
-	
-	public void testRemoveType() {
-		AntCorePreferences prefs =AntCorePlugin.getPlugin().getPreferences();
-		prefs.setCustomTypes(new Type[]{});
-		try {
-			run("CustomType.xml");
-		} catch (CoreException ce) {
-			assertTrue("Exception from undefined type is incorrect: "+ ce.getMessage(), ce.getMessage().endsWith("as this is not an Ant bug."));
-			return;
-		} finally {
-			restorePreferenceDefaults();	
-		}
-		assertTrue("Build should have failed as type no longer defined", false);
-		
-	}
-	
-	public void testTypeDefinedInExtensionPoint() throws CoreException {
-		run("ExtensionPointType.xml");
-		String msg= (String)AntTestChecker.getDefault().getMessages().get(1);
-		assertTrue("Message incorrect: " + msg, msg.equals("Ensure that an extension point defined type is present"));
-		assertSuccessful();
-	}
-	
-	public void testTypeDefinedInExtensionPointHeadless() {
-		AntCorePlugin.getPlugin().setRunningHeadless(true);
-		try {
-			run("ExtensionPointType.xml");
-		} catch (CoreException ce) {
-			assertTrue("Exception from undefined type is incorrect: " + ce.getMessage(), ce.getMessage().endsWith("as this is not an Ant bug."));
-			return;
-		} finally {
-			AntCorePlugin.getPlugin().setRunningHeadless(false);
-		}
-		assertTrue("Build should have failed as type was not defined to run in headless", false);
-	}
-	
-}
diff --git a/ant/org.eclipse.ant.tests.ui/.classpath b/ant/org.eclipse.ant.tests.ui/.classpath
deleted file mode 100644
index fdb3769..0000000
--- a/ant/org.eclipse.ant.tests.ui/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Ant Editor Tests"/>
-	<classpathentry kind="src" path="Ant Debug Tests"/>
-	<classpathentry kind="src" path="test plugin"/>
-	<classpathentry kind="src" path="Ant Tests"/>
-	<classpathentry kind="src" path="External Tools"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry output="test_support_bin" kind="src" path="test support"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ant/org.eclipse.ant.tests.ui/.cvsignore b/ant/org.eclipse.ant.tests.ui/.cvsignore
deleted file mode 100644
index 4e3b0f0..0000000
--- a/ant/org.eclipse.ant.tests.ui/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-test_support_bin
diff --git a/ant/org.eclipse.ant.tests.ui/.externalToolBuilders/Build Test Support JAR.launch b/ant/org.eclipse.ant.tests.ui/.externalToolBuilders/Build Test Support JAR.launch
deleted file mode 100644
index 40b635e..0000000
--- a/ant/org.eclipse.ant.tests.ui/.externalToolBuilders/Build Test Support JAR.launch
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.tests.ui/buildfiles/buildAntTestsSupportJAR.xml&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.tests.ui/test support&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;&#10;}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.tests.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;&#10;}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.ant.tests.ui/buildfiles/buildAntTestsSupportJAR.xml}"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-</launchConfiguration>
diff --git a/ant/org.eclipse.ant.tests.ui/.project b/ant/org.eclipse.ant.tests.ui/.project
deleted file mode 100644
index c76ccf5..0000000
--- a/ant/org.eclipse.ant.tests.ui/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ant.tests.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/Build Test Support JAR.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.jdt.core.prefs b/ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 04050fe..0000000
--- a/ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Mon Aug 02 09:29:28 GMT-08:00 2004

-org.eclipse.jdt.core.compiler.problem.unusedImport=warning

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore

-eclipse.preferences.version=1

diff --git a/ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.pde.core.prefs b/ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 0f654cf..0000000
--- a/ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu May 27 14:48:38 PDT 2004

-eclipse.preferences.version=1

-selfhosting.binExcludes=/org.eclipse.ant.tests.ui/test_support_bin

diff --git a/ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.pde.prefs b/ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 6203220..0000000
--- a/ant/org.eclipse.ant.tests.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:36:20 GMT-08:00 2004

-compilers.p.unused-element-or-attribute=1

-compilers.p.unresolved-ex-points=0

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

-compilers.p.no-required-att=0

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

-compilers.p.not-externalized-att=1

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/AbstractAntDebugTest.java b/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/AbstractAntDebugTest.java
deleted file mode 100644
index 2509ab0..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/AbstractAntDebugTest.java
+++ /dev/null
@@ -1,706 +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.ant.tests.ui.debug;
-
-import org.eclipse.ant.internal.ui.debug.model.AntDebugTarget;
-import org.eclipse.ant.internal.ui.debug.model.AntLineBreakpoint;
-import org.eclipse.ant.internal.ui.debug.model.AntStackFrame;
-import org.eclipse.ant.internal.ui.debug.model.AntThread;
-import org.eclipse.ant.tests.ui.AbstractAntUIBuildTest;
-import org.eclipse.ant.tests.ui.testplugin.DebugElementKindEventWaiter;
-import org.eclipse.ant.tests.ui.testplugin.DebugEventWaiter;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jdt.core.ICompilationUnit;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.ui.IPerspectiveDescriptor;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.IHyperlink;
-import org.eclipse.ui.internal.console.ConsoleHyperlinkPosition;
-
- 
-/**
- * Tests for launch configurations
- */
-public abstract class AbstractAntDebugTest extends AbstractAntUIBuildTest {
-	
-	public static final int DEFAULT_TIMEOUT = 20000;
-	
-	/**
-	 * The last relevent event set - for example, that caused
-	 * a thread to suspend
-	 */
-	protected DebugEvent[] fEventSet;
-	
-	public AbstractAntDebugTest(String name) {
-		super(name);
-		// set error dialog to non-blocking to avoid hanging the UI during test
-		ErrorDialog.AUTOMATED_MODE = true;
-		SafeRunnable.setIgnoreErrors(true);
-	}
-	
-	/**
-	 * Sets the last relevant event set
-	 *
-	 * @param set event set
-	 */
-	protected void setEventSet(DebugEvent[] set) {
-		fEventSet = set;
-	}
-	
-	/**
-	 * Returns the last relevant event set
-	 * 
-	 * @return event set
-	 */
-	protected DebugEvent[] getEventSet() {
-		return fEventSet;
-	}
-	
-	/**
-	 * Returns the breakpoint manager
-	 * 
-	 * @return breakpoint manager
-	 */
-	protected IBreakpointManager getBreakpointManager() {
-		return DebugPlugin.getDefault().getBreakpointManager();
-	}	
-	
-	/**
-	 * Returns the source folder with the given name in the given project.
-	 * 
-	 * @param project
-	 * @param name source folder name
-	 * @return package fragment root
-	 */
-	protected IPackageFragmentRoot getPackageFragmentRoot(IJavaProject project, String name) {
-		IProject p = project.getProject();
-		return project.getPackageFragmentRoot(p.getFolder(name));
-	}
-	
-	protected IHyperlink getHyperlink(int offset, IDocument doc) {
-		if (offset >= 0 && doc != null) {
-			Position[] positions = null;
-			try {
-				positions = doc.getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
-			} catch (BadPositionCategoryException ex) {
-				// no links have been added
-				return null;
-			}
-			for (int i = 0; i < positions.length; i++) {
-				Position position = positions[i];
-				if (offset >= position.getOffset() && offset <= (position.getOffset() + position.getLength())) {
-					return ((ConsoleHyperlinkPosition)position).getHyperLink();
-				}
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Launches the given configuration and waits for an event. Returns the
-	 * source of the event. If the event is not received, the launch is
-	 * terminated and an exception is thrown.
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param waiter the event waiter to use
-	 * @return Object the source of the event
-	 * @exception Exception if the event is never received.
-	 */
-	protected Object launchAndWait(ILaunchConfiguration configuration, DebugEventWaiter waiter) throws CoreException {
-	    return launchAndWait(configuration, waiter, true);
-	}
-	
-	/**
-	 * Launches the given configuration and waits for an event. Returns the
-	 * source of the event. If the event is not received, the launch is
-	 * terminated and an exception is thrown.
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param waiter the event waiter to use
-	 * @param register whether to register the launch
-	 * @return Object the source of the event
-	 * @exception Exception if the event is never received.
-	 */
-	protected Object launchAndWait(ILaunchConfiguration configuration, DebugEventWaiter waiter, boolean register) throws CoreException {
-		ILaunch launch = configuration.launch(ILaunchManager.DEBUG_MODE, null, false, register);
-		Object suspendee= waiter.waitForEvent();
-		if (suspendee == null) {
-			try {
-				launch.terminate();
-			} catch (CoreException e) {
-				e.printStackTrace();
-				fail("Program did not suspend, and unable to terminate launch.");
-			}
-		}
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not suspend, launch terminated.", suspendee);
-		return suspendee;		
-	}	
-	
-	/**
-	 * Launches the build file with the given name, and waits for a
-	 * suspend event in that program. Returns the thread in which the suspend
-	 * event occurred.
-	 * 
-	 * @param buildFileName the buildfile to launch
-	 * @return thread in which the first suspend event occurred
-	 */
-	protected AntThread launchAndSuspend(String buildFileName) throws Exception {
-		ILaunchConfiguration config = getLaunchConfiguration(buildFileName);
-		assertNotNull("Could not locate launch configuration for " + buildFileName, config);
-		return launchAndSuspend(config);
-	}
-
-	/**
-	 * Launches the given configuration in debug mode, and waits for a 
-	 * suspend event in that program. Returns the thread in which the suspend
-	 * event occurred.
-	 * 
-	 * @param config the configuration to launch
-	 * @return thread in which the first suspend event occurred
-	 */	
-	protected AntThread launchAndSuspend(ILaunchConfiguration config) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventWaiter(DebugEvent.SUSPEND, AntThread.class);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-		Object suspendee = launchAndWait(config, waiter);
-		return (AntThread)suspendee;		
-	}
-	
-	/**
-	 * Launches the buildfile with the given name, and waits for a breakpoint-caused 
-	 * suspend event in that program. Returns the thread in which the suspend
-	 * event occurred.
-	 * 
-	 * @param buildFileName the buildfile to launch
-	 * @return thread in which the first suspend event occurred
-	 */
-	protected AntThread launchToBreakpoint(String buildFileName) throws Exception {
-		return launchToBreakpoint(buildFileName, true);
-	}
-	
-	/**
-	 * Launches the buildfile with the given name, and waits for a breakpoint-caused 
-	 * suspend event in that program. Returns the thread in which the suspend
-	 * event occurred.
-	 * 
-	 * @param buildFileName the buildfile to launch
-	 * @param register whether to register the launch
-	 * @return thread in which the first suspend event occurred
-	 */
-	protected AntThread launchToBreakpoint(String buildFileName, boolean register) throws Exception {
-		ILaunchConfiguration config = getLaunchConfiguration(buildFileName);
-		assertNotNull("Could not locate launch configuration for " + buildFileName, config);
-		return launchToBreakpoint(config, register);
-	}	
-
-	/**
-	 * Launches the given configuration in debug mode, and waits for a breakpoint-caused 
-	 * suspend event in that program. Returns the thread in which the suspend
-	 * event occurred.
-	 * 
-	 * @param config the configuration to launch
-	 * @return thread in which the first suspend event occurred
-	 */	
-	protected AntThread launchToBreakpoint(ILaunchConfiguration config) throws CoreException {
-	    return launchToBreakpoint(config, true);
-	}
-	
-	/**
-	 * Launches the given configuration in debug mode, and waits for a breakpoint-caused 
-	 * suspend event in that program. Returns the thread in which the suspend
-	 * event occurred.
-	 * 
-	 * @param config the configuration to launch
-	 * @param whether to register the launch
-	 * @return thread in which the first suspend event occurred
-	 */	
-	protected AntThread launchToBreakpoint(ILaunchConfiguration config, boolean register) throws CoreException {
-		DebugEventWaiter waiter= new DebugElementKindEventDetailWaiter(DebugEvent.SUSPEND, AntThread.class, DebugEvent.BREAKPOINT);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-
-		Object suspendee= launchAndWait(config, waiter, register);
-		assertTrue("suspendee was not an AntThread", suspendee instanceof AntThread);
-		return (AntThread)suspendee;		
-	}	
-	
-	/**
-	 * Launches the buildfile with the given name, and waits for a terminate
-	 * event in that program. Returns the debug target in which the suspend
-	 * event occurred.
-	 * 
-	 * @param buildFileName the buildfile to execute
-	 * @param timeout the number of milliseconds to wait for a terminate event
-	 * @return debug target in which the terminate event occurred
-	 */
-	protected AntDebugTarget launchAndTerminate(String buildFileName) throws Exception {
-		ILaunchConfiguration config = getLaunchConfiguration(buildFileName);
-		assertNotNull("Could not locate launch configuration for " + buildFileName, config);
-		return debugLaunchAndTerminate(config, DEFAULT_TIMEOUT);
-	}
-
-	/**
-	 * Launches the given configuration in debug mode, and waits for a terminate
-	 * event in that program. Returns the debug target in which the terminate
-	 * event occurred.
-	 * 
-	 * @param config the configuration to launch
-	 * @param timeout the number of milliseconds to wait for a terminate event
-	 * @return thread in which the first suspend event occurred
-	 */	
-	protected AntDebugTarget debugLaunchAndTerminate(ILaunchConfiguration config, int timeout) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventWaiter(DebugEvent.TERMINATE, AntDebugTarget.class);
-		waiter.setTimeout(timeout);
-
-		Object terminatee = launchAndWait(config, waiter);		
-		assertNotNull("Program did not terminate.", terminatee);
-		assertTrue("terminatee is not an AntDebugTarget", terminatee instanceof AntDebugTarget);
-		AntDebugTarget debugTarget = (AntDebugTarget) terminatee;
-		assertTrue("debug target is not terminated", debugTarget.isTerminated() || debugTarget.isDisconnected());
-		return debugTarget;		
-	}
-	
-	/**
-	 * Launches the buildfile with the given name, and waits for a line breakpoint suspend
-	 * event in that program. Returns the thread in which the suspend
-	 * event occurred.
-	 * 
-	 * @param buildFileName the buildfile to execute
-	 * @param bp the breakpoint that should cause a suspend event
-	 * @return thread in which the first suspend event occurred
-	 */
-	protected AntThread launchToLineBreakpoint(String buildFileName, ILineBreakpoint bp) throws Exception {
-		ILaunchConfiguration config = getLaunchConfiguration(buildFileName);
-		assertNotNull("Could not locate launch configuration for " + buildFileName, config);
-		return launchToLineBreakpoint(config, bp);
-	}
-
-	/**
-	 * Launches the given configuration in debug mode, and waits for a line breakpoint 
-	 * suspend event in that program. Returns the thread in which the suspend
-	 * event occurred.
-	 * 
-	 * @param config the configuration to launch
-	 * @param bp the breakpoint that should cause a suspend event
-	 * @return thread in which the first suspend event occurred
-	 */	
-	protected AntThread launchToLineBreakpoint(ILaunchConfiguration config, ILineBreakpoint bp) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventDetailWaiter(DebugEvent.SUSPEND, AntThread.class, DebugEvent.BREAKPOINT);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-
-		Object suspendee= launchAndWait(config, waiter);
-		assertTrue("suspendee was not an AntThread", suspendee instanceof AntThread);
-		AntThread thread = (AntThread) suspendee;
-		IBreakpoint hit = getBreakpoint(thread);
-		assertNotNull("suspended, but not by breakpoint", hit);
-		assertTrue("hit un-registered breakpoint", bp.equals(hit));
-		assertTrue("suspended, but not by line breakpoint", hit instanceof ILineBreakpoint);
-		ILineBreakpoint breakpoint= (ILineBreakpoint) hit;
-		int lineNumber = breakpoint.getLineNumber();
-		int stackLine = thread.getTopStackFrame().getLineNumber();
-		assertTrue("line numbers of breakpoint and stack frame do not match", lineNumber == stackLine);
-		
-		return thread;		
-	}
-	
-	/**
-	 * Resumes the given thread, and waits for another breakpoint-caused suspend event.
-	 * Returns the thread in which the suspend event occurs.
-	 * 
-	 * @param thread thread to resume
-	 * @return thread in which the first suspend event occurs
-	 */
-	protected AntThread resume(AntThread thread) throws Exception {
-	    return resume(thread, DEFAULT_TIMEOUT);
-	}	
-	
-	/**
-	 * Resumes the given thread, and waits for another breakpoint-caused suspend event.
-	 * Returns the thread in which the suspend event occurs.
-	 * 
-	 * @param thread thread to resume
-	 * @param timeout timeout in ms
-	 * @return thread in which the first suspend event occurs
-	 */
-	protected AntThread resume(AntThread thread, int timeout) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventDetailWaiter(DebugEvent.SUSPEND, AntThread.class, DebugEvent.BREAKPOINT);
-		waiter.setTimeout(timeout);
-		
-		thread.resume();
-
-		Object suspendee= waiter.waitForEvent();
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not suspend.", suspendee);
-		return (AntThread)suspendee;
-	}	
-	
-	/**
-	 * Resumes the given thread, and waits for a suspend event caused by the specified
-	 * line breakpoint.  Returns the thread in which the suspend event occurs.
-	 * 
-	 * @param thread thread to resume
-	 * @return thread in which the first suspend event occurs
-	 */
-	protected AntThread resumeToLineBreakpoint(AntThread resumeThread, ILineBreakpoint bp) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventDetailWaiter(DebugEvent.SUSPEND, AntThread.class, DebugEvent.BREAKPOINT);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-		
-		resumeThread.resume();
-
-		Object suspendee= waiter.waitForEvent();
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not suspend.", suspendee);
-		assertTrue("suspendee was not an AntThread", suspendee instanceof AntThread);
-		AntThread thread = (AntThread) suspendee;
-		IBreakpoint hit = getBreakpoint(thread);
-		assertNotNull("suspended, but not by breakpoint", hit);
-		assertTrue("hit un-registered breakpoint", bp.equals(hit));
-		assertTrue("suspended, but not by line breakpoint", hit instanceof ILineBreakpoint);
-		ILineBreakpoint breakpoint= (ILineBreakpoint) hit;
-		int lineNumber = breakpoint.getLineNumber();
-		int stackLine = thread.getTopStackFrame().getLineNumber();
-		assertTrue("line numbers of breakpoint and stack frame do not match", lineNumber == stackLine);
-		
-		return (AntThread)suspendee;
-	}	
-	
-	/**
-	 * Resumes the given thread, and waits for the debug target
-	 * to terminate (i.e. finish/exit the program).
-	 * 
-	 * @param thread thread to resume
-	 */
-	protected void exit(AntThread thread) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventWaiter(DebugEvent.TERMINATE, IProcess.class);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-		
-		thread.resume();
-
-		Object suspendee= waiter.waitForEvent();
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not terminate.", suspendee);
-	}	
-		
-	/**
-	 * Resumes the given thread, and waits the associated debug
-	 * target to terminate.
-	 * 
-	 * @param thread thread to resume
-	 * @return the terminated debug target
-	 */
-	protected AntDebugTarget resumeAndExit(AntThread thread) throws Exception {
-		DebugEventWaiter waiter= new DebugElementEventWaiter(DebugEvent.TERMINATE, thread.getDebugTarget());
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-		
-		thread.resume();
-
-		Object suspendee= waiter.waitForEvent();
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not terminate.", suspendee);
-		AntDebugTarget target = (AntDebugTarget)suspendee;
-		assertTrue("program should have exited", target.isTerminated() || target.isDisconnected());
-		return target;
-	}	
-	
-	protected IResource getBreakpointResource(String typeName) throws Exception {
-		IJavaElement element = getJavaProject().findElement(new Path(typeName + ".java"));
-		IResource resource = element.getCorrespondingResource();
-		if (resource == null) {
-			resource = getJavaProject().getProject();
-		}		
-		return resource;
-	}
-	
-	/**
-	 * Creates and returns a line breakpoint at the given line number in the given buildfile
-	 * 
-	 * @param lineNumber line number
-	 * @param file the buildfile
-	 */
-	protected AntLineBreakpoint createLineBreakpoint(int lineNumber, IFile file) throws Exception {
-		return new AntLineBreakpoint(file, lineNumber);
-	}
-		
-	/**
-	 * Terminates the given thread and removes its launch
-	 */
-	protected void terminateAndRemove(AntThread thread) {
-		if (thread != null) {
-			terminateAndRemove((AntDebugTarget)thread.getDebugTarget());
-		}
-	}
-	
-	/**
-	 * Terminates the given debug target and removes its launch.
-	 * 
-	 * NOTE: all breakpoints are removed, all threads are resumed, and then
-	 * the target is terminated. This avoids defunct processes on linux.
-	 */
-	protected void terminateAndRemove(AntDebugTarget debugTarget) {
-	  
-		if (debugTarget != null && !(debugTarget.isTerminated() || debugTarget.isDisconnected())) {
-			DebugEventWaiter waiter = new DebugElementEventWaiter(DebugEvent.TERMINATE, debugTarget);
-			try {
-				removeAllBreakpoints();
-				IThread[] threads = debugTarget.getThreads();
-				for (int i = 0; i < threads.length; i++) {
-					IThread thread = threads[i];
-					try {
-						if (thread.isSuspended()) {
-							thread.resume();
-						}
-					} catch (CoreException e) {
-					}
-				}
-				debugTarget.terminate();
-				waiter.waitForEvent();
-                getLaunchManager().removeLaunch(debugTarget.getLaunch());
-			} catch (CoreException e) {
-			}
-		}
-
-        // ensure event queue is flushed
-        DebugEventWaiter waiter = new DebugElementEventWaiter(DebugEvent.MODEL_SPECIFIC, this);
-        DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[]{new DebugEvent(this, DebugEvent.MODEL_SPECIFIC)});
-        waiter.waitForEvent();
-	}
-	
-	/**
-	 * Deletes all existing breakpoints
-	 */
-	protected void removeAllBreakpoints() {
-		IBreakpoint[] bps = getBreakpointManager().getBreakpoints();
-		try {
-			getBreakpointManager().removeBreakpoints(bps, true);
-		} catch (CoreException e) {
-		}
-	}
-	
-	/**
-	 * Returns the first breakpoint the given thread is suspended
-	 * at, or <code>null</code> if none.
-	 * 
-	 * @return the first breakpoint the given thread is suspended
-	 * at, or <code>null</code> if none
-	 */
-	protected IBreakpoint getBreakpoint(IThread thread) {
-		IBreakpoint[] bps = thread.getBreakpoints();
-		if (bps.length > 0) {
-			return bps[0];
-		}
-		return null;
-	}
-	
-	/**
-	 * Performs a step over in the given stack frame and returns when complete.
-	 * 
-	 * @param frame stack frame to step in
-	 */
-	protected AntThread stepOver(AntStackFrame frame) throws Exception {
-		org.eclipse.ant.tests.ui.testplugin.DebugEventWaiter waiter= new DebugElementKindEventDetailWaiter(DebugEvent.SUSPEND, AntThread.class, DebugEvent.STEP_END);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-		
-		frame.stepOver();
-		
-		Object suspendee= waiter.waitForEvent();
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not suspend.", suspendee);
-		return (AntThread) suspendee;
-	}
-
-	/**
-	 * Performs a step into in the given stack frame and returns when complete.
-	 * 
-	 * @param frame stack frame to step in
-	 */
-	protected AntThread stepInto(AntStackFrame frame) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventDetailWaiter(DebugEvent.SUSPEND, AntThread.class, DebugEvent.STEP_END);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-		
-		frame.stepInto();
-		
-		Object suspendee= waiter.waitForEvent();
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not suspend.", suspendee);
-		return (AntThread) suspendee;		
-	}
-	
-	/**
-	 * Performs a step return in the given stack frame and returns when complete.
-	 * 
-	 * @param frame stack frame to step return from
-	 */
-	protected AntThread stepReturn(AntStackFrame frame) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventDetailWaiter(DebugEvent.SUSPEND, AntThread.class, DebugEvent.STEP_END);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-		
-		frame.stepReturn();
-		
-		Object suspendee= waiter.waitForEvent();
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not suspend.", suspendee);
-		return (AntThread) suspendee;
-	}	
-	
-	/**
-	 * Performs a step into with filters in the given stack frame and returns when
-	 * complete.
-	 * 
-	 * @param frame stack frame to step in
-	 */
-	protected AntThread stepIntoWithFilters(AntStackFrame frame) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventWaiter(DebugEvent.SUSPEND, AntThread.class);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-		
-		// turn filters on
-		try {
-			DebugUITools.setUseStepFilters(true);
-			frame.stepInto();
-		} finally {
-			// turn filters off
-			DebugUITools.setUseStepFilters(false);
-		}
-		
-		
-		Object suspendee= waiter.waitForEvent();
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not suspend.", suspendee);
-		return (AntThread) suspendee;		
-	}	
-
-	/**
-	 * Performs a step return with filters in the given stack frame and returns when
-	 * complete.
-	 * 
-	 * @param frame stack frame to step in
-	 */
-	protected AntThread stepReturnWithFilters(AntStackFrame frame) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventWaiter(DebugEvent.SUSPEND, AntThread.class);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-		
-		// turn filters on
-		try {
-			DebugUITools.setUseStepFilters(true);
-			frame.stepReturn();
-		} finally {
-			// turn filters off
-			DebugUITools.setUseStepFilters(false);
-		}
-		
-		
-		Object suspendee= waiter.waitForEvent();
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not suspend.", suspendee);
-		return (AntThread) suspendee;		
-	}	
-	
-	/**
-	 * Performs a step over with filters in the given stack frame and returns when
-	 * complete.
-	 * 
-	 * @param frame stack frame to step in
-	 */
-	protected AntThread stepOverWithFilters(AntStackFrame frame) throws Exception {
-		DebugEventWaiter waiter= new DebugElementKindEventWaiter(DebugEvent.SUSPEND, AntThread.class);
-		waiter.setTimeout(DEFAULT_TIMEOUT);
-		
-		// turn filters on
-		try {
-			DebugUITools.setUseStepFilters(true);
-			frame.stepOver();
-		} finally {
-			// turn filters off
-			DebugUITools.setUseStepFilters(false);
-		}
-		
-		
-		Object suspendee= waiter.waitForEvent();
-		setEventSet(waiter.getEventSet());
-		assertNotNull("Program did not suspend.", suspendee);
-		return (AntThread) suspendee;		
-	}	
-    
-	/**
-	 * Returns the compilation unit with the given name.
-	 * 
-	 * @param project the project containing the CU
-	 * @param root the name of the source folder in the project
-	 * @param pkg the name of the package (empty string for default package)
-	 * @param name the name of the CU (ex. Something.java)
-	 * @return compilation unit
-	 */
-	protected ICompilationUnit getCompilationUnit(IJavaProject project, String root, String pkg, String name) {
-		IProject p = project.getProject();
-		IResource r = p.getFolder(root);
-		return project.getPackageFragmentRoot(r).getPackageFragment(pkg).getCompilationUnit(name);
-	}
-    
-//	protected AntProperty findProperty(AntStackFrame frame, String name) throws DebugException {
-//        AntProperty variable = frame.findVariable(name);
-//        if (variable == null) {
-//            // dump visible variables
-//            IDebugModelPresentation presentation = DebugUIPlugin.getModelPresentation();
-//            System.out.println("Could not find variable '" + name + "' in frame: " + presentation.getText(frame));
-//            System.out.println("Visible variables are:");
-//            IVariable[] variables = frame.getVariables();
-//            for (int i = 0; i < variables.length; i++) {
-//                IVariable variable2 = variables[i];
-//                System.out.println("\t" + presentation.getText(variable2));
-//            }
-//            if (!frame.isStatic()) {
-//                variables = frame.getThis().getVariables();
-//                for (int i = 0; i < variables.length; i++) {
-//                    IVariable variable2 = variables[i];
-//                    System.out.println("\t" + presentation.getText(variable2));
-//                }
-//            }
-//        }
-//        return variable;
-//    }
-    
-    /* (non-Javadoc)
-     * @see junit.framework.TestCase#setUp()
-     */
-    protected void setUp() throws Exception {
-        DebugUIPlugin.getStandardDisplay().syncExec(new Runnable() {
-            public void run() {
-                IWorkbench workbench = PlatformUI.getWorkbench();
-                IPerspectiveDescriptor descriptor = workbench.getPerspectiveRegistry().findPerspectiveWithId(IDebugUIConstants.ID_DEBUG_PERSPECTIVE);
-                workbench.getActiveWorkbenchWindow().getActivePage().setPerspective(descriptor);
-            }
-        });
-    }
-}
-
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DebugElementEventWaiter.java b/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DebugElementEventWaiter.java
deleted file mode 100644
index 3ad276d..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DebugElementEventWaiter.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.ant.tests.ui.debug;
-
-import org.eclipse.ant.tests.ui.testplugin.DebugEventWaiter;
-import org.eclipse.debug.core.DebugEvent;
-
-/**
- * Waits for an event on a specific element
- */
-
-public class DebugElementEventWaiter extends DebugEventWaiter {
-	
-	protected Object fElement;
-	
-	public DebugElementEventWaiter(int kind, Object element) {
-		super(kind);
-		fElement = element;
-	}
-	
-	public boolean accept(DebugEvent event) {
-		return super.accept(event) && fElement == event.getSource();
-	}
-
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DebugElementKindEventDetailWaiter.java b/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DebugElementKindEventDetailWaiter.java
deleted file mode 100644
index 10309f7..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DebugElementKindEventDetailWaiter.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.ant.tests.ui.debug;
-
-import org.eclipse.ant.tests.ui.testplugin.DebugElementKindEventWaiter;
-import org.eclipse.debug.core.DebugEvent;
-
-/**
- * Wait for the specified event with the specified from the specified element.
- */
-public class DebugElementKindEventDetailWaiter extends DebugElementKindEventWaiter {
-
-	protected int fDetail;
-
-	public DebugElementKindEventDetailWaiter(int eventKind, Class elementClass, int detail) {
-		super(eventKind, elementClass);
-		fDetail = detail;
-	}
-	
-	public boolean accept(DebugEvent event) {
-		return super.accept(event) && fDetail == event.getDetail();
-	}
-	
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DeferredBreakpointTests.java b/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DeferredBreakpointTests.java
deleted file mode 100644
index e576b08..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/DeferredBreakpointTests.java
+++ /dev/null
@@ -1,117 +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.ant.tests.ui.debug;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.debug.model.AntDebugTarget;
-import org.eclipse.ant.internal.ui.debug.model.AntThread;
-import org.eclipse.ant.internal.ui.launchConfigurations.IAntLaunchConfigurationConstants;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-
-/**
- * Tests deferred Ant breakpoints.
- */
-public class DeferredBreakpointTests extends AbstractAntDebugTest {
-	
-	public DeferredBreakpointTests(String name) {
-		super(name);
-	}
-
-	public void testDeferredBreakpoints() throws Exception {
-		String fileName = "breakpoints";
-        IFile file= getIFile(fileName + ".xml");
-		List bps = new ArrayList();
-		bps.add(createLineBreakpoint(5, file));
-		bps.add(createLineBreakpoint(14, file));
-		AntThread thread= null;
-		try {
-			thread= launchToBreakpoint(fileName);
-			assertNotNull("Breakpoint not hit within timeout period", thread);
-			while (!bps.isEmpty()) {
-				IBreakpoint hit = getBreakpoint(thread);
-				assertNotNull("suspended, but not by breakpoint", hit);
-				assertTrue("hit un-registered breakpoint", bps.contains(hit));
-				assertTrue("suspended, but not by line breakpoint", hit instanceof ILineBreakpoint);
-				ILineBreakpoint breakpoint= (ILineBreakpoint) hit;
-				int lineNumber = breakpoint.getLineNumber();
-				int stackLine = thread.getTopStackFrame().getLineNumber();
-				assertEquals("line numbers of breakpoint and stack frame do not match", lineNumber, stackLine);
-				bps.remove(breakpoint);
-				breakpoint.delete();
-				if (!bps.isEmpty()) {
-					thread = resume(thread);
-				}
-			}
-		} finally {
-			terminateAndRemove(thread);
-			removeAllBreakpoints();
-		}		
-	}
-
-	public void testDisabledBreakpoint() throws Exception {
-        String fileName = "breakpoints";
-        IFile file= getIFile(fileName + ".xml");
-		ILineBreakpoint bp = createLineBreakpoint(5, file);
-		bp.setEnabled(false);
-		
-		AntDebugTarget debugTarget = null;
-		try {
-			debugTarget= launchAndTerminate(fileName);
-		} finally {
-			terminateAndRemove(debugTarget);
-			removeAllBreakpoints();
-		}				
-	}
-
-	public void testEnableDisableBreakpoint() throws Exception {
-        String fileName = "breakpoints";
-        IFile file= getIFile(fileName + ".xml");
-		ILineBreakpoint bp = createLineBreakpoint(4, file);
-		bp.setEnabled(true);
-		
-		AntThread thread = null;
-		try {
-            ILaunchConfiguration config= getLaunchConfiguration(fileName);
-            ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-            copy.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, "entry1, entry2");
-			thread= launchToLineBreakpoint(fileName, bp);
-			bp.setEnabled(false);
-			resumeAndExit(thread);
-		} finally {
-			terminateAndRemove(thread);
-			removeAllBreakpoints();
-		}				
-	}
-	
-	public void testSkipLineBreakpoint() throws Exception {
-        String fileName = "breakpoints";
-        IFile file= getIFile(fileName + ".xml");
-		ILineBreakpoint bp = createLineBreakpoint(4, file);
-		createLineBreakpoint(15, file);
-		
-		AntThread thread = null;
-		try {
-		    thread= launchToLineBreakpoint(fileName, bp);
-		    getBreakpointManager().setEnabled(false);
-		    resumeAndExit(thread);
-		} finally {
-			terminateAndRemove(thread);
-			removeAllBreakpoints();
-			getBreakpointManager().setEnabled(true);
-		}			    
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/dtd/dumper.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/dtd/dumper.java
deleted file mode 100644
index ecdc486..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/dtd/dumper.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *     Object Factory Inc. - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.ant.tests.ui.dtd;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Map;
-
-import org.eclipse.ant.internal.ui.dtd.IDfm;
-import org.eclipse.ant.internal.ui.dtd.IElement;
-import org.eclipse.ant.internal.ui.dtd.IModel;
-import org.eclipse.ant.internal.ui.dtd.ISchema;
-import org.eclipse.ant.internal.ui.dtd.ParseError;
-import org.eclipse.ant.internal.ui.dtd.Parser;
-
-/**
- * This class is intended to be used from the command line (hence the
- * uncapitalized class name).
- * @author Bob Foster
- */
-public class dumper {
-
-	public static int main(String[] args) {
-
-		if (args.length <= 0) {
-			System.out.println("Usage: java DTDMerger URL");
-			return 0;
-		}
-		String document = args[0];
-
-		Parser parser = new Parser();
-		
-		ISchema schema;
-		try {
-			schema = parser.parse(document);
-		} catch (ParseError e) {
-			System.out.println(e.getMessage());
-			e.printStackTrace();
-			return 1;
-		} catch (IOException e) {
-			e.printStackTrace();
-			return 1;
-		}
-		System.out.println("DTD successfully parsed");
-		dumpSchema(schema);
-		return 0;
-	}
-	
-	/**
-	 * Write schema contents to standard output.
-	 */
-	private static void dumpSchema(ISchema schema) {
-		IElement[] elements = schema.getElements();
-		System.out.println(""+elements.length+" elements defined");
-		for (int i = 0; i < elements.length; i++) {
-			IElement element = elements[i];
-			IModel model = element.getContentModel();
-			System.out.println("ELEMENT "+element.getName()
-				+'"'+model.stringRep()+'"');
-			dumpDfm(element.getDfm());
-		}
-	}
-
-	/**
-	 * Dump dfm as a series of states.
-	 * <pre>
-	 * S0  a=>S1 b=>S2 
-	 * S1  c=>S2
-	 * S2* d=>S2
-	 * </pre>
-	 * Where * indicates accepting state.
-	 * @param dfm to dump
-	 */
-	private static void dumpDfm(IDfm dfm) {
-		HashMap map = new HashMap();
-		dumpDfm(dfm, map, 0);
-		LinkedList list = new LinkedList();
-		Iterator it = map.entrySet().iterator();
-		while (it.hasNext()) {
-			Map.Entry entry = (Map.Entry) it.next();
-			list.add(new State((IDfm)entry.getKey(), (Integer)entry.getValue()));
-		}
-		State[] states = (State[]) list.toArray(new State[list.size()]);
-		Arrays.sort(states);
-		for (int i = 0; i < states.length; i++) {
-			print(states[i], map);
-		}
-	}
-
-	private static void print(State state, HashMap map) {
-		System.out.print("  S"+state.n.intValue()
-			+(state.dfm.isAccepting() ? "*  " : "  "));
-		String[] accepts = state.dfm.getAccepts();
-		for (int i = 0; i < accepts.length; i++) {
-			String accept = accepts[i];
-			IDfm next = state.dfm.advance(accept);
-			int n = ((Integer)map.get(next)).intValue();
-			System.out.print(" "+accept+"=>S"+n);
-		}
-		System.out.println();
-	}
-	
-	private static int dumpDfm(IDfm dfm, HashMap map, int num) {
-		if (!map.containsKey(dfm)) {
-			map.put(dfm, new Integer(num++));
-			String[] accepts = dfm.getAccepts();
-			for (int i = 0; i < accepts.length; i++) {
-				IDfm next = dfm.advance(accepts[i]);
-				num = dumpDfm(next, map, num);
-			}
-		}
-		return num;
-	}
-	
-	private static class State implements Comparable {
-		public IDfm dfm;
-		public Integer n;
-		public State(IDfm dfm, Integer n) {
-			this.dfm = dfm;
-			this.n = n;
-		}
-		/**
-		 * @see java.lang.Comparable#compareTo(java.lang.Object)
-		 */
-		public int compareTo(Object o) {
-			State other = (State) o;
-			return n.intValue() < other.n.intValue()
-				? -1 
-				: (n.intValue() == other.n.intValue() 
-					? 0 
-					: 1);
-		}
-
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorContentOutlineTests.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorContentOutlineTests.java
deleted file mode 100644
index 4625058..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorContentOutlineTests.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial implementation
- * 	   IBM Corporation - additional tests
- *******************************************************************************/
-
-package org.eclipse.ant.tests.ui.editor;
-
-import java.util.List;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-import org.eclipse.jface.text.BadLocationException;
-
-/**
- * Tests the correct creation of the outline for an xml file.
- * 
- */
-public class AntEditorContentOutlineTests extends AbstractAntUITest {
-    
-    public AntEditorContentOutlineTests(String name) {
-        super(name);
-    }
-   
-    /**
-     * Tests the creation of the AntElementNode, that includes parsing a file
-     * and determining the correct location of the tags.
-     */
-    public void testCreationOfOutlineTree() throws BadLocationException {
-		AntModel model= getAntModel("buildtest1.xml");
-        
-		AntElementNode rootProject= model.getProjectNode();
-       
-        assertNotNull(rootProject);
-        
-        // Get the content as string
-        String wholeDocumentString = getCurrentDocument().get();
-        
-        // <project>
-        assertEquals(2, getStartingRow(rootProject));
-        assertEquals(2, getStartingColumn(rootProject));
-        int offset = wholeDocumentString.indexOf("project");
-	    assertEquals(offset, rootProject.getOffset());
-        
-        List children = rootProject.getChildNodes();
-		
-		// <property name="propD">
-		AntElementNode element = (AntElementNode)children.get(0);
-		assertEquals(3, getStartingRow(element));
-		assertEquals(3, getStartingColumn(element)); // with tab in file
-		assertEquals(3, getEndingRow(element));
-		assertEquals(39, getEndingColumn(element));  // with tab in file
-
-        offset = wholeDocumentString.indexOf("property");
-        assertEquals(offset, element.getOffset());
-        int length = "<property name=\"propD\" value=\"valD\" />".length();
-        assertEquals(length- 1, element.getLength()); //we do not include the first '<'
-		
-		// <property file="buildtest1.properties">
-		element = (AntElementNode)children.get(1);
-		assertEquals(4, getStartingRow(element));
-		assertEquals(6, getStartingColumn(element)); // no tab
-		assertEquals(4, getEndingRow(element));
-		assertEquals(45, getEndingColumn(element));
-
-		// <property name="propV">
-		element = (AntElementNode)children.get(2);
-		assertEquals(5, getStartingRow(element));
-		assertEquals(6, getStartingColumn(element));
-		assertEquals(5, getEndingRow(element));
-		assertEquals(42, getEndingColumn(element));
-		
-		// <target name="main">
-		element = (AntElementNode)children.get(3);
-		assertEquals(6, getStartingRow(element));
-		assertEquals(6, getStartingColumn(element));
-		assertEquals(9, getEndingRow(element));
-		assertEquals(13, getEndingColumn(element));
-		
-		// <property name="property_in_target">
-		element = (AntElementNode)element.getChildNodes().get(0);
-		assertEquals(7, getStartingRow(element));
-		assertEquals(10, getStartingColumn(element));
-		assertEquals(7, getEndingRow(element));
-		assertEquals(57, getEndingColumn(element));
-        offset = wholeDocumentString.indexOf("property name=\"property_in_target\"");
-        assertEquals(offset, element.getOffset());
-		
-        assertEquals(21, getEndingRow(rootProject));
-        assertEquals(10, getEndingColumn(rootProject));
-    }
-    
-    private int getColumn(int offset, int line) throws BadLocationException {
-    	return offset - getCurrentDocument().getLineOffset(line - 1) + 1;
-    }
-    
-    private int getStartingRow(AntElementNode element) throws BadLocationException {
-    	return getCurrentDocument().getLineOfOffset(element.getOffset()) + 1;
-    }
-    
-    private int getEndingRow(AntElementNode element) throws BadLocationException {
-    	return getCurrentDocument().getLineOfOffset(element.getOffset() + element.getLength() - 1) + 1;
-    }
-    
-    private int getStartingColumn(AntElementNode element) throws BadLocationException {
-    	return getColumn(element.getOffset(), getStartingRow(element));
-    }
-    
-    private int getEndingColumn(AntElementNode element) throws BadLocationException {
-    	return getColumn(element.getOffset() + element.getLength() - 1, getEndingRow(element));
-    }
-
-    /**
-     * Tests the creation of the AntElementNode, that includes parsing a non-valid 
-     * file.
-     */
-    public void testParsingOfNonValidFile() throws BadLocationException {
-		AntModel model= getAntModel("buildtest2.xml");
-        
-		AntElementNode root= model.getProjectNode();
-   		assertNotNull(root);
-
-        List children = root.getChildNodes();
-
-		// <target name="main">
-		AntElementNode element = (AntElementNode)children.get(2);
-		assertEquals(5, getStartingRow(element));
-		assertEquals(3, getStartingColumn(element)); // with tab in file
-		assertEquals(5, getEndingRow(element));
-		//main has no ending column as the element is not closed
-        int offset = getCurrentDocument().get().indexOf("target name=\"main\"");
-        assertEquals(offset, element.getOffset()); 
-    }
-
-	
-	/**
-	 * Tests whether the outline can handle a build file with only the <project></project> tags.
-	 */
-	public void testWithProjectOnlyBuildFile() {
-		AntModel model= getAntModel("projectOnly.xml");
-		AntElementNode rootProject= model.getProjectNode();
-		assertNotNull(rootProject);
-	}
-	
-	/**
-	 * Tests whether the outline can handle an empty build file.
-	 */
-	public void testWithEmptyBuildFile() {
-		AntModel model= getAntModel("empty.xml");
-		AntElementNode rootProject= model.getProjectNode();
-		assertTrue(rootProject == null);
-	}		
-
-	/**
-	 * Some testing of getting the right location of tags.
-	 */
-	public void testAdvancedTaskLocation() throws BadLocationException {
-		AntModel model= getAntModel("outline_select_test_build.xml");
-        
-        AntElementNode rootProject= model.getProjectNode();
-        // Get the content as string
-        String wholeDocumentString = getCurrentDocument().get();
-        
-        // <project>
-        assertNotNull(rootProject);
-        assertEquals(2, getStartingRow(rootProject));
-        assertEquals(2, getStartingColumn(rootProject));
-        int offset = wholeDocumentString.indexOf("project");
-        
-	    assertEquals(offset, rootProject.getOffset());
-        
-		// <target name="properties">
-        AntElementNode element = (AntElementNode)rootProject.getChildNodes().get(1);
-        assertNotNull(element);
-        assertEquals("properties", element.getLabel());
-        assertEquals(16, getStartingRow(element));
-        assertEquals(3, getStartingColumn(element));
-        offset = wholeDocumentString.indexOf("target name=\"properties\"");
-      
-	    assertEquals(offset, element.getOffset());
-	}
-
-    public static Test suite() {
-		return new TestSuite(AntEditorContentOutlineTests.class);
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorTests.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorTests.java
deleted file mode 100644
index d1ecce9..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/AntEditorTests.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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.ant.tests.ui.editor;
-
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.ant.internal.ui.editor.text.XMLTextHover;
-import org.eclipse.ant.tests.ui.editor.performance.EditorTestHelper;
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.ui.PartInitException;
-
-public class AntEditorTests extends AbstractAntUITest {
-
-    public AntEditorTests(String name) {
-        super(name);
-    }
-    
-    public void testHoverForPath() throws PartInitException, BadLocationException {
-        try {
-            IFile file= getIFile("refid.xml");
-            AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-            XMLTextHover hover= new XMLTextHover(editor);
-            int offset= getOffsetWithinLine(editor, 9, 20);
-            IRegion region= hover.getHoverRegion(editor.getViewer(), offset);
-            String hoverText= hover.getHoverInfo(editor.getViewer(), region);
-            String correctResult= "<html><body text=\"#000000\" bgcolor=\"#FFFF88\"><font size=-1><h5>Path Elements:</h5><ul><li>";
-            assertTrue("Expected the following hover text to start with: " + correctResult, hoverText.startsWith(correctResult));
-            
-        } finally {
-            EditorTestHelper.closeAllEditors();    
-        }
-    }
-    
-    public void testHoverForProperty() throws PartInitException, BadLocationException {
-        try {
-            IFile file= getIFile("refid.xml");
-            AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-            XMLTextHover hover= new XMLTextHover(editor);
-            int offset= getOffsetWithinLine(editor, 42, 13);
-            IRegion region= hover.getHoverRegion(editor.getViewer(), offset);
-            String hoverText= hover.getHoverInfo(editor.getViewer(), region);
-            String correctResult= "<html><body text=\"#000000\" bgcolor=\"#FFFF88\"><font size=-1><p>value with spaces</font></body></html>";
-            assertTrue("Expected the following hover text to start with: " + correctResult, correctResult.equals(hoverText));
-        } finally {
-            EditorTestHelper.closeAllEditors();    
-        }
-    }
-    
-    public void testPropertyOpenDeclaration() throws PartInitException, BadLocationException {
-        try {
-            IFile file= getIFile("refid.xml");
-            AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-            int offset = getOffsetWithinLine(editor, 42, 12);
-            editor.selectAndReveal(offset, 2);
-            
-            editor.openReferenceElement();
-            ITextSelection selection= (ITextSelection) editor.getSelectionProvider().getSelection();
-            assertTrue("Selection is not correct: " + selection.getText(), "property".equals(selection.getText()));
-        } finally {
-            EditorTestHelper.closeAllEditors();    
-        }
-    }
-    
-    public void testPatternSetHover() throws PartInitException, BadLocationException {
-        try {
-            IFile file= getIFile("refid.xml");
-            AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-            XMLTextHover hover= new XMLTextHover(editor);
-            int offset= getOffsetWithinLine(editor, 45, 25);
-            IRegion region= hover.getHoverRegion(editor.getViewer(), offset);
-            String hoverText= hover.getHoverInfo(editor.getViewer(), region);
-            String correctResult= "<html><body text=\"#000000\" bgcolor=\"#FFFF88\"><font size=-1><h5>Includes: </h5><li>*.xml</li><p><p><h5>Excludes: </h5><li>**/*Test*</li></font></body></html>";
-            assertTrue("Expected the following hover text to start with: " + correctResult, hoverText.startsWith(correctResult));
-            
-        } finally {
-            EditorTestHelper.closeAllEditors();    
-        }
-    }
-    
-    public void testBadPatternSetHover() throws PartInitException, BadLocationException {
-        try {
-            IFile file= getIFile("refid.xml");
-            AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-            XMLTextHover hover= new XMLTextHover(editor);
-            int offset= getOffsetWithinLine(editor, 46, 25);
-            IRegion region= hover.getHoverRegion(editor.getViewer(), offset);
-            String hoverText= hover.getHoverInfo(editor.getViewer(), region);
-            String correctResult= "\\Ant UI Tests\\buildfiles\\nothere not found.";
-            assertTrue("Expected the following hover text to ends with: " + correctResult, hoverText.endsWith(correctResult));
-            
-        } finally {
-            EditorTestHelper.closeAllEditors();    
-        }
-    }
-    
-    public void testFileSetHover() throws PartInitException, BadLocationException {
-        try {
-            IFile file= getIFile("refid.xml");
-            AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-            XMLTextHover hover= new XMLTextHover(editor);
-            int offset= getOffsetWithinLine(editor, 44, 20);
-            IRegion region= hover.getHoverRegion(editor.getViewer(), offset);
-            String hoverText= hover.getHoverInfo(editor.getViewer(), region);
-            String correctResult= "<html><body text=\"#000000\" bgcolor=\"#FFFF88\"><font size=-1><h5>Includes: </h5><li>include</li><p><p><h5>Excludes: </h5><li>exclude</li><li>**\\*~</li><li>**\\#*#</li><li>**\\.#*</li><li>**\\%*%</li><li>**\\._*</li><li>**\\CVS</li><li>**\\CVS\\**</li><li>**\\.cvsignore</li><li>**\\SCCS</li><li>**\\SCCS\\**</li><li>**\\vssver.scc</li><li>**\\.svn</li><li>**\\.svn\\**</li><li>**\\.DS_Store</li></font></body></html>";
-            assertTrue("Expected the following hover text to start with: " + correctResult, correctResult.equals(hoverText));
-            
-        } finally {
-            EditorTestHelper.closeAllEditors();    
-        }
-    }
-    
-    
-    public void testTaskdefOpenDeclaration() throws PartInitException, BadLocationException {
-        try {
-            IFile file= getIFile("taskdef.xml");
-            AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-            int offset = getOffsetWithinLine(editor, 9, 3);
-            editor.selectAndReveal(offset, 0);
-            
-            editor.openReferenceElement();
-            ITextSelection selection= (ITextSelection) editor.getSelectionProvider().getSelection();
-            assertTrue("Selection is not correct: " + selection.getText(), "taskdef".equals(selection.getText()));
-            
-            offset = getOffsetWithinLine(editor, 9, 10);
-            editor.selectAndReveal(offset, 3);
-            
-            editor.openReferenceElement();
-            selection= (ITextSelection) editor.getSelectionProvider().getSelection();
-            assertTrue("Selection is not correct: " + selection.getText(), "taskdef".equals(selection.getText()));
-        } finally {
-            EditorTestHelper.closeAllEditors();    
-        }
-    }
-    
-    public void testMacroDefOpenDeclaration() throws PartInitException, BadLocationException {
-    	try {
-    		IFile file= getIFile("macrodef.xml");
-    		AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-    		int offset = getOffsetWithinLine(editor, 12, 9);
-    		editor.selectAndReveal(offset, 0);
-    		
-    		editor.openReferenceElement();
-    		ITextSelection selection= (ITextSelection) editor.getSelectionProvider().getSelection();
-    		assertTrue("Selection is not correct: " + selection.getText(), "macrodef".equals(selection.getText()));
-    		
-    		offset = getOffsetWithinLine(editor, 14, 9);
-     		editor.selectAndReveal(offset, 1);
-     		
-     		editor.openReferenceElement();
-    		selection= (ITextSelection) editor.getSelectionProvider().getSelection();
-    		assertTrue("Selection is not correct: " + selection.getText(), "macrodef".equals(selection.getText()));
-    	} finally {
-    		EditorTestHelper.closeAllEditors();    
-    	}
-    }
-    
-    public void testMacroDefAttributeOpenDeclaration() throws PartInitException, BadLocationException {
-    	try {
-    		IFile file= getIFile("macrodef.xml");
-    		AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-    		int offset = getOffsetWithinLine(editor, 12, 16);
-    		editor.selectAndReveal(offset, 1);
-    		
-    		editor.openReferenceElement();
-    		ITextSelection selection= (ITextSelection) editor.getSelectionProvider().getSelection();
-    		assertTrue("Selection is not correct: " + selection.getText(), "attribute".equals(selection.getText()));
-    	} finally {
-    		EditorTestHelper.closeAllEditors();    
-    	}
-    }
-    
-    public void testRefOpenDeclaration() throws PartInitException, BadLocationException {
-    	try {
-    		IFile file= getIFile("refid.xml");
-    		AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-    		int offset = getOffsetWithinLine(editor, 9, 20);
-    		editor.selectAndReveal(offset, 2);
-    		
-    		editor.openReferenceElement();
-    		ITextSelection selection= (ITextSelection) editor.getSelectionProvider().getSelection();
-    		assertTrue("Selection is not correct: " + selection.getText(), "path".equals(selection.getText()));
-    	} finally {
-    		EditorTestHelper.closeAllEditors();    
-    	}
-    }
-    
-    public void testTargetOpenDeclaration() throws PartInitException, BadLocationException {
-    	try {
-    		IFile file= getIFile("refid.xml");
-    		AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-    		int offset = getOffsetWithinLine(editor, 0, 18);
-    		editor.selectAndReveal(offset, 1);
-    		
-    		editor.openReferenceElement();
-    		ITextSelection selection= (ITextSelection) editor.getSelectionProvider().getSelection();
-    		assertTrue("Selection is not correct: " + selection.getText(), "target".equals(selection.getText()));
-    	} finally {
-    		EditorTestHelper.closeAllEditors();    
-    	}
-    }
-    
-    public void testHoverRegionWithSpaces() throws PartInitException, BadLocationException {
-        try {
-            IFile file= getIFile("refid.xml");
-            AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, "org.eclipse.ant.ui.internal.editor.AntEditor", true);
-            XMLTextHover hover= new XMLTextHover(editor);
-            //in the middle of the "compile" target of the depends attribute
-            int offset= getOffsetWithinLine(editor, 22, 39);
-            IRegion region= hover.getHoverRegion(editor.getViewer(), offset);
-            
-            assertNotNull(region);
-            IDocument doc= editor.getDocumentProvider().getDocument(editor.getEditorInput());
-            String text= doc.get(region.getOffset(), region.getLength());
-            assertTrue("Region incorrect. Expected length of 7 and text of \"compile\", length was " + region.getLength() + " and text was " + text, region.getLength() == 7 && "compile".equals(text));
-            
-        } finally {
-            EditorTestHelper.closeAllEditors();    
-        }
-    }
-
-	private int getOffsetWithinLine(AntEditor editor, int lineNumber, int offsetInLine) throws BadLocationException {
-		IDocument document= editor.getDocumentProvider().getDocument(editor.getEditorInput());
-		int offset= document.getLineOffset(lineNumber) + offsetInLine;
-		return offset;
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/CodeCompletionTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/CodeCompletionTest.java
deleted file mode 100644
index 37d9fc0..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/CodeCompletionTest.java
+++ /dev/null
@@ -1,997 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial implementation
- * 	   IBM Corporation - additional tests
- *******************************************************************************/
-
-package org.eclipse.ant.tests.ui.editor;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.ant.tests.ui.editor.performance.EditorTestHelper;
-import org.eclipse.ant.tests.ui.editor.support.TestTextCompletionProcessor;
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.ui.PartInitException;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Comment;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Tests everything about code completion and code assistance.
- * 
- */
-public class CodeCompletionTest extends AbstractAntUITest {
-
-    /**
-     * Constructor for CodeCompletionTest.
-     * @param name
-     */
-    public CodeCompletionTest(String name) {
-        super(name);
-    }
-    
-	public static Test suite() {
-		return new TestSuite(CodeCompletionTest.class);
-	}
-
-    /**
-     * Tests the code completion for attributes of tasks.
-     */
-    public void testAttributeProposals() {
-        TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-
-        ICompletionProposal[] proposals = processor.getAttributeProposals("contains", "ca");
-        assertEquals(1, proposals.length);
-        assertEquals("casesensitive - (true | false | on | off | yes | no)", proposals[0].getDisplayString());
-
-        proposals = processor.getAttributeProposals("move", "");
-        assertEquals(17, proposals.length);
-        ICompletionProposal proposal = proposals[0];
-        String displayString = proposal.getDisplayString();
-        assertTrue(displayString.equals("id") 
-        || displayString.equals("taskname")
-        || displayString.equals("description")
-        || displayString.equals("file")
-        || displayString.equals("preservelastmodified - (true | false | on | off | yes | no)")
-        || displayString.equals("tofile")
-        || displayString.equals("todir")
-        || displayString.equals("overwrite - (true | false | on | off | yes | no)")
-        || displayString.equals("filtering - (true | false | on | off | yes | no)")
-        || displayString.equals("flatten - (true | false | on | off | yes | no)")
-        || displayString.equals("includeemptydirs")
-        || displayString.equals("failonerror - (true | false | on | off | yes | no)")
-        || displayString.equals("verbose - (true | false | on | off | yes | no)")
-        || displayString.equals("encoding")
-        || displayString.equals("outputencoding")
-        || displayString.equals("enablemultiplemapping - (true | false | on | off | yes | no)")
-		|| displayString.equals("granularity"));
-        
-        proposals = processor.getAttributeProposals("move", "to");
-        assertEquals(2, proposals.length);
-
-        proposals = processor.getAttributeProposals("reference", "idl");
-        assertEquals(0, proposals.length);
-
-        proposals = processor.getAttributeProposals("reference", "id");
-        assertEquals(1, proposals.length);
-        assertEquals("id", proposals[0].getDisplayString());
-
-        proposals = processor.getAttributeProposals("reference", "i");
-        //id includesfile includes
-        assertEquals(3, proposals.length);
-        displayString= proposals[0].getDisplayString();
-        assertTrue(displayString.equals("id") 
-        		||  displayString.equals("includeFile")
-				|| displayString.equals("includes"));
-
-        proposals = processor.getAttributeProposals("project", "de");
-        assertEquals(1, proposals.length);
-    }
-    
-    /**
-     * Test the code completion for properties, including unquoted (bug 40871)
-     */
-    public void testPropertyProposals() throws BadLocationException {
-    	TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-
-    	int lineNumber= 7;
-    	int columnNumber= 16;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber);
-    	assertTrue(proposals.length >= 1);
-    	assertContains("prop1", proposals);
-    	
-    	lineNumber= 18;
-    	columnNumber= 25;
-    	lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber);
-    	assertTrue(proposals.length >= 1);
-    	assertContains("prop2", proposals);
-    }
-    
-    /**
-     * Tests the code completion for nested elements that no templates are presented
-     * Bug 76414
-     */
-	public void testPropertyTemplateProposals() throws BadLocationException, PartInitException {
-		try {
-			IFile file= getIFile("buildtest1.xml");
-			AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
-			TestTextCompletionProcessor processor= new TestTextCompletionProcessor(editor);
-			int lineNumber= 7;
-	    	int columnNumber= 16;
-	    	int lineOffset= editor.getDocumentProvider().getDocument(editor.getEditorInput()).getLineOffset(lineNumber);
-	    	processor.setLineNumber(lineNumber);
-	    	processor.setColumnNumber(columnNumber);
-	    	processor.setCursorPosition(lineOffset + columnNumber);
-	    	
-	    	ICompletionProposal[] proposals= processor.determineTemplateProposals();
-	    	assertTrue("No templates are relevant at the current position. Found: " + proposals.length, proposals.length == 0);
-		} finally {
-			EditorTestHelper.closeAllEditors();
-		}
-	}
-    
-    /**
-     * Test the code completion for "system" properties
-     */
-    public void testSystemPropertyProposals() throws BadLocationException {
-    	TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-    	
-    	int lineNumber= 18;
-    	int columnNumber= 25;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber);
-    	assertTrue(proposals.length >= 1);
-    	assertContains("java.home", proposals);
-    }
-    
-    /**
-     * Test the code completion for "built-in" properties
-     */
-    public void testBuiltInPropertyProposals() throws BadLocationException {
-    	TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-    	
-    	int lineNumber= 18;
-    	int columnNumber= 25;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber);
-    	assertTrue(proposals.length >= 1);
-    	assertContains("ant.file", proposals);
-    	assertContains("ant.version", proposals);
-    	assertContains("ant.project.name", proposals);
-    	assertContains("basedir", proposals);
-        assertContains("ant.home", proposals);
-        assertContains("ant.library.dir", proposals);
-    }
-    
-    /**
-     * Test the code completion for extension point / preference properties
-     */
-    public void testPreferencePropertyProposals() throws BadLocationException {
-    	AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-    	try {
-    		
-    		prefs.setCustomProperties(new Property[] {new Property("test", "result")});
-    		prefs.updatePluginPreferences();
-    		
-    		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-    		
-    		int lineNumber= 18;
-    		int columnNumber= 25;
-    		int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    		processor.setLineNumber(lineNumber);
-    		processor.setColumnNumber(columnNumber);
-    		processor.setCursorPosition(lineOffset + columnNumber);
-    		ICompletionProposal[] proposals = processor.getPropertyProposals(getCurrentDocument(), "", lineOffset + columnNumber);
-    		assertTrue(proposals.length >= 3);
-    		assertContains("eclipse.home", proposals); //contributed
-    		assertContains("property.ui.testing2", proposals); //contributed
-    		assertContains("test", proposals);
-    	} finally {
-    		prefs.setCustomProperties(new Property[]{});
-    		prefs.updatePluginPreferences();
-    	}
-    }
-    
-    /**
-     * Test the code completion for the depend attribute of a target.
-     */
-    public void testTargetDependProposals() throws BadLocationException {
-    	TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-    	//simple depends
-    	int lineNumber= 10;
-    	int columnNumber= 34;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset + columnNumber), "", "depends");
-    	assertTrue(proposals.length == 7);
-    	assertContains("pretest", proposals);
-    	assertContains("testMoreDepends", proposals);
-    	//comma separated depends
-    	lineNumber= 17;
-    	columnNumber= 53;
-    	lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset + columnNumber), "", "depends");
-    	assertTrue(proposals.length == 6);
-    	assertContains("main", proposals);
-    	assertDoesNotContain("pretest", proposals);
-    	
-    }
-    
-    /**
-     * Test the code completion for the if attribute of a target.
-     */
-    public void testTargetIfProposals() throws BadLocationException {
-    	TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-
-    	int lineNumber= 15;
-    	int columnNumber= 31;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset + columnNumber), "", "if");
-    	assertTrue(proposals.length >= 1);
-    	assertContains("prop1", proposals);
-    }
-    
-    /**
-     * Test the code completion for the unless attribute of a target.
-     */
-    public void testTargetUnlessProposals() throws BadLocationException {
-    	TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-
-    	int lineNumber= 16;
-    	int columnNumber= 43;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getTargetAttributeValueProposals(getCurrentDocument(), getCurrentDocument().get(0, lineOffset + columnNumber), "prop", "unless");
-    	assertTrue(proposals.length >= 1);
-    	assertContains("prop1", proposals);
-
-    }
-    
- 	/**
- 	 * Asserts that <code>displayString</code> is in one of the 
- 	 * completion proposals.
- 	 */
-    private void assertContains(String displayString, ICompletionProposal[] proposalArray) {
-        boolean found = false;
-        for (int i = 0; i < proposalArray.length; i++) {
-            ICompletionProposal proposal = proposalArray[i];
-            String proposalDisplayString = proposal.getDisplayString();
-            if(displayString.equals(proposalDisplayString)) {
-                found = true;
-                break;
-            }
-        }
-        assertEquals("Did not find displayString: " + displayString, true, found);
-    }        
-    
-    /**
- 	 * Asserts that <code>displayString</code> is not in one of the 
- 	 * completion proposals.
- 	 */
-    private void assertDoesNotContain(String displayString, ICompletionProposal[] proposalArray) {
-        boolean found = false;
-        for (int i = 0; i < proposalArray.length; i++) {
-            ICompletionProposal proposal = proposalArray[i];
-            String proposalDisplayString = proposal.getDisplayString();
-            if(displayString.equals(proposalDisplayString)) {
-                found = true;
-                break;
-            }
-        }
-        assertEquals("Found displayString: " + displayString, false, found);
-    }        
-
-	/**
-	 * Tests the property proposals for the case that they are defined in
-	 * a dependent targets.
-	 */
-    public void testPropertyProposalDefinedInDependantTargets() throws FileNotFoundException {
-        TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("dependencytest.xml"));
-
-        File file= getBuildFile("dependencytest.xml");
-        processor.setEditedFile(file);
-		String documentText = getFileContentAsString(file);
-
-		processor.setLineNumber(35);
-		processor.setColumnNumber(41);
-		int cursorPosition = documentText.lastIndexOf("${");
-		assertTrue(cursorPosition != -1);
-        ICompletionProposal[] proposals = processor.getPropertyProposals(new org.eclipse.jface.text.Document(documentText), "", cursorPosition+2);
-		assertContains("init_prop", proposals);
-		assertContains("main_prop", proposals);
-		assertContains("prop_prop", proposals);
-		assertContains("do_not_compile", proposals);
-		assertContains("adit_prop", proposals);
-		assertContains("compile_prop", proposals);
-    }
-    
-    /**
-     * Tests the code completion for tasks that have been defined in the buildfile
-     */
-	public void testCustomTaskProposals() {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("taskdef.xml"));
-
-		ICompletionProposal[] proposals = processor.getTaskProposals(getCurrentDocument(), "target", "min");
-		assertEquals(1, proposals.length);
-		ICompletionProposal proposal = proposals[0];
-		assertEquals("mine", proposal.getDisplayString());
-	}
-    
-    /**
-     * Tests the code completion for tasks that have been defined via the task extension point
-     */
-	public void testExtensionPointTaskProposals() {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("taskdef.xml"));
-
-		ICompletionProposal[] proposals = processor.getTaskProposals(getCurrentDocument(), "target", "cool");
-		assertEquals(4, proposals.length);
-		assertContains("coolUITask", proposals);
-	}
-    
-    /**
-     * Tests the code completion for tasks that have been defined via macrodef in the buildfile
-     */
-	public void testMacrodefProposals() {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("macrodef.xml"));
-
-		ICompletionProposal[] proposals = processor.getTaskProposals(getCurrentDocument(), "target", "eclipsema");
-		assertEquals(1, proposals.length);
-		ICompletionProposal proposal = proposals[0];
-		assertEquals("eclipseMacro", proposal.getDisplayString());
-        
-	}
-	
-	/**
-     * Tests the code completion for nested element attributes
-     */
-	public void testMacrodefNestedElementAttributeProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("macrodef.xml"));
-		int lineNumber= 5;
-    	int columnNumber= 11;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	assertTrue(proposals.length == 5);
-    	assertContains("description", proposals);
-    	assertContains("implicit - (true | false | on | off | yes | no)", proposals);
-    	assertContains("name", proposals);
-	}
-	
-	/**
-     * Tests the code completion for tasks that have been defined via macrodef in the buildfile
-     */
-	public void testMacrodefAttributeProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("macrodef.xml"));
-		int lineNumber= 12;
-    	int columnNumber= 16;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	assertTrue(proposals.length == 2);
-    	assertContains("v", proposals);
-    	assertContains("eclipse", proposals);
-    	assertTrue("Additional proposal information not correct", proposals[1].getAdditionalProposalInfo().startsWith("Testing Eclipse"));
-	}
-	
-	/**
-     * Tests the code completion for elements that have been defined via macrodef in the buildfile
-     */
-	public void testMacrodefElementProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("macrodef.xml"));
-		int lineNumber= 13;
-    	int columnNumber= 3;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	assertTrue(proposals.length == 1);
-    	assertTrue("Proposal not correct", proposals[0].getDisplayString().equals("some-tasks"));
-    	assertTrue("Additional proposal information not correct", proposals[0].getAdditionalProposalInfo().endsWith("Not required"));
-	}
-
-    /**
-     * Tests the code completion for tasks having parent tasks.
-     */
-    public void testTaskProposals() {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-
-       
-        ICompletionProposal[] proposals = processor.getTaskProposals("         <", "rename", "");
-        assertEquals(0, proposals.length);
-
-        proposals = processor.getTaskProposals("       <cl", "property", "cl");
-        assertEquals(1, proposals.length);
-        ICompletionProposal proposal = proposals[0];
-        assertEquals("classpath", proposal.getDisplayString());
-
-        proposals = processor.getTaskProposals("       <pr", "property", "");
-        assertEquals(1, proposals.length);
-        proposal = proposals[0];
-        assertEquals("classpath", proposal.getDisplayString());
-        
-        // "<project><target><mk"
-        proposals = processor.getTaskProposals("<project><target><mk", "target", "mk");
-        assertEquals(1, proposals.length);
-        proposal = proposals[0];
-        assertEquals("mkdir", proposal.getDisplayString());
-        
-    }
-    
-    /**
-     * Tests the code completion for the fail task
-     * bug 73637
-     */
-    public void testFailProposals() {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-
-		ICompletionProposal[] proposals = processor.getAttributeProposals("fail", "");
-        assertEquals(6, proposals.length);
-        
-        assertContains("message", proposals);
-        assertContains("if", proposals);
-        assertContains("unless", proposals);
-    }
-    
-	/**
-	 * Test for bug 40951
-	 */
-	public void testMixedElements() {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("mixed.xml"));
-		//String string = "<project><target><sql driver=\"\" password=\"\" url=\"\" userid=\"\"></sql><concat></concat>";
-		ICompletionProposal[] proposals = processor.getTaskProposals(getCurrentDocument(), processor.getParentName(getCurrentDocument(), 0, 62), "t");
-		assertEquals(1, proposals.length);
-		ICompletionProposal proposal = proposals[0];
-		assertEquals("transaction", proposal.getDisplayString());
-		
-		proposals = processor.getTaskProposals(getCurrentDocument(), processor.getParentName(getCurrentDocument(), 0, 76), "");
-		//filelist fileset filterchain footer header path
-		assertEquals(6, proposals.length);
-		proposal = proposals[0];
-		assertEquals("filelist", proposal.getDisplayString());
-	}
-	
-    /**
-     * Tests the algorithm for finding a child as used by the processor.
-     */
-    public void testFindChildElement() throws ParserConfigurationException {
-        
-        // Create the test data
-        DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-        Document doc = docBuilder.newDocument();
-        Element parentElement = doc.createElement("parent");
-        Attr attribute = doc.createAttribute("att1");
-        parentElement.setAttributeNode(attribute);
-        Comment comment = doc.createComment("lakjjflsakdfj");
-        parentElement.appendChild(comment);
-        Element childElement = doc.createElement("child");
-        parentElement.appendChild(childElement);
-        childElement = doc.createElement("secondchild");
-        parentElement.appendChild(childElement);
-        
-        // Create the processor
-        TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-        
-        // Test it!
-        childElement = processor.findChildElementNamedOf(parentElement, "jkl");
-        assertNull(childElement);
-        childElement = processor.findChildElementNamedOf(parentElement, "secondchild");
-        assertNotNull(childElement);
-        assertEquals("secondchild", childElement.getTagName());
-    }
-    
-    /**
-     * Tests that the processor correctly determines the attribute proposal mode
-     */
-    public void testDeterminingAttributeProposalMode() {
-        TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-        int mode = processor.determineProposalMode("<project><property ta", 21, "ta");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
-        mode = processor.determineProposalMode("<project><property ", 19, "");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
-        mode = processor.determineProposalMode("<project><property   ", 21, "");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
-        mode = processor.determineProposalMode("<property id=\"hu\" ", 18, "");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
-        mode = processor.determineProposalMode("<property id=\"hu\" \r\n ", 21, "");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
-        mode = processor.determineProposalMode("<property\n", 10, "");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL, mode);
-    }
-    
-    /**
-     * Tests that the processor correctly determines the attribute value proposal mode
-     */
-    public void testDeterminingAttributeValueProposalMode() {
-        TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-        int mode = processor.determineProposalMode("<project><property take=\"", 25, "");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
-        mode = processor.determineProposalMode("<property id=\"hu\" ", 14, "");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
-        mode = processor.determineProposalMode("<property id=\"hu\" \r\n ", 16, "hu");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
-        mode = processor.determineProposalMode("<property \n\t\tid=\"hu\" \r\n ", 19, "hu");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL, mode);
-    }
-    
-	/**
-	* Tests how the processor determines the proposal mode.
-	*/
-   public void testDeterminingPropertyProposalMode() {
-	   TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-	   int mode =processor.determineProposalMode("<project><target name=\"$\"", 24, "");
-	   assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
-	   mode = processor.determineProposalMode("<project><target name=\"${\"", 25, "");
-	   assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
-	   mode = processor.determineProposalMode("<project><target name=\"${ja.bl\"", 30, "ja.bl");
-	   assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
-	  
-		mode = processor.determineProposalMode("<project><target><echo>${", 25, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL, mode);
-   }
-    
-	/**
-	 * Tests how the processor determines the proposal mode.
-	 */
-	public void testDeterminingTaskProposalMode() {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-    
-		int mode = processor.determineProposalMode("<project><prop", 14, "prop");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
-		mode = processor.determineProposalMode("<project> hjk", 13, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
-		mode = processor.determineProposalMode("<project> hjk<", 14, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode); // allow this case though it is not valid with Ant
-		mode = processor.determineProposalMode("<project>", 9, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
-		mode = processor.determineProposalMode("<project> ", 10, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
-		mode = processor.determineProposalMode("<project></", 11, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL_CLOSING, mode);
-		mode = processor.determineProposalMode("<project>< </project>", 10, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
-		mode = processor.determineProposalMode("<project default=\"hey\"><target name=\"hey\">a</target></project>", 44, "a");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
-		mode = processor.determineProposalMode("<project default=\"hey\"><target name=\"hey\"></target></project>", 43, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
-		mode = processor.determineProposalMode("<project default=\"hey\"><target name=\"hey\"><a</target></project>", 45, "<a");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
-		mode = processor.determineProposalMode("<target name=\"main\"><zip><size></size></zip></", 46, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL_CLOSING, mode);
-		mode = processor.determineProposalMode("", 0, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_BUILDFILE, mode);
-		mode= processor.determineProposalMode("<project default=\"hey\"><target name=\"hey\"><javac>a</javac></target></project>", 51, "a");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
-		mode = processor.determineProposalMode("<project> hjk", 13, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL, mode);
-	}
-	
-	/**
-	 * Tests how the processor determines the proposal mode.
-	 */
-	public void testDeterminingTaskClosingProposalMode() {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-	
-		int mode = processor.determineProposalMode("<target name=\"main\"><zip><size></size></zip></", 46, "");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_TASK_PROPOSAL_CLOSING, mode);
-	}
-
-    /**
-     * Tests how the prefix will be determined.
-     */
-    public void testDeterminingPrefix() {
-        TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-
-        // cursor after ${
-        String prefix = processor.getPrefixFromDocument("<project><target name=\"${}\"", 25);
-        assertEquals("", prefix);
-
-        // cursor after $
-        prefix = processor.getPrefixFromDocument("<project><target name=\"${\"", 24);
-        assertEquals("", prefix);
-
-        // cursor after ${ja.
-        prefix = processor.getPrefixFromDocument("<project><target name=\"${ja.\"", 28);
-        assertEquals("ja.", prefix);
-        
-        // cursor after <
-		prefix = processor.getPrefixFromDocument("<project><", 10);
-		assertEquals("", prefix);
-		
-		prefix = processor.getPrefixFromDocument("<project name= \"test\"><tar", 26);
-		assertEquals("tar", prefix);
-		
-		prefix = processor.getPrefixFromDocument("pro", 3);
-		assertEquals("pro", prefix);
-    }    
-    
-    /**
-     * Tests how the processor determines the proposal mode.
-     */
-    public void testDeterminingNoneProposalMode() {
-        TestTextCompletionProcessor processor = new TestTextCompletionProcessor();
-
-        int mode = processor.determineProposalMode("<project><prop bla", 18, "bla");
-        assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_NONE, mode);
-		mode= processor.determineProposalMode("<project default=\"hey\"><target name=", 37, "name=");
-		assertEquals(TestTextCompletionProcessor.TEST_PROPOSAL_MODE_NONE, mode);
-	}
-    
-    /**
-     * Tests the code completion for tasks in an empty build file (no parent).
-     */
-    public void testTaskProposalsForEmptyBuildFile() {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("empty.xml"));
-
-        ICompletionProposal[] proposals = processor.getBuildFileProposals("", "");
-        assertEquals(1, proposals.length);
-        assertEquals("project", proposals[0].getDisplayString());
-        
-        proposals = processor.getBuildFileProposals("            jl", "jl");
-        assertEquals(0, proposals.length);
-        
-        proposals = processor.getBuildFileProposals("    \n<project></project>", "");
-        assertEquals(1, proposals.length);
-    }
-    
-    /**
-     * Tests the code completion for refids (Bug 49830)
-     */
-    public void testRefidProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("refid.xml"));
-
-		int lineNumber= 9;
-    	int columnNumber= 16;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	//for sure should have project.class.path and project.class.path2 but project.class.path2 
-    	//should not present itself as a possible reference
-    	assertTrue(proposals.length >= 2);
-    	assertContains("project.class.path", proposals);
-    	assertDoesNotContain("project.class.path2", proposals);
-    }
-    
-    /**
-     * Tests the code completion for custom task that has a boolean attribute
-     */
-    public void testCustomBooleanProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("customBoolean.xml"));
-
-		int lineNumber= 2;
-    	int columnNumber= 44;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	//true false yes no on off
-    	assertTrue(proposals.length == 6);
-    	assertContains("true", proposals);
-    	assertContains("no", proposals);
-    }
-    
-     /**
-     * Tests the code completion for custom task that has an enumerated attribute
-     */
-    public void testCustomEnumeratedProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("extensionPointTaskSepVM.xml"));
-		int lineNumber= 2;
-    	int columnNumber= 24;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "c");
-    	assertEquals("Incorrect number of proposals", 2, proposals.length);
-    	assertContains("cool", proposals);
-    	assertContains("chillin", proposals);
-    	assertDoesNotContain("awesome", proposals);
-    }
-    
-    /**
-     * Tests the code completion for custom task that have a reference attribute
-     */
-    public void testCustomReferenceProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("extensionPointTaskSepVM.xml"));
-		int lineNumber= 2;
-    	int columnNumber= 41;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "e");
-    	assertEquals("Incorrect number of proposals", 1, proposals.length);
-    	//the reference to the project by name
-    	assertContains("Extension Point Task", proposals);
-    }
-    
-    /**
-     * Tests the code completion for nested element attributes of custom tasks
-     */
-	public void testNestedElementAttributeProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("nestedElementAttributes.xml"));
-		int lineNumber= 4;
-    	int columnNumber= 18;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	assertTrue(proposals.length == 1);
-    	assertContains("works", proposals);
-	}
-	
-	/**
-     * Tests the code completion for nested elements
-     */
-	public void testNestedElementProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("nestedElementAttributes.xml"));
-		int lineNumber= 4;
-    	int columnNumber= 3;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	assertTrue(proposals.length == 1);
-    	assertContains("nestedelement", proposals);
-	}
-	
-	/**
-     * Tests the code completion for nested elements that no templates are presented
-     * Bug 76414
-     */
-	public void testNestedElementTemplateProposals() throws BadLocationException, PartInitException {
-		try {
-			IFile file= getIFile("nestedElementAttributes.xml");
-			AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
-			TestTextCompletionProcessor processor= new TestTextCompletionProcessor(editor);
-			int lineNumber= 4;
-	    	int lineOffset= editor.getDocumentProvider().getDocument(editor.getEditorInput()).getLineOffset(lineNumber);
-	    	
-	    	editor.getSelectionProvider().setSelection(new TextSelection(lineOffset, 0));
-	    	
-	    	ICompletionProposal[] proposals= processor.computeCompletionProposals(lineOffset);
-	    	
-	    	assertTrue("No templates are relevant at the current position. Found: " + proposals.length, proposals.length == 1);
-		} finally {
-			EditorTestHelper.closeAllEditors();
-		}
-	}
-	
-	/**
-     * Tests the code completion for nested element attribute values of custom tasks
-     */
-	public void testNestedElementAttributeValueProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("nestedElementAttributes.xml"));
-    	int lineNumber= 4;
-    	int columnNumber= 25;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	assertTrue(proposals.length == 6); //the boolean proposals
-    	assertContains("true", proposals);
-	}
-	
-	/**
-     * Tests the code completion when a parse error occurs in the project definition
-     * bug 63151
-     */
-	public void testBadProjectProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("badproject.xml"));
-    	int lineNumber= 0;
-    	int columnNumber= 10;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "n");
-    	assertTrue(proposals.length == 1); 
-    	assertContains("name", proposals);
-	}
-	
-	/**
-     * Tests the code completion for attribute value proposals both with and without leading whitespace
-     */
-	public void testAttributeValueProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("javac.xml"));
-    	int lineNumber= 2;
-    	int columnNumber= 29;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	assertTrue(proposals.length == 6); //boolean proposals 
-    	assertContains("false", proposals);
-    	
-    	lineNumber= 3;
-    	columnNumber= 19;
-    	lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	assertTrue(proposals.length == 6); //boolean proposals 
-    	assertContains("true", proposals);
-    	
-    	lineNumber= 4;
-    	columnNumber= 22;
-    	lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	assertTrue(proposals.length == 6); //boolean proposals 
-    	assertContains("no", proposals);
-	}
-	
-	/**
-     * Tests the code completion for an empty buildfile
-     */
-	public void testEmptyBuildfileProposals() throws PartInitException {
-		try {
-			IFile file= getIFile("empty.xml");
-			AntEditor editor= (AntEditor)EditorTestHelper.openInEditor(file, ANT_EDITOR_ID, true);
-			TestTextCompletionProcessor processor= new TestTextCompletionProcessor(editor);
-			
-	    	editor.getSelectionProvider().setSelection(TextSelection.emptySelection());
-	    	
-	    	ICompletionProposal[] proposals= processor.computeCompletionProposals(0);
-	    	assertTrue("Two proposals are relevant at the current position. Found: " + proposals.length, proposals.length == 2);
-	    	assertContains("project", proposals);
-	    	assertContains("Buildfile template - simple buildfile with two targets", proposals);
-		} finally {
-			EditorTestHelper.closeAllEditors();
-		}
-	}
-	
-	 /**
-     * Tests the code completion for refids (Bug 65480)
-     */
-    public void testJavacReferencesProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("refid.xml"));
-
-		int lineNumber= 16;
-    	int columnNumber= 24;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	//for sure should have project.class.path and project.class.path2
-    	assertTrue(proposals.length >= 2);
-    	assertContains("project.class.path", proposals);
-    	assertContains("project.class.path2", proposals);
-    	
-    	lineNumber= 17;
-    	columnNumber= 25;
-    	lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	//for sure should have project.class.path and project.class.path2
-    	assertTrue(proposals.length >= 2);
-    	assertContains("project.class.path", proposals);
-    	assertContains("project.class.path2", proposals);
-    	
-    	lineNumber= 18;
-    	columnNumber= 26;
-    	lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	//for sure should have project.class.path and project.class.path2
-    	assertTrue(proposals.length >= 2);
-    	assertContains("project.class.path", proposals);
-    	assertContains("project.class.path2", proposals);
-    }
-    
-	 /**
-     * Tests the code completion for the default target of a project (Bug 78030)
-     */
-    public void testProjectDefaultProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-
-		int lineNumber= 1;
-    	int columnNumber= 49;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	//includes all the public targets
-    	assertTrue(proposals.length == 8);
-    	assertContains("main", proposals);
-    	assertContains("testUnless", proposals);
-    }
-    
-    /**
-     * Tests the code completion for project attributes (bug 82031)
-     */
-    public void testProjectAttributeProposals() throws BadLocationException {
-		TestTextCompletionProcessor processor = new TestTextCompletionProcessor(getAntModel("buildtest1.xml"));
-
-		int lineNumber= 1;
-    	int columnNumber= 9;
-    	int lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	ICompletionProposal[] proposals = processor.getProposalsFromDocument(getCurrentDocument(), "");
-    	//includes all the project attributes
-    	assertTrue(proposals.length == 3);
-    	assertContains("name", proposals);
-    	assertContains("default", proposals);
-    	assertContains("basedir", proposals);
-    	
-    	columnNumber= 10;
-    	lineOffset= getCurrentDocument().getLineOffset(lineNumber);
-    	processor.setLineNumber(lineNumber);
-    	processor.setColumnNumber(columnNumber);
-    	processor.setCursorPosition(lineOffset + columnNumber);
-    	proposals = processor.getProposalsFromDocument(getCurrentDocument(), "n");
-    	assertTrue(proposals.length == 1);
-    	assertContains("name", proposals);
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/TaskDescriptionProviderTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/TaskDescriptionProviderTest.java
deleted file mode 100644
index 521ecdd..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/TaskDescriptionProviderTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany).
- * 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial implementation
- *******************************************************************************/
-
-package org.eclipse.ant.tests.ui.editor;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-import org.eclipse.ant.internal.ui.editor.TaskDescriptionProvider;
-
-/**
- * Tests the tasks description provider.
- * 
- */
-public class TaskDescriptionProviderTest extends AbstractAntUITest {
-
-    public TaskDescriptionProviderTest(String name) {
-        super(name);
-    }
-
-    /** 
-     * Tests getting the description of a task.
-     */
-    public void testGettingTaskDescription() {
-        TaskDescriptionProvider provider = TaskDescriptionProvider.getDefault();
-        String description = provider.getDescriptionForTask("apply");
-        assertNotNull(description);
-        assertTrue(description.length() > 0);
-    }
-
-    /**
-     * Tests getting the description of an attribute.
-     */
-    public void testGettingAttribute() {
-        TaskDescriptionProvider provider = TaskDescriptionProvider.getDefault();
-        String description = provider.getDescriptionForTaskAttribute("apply", "executable");
-        assertNotNull(description);
-        assertTrue(description.length() > 0);
-    }
-    
-    /**
-     * Tests getting the required value of an attribute.
-     */
-    public void testGettingRequired() {
-        TaskDescriptionProvider provider = TaskDescriptionProvider.getDefault();
-        String required = provider.getRequiredAttributeForTaskAttribute("apply", "executable");
-        assertNotNull(required);
-        assertEquals("yes", required);
-    }
-
-    public static Test suite() {
-		return new TestSuite(TaskDescriptionProviderTest.class);
-    }
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/FormattingPreferencesTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/FormattingPreferencesTest.java
deleted file mode 100644
index 3c33fcc..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/FormattingPreferencesTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ant.tests.ui.editor.formatter;
-
-import org.eclipse.ant.internal.ui.editor.formatter.FormattingPreferences;
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-
-public class FormattingPreferencesTest extends AbstractAntUITest {
-
-    public FormattingPreferencesTest(String name) {
-        super(name);
-    }
-
-    public final void testGetCanonicalIndent() {
-     
-        FormattingPreferences prefs;
-        
-        // test spaces 
-        prefs = new FormattingPreferences(){
-            public int getTabWidth() {                
-                return 3;
-            }
-            public boolean useSpacesInsteadOfTabs() {
-                return true;
-            }
-        };        
-        assertEquals("   ",prefs.getCanonicalIndent());
-        
-        // ensure the value is not hard coded
-        prefs = new FormattingPreferences(){
-            public int getTabWidth() {                
-                return 7;
-            }
-            public boolean useSpacesInsteadOfTabs() {
-                return true;
-            }
-        };        
-        assertEquals("       ",prefs.getCanonicalIndent());
-        
-        // use tab character
-        prefs = new FormattingPreferences(){
-            public int getTabWidth() {                
-                return 7;
-            }
-            public boolean useSpacesInsteadOfTabs() {
-                return false;
-            }
-        };        
-        assertEquals("\t",prefs.getCanonicalIndent());
-    }
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlDocumentFormatterTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlDocumentFormatterTest.java
deleted file mode 100644
index bd0cb47..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlDocumentFormatterTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ant.tests.ui.editor.formatter;
-
-import org.eclipse.ant.internal.ui.editor.formatter.FormattingPreferences;
-import org.eclipse.ant.internal.ui.editor.formatter.XmlDocumentFormatter;
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-
-public class XmlDocumentFormatterTest extends AbstractAntUITest {
-
-    public XmlDocumentFormatterTest(String name) {
-        super(name);
-    }
-
-    /**
-     * General Test 
-     */
-    public final void testGeneralFormat() throws Exception {
-        FormattingPreferences prefs = new FormattingPreferences(){
-            public int getTabWidth() {                
-                return 3;
-            }
-            public boolean stripBlankLines() {
-                return false;
-            }
-            public boolean useSpacesInsteadOfTabs() {
-                return true;
-            }
-        };
-        simpleTest("formatTest_source01.xml","formatTest_target01.xml",prefs);        
-    }
-
-    /**
-     * Insure that tab width is not hard coded
-     */
-    public final void testTabWidth() throws Exception {
-        FormattingPreferences prefs = new FormattingPreferences(){
-            public int getTabWidth() {                
-                return 7;
-            }
-            public boolean stripBlankLines() {
-                return false;
-            }
-            public boolean useSpacesInsteadOfTabs() {
-                return true;
-            }
-        };
-        simpleTest("formatTest_source01.xml","formatTest_target02.xml",prefs);        
-    }
-
-    
-    /**
-     * Test with tab characters instead of spaces.
-     */
-    public final void testTabsInsteadOfSpaces() throws Exception {
-        FormattingPreferences prefs = new FormattingPreferences(){
-            public int getTabWidth() {                
-                return 3;
-            }
-            public boolean stripBlankLines() {
-                return false;
-            }
-            public boolean useSpacesInsteadOfTabs() {
-                return false;
-            }
-        };
-        simpleTest("formatTest_source01.xml","formatTest_target03.xml",prefs);        
-    }
-    
-    /**
-     * @param sourceFileName - file to format
-     * @param targetFileName - the source file after a properly executed format
-     * @param prefs - given the included preference instructions
-     * @throws Exception
-     */
-    private void simpleTest(String sourceFileName, String targetFileName, FormattingPreferences prefs) throws Exception {
-        
-        XmlDocumentFormatter xmlFormatter = new XmlDocumentFormatter();
-        String result = xmlFormatter.format(getFileContentAsString(getBuildFile(sourceFileName)),prefs);
-        String expectedResult = getFileContentAsString(getBuildFile(targetFileName));
-        
-        assertEquals(expectedResult, result);
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlFormatterTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlFormatterTest.java
deleted file mode 100644
index 5b48d11..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlFormatterTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- *     IBM Corporation - bug 84342
- *******************************************************************************/
-package org.eclipse.ant.tests.ui.editor.formatter;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.editor.formatter.FormattingPreferences;
-import org.eclipse.ant.internal.ui.editor.formatter.XmlFormatter;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.core.runtime.Preferences;
-
-public class XmlFormatterTest extends TestCase {
-
-    public final void testFormatUsingPreferenceStore() {
-        Preferences prefs = AntUIPlugin.getDefault().getPluginPreferences();
-        prefs.setValue(AntEditorPreferenceConstants.FORMATTER_WRAP_LONG, true);
-        prefs.setValue(AntEditorPreferenceConstants.FORMATTER_MAX_LINE_LENGTH, 40);
-        prefs.setValue(AntEditorPreferenceConstants.FORMATTER_ALIGN, false);
-        prefs.setValue(AntEditorPreferenceConstants.FORMATTER_TAB_CHAR, true);
-        prefs.setValue(AntEditorPreferenceConstants.FORMATTER_TAB_SIZE, 4);
-        String lineSep= System.getProperty("line.separator");
-        String xmlDoc = "<project default=\"go\"><target name=\"go\" description=\"Demonstrate the wrapping of long tags.\"><echo>hi</echo></target></project>";
-        String formattedDoc = XmlFormatter.format(xmlDoc);
-        String expected = "<project default=\"go\">" + lineSep + "\t<target name=\"go\"" + lineSep + "\t        description=\"Demonstrate the wrapping of long tags.\">" + lineSep + "\t\t<echo>hi</echo>" + lineSep + "\t</target>" + lineSep + "</project>";
-        assertEquals(expected, formattedDoc);
-    }
-
-    public final void testFormatWithPreferenceParameter() {
-        FormattingPreferences prefs = new FormattingPreferences() {
-            public boolean wrapLongTags() { return true;}
-            public int getMaximumLineWidth() { return 40;}
-            public boolean alignElementCloseChar() { return false;}
-            public boolean useSpacesInsteadOfTabs() { return true;}
-            public int getTabWidth() { return 6;}
-        };
-        String lineSep= System.getProperty("line.separator");
-        String xmlDoc = "<project default=\"go\"><target name=\"go\" description=\"Demonstrate the wrapping of long tags.\"><echo>hi</echo></target></project>";
-        String formattedDoc = XmlFormatter.format(xmlDoc, prefs);
-        String expected = "<project default=\"go\">" + lineSep + "      <target name=\"go\"" + lineSep + "              description=\"Demonstrate the wrapping of long tags.\">" + lineSep + "            <echo>hi</echo>" + lineSep + "      </target>" + lineSep + "</project>";
-        assertEquals(expected, formattedDoc);
-    }
-    
-    /**
-     * Bug 84342
-     */
-    public final void testFormatMaintainingLineSeparators() {
-        FormattingPreferences prefs = new FormattingPreferences() {
-            public boolean wrapLongTags() { return true;}
-            public int getMaximumLineWidth() { return 40;}
-            public boolean alignElementCloseChar() { return false;}
-            public boolean useSpacesInsteadOfTabs() { return true;}
-            public int getTabWidth() { return 6;}
-        };
-        String lineSep= System.getProperty("line.separator");
-        String xmlDoc = "<project default=\"go\"><target name=\"go\" description=\"Demonstrate the wrapping of long tags.\"><echo>hi</echo></target>" + lineSep + lineSep + "</project>";
-        String formattedDoc = XmlFormatter.format(xmlDoc, prefs);
-        String expected = "<project default=\"go\">" + lineSep + "      <target name=\"go\"" + lineSep + "              description=\"Demonstrate the wrapping of long tags.\">" + lineSep + "            <echo>hi</echo>" + lineSep + "      </target>" + lineSep + lineSep + "</project>";
-        assertEquals(expected, formattedDoc);
-    }
-
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlTagFormatterTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlTagFormatterTest.java
deleted file mode 100644
index bc36320..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/formatter/XmlTagFormatterTest.java
+++ /dev/null
@@ -1,378 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- *     IBM Corporation - Bug 84342
- *******************************************************************************/
-package org.eclipse.ant.tests.ui.editor.formatter;
-
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.editor.formatter.XmlTagFormatter;
-import org.eclipse.ant.internal.ui.editor.formatter.FormattingPreferences;
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-
-public class XmlTagFormatterTest extends AbstractAntUITest {
-
-    // TODO This test is too low level and too tightly coupled to internals.
-
-    /* ---------------- Test Fixture ---------------- */
-    // In case anyone wonders why many people recommend against testing
-    // privates, I produce this example...
-    private static class InnerClassFactory extends XmlTagFormatter {
-
-        public static class ParseException extends XmlTagFormatter.ParseException {
-
-			private static final long serialVersionUID = 1L;
-
-			public ParseException(String message) {
-                super(message);
-            }
-        }
-
-        public static class Tag extends XmlTagFormatter.Tag {
-        }
-
-        public static class TagFormatter extends XmlTagFormatter.TagFormatter {
-
-            public boolean lineRequiresWrap(String line, int lineWidth,
-                    int tabWidth) {
-                return super.lineRequiresWrap(line, lineWidth, tabWidth);
-            }
-
-            public int tabExpandedLineWidth(String line, int tabWidth) {
-                return super.tabExpandedLineWidth(line, tabWidth);
-            }
-
-            public String wrapTag(Tag tag, FormattingPreferences prefs,
-                    String indent, String lineDelimiter) {
-                return super.wrapTag(tag, prefs, indent, lineDelimiter);
-            }
-        }
-
-        public static class TagParser extends XmlTagFormatter.TagParser {
-
-            public String getElementName(String tagText)
-                    throws XmlTagFormatter.ParseException {
-                return super.getElementName(tagText);
-            }
-
-            public List getAttibutes(String elementText)
-                    throws XmlTagFormatter.ParseException {
-                return super.getAttibutes(elementText);
-            }
-        }
-
-        public static Tag createTag() {
-            return new Tag();
-        }
-
-        public static TagFormatter createTagFormatter() {
-            return new TagFormatter();
-        }
-
-        public static TagParser createTagParser() {
-            return new TagParser();
-        }
-
-        public static void validateAttributePair(Object attributePair, String attribute, String value) {
-            XmlTagFormatter.AttributePair pair = (XmlTagFormatter.AttributePair) attributePair;
-            assertEquals(attribute, pair.getAttribute());
-            assertEquals(value, pair.getValue());
-        }
-    }
-
-    public XmlTagFormatterTest(String name) {
-        super(name);
-    }
-
-    private FormattingPreferences getPreferences(final boolean wrapLongTags,
-            final boolean alignCloseChar, final int maxLineWidth) {
-
-        return new FormattingPreferences() {
-
-            public boolean alignElementCloseChar() {
-                return alignCloseChar;
-            }
-
-            public boolean wrapLongTags() {
-                return wrapLongTags;
-            }
-
-            public int getMaximumLineWidth() {
-                return maxLineWidth;
-            }
-        };
-    }
-
-    private void simpleTest(String source, String target,
-            FormattingPreferences prefs, String indent, String lineDelimiter) throws Exception {
-    	
-        String result = XmlTagFormatter.format(source, prefs, indent, lineDelimiter);
-        assertEquals(target, result);
-    }
-
-    /* ---------------- Test Methods ---------------- */
-
-    public void testParserGetElementName() throws Exception {
-
-        InnerClassFactory.TagParser tagParser = InnerClassFactory
-                .createTagParser();
-
-        String elementFixture1 = "<myElement attribute1=\"value1\" attribute2=\"value2\" />"; //$NON-NLS-1$
-        assertEquals("myElement", tagParser.getElementName(elementFixture1)); //$NON-NLS-1$
-
-        String elementFixture2 = "<myElement\t\nattribute1=\"value1\" attribute2=\"value2\" />"; //$NON-NLS-1$
-        assertEquals("myElement", tagParser.getElementName(elementFixture2)); //$NON-NLS-1$
-
-        assertEquals("x", tagParser.getElementName("<x/>")); //$NON-NLS-1$ //$NON-NLS-2$
-        assertEquals("x", tagParser.getElementName("<x>")); //$NON-NLS-1$ //$NON-NLS-2$
-        assertEquals("x:y", tagParser.getElementName("<x:y/>")); //$NON-NLS-1$ //$NON-NLS-2$
-        assertEquals("x:y", tagParser.getElementName("<x:y abc/>")); //$NON-NLS-1$ //$NON-NLS-2$
-
-        Exception e1 = null;
-        try {
-            tagParser.getElementName("<>"); //$NON-NLS-1$
-        } catch (Exception e) {
-            e1 = e;
-        }
-        assertNotNull(e1);
-        assertTrue(e1.getClass().isAssignableFrom(
-                InnerClassFactory.ParseException.class));
-
-        Exception e2 = null;
-        try {
-            tagParser.getElementName("<>"); //$NON-NLS-1$
-        } catch (Exception e) {
-            e2 = e;
-        }
-        assertNotNull(e2);
-        assertTrue(e2.getClass().isAssignableFrom(
-                InnerClassFactory.ParseException.class));
-
-    }
-
-    public void testParserGetAttributes() throws Exception {
-        InnerClassFactory.TagParser tagParser = InnerClassFactory
-                .createTagParser();
-
-        List attributePairs;
-
-        // test normal situation
-        attributePairs = tagParser
-                .getAttibutes("<myElement attribute1=\"value1\" attribute2=\"value2\" />"); //$NON-NLS-1$
-
-        assertEquals(2, attributePairs.size());
-        InnerClassFactory.validateAttributePair(attributePairs.get(0),
-                "attribute1", "value1"); //$NON-NLS-1$ //$NON-NLS-2$
-        InnerClassFactory.validateAttributePair(attributePairs.get(1),
-                "attribute2", "value2"); //$NON-NLS-1$ //$NON-NLS-2$
-
-        
-        // test with extra whitespace and funny quotes
-        attributePairs = tagParser
-                .getAttibutes("<myElement \nattribute1 =  'value1\"'\nattribute2\t=\"value2'\" />"); //$NON-NLS-1$
-
-        assertEquals(2, attributePairs.size());
-        InnerClassFactory.validateAttributePair(attributePairs.get(0),
-                "attribute1", "value1\""); //$NON-NLS-1$ //$NON-NLS-2$
-        InnerClassFactory.validateAttributePair(attributePairs.get(1),
-                "attribute2", "value2'"); //$NON-NLS-1$ //$NON-NLS-2$
-
-// TODO attributes which contain whitespace should throw a parse error
-//       
-//        // test parse errors - whitespace in attribute name
-//        Exception e1 = null;
-//        try {
-//            attributePairs = tagParser
-//                    .getAttibutes("<myElement at tribute1 = \"value1\" attribute2=\"value2\" />");
-//        } catch (Exception e) {
-//            e1 = e;
-//        }
-//        assertNotNull(e1);
-//        assertTrue(e1.getClass().isAssignableFrom(
-//                InnerClassFactory.ParseException.class));
-        
-        
-        // test parse errors - equals in the wrong place
-        Exception e2 = null;
-        try {
-            attributePairs = tagParser
-                    .getAttibutes("<myElement attribute1=\"value1\" = attribute2=\"value2\" />"); //$NON-NLS-1$
-        } catch (Exception e) {
-            e2 = e;
-        }
-        assertNotNull(e2);
-        assertTrue(e2.getClass().isAssignableFrom(
-                InnerClassFactory.ParseException.class));
-        
-        
-        // test parse errors - quotes in the wrong place
-        Exception e3 = null;
-        try {
-            attributePairs = tagParser
-                    .getAttibutes("<myElement attribute1=\"\"value1\"  attribute2=\"value2\" />"); //$NON-NLS-1$
-        } catch (Exception e) {
-            e3 = e;
-        }
-        assertNotNull(e3);
-        assertTrue(e3.getClass().isAssignableFrom(InnerClassFactory.ParseException.class));
-    }
-
-    public void testFormat01() throws Exception {
-    	String lineSep= System.getProperty("line.separator");
-        String indent = "\t"; //$NON-NLS-1$
-        String source = "<target name=\"myTargetName\" depends=\"a,b,c,d,e,f,g\" description=\"This is a very long element which ought to be wrapped.\">"; //$NON-NLS-1$
-        String target = "<target name=\"myTargetName\"" + lineSep //$NON-NLS-1$
-                + indent
-                + "        depends=\"a,b,c,d,e,f,g\"" + lineSep //$NON-NLS-1$
-                + indent
-                + "        description=\"This is a very long element which ought to be wrapped.\">"; //$NON-NLS-1$
-
-        simpleTest(source, target, getPreferences(true, false, 60), indent, lineSep);
-    }
-
-    public void testFormat02() throws Exception {
-    	String lineSep= System.getProperty("line.separator");
-        String indent = "\t"; //$NON-NLS-1$
-        String source = "<target name=\"myTargetName\" depends=\"a,b,c,d,e,f,g\" description=\"This is a very long element which ought to be wrapped.\">"; //$NON-NLS-1$
-        String target = "<target name=\"myTargetName\"" + lineSep //$NON-NLS-1$
-                + indent
-                + "        depends=\"a,b,c,d,e,f,g\"" + lineSep //$NON-NLS-1$
-                + indent
-                + "        description=\"This is a very long element which ought to be wrapped.\"" + lineSep //$NON-NLS-1$
-                + indent + ">"; //$NON-NLS-1$
-
-        simpleTest(source, target, getPreferences(true, true, 60), indent, lineSep);
-    }
-    
-    public void testBug73411() throws Exception {
-    	String lineSep= System.getProperty("line.separator");
-        String indent = "\t"; //$NON-NLS-1$
-        String source = "<target name='myTargetName' depends=\"a,b,c,d,e,f,g\" description=\'This is a very long element which ought to be \"wrapped\".'>"; //$NON-NLS-1$
-        String target = "<target name='myTargetName'" + lineSep //$NON-NLS-1$
-                + indent
-                + "        depends=\"a,b,c,d,e,f,g\"" + lineSep //$NON-NLS-1$
-                + indent
-                + "        description='This is a very long element which ought to be \"wrapped\".'" + lineSep //$NON-NLS-1$
-                + indent + ">"; //$NON-NLS-1$
-
-        simpleTest(source, target, getPreferences(true, true, 60), indent, lineSep);
-    }
-
-    public void testLineRequiresWrap() throws Exception {
-
-        InnerClassFactory.TagFormatter tagFormatter = InnerClassFactory.createTagFormatter();
-
-        boolean shouldWrap = tagFormatter.lineRequiresWrap(
-                        "\t\t  <myElement attribute1=\"value1\" attribute2=\"value2\" />", //$NON-NLS-1$
-                        70, 8);
-        boolean shouldNotWrap = tagFormatter.lineRequiresWrap(
-                        "\t\t <myElement attribute1=\"value1\" attribute2=\"value2\" />", //$NON-NLS-1$
-                        70, 8);
-        assertTrue(shouldWrap);
-        assertTrue(!shouldNotWrap);
-
-    }
-
-    public void testTabExpandedLineWidth() throws Exception {
-
-        InnerClassFactory.TagFormatter tagFormatter = InnerClassFactory.createTagFormatter();
-
-        assertEquals(20, tagFormatter.tabExpandedLineWidth("\t  1234567890", 8)); //$NON-NLS-1$
-        assertEquals(10, tagFormatter.tabExpandedLineWidth("1234567890", 8)); //$NON-NLS-1$
-        assertEquals(19, tagFormatter.tabExpandedLineWidth("\t1\t2	34567890", 3)); //$NON-NLS-1$
-    }
-
-    public void testTabToStringAndMinimumLength() throws Exception {
-        InnerClassFactory.Tag tag = InnerClassFactory.createTag();
-
-        tag.setElementName("myElement"); //$NON-NLS-1$
-        tag.setClosed(false);
-        assertEquals("<myElement>", tag.toString()); //$NON-NLS-1$
-        assertEquals(tag.toString().length(), tag.minimumLength());
-
-        tag.setClosed(true);
-        assertEquals("<myElement />", tag.toString()); //$NON-NLS-1$
-        assertEquals(tag.toString().length(), tag.minimumLength());
-
-        tag.addAttribute("attribute1", "value1", '"'); //$NON-NLS-1$ //$NON-NLS-2$
-        tag.addAttribute("attribute2", "value2", '"'); //$NON-NLS-1$ //$NON-NLS-2$
-        assertEquals(
-                "<myElement attribute1=\"value1\" attribute2=\"value2\" />", //$NON-NLS-1$
-                tag.toString());
-        assertEquals(tag.toString().length(), tag.minimumLength());
-
-        tag.setClosed(false);
-        assertEquals("<myElement attribute1=\"value1\" attribute2=\"value2\">", //$NON-NLS-1$
-                tag.toString());
-        assertEquals(tag.toString().length(), tag.minimumLength());
-    }
-
-    public void testWrapTag() throws Exception {
-
-        InnerClassFactory.Tag tag = InnerClassFactory.createTag();
-
-        InnerClassFactory.TagFormatter tagFormatter = InnerClassFactory
-                .createTagFormatter();
-
-        FormattingPreferences dontAlignCloseChar = new FormattingPreferences() {
-
-            public boolean alignElementCloseChar() {
-                return false;
-            }
-        };
-        FormattingPreferences doAlignCloseChar = new FormattingPreferences() {
-
-            public boolean alignElementCloseChar() {
-                return true;
-            }
-        };
-
-        tag.setElementName("myElement"); //$NON-NLS-1$
-        tag.addAttribute("attribute1", "value1", '"'); //$NON-NLS-1$ //$NON-NLS-2$
-        tag.addAttribute("attribute2", "value2", '"'); //$NON-NLS-1$ //$NON-NLS-2$
-
-        tag.setClosed(true);
-
-        String lineSep= System.getProperty("line.separator");
-        assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
-                + "\t\t             attribute2=\"value2\" />", tagFormatter //$NON-NLS-1$
-                .wrapTag(tag, dontAlignCloseChar, "\t\t  ", lineSep)); //$NON-NLS-1$
-
-        assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
-                + "\t\t             attribute2=\"value2\"" + lineSep + "\t\t  />", //$NON-NLS-1$
-                tagFormatter.wrapTag(tag, doAlignCloseChar, "\t\t  ", lineSep)); //$NON-NLS-1$
-
-        tag.setClosed(false);
-
-        assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
-                + "\t\t             attribute2=\"value2\">", tagFormatter //$NON-NLS-1$
-                .wrapTag(tag, dontAlignCloseChar, "\t\t  ", lineSep)); //$NON-NLS-1$
-
-        assertEquals("<myElement attribute1=\"value1\"" + lineSep //$NON-NLS-1$
-                + "\t\t             attribute2=\"value2\"" + lineSep + "\t\t  >", //$NON-NLS-1$
-                tagFormatter.wrapTag(tag, doAlignCloseChar, "\t\t  ", lineSep)); //$NON-NLS-1$
-
-    }
-
-    public void testBug63558() throws Exception {
-		
-		// Ordinarily the double space after the element name would be repaired
-		// but if the formatter is working correctly these examples will be
-		// considered malformed and will be passed through untouched.
-    	 String lineSep= System.getProperty("line.separator");
-		String source1 = "<echo  file=\"foo\">" + lineSep + "&lt;html>&lt;body>&lt;pre>" //$NON-NLS-1$
-				+ "${compilelog}&lt;/pre>&lt;/body>&lt;/html>"; //$NON-NLS-1$
-		FormattingPreferences prefs = getPreferences(true, false, 60); //$NON-NLS-1$
-		simpleTest(source1, source1, prefs, "\t", lineSep);
-	
-		String source2 = "<echo  file=\"foo\"/bar/baz></echo>"; //$NON-NLS-1$		
-		simpleTest(source2, source2, prefs, "\t", lineSep);
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/EditorTestHelper.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/EditorTestHelper.java
deleted file mode 100644
index 690d62b..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/EditorTestHelper.java
+++ /dev/null
@@ -1,149 +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.ant.tests.ui.editor.performance;
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-
-/**
- * @since 3.1
- */
-public class EditorTestHelper {
-
-	public static IEditorPart openInEditor(IFile file, boolean runEventLoop) throws PartInitException {
-		IEditorPart part= IDE.openEditor(getActivePage(), file);
-		if (runEventLoop)
-			runEventQueue(part);
-		return part;
-	}
-
-	public static IEditorPart openInEditor(IFile file, String editorId, boolean runEventLoop) throws PartInitException {
-		IEditorPart part= IDE.openEditor(getActivePage(), file, editorId);
-		if (runEventLoop)
-			runEventQueue(part);
-		return part;
-	}
-
-	public static IDocument getDocument(ITextEditor editor) {
-		IDocumentProvider provider= editor.getDocumentProvider();
-		IEditorInput input= editor.getEditorInput();
-		return provider.getDocument(input);
-	}
-
-	public static void revertEditor(ITextEditor editor, boolean runEventQueue) {
-		editor.doRevertToSaved();
-		if (runEventQueue)
-			runEventQueue(editor);
-	}
-	
-	public static void closeAllEditors() {
-		IWorkbenchPage page= getActivePage();
-		if (page != null)
-			page.closeAllEditors(false);
-	}
-	
-	public static void runEventQueue() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		if (window != null)
-			runEventQueue(window.getShell());
-	}
-	
-	public static void runEventQueue(IWorkbenchPart part) {
-		runEventQueue(part.getSite().getShell());
-	}
-	
-	public static void runEventQueue(Shell shell) {
-		while (shell.getDisplay().readAndDispatch());
-	}
-	
-	public static void runEventQueue(long minTime) {
-		long nextCheck= System.currentTimeMillis() + minTime;
-		while (System.currentTimeMillis() < nextCheck) {
-			runEventQueue();
-			sleep(1);
-		}
-	}
-	
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		return window != null ? window.getActivePage() : null;
-	}
-
-	public static Display getActiveDisplay() {
-		IWorkbenchWindow window= getActiveWorkbenchWindow();
-		return window != null ? window.getShell().getDisplay() : null;
-	}
-
-	public static boolean calmDown(long minTime, long maxTime, long intervalTime) {
-		long startTime= System.currentTimeMillis() + minTime;
-		runEventQueue();
-		while (System.currentTimeMillis() < startTime)
-			runEventQueue(intervalTime);
-		
-		long endTime= maxTime > 0 ? System.currentTimeMillis() + maxTime : Long.MAX_VALUE;
-		boolean calm= isCalm();
-		while (!calm && System.currentTimeMillis() < endTime) {
-			runEventQueue(intervalTime);
-			calm= isCalm();
-		}
-//		System.out.println("--------------------------------------------------");
-		return calm;
-	}
-
-	public static void sleep(int intervalTime) {
-		try {
-			Thread.sleep(intervalTime);
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-
-	public static boolean isCalm() {
-		IJobManager jobManager= Platform.getJobManager();
-		Job[] jobs= jobManager.find(null);
-		for (int i= 0; i < jobs.length; i++) {
-			Job job= jobs[i];
-			int state= job.getState();
-//			System.out.println(job.getName() + ": " + getStateName(state));
-			if (state == Job.RUNNING || state == Job.WAITING) {
-//				System.out.println();
-				return false;
-			}
-		}
-//		System.out.println();
-		return true;
-	}
-
-	public static void bringToTop() {
-		getActiveWorkbenchWindow().getShell().forceActive();
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/NonInitialTypingTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/NonInitialTypingTest.java
deleted file mode 100644
index 762e3f9..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/NonInitialTypingTest.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.ant.tests.ui.editor.performance;
-
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-
-/**
- * Measures the time to type in one single target into a large buildfile
- * @since 3.1
- */
-public class NonInitialTypingTest extends AbstractAntUITest {
-	
-	public NonInitialTypingTest(String name) {
-		super(name);
-	}
-
-//	private ITextEditor fEditor;
-//	
-//	private static final char[] TARGET= ("<target name=\"newTarget\" >\r" +
-//			"<echo>\"New Target\"</echo>\r" +
-//			"</target>\r").toCharArray();
-//
-//	private PerformanceMeter fMeter;
-//
-//	private KeyboardProbe fKeyboardProbe;
-//
-//	protected void setUp() throws PartInitException, BadLocationException {
-//		EditorTestHelper.runEventQueue();
-//		IFile file= getProject().getFolder("buildfiles").getFolder("performance").getFile("build.xml");	
-//		fEditor= (ITextEditor) EditorTestHelper.openInEditor(file, true);
-//		// dirty editor to avoid initial dirtying / validate edit costs
-//		dirtyEditor();
-//		Performance performance= Performance.getDefault();
-//		fMeter= performance.createPerformanceMeter(performance.getDefaultScenarioId(this));
-//		fKeyboardProbe= new KeyboardProbe();
-//
-//		int offset= getInsertPosition();
-//		fEditor.getSelectionProvider().setSelection(new TextSelection(offset, 0));
-//		EditorTestHelper.runEventQueue();
-//		sleep(1000);
-//	}
-//	
-//	private void dirtyEditor() {
-//		fEditor.getSelectionProvider().setSelection(new TextSelection(0, 0));
-//		EditorTestHelper.runEventQueue();
-//		sleep(1000);
-//		
-//		Display display= EditorTestHelper.getActiveDisplay();
-//		fKeyboardProbe.pressChar('{', display);
-//		SWTEventHelper.pressKeyCode(display, SWT.BS);
-//		sleep(1000);
-//	}
-//
-//	protected void tearDown() throws Exception {
-//		sleep(1000);
-//		EditorTestHelper.revertEditor(fEditor, true);
-//		EditorTestHelper.closeAllEditors();
-//		
-//		fMeter.commit();
-//	}
-//
-//	public void testTypeAMethod() {
-//		Display display= EditorTestHelper.getActiveDisplay();
-//		
-//		fMeter.start();
-//		for (int i= 0; i < TARGET.length; i++) {
-//			fKeyboardProbe.pressChar(TARGET[i], display);
-//		}
-//		fMeter.stop();
-//	}
-//
-//	private synchronized void sleep(int time) {
-//		try {
-//			wait(time);
-//		} catch (InterruptedException e) {
-//		}
-//	}
-//	
-//	private int getInsertPosition() throws BadLocationException {
-//		IDocument document= EditorTestHelper.getDocument(fEditor);
-//		int lines= document.getNumberOfLines();
-//		int offset= document.getLineOffset(lines - 2);
-//		return offset;
-//	}
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/OpenAntEditorTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/OpenAntEditorTest.java
deleted file mode 100644
index b270c98..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/OpenAntEditorTest.java
+++ /dev/null
@@ -1,100 +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.ant.tests.ui.editor.performance;
-
-import java.io.File;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.ant.tests.ui.testplugin.ProjectHelper;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.PerformanceTestCase;
-import org.eclipse.ui.PartInitException;
-
-public class OpenAntEditorTest extends PerformanceTestCase {
-	
-	protected void setUp() throws Exception {
-		super.setUp();
-		EditorTestHelper.runEventQueue();
-	}
-
-	public void testOpenAntEditor1() throws PartInitException {
-		// cold run
-		IFile file= getIFile("build.xml");
-		measureOpenInEditor(file);
-	}
-	
-	public void testOpenAntEditor2() throws PartInitException {
-		// warm run
-		IFile file= getIFile("build.xml");
-		tagAsGlobalSummary("Open Ant Editor", Dimension.CPU_TIME);
-		measureOpenInEditor(file);
-	}
-	
-	public void testOpenAntEditorNoFolding() throws PartInitException {
-	    IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();
-	    try {
-		IFile file= getIFile("build.xml");
-		store.setValue(AntEditorPreferenceConstants.EDITOR_FOLDING_ENABLED, false);
-		tagAsSummary("Open Ant Editor; No folding", Dimension.CPU_TIME);
-		measureOpenInEditor(file);
-	    } finally {
-	        store.setToDefault(AntEditorPreferenceConstants.EDITOR_FOLDING_ENABLED);
-	    }
-	}
-	
-	protected IFile getIFile(String buildFileName) {
-		return getProject().getFolder("buildfiles").getFolder("performance").getFile(buildFileName);	
-	}
-	
-	protected File getBuildFile(String buildFileName) {
-		IFile file = getIFile(buildFileName);
-		assertTrue("Could not find build file named: " + buildFileName, file.exists());
-		return file.getLocation().toFile();
-	}
-	
-	/**
-	 * Returns the 'AntUITests' project.
-	 * 
-	 * @return the test project
-	 */
-	protected IProject getProject() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(ProjectHelper.PROJECT_NAME);
-	}
-	
-	protected void measureOpenInEditor(IFile file) throws PartInitException {
-		try {
-			for (int i= 0; i < 15; i++) {
-				startMeasuring();
-				EditorTestHelper.openInEditor(file, true);
-				stopMeasuring();
-				EditorTestHelper.closeAllEditors();
-				sleep(2000); // NOTE: runnables posted from other threads, while the main thread waits here, are executed and measured only in the next iteration
-			}
-			 commitMeasurements();
-	 		 assertPerformance();
-		} finally {
-			EditorTestHelper.closeAllEditors();
-		}
-	}
-	
-	private synchronized void sleep(int time) {
-		try {
-			wait(time);
-		} catch (InterruptedException e) {
-		}
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestLocationProvider.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestLocationProvider.java
deleted file mode 100644
index 75bde52..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestLocationProvider.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.tests.ui.editor.support;
-
-import java.io.File;
-
-import org.eclipse.ant.internal.ui.model.LocationProvider;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-
-
-public class TestLocationProvider extends LocationProvider {
-
-	private File buildFile;
-	
-	public TestLocationProvider(File buildFile) {
-		super(null);
-		this.buildFile= buildFile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.ILocationProvider#getLocation()
-	 */
-	public IPath getLocation() {
-		return new Path(buildFile.getAbsolutePath());
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestProblemRequestor.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestProblemRequestor.java
deleted file mode 100644
index 4208ac6..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestProblemRequestor.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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.ant.tests.ui.editor.support;
-
-import org.eclipse.ant.internal.ui.model.IProblem;
-import org.eclipse.ant.internal.ui.model.IProblemRequestor;
-
-public class TestProblemRequestor implements IProblemRequestor {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblemRequestor#acceptProblem(org.eclipse.ant.internal.ui.editor.outline.IProblem)
-	 */
-	public void acceptProblem(IProblem problem) {
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblemRequestor#beginReporting()
-	 */
-	public void beginReporting() {
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblemRequestor#endReporting()
-	 */
-	public void endReporting() {
-
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestTextCompletionProcessor.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestTextCompletionProcessor.java
deleted file mode 100644
index 5834508..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/support/TestTextCompletionProcessor.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.tests.ui.editor.support;
-
-import java.io.File;
-import java.io.IOException;
-
-import junit.framework.Assert;
-
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.ant.internal.ui.editor.AntEditorCompletionProcessor;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.w3c.dom.Element;
-
-public class TestTextCompletionProcessor extends AntEditorCompletionProcessor {
-
-	public final static int TEST_PROPOSAL_MODE_NONE = AntEditorCompletionProcessor.PROPOSAL_MODE_NONE;
-	public final static int TEST_PROPOSAL_MODE_BUILDFILE = AntEditorCompletionProcessor.PROPOSAL_MODE_BUILDFILE;
-	public final static int TEST_PROPOSAL_MODE_TASK_PROPOSAL = AntEditorCompletionProcessor.PROPOSAL_MODE_TASK_PROPOSAL;
-	public final static int TEST_PROPOSAL_MODE_PROPERTY_PROPOSAL = AntEditorCompletionProcessor.PROPOSAL_MODE_PROPERTY_PROPOSAL;
-	public final static int TEST_PROPOSAL_MODE_ATTRIBUTE_PROPOSAL = AntEditorCompletionProcessor.PROPOSAL_MODE_ATTRIBUTE_PROPOSAL;
-	public final static int TEST_PROPOSAL_MODE_TASK_PROPOSAL_CLOSING = AntEditorCompletionProcessor.PROPOSAL_MODE_TASK_PROPOSAL_CLOSING;
-	public final static int TEST_PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL = AntEditorCompletionProcessor.PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL;
-	
-	private File fEditedFile;
-	private ISourceViewer fViewer;
-
-	public TestTextCompletionProcessor(AntModel model) {
-		super(model);
-	}
-	
-	public TestTextCompletionProcessor(AntEditor editor) {
-		super(editor.getAntModel());
-		fViewer= editor.getViewer();
-	}
-	
-	public TestTextCompletionProcessor() {
-		super(null);
-	}
-	
-    public ICompletionProposal[] getAttributeProposals(String taskName, String prefix) {
-    	if (cursorPosition == -1) {
-    		cursorPosition= taskName.length();
-    	}
-        return super.getAttributeProposals(taskName, prefix);
-    }
-
-    public Element findChildElementNamedOf(Element anElement, String childElementName) {
-        return super.findChildElementNamedOf(anElement, childElementName);
-    }
-
-    public ICompletionProposal[] getTaskProposals(String text, String parentName, String prefix) {
-    	cursorPosition= Math.max(0, text.length() - 1);
-        return super.getTaskProposals(new Document(text), parentName, prefix);
-    }
-    
-    public ICompletionProposal[] getTaskProposals(IDocument document, String parentName, String aPrefix) {
-    	cursorPosition= Math.max(0, document.getLength() - 1);
-    	return super.getTaskProposals(document, parentName, aPrefix);
-    }
-
-    public int determineProposalMode(String text, int theCursorPosition, String prefix) {
-        return super.determineProposalMode(new Document(text), theCursorPosition, prefix);
-    }
-
-    public String getParentName(String text, int aLineNumber, int aColumnNumber) {
-        return super.getParentName(new Document(text), aLineNumber, aColumnNumber);
-    }
-    
-    public String getParentName(IDocument doc, int aLineNumber, int aColumnNumber) {
-    	return super.getParentName(doc, aLineNumber, aColumnNumber);
-    }
-
-    public String getPrefixFromDocument(String aDocumentText, int anOffset) {
-        String prefix= super.getPrefixFromDocument(aDocumentText, anOffset);
-        currentPrefix= null;
-        return prefix;
-    }
-
-    public ICompletionProposal[] getPropertyProposals(IDocument document, String prefix, int cursorPos) {
-        return super.getPropertyProposals(document, prefix, cursorPos);
-    }
-
-    /**
-     * Returns the edited File that org.eclipse.ant.internal.ui.editor.AntEditorCompletionProcessor sets or a temporary 
-     * file, which only serves as a dummy.
-     * @see org.eclipse.ant.internal.ui.editor.AntEditorCompletionProcessor#getEditedFile()
-     */
-	public File getEditedFile() {
-		if (fEditedFile != null){
-			return fEditedFile;
-		}
-		File tempFile = null;
-        try {
-            tempFile = File.createTempFile("test", null);
-        } catch (IOException e) {
-            Assert.fail(e.getMessage());
-        }
-        tempFile.deleteOnExit();
-        return tempFile;
-    }
-
-	public void setLineNumber(int aLineNumber) {
-    	lineNumber = aLineNumber;
-    }
-
-	public void setColumnNumber(int aColumnNumber) {
-    	columnNumber = aColumnNumber;
-    }
-	
-	public void setCursorPosition(int cursorPosition) {
-		this.cursorPosition = cursorPosition;
-	}
-    
-	public void setEditedFile(File aFile) {
-		fEditedFile= aFile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.AntEditorCompletionProcessor#getTargetAttributeValueProposals(org.eclipse.jface.text.IDocument, java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public ICompletionProposal[] getTargetAttributeValueProposals(IDocument document, String textToSearch, String prefix, String attributeName) {
-		return super.getTargetAttributeValueProposals(document, textToSearch, prefix, attributeName);
-	}
-	/**
-	 * Since the testing occurs without necessarily having an associated viewer, return
-	 * a dummy value.
-	 */
-	protected char getPreviousChar() {
-		return '?';
-	}
-	
-	 /**
-     * Returns whether the specified task name is known.
-     */
-    protected boolean isKnownElement(String elementName) {
-    	if (antModel != null) {
-    		return super.isKnownElement(elementName);
-    	} 
-    	return getDtd().getElement(elementName) != null ;
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.AntEditorCompletionProcessor#getProposalsFromDocument(org.eclipse.jface.text.IDocument, java.lang.String)
-	 */
-	public ICompletionProposal[] getProposalsFromDocument(IDocument document, String prefix) {
-		return super.getProposalsFromDocument(document, prefix);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.AntEditorCompletionProcessor#getBuildFileProposals(org.eclipse.jface.text.IDocument, java.lang.String)
-	 */
-	public ICompletionProposal[] getBuildFileProposals(String text, String prefix) {
-		return super.getBuildFileProposals(new Document(text), prefix);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.AntEditorCompletionProcessor#determineTemplateProposals(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public ICompletionProposal[] determineTemplateProposals() {
-		return super.determineTemplateProposals(fViewer, cursorPosition);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeCompletionProposals(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(int documentOffset) {
-		return super.computeCompletionProposals(fViewer, documentOffset);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AbstractAntUIBuildPerformanceTest.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AbstractAntUIBuildPerformanceTest.java
deleted file mode 100644
index f7f4503..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AbstractAntUIBuildPerformanceTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.tests.ui;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-
-public class AbstractAntUIBuildPerformanceTest extends AbstractAntUIBuildTest {
-
-	protected PerformanceMeter fPerformanceMeter;
-
-	/**
-	 * Constructs a performance test case with the given name.
-	 * @param name the name of the performance test case
-	 */
-	public AbstractAntUIBuildPerformanceTest(String name) {
-		super(name);
-	}
-	
-	/**
-	 * Overridden to create a default performance meter for this test case.
-	 * @throws Exception
-	 */
-	protected void setUp() throws Exception {
-		Performance performance= Performance.getDefault();
-		fPerformanceMeter= performance.createPerformanceMeter(performance.getDefaultScenarioId(this));
-	}
-
-	/**
-	 * Overridden to dispose of the performance meter.
-	 * @throws Exception
-	 */
-	protected void tearDown() throws Exception {
-		fPerformanceMeter.dispose();
-	}
-
-	/**
-	 * Mark the scenario of this test case
-	 * to be included into the global performance summary. The summary shows
-	 * the given dimension of the scenario and labels the scenario with the short name.
-	 * 
-	 * @param shortName a short (shorter than 40 characters) descritive name of the scenario
-	 * @param dimension the dimension to show in the summary
-	 */
-	public void tagAsGlobalSummary(String shortName, Dimension dimension) {
-		Performance performance= Performance.getDefault();
-		performance.tagAsGlobalSummary(fPerformanceMeter, shortName, new Dimension[] { dimension } );
-	}
-	
-	/**
-	 * Mark the scenario of this test case
-	 * to be included into the performance summary. The summary shows
-	 * the given dimension of the scenario and labels the scenario with the short name.
-	 * 
-	 * @param shortName a short (shorter than 40 characters) descritive name of the scenario
-	 * @param dimension the dimension to show in the summary
-	 */
-	public void tagAsSummary(String shortName, Dimension dimension) {
-		Performance performance= Performance.getDefault();
-		performance.tagAsSummary(fPerformanceMeter, shortName, new Dimension[] { dimension } );
-	}
-
-	/**
-	 * Mark the scenario represented by the given PerformanceMeter
-	 * to be included into the global performance summary. The summary shows
-	 * the given dimensions of the scenario and labels the scenario with the short name.
-	 * 
-	 * @param shortName a short (shorter than 40 characters) descritive name of the scenario
-	 * @param dimensions an array of dimensions to show in the summary
-	 */
-	public void tagAsGlobalSummary(String shortName, Dimension[] dimensions) {
-		Performance performance= Performance.getDefault();
-		performance.tagAsGlobalSummary(fPerformanceMeter, shortName, dimensions );
-	}
-	
-	/**
-	 * Called from within a test case immediately before the code to measure is run.
-	 * It starts capturing of performance data.
-	 * Must be followed by a call to {@link PerformanceTestCase#stopMeasuring()} before subsequent calls
-	 * to this method or {@link PerformanceTestCase#commitMeasurements()}.
-	 */
-	protected void startMeasuring() {
-		fPerformanceMeter.start();
-	}
-	
-	protected void stopMeasuring() {
-		fPerformanceMeter.stop();
-	}
-	
-	protected void commitMeasurements() {
-		fPerformanceMeter.commit(); 
-	}
-
-	/**
-	 * Asserts default properties of the measurements captured for this test case.
-	 * 
-	 * @throws RuntimeException if the properties do not hold
-	 */
-	protected void assertPerformance() {
-		Performance.getDefault().assertPerformance(fPerformanceMeter);
-	}
-
-	/**
-	 * Asserts that the measurement specified by the given dimension
-	 * is within a certain range with respect to some reference value.
-	 * If the specified dimension isn't available, the call has no effect.
-	 * 
-	 * @param dim the Dimension to check
-	 * @param lowerPercentage a negative number indicating the percentage the measured value is allowed to be smaller than some reference value
-	 * @param upperPercentage a positive number indicating the percentage the measured value is allowed to be greater than some reference value
-	 * @throws RuntimeException if the properties do not hold
-	 */
-	protected void assertPerformanceInRelativeBand(Dimension dim, int lowerPercentage, int upperPercentage) {
-		Performance.getDefault().assertPerformanceInRelativeBand(fPerformanceMeter, dim, lowerPercentage, upperPercentage);
-	}
-	
-	/**
-	 * Launches the Ant build for this config.
-	 * Waits for all of the lines to be appended to the console.
-	 * 
-	 * @param config the launch configuration to execute
-	 * @param i the number of times to perform the launch
-	 */
-	protected void launch(ILaunchConfiguration config, int i) throws CoreException {
-		startMeasuring();
-		for (int j = 0; j < i; j++) {
-		    super.launch(config);    
-        }
-		stopMeasuring();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AbstractAntUIBuildTest.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AbstractAntUIBuildTest.java
deleted file mode 100644
index 972ae88..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AbstractAntUIBuildTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.tests.ui;
-
-import junit.framework.TestResult;
-
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.console.IHyperlink;
-
-
-public abstract class AbstractAntUIBuildTest extends AbstractAntUITest {
-
-	/**
-	 * Flag that indicates test are in progress
-	 */
-	protected boolean testing = true;
-		
-	public AbstractAntUIBuildTest(String name) {
-		super(name);
-	}
-	
-	/**
-	 * Runs the test and collects the result in a TestResult without blocking
-	 * the UI thread.
-	 */
-	public void run(final TestResult result) {
-		final Display display = Display.getCurrent();
-		Thread thread = null;
-		try {
-			Runnable r = new Runnable() {
-				public void run() {
-					AbstractAntUIBuildTest.super.run(result);		
-					testing = false;
-					display.wake();
-				}
-			};
-			thread = new Thread(r);
-			thread.start();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		
-		while (testing) {
-			try {
-				if (!display.readAndDispatch())
-					display.sleep();
-			} catch (Throwable e) {
-				e.printStackTrace();
-			}			
-		}		
-	}
-	
-	/**
-	 * Launches the Ant build with the buildfile name (no extension).
-	 * Waits for all of the lines to be appended to the console.
-	 * 
-	 * @param buildFileName the buildfile to execute
-	 * @return thread in which the first suspend event occurred
-	 */
-	protected void launch(String buildFileName) throws CoreException {
-		super.launch(buildFileName);
-	}
-	
-	/**
-	 * Launches the launch configuration
-	 * Waits for all of the lines to be appended to the console.
-	 * 
-	 * @param config the config to execute
-	 * @return thread in which the first suspend event occurred
-	 */
-	protected void launch(ILaunchConfiguration config) throws CoreException {
-	    launchAndTerminate(config, 20000);
-	}
-	
-	protected void activateLink(final IHyperlink link) {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				link.linkActivated();
-			}
-		});
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest#launch(java.lang.String, java.lang.String)
-	 */
-	protected void launch(String buildFileName, String arguments) throws CoreException {
-		super.launch(buildFileName, arguments);
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AntUtilTests.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AntUtilTests.java
deleted file mode 100644
index 7f92643..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/AntUtilTests.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.tests.ui;
-
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.launchConfigurations.IAntLaunchConfigurationConstants;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-public class AntUtilTests extends AbstractAntUITest {
-
-    public AntUtilTests(String name) {
-        super(name);
-    }
-    
-    public void testGetTargetsLaunchConfiguration() throws CoreException {
-       String buildFileName= "echoing";
-       File buildFile= getBuildFile(buildFileName + ".xml");
-       String arguments= null;
-       Map properties= null;
-       String propertyFiles= null;
-       AntTargetNode[] targets= AntUtil.getTargets(buildFile.getAbsolutePath(), getLaunchConfiguration(buildFileName, arguments, properties, propertyFiles));
-       assertTrue(targets != null);
-       assertTrue("Incorrect number of targets retrieved; should be 4 was: " + targets.length, targets.length == 4);
-       assertContains("echo3", targets);
-    }
-    
-    public void testGetTargetsLaunchConfigurationMinusD() throws CoreException {
-        String buildFileName= "importRequiringUserProp";
-        File buildFile= getBuildFile(buildFileName + ".xml");
-        String arguments= "-DimportFileName=toBeImported.xml";
-        Map properties= null;
-        String propertyFiles= null;
-        AntTargetNode[] targets= AntUtil.getTargets(buildFile.getAbsolutePath(), getLaunchConfiguration(buildFileName, arguments, properties, propertyFiles));
-        assertTrue(targets != null);
-        assertTrue("Incorrect number of targets retrieved; should be 3 was: " + targets.length, targets.length == 3);
-        assertContains("import-default", targets);
-     }
-    
-    public void testGetTargetsLaunchConfigurationMinusDAndProperty() throws CoreException {
-        String buildFileName= "importRequiringUserProp";
-        File buildFile= getBuildFile(buildFileName + ".xml");
-        String arguments= "-DimportFileName=toBeImported.xml";
-        //arguments should win
-        Map properties= new HashMap();
-        properties.put("importFileName", "notToBeImported.xml");
-        String propertyFiles= null;
-        AntTargetNode[] targets= AntUtil.getTargets(buildFile.getAbsolutePath(), getLaunchConfiguration(buildFileName, arguments, properties, propertyFiles));
-        assertTrue(targets != null);
-        assertTrue("Incorrect number of targets retrieved; should be 3 was: " + targets.length, targets.length == 3);
-        assertContains("import-default", targets);
-     }
-    
-    
-    public void testGetTargetsLaunchConfigurationProperty() throws CoreException {
-        String buildFileName= "importRequiringUserProp";
-        File buildFile= getBuildFile(buildFileName + ".xml");
-        String arguments= null;
-        Map properties= new HashMap();
-        properties.put("importFileName", "toBeImported.xml");
-        String propertyFiles= null;
-        AntTargetNode[] targets= AntUtil.getTargets(buildFile.getAbsolutePath(), getLaunchConfiguration(buildFileName, arguments, properties, propertyFiles));
-        assertTrue(targets != null);
-        assertTrue("Incorrect number of targets retrieved; should be 3 was: " + targets.length, targets.length == 3);
-        assertContains("import-default", targets);
-     }
-    
-    public void testGetTargetsLaunchConfigurationPropertyFile() throws CoreException {
-        String buildFileName= "importRequiringUserProp";
-        File buildFile= getBuildFile(buildFileName + ".xml");
-        String arguments= null;
-        Map properties= null;
-        String propertyFiles= "buildtest1.properties";
-        AntTargetNode[] targets= AntUtil.getTargets(buildFile.getAbsolutePath(), getLaunchConfiguration(buildFileName, arguments, properties, propertyFiles));
-        assertTrue(targets != null);
-        assertTrue("Incorrect number of targets retrieved; should be 3 was: " + targets.length, targets.length == 3);
-        assertContains("import-default", targets);
-     }
-    
-    protected ILaunchConfiguration getLaunchConfiguration(String buildFileName, String arguments, Map properties, String propertyFiles) throws CoreException {
-        ILaunchConfiguration config = getLaunchConfiguration(buildFileName);
-		assertNotNull("Could not locate launch configuration for " + buildFileName, config);
-		ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-		if (arguments != null) {
-		    copy.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-		}
-		if (properties != null) {
-		    copy.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTIES, properties);
-		}
-		if (propertyFiles != null) {
-		    copy.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTY_FILES, propertyFiles);
-		}
-		return copy;
-    }
-
-    /**
- 	 * Asserts that <code>displayString</code> is in one of the 
- 	 * completion proposals.
- 	 */
-    private void assertContains(String targetName, AntTargetNode[] targets) {
-        boolean found = false;
-        for (int i = 0; i < targets.length; i++) {
-            AntTargetNode target = targets[i];
-            String foundName = target.getTargetName();
-            if(targetName.equals(foundName)) {
-                found = true;
-                break;
-            }
-        }
-        assertEquals("Did not find target: " + targetName, true, found);
-    }        
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/BuildTests.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/BuildTests.java
deleted file mode 100644
index 136ce44..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/BuildTests.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.tests.ui;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.launchConfigurations.IAntLaunchConfigurationConstants;
-import org.eclipse.ant.tests.ui.testplugin.ConsoleLineTracker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.console.IHyperlink;
-
-
-public class BuildTests extends AbstractAntUIBuildTest {
-
-	public BuildTests(String name) {
-		super(name);
-	}
-	
-  /**
-   * Tests launching Ant and getting messages
-   * logged to the console.
-   */
-  public void testOutput() throws CoreException {
-	  launch("echoing");
-	  assertTrue("Incorrect number of messages logged for build. Should be 8. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 8);
-	  String message= ConsoleLineTracker.getMessage(6);
-	  assertTrue("Incorrect last message. Should start with Total time:. Message: " + message, message.startsWith("Total time:"));
-  }
-  
-  /**
-   * This build will fail. With verbose on you should be presented with a full 
-   * stack trace. Bug 82833
-   */
-  public void testVerboseStackTrace() throws CoreException {      
-      launch("failingTarget", "-k -verbose");
-      assertTrue("Incorrect message:"  + ConsoleLineTracker.getMessage(16), "BUILD FAILED".equals(ConsoleLineTracker.getMessage(16)));
-      assertTrue("Incorrect message:"  + ConsoleLineTracker.getMessage(19), ConsoleLineTracker.getMessage(19).startsWith("\tat org.apache.tools.ant.taskdefs.Zip"));
-  }
-  
-  /**
-	 * Tests launching Ant and getting the build failed message
-	 * logged to the console with associated link.
-	 * Bug 42333 and 44565
-	 */
-	public void testBuildFailedMessage() throws CoreException {
-		launch("bad");
-		assertTrue("Incorrect number of messages logged for build. Should be 10. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 10);
-		String message= ConsoleLineTracker.getMessage(5);
-		assertTrue("Incorrect last message. Should start with BUILD FAILED. Message: " + message, message.startsWith("BUILD FAILED"));
-		int offset= -1;
-		try {
-			offset= ConsoleLineTracker.getDocument().getLineOffset(4) + 30; //link to buildfile that failed
-		} catch (BadLocationException e) {
-			assertTrue("failed getting offset of line", false);
-		}
-		IHyperlink link= getHyperlink(offset, ConsoleLineTracker.getDocument());
-		assertNotNull("No hyperlink found at offset " + offset, link);
-	}
-  
-  /**
-	 * Tests launching Ant and that the
-	 * correct links are in the console doc
-	 */
-	public void testLinks() throws CoreException {
-		launch("build");
-		int offset= 25; //buildfile link
-		IHyperlink link= getHyperlink(offset, ConsoleLineTracker.getDocument());
-		assertNotNull("No hyperlink found at offset " + offset, link);
-		activateLink(link);
-		
-		try {
-			offset= ConsoleLineTracker.getDocument().getLineOffset(4) + 10; //echo link
-		} catch (BadLocationException e) {
-			assertTrue("failed getting offset of line", false);
-		}
-		link= getHyperlink(offset, ConsoleLineTracker.getDocument());
-		assertNotNull("No hyperlink found at offset " + offset, link);
-		activateLink(link);
-	}
-	
-	/**
-	 * Tests launching Ant and that the
-	 * correct colors are in the console doc
-	 */
-	public void testColor() throws BadLocationException, CoreException {		
-		launch("echoing");
-		int offset= 15; //buildfile
-		Color color= getColorAtOffset(offset, ConsoleLineTracker.getDocument());
-		assertNotNull("No color found at " + offset, color);
-		assertEquals(AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_INFO_COLOR), color);
-		try {
-			offset= ConsoleLineTracker.getDocument().getLineOffset(4) + 10; //echo
-		} catch (BadLocationException e) {
-			assertTrue("failed getting offset of line", false);
-		}
-		color= getColorAtOffset(offset, ConsoleLineTracker.getDocument());
-		assertNotNull("No color found at " + offset, color);
-		assertEquals(AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_WARNING_COLOR), color);
-	}
-	
-	/**
-	 * Tests launching Ant in a separate vm and that the
-	 * correct property substitions occur
-	 */
-	public void testPropertySubstitution() throws CoreException {
-		ILaunchConfiguration config = getLaunchConfiguration("74840");
-		assertNotNull("Could not locate launch configuration for " + "74840", config);
-		ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-		Map properties= new HashMap(1);
-		properties.put("platform.location", "${workspace_loc}");
-		copy.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTIES, properties);
-		copy.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTIES, properties);
-		launchAndTerminate(copy, 20000);
-		ConsoleLineTracker.waitForConsole();
-		assertTrue("Incorrect number of messages logged for build. Should be 8. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 8);
-		assertTrue("Incorrect echo message. Should not include unsubstituted property", !ConsoleLineTracker.getMessage(4).trim().startsWith("[echo] ${workspace_loc}"));
-	}
-	
-	 /**
-	 * Tests specifying the XmlLogger as a listener (bug 80435)
-     * @throws FileNotFoundException 
-	 */
-	public void testXmlLoggerListener() throws CoreException, FileNotFoundException {
-		launch("echoing", "-listener org.apache.tools.ant.XmlLogger");
-		assertTrue("Incorrect number of messages logged for build. Should be 8. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 8);
-		String message= ConsoleLineTracker.getMessage(6);
-		assertTrue("Incorrect last message. Should start with Total time:. Message: " + message, message.startsWith("Total time:"));
-		//find the log file generated by the xml logger
-		getProject().getFolder("buildfiles").refreshLocal(IResource.DEPTH_INFINITE, null);
-		File file= getBuildFile("log.xml");
-		String content= getFileContentAsString(file);
-		assertTrue("XML logging file is empty", content.length() > 0);
-	}
-	
-	/**
-	 * Tests launching Ant and getting the build failed message
-	 * logged to the console.
-	 * Bug 42333.
-	 */
-//	public void testBuildFailedMessageDebug() throws CoreException {
-//		launchInDebug("bad");
-//		assertTrue("Incorrect number of messages logged for build. Should be 35. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 35);
-//		String message= ConsoleLineTracker.getMessage(33);
-//		assertTrue("Incorrect last message. Should start with Build Failed:. Message: " + message, message.startsWith("BUILD FAILED:"));
-//		}
-//  
-//	  /**
-//	 * Tests launching Ant and that the
-//	 * correct links are in the console doc
-//	 */
-//	public void testLinksDebug() throws CoreException {
-//		launchInDebug("echoing");
-//		int offset= 0; 
-//		try {
-//			offset= ConsoleLineTracker.getDocument().getLineOffset(2) + 15; //buildfile line 3
-//		} catch (BadLocationException e) {
-//			assertTrue("failed getting offset of line", false);
-//		}
-//		IConsoleHyperlink link= getHyperlink(offset, ConsoleLineTracker.getDocument());
-//		assertNotNull("No hyperlink found at offset " + offset, link);
-//	
-//		try {
-//			offset= ConsoleLineTracker.getDocument().getLineOffset(33) + 10; //echo link
-//		} catch (BadLocationException e) {
-//			assertTrue("failed getting offset of line", false);
-//		}
-//		link= getHyperlink(offset, ConsoleLineTracker.getDocument());
-//		assertNotNull("No hyperlink found at offset " + offset, link);
-//	}
-//
-//	/**
-//	 * Tests launching Ant and that the
-//	 * correct colors are in the console doc
-//	 */
-//	public void testColorDebug() throws BadLocationException, CoreException {
-//		launchInDebug("echoing");
-//		int offset= 0; 
-//		try {
-//			offset= ConsoleLineTracker.getDocument().getLineOffset(2) + 15; //buildfile line 3
-//		} catch (BadLocationException e) {
-//			assertTrue("failed getting offset of line", false);
-//		}
-//		Color color= getColorAtOffset(offset, ConsoleLineTracker.getDocument());
-//		assertNotNull("No color found at " + offset, color);
-//		assertEquals(AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_INFO_COLOR), color);
-//		
-//		try {
-//			offset= ConsoleLineTracker.getDocument().getLineOffset(4) + 3; //debug info
-//		} catch (BadLocationException e) {
-//			assertTrue("failed getting offset of line", false);
-//		}
-//		color= getColorAtOffset(offset, ConsoleLineTracker.getDocument());
-//		assertNotNull("No color found at " + offset, color);
-//		assertEquals(AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_DEBUG_COLOR), color);
-//		
-//		try {
-//			offset= ConsoleLineTracker.getDocument().getLineOffset(33) + 10; //echo line 33
-//		} catch (BadLocationException e) {
-//			assertTrue("failed getting offset of line", false);
-//		}
-//		color= getColorAtOffset(offset, ConsoleLineTracker.getDocument());
-//		assertNotNull("No color found at " + offset, color);
-//		assertEquals(AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_WARNING_COLOR), color);
-//	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/OpenLaunchConfigurationDialogTests.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/OpenLaunchConfigurationDialogTests.java
deleted file mode 100644
index b6b955e..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/OpenLaunchConfigurationDialogTests.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.tests.ui.performance;
-
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.tests.ui.editor.performance.EditorTestHelper;
-import org.eclipse.ant.tests.ui.testplugin.AbstractAntUITest;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
-import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.PerformanceTestCase;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-public class OpenLaunchConfigurationDialogTests extends PerformanceTestCase {
-
-    public static String fgIdentifier= IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_GROUP;
-    
-    public void testOpenAntLaunchConfigurationDialog1() {
-        //cold run
-        ILaunchConfiguration configuration= getLaunchConfiguration("big");
-		IStructuredSelection selection= new StructuredSelection(configuration);
-		for (int i = 0; i < 10; i++) {
-		    openLCD(selection, fgIdentifier, 20); 
-        }
-		
-		commitMeasurements();
-		assertPerformance();
-    }
-    
-    public void testOpenAntLaunchConfigurationDialog2() {
-        //warm run
-        ILaunchConfiguration configuration= getLaunchConfiguration("big");
-		IStructuredSelection selection= new StructuredSelection(configuration);
-		tagAsSummary("Open LCD on Targets tab", Dimension.CPU_TIME);
-		for (int i = 0; i < 10; i++) {
-		    openLCD(selection, fgIdentifier, 20); 
-        }
-		
-		commitMeasurements();
-		assertPerformance();
-    }
-
-    private ILaunchConfiguration getLaunchConfiguration(String buildFileName) {
-        IFile file = AbstractAntUITest.getJavaProject().getProject().getFolder("launchConfigurations").getFile(buildFileName + ".launch");
-		ILaunchConfiguration config = AbstractAntUITest.getLaunchManager().getLaunchConfiguration(file);
-		assertTrue("Could not find launch configuration for " + buildFileName, config.exists());
-		return config;
-    }
-
-    private void openLCD(final IStructuredSelection selection, final String groupIdentifier, int numberOfOpens) {
-        startMeasuring();
-        for (int i = 0; i < numberOfOpens; i++) {
-	        //set a status to go to the targets tab
-		    IStatus status = new Status(IStatus.INFO, IAntUIConstants.PLUGIN_ID, IAntUIConstants.STATUS_INIT_RUN_ANT, "", null); //$NON-NLS-1$
-			LaunchConfigurationsDialog dialog= new LaunchConfigurationsDialog(DebugUIPlugin.getShell(), DebugUIPlugin.getDefault().getLaunchConfigurationManager().getLaunchGroup(groupIdentifier));
-			dialog.setBlockOnOpen(false);
-			dialog.setOpenMode(LaunchConfigurationsDialog.LAUNCH_CONFIGURATION_DIALOG_OPEN_ON_SELECTION);
-			dialog.setInitialSelection(selection);
-			dialog.setInitialStatus(status);
-			
-			dialog.open();
-            EditorTestHelper.runEventQueue(dialog.getShell());
-			dialog.close();
-        }
-		stopMeasuring();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.test.performance.PerformanceTestCase#setUp()
-     */
-    protected void setUp() throws Exception {
-       super.setUp();
-       EditorTestHelper.runEventQueue();
-    }
-}
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/SeparateVMTests.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/SeparateVMTests.java
deleted file mode 100644
index 3788e96..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/SeparateVMTests.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.tests.ui.performance;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.ant.tests.ui.AbstractAntUIBuildPerformanceTest;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-public class SeparateVMTests extends AbstractAntUIBuildPerformanceTest {
-		
-    public SeparateVMTests(String name) {
-        super(name);
-    }
-    
-	public static Test suite() {
-		return new TestSuite(SeparateVMTests.class);
-	}
-
-    /**
-     * Performance test for launching Ant in a separate vm.
-     */
-	public void testBuild() throws CoreException {
-    	tagAsSummary("Separate JRE Build", Dimension.CPU_TIME);
-    	ILaunchConfiguration config= getLaunchConfiguration("echoingSepVM");
-    	for (int i = 0; i < 10; i++) {
-    		launch(config, 10);
-		}
-    	commitMeasurements();
-		assertPerformance(); 	
-    }
-	
-	 /**
-     * Performance test for launching Ant in a separate vm with no console output.
-     */
-	public void testBuildNoConsole() throws CoreException {
-    	tagAsSummary("Separate JRE Build; capture output off", Dimension.CPU_TIME);
-    	ILaunchConfiguration config = getLaunchConfiguration("echoingSepVM");
-		assertNotNull("Could not locate launch configuration for " + "echoingSepVM", config);
-		ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-		copy.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, false);
-		copy.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false);
-    	for (int i = 0; i < 10; i++) {
-    	    startMeasuring();
-    		for (int j = 0; j < i; j++) {
-    		    launchAndTerminate(copy, 20000);
-    		}
-    		stopMeasuring();
-		}
-    	commitMeasurements();
-		assertPerformance(); 	
-    }
-    
-    /**
-     * Performance test for launching Ant in a separate vm with debug information.
-     */
-    public void testBuildMinusDebug() throws CoreException {
-    	tagAsSummary("Separate JRE Build; -debug", Dimension.CPU_TIME);
-    	ILaunchConfiguration config = getLaunchConfiguration("echoingSepVM");
-		assertNotNull("Could not locate launch configuration for " + "echoingSepVM", config);
-		ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-		copy.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, "-debug");
-    	for (int i = 0; i < 10; i++) {
-    		launch(copy, 10);
-        }
-    	commitMeasurements();
-		assertPerformance();
-	}  	
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java
deleted file mode 100644
index 204f00b..0000000
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.tests.ui.separateVM;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.util.HashMap;
-import java.util.Map;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.launchConfigurations.IAntLaunchConfigurationConstants;
-import org.eclipse.ant.tests.ui.AbstractAntUIBuildTest;
-import org.eclipse.ant.tests.ui.testplugin.ConsoleLineTracker;
-import org.eclipse.ant.tests.ui.testplugin.ProjectHelper;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.console.IHyperlink;
-
-public class SeparateVMTests extends AbstractAntUIBuildTest {
-		
-    public SeparateVMTests(String name) {
-        super(name);
-    }
-    
-	public static Test suite() {
-		return new TestSuite(SeparateVMTests.class);
-	}
-
-    /**
-     * Tests launching Ant in a separate vm and getting messages
-     * logged to the console.
-     */
-    public void testBuild() throws CoreException {
-      	launch("echoingSepVM");
-      	assertTrue("Incorrect number of messages logged for build. Should be 6. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 6);
-      	assertTrue("Incorrect last message. Should start with Total time:. Message: " + ConsoleLineTracker.getMessage(4), ConsoleLineTracker.getMessage(4).startsWith("Total time:"));
-    }
-    
-    /**
-     * Tests launching Ant in a separate vm and having an extra classpath entry designated to be availble.
-     */
-    public void testExtraClasspathEntries() throws CoreException {
-      	launch("extensionPointSepVM");
-      	assertTrue("Incorrect number of messages logged for build. Should be 8. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 8);
-      	assertTrue("Incorrect last message. Should start with Total time:. Message: " + ConsoleLineTracker.getMessage(6), ConsoleLineTracker.getMessage(6).startsWith("Total time:"));
-    }
-    
-    /**
-     * Tests launching Ant in a separate vm and having an extra classpath entry designated to be available.
-     */
-    public void testProperties() throws CoreException {
-      	launch("extensionPointSepVM");
-      	assertTrue("Incorrect number of messages logged for build. Should be 8. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 8);
-      	assertTrue("Incorrect last message. Should start with [echo] ${property.ui.testing. Message: " + ConsoleLineTracker.getMessage(3), ConsoleLineTracker.getMessage(3).trim().startsWith("[echo] ${property.ui.testing"));
-      	assertTrue("Incorrect last message. Should start with [echo] hey. Message: " + ConsoleLineTracker.getMessage(4), ConsoleLineTracker.getMessage(4).trim().startsWith("[echo] hey"));
-    }
-    
-    /**
-     * Tests launching Ant in a separate vm and having an extra classpath entry designated to be available.
-     */
-    public void testExtensionPointTask() throws CoreException {
-      	launch("extensionPointTaskSepVM");
-      	assertTrue("Incorrect number of messages logged for build. Should be 6. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 6);
-      	assertTrue("Incorrect message. Should start with [null] Testing Ant in Eclipse with a custom task2. Message: " + ConsoleLineTracker.getMessage(2), ConsoleLineTracker.getMessage(2).trim().startsWith("[null] Testing Ant in Eclipse with a custom task2"));
-    }
-    
-    /**
-     * Tests launching Ant in a separate vm and having an extra classpath entry designated to be available.
-     */
-    public void testExtensionPointType() throws CoreException {
-      	launch("extensionPointTypeSepVM");
-      	assertTrue("Incorrect number of messages logged for build. Should be 6. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 6);
-      	assertTrue("Incorrect message. Should start with [echo] Ensure that an extension point defined type. Message: " + ConsoleLineTracker.getMessage(2), ConsoleLineTracker.getMessage(2).trim().startsWith("[echo] Ensure that an extension point defined type"));
-    }
-    
-	/**
-	 * Tests launching Ant in a separate vm and that the
-	 * correct links are in the console doc
-	 */
-	public void testLinks() throws CoreException {
-		launch("echoingSepVM");
-		int offset= 15; //buildfile link
-		IHyperlink link= getHyperlink(offset, ConsoleLineTracker.getDocument());
-		assertNotNull("No hyperlink found at offset " + offset, link);
-		try {
-			offset= ConsoleLineTracker.getDocument().getLineOffset(2) + 10; //echo link
-		} catch (BadLocationException e) {
-			assertTrue("failed getting offset of line", false);
-		}
-		link= getHyperlink(offset, ConsoleLineTracker.getDocument());
-		assertNotNull("No hyperlink found at offset " + offset, link);
-	}
-	
-	/**
-	 * Tests launching Ant in a separate vm and that the
-	 * correct colors are in the console doc
-	 */
-	public void testColor() throws BadLocationException, CoreException {
-		launch("echoingSepVM");
-		int offset= 15; //buildfile
-		Color color= getColorAtOffset(offset, ConsoleLineTracker.getDocument());
-		assertNotNull("No color found at " + offset, color);
-		assertEquals(color, AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_INFO_COLOR));
-		try {
-			offset= ConsoleLineTracker.getDocument().getLineOffset(2) + 10; //echo link
-		} catch (BadLocationException e) {
-			assertTrue("failed getting offset of line", false);
-		}
-		color= getColorAtOffset(offset, ConsoleLineTracker.getDocument());
-		assertNotNull("No color found at " + offset, color);
-		assertEquals(color, AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_WARNING_COLOR));
-	}
-	
-	/**
-	 * Tests launching Ant in a separate vm and that the
-	 * correct working directory is set
-	 */
-	public void testWorkingDirectory() throws CoreException {
-		ILaunchConfiguration config = getLaunchConfiguration("echoingSepVM");
-		assertNotNull("Could not locate launch configuration for " + "echoingSepVM", config);
-		ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-		copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, getJavaProject().getProject().getLocation().toOSString());
-		copy.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, "Bug42984");
-		launchAndTerminate(copy, 20000);
-		ConsoleLineTracker.waitForConsole();
-		assertTrue("Incorrect number of messages logged for build. Should be 6. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 6);
-		assertTrue("Incorrect last message. Should end with " + ProjectHelper.PROJECT_NAME + ". Message: " + ConsoleLineTracker.getMessage(2), ConsoleLineTracker.getMessage(2).endsWith(ProjectHelper.PROJECT_NAME));
-	}
-	
-	/**
-	 * Tests launching Ant in a separate vm and that the
-	 * correct property substitions occur
-	 */
-	public void testPropertySubstitution() throws CoreException {
-		ILaunchConfiguration config = getLaunchConfiguration("74840SepVM");
-		assertNotNull("Could not locate launch configuration for " + "74840SepVM", config);
-		ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-		Map properties= new HashMap(1);
-		properties.put("platform.location", "${workspace_loc}");
-		copy.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTIES, properties);
-		launchAndTerminate(copy, 20000);
-		ConsoleLineTracker.waitForConsole();
-		assertTrue("Incorrect number of messages logged for build. Should be 6. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 6);
-		assertTrue("Incorrect echo message. Should not include unsubstituted property ", !ConsoleLineTracker.getMessage(2).trim().startsWith("[echo] ${workspace_loc}"));
-	}
-	
-	 /**
-     * Tests launching Ant in a separate vm and getting messages
-     * logged to the console for project help.
-     */
-    public void testProjectHelp() throws CoreException {
-      	launch("echoingSepVM", "-p");
-      	assertTrue("Incorrect number of messages logged for build. Should be 14. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 14);
-      	assertTrue("Incorrect last message. Should start with echo2:. Message: " + ConsoleLineTracker.getMessage(12), ConsoleLineTracker.getMessage(12).trim().startsWith("echo2"));
-    }
- 
-    /**
-	 * Tests specifying the XmlLogger as a listener (bug 80435)
-     * @throws FileNotFoundException 
-	 */
-	public void testXmlLoggerListener() throws CoreException, FileNotFoundException {
-		launch("echoingSepVM", "-listener org.apache.tools.ant.XmlLogger");
-		assertTrue("Incorrect number of messages logged for build. Should be 6. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 6);
-      	assertTrue("Incorrect last message. Should start with Total time:. Message: " + ConsoleLineTracker.getMessage(4), ConsoleLineTracker.getMessage(4).startsWith("Total time:"));
-		
-		//find the log file generated by the xml logger
-		getProject().refreshLocal(IResource.DEPTH_INFINITE, null);
-		IFile iFile= getProject().getFile("log.xml");	
-		assertTrue("Could not find log file named: log.xml" , iFile.exists());
-		File file= iFile.getLocation().toFile();
-		String content= getFileContentAsString(file);
-		assertTrue("XML logging file is empty", content.length() > 0);
-	}
-	
-	 /**
-     * Tests launching Ant in a separate vm and that the Environment variable
-     * ANT_HOME is set from the Ant home set for the build and ant.home is set as a property.
-     * Bug 75729
-     */
-    public void testAntHome() throws CoreException {
-      	launch("environmentVar");
-      	assertTrue("Incorrect number of messages logged for build. Should be 6. Was " + ConsoleLineTracker.getNumberOfMessages(), ConsoleLineTracker.getNumberOfMessages() == 6);
-      	assertTrue("Incorrect message. Should end with org.apache.ant. Message: " + ConsoleLineTracker.getMessage(1), ConsoleLineTracker.getMessage(1).trim().endsWith("org.apache.ant"));
-		assertTrue("Incorrect message. Should end with org.apache.ant. Message: " + ConsoleLineTracker.getMessage(2), ConsoleLineTracker.getMessage(2).trim().endsWith("org.apache.ant"));
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/External Tools/org/eclipse/ant/tests/ui/externaltools/MigrationTests.java b/ant/org.eclipse.ant.tests.ui/External Tools/org/eclipse/ant/tests/ui/externaltools/MigrationTests.java
deleted file mode 100644
index 75acdfa..0000000
--- a/ant/org.eclipse.ant.tests.ui/External Tools/org/eclipse/ant/tests/ui/externaltools/MigrationTests.java
+++ /dev/null
@@ -1,228 +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.ant.tests.ui.externaltools;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.launchConfigurations.IAntLaunchConfigurationConstants;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.registry.ExternalToolMigration;
-
-/**
- * Tests migration of Ant and External Tool configurations from old
- * formats to the current format.
- */
-public class MigrationTests extends TestCase {
-	
-	/**
-	 * Tests migration of arguments from an Eclipse 2.0 Ant buildfile
-	 * configuration to a current launch configuration.
-	 * 
-	 * @throws CoreException
-	 */
-	public void test20AntMigration() throws CoreException {
-		Map argumentMap= get20AntArgumentMap();
-		ILaunchConfigurationWorkingCopy config = ExternalToolMigration.configFromArgumentMap(argumentMap);
-		assertNotNull("Migration failed", config);
-		
-		assertEquals("Wrong configuration type", IAntLaunchConfigurationConstants.ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE, config.getType().getIdentifier());
-		assertEquals("ant tool", config.getName());
-		assertEquals("location", config.getAttribute(IExternalToolConstants.ATTR_LOCATION, ""));
-		assertEquals("refresh scope", config.getAttribute(RefreshTab.ATTR_REFRESH_SCOPE, ""));
-		String[] targets= AntUtil.getTargetNames(config);
-		assertNotNull("No targets found", targets);
-		assertEquals("Wrong number of targets", 2, targets.length);
-		assertEquals("target1", targets[0]);
-		assertEquals("target2", targets[1]);
-		assertEquals(true, config.getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false));
-		assertEquals(true, config.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false));
-		assertEquals("build kinds", config.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, ""));
-		assertEquals("arg  ", config.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, ""));
-		assertEquals("working dir", config.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, ""));
-	}
-	
-	/**
-	 * Returns a map of arguments for an Ant buildfile using
-	 * Eclipse 2.0 arguments.
-	 * 
-	 * @return a map of 2.0 arguments for an Ant buildfile.
-	 */
-	private Map get20AntArgumentMap() {
-		HashMap arguments= new HashMap();
-		arguments.put(ExternalToolMigration.TAG_VERSION, "2.0");
-		arguments.put(ExternalToolMigration.TAG_TOOL_TYPE, "org.eclipse.ui.externaltools.type.ant");
-		arguments.put(ExternalToolMigration.TAG_TOOL_NAME, "ant tool");
-		arguments.put(ExternalToolMigration.TAG_TOOL_LOCATION, "location");
-		arguments.put(ExternalToolMigration.TAG_TOOL_REFRESH, "refresh scope");
-		arguments.put(ExternalToolMigration.TAG_TOOL_ARGUMENTS, "arg ${ant_target:target1} ${ant_target:target2}");
-		arguments.put(ExternalToolMigration.TAG_TOOL_SHOW_LOG, "true");
-		arguments.put(ExternalToolMigration.TAG_TOOL_BLOCK, "false");
-		arguments.put(ExternalToolMigration.TAG_TOOL_BUILD_TYPES, "build kinds");
-		arguments.put(ExternalToolMigration.TAG_TOOL_DIRECTORY, "working dir");
-		return arguments;
-	}
-
-	/**
-	 * Tests migration of arguments from an Eclipse 2.0 Ant buildfile
-	 * configuration to a current launch configuration.
-	 * 
-	 * @throws CoreException
-	 */
-	public void test20ProgramMigration() throws CoreException {
-		Map argumentMap= get20ProgramArgumentMap();
-		ILaunchConfigurationWorkingCopy config = ExternalToolMigration.configFromArgumentMap(argumentMap);
-		assertEquals("Wrong configuration type", IExternalToolConstants.ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE, config.getType().getIdentifier());
-		assertEquals("program tool", config.getName());
-		assertEquals("location", config.getAttribute(IExternalToolConstants.ATTR_LOCATION, ""));
-		assertEquals("refresh scope", config.getAttribute(RefreshTab.ATTR_REFRESH_SCOPE, ""));
-		assertEquals(true, config.getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false));
-		assertEquals(true, config.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false));
-		assertEquals("build kinds", config.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, ""));
-		assertEquals("arg ${ant_target:target1} ${ant_target:target2}", config.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, ""));
-		assertEquals("working dir", config.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, ""));
-	}
-	
-	/**
-	 * Returns a map of arguments for executing a program
-	 * using Eclipse 2.0 arguments.
-	 * 
-	 * @return a map of 2.0 arguments for a program
-	 */
-	private Map get20ProgramArgumentMap() {
-		HashMap arguments= new HashMap();
-		arguments.put(ExternalToolMigration.TAG_VERSION, "2.0");
-		arguments.put(ExternalToolMigration.TAG_TOOL_TYPE, "org.eclipse.ui.externaltools.type.program");
-		arguments.put(ExternalToolMigration.TAG_TOOL_NAME, "program tool");
-		arguments.put(ExternalToolMigration.TAG_TOOL_LOCATION, "location");
-		arguments.put(ExternalToolMigration.TAG_TOOL_REFRESH, "refresh scope");
-		arguments.put(ExternalToolMigration.TAG_TOOL_ARGUMENTS, "arg ${ant_target:target1} ${ant_target:target2}");
-		arguments.put(ExternalToolMigration.TAG_TOOL_SHOW_LOG, "true");
-		arguments.put(ExternalToolMigration.TAG_TOOL_BLOCK, "false");
-		arguments.put(ExternalToolMigration.TAG_TOOL_BUILD_TYPES, "build kinds");
-		arguments.put(ExternalToolMigration.TAG_TOOL_DIRECTORY, "working dir");
-		return arguments;
-	}
-	
-	/**
-	 * Tests migration of arguments from an Eclipse 2.1 Ant buildfile
-	 * configuration to a current launch configuration.
-	 * 
-	 * @throws CoreException
-	 */
-	public void test21AntMigration() throws CoreException {
-		Map argumentMap= get21AntArgumentMap();
-		ILaunchConfigurationWorkingCopy config = ExternalToolMigration.configFromArgumentMap(argumentMap);
-		assertNotNull("Migration failed", config);
-		
-		assertEquals("Wrong config type", IAntLaunchConfigurationConstants.ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE, config.getType().getIdentifier());
-		assertEquals("ant config", config.getName());
-		assertEquals("location", config.getAttribute(IExternalToolConstants.ATTR_LOCATION, ""));
-		assertEquals("working directory", config.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, ""));
-		assertEquals(true, config.getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false));
-		assertEquals(true, config.getAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, false));
-		assertEquals(true, config.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false));
-		assertEquals(true, config.getAttribute(IExternalToolConstants.ATTR_PROMPT_FOR_ARGUMENTS, false));
-		assertEquals("refresh scope", config.getAttribute(RefreshTab.ATTR_REFRESH_SCOPE, ""));
-		assertEquals(true, config.getAttribute(RefreshTab.ATTR_REFRESH_RECURSIVE, false));
-		assertEquals("build kinds", config.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, ""));
-		assertEquals("arg1 arg2", config.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, ""));
-		String[] targets= AntUtil.getTargetNames(config);
-		assertEquals("Wrong number of targets", 2, targets.length);
-		assertEquals("target1", targets[0]);
-		assertEquals("target2", targets[1]);
-	}
-	
-	/**
-	 * Returns a map of arguments for executing an Ant
-	 * buildfile using Eclipse 2.1 arguments.
-	 * 
-	 * @return a map of 2.1 arguments for an Ant buildfile
-	 */
-	private Map get21AntArgumentMap() {
-		HashMap arguments= new HashMap();
-		arguments.put(ExternalToolMigration.TAG_VERSION, "2.1");
-		arguments.put(ExternalToolMigration.TAG_NAME, "ant config");
-		arguments.put(ExternalToolMigration.TAG_TYPE, ExternalToolMigration.TOOL_TYPE_ANT_BUILD);
-		arguments.put(ExternalToolMigration.TAG_LOCATION, "location");
-		arguments.put(ExternalToolMigration.TAG_WORK_DIR, "working directory");
-		arguments.put(ExternalToolMigration.TAG_CAPTURE_OUTPUT, "true");
-		arguments.put(ExternalToolMigration.TAG_SHOW_CONSOLE, "true");
-		arguments.put(ExternalToolMigration.TAG_SHOW_CONSOLE, "true");
-		arguments.put(ExternalToolMigration.TAG_RUN_BKGRND, "true");
-		arguments.put(ExternalToolMigration.TAG_PROMPT_ARGS, "true");
-		arguments.put(ExternalToolMigration.TAG_REFRESH_SCOPE, "refresh scope");
-		arguments.put(ExternalToolMigration.TAG_REFRESH_RECURSIVE, "true");
-		arguments.put(ExternalToolMigration.TAG_RUN_BUILD_KINDS, "build kinds");
-		arguments.put(ExternalToolMigration.TAG_ARGS, "arg1 arg2");
-		arguments.put(ExternalToolMigration.TAG_EXTRA_ATTR, ExternalToolMigration.RUN_TARGETS_ATTRIBUTE + "=target1,target2");
-		return arguments;
-	}
-	
-	/**
-	 * Tests migration of arguments from an Eclipse 2.1 program
-	 * configuration to a current launch configuration.
-	 * 
-	 * @throws CoreException
-	 */
-	public void test21ProgramMigration() throws CoreException {
-		Map argumentMap= get21ProgramArgumentMap();
-		ILaunchConfigurationWorkingCopy config = ExternalToolMigration.configFromArgumentMap(argumentMap);
-		assertNotNull("Migration failed", config);
-		
-		assertEquals("Wrong config type", IExternalToolConstants.ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE, config.getType().getIdentifier());
-		assertEquals("program config", config.getName());
-		assertEquals("location", config.getAttribute(IExternalToolConstants.ATTR_LOCATION, ""));
-		assertEquals("working directory", config.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, ""));
-		assertEquals(true, config.getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false));
-		assertEquals(true, config.getAttribute(IExternalToolConstants.ATTR_SHOW_CONSOLE, false));
-		assertEquals(true, config.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false));
-		assertEquals(true, config.getAttribute(IExternalToolConstants.ATTR_PROMPT_FOR_ARGUMENTS, false));
-		assertEquals("refresh scope", config.getAttribute(RefreshTab.ATTR_REFRESH_SCOPE, ""));
-		assertEquals(true, config.getAttribute(RefreshTab.ATTR_REFRESH_RECURSIVE, false));
-		assertEquals("build kinds", config.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, ""));
-		assertEquals("arg1 arg2", config.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, ""));
-	}
-	
-	/**
-	 * Returns a map of arguments for executing a program
-	 * buildfile using Eclipse 2.1 arguments.
-	 * 
-	 * @return a map of 2.1 arguments for a program
-	 */
-	private Map get21ProgramArgumentMap() {
-		HashMap arguments= new HashMap();
-		arguments.put(ExternalToolMigration.TAG_VERSION, "2.1");
-		arguments.put(ExternalToolMigration.TAG_NAME, "program config");
-		arguments.put(ExternalToolMigration.TAG_TYPE, IExternalToolConstants.TOOL_TYPE_PROGRAM);
-		arguments.put(ExternalToolMigration.TAG_LOCATION, "location");
-		arguments.put(ExternalToolMigration.TAG_WORK_DIR, "working directory");
-		arguments.put(ExternalToolMigration.TAG_CAPTURE_OUTPUT, "true");
-		arguments.put(ExternalToolMigration.TAG_SHOW_CONSOLE, "true");
-		arguments.put(ExternalToolMigration.TAG_SHOW_CONSOLE, "true");
-		arguments.put(ExternalToolMigration.TAG_RUN_BKGRND, "true");
-		arguments.put(ExternalToolMigration.TAG_PROMPT_ARGS, "true");
-		arguments.put(ExternalToolMigration.TAG_REFRESH_SCOPE, "refresh scope");
-		arguments.put(ExternalToolMigration.TAG_REFRESH_RECURSIVE, "true");
-		arguments.put(ExternalToolMigration.TAG_RUN_BUILD_KINDS, "build kinds");
-		arguments.put(ExternalToolMigration.TAG_ARGS, "arg1 arg2");
-		return arguments;
-	}
-	
-}
diff --git a/ant/org.eclipse.ant.tests.ui/about.html b/ant/org.eclipse.ant.tests.ui/about.html
deleted file mode 100644
index cde506f..0000000
--- a/ant/org.eclipse.ant.tests.ui/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>30th January, 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/ant/org.eclipse.ant.tests.ui/build.properties b/ant/org.eclipse.ant.tests.ui/build.properties
deleted file mode 100644
index 2b6d76e..0000000
--- a/ant/org.eclipse.ant.tests.ui/build.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the 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 = plugin.xml,\
-			   plugin.properties,\
-			   test.xml,\
-               about.html,\
-               testbuildfiles/,\
-               lib/,\
-               lib/*.jar,\
-               *.jar
-               
-source.anttestsui.jar = test plugin/,\
-						Ant Editor Tests/,\
-						External Tools/,\
-						Ant Tests/,\
-                        buildfiles/
-						
-source.lib/antUITestsSupport.jar = test support/
-jars.compile.order=anttestsui.jar,lib/antUITestsSupport.jar
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/buildfiles/buildAntTestsSupportJAR.xml b/ant/org.eclipse.ant.tests.ui/buildfiles/buildAntTestsSupportJAR.xml
deleted file mode 100644
index 53bee6a..0000000
--- a/ant/org.eclipse.ant.tests.ui/buildfiles/buildAntTestsSupportJAR.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="build tests support jar" default="build" basedir="..">
-
-	<property name="bootclasspath" value=""/>
-
-	<target name="build" description="Removes all build artifacts, recreates the support jar, and refreshes this plugin's resources" depends="clean, lib/antUITestsSupport.jar"/>
-
-	<target name="init" depends="properties">
-		<property name="version.suffix" value="_3.1.0"/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="plugin.destination" value="${basedir}"/>
-		<property name="build.result.folder" value="${basedir}"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-
-	<target name="lib/antUITestsSupport.jar" depends="init" description= "Builds the support JAR">
-		<property name="destdir" value="${temp.folder}/lib/antUITestsSupport.jar.bin"/>
-		<delete dir="${temp.folder}/lib/antUITestsSupport.jar.bin"/>
-		<mkdir dir="${temp.folder}/lib/antUITestsSupport.jar.bin"/>
-		<!-- compile the source code -->
-		<javac target="1.1" destdir="${temp.folder}/lib/antUITestsSupport.jar.bin" failonerror="false" verbose="false" debug="on" includeAntRuntime="yes" bootclasspath="${bootclasspath}" 
-			classpath="${basedir}/bin;
-			${eclipse.home}/plugins/org.eclipse.ant.core${version.suffix}/antsupport.jar;
-			${basedir}/../org.eclipse.ant.core/bin
-			${eclipse.home}/plugins/org.eclipse.ant.core${version.suffix}/lib/remoteAnt.jar;
-			${basedir}/../org.eclipse.ant.ui/lib/remoteAnt.jar">
-			<src path="test support/"/>
-		</javac>
-		<mkdir dir="${build.result.folder}/lib"/>
-		<jar destfile="${build.result.folder}/lib/antUITestsSupport.jar" basedir="${temp.folder}/lib/antUITestsSupport.jar.bin"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="clean" depends="init">
-		<delete file="${build.result.folder}/lib/antUITestsSupport.jar"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/icons/ant.gif b/ant/org.eclipse.ant.tests.ui/icons/ant.gif
deleted file mode 100644
index 6da365c..0000000
--- a/ant/org.eclipse.ant.tests.ui/icons/ant.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.tests.ui/lib/.cvsignore b/ant/org.eclipse.ant.tests.ui/lib/.cvsignore
deleted file mode 100644
index 2b90898..0000000
--- a/ant/org.eclipse.ant.tests.ui/lib/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-antUITestsSupport.jar
diff --git a/ant/org.eclipse.ant.tests.ui/plugin.properties b/ant/org.eclipse.ant.tests.ui/plugin.properties
deleted file mode 100644
index 07228b2..0000000
--- a/ant/org.eclipse.ant.tests.ui/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 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
-###############################################################################
-
-pluginName=Ant UI Test Plugin
-providerName=Eclipse.org
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/plugin.xml b/ant/org.eclipse.ant.tests.ui/plugin.xml
deleted file mode 100644
index 4cd5ebb..0000000
--- a/ant/org.eclipse.ant.tests.ui/plugin.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ant.tests.ui"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.ant.tests.ui.testplugin.AntUITestPlugin">
-   
-   <requires>
-      <import plugin="org.eclipse.ui.ide" 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.apache.ant"/>
-	  <import plugin="org.junit"/>   
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ant.core"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.ui.externaltools"/>
-      <import plugin="org.eclipse.ant.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.test.performance"/>
-      <import plugin="org.eclipse.ui.console"/>
-   </requires>
- 
-<runtime>
-  <library name="anttestsui.jar" >
-     <export name = "*"/>
-  </library> 
-</runtime>
-
- <extension
-     point="org.eclipse.debug.ui.consoleLineTrackers">
-	  <consoleLineTracker
-	        class="org.eclipse.ant.tests.ui.testplugin.ConsoleLineTracker"
-	        processType="org.eclipse.ant.ui.antProcess"
-	        id="org.eclipse.ant.tests.ui.testplugin.ConsoleLineTracker">
-	  </consoleLineTracker>
-  </extension>
-  
-  <extension
-         point="org.eclipse.ant.core.extraClasspathEntries">
-      <extraClasspathEntry
-            library="lib/antUITestsSupport.jar"
-            eclipseRuntime="false">
-      </extraClasspathEntry>
-   </extension>
-   
-    <extension point="org.eclipse.ant.core.antTasks">
-	    <antTask 
-	    	name="coolUITask" 
-	    	class="org.eclipse.ant.tests.ui.support.tasks.AntTestTask2"
-	    	library="lib/antUITestsSupport.jar"
-	    	eclipseRuntime="false">
-	    </antTask>
-   </extension>
-
-	<extension point="org.eclipse.ant.core.antTypes">
-	    <antType 
-	    	name="coolUIType" 
-	    	class="org.eclipse.ant.tests.ui.support.types.AntTestPath"
-	    	library="lib/antUITestsSupport.jar"
-	    	eclipseRuntime="false">
-	    </antType>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ant.core.antProperties">
-      <antProperty
-            name="property.ui.testing"
-            value="true">
-      </antProperty>
-       <antProperty
-            name="property.ui.testing2"
-            value="hey"
-             eclipseRuntime="false">
-      </antProperty>
-   </extension>
-</plugin>
diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java
deleted file mode 100644
index a7741e1..0000000
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.tests.ui.testplugin;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.tests.ui.editor.support.TestLocationProvider;
-import org.eclipse.ant.tests.ui.editor.support.TestProblemRequestor;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.console.IHyperlink;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.internal.console.ConsoleHyperlinkPosition;
-import org.eclipse.ui.internal.console.IOConsolePartition;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public abstract class AbstractAntUITest extends TestCase {
-	
-	public static String ANT_EDITOR_ID= "org.eclipse.ant.ui.internal.editor.AntEditor";
-	
-	private IDocument currentDocument;
-
-	public AbstractAntUITest(String name) {
-		super(name);
-	}
-		
-	protected IFile getIFile(String buildFileName) {
-		return getProject().getFolder("buildfiles").getFile(buildFileName);	
-	}
-	
-	protected File getBuildFile(String buildFileName) {
-		IFile file = getIFile(buildFileName);
-		assertTrue("Could not find build file named: " + buildFileName, file.exists());
-		return file.getLocation().toFile();
-	}
-	
-	/**
-	 * Returns the 'AntUITests' project.
-	 * 
-	 * @return the test project
-	 */
-	protected static IProject getProject() {
-		return ResourcesPlugin.getWorkspace().getRoot().getProject(ProjectHelper.PROJECT_NAME);
-	}
-	
-	protected IDocument getDocument(String fileName) {
-		File file = getBuildFile(fileName);
-		InputStream in;
-		try {
-			in = new FileInputStream(file);
-		} catch (FileNotFoundException e) {
-			return null;
-		}
-		String initialContent= getStreamContentAsString(in);
-		return new Document(initialContent);
-	}
-
-	protected String getStreamContentAsString(InputStream inputStream) {
-		InputStreamReader reader;
-		try {
-			reader = new InputStreamReader(inputStream, ResourcesPlugin.getEncoding());
-		} catch (UnsupportedEncodingException e) {
-			AntUIPlugin.log(e);
-			return ""; //$NON-NLS-1$
-		}
-		BufferedReader tempBufferedReader = new BufferedReader(reader);
-
-		return getReaderContentAsString(tempBufferedReader);
-	}
-	
-	protected String getReaderContentAsString(BufferedReader bufferedReader) {
-		StringBuffer result = new StringBuffer();
-		try {
-			String line= bufferedReader.readLine();
-
-			while(line != null) {
-				if(result.length() != 0) {
-                    result.append(System.getProperty("line.separator")); //$NON-NLS-1$
-				}
-				result.append(line);
-				line = bufferedReader.readLine();
-			}
-		} catch (IOException e) {
-			AntUIPlugin.log(e);
-			return null;
-		}
-
-		return result.toString();
-	}
-		
-	protected AntModel getAntModel(String fileName) {
-		currentDocument= getDocument(fileName);
-		AntModel model= new AntModel(currentDocument, new TestProblemRequestor(), new TestLocationProvider(getBuildFile(fileName)));
-		model.reconcile();
-		return model;
-	}
-	
-	/**
-	 * @return
-	 */
-	public IDocument getCurrentDocument() {
-		return currentDocument;
-	}
-
-	/**
-	 * @param currentDocument
-	 */
-	public void setCurrentDocument(IDocument currentDocument) {
-		this.currentDocument = currentDocument;
-	}
-	
-	/**
-	 * Launches the Ant build with the buildfile name (no extension).
-	 * 
-	 * @param buildFileName the ant buildfile name
-	 */
-	protected void launch(String buildFileName) throws CoreException {
-		ILaunchConfiguration config = getLaunchConfiguration(buildFileName);
-		assertNotNull("Could not locate launch configuration for " + buildFileName, config);
-		launchAndTerminate(config, 20000);
-	}
-	
-	/**
-	 * Launches the Ant build with the buildfile name (no extension).
-	 * 
-	 * @param buildFileName the buildfile
-	 * @param arguments the ant arguments
-	 */
-	protected void launch(String buildFileName, String arguments) throws CoreException {
-		ILaunchConfiguration config = getLaunchConfiguration(buildFileName);
-		assertNotNull("Could not locate launch configuration for " + buildFileName, config);
-		ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-		copy.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
-		launchAndTerminate(copy, 20000);
-	}
-	
-	/**
-	* Launches the Ant build in debug output mode with the buildfile name (no extension).
-	* 
-	* @param mainTypeName the program to launch
-	* @return thread in which the first suspend event occurred
-	*/
-	protected void launchWithDebug(String buildFileName) throws CoreException {
-		ILaunchConfiguration config = getLaunchConfiguration(buildFileName);
-		assertNotNull("Could not locate launch configuration for " + buildFileName, config);
-		ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
-		copy.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, "-debug");
-		launchAndTerminate(copy, 10000);
-	}
-	
-	/**
-	 * Returns the launch configuration for the given buildfile
-	 * 
-	 * @param buildFileName buildfile to launch
-	 * @see ProjectCreationDecorator
-	 */
-	protected ILaunchConfiguration getLaunchConfiguration(String buildFileName) {
-		IFile file = getJavaProject().getProject().getFolder("launchConfigurations").getFile(buildFileName + ".launch");
-		ILaunchConfiguration config = getLaunchManager().getLaunchConfiguration(file);
-		assertTrue("Could not find launch configuration for " + buildFileName, config.exists());
-		return config;
-	}
-
-	/**
-	 * Returns the content of the specified file as <code>String</code>.
-	 */
-	protected String getFileContentAsString(File aFile) throws FileNotFoundException {
-	    InputStream stream = new FileInputStream(aFile);
-	    InputStreamReader reader = new InputStreamReader(stream);
-	    BufferedReader bufferedReader = new BufferedReader(reader);
-	
-	    return getReaderContentAsString(bufferedReader);
-	}
-	
-	protected SAXParser getSAXParser() {
-		SAXParser parser = null;
-		try {
-			parser = SAXParserFactory.newInstance().newSAXParser();
-		} catch (ParserConfigurationException e) {
-			AntUIPlugin.log(e);
-		} catch (SAXException e) {
-			AntUIPlugin.log(e);
-		}
-		return parser;
-	}
-
-	
-	protected void parse(InputStream stream, SAXParser parser, DefaultHandler handler, File editedFile) {
-		InputSource inputSource= new InputSource(stream);
-		if (editedFile != null) {
-			//needed for resolving relative external entities
-			inputSource.setSystemId(editedFile.getAbsolutePath());
-		}
-
-		try {
-			parser.parse(inputSource, handler);
-		} catch (SAXException e) {
-		} catch (IOException e) {
-		}
-	}
-	
-	/**
-	 * Returns the launch manager
-	 * 
-	 * @return launch manager
-	 */
-	public static ILaunchManager getLaunchManager() {
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-	
-	/**
-	 * Returns the 'AntUITests' project.
-	 * 
-	 * @return the test project
-	 */
-	public static IJavaProject getJavaProject() {
-		return JavaCore.create( getProject());
-	}
-	
-	protected void launchAndTerminate(ILaunchConfiguration config, int timeout) throws CoreException {
-		DebugEventWaiter waiter= new DebugElementKindEventWaiter(DebugEvent.TERMINATE, IProcess.class);
-		waiter.setTimeout(timeout);
-
-		Object terminatee = launchAndWait(config, waiter);		
-		assertNotNull("Program did not terminate.", terminatee);
-		assertTrue("terminatee is not an IProcess", terminatee instanceof IProcess);
-		IProcess process = (IProcess) terminatee;
-        boolean terminated = process.isTerminated();
-		assertTrue("process is not terminated", terminated);
-	}
-	
-	/**
-	 * Launches the given configuration and waits for an event. Returns the
-	 * source of the event. If the event is not received, the launch is
-	 * terminated and an exception is thrown.
-	 * 
-	 * @param configuration the configuration to launch
-	 * @param waiter the event waiter to use
-	 * @return Object the source of the event
-	 * @exception Exception if the event is never received.
-	 */
-	protected Object launchAndWait(ILaunchConfiguration configuration, DebugEventWaiter waiter) throws CoreException {
-		ILaunch launch = configuration.launch(ILaunchManager.RUN_MODE, null);
-		Object suspendee= waiter.waitForEvent();
-		if (suspendee == null) {
-			try {
-				launch.terminate();
-			} catch (CoreException e) {
-				e.printStackTrace();
-				fail("Program did not suspend, and unable to terminate launch.");
-			}
-		}
-        assertNotNull("Program did not suspend, launch terminated.", suspendee);
-        boolean terminated = launch.isTerminated();
-        assertTrue("launch did not terminate", terminated);
-        if (terminated && !ConsoleLineTracker.isClosed()) {
-            ConsoleLineTracker.waitForConsole();
-        }
-        assertTrue("Console is not closed", ConsoleLineTracker.isClosed());	
-		return suspendee;		
-	}
-	
-	protected IHyperlink getHyperlink(int offset, IDocument doc) {
-		if (offset >= 0 && doc != null) {
-			Position[] positions = null;
-			try {
-				positions = doc.getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
-			} catch (BadPositionCategoryException ex) {
-				// no links have been added
-				return null;
-			}
-			for (int i = 0; i < positions.length; i++) {
-				Position position = positions[i];
-				if (offset >= position.getOffset() && offset <= (position.getOffset() + position.getLength())) {
-					return ((ConsoleHyperlinkPosition)position).getHyperLink();
-				}
-			}
-		}
-		return null;
-	}
-	
-	protected Color getColorAtOffset(int offset, IDocument document) throws BadLocationException {
-		if (document != null) {
-			IDocumentPartitioner partitioner = document.getDocumentPartitioner();
-			if (partitioner != null) {
-				ITypedRegion[] regions= partitioner.computePartitioning(offset, document.getLineInformationOfOffset(offset).getLength());
-				
-				for (int i = 0; i < regions.length; i++) {
-					IOConsolePartition partition = (IOConsolePartition)regions[i];
-					return partition.getColor();
-				}	
-			}
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUIPerformanceTests.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUIPerformanceTests.java
deleted file mode 100644
index 4740e93..0000000
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUIPerformanceTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.tests.ui.testplugin;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ant.tests.ui.editor.performance.OpenAntEditorTest;
-import org.eclipse.ant.tests.ui.performance.OpenLaunchConfigurationDialogTests;
-import org.eclipse.ant.tests.ui.performance.SeparateVMTests;
-
-/**
- * Performance Test suite for the Ant UI
- */
-public class AntUIPerformanceTests extends TestSuite {
-
-    public static Test suite() {
-
-        TestSuite suite= new AntUIPerformanceTests();
-        suite.setName("Ant UI Performance Unit Tests");
-		suite.addTest(new TestSuite(ProjectCreationDecorator.class));
-		suite.addTest(new TestSuite(OpenAntEditorTest.class));
-		//suite.addTest(new TestSuite(NonInitialTypingTest.class));
-		suite.addTest(new TestSuite(OpenLaunchConfigurationDialogTests.class));
-		suite.addTest(new TestSuite(SeparateVMTests.class));
-        return suite;
-    }
-}
diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUITestPlugin.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUITestPlugin.java
deleted file mode 100644
index 033d40a..0000000
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUITestPlugin.java
+++ /dev/null
@@ -1,63 +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.ant.tests.ui.testplugin;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-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.IPath;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-
-
-public class AntUITestPlugin extends AbstractUIPlugin {
-	
-	private static AntUITestPlugin deflt;
-	
-	public AntUITestPlugin() {
-		super();
-		deflt= this;
-	}
-	
-	public static AntUITestPlugin getDefault() {
-		return deflt;
-	}
-	
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-	
-	public static void enableAutobuild(boolean enable) throws CoreException {
-		// disable auto build
-		IWorkspace workspace= AntUITestPlugin.getWorkspace();
-		IWorkspaceDescription desc= workspace.getDescription();
-		desc.setAutoBuilding(enable);
-		workspace.setDescription(desc);
-	}
-	
-	public File getFileInPlugin(IPath path) {
-		try {
-			Bundle bundle = getDefault().getBundle();
-			URL installURL= new URL(bundle.getEntry("/"), path.toString());
-			URL localURL= Platform.asLocalURL(installURL);
-			return new File(localURL.getFile());
-		} catch (IOException e) {
-			return null;
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUITests.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUITests.java
deleted file mode 100644
index ea4b992..0000000
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AntUITests.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial implementation
- * 	   IBM Corporation - additional tests
- *******************************************************************************/
-
-package org.eclipse.ant.tests.ui.testplugin;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.ant.tests.ui.AntUtilTests;
-import org.eclipse.ant.tests.ui.BuildTests;
-import org.eclipse.ant.tests.ui.editor.AntEditorContentOutlineTests;
-import org.eclipse.ant.tests.ui.editor.AntEditorTests;
-import org.eclipse.ant.tests.ui.editor.CodeCompletionTest;
-import org.eclipse.ant.tests.ui.editor.TaskDescriptionProviderTest;
-import org.eclipse.ant.tests.ui.editor.formatter.FormattingPreferencesTest;
-import org.eclipse.ant.tests.ui.editor.formatter.XmlDocumentFormatterTest;
-import org.eclipse.ant.tests.ui.editor.formatter.XmlFormatterTest;
-import org.eclipse.ant.tests.ui.editor.formatter.XmlTagFormatterTest;
-import org.eclipse.ant.tests.ui.externaltools.MigrationTests;
-import org.eclipse.ant.tests.ui.separateVM.SeparateVMTests;
-
-/**
- * Test suite for the Ant UI
- */
-public class AntUITests extends TestSuite {
-
-    public static Test suite() {
-
-        TestSuite suite= new AntUITests();
-        suite.setName("Ant UI Unit Tests");
-		suite.addTest(new TestSuite(ProjectCreationDecorator.class));
-		suite.addTest(new TestSuite(BuildTests.class));
-		suite.addTest(new TestSuite(SeparateVMTests.class));
-		suite.addTest(new TestSuite(AntEditorTests.class));
-        suite.addTest(new TestSuite(CodeCompletionTest.class));
-        suite.addTest(new TestSuite(TaskDescriptionProviderTest.class));
-        suite.addTest(new TestSuite(AntEditorContentOutlineTests.class));
-        suite.addTest(new TestSuite(MigrationTests.class));
-        suite.addTest(new TestSuite(FormattingPreferencesTest.class));
-        suite.addTest(new TestSuite(XmlDocumentFormatterTest.class));
-        suite.addTest(new TestSuite(XmlTagFormatterTest.class));
-        suite.addTest(new TestSuite(XmlFormatterTest.class));
-        suite.addTest(new TestSuite(AntUtilTests.class));
-        return suite;
-    }
-}
diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ConsoleLineTracker.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ConsoleLineTracker.java
deleted file mode 100644
index 0f7b96d..0000000
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ConsoleLineTracker.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package org.eclipse.ant.tests.ui.testplugin;
-
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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
- *******************************************************************************/
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.debug.ui.console.IConsoleLineTrackerExtension;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-
-/**
- * Simple console line tracker extension point that collects the lines
- * appended to the console. 
- */
-public class ConsoleLineTracker implements IConsoleLineTrackerExtension {
-	
-	private static IConsole console;
-	private static List lines= new ArrayList(); 
-	
-	private static boolean consoleClosed= false;
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#init(org.eclipse.debug.ui.console.IConsole)
-	 */
-	public void init(IConsole c) {
-	    synchronized(lines) {
-	        ConsoleLineTracker.console= c;
-	        lines= new ArrayList();
-	        consoleClosed= false;
-	    }
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#lineAppended(org.eclipse.jface.text.IRegion)
-	 */
-	public void lineAppended(IRegion line) {
-		lines.add(line);
-	}
-	
-	public static int getNumberOfMessages() {
-		return lines.size();
-	}
-	
-	public static String getMessage(int index) {
-		if (index < lines.size()){
-			IRegion lineRegion= (IRegion)lines.get(index);
-			try {
-				return console.getDocument().get(lineRegion.getOffset(), lineRegion.getLength());
-			} catch (BadLocationException e) {
-				return null;
-			}
-		}
-		return null;
-	}
-	
-	public static List getAllMessages() {
-		List all= new ArrayList(lines.size());
-		for (int i = 0; i < lines.size(); i++) {
-			IRegion lineRegion= (IRegion)lines.get(i);
-			try {
-				all.add(console.getDocument().get(lineRegion.getOffset(), lineRegion.getLength()));
-			} catch (BadLocationException e) {
-				continue;
-			}
-		}
-		return all;
-	}
-	
-	public static IDocument getDocument() {
-		return console.getDocument();
-	}
-	
-	public static void waitForConsole() {
-		synchronized (lines) {
-			if (consoleClosed) {
-				return;
-			}
-			try {
-				lines.wait(20000);
-			} catch (InterruptedException ie) {
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTrackerExtension#consoleClosed()
-	 */
-	public void consoleClosed() {
-		synchronized (lines) {
-			consoleClosed= true;
-			lines.notifyAll();
-		}
-	}
-    
-    public static boolean isClosed() {
-        synchronized (lines) {
-            return consoleClosed;
-        }
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/DebugElementKindEventWaiter.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/DebugElementKindEventWaiter.java
deleted file mode 100644
index e7ea27a..0000000
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/DebugElementKindEventWaiter.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.ant.tests.ui.testplugin;
-
-import org.eclipse.debug.core.DebugEvent;
-
-/**
- * Waits for a type of event on a kind of element.  Compare this to SpecificDebugElementEventWaiter which is
- * used to wait for a type of event on a specific debug element object.
- */
-
-public class DebugElementKindEventWaiter extends DebugEventWaiter {
-	
-	protected Class fElementClass;
-	
-	public DebugElementKindEventWaiter(int eventKind, Class elementClass) {
-		super(eventKind);
-		fElementClass = elementClass;
-	}
-	
-	public boolean accept(DebugEvent event) {
-		Object o = event.getSource();
-		return super.accept(event) && fElementClass.isInstance(o);
-	}
-
-}
-
-
diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/DebugEventWaiter.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/DebugEventWaiter.java
deleted file mode 100644
index 130637e..0000000
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/DebugEventWaiter.java
+++ /dev/null
@@ -1,170 +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.ant.tests.ui.testplugin;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-
-/**
- * The <code>DebugEventWaiter</code> is
- * to wait for a specific kind of debug event.
- * <p>
- * When a <code>DebugEventWaiter</code> is created, it
- * registers itself with the <code>DebugPlugin</code> as
- * an <code>IDebugEventSetListener</code>.
- * <p>
- * NOTE: <code>DebugEventWaiter</code> objects are intended for
- * one time use only!
- */
-public class DebugEventWaiter implements IDebugEventSetListener {
-	/**
-	 * The kind of event the waiter is waiting for
-	 */
-	protected int fEventType;
-
-	/**
-	 * The number of milliseconds the waiter will wait before timing out.
-	 */
-	protected long fTimeout;
-
-	/**
-	 * The <code>IDebugModelManager</code> this waiter is listening to.
-	 */
-	protected DebugPlugin fDebugPlugin;
-
-	/**
-	 * The <code>DebugEvent</code> received.
-	 */
-	protected DebugEvent fEvent;
-	
-	/**
-	 * The event set that was accepted
-	 */
-	protected DebugEvent[] fEventSet;
-
-	/**
-	 * The default timeout value if none is given (20000).
-	 */
-	public static final long DEFAULT_TIMEOUT= 15000;
-
-	/**
-	 * Creates a new <code>DebugEventWaiter</code> which
-	 * waits for events of a kind <code>eventType</code>.
-	 * The wait method will wait the default timeout value.
-	 */
-	public DebugEventWaiter(int eventType) {
-		fDebugPlugin= DebugPlugin.getDefault();
-		fEventType= eventType;
-		fTimeout= DEFAULT_TIMEOUT;
-
-		fDebugPlugin.addDebugEventListener(this);
-	}
-
-	/**
-	 * Answers true if the <code>DebugEvent</code> is acceptable.
-	 */
-	public boolean accept(DebugEvent event) {
-		return event.getKind() == fEventType && event.getDetail() != DebugEvent.EVALUATION_IMPLICIT;
-	}
-	/**
-	 * Answers the event name associated with the given flag.
-	 */
-	public String getEventName(int flag) {
-		switch (flag) {
-			case DebugEvent.CREATE :
-				return "Create";
-			case DebugEvent.TERMINATE :
-				return "Terminate";
-			case DebugEvent.RESUME :
-				return "Resume";
-			case DebugEvent.SUSPEND :
-				return "Suspend";
-			default :
-				return "UNKNOWN";
-		}
-	}
-
-	/**
-	 * Handles debug events.
-	 *
-	 * @see IDebugEventListener
-	 * @see #accept(DebugEvent)
-	 */
-	public synchronized void handleDebugEvents(DebugEvent[] events) {
-		//printReceived(events);
-		for (int i = 0; i < events.length; i++) {
-			if (accept(events[i])) {
-				fEvent= events[i];
-				fEventSet = events;
-				unregister();
-				notifyAll();
-				return;
-			}
-		}
-	}
-
-	/**
-	 * Prints a message indicating which event was received.
-	 */
-	protected void printReceived(DebugEvent[] events) {
-		for (int i = 0; i < events.length; i++) {
-			System.out.println(this +" got " + events[i]);
-		}
-	}
-
-	/**
-	 * Sets the number of milliseconds to wait for this callback
-	 */
-	public void setTimeout(long milliseconds) {
-		fTimeout= milliseconds;
-	}
-
-	/**
-	 * Unregisters this waiter as a listener
-	 */
-	public void unregister() {
-		fDebugPlugin.removeDebugEventListener(this);
-	}
-
-	/**
-	 * Returns the source of the accepted event, or <code>null</code>
-	 * if no event was accepted.
-	 */
-	public synchronized Object waitForEvent() {
-		if (fEvent == null) {
-			try {
-				wait(fTimeout);
-			} catch (InterruptedException ie) {
-				System.err.println("Interrupted waiting for event");
-			}
-		}
-		unregister();
-		if (fEvent == null)
-			return null;
-		return fEvent.getSource();
-	}
-
-	/**
-	 * Returns the accepted event, if any.
-	 */
-	public DebugEvent getEvent() {
-		return fEvent;
-	}
-	
-	/**
-	 * Returns the accepted event set, if any.
-	 */
-	public DebugEvent[] getEventSet() {
-		return fEventSet;
-	}	
-}
-
diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ProjectCreationDecorator.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ProjectCreationDecorator.java
deleted file mode 100644
index 565b4c8..0000000
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ProjectCreationDecorator.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.ant.tests.ui.testplugin;
-
-
-import java.io.File;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.launchConfigurations.IAntLaunchConfigurationConstants;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-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.ui.IDebugUIConstants;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-public class ProjectCreationDecorator extends AbstractAntUITest {
-	
-	public ProjectCreationDecorator(String name) {
-		super(name);
-	}
-	
-	public void testProjectCreation() throws Exception {
-		try {
-			// delete any pre-existing project
-			IProject pro = ResourcesPlugin.getWorkspace().getRoot().getProject(ProjectHelper.PROJECT_NAME);
-			if (pro.exists()) {
-				pro.delete(true, true, null);
-			}
-			// create project and import buildfiles and support files
-			IProject project = ProjectHelper.createProject(ProjectHelper.PROJECT_NAME);
-			IFolder folder = ProjectHelper.addFolder(project, "buildfiles");
-			ProjectHelper.addFolder(project, "launchConfigurations");
-			File root = AntUITestPlugin.getDefault().getFileInPlugin(ProjectHelper.TEST_BUILDFILES_DIR);
-			ProjectHelper.importFilesFromDirectory(root, folder.getFullPath(), null);
-			
-			createLaunchConfigurationForBoth("echoing");
-			createLaunchConfigurationForBoth("74840");
-            createLaunchConfigurationForBoth("failingTarget");
-			createLaunchConfiguration("build");
-			createLaunchConfiguration("bad");
-			createLaunchConfiguration("importRequiringUserProp");
-			createLaunchConfigurationForSeparateVM("extensionPointSepVM", null);
-			createLaunchConfigurationForSeparateVM("extensionPointTaskSepVM", null);
-			createLaunchConfigurationForSeparateVM("extensionPointTypeSepVM", null);
-			createLaunchConfigurationForSeparateVM("input", null);
-			createLaunchConfigurationForSeparateVM("environmentVar", null);
-            
-            createLaunchConfigurationForBoth("breakpoints");
-			
-			createLaunchConfiguration("big", "buildfiles/performance/build.xml");
-			
-		} finally {
-			//do not show the Ant build failed error dialog
-			AntUIPlugin.getDefault().getPreferenceStore().setValue(IAntUIPreferenceConstants.ANT_ERROR_DIALOG, false);
-		}
-	}
-	
-	private void createLaunchConfigurationForBoth(String launchConfigName) throws Exception {
-		createLaunchConfiguration(launchConfigName);
-		createLaunchConfigurationForSeparateVM(launchConfigName + "SepVM", launchConfigName);
-		
-	}
-
-	/**
-	 * Creates a shared launch configuration for launching Ant in a separate VM with the given
-	 * name.
-	 */
-	protected void createLaunchConfigurationForSeparateVM(String launchConfigName, String buildFileName) throws Exception {
-		ILaunchConfigurationType type = getLaunchManager().getLaunchConfigurationType(IAntLaunchConfigurationConstants.ID_ANT_LAUNCH_CONFIGURATION_TYPE);
-		ILaunchConfigurationWorkingCopy config = type.newInstance(getJavaProject().getProject().getFolder("launchConfigurations"), launchConfigName);
-		
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.eclipse.ant.internal.ui.antsupport.InternalAntRunner"); //$NON-NLS-1$
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER, "org.eclipse.ant.ui.AntClasspathProvider"); //$NON-NLS-1$
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, getJavaProject().getElementName());
-		if (buildFileName == null) {
-			buildFileName= launchConfigName;
-		} 
-		config.setAttribute(IExternalToolConstants.ATTR_LOCATION, "${workspace_loc:/" + ProjectHelper.PROJECT_NAME + "/buildfiles/" + buildFileName + ".xml}");
-		
-		config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
-		config.setAttribute(DebugPlugin.ATTR_PROCESS_FACTORY_ID, IAntUIConstants.REMOTE_ANT_PROCESS_FACTORY_ID);
-		 
-		setVM(config);
-				
-		config.doSave();
-	}
-	
-	/**
-	 * Creates a shared launch configuration for launching Ant in a separate VM with the given
-	 * name.
-	 */
-	protected void createLaunchConfiguration(String launchConfigName) throws Exception {
-	    createLaunchConfiguration(launchConfigName, ProjectHelper.PROJECT_NAME + "/buildfiles/" + launchConfigName + ".xml");
-	}
-	
-	public static ILaunchConfiguration createLaunchConfiguration(String launchConfigName, String path) throws CoreException {
-	    ILaunchConfigurationType type = getLaunchManager().getLaunchConfigurationType(IAntLaunchConfigurationConstants.ID_ANT_LAUNCH_CONFIGURATION_TYPE);
-		ILaunchConfigurationWorkingCopy config = type.newInstance(getJavaProject().getProject().getFolder("launchConfigurations"), launchConfigName);
-	
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, getJavaProject().getElementName());
-		config.setAttribute(IExternalToolConstants.ATTR_LOCATION, "${workspace_loc:/" + path + "}");
-		config.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
-			
-		config.doSave();
-		return config;
-	}
-
-	private void setVM(ILaunchConfigurationWorkingCopy config) {
-		IVMInstall vm = JavaRuntime.getDefaultVMInstall();
-		String vmName= vm.getName();
-		String vmTypeID= vm.getVMInstallType().getId();			
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, vmName);
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, vmTypeID);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ProjectHelper.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ProjectHelper.java
deleted file mode 100644
index b662503..0000000
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/ProjectHelper.java
+++ /dev/null
@@ -1,138 +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.ant.tests.ui.testplugin;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-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.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-/**
- * Helper methods to set up an IProject.
- */
-public class ProjectHelper {
-	
-	public static final IPath TEST_BUILDFILES_DIR= new Path("testbuildfiles");
-	public static final IPath TEST_RESOURCES_DIR= new Path("testresources");	
-	public static final IPath TEST_LIB_DIR= new Path("testlib");
-	
-	public static final String PROJECT_NAME= "Ant UI Tests";
-	
-	/**
-	 * Creates a IProject.
-	 */	
-	public static IProject createProject(String projectName) throws CoreException {
-		IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-		IProject project= root.getProject(projectName);
-		if (!project.exists()) {
-			project.create(null);
-		} else {
-			project.refreshLocal(IResource.DEPTH_INFINITE, null);
-		}
-		
-		if (!project.isOpen()) {
-			project.open(null);
-		}
-		
-		if (!project.hasNature(JavaCore.NATURE_ID)) {
-			addNatureToProject(project, JavaCore.NATURE_ID, null);
-		}
-		
-		return project;
-	}
-	
-	private static void addNatureToProject(IProject proj, String natureId, IProgressMonitor monitor) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures= description.getNatureIds();
-		String[] newNatures= new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
-		newNatures[prevNatures.length]= natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, monitor);
-	}
-	
-	/**
-	 * Removes an IProject.
-	 */		
-	public static void delete(IProject project) throws CoreException {
-		project.delete(true, true, null);
-	}
-
-
-	/**
-	 * Adds a folder to an IProject.
-	 */		
-	public static IFolder addFolder(IProject project, String containerName) throws CoreException {
-		
-			IFolder folder= project.getFolder(containerName);
-			if (!folder.exists()) {
-				folder.create(false, true, null);
-			}
-		
-		return folder;
-		
-	}
-	
-	public static void importFilesFromDirectory(File rootDir, IPath destPath, IProgressMonitor monitor) throws InvocationTargetException, IOException {		
-		IImportStructureProvider structureProvider = FileSystemStructureProvider.INSTANCE;
-		List files = new ArrayList(100);
-		addFiles(rootDir, files);
-		try {
-			ImportOperation op= new ImportOperation(destPath, rootDir, structureProvider, new ImportOverwriteQuery(), files);
-			op.setCreateContainerStructure(false);
-			op.run(monitor);
-		} catch (InterruptedException e) {
-			// should not happen
-		}
-	}	
-	
-	private static void addFiles(File dir, List collection) throws IOException {
-		File[] files = dir.listFiles();
-		List subDirs = new ArrayList(2);
-		for (int i = 0; i < files.length; i++) {
-			if (files[i].isFile()) {
-				collection.add(files[i]);
-			} else if (files[i].isDirectory()) {
-				subDirs.add(files[i]);
-			}
-		}
-		Iterator iter = subDirs.iterator();
-		while (iter.hasNext()) {
-			File subDir = (File)iter.next();
-			addFiles(subDir, collection);
-		}
-	}
-	
-	private static class ImportOverwriteQuery implements IOverwriteQuery {
-		public String queryOverwrite(String file) {
-			return ALL;
-		}	
-	}			
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/inputHandlers/TestSWTInputHandler.java b/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/inputHandlers/TestSWTInputHandler.java
deleted file mode 100644
index e08c6ab..0000000
--- a/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/inputHandlers/TestSWTInputHandler.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.tests.ui.support.inputHandlers;
-
-
-public class TestSWTInputHandler {//extends SWTInputHandler {
-	
-   
-//    /* (non-Javadoc)
-//     * @see org.eclipse.ant.internal.ui.antsupport.inputhandler.SWTInputHandler#open(java.lang.String, java.lang.String, boolean[])
-//     */
-//    protected void open(String title, String prompt, boolean[] result) {
-//        fRequest.setInput("TestSWTInputHandler");
-//        result[0]= true;
-//    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/AntTestTask.java b/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/AntTestTask.java
deleted file mode 100644
index ce7b33a..0000000
--- a/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/AntTestTask.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.ant.tests.ui.support.tasks;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.Echo;
-
-
-public class AntTestTask extends Task {
-	
-	public AntTestTask() {
-		super();
-	}
-	
-	/**
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		Echo echo= new Echo();
-		echo.setProject(getProject());
-		echo.setMessage("Testing Ant in Eclipse with a custom task");
-		echo.execute();
-	}
-}
diff --git a/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/AntTestTask2.java b/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/AntTestTask2.java
deleted file mode 100644
index 3ab7baf..0000000
--- a/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/AntTestTask2.java
+++ /dev/null
@@ -1,55 +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.ant.tests.ui.support.tasks;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.Echo;
-import org.apache.tools.ant.types.EnumeratedAttribute;
-import org.apache.tools.ant.types.Reference;
-
-
-public class AntTestTask2 extends Task {
-	
-	String fMessage= "Default";
-	Reference fRef= null;
-	
-	public AntTestTask2() {
-		super();
-	}
-	
-	/**
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		Echo echo= new Echo();
-		echo.setProject(getProject());
-		echo.setMessage("Testing Ant in Eclipse with a custom task2: " + fMessage);
-		echo.execute();
-	}
-	
-    public void setMessage(Cool attr) {
-        fMessage = attr.getValue();
-    }
-    
-    public void setReference(Reference ref) {
-        fRef= ref;
-    }
-	
-	/**
-     * Enumerated attribute with the values "cool", "chillin" and "awesome".
-     */
-    public static class Cool extends EnumeratedAttribute {
-        public String[] getValues() {
-            return new String[] {"cool", "chillin", "awesome"};
-        }
-    }
-}
diff --git a/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/NestElementTask.java b/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/NestElementTask.java
deleted file mode 100644
index 6541072..0000000
--- a/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/tasks/NestElementTask.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.ant.tests.ui.support.tasks;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.taskdefs.Echo;
-
-public class NestElementTask extends Task {  
-	
-	String message= "bar";
-	NestedElement e;
-    public static class NestedElement{
-    	Boolean works= Boolean.FALSE;
-    	public NestedElement() {	
-    	}
-    	
-        public void setWorks(Boolean booleanValue) {
-        	works= booleanValue;
-        }
-
-		public boolean works() {
-			return works.booleanValue();
-		}
-    }
-    public void addNestedElement(NestedElement nestedElement) {
-    	e= nestedElement;
-    }
-   
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Task#execute()
-	 */
-	public void execute() throws BuildException {
-		Echo echo= new Echo();
-		echo.setProject(getProject());
-		if (e.works()) {
-			echo.setMessage(message);
-		} else {
-			echo.setMessage("ack");
-		}
-		echo.execute();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/types/AntTestPath.java b/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/types/AntTestPath.java
deleted file mode 100644
index 6022420..0000000
--- a/ant/org.eclipse.ant.tests.ui/test support/org/eclipse/ant/tests/ui/support/types/AntTestPath.java
+++ /dev/null
@@ -1,32 +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.ant.tests.ui.support.types;
-
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.types.Path;
-
-public class AntTestPath extends Path {
-	
-	String message;
-	
-	public AntTestPath(Project project) {
-		super(project);
-	}
-	
-	public void setMessage(String message) {
-		this.message= message;
-	}
-	
-	public String getMessage() {
-		return message;
-	}
-	
-}
diff --git a/ant/org.eclipse.ant.tests.ui/test.xml b/ant/org.eclipse.ant.tests.ui/test.xml
deleted file mode 100644
index c6f1563..0000000
--- a/ant/org.eclipse.ant.tests.ui/test.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="testsuite" default="run" basedir=".">
-  <!-- sets the properties eclipse-home, and library-file -->
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}\..\.."/>
-<property name="plugin-name" value="org.eclipse.ant.tests.ui"/>
-  <property name="library-file"
-            value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
- 
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="jdt-folder" 
-              value="${eclipse-home}/jdt_folder"/>
-    <delete dir="${jdt-folder}" quiet="true"/>
-    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${jdt-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" 
-                value="org.eclipse.ant.tests.ui.testplugin.AntUITests"/>
-    </ant>
-  </target>
-	
- <!-- This target defines the performance tests that need to be run. -->
-	  <target name="perfsuite">
-	    <property name="jdt-folder" 
-	              value="${eclipse-home}/jdt_folder"/>
-	    <delete dir="${jdt-folder}" quiet="true"/>
-	    <ant target="ui-test" antfile="${library-file}" dir="${eclipse-home}">
-	      <property name="data-dir" value="${jdt-folder}"/>
-	      <property name="plugin-name" value="${plugin-name}"/>
-	      <property name="classname" 
-	                value="org.eclipse.ant.tests.ui.testplugin.AntUIPerformanceTests"/>
-	    </ant>
-	  </target>
-
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,suite,cleanup">
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-  </target>
-
-  <!--This target runs the performance test suites and collects results.-->
-  <target name="performance" depends="init, perfsuite, cleanup">
-  	<ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-		<property name="includes" value="org*.xml"/>
-		<property name="output-file" value="${plugin-name}.xml"/>
-	</ant>
-  </target>
-	
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/74840.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/74840.xml
deleted file mode 100644
index c61443f..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/74840.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<project name="project" default="default">
-	<target name="default">
-		<echo>${platform.location}</echo>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/antUITestsSupport.jar b/ant/org.eclipse.ant.tests.ui/testbuildfiles/antUITestsSupport.jar
deleted file mode 100644
index 054eec8..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/antUITestsSupport.jar
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/bad.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/bad.xml
deleted file mode 100644
index f1c4d51..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/bad.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<project name="Echoing" default="echo1" basedir="..">
-
-	<target name="echo1">
-		<echo messge="echo1"/>
-	</target>
-	
-	<target name="echo2">
-		<echo message="echo2"/>
-	</target>
-	
-	<target name="echo3" description= "An echo3!">
-		<echo message="echo3"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/badproject.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/badproject.xml
deleted file mode 100644
index 60a79a8..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/badproject.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<project ndefault="make">
-	<target name="make">
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/breakpoints.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/breakpoints.xml
deleted file mode 100644
index 42fbdfb..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/breakpoints.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="debugEcho" default="default">
-	<target name="default">
-		<echo>1</echo>
-		<echo>2</echo>
-		<property name="ZZZ" value="ZZZ" />
-		<sleep milliseconds="500" />
-		<echo>3</echo>
-		<echo>4</echo>
-		<echo>5</echo>
-		<echo>6</echo>
-		<echo>7</echo>
-		<echo>8</echo>
-		<echo>9</echo>
-		<!--<sleep milliseconds="200" />-->
-	</target>
-
-	<target name="entry1" depends="default">
-		<echo>1</echo>
-		<echo>2</echo>
-	</target>
-
-	<target name="entry2" depends="default">
-		<echo>1</echo>
-		<echo>2</echo>
-	</target>
-</project>
-
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/build.Cp1251.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/build.Cp1251.xml
deleted file mode 100644
index 6ff9539..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/build.Cp1251.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="windows-1251"?>
-<project name="test" default="init" basedir=".">
-
-     <target name="init">
-          <!-- displays Hello in Russian -->
-          <echo message="Çäðàâñòâóéòå"/>
-     </target>
-
-
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/build.UTF8.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/build.UTF8.xml
deleted file mode 100644
index 08e4733..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/build.UTF8.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="test" default="init" basedir=".">
-
-     <target name="init">
-          <!-- displays Hello in Russian -->
-          <echo message="ЗдÑ€авÑ?Ñ‚вуйÑ‚е"/>
-     </target>
-
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/build.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/build.xml
deleted file mode 100644
index 5cdd64d..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/build.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<project name="Echoing" default="echo1" basedir="..">
-
-	<target name="echo1">
-		<echo message="echo1"/>
-	</target>
-	
-	<target name="echo2">
-		<echo message="echo2"/>
-	</target>
-	
-	<target name="echo3" description= "An echo3!">
-		<echo message="echo3"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest1.properties b/ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest1.properties
deleted file mode 100644
index 7015cfd..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest1.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-prop1=val1
-prop2 = val2
-importFileName= toBeImported.xml
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest1.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest1.xml
deleted file mode 100644
index 9e042ff..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest1.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="testproject" basedir="." default="main">
-	<property name="propD" value="valD" />
-    <property file="buildtest1.properties" />
-    <property name="propV" value="valV" />
-    <target name="main">
-        <property name="property_in_target" value="val"/>
-        <echo>${</echo>
-    </target>
-	<target name="pretest"></target>
-	<target name="test" depends="">
-		<echo>depends</echo>
-	</target>
-	<target name="test2"></target>
-	<target name="test3"></target>
-	<target name="testIf" if=""></target>
-	<target name="testUnless" unless="prop"></target>
-	<target name="testMoreDepends" depends="pretest, ">
-		<echo message="$"></echo>
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest2.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest2.xml
deleted file mode 100644
index 0e3e5d3..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/buildtest2.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="testproject" basedir="." default="main">
-	<property name="propD" value="valD" />
-	<property file="buildtest1.properties" />
-	<target name="main" depends="properties">
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/customBoolean.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/customBoolean.xml
deleted file mode 100644
index 1dd37a0..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/customBoolean.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<project default="defaultTargetName">
-	<target name="defaultTargetName">
-		<eclipse.buildScript recursivegeneration=""/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/dependencytest.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/dependencytest.xml
deleted file mode 100644
index d26ba57..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/dependencytest.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<!-- Ein test case sollte die property proposals in main       -->
-<!-- Ueberpruefen, und ob die diversen properties entsprechend -->
-<!-- der dependencies gesetzt sind                             -->
-
-<project default="main">
-
-	<property name="do_init" value="val"></property>
-	
-	<target name="properties">
-		<property name="prop_prop" value="val"></property>
-		<property name="do_not_compile" value="val"></property>
-		<echo message="executing properties"></echo>
-	</target>
-
-	<!-- should never be executed since property is not set      --> 
-	<target name="additional_properties" if="do_addit_props">
-		<property name="adit_prop" value="val" />
-		<echo message="executing additional_properties"></echo>
-	</target>
-	
-	<target name="init" if="doinit" depends="properties,additional_properties">
-		<property name="init_prop" value="val"></property>
-		<echo message="executing init"></echo>
-	</target>
-	
-	<!-- should never be executed since property should be set   -->
-	<!-- by properties because of dependencies before            --> 
-	<target name="compile" unless="do_not_compile">
-		<property name="compile_prop" value="val"></property>
-		<echo message="executing compile"></echo>
-	</target>
-
-	<target name="main" depends="init, compile">
-		<property name="main_prop" value="val"></property>
-		<echo message="executing main ${well}"></echo>
-	</target>
-	
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/echoing.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/echoing.xml
deleted file mode 100644
index 97b4984..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/echoing.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<project name="Echoing" default="echo1" basedir="..">
-
-	<target name="echo1">
-		<echo message="echo1"/>
-	</target>
-	
-	<target name="echo2">
-		<echo message="echo2"/>
-	</target>
-	
-	<target name="echo3" description= "An echo3!">
-		<echo message="echo3"/>
-	</target>
-	
-	<target name="Bug42984">
-		<echo message="user.dir: ${user.dir}"/>
-	</target>
-	
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/empty.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/empty.xml
deleted file mode 100644
index e69de29..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/empty.xml
+++ /dev/null
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/environmentVar.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/environmentVar.xml
deleted file mode 100644
index a884432..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/environmentVar.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<project>
-	<property environment="env"/>
-	<echo>${env.ANT_HOME}</echo>
-	<echo>${ant.home}</echo>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointSepVM.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointSepVM.xml
deleted file mode 100644
index 2735ed0..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointSepVM.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<project name="Extension point testing in separate VM"
-         default="Extension Points"
-         basedir="."
- >
-    <taskdef name="separateVMTask" classname="org.eclipse.ant.tests.ui.support.tasks.AntTestTask">
-    </taskdef>
-    <target name="Extension Points"
-            description= "Ensure that an extra classpath entry designated as not requiring the Eclipse runtime shows up in a separate VM build"
-     >
-        <separateVMTask/>
-         <echo>${property.ui.testing}</echo>
-        <echo>${property.ui.testing2}</echo>
-    </target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointTaskSepVM.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointTaskSepVM.xml
deleted file mode 100644
index c8e4945..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointTaskSepVM.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<project name="Extension Point Task" default="Extension Point Task" basedir=".">
-	<target name="Extension Point Task" description= "Ensure that an extension point defined task is present">
-		<coolUITask message="cool" reference=""/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointTypeSepVM.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointTypeSepVM.xml
deleted file mode 100644
index bba955e..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/extensionPointTypeSepVM.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<project name="Extension Point Type" default="Extension Point Type" basedir=".">
-
-	<coolUIType id="compile.classpath">
-      <fileset dir="lib">
-        <include name="**/*.jar"/>
-      </fileset>
-    </coolUIType>
-    
-	<target name="Extension Point Type" description= "Ensure that an extension point defined type is present">
-		<echo message="Ensure that an extension point defined type is present"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/failingTarget.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/failingTarget.xml
deleted file mode 100644
index 04418e0..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/failingTarget.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<project default="all">
-	<target name="all" depends="fails, echos"/>
-	<target name="fails">
-		<jar jarfile="jar16.jar" basedir="doesNotExist"/>
-	</target>
-	<target name="echos">
-		<echo>Still echo on failure</echo>
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_source01.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_source01.xml
deleted file mode 100644
index be1ff78..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_source01.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<project default="formatTest">
-
-<!-- = = = = = = --><!-- formatTest  --><!-- = = = = = = --><target name="formatTest" depends="init" description="--> test target one"><!-- hello world --><greeting /></target>
-
-<!-- - - - - - - -->
-<!-- init        -->
-<!-- - - - - - - -->
-<target name="init">
-  <property name="greeting" value="hi" />
-  <presetdef name="greeting"><echo>${greeting}</echo>
-</presetdef>
-   </target>
-
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target01.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target01.xml
deleted file mode 100644
index 3059228..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target01.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<project default="formatTest">
-
-   <!-- = = = = = = -->
-   <!-- formatTest  -->
-   <!-- = = = = = = -->
-   <target name="formatTest" depends="init" description="--> test target one">
-      <!-- hello world -->
-      <greeting />
-   </target>
-
-   <!-- - - - - - - -->
-   <!-- init        -->
-   <!-- - - - - - - -->
-   <target name="init">
-      <property name="greeting" value="hi" />
-      <presetdef name="greeting">
-         <echo>${greeting}</echo>
-      </presetdef>
-   </target>
-
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target02.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target02.xml
deleted file mode 100644
index 6a1ad9c..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target02.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<project default="formatTest">
-
-       <!-- = = = = = = -->
-       <!-- formatTest  -->
-       <!-- = = = = = = -->
-       <target name="formatTest" depends="init" description="--> test target one">
-              <!-- hello world -->
-              <greeting />
-       </target>
-
-       <!-- - - - - - - -->
-       <!-- init        -->
-       <!-- - - - - - - -->
-       <target name="init">
-              <property name="greeting" value="hi" />
-              <presetdef name="greeting">
-                     <echo>${greeting}</echo>
-              </presetdef>
-       </target>
-
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target03.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target03.xml
deleted file mode 100644
index 89cd953..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/formatTest_target03.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<project default="formatTest">
-
-	<!-- = = = = = = -->
-	<!-- formatTest  -->
-	<!-- = = = = = = -->
-	<target name="formatTest" depends="init" description="--> test target one">
-		<!-- hello world -->
-		<greeting />
-	</target>
-
-	<!-- - - - - - - -->
-	<!-- init        -->
-	<!-- - - - - - - -->
-	<target name="init">
-		<property name="greeting" value="hi" />
-		<presetdef name="greeting">
-			<echo>${greeting}</echo>
-		</presetdef>
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/importRequiringUserProp.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/importRequiringUserProp.xml
deleted file mode 100644
index 18a1271..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/importRequiringUserProp.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0"?>
-<project name="importRequiringUserProperties" default="import-default">
-	<description>${importFileName to be defined as an argument, config property or in a config property file</description>
-	<import file="${importFileName}" />
-	<target name="one" depends="import-default">
-		<echo>one</echo>
-	</target>
-
-</project>
-
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/input.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/input.xml
deleted file mode 100644
index 8d70ab5..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/input.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<project name="input testing" default= "input test">
-	<target name="input test">
-		<input message="Enter for echo" addproperty= "inputTest">
-		</input>
-		<echo message="${inputTest}"/>
-	</target>	
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/javac.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/javac.xml
deleted file mode 100644
index 61e00c2..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/javac.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<project default="javacIt">
-	<target name="javacIt">
-		<javac includejavaruntime=""
-			followsymlinks=""
-			includeantruntime=""/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/macrodef.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/macrodef.xml
deleted file mode 100644
index 051f01b..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/macrodef.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<project default="type">
-
-	<macrodef name="eclipseMacro">
-		<attribute name="v" default="NOT SET" />
-		<attribute name="eclipse" default="yes" description="Testing Eclipse"/>
-		<element name="some-tasks" optional="yes" />
-		<sequential>
-			<echo>Eclipse!: @{v}</echo>
-		</sequential>
-	</macrodef>
-
-	<target name="type">
-		<eclipseMacro v="This is v">
-			
-		</eclipseMacro>
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/mixed.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/mixed.xml
deleted file mode 100644
index 368edbb..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/mixed.xml
+++ /dev/null
@@ -1 +0,0 @@
-<project><target><sql driver="" password="" url="" userid=""></sql><concat></concat></target></project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/nestedElementAttributes.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/nestedElementAttributes.xml
deleted file mode 100644
index 3b0d919..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/nestedElementAttributes.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<project default="go">
-	<taskdef name="nestedTest" classname="org.eclipse.ant.tests.ui.support.tasks.NestElementTask" />
-	<target name="go">
-		<nestedTest>
-			<nestedelement works="" />
-		</nestedTest>
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/outline_select_test_build.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/outline_select_test_build.xml
deleted file mode 100644
index 7df0f5e..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/outline_select_test_build.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.ui.externaltools.internal.ant.editor" default="zip.plugin" basedir=".">
-	<target name="init" depends="properties">
-	    <property file="build.properties" />
-		<property name="version.suffix" value="_0.4.5" />
-		<property name="plugins_dir" value="${eclipse_dir}/plugins" />
-		<property name="plugin" value="org.eclipse.ui.externaltools.internal.ant.editor" />
-		<property name="full.name" value="${plugin}${version.suffix}" />
-		<property name="temp.folder" value="${basedir}/temp.folder" />
-		<property name="plugin.destination" value="${basedir}" />
-		<property name="build.result.folder" value="${basedir}" />
-		<property name="source.antEditor.jar" value="src/" />
-		<echo message="Value is ${plugins_dir}" />
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-
-</project>
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/performance/build.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/performance/build.xml
deleted file mode 100644
index 8134903..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/performance/build.xml
+++ /dev/null
@@ -1,2360 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 1993-2003 SEAGULL -->
-<?xm-well_formed path = ""?>
-<!-- ===================================================================
-
-Build file for the Transidiom Java components: AIS, IDT, IFT, etc.
-
-Notes:
-
-   - This is a build file for use with the Jakarta Ant build tool.
-   - naming guidelines:
-     - For properties, the names are generally moduleName.propertyType, e.g. ais.files.
-     - For targets, the names are generally action.moduleName, e.g. compile.ais.
-
-Prerequisites:
-
-   jakarta-ant from http://jakarta.apache.org
-   A JAXP-compliant XSLT transformer.
-     - Xalan, from http://xml.apache.org.
-   A JAXP-compliant DOM parser.
-     - Xerces, from http://xml.apache.org.
-
-Main targets:
-
- clean          Removes all the generated files and directories
- clean.classes  Removes all .class files
- compile        Compiles all the sources into ${build.classes}
- dist           Creates the distribution in ${build.dist}
- jars           Creates the jar files in ${build.lib}
- nightly-build  Creates a nightly build (does it all)
- test           Runs the tests.
- test.compile   Compiles the unit tests without triggering any dependencies.
- verify         Verifies the build by performing a load tests on jar files (does not trigger the jar dependencies.)
- zip            Creates the final ${zip-file} (does it all)
-
-TODO:
-    Distinguish between compile and runtime classpath:
-    - component.classpath.compile
-    - component.classpath.rt
-
-Authors:
-
-  Lee Breisacher: lbreisacher@seagullsw.com
-  Gary Gregory: ggregory@seagullsw.com
-
-==================================================================== -->
-<project default="zip" basedir="." name="transidiom">
-    <!-- General properties -->
-    <property file="local-build.properties"/>
-    <property file="build.properties"/>
-    <property name="COMPANY.word" value="SEAGULL"/>
-    <property name="product.name" value="Application Interface Server"/>
-    <property name="Name" value="Application Interface Server"/>
-    <property name="src.root.dir" value=".."/>
-    <property name="binary.root.dir" value="${src.root.dir}/../../BinE"/>
-    <!-- UGLY!! This creates a dependency to the 'E' tree. Not sure how to solve it, though -->
-    <property name="src.dir" value="${src.root.dir}/Source"/>
-    <property name="java.resource.dir" value="${src.root.dir}/Resources"/>
-    <property name="xslt.resource.dir" value="../../Resources/XSLT"/>
-    <property name="fdef.dirname" value="config/functions"/>
-    <property name="root.dir" value="${src.root.dir}/Root"/>
-    <property name="root.dir.sys" value="${root.dir}/System"/>
-    <property name="root.dir.sysdef" value="${root.dir.sys}/Defaults"/>
-    <property name="root.dir.server" value="${root.dir}/server"/>
-    <property name="root.dir.server-config" value="${root.dir.server}/config"/>
-    <property name="root.dir.tools-config" value="${root.dir}/tools/config"/>
-    <property name="root.dir.mq" value="${root.dir}/mq"/>
-    <property name="root.dir.server-log" value="${root.dir.server-config}/log"/>
-    <property name="root.dir.server-transform" value="${root.dir.server-config}/transform"/>
-    <property name="root.dir.tools-log" value="${root.dir.tools-config}/log"/>
-    <property name="doc.dir" value="${src.root.dir}/Doc/Deliver"/>
-    <property name="test.dir" value="${src.root.dir}/Test"/>
-    <property name="src.test.dir" value="${test.dir}/Source"/>
-    <property name="build.dir" location="${basedir}/../buildoutput"/>
-    <property name="build.classes" value="${build.dir}/classes"/>
-    <property name="build.etc" value="${build.dir}/etc"/>
-    <property name="build.lib" value="${build.dir}/lib"/>
-    <property name="build.checksum" location="${build.lib}/checksum"/>
-    <property name="all-jars.xml" location="${build.checksum}/all-jars.xml"/>
-    <property name="build.dist" value="${build.dir}/dist"/>
-    <property name="zipFileBaseName" value="AppInterface"/>
-    <property name="thirdparty.dir" value="../../../../ThirdParty"/>
-    <property name="modifiedthirdparty.dir" value="../../ModifiedThirdParty"/>
-    <property name="sourcesafemirror.dir" value="../../SourceSafeMirror"/>
-    <property name="src.sourcesafemirror.dir" value="${sourcesafemirror.dir}/Java/Source"/>
-    <!-- 3rd party jar references -->
-    <property name="apache.dir" value="${thirdparty.dir}/apache.org"/>
-    <property name="xalan.dir" value="${apache.dir}/xalan-j/2.5.1/bin"/>
-    <property name="ant.jarname" value="ant.jar"/>
-    <property name="ant.jar" value="${apache.dir}/jakarta-ant/1.5.2/${ant.jarname}"/>
-    <property name="xerces.jarname" value="xercesImpl.jar"/>
-    <property name="xerces.jar" value="${xalan.dir}/${xerces.jarname}"/>
-    <property name="xalan.jarname" value="xalan.jar"/>
-    <property name="xalan.jar" value="${xalan.dir}/${xalan.jarname}"/>
-    <property name="xsltc.jarname" value="xsltc.jar"/>
-    <property name="xsltc.jar" value="${xalan.dir}/${xsltc.jarname}"/>
-    <property name="xml-apis.jarname" value="xml-apis.jar"/>
-    <property name="xml-apis.jar" value="${xalan.dir}/${xml-apis.jarname}"/>
-    <property name="soap.jarname" value="soap.jar"/>
-    <property name="soap.jar" value="${modifiedthirdparty.dir}/Soap/2.2/java/build/lib/${soap.jarname}"/>
-    <property name="mail.jarname" value="mailapi.jar"/>
-    <property name="mail.jar" value="${thirdparty.dir}/sun/JavaMail/1.3/lib/${mail.jarname}"/>
-    <property name="activation.jarname" value="activation.jar"/>
-    <property name="activation.jar" value="${thirdparty.dir}/sun/jaf/1.0.2/${activation.jarname}"/>
-    <property name="servlet.jarname" value="servlet.jar"/>
-    <property name="servlet.dir" value="${apache.dir}/jakarta-tomcat/3.2.1/ServletAPI/lib"/>
-    <property name="servlet.jar" value="${servlet.dir}/${servlet.jarname}"/>
-    <property name="commons-httpclient.jarname" value="commons-httpclient-2.0-rc2.jar"/>
-    <property name="commons-httpclient.dir" value="${apache.dir}/commons-httpclient/2.0-rc2"/>
-    <property name="commons-httpclient.jar" value="${commons-httpclient.dir}/${commons-httpclient.jarname}"/>
-    <property name="commons-logging.jarname" value="commons-logging.jar"/>
-    <property name="commons-logging.dir" value="${apache.dir}/commons-logging/1.0.3"/>
-    <property name="commons-logging.jar" value="${commons-logging.dir}/${commons-logging.jarname}"/>
-    <property name="ibm.mq.jarname" value="com.ibm.mq.jar"/>
-    <property name="ibm.mq.jar" value="${thirdparty.dir}/IBM/MQSeries/5.2.2/${ibm.mq.jarname}"/>
-    <property name="ibm.mqbind.jar" value="${thirdparty.dir}/IBM/MQSeries/5.2.2/com.ibm.mqbind.jar"/>
-    <property name="ibm.mqjms.jar" value="${thirdparty.dir}/IBM/MQSeries/5.2.2/com.ibm.mqjms.jar"/>
-    <property name="ibm.mq.connector.jar" value="${thirdparty.dir}/IBM/MQSeries/5.2.2/connector.jar"/>
-    <property name="ibm.mq.jta.jar" value="${thirdparty.dir}/IBM/MQSeries/5.2.2/jta.jar"/>
-    <property name="microsoftsecurityclasses.zip" value="${thirdparty.dir}/Microsoft/security/5.00.2922.0/MicrosoftSecurityClasses.zip"/>
-    <property name="commons-codec.jarname" value="commons-codec-1.1.1-dev.jar"/>
-    <property name="commons-codec.jar" value="${apache.dir}/commons-codec/20030516/${commons-codec.jarname}"/>
-    <property name="commons-collections.jarname" value="commons-collections-2_1.jar"/>
-    <property name="commons-collections.jar" value="${apache.dir}/commons-collections/2.1/${commons-collections.jarname}"/>
-    <property name="commons-cli.jarname" value="commons-cli-1_0.jar"/>
-    <property name="commons-cli.jar" value="${apache.dir}/commons-cli/1.0/${commons-cli.jarname}"/>
-    <property name="commons-lang.jarname" value="commons-lang-2.0.jar"/>
-    <property name="commons-lang.jar" value="${apache.dir}/commons-lang/2.0/${commons-lang.jarname}"/>
-    <property name="commons-pool.jarname" value="commons-pool.jar"/>
-    <property name="commons-pool.jar" value="${apache.dir}/commons-pool/20030429/${commons-pool.jarname}"/>
-    <property name="ctgclient.jarname" value="ctgclient.jar"/>
-    <property name="ctgclient.dir" value="${thirdparty.dir}/IBM/CICS Transaction Gateway/5.0"/>
-    <property name="ctgclient.jar" value="${ctgclient.dir}/${ctgclient.jarname}"/>
-    <property name="jakarta-oro.jarname" value="jakarta-oro-2.0.7.jar"/>
-    <property name="jakarta-oro.jar" value="${apache.dir}/jakarta-oro/2.0.7/${jakarta-oro.jarname}"/>
-    <property name="log4j.jarname" value="log4j-1_2_7.jar"/>
-    <property name="log4j.jar" value="${apache.dir}/jakarta-log4j/1.2.7/${log4j.jarname}"/>
-    <property name="goXMLEngine.jar" value="${thirdparty.dir}/XMLGlobal/GoXMLTransform/3_0_0/lib/engine.jar"/>
-    <property name="goXMLResource.zip" value="${thirdparty.dir}/XMLGlobal/GoXMLTransform/3_0_0/lib/resource.zip"/>
-    <property name="goXMLconfig.dir" value="${thirdparty.dir}/XMLGlobal/GoXMLTransform/3_0_0/config"/>
-    <!-- JDom beta 8 is not compatible with GoXMLTransform 3.0.0, use beta 7 from GoXMLTransform 3.0.0 -->
-    <property name="jdom.jarname" value="jdom.jar"/>
-    <property name="jdom.jar" value="${thirdparty.dir}/XMLGlobal/GoXMLTransform/3_0_0/lib/${jdom.jarname}"/>
-    <property name="jaxb1.jarname" value="jaxb-api.jar"/>
-    <property name="jaxb2.jarname" value="jaxb-impl.jar"/>
-    <property name="jaxb3.jarname" value="jaxb-libs.jar"/>
-    <property name="jaxb4.jarname" value="jax-qname.jar"/>
-    <property name="jaxb5.jarname" value="namespace.jar"/>
-    <property name="jaxb6.jarname" value="xsdlib.jar"/>
-    <property name="jaxb7.jarname" value="relaxngDatatype.jar"/>
-    <property name="jaxb.jarnames" value="${jaxb1.jarname} ${jaxb2.jarname} ${jaxb3.jarname} ${jaxb4.jarname} ${jaxb5.jarname} ${jaxb6.jarname} ${jaxb7.jarname} "/>
-    <property name="jwsdp.dir" value="${thirdparty.dir}/sun/jwsdp/1.2"/>
-    <property name="jaxb.dir" value="${jwsdp.dir}/jaxb/lib"/>
-    <property name="jaxb.shared.dir" value="${jwsdp.dir}/jwsdp-shared/lib"/>
-    <property name="jaxb1.jar" value="${jaxb.dir}/${jaxb1.jarname}"/>
-    <property name="jaxb2.jar" value="${jaxb.dir}/${jaxb2.jarname}"/>
-    <property name="jaxb3.jar" value="${jaxb.dir}/${jaxb3.jarname}"/>
-    <property name="jaxb4.jar" value="${jaxb.shared.dir}/${jaxb4.jarname}"/>
-    <property name="jaxb5.jar" value="${jaxb.shared.dir}/${jaxb5.jarname}"/>
-    <property name="jaxb6.jar" value="${jaxb.shared.dir}/${jaxb6.jarname}"/>
-    <property name="jaxb7.jar" value="${jaxb.shared.dir}/${jaxb7.jarname}"/>
-    <property name="jms.jarname" value="jms-1_0_2_b.jar"/>
-    <property name="jms.jar" value="${thirdparty.dir}/sun/jms/1.0.2b/${jms.jarname}"/>
-    <property name="jce.jarname" value="jce1_2_2.jar"/>
-    <property name="jce.jar" value="${thirdparty.dir}/sun/jce/1.2.2/lib/${jce.jarname}"/>
-    <property name="jce_provider.jarname" value="sunjce_provider.jar"/>
-    <property name="jce_provider.jar" value="${thirdparty.dir}/sun/jce/1.2.2/lib/${jce_provider.jarname}"/>
-    <property name="jcert.jarname" value="jcert.jar"/>
-    <property name="jnet.jarname" value="jnet.jar"/>
-    <property name="jsse.jarname" value="jsse.jar"/>
-    <property name="jsse.dir" value="${thirdparty.dir}/sun/jsse/1.0.3_02-gl/lib"/>
-    <property name="jcert.jar" value="${jsse.dir}/${jcert.jarname}"/>
-    <property name="jnet.jar" value="${jsse.dir}/${jnet.jarname}"/>
-    <property name="jsse.jar" value="${jsse.dir}/${jsse.jarname}"/>
-    <property name="jaas.jarname" value="jaas-1_0.jar"/>
-    <property name="jaas.jar" value="${thirdparty.dir}/sun/jaas/1.0/lib/${jaas.jarname}"/>
-    <property name="jta.jarname" value="jta-1_0_1B-classes.zip"/>
-    <property name="jta.jar" value="${thirdparty.dir}/sun/jta/jta-1_0_1b/${jta.jarname}"/>
-    <property name="concurrent.jarname" value="concurrent-1_3_2.jar"/>
-    <property name="concurrent.jar" value="${thirdparty.dir}/oswego.edu/util.concurrent/1.3.2/${concurrent.jarname}"/>
-    <property name="xmlsec.jar" value="${apache.dir}/xml-security/xml-security-1_0_4/build/xmlsec-1_0_4.jar"/>
-    <property name="imsico.jarname" value="imsico-1_2_5.jar"/>
-    <property name="imsico.jar" value="${thirdparty.dir}/IBM/IMSICO/1.2.5/${imsico.jarname}"/>
-    <property name="imsico-connector.jarname" value="imsico-connector-1_2_5.jar"/>
-    <property name="imsico-connector.jar" value="${thirdparty.dir}/IBM/IMSICO/1.2.5/${imsico-connector.jarname}"/>
-    <property name="junit.jar" value="${thirdparty.dir}/junit/3.8.1/junit.jar"/>
-    <property name="mtjunit.jar" value="${thirdparty.dir}/MTJUnit/1.0/MTJUnit-1.jar"/>
-    <property name="retroguard.jar" value="${thirdparty.dir}/Retroguard/1.1.13/retroguard.jar"/>
-    <property name="j2se.tools.jarname" value="tools.jar"/>
-    <property name="j2se.tools.jar" value="${thirdparty.dir}/sun/j2se/1.3.1_08/lib/${j2se.tools.jarname}"/>
-    <property name="obfuscate.script" value="${src.root.dir}/Build/obfuscate_hsc.rgs"/>
-    <property name="obfuscate.log" value="${build.lib}/obfuscate_hsc.log"/>
-    <property name="extension.dir.name" value="ext"/>
-    <property name="compile.debug" value="on"/>
-    <property name="compile.optimize" value="off"/>
-    <!-- These two will normally be set outside this file in the build.properties file. -->
-    <property name="version" value="2.3.X.WIP"/>
-    <property name="build.id" value="0"/>
-    <!-- Jar Manifest standard properties -->
-    <property name="manifest.key.main-class" value="Main-Class"/>
-    <property name="manifest.key.class-path" value="Class-Path"/>
-    <!-- Jar Manifest Seagull properties -->
-    <property name="manifest.key.product" value="${COMPANY.word}-Product"/>
-    <property name="manifest.key.component" value="${COMPANY.word}-Component"/>
-    <property name="manifest.key.version" value="${COMPANY.word}-Version"/>
-    <property name="manifest.key.build" value="${COMPANY.word}-Build"/>
-    <property name="manifest.key.build-ts" value="${COMPANY.word}-Build-Timestamp"/>
-    <!-- Javadoc -->
-    <property name="javadoc.j2se.link" value="http://java.sun.com/j2se/1.3/docs/api/"/>
-    <!-- Checksum -->
-    <property name="checksum.algorithm.md5" value="MD5"/>
-    <property name="checksum.algorithm.sha" value="SHA"/>
-    <!-- =================================================================== -->
-    <!-- Source files and class paths -->
-    <!-- =================================================================== -->
-    <!-- AIS -->
-    <patternset id="ais.files">
-        <include name="com/seagullsw/appinterface/server/**"/>
-        <include name="com/seagullsw/perftest/"/>
-        <exclude name="com/seagullsw/appinterface/server/backend/cics/"/>
-        <exclude name="com/seagullsw/appinterface/server/backend/cobol/"/>
-        <exclude name="com/seagullsw/appinterface/server/backend/ims/"/>
-        <exclude name="com/seagullsw/appinterface/server/backend/hostconnector/"/>
-        <exclude name="com/seagullsw/appinterface/server/backend/hostconnector2/"/>
-        <exclude name="com/seagullsw/appinterface/server/backend/hc5250/"/>
-        <exclude name="com/seagullsw/appinterface/server/backend/hc3270/"/>
-        <exclude name="com/seagullsw/appinterface/server/admin/"/>
-        <exclude name="com/seagullsw/appinterface/server/InvocationUnitTests.*"/>
-    </patternset>
-    <property name="ais-core.jarname" value="ais-core.jar"/>
-    <property name="ais-core.jar" value="${build.lib}/${ais-core.jarname}"/>
-    <path id="jaxb.classpath">
-        <pathelement location="${jaxb1.jar}"/>
-        <pathelement location="${jaxb2.jar}"/>
-        <pathelement location="${jaxb3.jar}"/>
-        <pathelement location="${jaxb4.jar}"/>
-        <pathelement location="${jaxb5.jar}"/>
-        <pathelement location="${jaxb6.jar}"/>
-        <pathelement location="${jaxb7.jar}"/>
-    </path>
-    <path id="jsse.classpath">
-        <pathelement location="${jcert.jar}"/>
-        <pathelement location="${jnet.jar}"/>
-        <pathelement location="${jsse.jar}"/>
-    </path>
-    <path id="jce.classpath.rt">
-        <pathelement location="${jce.jar}"/>
-        <pathelement location="${jce_provider.jar}"/>
-    </path>
-    <path id="ais.classpath">
-        <pathelement location="${ibm.mq.jar}"/>
-        <pathelement location="${ibm.mqbind.jar}"/>
-        <pathelement location="${ibm.mqjms.jar}"/>
-        <pathelement location="${xerces.jar}"/>
-        <pathelement location="${xml-apis.jar}"/>
-        <pathelement location="${xalan.jar}"/>
-        <pathelement location="${soap.jar}"/>
-        <pathelement location="${mail.jar}"/>
-        <pathelement location="${commons-codec.jar}"/>
-        <pathelement location="${commons-collections.jar}"/>
-        <pathelement location="${commons-httpclient.jar}"/>
-        <pathelement location="${commons-lang.jar}"/>
-        <pathelement location="${commons-pool.jar}"/>
-        <pathelement location="${commons-cli.jar}"/>
-        <path refid="jaxb.classpath"/>
-        <pathelement location="${jms.jar}"/>
-        <pathelement location="${concurrent.jar}"/>
-        <pathelement location="${jce.jar}"/>
-    </path>
-    <path id="xml.classpath.compile">
-        <pathelement location="${xml-apis.jar}"/>
-    </path>
-    <path id="xml.classpath.rt">
-        <pathelement location="${xml-apis.jar}"/>
-        <pathelement location="${xerces.jar}"/>
-        <pathelement location="${xalan.jar}"/>
-    </path>
-    <path id="transforms.classpath">
-        <pathelement location="${jakarta-oro.jar}"/>
-        <pathelement location="${xml-apis.jar}"/>
-        <pathelement location="${xerces.jar}"/>
-        <pathelement location="${xalan.jar}"/>
-        <pathelement location="${goXMLEngine.jar}"/>
-        <path refid="jaxb.classpath"/>
-        <pathelement location="${commons-lang.jar}"/>
-    </path>
-    <path id="ais.client.classpath">
-        <pathelement location="${ibm.mq.jar}"/>
-        <pathelement location="${ibm.mqbind.jar}"/>
-        <pathelement location="${ibm.mqjms.jar}"/>
-        <pathelement location="${xml-apis.jar}"/>
-        <pathelement location="${commons-collections.jar}"/>
-        <pathelement location="${commons-lang.jar}"/>
-        <pathelement location="${commons-pool.jar}"/>
-        <path refid="jaxb.classpath"/>
-        <pathelement location="${jms.jar}"/>
-    </path>
-    <!-- AppInterface Communications -->
-    <patternset id="appinterfacecomm.files">
-        <include name="com/seagullsw/appinterface/comm/"/>
-        <exclude name="com/seagullsw/appinterface/comm/servlet/*"/>
-    </patternset>
-    <!-- MTalk Communications -->
-    <patternset id="mtalkcomm.files">
-        <include name="com/seagullsw/net/client/mtalk/"/>
-    </patternset>
-    <!-- AppInterface Setting -->
-    <patternset id="appinterfacesettings.files">
-        <include name="com/seagullsw/appinterface/settings/*"/>
-    </patternset>
-    <path id="appinterfacesettings.classpath">
-        <pathelement location="${xml-apis.jar}"/>
-        <pathelement location="${commons-lang.jar}"/>
-    </path>
-    <!-- AppInterface Server Settings -->
-    <patternset id="appinterfaceserversettings.files">
-        <include name="com/seagullsw/appinterface/server/settings/"/>
-    </patternset>
-    <!-- AppInterface Client -->
-    <patternset id="ais.client.files">
-        <include name="com/seagullsw/appinterface/client/"/>
-        <include name="com/seagullsw/toolbox/config/"/>
-        <include name="com/seagullsw/toolbox/xml/"/>
-        <include name="com/seagullsw/toolbox/log/"/>
-    </patternset>
-    <property name="ais.client.jarname" value="ais-client.jar"/>
-    <property name="ais.client.jar" value="${build.lib}/${ais.client.jarname}"/>
-    <!-- AppInterface Admin Client-->
-    <patternset id="ais.adminclient.files">
-        <include name="com/seagullsw/appinterface/server/admin/*"/>
-    </patternset>
-    <path id="ais.adminclient.classpath">
-        <pathelement location="${commons-lang.jar}"/>
-        <pathelement location="${commons-cli.jar}"/>
-    </path>
-    <property name="ais-adminclient.jarname" value="ais-admin-client.jar"/>
-    <property name="ais-adminclient.jar" value="${build.lib}/${ais-adminclient.jarname}"/>
-    <!-- AppInterface Models -->
-    <patternset id="appinterfacemodels.files">
-        <include name="com/seagullsw/appinterface/model/"/>
-        <exclude name="com/seagullsw/appinterface/model/cics/"/>
-        <exclude name="com/seagullsw/appinterface/model/cobol/"/>
-        <exclude name="com/seagullsw/appinterface/model/ims/"/>
-    </patternset>
-    <!-- Java Extensions -->
-    <patternset id="javaextensions.files">
-        <include name="com/seagullsw/debug/*"/>
-        <include name="com/seagullsw/javax/"/>
-        <exclude name="com/seagullsw/javax/swing/"/>
-    </patternset>
-    <path id="javaextensions.classpath">
-        <pathelement location="${commons-lang.jar}"/>
-    </path>
-    <!-- UIFacilities -->
-    <patternset id="uifacilities.files">
-        <include name="com/parcplace/pjava/Framer/"/>
-        <include name="com/seagullsw/javax/swing/SwingUtilitiesX.*"/>
-        <include name="com/seagullsw/javax/swing/JTextPaneX.*"/>
-        <include name="com/seagullsw/javax/swing/border/"/>
-        <include name="com/seagullsw/ui/"/>
-        <include name="com/seagullsw/debug/ui/"/>
-    </patternset>
-    <path id="uifacilities.classpath">
-        <pathelement location="${commons-lang.jar}"/>
-    </path>
-    <!-- XML Services -->
-    <patternset id="xmlservices.files">
-        <include name="com/seagullsw/io/xml/"/>
-    </patternset>
-    <path id="xmlservices.classpath">
-        <pathelement location="${xml-apis.jar}"/>
-        <pathelement location="${xerces.jar}"/>
-    </path>
-    <!-- Transforms -->
-    <patternset id="transforms.files">
-        <include name="com/seagullsw/appinterface/transforms/"/>
-    </patternset>
-    <!-- Seagull Toolbox -->
-    <patternset id="seagulltoolbox.files">
-        <include name="com/seagullsw/toolbox/"/>
-    </patternset>
-    <path id="seagulltoolbox.classpath">
-        <path refid="xml.classpath.rt"/>
-        <path refid="jaxb.classpath"/>
-        <path refid="jsse.classpath"/>
-        <pathelement location="${commons-httpclient.jar}"/>
-        <pathelement location="${commons-lang.jar}"/>
-        <pathelement location="${commons-cli.jar}"/>
-    </path>
-    <!-- Win32 Interface -->
-    <patternset id="win32interface.files">
-        <include name="com/seagullsw/appinterface/win32/"/>
-    </patternset>
-    <!-- Proxy Servlet -->
-    <patternset id="proxyservlet.files">
-        <include name="com/seagullsw/appinterface/comm/servlet/"/>
-    </patternset>
-    <property name="proxyservlet.jarname" value="ais-servlet-proxy.jar"/>
-    <property name="proxyservlet.jar" value="${build.lib}/${proxyservlet.jarname}"/>
-    <path id="proxyservlet.classpath">
-        <pathelement location="${servlet.jar}"/>
-        <pathelement location="${xerces.jar}"/>
-    </path>
-    <!-- Admin Console -->
-    <patternset id="adminconsole.files">
-        <include name="com/seagullsw/appinterface/server/admin/client/"/>
-    </patternset>
-    <property name="adminconsole.jarname" value="ais-admin.jar"/>
-    <property name="adminconsole.jar" value="${build.lib}/${adminconsole.jarname}"/>
-    <!-- Java Connector Generator -->
-    <patternset id="javaconnectorgenerator.files">
-        <include name="com/seagullsw/appinterface/tools/javaconnectorgenerator/"/>
-    </patternset>
-    <property name="javaconnectorgenerator.jarname" value="JavaConnectorGenerator.jar"/>
-    <property name="javaconnectorgenerator.jar" value="${build.lib}/${javaconnectorgenerator.jarname}"/>
-    <!-- Security Toolkit -->
-    <patternset id="securitytoolkit.files">
-        <include name="com/seagullsw/appinterface/tools/security/"/>
-    </patternset>
-    <property name="securitytoolkit.jarname" value="SecurityToolkit.jar"/>
-    <property name="securitytoolkit.jar" value="${build.lib}/${securitytoolkit.jarname}"/>
-    <!-- Tools Framework -->
-    <patternset id="devtools.framework.files">
-        <include name="com/seagullsw/appinterface/tools/framework/"/>
-    </patternset>
-    <path id="devtools.framework.classpath">
-        <pathelement location="${commons-lang.jar}"/>
-    </path>
-    <!-- Dev Tools -->
-    <patternset id="devtools.files">
-        <include name="com/seagullsw/appinterface/tools/"/>
-        <exclude name="com/seagullsw/appinterface/tools/security/"/>
-    </patternset>
-    <path id="devtools.classpath">
-        <pathelement location="${xml-apis.jar}"/>
-        <pathelement location="${soap.jar}"/>
-        <pathelement location="${commons-lang.jar}"/>
-        <pathelement location="${jce.jar}"/>
-    </path>
-    <property name="ais-tools.jarname" value="ais-tools.jar"/>
-    <property name="ais-tools.jar" value="${build.lib}/${ais-tools.jarname}"/>
-    <!-- JavaTools (e.g. invoking the Java compiler) -->
-    <patternset id="javatools.files">
-        <include name="com/seagullsw/javatools/"/>
-    </patternset>
-    <path id="javatools.classpath">
-        <pathelement location="${j2se.tools.jar}"/>
-        <pathelement location="${jce.jar}"/>
-        <path refid="jaxb.classpath"/>
-        <pathelement location="${commons-lang.jar}"/>
-    </path>
-    <!-- Backends -->
-    <patternset id="hcbackend.files">
-        <include name="com/seagullsw/appinterface/**/*hostconnector*/"/>
-        <include name="com/seagullsw/appinterface/server/backend/hsc/**"/>
-    </patternset>
-    <patternset id="cobol.files">
-        <include name="com/seagullsw/appinterface/server/backend/cobol/"/>
-        <include name="com/seagullsw/appinterface/model/cobol/"/>
-    </patternset>
-    <path id="cobol.classpath">
-        <pathelement location="${xml-apis.jar}"/>
-        <pathelement location="${commons-lang.jar}"/>
-        <pathelement location="${commons-httpclient.jar}"/>
-    </path>
-    <patternset id="cics.files">
-        <include name="com/seagullsw/appinterface/server/backend/cics/"/>
-        <include name="com/seagullsw/appinterface/model/cics/"/>
-    </patternset>
-    <patternset id="ims.backend.files">
-        <include name="com/seagullsw/appinterface/server/backend/ims/"/>
-        <include name="com/seagullsw/appinterface/model/ims/"/>
-    </patternset>
-    <path id="cics.backend.classpath">
-        <pathelement location="${ctgclient.jar}"/>
-        <pathelement location="${xml-apis.jar}"/>
-        <pathelement location="${xerces.jar}"/>
-        <path refid="jaxb.classpath"/>
-        <pathelement location="${jce.jar}"/>
-        <pathelement location="${commons-codec.jar}"/>
-        <pathelement location="${commons-lang.jar}"/>
-    </path>
-    <path id="ims.backend.classpath">
-        <pathelement location="${xml-apis.jar}"/>
-        <pathelement location="${jaas.jar}"/>
-        <pathelement location="${imsico.jar}"/>
-        <pathelement location="${imsico-connector.jar}"/>
-        <pathelement location="${jce.jar}"/>
-        <pathelement location="${jta.jar}"/>
-        <pathelement location="${commons-httpclient.jar}"/>
-        <path refid="jaxb.classpath"/>
-    </path>
-    <property name="ais-5250.jarname" value="ais-5250.jar"/>
-    <property name="ais-5250.jar" value="${build.lib}/${ais-5250.jarname}"/>
-    <property name="ais-3270.jarname" value="ais-3270.jar"/>
-    <property name="ais-3270.jar" value="${build.lib}/${ais-3270.jarname}"/>
-    <property name="ais-cobol.jarname" value="ais-cobol.jar"/>
-    <property name="ais-cobol.jar" value="${build.lib}/${ais-cobol.jarname}"/>
-    <property name="ais-cics.jarname" value="ais-cics.jar"/>
-    <property name="ais-cics.jar" value="${build.lib}/${ais-cics.jarname}"/>
-    <property name="ais-ims.jarname" value="ais-ims.jar"/>
-    <property name="ais-ims.jar" value="${build.lib}/${ais-ims.jarname}"/>
-    <property name="hsc.jarname" value="gwhsc.jar"/>
-    <property name="hsc.jar" value="${build.lib}/${hsc.jarname}"/>
-    <property name="hscu.jarname" value="gwhscu.jar"/>
-    <property name="hscu.jar" value="${build.lib}/${hscu.jarname}"/>
-    <!-- HSC -->
-    <patternset id="hsc.files">
-        <include name="com/seagullsw/gateway/"/>
-        <include name="com/seagullsw/net/"/>
-        <include name="com/seagullsw/security/"/>
-        <include name="com/seagullsw/system/"/>
-        <exclude name="com/seagullsw/net/client/mtalk/"/>
-    </patternset>
-    <!-- All the XSLT files -->
-    <fileset id="xslt.files" dir="${xslt.resource.dir}">
-        <include name="*.xsl"/>
-    </fileset>
-    <!-- All the AppInterface "base" classes -->
-    <fileset id="appinterface.base.files" dir="${build.classes}">
-        <patternset refid="appinterfacecomm.files"/>
-        <patternset refid="appinterfacemodels.files"/>
-        <patternset refid="javaextensions.files"/>
-        <patternset refid="xmlservices.files"/>
-        <patternset refid="mtalkcomm.files"/>
-    </fileset>
-    <!-- All the AppInterface "base" classes -->
-    <fileset id="appinterface.baseplus.files" dir="${build.classes}">
-        <!-- What I really want to do here is refer to the .base.files
-                        fileset, but ant doesn't allow nested filesets. Sigh.
-                        <fileset refid="appinterface.base.files"/> -->
-        <patternset refid="appinterfacecomm.files"/>
-        <patternset refid="appinterfacemodels.files"/>
-        <patternset refid="javaextensions.files"/>
-        <patternset refid="xmlservices.files"/>
-        <patternset refid="appinterfacesettings.files"/>
-        <patternset refid="uifacilities.files"/>
-        <patternset refid="seagulltoolbox.files"/>
-        <patternset refid="mtalkcomm.files"/>
-        <patternset refid="transforms.files"/>
-    </fileset>
-    <!-- =================================================================== -->
-    <!-- Set file copy filters -->
-    <!-- =================================================================== -->
-    <property name="text.copyright.1" value="(c) 1993 - 2003 Seagull Business Software Ireland Ltd."/>
-    <property name="text.copyright.2" value="All Rights Reserved."/>
-    <target name="init.filters">
-        <filter token="PRODUCT" value="${product.name}"/>
-        <filter token="VERSION" value="${version}"/>
-        <filter token="BUILDID" value="${build.id}"/>
-        <filter token="BUILDTIMESTAMP" value="${BuildTimeStamp}"/>
-        <filter token="COPYRIGHT-1" value="${text.copyright.1}"/>
-        <filter token="COPYRIGHT-2" value="${text.copyright.2}"/>
-    </target>
-    <!-- =================================================================== -->
-    <!-- Compiles -->
-    <!-- =================================================================== -->
-    <target name="compile" depends="compile.ais, compile.ais.client, compile.ais.adminclient, compile.devtools, compile.proxyservlet, compile.adminconsole, compile.javaconnectorgenerator, compile.securitytoolkit, compile.hcbackend, compile.cobol, compile.cics, compile.IMSbackend" description="Compiles all the sources into ${build.classes}"/>
-    <!-- doACompile - a compile "subroutine" -->
-    <target name="doACompile">
-        <javac srcdir="${src.dir}" destdir="${build.classes}" debug="${compile.debug}" optimize="${compile.optimize}" failonerror="true" includeAntRuntime="false">
-            <patternset refid="${doACompile.files}"/>
-        </javac>
-    </target>
-    <!-- doACompileWithClasspath - a compile "subroutine" -->
-    <target name="doACompileWithClasspath">
-        <javac srcdir="${src.dir}" destdir="${build.classes}" debug="${compile.debug}" optimize="${compile.optimize}" failonerror="true" includeAntRuntime="false">
-            <patternset refid="${doACompile.files}"/>
-            <classpath refid="${doACompile.classpath}"/>
-        </javac>
-    </target>
-    <!-- AIS -->
-    <target name="compile.ais" depends="compile.toolbox, compile.xmlservices, compile.transforms, compile.uifacilities, compile.appinterfacesettings, compile.appinterfacemodels, compile.appinterfacecomm, compile.hsc, compile.mtalkcomm">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="ais.files"/>
-            <param name="doACompile.classpath" value="ais.classpath"/>
-        </antcall>
-    </target>
-    <!-- AppInterface Models -->
-    <target name="compile.appinterfacemodels" depends="prepare, compile.xmlservices">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="appinterfacemodels.files"/>
-            <param name="doACompile.classpath" value="ais.classpath"/>
-        </antcall>
-    </target>
-    <!-- AppInterface Communications -->
-    <target name="compile.appinterfacecomm" depends="prepare">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="appinterfacecomm.files"/>
-            <param name="doACompile.classpath" value="ais.classpath"/>
-        </antcall>
-    </target>
-    <!-- MTalk Communication -->
-    <target name="compile.mtalkcomm" depends="prepare">
-        <antcall target="doACompile">
-            <param name="doACompile.files" value="mtalkcomm.files"/>
-        </antcall>
-    </target>
-    <!-- AppInterface Setting -->
-    <target name="compile.appinterfacesettings" depends="prepare">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="appinterfacesettings.files"/>
-            <param name="doACompile.classpath" value="appinterfacesettings.classpath"/>
-        </antcall>
-    </target>
-    <!-- UI Facilities -->
-    <target name="compile.uifacilities" depends="prepare">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="uifacilities.files"/>
-            <param name="doACompile.classpath" value="uifacilities.classpath"/>
-        </antcall>
-    </target>
-    <!-- Java Extensions -->
-    <target name="compile.javaextensions" depends="prepare">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="javaextensions.files"/>
-            <param name="doACompile.classpath" value="javaextensions.classpath"/>
-        </antcall>
-    </target>
-    <!-- XML Services -->
-    <target name="compile.xmlservices" depends="compile.javaextensions">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="xmlservices.files"/>
-            <param name="doACompile.classpath" value="xmlservices.classpath"/>
-        </antcall>
-    </target>
-    <!-- Transforms -->
-    <target name="compile.transforms" depends="compile.javaextensions">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="transforms.files"/>
-            <param name="doACompile.classpath" value="transforms.classpath"/>
-        </antcall>
-    </target>
-    <!-- Seagull Toolbox -->
-    <target name="compile.toolbox" depends="compile.javaextensions">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="seagulltoolbox.files"/>
-            <param name="doACompile.classpath" value="seagulltoolbox.classpath"/>
-        </antcall>
-    </target>
-    <!-- Win32 Interface -->
-    <target name="compile.win32interface" depends="prepare">
-        <antcall target="doACompile">
-            <param name="doACompile.files" value="win32interface.files"/>
-        </antcall>
-    </target>
-    <!-- AppInterface Client -->
-    <target name="compile.ais.client" depends="prepare, compile.xmlservices, compile.appinterfacecomm, compile.appinterfacemodels">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="ais.client.files"/>
-            <param name="doACompile.classpath" value="ais.client.classpath"/>
-        </antcall>
-    </target>
-    <!-- AppInterface Admin Client -->
-    <target name="compile.ais.adminclient" depends="prepare, compile.xmlservices, compile.appinterfacecomm, compile.appinterfacemodels, compile.ais.client">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="ais.adminclient.files"/>
-            <param name="doACompile.classpath" value="ais.classpath"/>
-        </antcall>
-    </target>
-    <!-- Proxy Servlet -->
-    <target name="compile.proxyservlet" depends="prepare">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="proxyservlet.files"/>
-            <param name="doACompile.classpath" value="proxyservlet.classpath"/>
-        </antcall>
-    </target>
-    <!-- Admin Console -->
-    <target name="compile.adminconsole" depends="prepare, compile.devtools.framework">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="adminconsole.files"/>
-            <param name="doACompile.classpath" value="ais.adminclient.classpath"/>
-        </antcall>
-    </target>
-    <!-- Java Connector Generator -->
-    <target name="compile.javaconnectorgenerator" depends="prepare, compile.devtools.framework, compile.appinterfacemodels, compile.javatools">
-        <antcall target="doACompile">
-            <param name="doACompile.files" value="javaconnectorgenerator.files"/>
-        </antcall>
-    </target>
-    <!-- Security Toolkit -->
-    <target name="compile.securitytoolkit" depends="prepare, compile.devtools.framework, compile.appinterfacemodels, compile.javatools">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="securitytoolkit.files"/>
-            <param name="doACompile.classpath" value="devtools.classpath"/>
-        </antcall>
-    </target>
-    <!-- Tools Framework -->
-    <target name="compile.devtools.framework" depends="prepare, compile.toolbox, compile.xmlservices, compile.uifacilities, compile.appinterfacesettings">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="devtools.framework.files"/>
-            <param name="doACompile.classpath" value="devtools.framework.classpath"/>
-        </antcall>
-    </target>
-    <!-- DevTools -->
-    <target name="compile.devtools" depends="prepare, compile.devtools.framework, compile.ais.client, compile.appinterfacemodels, compile.javatools">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="devtools.files"/>
-            <param name="doACompile.classpath" value="devtools.classpath"/>
-        </antcall>
-    </target>
-    <!-- JavaTools (e.g. invoking the Java compiler) -->
-    <target name="compile.javatools" depends="prepare">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="javatools.files"/>
-            <param name="doACompile.classpath" value="javatools.classpath"/>
-        </antcall>
-    </target>
-    <!-- Backends -->
-    <target name="compile.hcbackend" depends="prepare, compile.ais">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="hcbackend.files"/>
-            <param name="doACompile.classpath" value="ais.classpath"/>
-        </antcall>
-    </target>
-    <target name="compile.cobol" depends="prepare, compile.ais">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="cobol.files"/>
-            <param name="doACompile.classpath" value="cobol.classpath"/>
-        </antcall>
-    </target>
-    <target name="compile.cics" depends="prepare, compile.ais">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="cics.files"/>
-            <param name="doACompile.classpath" value="cics.backend.classpath"/>
-        </antcall>
-    </target>
-    <target name="compile.IMSbackend" depends="prepare, compile.ais">
-        <antcall target="doACompileWithClasspath">
-            <param name="doACompile.files" value="ims.backend.files"/>
-            <param name="doACompile.classpath" value="ims.backend.classpath"/>
-        </antcall>
-    </target>
-    <!-- HSC -->
-    <target name="compile.hsc" depends="prepare">
-        <javac srcdir="${src.sourcesafemirror.dir}" classpath="${microsoftsecurityclasses.zip}" destdir="${build.classes}" debug="${compile.debug}" includeAntRuntime="false">
-            <include name="com/seagullsw/"/>
-        </javac>
-    </target>
-    <!-- JavaDoc doclet -->
-    <target name="compile.doclet">
-        <javac srcdir="${src.dir}" destdir="${build.classes}" debug="${compile.debug}" includeAntRuntime="true">
-            <include name="com/seagullsw/internaldev/tools/apidoclet//"/>
-        </javac>
-    </target>
-    <!-- =================================================================== -->
-    <!-- Create jar files -->
-    <!-- =================================================================== -->
-    <target name="compute-checksum">
-        <checksum file="${file}" algorithm="${checksum.algorithm.md5}" property="cs_value"/>
-        <echo level="info" message="${checksum.algorithm.md5} -> ${cs_value}"/>
-        <mkdir dir="${build.checksum}"/>
-        <!-- Create a text file with the checksum value. -->
-        <concat destfile="${build.checksum}/${filename}.${checksum.algorithm.md5}.txt">${cs_value}</concat>
-        <!-- Create an XML file with the checksum value. -->
-        <concat destfile="${build.checksum}/${filename}.${checksum.algorithm.md5}.xml">&lt;?xml version="1.0"?>
-&lt;!-- Build auto-generated -->
-&lt;checksum file="${filename}" algorithm="${checksum.algorithm.md5}">${cs_value}&lt;/checksum></concat>
-        <xmlvalidate file="${build.checksum}/${filename}.${checksum.algorithm.md5}.xml" lenient="true"/>
-    </target>
-    <!-- Create all-jars.xml -->
-    <target name="create-all-jars.xml">
-        <!-- Create an XML file with the jar file names created. -->
-        <concat destfile="${all-jars.xml}">&lt;?xml version="1.0"?>
-&lt;!-- Build auto-generated -->
-&lt;jars>
-    &lt;jar>${ais-core.jarname}&lt;/jar>
-    &lt;jar>${ais.client.jarname}&lt;/jar>
-    &lt;jar>${ais-adminclient.jarname}&lt;/jar>
-    &lt;jar>${proxyservlet.jarname}&lt;/jar>
-    &lt;jar>${adminconsole.jarname}&lt;/jar>
-    &lt;jar>${javaconnectorgenerator.jarname}&lt;/jar>
-    &lt;jar>${securitytoolkit.jarname}&lt;/jar>
-    &lt;jar>${ais-tools.jarname}&lt;/jar>
-    &lt;jar>${ais-5250.jarname}&lt;/jar>
-    &lt;jar>${ais-3270.jarname}&lt;/jar>
-    &lt;jar>${ais-cobol.jarname}&lt;/jar>
-    &lt;jar>${ais-cics.jarname}&lt;/jar>
-    &lt;jar>${ais-ims.jarname}&lt;/jar>
-    &lt;jar>${hsc.jarname}&lt;/jar>
-    &lt;jar>${hscu.jarname}&lt;/jar>
-&lt;/jars>
-        </concat>
-        <echo level="info" message="Created ${all-jars.xml}"/>
-        <xmlvalidate file="${all-jars.xml}" lenient="true"/>
-    </target>
-    <!-- Copy checksum files to report dir -->
-    <target name="copy-checksums">
-        <antcall target="create-all-jars.xml"/>
-        <copy todir="${reports.checksum}">
-            <fileset dir="${build.checksum}"/>
-        </copy>
-    </target>
-    <target name="jars" depends="jar.ais-core, jar.ais.client, jar.ais.adminclient, jar.proxyservlet, jar.adminconsole, jar.javaconnectorgenerator, jar.securitytoolkit, jar.ais-tools, jar.ais-5250, jar.ais-3270, jar.ais-cobol, jar.ais-cics, jar.ais-ims, jar.hsc" description="Creates the jar files in ${build.lib}">
-        <antcall target="copy-checksums"/>
-    </target>
-    <target name="jar.ais-core" depends="init, compile.ais, createSplash.ais.splashscreens">
-        <mkdir dir="${build.lib}"/>
-        <jar jarfile="${ais-core.jar}" basedir="${build.classes}">
-            <patternset refid="ais.files"/>
-            <fileset refid="appinterface.baseplus.files"/>
-            <patternset>
-                <include name="com/seagullsw/javax/swing/"/>
-                <!-- Not sure why this isn't getting included as part of uifacilities.files via appinterface.baseplus.files. -->
-            </patternset>
-            <fileset refid="xslt.files"/>
-            <fileset dir="${java.resource.dir}">
-                <include name="com/seagullsw/appinterface/server/**"/>
-                <include name="com/seagullsw/appinterface/comm/**"/>
-                <exclude name="com/seagullsw/appinterface/server/admin/**"/>
-            </fileset>
-            <fileset dir="${src.dir}">
-                <include name="com/seagullsw/**/jaxb.properties"/>
-                <include name="com/seagullsw/**/bgm.ser"/>
-            </fileset>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.main-class}" value="com.seagullsw.appinterface.server.AppInterfaceServer"/>
-                <attribute name="${manifest.key.class-path}" value="${ais-5250.jarname} ${ais-3270.jarname} ${ais-cobol.jarname} ${ais-cics.jarname} ${ais-ims.jarname} ${xalan.jarname} ${soap.jarname} ${activation.jarname} ${mail.jarname} ${commons-collections.jarname} ${commons-pool.jarname} ${xerces.jarname} ${xml-apis.jarname} ${commons-lang.jarname} ${commons-cli.jarname} ${jaxb.jarnames} ${jakarta-oro.jarname} ${concurrent.jarname} ${commons-httpclient.jarname} ${jms.jarname} ${extension.dir.name}/engine.jar ${extension.dir.name}/resource.zip ${extension.dir.name}/jdom.jar  ../${fdef.dirname}/ ../JavaConnectors/Classes/"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="AIS Core"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${ais-core.jar}"/>
-            <param name="filename" value="${ais-core.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.ais.client" depends="init, compile.ais.client">
-        <mkdir dir="${build.lib}"/>
-        <jar jarfile="${ais.client.jar}" basedir="${build.classes}">
-            <patternset refid="ais.client.files"/>
-            <fileset refid="appinterface.base.files"/>
-            <fileset dir="${src.dir}">
-                <include name="com/seagullsw/toolbox/config/**/jaxb.properties"/>
-                <include name="com/seagullsw/toolbox/config/**/bgm.ser"/>
-            </fileset>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.class-path}" value="${xerces.jarname} ${xml-apis.jarname} ${commons-lang.jarname} ${jaxb.jarnames} ${ibm.mq.jarname} ${jms.jarname} ${mail.jarname} ${soap.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="Java Client"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${ais.client.jar}"/>
-            <param name="filename" value="${ais.client.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.ais.adminclient" depends="init, compile.ais.adminclient">
-        <mkdir dir="${build.lib}"/>
-        <jar jarfile="${ais-adminclient.jar}" basedir="${build.classes}">
-            <patternset refid="ais.adminclient.files"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.class-path}" value="${ais.client.jarname} ${xerces.jarname} ${xml-apis.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="Java Admin Client"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${ais-adminclient.jar}"/>
-            <param name="filename" value="${ais-adminclient.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.proxyservlet" depends="init, compile.proxyservlet">
-        <mkdir dir="${build.lib}"/>
-        <jar jarfile="${proxyservlet.jar}" basedir="${build.classes}">
-            <patternset refid="proxyservlet.files"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.class-path}" value="${ais.client.jarname} ${servlet.jarname} ${xerces.jarname} ${xml-apis.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="Servlet Proxy"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${proxyservlet.jar}"/>
-            <param name="filename" value="${proxyservlet.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.adminconsole" depends="init, compile.adminconsole, createSplash.ais.splashscreens">
-        <mkdir dir="${build.lib}"/>
-        <!-- Copy "resource" files that go in the jar file. -->
-        <copy toDir="${build.classes}" preservelastmodified="true">
-            <fileset dir="${java.resource.dir}">
-                <include name="com/seagullsw/appinterface/server/admin/client/"/>
-                <include name="com/seagullsw/appinterface/server/*.jpg"/>
-            </fileset>
-        </copy>
-        <jar jarfile="${adminconsole.jar}" basedir="${build.classes}">
-            <patternset refid="adminconsole.files"/>
-            <patternset refid="devtools.framework.files"/>
-            <patternset refid="ais.client.files"/>
-            <patternset refid="appinterfaceserversettings.files"/>
-            <fileset refid="appinterface.baseplus.files"/>
-            <include name="com/seagullsw/appinterface/server/*.jpg"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.main-class}" value="com.seagullsw.appinterface.server.admin.client.AppInterfaceServerAdminUIClient"/>
-                <attribute name="${manifest.key.class-path}" value="${ais-core.jarname} ${xerces.jarname} ${xml-apis.jarname} ${xalan.jarname} ${soap.jarname} ${activation.jarname} ${mail.jarname} ${commons-cli.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="Administrative Console"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${adminconsole.jar}"/>
-            <param name="filename" value="${adminconsole.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.javaconnectorgenerator" depends="init, compile.javaconnectorgenerator">
-        <mkdir dir="${build.lib}"/>
-        <!-- Copy "resource" files that go in the jar file. -->
-        <copy toDir="${build.classes}" preservelastmodified="true" filtering="true">
-            <fileset dir="${java.resource.dir}">
-                <include name="com/seagullsw/appinterface/tools/javaconnectorgenerator/"/>
-            </fileset>
-        </copy>
-        <jar jarfile="${javaconnectorgenerator.jar}" basedir="${build.classes}">
-            <patternset refid="javaconnectorgenerator.files"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.main-class}" value="com.seagullsw.appinterface.tools.javaconnectorgenerator.JavaConnectorGenerator"/>
-                <attribute name="${manifest.key.class-path}" value="${ais-tools.jarname} ${xml-apis.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="Java Connector Generator"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${javaconnectorgenerator.jar}"/>
-            <param name="filename" value="${javaconnectorgenerator.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.securitytoolkit" depends="init, compile.securitytoolkit">
-        <mkdir dir="${build.lib}"/>
-        <!-- Copy "resource" files that go in the jar file. -->
-        <copy toDir="${build.classes}" preservelastmodified="true" filtering="true">
-            <fileset dir="${java.resource.dir}">
-                <include name="com/seagullsw/appinterface/tools/security/"/>
-            </fileset>
-        </copy>
-        <jar jarfile="${securitytoolkit.jar}" basedir="${build.classes}">
-            <patternset refid="securitytoolkit.files"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.main-class}" value="com.seagullsw.appinterface.tools.security.SecurityToolkit"/>
-                <attribute name="${manifest.key.class-path}" value="${ais-core.jarname} ${ais-tools.jarname} ${xml-apis.jarname} ${commons-lang.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="Security Toolkit"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${securitytoolkit.jar}"/>
-            <param name="filename" value="${securitytoolkit.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.ais-tools" depends="init, compile.devtools, createSplash.tools.splashscreens, compile.win32interface, compile.javatools">
-        <mkdir dir="${build.lib}"/>
-        <!-- Copy "resource" files that go in the jar file. -->
-        <copy toDir="${build.classes}" preservelastmodified="true">
-            <fileset dir="${java.resource.dir}">
-                <include name="com/seagullsw/appinterface/**/*.gif"/>
-            </fileset>
-        </copy>
-        <jar jarfile="${ais-tools.jar}" basedir="${build.classes}">
-            <patternset refid="devtools.files"/>
-            <patternset refid="adminconsole.files"/>
-            <fileset refid="appinterface.baseplus.files"/>
-            <patternset>
-                <include name="com/seagullsw/appinterface/**/*settings*/"/>
-                <include name="com/seagullsw/javax/swing/"/>
-                <!-- Not sure why this isn't getting included as part of uifacilities.files via appinterface.baseplus.files. -->
-            </patternset>
-            <include name="com/seagullsw/appinterface/tools/images/*.jpg"/>
-            <include name="com/seagullsw/appinterface/**/*.gif"/>
-            <patternset refid="javatools.files"/>
-            <patternset refid="win32interface.files"/>
-            <patternset refid="ais.client.files"/>
-            <fileset refid="xslt.files"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.main-class}" value="com.seagullsw.appinterface.tools.serverdef.DefinitionTool"/>
-                <attribute name="${manifest.key.class-path}" value="${ais-cobol.jarname} ${ais-cics.jarname} ${ais-ims.jarname} ${xerces.jarname} ${xml-apis.jarname} ${xalan.jarname} ${soap.jarname} ${activation.jarname} ${mail.jarname} ${jaxb.jarnames} ${commons-lang.jarname} ${extension.dir.name}/${j2se.tools.jarname} ${ais-tools.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="Tools"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${ais-tools.jar}"/>
-            <param name="filename" value="${ais-tools.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.ais-5250" depends="init, compile.hcbackend">
-        <mkdir dir="${build.lib}"/>
-        <jar jarfile="${ais-5250.jar}" basedir="${build.classes}">
-            <patternset refid="hcbackend.files"/>
-            <exclude name="com/seagullsw/appinterface/tools/"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.class-path}" value="${ais-core.jarname} ${hsc.jarname} ${hscu.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="5250 Connector"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${ais-5250.jar}"/>
-            <param name="filename" value="${ais-5250.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.ais-3270" depends="init, compile.hcbackend">
-        <mkdir dir="${build.lib}"/>
-        <jar jarfile="${ais-3270.jar}" basedir="${build.classes}">
-            <patternset refid="hcbackend.files"/>
-            <exclude name="com/seagullsw/appinterface/tools/"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.class-path}" value="${ais-core.jarname} ${hsc.jarname} ${hscu.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="3270 Connector"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${ais-3270.jar}"/>
-            <param name="filename" value="${ais-3270.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.ais-cobol" depends="init, compile.cobol">
-        <mkdir dir="${build.lib}"/>
-        <jar jarfile="${ais-cobol.jar}" basedir="${build.classes}">
-            <patternset refid="cobol.files"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.class-path}" value="${ais-core.jarname} ${ais-cics.jarname} ${ais-ims.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="Cobol Connector"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${ais-cobol.jar}"/>
-            <param name="filename" value="${ais-cobol.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.ais-cics" depends="init, compile.cics">
-        <mkdir dir="${build.lib}"/>
-        <copy toDir="${build.classes}" preservelastmodified="true">
-            <fileset dir="${src.dir}">
-                <include name="com/seagullsw/**/jaxb.properties"/>
-                <include name="com/seagullsw/**/bgm.ser"/>
-            </fileset>
-        </copy>
-        <jar jarfile="${ais-cics.jar}" basedir="${build.classes}">
-            <patternset refid="cics.files"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.class-path}" value="${ais-core.jarname} ${ais-cobol.jarname} ${extension.dir.name}/${ctgclient.jarname} ${commons-codec.jarname} ${commons-logging.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="CICS Connector"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${ais-cics.jar}"/>
-            <param name="filename" value="${ais-cics.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.ais-ims" depends="init, compile.IMSbackend">
-        <mkdir dir="${build.lib}"/>
-        <jar jarfile="${ais-ims.jar}" basedir="${build.classes}">
-            <patternset refid="ims.backend.files"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.class-path}" value="${ais-core.jarname} ${ais-cobol.jarname} ${imsico.jarname} ${imsico-connector.jarname} ${jaas.jarname} ${jta.jarname}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="IMS Connector"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${ais-ims.jar}"/>
-            <param name="filename" value="${ais-ims.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.hsc" depends="init, compile.hsc">
-        <mkdir dir="${build.lib}"/>
-        <jar jarfile="${hscu.jar}" basedir="${build.classes}">
-            <patternset refid="hsc.files"/>
-            <manifest>
-                <attribute name="Built-By" value="${user.name}"/>
-                <attribute name="${manifest.key.product}" value="${product.name}"/>
-                <attribute name="${manifest.key.component}" value="Host Session Connector"/>
-                <attribute name="${manifest.key.version}" value="${version}"/>
-                <attribute name="${manifest.key.build}" value="${build.id}"/>
-                <attribute name="${manifest.key.build-ts}" value="${BuildTimeStamp}"/>
-            </manifest>
-        </jar>
-        <antcall target="compute-checksum">
-            <param name="file" value="${hscu.jar}"/>
-            <param name="filename" value="${hscu.jarname}"/>
-        </antcall>
-        <echo level="info" message="Running RetroGuard..."/>
-        <java classname="RetroGuard" fork="yes">
-            <arg value="${hscu.jar}"/>
-            <arg value="${hsc.jar}"/>
-            <arg value="${obfuscate.script}"/>
-            <arg value="${obfuscate.log}"/>
-            <classpath>
-                <pathelement path="${retroguard.jar}"/>
-            </classpath>
-        </java>
-        <antcall target="compute-checksum">
-            <param name="file" value="${hsc.jar}"/>
-            <param name="filename" value="${hsc.jarname}"/>
-        </antcall>
-    </target>
-    <target name="jar.testbackend" depends="test.compile">
-        <jar jarfile="${build.lib}/ais-testbackend.jar" basedir="${test.bin}">
-            <include name="com/seagullsw/appinterface/server/backend/aistest/**"/>
-            <fileset dir="${src.test.dir}">
-                <include name="com/seagullsw/appinterface/server/backend/aistest/**/jaxb.properties"/>
-                <include name="com/seagullsw/appinterface/server/backend/aistest/**/bgm.ser"/>
-            </fileset>
-        </jar>
-    </target>
-    <!-- =================================================================== -->
-    <!-- Prepares the build directory -->
-    <!-- =================================================================== -->
-    <target name="prepare" depends="init">
-        <mkdir dir="${build.dir}"/>
-        <mkdir dir="${build.classes}"/>
-    </target>
-    <!-- =================================================================== -->
-    <!-- Cleans -->
-    <!-- =================================================================== -->
-    <target name="clean" description="Removes all the generated files and directories">
-        <delete dir="${build.dir}"/>
-    </target>
-    <target name="clean.jars">
-        <delete dir="${build.lib}"/>
-    </target>
-    <target name="clean.classes" description="Removes all .class files">
-        <delete dir="${build.classes}"/>
-    </target>
-    <!-- =================================================================== -->
-    <!-- Init -->
-    <!-- =================================================================== -->
-    <target name="init" depends="banner">
-        <tstamp>
-            <!-- The date/time patterns are as defined in the Java SimpleDateFormat class. -->
-            <format property="BuildTimeStamp" pattern="yyyy-MMMMM-dd HH:mm z"/>
-        </tstamp>
-        <filter token="PRODUCT" value="${product.name}"/>
-        <filter token="VERSION" value="${version}"/>
-        <filter token="BUILDID" value="${build.id}"/>
-        <filter token="BUILDTIMESTAMP" value="${BuildTimeStamp}"/>
-        <filter token="COPYRIGHT-1" value="${text.copyright.1}"/>
-        <filter token="COPYRIGHT-2" value="${text.copyright.2}"/>
-    </target>
-    <target name="banner" unless="banner-set">
-        <property name="logxsl-prop-sep" value="->"/>
-        <echo level="info" message="ant.file ${logxsl-prop-sep} ${ant.file}"/>
-        <echo level="info" message="ant.version ${logxsl-prop-sep} ${ant.version}"/>
-        <echo level="info" message="java.vm.version ${logxsl-prop-sep} ${ant.java.version}"/>
-        <echo level="info" message="java.version ${logxsl-prop-sep} ${java.version}"/>
-        <echo level="info" message="os.name ${logxsl-prop-sep} ${os.name}"/>
-        <echo level="info" message="Build ID: ${build.id}"/>
-        <property name="banner-set" value="true"/>
-    </target>
-    <!-- =================================================================== -->
-    <!-- Splash Screens -->
-    <!-- =================================================================== -->
-    <property name="internaldev.classes" value="${build.dir}/internaldev"/>
-    <property name="splash.src" value="${src.root.dir}/Build/splashscreen"/>
-    <property name="splash.dest" value="${build.dir}/splashscreens"/>
-    <property name="server.splashscreen.line-1" value="Application Interface Server"/>
-    <property name="tools.splashscreen.line-1" value="Transidiom Developer"/>
-    <!-- Task compile.splashScreenCreator -->
-    <target name="compile.splashScreenCreator">
-        <mkdir dir="${internaldev.classes}"/>
-        <javac srcdir="${src.test.dir}" destdir="${internaldev.classes}" debug="${compile.debug}">
-            <include name="com/seagullsw/internaldev/build/SplashscreenCreator.java"/>
-        </javac>
-    </target>
-    <!--
-             Run SplashscreenCreator program which takes a "vanilla" jpg plus
-             some text and creates a new "merged" jpg.
-             This is used by the createSplash.xxx.splashscreen targets.
-        -->
-    <target name="createSplash" depends="compile.splashScreenCreator">
-        <!--  java task: failonerror works only if fork is true -->
-        <java classname="com.seagullsw.internaldev.build.SplashscreenCreator" failonerror="true" fork="true">
-            <!-- <sysproperty key="com.seagullsw.debug" value="true"/>  -->
-            <sysproperty key="com.seagullsw.quiet" value="false"/>
-            <sysproperty key="com.seagullsw.x" value="8"/>
-            <sysproperty key="com.seagullsw.y" value="196"/>
-            <sysproperty key="com.seagullsw.fontsize" value="11"/>
-            <sysproperty key="com.seagullsw.sourceScreenFile" value="${createSplash.sourceScreenFile}"/>
-            <sysproperty key="com.seagullsw.targetScreenFile" value="${createSplash.targetScreenFile}"/>
-            <sysproperty key="com.seagullsw.screenTextFile" value="${createSplash.screenTextFile}"/>
-            <classpath>
-                <pathelement location="${internaldev.classes}"/>
-            </classpath>
-        </java>
-    </target>
-    <!-- Create AIS splashscreens -->
-    <target name="createSplash.ais.splashscreens" depends="init">
-        <filter token="SERVER.SPLASHSCREEN.LINE-1" value="${server.splashscreen.line-1}"/>
-        <!-- Line 2 is in the template and uses the Version, Build and Build date tokens. -->
-        <filter token="SERVER.SPLASHSCREEN.LINE-3" value="${text.copyright.1}"/>
-        <filter token="SERVER.SPLASHSCREEN.LINE-4" value="${text.copyright.2}"/>
-        <mkdir dir="${splash.dest}"/>
-        <copy file="${splash.src}/splashscreen-template-server.txt" tofile="${splash.dest}/splashscreen-server.txt" overwrite="true" filtering="true"/>
-        <antcall target="createSplash">
-            <param name="createSplash.sourceScreenFile" value="${splash.src}/BasicSplashScreen.jpg"/>
-            <param name="createSplash.screenTextFile" value="${splash.dest}/splashscreen-server.txt"/>
-            <param name="createSplash.targetScreenFile" value="${splash.dest}/ServerSplashScreen.jpg"/>
-        </antcall>
-        <!-- Copy the splash to the AIS and SAC class path -->
-        <copy file="${splash.dest}/ServerSplashScreen.jpg" tofile="${build.classes}/com/seagullsw/appinterface/server/ServerSessionSplashScreen.jpg" overwrite="yes"/>
-    </target>
-    <!-- Create Tools splashscreens -->
-    <target name="createSplash.tools.splashscreens" depends="init">
-        <filter token="TOOLS.SPLASHSCREEN.LINE-1" value="${tools.splashscreen.line-1}"/>
-        <!-- Line 2 is in the template and uses the Version, Build and Build date tokens. -->
-        <filter token="TOOLS.SPLASHSCREEN.LINE-3" value="${text.copyright.1}"/>
-        <filter token="TOOLS.SPLASHSCREEN.LINE-4" value="${text.copyright.2}"/>
-        <mkdir dir="${splash.dest}"/>
-        <copy file="${splash.src}/splashscreen-template-developer.txt" tofile="${splash.dest}/splashscreen-developer.txt" overwrite="true" filtering="true"/>
-        <antcall target="createSplash">
-            <param name="createSplash.sourceScreenFile" value="${splash.src}/BasicSplashScreen.jpg"/>
-            <param name="createSplash.screenTextFile" value="${splash.dest}/splashscreen-developer.txt"/>
-            <param name="createSplash.targetScreenFile" value="${splash.dest}/ToolSessionSplashScreen.jpg"/>
-        </antcall>
-        <!-- Copy the splash to the Tools class path -->
-        <copy file="${splash.dest}/ToolSessionSplashScreen.jpg" tofile="${build.classes}/com/seagullsw/appinterface/tools/images/ToolSessionSplashScreen.jpg" overwrite="yes"/>
-    </target>
-    <!-- =================================================================== -->
-    <!-- Javadoc for client API -->
-    <!-- =================================================================== -->
-    <target name="javadoc_check.ais.client">
-        <uptodate property="ais.client.javadoc.notrequired" targetfile="${ais.client.dist.javadoc}/packages.html">
-            <srcfiles dir="${src.dir}">
-                <patternset refid="ais.client.files"/>
-            </srcfiles>
-        </uptodate>
-    </target>
-    <target name="javadoc.ais.client" depends="prepare, javadoc_check.ais.client" unless="ais.client.javadoc.notrequired">
-        <delete dir="${ais.client.dist.javadoc}" includeEmptyDirs="true" quiet="true"/>
-        <mkdir dir="${ais.client.dist.javadoc}"/>
-        <property name="basic-header" value="${Name}&#x2122;, AIS Client"/>
-        <property name="header+version" value="${basic-header}, v${version}"/>
-        <property name="win-title" value="${header+version} API Specification"/>
-        <property name="doc-title" value="${header+version}&lt;br/&gt;API Specification"/>
-        <javadoc packagenames="com.seagullsw.appinterface.client, com.seagullsw.appinterface.client.java, com.seagullsw.appinterface.client.ibmmq, com.seagullsw.appinterface.comm.ibmmq" sourcepath="${src.dir}" destdir="${ais.client.dist.javadoc}" windowtitle="${win-title}" doctitle="${doc-title}" header="${basic-header}" bottom="&lt;font size=&quot;-1&quot;&gt;${Name} is a trademark or registered trademarks of Seagull Holding NV in the US and other countries.&lt;br/&gt;Copyright &#169; 1993 - 2003 Seagull Business Software Ireland Ltd. All Rights Reserved.&lt;/font&gt;" author="false" version="true" use="true">
-            <classpath>
-                <path refid="ais.classpath"/>
-            </classpath>
-            <!-- The following group elements do not seem to work. -->
-            <group title="Client" packages="com.seagullsw.appinterface.client, com.seagullsw.appinterface.client.java"/>
-            <group title="IBM MQ Series Client" packages="com.seagullsw.appinterface.client.ibmmq, com.seagullsw.appinterface.comm.ibmmq"/>
-            <link href="${javadoc.j2se.link}"/>
-        </javadoc>
-    </target>
-    <target name="javadoc_check.ais.adminclient">
-        <uptodate property="ais.adminclient.javadoc.notrequired" targetfile="${ais.adminclient.dist.javadoc}/packages.html">
-            <srcfiles dir="${src.dir}">
-                <patternset refid="ais.adminclient.files"/>
-            </srcfiles>
-        </uptodate>
-    </target>
-    <target name="javadoc.ais.adminclient" depends="prepare, javadoc_check.ais.adminclient" unless="ais.adminclient.javadoc.notrequired">
-        <delete dir="${ais.adminclient.dist.javadoc}" includeEmptyDirs="true" quiet="true"/>
-        <mkdir dir="${ais.adminclient.dist.javadoc}"/>
-        <property name="basic-header" value="${Name}&#x2122;, AIS Admin Client"/>
-        <property name="header+version" value="${basic-header}, v${version}"/>
-        <property name="win-title" value="${header+version} API Specification"/>
-        <property name="doc-title" value="${header+version}&lt;br/&gt;API Specification"/>
-        <javadoc packagenames="com.seagullsw.appinterface.server.admin" sourcepath="${src.dir}" destdir="${ais.adminclient.dist.javadoc}" windowtitle="${win-title}" doctitle="${doc-title}" header="${basic-header}" bottom="&lt;font size=&quot;-1&quot;&gt;${Name} is a trademark or registered trademarks of Seagull Holding NV in the US and other countries.&lt;br/&gt;Copyright &#169; 1993 - 2003 Seagull Business Software Ireland Ltd. All Rights Reserved.&lt;/font&gt;" author="false" version="true" use="true">
-            <classpath>
-                <path refid="ais.classpath"/>
-            </classpath>
-            <!-- The following group elements do not seem to work. -->
-            <group title="Client" packages="com.seagullsw.appinterface.server.admin"/>
-            <link href="${javadoc.j2se.link}"/>
-        </javadoc>
-    </target>
-    <!-- =================================================================== -->
-    <!-- Distribution targets -->
-    <!-- =================================================================== -->
-    <target name="dist" depends="dist.ais.core, dist.ais.client, dist.aisUNIX, dist.proxyservlet, dist.transidiomcentral, dist.devtools, dist.docs" description="Creates the distribution in ${build.dist}"/>
-    <property name="ais.dist" value="${build.dist}/server"/>
-    <property name="aisUNIX.dist" value="${build.dist}/server-UNIX"/>
-    <property name="ais.client.dist" value="${build.dist}/client/java"/>
-    <property name="proxyservlet.dist" value="${build.dist}/server/servlet"/>
-    <property name="devtools.dist" value="${build.dist}/tools"/>
-    <property name="transidiomcentral.dist" value="${build.dist}/TransidiomCentral"/>
-    <!-- copy 3rd party jar files - a dist "subroutine". -->
-    <!-- Common files to the AIS and Tools? GaryG 2003-04-03 -->
-    <target name="copy3rdPartyJars">
-        <copy file="${xerces.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${xml-apis.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${xalan.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${soap.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${activation.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${mail.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${commons-collections.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${commons-lang.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${commons-codec.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${commons-logging.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${commons-httpclient.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${commons-pool.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${commons-cli.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jakarta-oro.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb1.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb2.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb3.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb4.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb5.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb6.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb7.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jms.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${concurrent.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaas.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${imsico.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${imsico-connector.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jta.jar}" todir="${copy3rdPartyJars.dist.lib}" preservelastmodified="true"/>
-    </target>
-    <!-- Java Client -->
-    <property name="ais.client.dist.javadoc" value="${ais.client.dist}/docs/api"/>
-    <property name="ais.client.dist.lib" value="${ais.client.dist}/lib"/>
-    <property name="ais.client.dist.mq" value="${ais.client.dist}/mq"/>
-    <property name="ais.adminclient.dist.javadoc" value="${ais.client.dist}/admin/docs/api"/>
-    <property name="ais.adminclient.dist.sfd" value="${ais.client.dist}/admin/sfd"/>
-    <!-- dist.ais.client -->
-    <target name="dist.ais.client" depends="jar.ais.client, jar.ais.adminclient, javadoc.ais.client, javadoc.ais.adminclient">
-        <mkdir dir="${ais.client.dist}"/>
-        <mkdir dir="${ais.client.dist.javadoc}"/>
-        <mkdir dir="${ais.client.dist.lib}"/>
-        <mkdir dir="${ais.client.dist.mq}"/>
-        <mkdir dir="${ais.adminclient.dist.javadoc}"/>
-        <mkdir dir="${ais.adminclient.dist.sfd}"/>
-        <copy file="${ais.client.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-adminclient.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${xerces.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${xml-apis.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${commons-lang.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb1.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb2.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb3.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb4.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb5.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb6.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb7.jar}" todir="${ais.client.dist.lib}" preservelastmodified="true"/>
-        <copy file="${root.dir}/mq/MQClientConnection.properties" todir="${ais.client.dist.mq}" preservelastmodified="true"/>
-        <copy todir="${ais.adminclient.dist.sfd}" preservelastmodified="true">
-            <fileset dir="${src.root.dir}/ServerAdminFunctions/InterfaceSchemas"/>
-        </copy>
-    </target>
-    <!-- AIS -->
-    <property name="ais.dist.config" value="${ais.dist}/config"/>
-    <property name="ais.dist.config.copy" value="${ais.dist}/config-default"/>
-    <property name="ais.dist.log" value="${ais.dist.config}/log"/>
-    <property name="ais.dist.transform" value="${ais.dist.config}/transform"/>
-    <property name="ais.dist.lib" value="${ais.dist}/lib"/>
-    <property name="ais.dist.lib.ext" value="${ais.dist.lib}/${extension.dir.name}"/>
-    <property name="ais.dist.mq" value="${ais.dist}/mq"/>
-    <property name="ais.dist.sys" value="${ais.dist}/system"/>
-    <property name="ais.dist.sysdef" value="${ais.dist.sys}/defaults"/>
-    <property name="root.serverSettings" value="${root.dir}/AlternativeServerSettings"/>
-    <property name="root.toolSettings" value="${root.dir}/AlternativeToolSettings"/>
-    <!-- dist.ais.core -->
-    <target name="dist.ais.core" depends="init, jar.ais-core, jar.ais-tools, jar.ais-5250, jar.ais-3270, jar.ais-cobol, jar.ais-cics, jar.ais-ims, jar.hsc, jar.adminconsole, javadoc.openbackend">
-        <mkdir dir="${ais.dist}"/>
-        <mkdir dir="${ais.dist.lib}"/>
-        <mkdir dir="${ais.dist.lib.ext}"/>
-        <mkdir dir="${ais.dist.sys}"/>
-        <mkdir dir="${ais.dist.mq}"/>
-        <copy file="${ais-core.jar}" todir="${ais.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-5250.jar}" todir="${ais.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-3270.jar}" todir="${ais.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-cobol.jar}" todir="${ais.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-cics.jar}" todir="${ais.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-ims.jar}" todir="${ais.dist.lib}" preservelastmodified="true"/>
-        <copy file="${hsc.jar}" todir="${ais.dist.lib}" preservelastmodified="true"/>
-        <copy file="${adminconsole.jar}" todir="${ais.dist.lib}" preservelastmodified="true"/>
-        <antcall target="copy3rdPartyJars">
-            <param name="copy3rdPartyJars.dist.lib" value="${ais.dist.lib}"/>
-        </antcall>
-        <!-- For SCT -->
-        <copy file="${ais-tools.jar}" todir="${ais.dist.lib}" preservelastmodified="true"/>
-        <copy file="${root.dir}/ToolUserSettings.cfg" todir="${ais.dist}" filtering="true"/>
-        <copy file="${root.dir}/start-ais.bat" todir="${ais.dist}" preservelastmodified="true"/>
-        <copy file="${root.dir}/start-ais-mq.bat" todir="${ais.dist}" preservelastmodified="true"/>
-        <copy file="${root.dir}/stop-ais.bat" todir="${ais.dist}" preservelastmodified="true"/>
-        <copy file="${root.dir.server}/ServerSettings.cfg" todir="${ais.dist}" preservelastmodified="true"/>
-        <copy file="${root.dir}/ServerBackEndSettings.cfg" todir="${ais.dist}" preservelastmodified="true"/>
-        <copy file="${root.serverSettings}/ServerDebugSettings.cfg" todir="${ais.dist.sys}" filtering="true"/>
-        <copy file="${root.serverSettings}/ServerDeveloperSettings.cfg" todir="${ais.dist.sys}" filtering="true"/>
-        <copy file="${root.serverSettings}/ServerInstallationSettings.cfg" todir="${ais.dist.sys}" filtering="true"/>
-        <copy file="${root.dir.sys}/ToolDebugSettings.cfg" todir="${ais.dist.sys}" filtering="true"/>
-        <copy todir="${ais.dist.sys}/AdminFunctionDefinitions" preservelastmodified="true">
-            <fileset dir="${src.root.dir}/ServerAdminFunctions/MappingSchemas"/>
-        </copy>
-        <copy todir="${ais.dist.transform}" preservelastmodified="true">
-            <fileset dir="${root.dir.server-transform}"/>
-        </copy>
-        <copy todir="${ais.dist.config}/comm" preservelastmodified="true">
-            <fileset dir="${root.dir.server-config}/comm"/>
-        </copy>
-        <copy todir="${ais.dist.config.copy}" preservelastmodified="true">
-            <fileset dir="${ais.dist.config}"/>
-        </copy>
-        <copy file="${root.dir.server-log}/log-category.properties" todir="${ais.dist.log}" preservelastmodified="true"/>
-        <copy file="${root.dir.server-log}/log-style.properties" todir="${ais.dist.log}" preservelastmodified="true"/>
-        <!-- Tools files -->
-        <copy file="${root.toolSettings}/ToolInstallationSettings-All.cfg" tofile="${ais.dist.sys}/ToolInstallationSettings.cfg" filtering="true"/>
-        <copy file="${root.toolSettings}/SCTToolInstallationSettings-HC.cfg" todir="${ais.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/SCTToolInstallationSettings-HC3270Only.cfg" todir="${ais.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/SCTToolInstallationSettings-HC5250Only.cfg" todir="${ais.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/SCTToolInstallationSettings-CICSOnly.cfg" todir="${ais.dist.sys}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/AppInterfaceTester-DefaultSettings.cfg" todir="${ais.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/ClientControlled3270ServerSettings-DefaultSettings.cfg" todir="${ais.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/ClientControlled5250ServerSettings-DefaultSettings.cfg" todir="${ais.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/DefinitionTool-DefaultSettings.cfg" todir="${ais.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/SEAGULLProject.dir" todir="${ais.dist.sysdef}"/>
-        <copy file="${root.dir.sysdef}/ServerControlled3270ServerSettings-DefaultSettings.cfg" todir="${ais.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/ServerControlled5250ServerSettings-DefaultSettings.cfg" todir="${ais.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/ServerOptions-DefaultSettings.cfg" todir="${ais.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/ServerSettings-Skeleton.cfg" todir="${ais.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/WorkingSetSettings.cfg" todir="${ais.dist.sysdef}" filtering="true"/>
-        <!-- Java Connectors -->
-        <mkdir dir="${ais.dist}/JavaConnectors/Classes"/>
-    </target>
-    <!-- AIS UNIX-specific -->
-    <property name="aisUNIX.dist.config" value="${aisUNIX.dist}/config"/>
-    <property name="aisUNIX.dist.log" value="${aisUNIX.dist.config}/log"/>
-    <property name="aisUNIX.dist.lib" value="${aisUNIX.dist}/lib"/>
-    <property name="aisUNIX.dist.mq" value="${aisUNIX.dist}/mq"/>
-    <property name="aisUNIX.dist.sys" value="${aisUNIX.dist}/system"/>
-    <target name="dist.aisUNIX" depends="init, dist.ais.core, jar.adminconsole">
-        <mkdir dir="${aisUNIX.dist}"/>
-        <mkdir dir="${aisUNIX.dist.lib}"/>
-        <mkdir dir="${aisUNIX.dist.sys}"/>
-        <mkdir dir="${aisUNIX.dist.mq}"/>
-        <copy file="${ais-core.jar}" todir="${aisUNIX.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-5250.jar}" todir="${aisUNIX.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-3270.jar}" todir="${aisUNIX.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-cobol.jar}" todir="${aisUNIX.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-cics.jar}" todir="${aisUNIX.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-ims.jar}" todir="${aisUNIX.dist.lib}" preservelastmodified="true"/>
-        <copy file="${adminconsole.jar}" todir="${aisUNIX.dist.lib}" preservelastmodified="true"/>
-        <copy file="${hsc.jar}" todir="${aisUNIX.dist.lib}" preservelastmodified="true"/>
-        <antcall target="copy3rdPartyJars">
-            <param name="copy3rdPartyJars.dist.lib" value="${aisUNIX.dist.lib}"/>
-        </antcall>
-        <copy file="${root.dir}/UNIXServerFiles/start-ais.sh" todir="${aisUNIX.dist}" preservelastmodified="true"/>
-        <copy file="${root.dir}/UNIXServerFiles/start-ais-mq.sh" todir="${aisUNIX.dist}" preservelastmodified="true"/>
-        <copy file="${root.dir}/UNIXServerFiles/stop-ais.sh" todir="${aisUNIX.dist}" preservelastmodified="true"/>
-        <copy file="${root.dir.server}/ServerSettings.cfg" todir="${aisUNIX.dist}" preservelastmodified="true"/>
-        <copy file="${root.dir}/ServerBackEndSettings.cfg" todir="${aisUNIX.dist}" preservelastmodified="true"/>
-        <copy file="${root.serverSettings}/ServerDebugSettings.cfg" todir="${aisUNIX.dist.sys}" filtering="true"/>
-        <copy file="${root.dir}/UNIXServerFiles/ServerInstallationSettings.cfg" todir="${aisUNIX.dist.sys}" filtering="true"/>
-        <copy todir="${aisUNIX.dist.sys}/AdminFunctionDefinitions" preservelastmodified="true">
-            <fileset dir="${src.root.dir}/ServerAdminFunctions/MappingSchemas"/>
-        </copy>
-        <copy todir="${aisUNIX.dist}/config/transform" preservelastmodified="true">
-            <fileset dir="${root.dir}/server/config/transform"/>
-        </copy>
-        <copy file="${root.dir.server-log}/log-category.properties" todir="${aisUNIX.dist.log}"/>
-        <copy file="${root.dir.server-log}/log-style.properties" todir="${aisUNIX.dist.log}"/>
-    </target>
-    <!-- Proxy Servlet -->
-    <property name="proxyservlet.dist.lib" value="${proxyservlet.dist}/lib"/>
-    <target name="dist.proxyservlet" depends="jar.proxyservlet, jar.ais.client">
-        <copy file="${proxyservlet.jar}" todir="${proxyservlet.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais.client.jar}" todir="${proxyservlet.dist.lib}" preservelastmodified="true"/>
-        <copy file="${xerces.jar}" todir="${proxyservlet.dist.lib}" preservelastmodified="true"/>
-        <copy file="${xml-apis.jar}" todir="${proxyservlet.dist.lib}" preservelastmodified="true"/>
-        <copy file="${root.dir}/ServletConfigFiles/AISProxyServletReadme.txt" todir="${proxyservlet.dist}" preservelastmodified="true"/>
-        <copy file="${root.dir}/ServletConfigFiles/web.xml" todir="${proxyservlet.dist}" preservelastmodified="true"/>
-        <copy file="${doc.dir}/Transidiom HTTPS Support.doc" todir="${proxyservlet.dist}" preservelastmodified="true"/>
-        <copy file="${doc.dir}/Transidiom HTTP Requests Redirection on IIS.doc" todir="${proxyservlet.dist}" preservelastmodified="true"/>
-    </target>
-    <!-- DevTools -->
-    <property name="devtools.dist.config" value="${devtools.dist}/config"/>
-    <property name="devtools.dist.log" value="${devtools.dist.config}/log"/>
-    <property name="devtools.dist.lib" value="${devtools.dist}/lib"/>
-    <property name="devtools.dist.sys" value="${devtools.dist}/system"/>
-    <property name="devtools.dist.sysdef" value="${devtools.dist.sys}/defaults"/>
-    <target name="dist.devtools" depends="init, jar.ais-core, jar.ais-tools">
-        <mkdir dir="${devtools.dist}"/>
-        <mkdir dir="${devtools.dist.lib}"/>
-        <mkdir dir="${devtools.dist.sys}"/>
-        <mkdir dir="${devtools.dist.sysdef}"/>
-        <mkdir dir="${devtools.dist.log}"/>
-        <copy file="${ais-tools.jar}" todir="${devtools.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-core.jar}" todir="${devtools.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-5250.jar}" todir="${devtools.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-3270.jar}" todir="${devtools.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-cobol.jar}" todir="${devtools.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-cics.jar}" todir="${devtools.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-ims.jar}" todir="${devtools.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais.client.jar}" todir="${devtools.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-adminclient.jar}" todir="${devtools.dist.lib}" preservelastmodified="true"/>
-        <antcall target="copy3rdPartyJars">
-            <param name="copy3rdPartyJars.dist.lib" value="${devtools.dist.lib}"/>
-        </antcall>
-        <!-- Root -->
-        <copy file="${root.dir}/Direct Publish.bat" todir="${devtools.dist}"/>
-        <copy file="${root.dir}/DirectPublish.args" todir="${devtools.dist}"/>
-        <copy file="${root.dir}/Interface Definition Tool.bat" todir="${devtools.dist}"/>
-        <copy file="${root.dir}/CICS Connector Builder.bat" todir="${devtools.dist}"/>
-        <copy file="${root.dir}/IMS Connector Builder.bat" todir="${devtools.dist}"/>
-        <copy file="${root.dir}/Interface Function Tester.bat" todir="${devtools.dist}"/>
-        <copy file="${root.dir}/ToolUserSettings.cfg" todir="${devtools.dist}" filtering="true"/>
-        <copy file="${binary.root.dir}/Java/Win32/Bin/Win32RegistryInterface.dll" todir="${devtools.dist}" preservelastmodified="true"/>
-        <!-- system (files are in alpha order here) -->
-        <copy file="${root.toolSettings}/DFPToolInstallationSettings-HC.cfg" tofile="${devtools.dist.sys}/DFPToolInstallationSettings.cfg" filtering="true"/>
-        <copy file="${root.toolSettings}/SCTToolInstallationSettings-HC.cfg" todir="${devtools.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/SCTToolInstallationSettings-HC3270Only.cfg" todir="${devtools.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/SCTToolInstallationSettings-HC5250Only.cfg" todir="${devtools.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/SCTToolInstallationSettings-CICSOnly.cfg" todir="${devtools.dist.sys}" filtering="true"/>
-        <copy file="${root.dir.sys}/ToolDebugSettings.cfg" todir="${devtools.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/ToolInstallationSettings-All.cfg" tofile="${devtools.dist.sys}/ToolInstallationSettings.cfg" filtering="true"/>
-        <copy file="${root.toolSettings}/ToolInstallationSettings-DefToolHC.cfg" todir="${devtools.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/ToolInstallationSettings-DefToolHC3270Only.cfg" todir="${devtools.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/ToolInstallationSettings-DefToolHC5250Only.cfg" todir="${devtools.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/ToolInstallationSettings-DefToolCICSOnly.cfg" todir="${devtools.dist.sys}" filtering="true"/>
-        <copy file="${root.toolSettings}/ToolInstallationSettings-DefToolIMSOnly.cfg" todir="${devtools.dist.sys}" filtering="true"/>
-        <!-- system defaults -->
-        <copy file="${root.dir.sysdef}/AppInterfaceTester-DefaultSettings.cfg" todir="${devtools.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/ClientControlled3270ServerSettings-DefaultSettings.cfg" todir="${devtools.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/ClientControlled5250ServerSettings-DefaultSettings.cfg" todir="${devtools.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/DefinitionTool-DefaultSettings.cfg" todir="${devtools.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/SEAGULLProject.dir" todir="${devtools.dist.sysdef}"/>
-        <copy file="${root.dir.sysdef}/ServerControlled3270ServerSettings-DefaultSettings.cfg" todir="${devtools.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/ServerControlled5250ServerSettings-DefaultSettings.cfg" todir="${devtools.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/ServerOptions-DefaultSettings.cfg" todir="${devtools.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/ServerSettings-Skeleton.cfg" todir="${devtools.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.sysdef}/WorkingSetSettings.cfg" todir="${devtools.dist.sysdef}" filtering="true"/>
-        <copy file="${root.dir.tools-log}/log-category.properties" todir="${devtools.dist.log}" preservelastmodified="true"/>
-        <copy file="${root.dir.tools-log}/log-style.properties" todir="${devtools.dist.log}" preservelastmodified="true"/>
-    </target>
-    <!-- AIS Central -->
-    <property name="transidiomcentral.dist.lib" value="${transidiomcentral.dist}/lib"/>
-    <target name="dist.transidiomcentral" depends="init, jar.ais-core, jar.ais-tools, jar.javaconnectorgenerator, jar.securitytoolkit">
-        <mkdir dir="${transidiomcentral.dist}"/>
-        <mkdir dir="${transidiomcentral.dist.lib}"/>
-        <copy file="${ais-core.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-5250.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-3270.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-cobol.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-cics.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-ims.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais-tools.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${ais.client.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${securitytoolkit.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${javaconnectorgenerator.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${commons-codec.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${commons-lang.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${xerces.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${xalan.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${xml-apis.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb1.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb2.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb3.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb4.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb5.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb6.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-        <copy file="${jaxb7.jar}" todir="${transidiomcentral.dist.lib}" preservelastmodified="true"/>
-    </target>
-    <!-- User Docs -->
-    <target name="dist.docs">
-        <mkdir dir="${build.dist}/docs"/>
-        <copy todir="${build.dist}/docs">
-            <fileset dir="${doc.dir}">
-                <exclude name="Transidiom HTTP*.doc"/>
-            </fileset>
-        </copy>
-    </target>
-    <!-- =================================================================== -->
-    <!-- Javadoc for open back-end API -->
-    <!-- =================================================================== -->
-    <property name="ais.dist.javadoc" value="${ais.dist}/JavaConnectors/Documentation/JavaDoc"/>
-    <target name="javadoc.openbackend" depends="compile.doclet">
-        <delete dir="${ais.dist.javadoc}" includeEmptyDirs="true" quiet="true"/>
-        <mkdir dir="${ais.dist.javadoc}"/>
-        <property name="basic-header" value="${Name}&#x2122;, AIS Java Connector"/>
-        <property name="header+version" value="${basic-header}, v${version}"/>
-        <property name="win-title" value="${header+version} API Specification"/>
-        <property name="doc-title" value="${header+version}&lt;br/&gt;API Specification"/>
-        <javadoc sourcepath="${src.dir}" destdir="${ais.dist.javadoc}" windowtitle="${win-title}" doctitle="${doc-title}" header="${basic-header}" bottom="&lt;font size=&quot;-1&quot;&gt;${Name} is a trademark or registered trademarks of Seagull Holding NV in the US and other countries.&lt;br/&gt;Copyright &#169; 1993 - 2003 Seagull Business Software Ireland Ltd. All Rights Reserved.&lt;/font&gt;" author="false" version="true" use="true" doclet="com.seagullsw.internaldev.tools.apidoclet.standard.Standard" docletpath="${build.classes};${java.resource.dir}">
-            <!-- I don't understand it, but if I leave off the ${src.dir} below, it doesn't work. -->
-            <source file="${src.dir}/com/seagullsw/appinterface/server/backend/BackEnd.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/server/backend/BackEndInfo.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/server/backend/BackEndHandler.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/server/backend/BackEndSettings.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/server/backend/Callback.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/server/backend/ClientSession.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/server/backend/InvocationContext.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/AggregateModel.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/AppInterfaceRuntimeException.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/DataElementModel.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/FieldModel.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/IllegalElementException.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/IllegalPathException.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/ModelElement.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/SequenceModel.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/StructureModel.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/data/Aggregate.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/data/DataElement.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/data/DataElementList.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/data/Field.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/data/Sequence.java"/>
-            <source file="${src.dir}/com/seagullsw/appinterface/model/data/Structure.java"/>
-            <classpath>
-                <path refid="ais.classpath"/>
-            </classpath>
-            <link href="http://java.sun.com/products/jdk/1.3.1/docs/api/"/>
-        </javadoc>
-    </target>
-    <!-- VERIFY -->
-    <path id="path.AntTasks">
-        <pathelement location="${junit.jar}"/>
-        <pathelement location="${commons-cli.jar}"/>
-        <pathelement location="${commons-httpclient.jar}"/>
-        <pathelement location="${build.classes}"/>
-        <pathelement location="${internaldev.classes}"/>
-    </path>
-    <target name="build.AntTasks">
-        <mkdir dir="${internaldev.classes}"/>
-        <javac srcdir="${src.test.dir}" destdir="${internaldev.classes}" debug="${compile.debug}" classpathref="path.AntTasks">
-            <include name="com/seagullsw/internaldev/build/JarFileVerifier.java"/>
-            <include name="com/seagullsw/internaldev/build/JarFileVerifierTask.java"/>
-            <include name="com/seagullsw/internaldev/build/IsUrlOpen.java"/>
-            <include name="com/seagullsw/internaldev/build/IsUrlOpenTask.java"/>
-        </javac>
-    </target>
-    <target name="declare.AntTasks" depends="build.AntTasks">
-        <taskdef name="verifyjar" classname="com.seagullsw.internaldev.build.JarFileVerifierTask" classpathref="path.AntTasks"/>
-        <taskdef name="isUrlOpen" classname="com.seagullsw.internaldev.build.IsUrlOpenTask" classpathref="path.AntTasks"/>
-    </target>
-    <target name="prepare.test.ext">
-        <mkdir dir="${test.lib}"/>
-        <delete dir="${test.lib.ext}"/>
-        <mkdir dir="${test.lib.ext}"/>
-    </target>
-    <target name="verify.ais.jar" depends="declare.AntTasks, prepare.test.ext">
-        <mkdir dir="${test.fdef}"/>
-        <copy file="${goXMLEngine.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <copy file="${goXMLResource.zip}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <copy file="${jdom.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <copy file="${ibm.mq.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <copy file="${ibm.mq.connector.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <copy file="${ibm.mq.jta.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <verifyjar file="${ais-core.jar}" verbose="false" debug="false">
-            <classpath>
-                <pathelement location="${ais.dist.lib}"/>
-                <pathelement location="${ais.dist.lib.ext}"/>
-                <pathelement location="${test.lib}"/>
-            </classpath>
-        </verifyjar>
-        <delete dir="${test.lib.ext}"/>
-        <delete dir="${test.fdef}"/>
-    </target>
-    <target name="verify.client.jar" depends="declare.AntTasks, prepare.test.ext">
-        <copy file="${ibm.mq.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <copy file="${jms.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <copy file="${mail.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <copy file="${soap.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <verifyjar file="${ais.client.jar}" verbose="false" debug="false">
-            <classpath>
-                <pathelement location="${ais.client.dist.lib}"/>
-                <pathelement location="${test.lib.ext}"/>
-            </classpath>
-        </verifyjar>
-        <delete dir="${test.lib.ext}"/>
-    </target>
-    <target name="verify.5250.jar" depends="declare.AntTasks">
-        <verifyjar file="${ais-5250.jar}" ignoreUnresolved="true" verbose="false" debug="false">
-            <classpath location="${ais.dist.lib}"/>
-        </verifyjar>
-    </target>
-    <target name="verify.3270.jar" depends="declare.AntTasks">
-        <verifyjar file="${ais-3270.jar}" ignoreUnresolved="true" verbose="false" debug="false">
-            <classpath location="${ais.dist.lib}"/>
-        </verifyjar>
-    </target>
-    <target name="verify.cobol.jar" depends="declare.AntTasks">
-        <verifyjar file="${ais-cobol.jar}" verbose="false" debug="false">
-            <classpath location="${ais.dist.lib}"/>
-        </verifyjar>
-    </target>
-    <target name="verify.cics.jar" depends="declare.AntTasks, prepare.test.ext">
-        <copy file="${ctgclient.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <verifyjar file="${ais-cics.jar}" verbose="false" debug="false">
-            <classpath location="${ais.dist.lib}"/>
-            <classpath location="${test.lib}"/>
-        </verifyjar>
-        <delete dir="${test.lib.ext}"/>
-    </target>
-    <target name="verify.ims.jar" depends="declare.AntTasks">
-        <verifyjar file="${ais-ims.jar}" verbose="false" debug="false">
-            <classpath location="${ais.dist.lib}"/>
-        </verifyjar>
-    </target>
-    <target name="verify.adminclient.jar" depends="declare.AntTasks">
-        <verifyjar file="${ais-adminclient.jar}" verbose="false" debug="false">
-            <classpath location="${devtools.dist.lib}"/>
-        </verifyjar>
-    </target>
-    <target name="verify.proxyservlet.jar" depends="declare.AntTasks">
-        <verifyjar file="${proxyservlet.jar}" verbose="false" debug="false">
-            <classpath>
-                <pathelement location="${proxyservlet.dist.lib}"/>
-                <pathelement location="${servlet.dir}"/>
-            </classpath>
-        </verifyjar>
-    </target>
-    <target name="verify.adminconsole.jar" depends="declare.AntTasks">
-        <verifyjar file="${adminconsole.jar}" verbose="false" debug="false">
-            <classpath location="${ais.dist.lib}"/>
-        </verifyjar>
-    </target>
-    <target name="verify.javaconnectorgenerator.jar" depends="declare.AntTasks">
-        <verifyjar file="${javaconnectorgenerator.jar}" verbose="false" debug="false">
-            <classpath location="${devtools.dist.lib}"/>
-        </verifyjar>
-    </target>
-    <target name="verify.securitytoolkit.jar" depends="declare.AntTasks">
-        <verifyjar file="${securitytoolkit.jar}" verbose="false" debug="false">
-            <classpath location="${devtools.dist.lib}"/>
-        </verifyjar>
-    </target>
-    <target name="verify.tools.jar" depends="declare.AntTasks, prepare.test.ext">
-        <copy file="${j2se.tools.jar}" todir="${test.lib.ext}" preservelastmodified="true"/>
-        <verifyjar file="${ais-tools.jar}" verbose="false" debug="false">
-            <classpath location="${devtools.dist.lib}"/>
-            <classpath location="${test.lib}"/>
-        </verifyjar>
-        <delete dir="${test.lib.ext}"/>
-    </target>
-    <target name="verify.gwhsc.jar" depends="declare.AntTasks">
-        <verifyjar file="${hsc.jar}" verbose="false" debug="false"/>
-    </target>
-    <target name="verify.gwhscu.jar" depends="declare.AntTasks">
-        <verifyjar file="${hscu.jar}" verbose="false" debug="false"/>
-    </target>
-    <target name="verify.xml" depends="banner">
-        <!-- Only check for well-formed XML here. -->
-        <xmlvalidate lenient="yes" warn="yes">
-            <fileset dir="${build.dist}" includes="**/*.xml"/>
-            <fileset dir="${build.dist}" includes="**/*.cfg"/>
-            <fileset dir="${build.dist}" includes="**/*.sfd"/>
-            <fileset dir="${build.dist}" includes="**/*.sjcd"/>
-            <fileset dir="${build.dist}" includes="**/*.sfmd"/>
-            <fileset dir="${build.dist}" includes="**/*.xsd"/>
-            <fileset dir="${build.dist}" includes="**/*.xsl"/>
-        </xmlvalidate>
-    </target>
-    <target name="verify" description="Verifies the build by performing a load tests on jar files (does not trigger the jar dependencies.)" depends="banner, verify.ais.jar, verify.client.jar, verify.5250.jar, verify.3270.jar, verify.cobol.jar, verify.cics.jar, verify.ims.jar, verify.adminclient.jar, verify.proxyservlet.jar, verify.adminconsole.jar, verify.javaconnectorgenerator.jar, verify.securitytoolkit.jar, verify.tools.jar, verify.gwhsc.jar, verify.gwhscu.jar, verify.xml"/>
-    <!-- End VERIFY targets -->
-    <!-- TEST TARGETS -->
-    <target name="junit_check">
-        <available classname="junit.framework.Test" property="junit.present"/>
-        <fail message="JUnit cannot be found." unless="junit.present"/>
-    </target>
-    <property name="test" value="${build.dir}/test"/>
-    <property name="test.bin" value="${test}/bin"/>
-    <property name="test.resources" value="${test.dir}/resources"/>
-    <property name="test.fdef" value="${test}/${fdef.dirname}"/>
-    <property name="test.lib" value="${test}/lib"/>
-    <property name="test.lib.ext" value="${test.lib}/ext"/>
-    <property name="reports.dir" value="${build.dir}/reports"/>
-    <property name="reports.checksum" value="${reports.dir}/checksum"/>
-    <property name="junit.reports.srcdir" location="reports"/>
-    <property name="junit.reports" location="${reports.dir}/junit"/>
-    <property name="junit.formatter" value="xml"/>
-    <property name="junit.fork" value="true"/>
-    <property name="junit.printsummary" value="true"/>
-    <property name="junit.includeantruntime" value="false"/>
-    <property name="junit.dir" value="../.."/>
-    <property name="junit.reports.xml" location="${junit.reports}/${junit.formatter}"/>
-    <property name="junit.report.ext" value="-junit.xml"/>
-    <target name="test.compile" description="Compiles the unit tests without triggering any dependencies.">
-        <mkdir dir="${test.bin}"/>
-        <javac destdir="${test.bin}" debug="${compile.debug}" includeAntRuntime="false">
-            <src path="${src.test.dir}"/>
-            <src path="${src.dir}/com/seagullsw/internaldev/appinterface/model"/>
-            <!-- Testing framework -->
-            <classpath location="${junit.jar}"/>
-            <classpath location="${mtjunit.jar}"/>
-            <classpath location="${xmlsec.jar}"/>
-            <!-- Jars to test, which the test cases refer to. -->
-            <classpath location="${ais-core.jar}"/>
-            <classpath location="${proxyservlet.jar}"/>
-            <classpath location="${ais.client.jar}"/>
-            <classpath location="${javaconnectorgenerator.jar}"/>
-            <classpath location="${securitytoolkit.jar}"/>
-            <classpath location="${ais-tools.jar}"/>
-            <classpath location="${ais-5250.jar}"/>
-            <classpath location="${ais-3270.jar}"/>
-            <classpath location="${ais-cobol.jar}"/>
-            <classpath location="${ais-cics.jar}"/>
-            <classpath location="${ais-ims.jar}"/>
-            <classpath location="${ais-adminclient.jar}"/>
-            <classpath location="${hsc.jar}"/>
-            <!-- dependencies -->
-            <classpath location="${ant.jar}"/>
-            <classpath location="${commons-cli.jar}"/>
-            <classpath location="${commons-httpclient.jar}"/>
-            <classpath refid="ais.classpath"/>
-            <classpath refid="proxyservlet.classpath"/>
-            <classpath refid="cobol.classpath"/>
-            <classpath refid="cics.backend.classpath"/>
-            <classpath refid="ims.backend.classpath"/>
-            <classpath refid="transforms.classpath"/>
-            <classpath refid="jsse.classpath"/>
-        </javac>
-    </target>
-    <target name="test.mkdir" depends="init">
-        <mkdir dir="${build.dir}"/>
-        <mkdir dir="${test}"/>
-        <mkdir dir="${test.bin}"/>
-    </target>
-    <target name="echo.xalan.version">
-        <echo level="info" message="Testing with ${TransformerFactory}"/>
-        <java classname="org.apache.xalan.Version"/>
-    </target>
-    <target name="report.init" depends="init, test.compile">
-        <mkdir dir="${junit.reports.xml}"/>
-        <echo level="info" message="Reporting to ${junit.reports.xml}"/>
-    </target>
-    <path id="junit.classpath">
-        <pathelement location="${ant.home}/lib/ant.jar"/>
-        <pathelement location="${ant.home}/lib/optional.jar"/>
-        <pathelement location="${ant.home}/lib/junit.jar"/>
-    </path>
-    <!-- Unit Tests: from low-level to high-level -->
-    <!-- Unit Tests: javax.lang -->
-    <target name="junit.javax.lang" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <pathelement location="${ais-tools.jar}"/>
-                <pathelement location="${j2se.tools.jar}"/>
-                <pathelement location="${commons-lang.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.unittest.javax.lang.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: javax.io -->
-    <target name="junit.javax.io" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <pathelement location="${commons-lang.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.javax.io.AllTests" todir="${junit.reports.xml}"/>
-            <test name="com.seagullsw.unittest.javax.io.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: javax.util -->
-    <target name="junit.javax.util" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.unittest.javax.util.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: Toolbox XML  -->
-    <target name="junit.toolbox.xml" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement path="${sun.boot.class.path}"/>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="xml.classpath.rt"/>
-                <pathelement location="${commons-lang.jar}"/>
-                <pathelement location="${xmlsec.jar}"/>
-                <pathelement location="${jce.jar}"/>
-                <pathelement location="${log4j.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.unittest.toolbox.xml.StringProxyTestSuite" todir="${junit.reports.xml}"/>
-            <test name="com.seagullsw.unittest.toolbox.xml.DocumentProxyTestSuite" todir="${junit.reports.xml}"/>
-            <test name="com.seagullsw.unittest.toolbox.xml.ReadDocumentWithEncodingTestSuite" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: Toolbox config  -->
-    <target name="junit.toolbox.config" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <pathelement path="${sun.boot.class.path}"/>
-                <pathelement location="${ais-core.jar}"/>
-                <pathelement location="${commons-lang.jar}"/>
-                <pathelement location="${commons-cli.jar}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.toolbox.config.ConfigurationDirectoryTestCase" todir="${junit.reports.xml}"/>
-            <test name="com.seagullsw.toolbox.config.ConfigValidatorTest" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: Toolbox logging  -->
-    <target name="junit.toolbox.log" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${ais-core.jar}"/>
-                <pathelement location="${commons-lang.jar}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.toolbox.log.LogUnitTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: config/log -->
-    <target name="junit.server.config.log" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.config.bind.log.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: config/bind/threadpool -->
-    <target name="junit.server.config.threadpool" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.config.bind.threadpool.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: config/bind/transform -->
-    <target name="junit.server.config.transform" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <path refid="transforms.classpath"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.config.bind.transform.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: config/bind/core -->
-    <target name="junit.server.config.core" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.config.bind.core.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: config/bind/management -->
-    <target name="junit.server.config.management" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.config.bind.management.JaxbUnmarshalTestCase" todir="${junit.reports.xml}"/>
-            <test name="com.seagullsw.appinterface.server.config.bind.management.ConfigurationDirectoryUnmarshalTestCase" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: Chameleon -->
-    <target name="junit.ais-core.transforms" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement path="${sun.boot.class.path}"/>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="transforms.classpath"/>
-                <pathelement location="${xmlsec.jar}"/>
-                <pathelement location="${jce.jar}"/>
-                <pathelement location="${log4j.jar}"/>
-                <pathelement location="${goXMLResource.zip}"/>
-                <pathelement location="${goXMLconfig.dir}"/>
-                <pathelement location="${jdom.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.unittest.appinterface.transforms.ApacheXPathNamespaceTestSuite" todir="${junit.reports.xml}"/>
-            <test name="com.seagullsw.unittest.appinterface.transforms.SimpleAwkTestSuite" todir="${junit.reports.xml}"/>
-            <test name="com.seagullsw.unittest.appinterface.transforms.TransformationManagerBindingTestSuite" todir="${junit.reports.xml}"/>
-            <test name="com.seagullsw.unittest.appinterface.transforms.TransformationManagerTestSuite" todir="${junit.reports.xml}"/>
-            <test name="com.seagullsw.unittest.appinterface.transforms.GoXMLTransformationManagerTestSuite" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: com.seagullsw.appinterface.server.security.auth  -->
-    <target name="junit.security.auth" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <path refid="jce.classpath.rt"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.security.auth.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: com.seagullsw.appinterface.server.crypto  -->
-    <target name="junit.crypto" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <path refid="jce.classpath.rt"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.crypto.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: com.seagullsw.toolbox.net  -->
-    <target name="junit.toolbox.net" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <pathelement location="${commons-codec.jar}"/>
-                <pathelement location="${commons-httpclient.jar}"/>
-                <pathelement location="${commons-logging.jar}"/>
-                <path refid="jce.classpath.rt"/>
-                <path refid="jsse.classpath"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.toolbox.net.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: com.seagullsw.unittest.appinterface.model  -->
-    <target name="junit.model" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <path refid="transforms.classpath"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.unittest.appinterface.model.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <target name="junit.server" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <path refid="ims.backend.classpath"/>
-                <path refid="cics.backend.classpath"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.LoadFunctionsTest" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: com.seagullsw.unittest.appinterface.server.backend.hostconnector2  -->
-    <target name="junit.hostconnector2" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${ais-5250.jar}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.unittest.appinterface.server.backend.hostconnector2.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <target name="junit.backend.hsc" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <!-- The timeout is expressed in milliseconds. -->
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <path refid="jce.classpath.rt"/>
-                <pathelement location="${ais-5250.jar}"/>
-                <pathelement location="${ais-3270.jar}"/>
-                <pathelement location="${commons-httpclient.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.config.bind.connectors.hsc.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: IMS back-end -->
-    <target name="junit.backend.ims" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <!-- The timeout is expressed in milliseconds. -->
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <path refid="ims.backend.classpath"/>
-                <path refid="jce.classpath.rt"/>
-                <pathelement location="${ais-ims.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.config.bind.connectors.ims.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <target name="junit.backend.ims.live" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <!-- The timeout is expressed in milliseconds. -->
-        <junit printsummary="${junit.printsummary}" fork="true" timeout="45000" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <path refid="ims.backend.classpath"/>
-                <path refid="jce.classpath.rt"/>
-                <pathelement location="${ais-ims.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.backend.ims.AllLiveImsIcoTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Unit Tests: CICS back-end -->
-    <target name="junit.backend.cics" depends="junit.backend.cics.common, junit.backend.cics.ctg.live, junit.backend.cics.hb, junit.backend.cics.hb.live"/>
-    <target name="junit.backend.cics.common" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <path refid="jce.classpath.rt"/>
-                <pathelement location="${ais-cics.jar}"/>
-                <pathelement location="${ctgclient.jar}"/>
-                <pathelement location="${commons-httpclient.jar}"/>
-                <pathelement location="${commons-logging.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.config.bind.connectors.cics.AllTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <target name="junit.backend.cics.ctg.live" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <!-- The timeout is expressed in milliseconds. -->
-        <junit printsummary="${junit.printsummary}" fork="true" timeout="600000" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <pathelement location="${ais-cics.jar}"/>
-                <pathelement location="${ctgclient.jar}"/>
-                <pathelement location="${commons-httpclient.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.backend.cics.AllLiveIbmCtgTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <target name="junit.backend.cics.hb" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="${junit.fork}" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <pathelement location="${ais-cics.jar}"/>
-                <pathelement location="${commons-httpclient.jar}"/>
-                <pathelement location="${commons-logging.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.backend.cics.HostBridgeByteBufferStrategyTest" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <target name="junit.backend.cics.hb.live" depends="report.init">
-        <mkdir dir="${junit.reports.xml}"/>
-        <junit printsummary="${junit.printsummary}" fork="true" timeout="600000" dir="${junit.dir}" includeantruntime="${junit.includeantruntime}">
-            <formatter type="${junit.formatter}" extension="${junit.report.ext}"/>
-            <classpath>
-                <pathelement location="${ais-core.jar}"/>
-                <path refid="ais.classpath"/>
-                <pathelement location="${ais-cics.jar}"/>
-                <pathelement location="${commons-httpclient.jar}"/>
-                <pathelement location="${commons-logging.jar}"/>
-                <pathelement location="${test.bin}"/>
-                <pathelement location="${test.resources}"/>
-                <path refid="junit.classpath"/>
-            </classpath>
-            <test name="com.seagullsw.appinterface.server.backend.cics.AllLiveHostBridgeTests" todir="${junit.reports.xml}"/>
-        </junit>
-    </target>
-    <!-- Clean reports -->
-    <target name="junit.report.clean">
-        <delete dir="${junit.reports}"/>
-    </target>
-    <!-- Create the unit tests report -->
-    <target name="junit.report" depends="init">
-        <mkdir dir="${junit.reports}"/>
-        <property name="junit.reports.frames" location="${junit.reports}/frames"/>
-        <property name="junit.reports.noframes" location="${junit.reports}/noframes"/>
-        <mkdir dir="${junit.reports.xml}"/>
-        <mkdir dir="${junit.reports.frames}"/>
-        <mkdir dir="${junit.reports.noframes}"/>
-        <echo level="info" message="Compiling all reports to ${junit.reports}..."/>
-        <junitreport todir="${junit.reports.xml}">
-            <fileset dir="${junit.reports.xml}">
-                <include name="**/*${junit.report.ext}"/>
-            </fileset>
-            <report format="noframes" todir="${junit.reports.noframes}"/>
-            <report format="frames" todir="${junit.reports.frames}"/>
-        </junitreport>
-        <echo level="info" message="The XML report is in: ${junit.reports.xml}"/>
-        <echo level="info" message="The HTML report (with frames) is in: ${junit.reports.frames}"/>
-        <echo level="info" message="The HTML report (no frames) is in: ${junit.reports.noframes}"/>
-        <!-- Rename file to index.html -->
-        <move file="${junit.reports.noframes}/junit-noframes.html" tofile="${junit.reports.noframes}/index.html"/>
-        <!-- Copy test reports home page -->
-        <copy file="${junit.reports.srcdir}/index.html" todir="${reports.dir}" overwrite="true" filtering="true"/>
-        <copy todir="${reports.dir}/images" overwrite="true">
-            <fileset dir="${junit.reports.srcdir}/images"/>
-        </copy>
-        <antcall target="report.checksums"/>
-    </target>
-    <target name="report.checksums">
-        <antcall target="copy-checksums"/>
-        <property name="temp.index" value="${reports.dir}/index-temp.html"/>
-        <xslt in="${reports.dir}/index.html" out="${temp.index}" force="true" style="${junit.reports.srcdir}/apply-data.xslt">
-            <param name="reportDir" expression="${reports.dir}"/>
-        </xslt>
-        <delete file="${reports.dir}/index.html"/>
-        <move file="${temp.index}" tofile="${reports.dir}/index.html"/>
-    </target>
-    <target name="junit.javax" depends="junit.javax.io, junit.javax.util, junit.javax.lang"/>
-    <target name="junit.server.config" depends="junit.server.config.log, junit.server.config.threadpool, junit.server.config.transform, junit.server.config.core, junit.server.config.management"/>
-    <target name="junit.toolbox" depends="junit.toolbox.config, junit.toolbox.xml, junit.toolbox.net, junit.toolbox.log"/>
-    <target name="junit.ais-core" depends="junit.javax, junit.toolbox, junit.server.config, junit.ais-core.transforms, junit.security.auth, junit.crypto, junit.model, junit.server"/>
-    <target name="junit.backend" depends="junit.backend.hsc, junit.backend.ims, junit.backend.ims.live, junit.backend.cics, junit.hostconnector2"/>
-    <target name="test" description="Runs the tests." depends="init, test.compile, junit.report.clean, junit.ais-core, junit.backend, junit.report"/>
-    <!-- Build and Zip -->
-    <target name="zip" depends="dist" description="Creates the final ${zip-file} (does it all)">
-        <property name="zip-file" location="${build.dir}/${zipFileBaseName}-build${build.id}.zip"/>
-        <delete file="${zip-file}" quiet="true"/>
-        <zip zipfile="${zip-file}" basedir="${build.dist}"/>
-    </target>
-    <target name="nightly-build" depends="init, clean, dist, verify, test" description="Creates a nightly build (does it all)">
-    </target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/postRun.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/postRun.xml
deleted file mode 100644
index 275e7d9..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/postRun.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="project" default="default">
-
-    <target name="default" >
-        <java classname="Test2" classpath="../bin"></java>
-    </target>
-</project>
-
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/preRun.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/preRun.xml
deleted file mode 100644
index 8d41133..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/preRun.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="project" default="default">
-
-	<target name="default">
-		<delete file="../test plugin/Test2.java" />
-		<copy file="../testresources/Test2.java" todir="../test plugin/" />
-	</target>
-</project>
-
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/projectOnly.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/projectOnly.xml
deleted file mode 100644
index 35ece5b..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/projectOnly.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-<project ></project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/refid.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/refid.xml
deleted file mode 100644
index a9f4ae1..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/refid.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<project default="1">
-	<path id="project.class.path">
-		<pathelement location="lib/" />
-		<pathelement path="${java.class.path}/" />
-		<pathelement path="${additional.path}" />
-	</path>
-
-	<target name="1">
-		<path id="project.class.path2">
-			<path refid="project.class.path" />
-		</path>
-	</target>
-	
-	<target name="compile">
-			<javac srcdir="src"
-			       destdir="dst"
-			       classpathref=""
-			       sourcepathref=""
-			       bootclasspathref=""
-			       debug="on" />
-		</target>
-	
-	<target name= "depends" depends=" compile  , 1 ">
-	</target>
-	
-	<property name="name with spaces" value="value with spaces"/>
-
-	
-	<fileset dir="dir" id="filesetTest">
-	    <include name="include"/>
-	    <exclude name="exclude"/>
-	</fileset>
-	
-	<patternset id="patternSetTest">
-			<include name="*.xml"/>
-			<exclude name="**/*Test*"/>
-	</patternset>
-	
-	<patternset id="patternSetTestBad">
-		<includesfile name="nothere"/>
-	</patternset>
-
-	<echo>${name with spaces}</echo>
-	
-	<fileset refid="filesetTest">
-		<patternset refid="patternSetTest"></patternset>
-		<patternset refid="patternSetTestBad"></patternset>
-	</fileset>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/russianbuild.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/russianbuild.xml
deleted file mode 100644
index d853566..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/russianbuild.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="windows-1251"?>
-<project name="test" default="init" basedir=".">
-
-	<target name="init">
-		<!-- displays Hello in Russian -->
-		<echo message="Çäðàâñòâóéòå"/>
-	</target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/taskdef.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/taskdef.xml
deleted file mode 100644
index c912b71..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/taskdef.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<project default="type">
-
-	<taskdef name="mine" classname="org.eclipse.ant.tests.ui.support.tasks.AntTestTask" classpath="antUITestsSupport.jar">
-	</taskdef>
-
-	<target name="type">
-
-	</target>
-
-	<mine></mine>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/test1.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/test1.xml
deleted file mode 100644
index 6f60a32..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/test1.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-<bla>
-  <blub></blub>
-  <klick>
-    <gurgel></gurgel>
-    <hal
-    <klack/>
-    <humpf/>
-  </klick>
-</bla>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/test2.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/test2.xml
deleted file mode 100644
index 1ca8765..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/test2.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<bla>
-  <blub></blub>
-  <klick>
-    <gurgel></gurgel>
-    <hal></hal>
-    <klack/>
-    <humpf/>
-  </klick>
-</bla>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/test3.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/test3.xml
deleted file mode 100644
index 674088e..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/test3.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<bla>
-  <blub>
-  </blub>
-</
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/test4.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/test4.xml
deleted file mode 100644
index fd60f79..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/test4.xml
+++ /dev/null
@@ -1 +0,0 @@
-<target name="main"><mk
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/test5.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/test5.xml
deleted file mode 100644
index c297d95..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/test5.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<project name="main">
-	<target name="bla" />
-	<property name="prop1" value="val1"/>
-	<property name="prop2" value="val2"/>
-	<property name="prop3" value="val3"/>
-<g
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.tests.ui/testbuildfiles/toBeImported.xml b/ant/org.eclipse.ant.tests.ui/testbuildfiles/toBeImported.xml
deleted file mode 100644
index 5b03f80..0000000
--- a/ant/org.eclipse.ant.tests.ui/testbuildfiles/toBeImported.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<project name="toBeImported" default="import-default">
-
-	<target name="import-default" depends="depends">
-		<echo>import-default</echo>
-	</target>
-
-	<target name="depends">
-		<echo>depends</echo>
-	</target>
-</project>
-
diff --git a/ant/org.eclipse.ant.tests.ui/testresources/Test2.java b/ant/org.eclipse.ant.tests.ui/testresources/Test2.java
deleted file mode 100644
index 573faff..0000000
--- a/ant/org.eclipse.ant.tests.ui/testresources/Test2.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Created on Sep 21, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-
-/**
- * @author Administrator
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
-public class Test2 {
-
-	public static void main(String[] args) {
-		
-		System.out.println("preRuntest");
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/.classpath b/ant/org.eclipse.ant.ui/.classpath
deleted file mode 100644
index ff15595..0000000
--- a/ant/org.eclipse.ant.ui/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="Ant Tools Support"/>
-	<classpathentry output="ant_runner_support_bin" kind="src" path="Ant Runner Support"/>
-	<classpathentry kind="src" path="Ant Editor"/>
-	<classpathentry output="remote_support_bin" kind="src" path="Remote Ant Support"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry output="common_ant_support_bin" kind="src" path="Common Ant Support"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ant/org.eclipse.ant.ui/.cvsignore b/ant/org.eclipse.ant.ui/.cvsignore
deleted file mode 100644
index 837c418..0000000
--- a/ant/org.eclipse.ant.ui/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-bin
-lib
-temp.folder
-antui.jar
-ant_runner_support_bin
-common_ant_support_bin
-remote_support_bin
diff --git a/ant/org.eclipse.ant.ui/.externalToolBuilders/Build Ant Runner Support JAR.launch b/ant/org.eclipse.ant.ui/.externalToolBuilders/Build Ant Runner Support JAR.launch
deleted file mode 100644
index 9d004d2..0000000
--- a/ant/org.eclipse.ant.ui/.externalToolBuilders/Build Ant Runner Support JAR.launch
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.ui/Ant Runner Support&quot; type=&quot;2&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.ui/Common Ant Support&quot; type=&quot;2&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.ui/buildfiles/buildExtraJAR.xml&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;&#10;}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.ant.ui/buildfiles/buildExtraJAR.xml}"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_RUN_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.debug.ui.target_run_perspective" value="perspective_none"/>
-</launchConfiguration>
diff --git a/ant/org.eclipse.ant.ui/.externalToolBuilders/Build Remote Ant JAR.launch b/ant/org.eclipse.ant.ui/.externalToolBuilders/Build Remote Ant JAR.launch
deleted file mode 100644
index f688b11..0000000
--- a/ant/org.eclipse.ant.ui/.externalToolBuilders/Build Remote Ant JAR.launch
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.ui/Common Ant Support&quot; type=&quot;2&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.ui/Remote Ant Support&quot; type=&quot;2&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.ant.ui/buildfiles/buildRemoteExtraJAR.xml&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;&#10;}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.ant.ui/buildfiles/buildRemoteExtraJAR.xml}"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<booleanAttribute key="org.eclipse.debug.ui.ATTR_RUN_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
-</launchConfiguration>
diff --git a/ant/org.eclipse.ant.ui/.project b/ant/org.eclipse.ant.ui/.project
deleted file mode 100644
index f21f0d4..0000000
--- a/ant/org.eclipse.ant.ui/.project
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.ant.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/Build Ant Runner Support JAR.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/Build Remote Ant JAR.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.team.cvs.core.cvsnature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/ant/org.eclipse.ant.ui/.settings/org.eclipse.jdt.core.prefs b/ant/org.eclipse.ant.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e22d63a..0000000
--- a/ant/org.eclipse.ant.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Mon Nov 01 17:54:58 GMT-08:00 2004

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled

-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled

-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning

-org.eclipse.jdt.core.compiler.debug.lineNumber=generate

-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning

-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning

-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning

-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore

-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled

-org.eclipse.jdt.core.compiler.problem.unusedImport=warning

-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore

-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning

-org.eclipse.jdt.core.builder.invalidClasspath=abort

-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch

-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning

-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore

-org.eclipse.jdt.core.compiler.debug.localVariable=generate

-org.eclipse.jdt.core.compiler.problem.deprecation=warning

-org.eclipse.jdt.core.compiler.source=1.3

-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore

-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning

-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve

-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning

-org.eclipse.jdt.core.compiler.compliance=1.4

-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning

-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled

-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning

-org.eclipse.jdt.core.builder.cleanOutputFolder=clean

-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning

-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning

-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled

-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning

-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning

-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning

-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled

-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2

-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning

-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public

-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public

-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning

-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning

-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled

-org.eclipse.jdt.core.incompatibleJDKLevel=ignore

-eclipse.preferences.version=1

-org.eclipse.jdt.core.circularClasspath=error

-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled

-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100

-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore

-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public

-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning

-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning

-org.eclipse.jdt.core.compiler.debug.sourceFile=generate

-org.eclipse.jdt.core.compiler.doc.comment.support=disabled

-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning

-org.eclipse.jdt.core.incompleteClasspath=error

-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning

-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled

-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled

-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning

-org.eclipse.jdt.core.builder.duplicateResourceTask=warning

-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled

diff --git a/ant/org.eclipse.ant.ui/.settings/org.eclipse.pde.core.prefs b/ant/org.eclipse.ant.ui/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index ee4416f..0000000
--- a/ant/org.eclipse.ant.ui/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Fri Jan 21 19:40:52 GMT-08:00 2005

-eclipse.preferences.version=1

-selfhosting.binExcludes=/org.eclipse.ant.ui/ant_runner_support_bin,/org.eclipse.ant.ui/common_ant_support_bin,/org.eclipse.ant.ui/remote_support_bin

diff --git a/ant/org.eclipse.ant.ui/.settings/org.eclipse.pde.prefs b/ant/org.eclipse.ant.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index faff450..0000000
--- a/ant/org.eclipse.ant.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:32:58 GMT-08:00 2004

-compilers.p.unused-element-or-attribute=1

-compilers.p.unresolved-ex-points=0

-compilers.p.deprecated=1

-compilers.p.unknown-element=0

-compilers.p.unknown-resource=1

-compilers.p.unknown-class=1

-compilers.p.unknown-attribute=0

-compilers.p.no-required-att=0

-eclipse.preferences.version=1

-compilers.p.unresolved-import=0

-compilers.p.not-externalized-att=1

-compilers.p.illegal-att-value=0

-compilers.use-project=true

diff --git a/ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/TaskXMLFileMerger.java b/ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/TaskXMLFileMerger.java
deleted file mode 100644
index 48ab0cf..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/TaskXMLFileMerger.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug 24108
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.tools;
-
-import java.io.IOException;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.Vector;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * This class can be used to merge the tasks.xml and XDOCtasks.xml.
- * These files can be found in the Ant Editor Content Assist Dev folder.
- * Move the files to the Ant Editor folder to use this class.
- * 
- * The xml automatically generated from the proposed xdoclet in the Apache Ant's
- * project currently has no information on required attributes. In the future the task writers
- * hopefully will include this information in the source code comments. Our
- * template currently inserts an attribute required="NOTDEFINED" and this class
- * replaces that field if its defined in the xml file we have generated from the
- * information based on the html files in the Apache Ant's manual directory.
- */
-public class TaskXMLFileMerger {
-
-	//Definitions for the HTML Generated XML File
-    public static String HTML_TASKS_DESCRIPTION_XML_FILE_NAME = "/tasks.xml"; //$NON-NLS-1$
-    public static String HTML_XML_TAG_TASKS = "TASKS"; //$NON-NLS-1$
-    public static String HTML_XML_TAG_TASK = "TASK"; //$NON-NLS-1$
-    public static String HTML_XML_TAG_ATTRIBUTE = "ATTRIBUTE"; //$NON-NLS-1$
-    //public static String HTML_XML_TAG_DESCRIPTION = "DESCRIPTION";
-    public static String HTML_XML_ATTRIBUTE_NAME = "NAME"; //$NON-NLS-1$
-    public static String HTML_XML_ATTRIBUTE_REQUIRED = "REQUIRED"; //$NON-NLS-1$
-
-	//Definitions for the XDoclet Genereated XML File
-	public static String XDOC_TASKS_DESCRIPTION_XML_FILE_NAME = "/XDOCtasks.xml"; //$NON-NLS-1$
-	public static String XDOC_XML_TAG_TASKS = "tasks"; //$NON-NLS-1$
-	public static String XDOC_XML_TAG_TASK = "task"; //$NON-NLS-1$
-	public static String XDOC_XML_TAG_NAME = "name"; //$NON-NLS-1$
-	public static String XDOC_XML_TAG_STRUCTURE = "structure"; //$NON-NLS-1$
-	public static String XDOC_XML_TAG_ATTRIBUTES = "attributes"; //$NON-NLS-1$
-	public static String XDOC_XML_TAG_ATTRIBUTE = "attribute"; //$NON-NLS-1$
-	public static String XDOC_XML_TAG_ELEMENTS = "elements"; //$NON-NLS-1$
-	public static String XDOC_XML_TAG_ELEMENT = "element"; //$NON-NLS-1$
-	public static String XDOC_XML_TAG_REQUIRED = "required"; //$NON-NLS-1$
-	
-
-    protected NodeList taskNodes_HTML = null;
-	protected NodeList taskNodes_XDOC = null;
-	public Document xdocXMLDocument = null;
-
-    /**
-     * Creates an initialized instance.
-     */
-    public TaskXMLFileMerger() {
-        initialize();
-    }
-
-    
-    /**
-     * Parses the task description xml files and stores the information.
-     */
-	private void initialize() {
-    	
-    	Document tmpDocument = null;
-    	
-    	//Get All the Tasks in the HTML XML Generated file and store in the taskNodes_HTML
-    	tmpDocument = parseFile(HTML_TASKS_DESCRIPTION_XML_FILE_NAME);
-    	taskNodes_HTML = tmpDocument.getFirstChild().getChildNodes();
-    	
-    	//Do the same for the XDOC XML Generated file
-    	tmpDocument = parseFile(XDOC_TASKS_DESCRIPTION_XML_FILE_NAME);
-    	taskNodes_XDOC = tmpDocument.getFirstChild().getChildNodes();
-    	xdocXMLDocument = tmpDocument;
-/*   	
-        Document tempDocument = parseFile(aFileName);
-        Node tempRootNode = tempDocument.getDocumentElement();
-        NodeList tempChildNodes = tempRootNode.getChildNodes();
-        for(int i=0; i<tempChildNodes.getLength(); i++) {
-            Node tempNode = tempChildNodes.item(i);
-            if(tempNode.getNodeType() == Node.ELEMENT_NODE) {
-                String tempTagName = tempNode.getNodeName();
-                if(tempTagName.equals(anXML_TAG_TASK)) {
-                    NamedNodeMap tempAttributes = tempNode.getAttributes();
-                    Node tempAttributeNode = tempAttributes.getNamedItem(anXML_ATTRIBUTE_NAME);
-                    if(tempAttributeNode != null) {
-                        String tempTaskName = tempAttributeNode.getNodeValue();
-                        if(tempTaskName != null) {
-                           aHashMap.put(tempTaskName, tempNode);
-                        }
-                    }
-                }
-            }
-        }
-*/
-    }
-    
-
-	/**
-	 * This is the function that does all the work. Calling this
-	 * will cause all Required fields in all Attributes in the
-	 * XMLDoc file to be replaced with the value in the corresponding
-	 * Attributes Required field in the HTML Xml file. 
-	 */
-	public void runReplaceAttributeRequiredProcess() {
-		
-		//Iterate over all the tasks. If task is found in sourceList,
-		//then iterate over all the attributes, try to find out if the
-		//the attribute is required.
-		for(int i = 0; i < taskNodes_XDOC.getLength(); ++i ) {
-			Node tmpTargetNode = taskNodes_XDOC.item(i);
-			
-			if(tmpTargetNode.getNodeType() == Node.ELEMENT_NODE ) {
-				replaceAttributeRequiredInTaskNode(tmpTargetNode);
-			}
-		}
-	}
-	
-	private void replaceAttributeRequiredInTaskNode(Node aTargetTaskNode) {
-		
-		String tmpTaskName = aTargetTaskNode.getAttributes().getNamedItem(XDOC_XML_TAG_NAME).getNodeValue();
-		
-		if(tmpTaskName != null ) {
-			Node tmpSourceNode = getTaskInHTMLGeneratedTaskListNamed(tmpTaskName);
-			
-			if(tmpSourceNode != null) {
-				replaceAttributeRequiredInXMLTaskNodeWithAttributeRequiredInHTMLNode(aTargetTaskNode,
-																		 tmpSourceNode);
-			}
-			else {
-				System.out.println(MessageFormat.format("Did not find Task \"{0}\" in HTML XML file.", new String[]{tmpTaskName})); //$NON-NLS-1$
-			}
-		}
-		else {
-			System.out.println(MessageFormat.format("Did not find TaskName in TargetTaskNode: {0}", new String[]{aTargetTaskNode.toString()})); //$NON-NLS-1$
-		}
-	}
-	
-	private Node getTaskInHTMLGeneratedTaskListNamed(String aTaskName) {
-		
-		for(int i = 0; i<taskNodes_HTML.getLength(); ++i ) {
-			
-			Node tmpTaskNode = taskNodes_HTML.item(i);
-			if(tmpTaskNode.getNodeType() == Node.ELEMENT_NODE ) {
-				String tmpTagName = tmpTaskNode.getNodeName();
-                if(tmpTagName.equals(HTML_XML_TAG_TASK)) {
-                	NamedNodeMap tmpMap = tmpTaskNode.getAttributes();
-                	Node tmpNameNode = tmpMap.getNamedItem(HTML_XML_ATTRIBUTE_NAME);
-                	if( aTaskName.equals(tmpNameNode.getNodeValue()) ) {
-                		return tmpTaskNode;
-                	}
-                }
-			}
-		}
-		//Not found
-		return null;
-	}
-	
-	private void replaceAttributeRequiredInXMLTaskNodeWithAttributeRequiredInHTMLNode(Node aTargetTaskNode,
-																						  Node aSourceTaskNode) {
-		
-			Node tmpStructureNode = getChildNodeNamedWithTypeFromNode( XDOC_XML_TAG_STRUCTURE,
-															  			Node.ELEMENT_NODE,
-															  			aTargetTaskNode );
-															  
-			if(tmpStructureNode != null ) {
-				Node tmpTargetAttributesNode = getChildNodeNamedWithTypeFromNode(XDOC_XML_TAG_ATTRIBUTES,
-															  					  Node.ELEMENT_NODE,
-															  					  tmpStructureNode);
-				if(tmpTargetAttributesNode != null ) {
-					Vector tmpTargetAttributesVector = getAttributeNodesFromXMLAttributesNode(tmpTargetAttributesNode);
-					Vector tmpSourceAttributesVector = getAttributeNodesFromHTMLTaskNode(aSourceTaskNode);
-					
-					//Iterate over all the attributes in the targetTaskNode
-					for(int i=0; i < tmpTargetAttributesVector.size(); ++i) {
-						Node tmpAttributeNode = (Node)tmpTargetAttributesVector.get(i);
-						replaceAttributeRequiredInAttributeNodeWithValueFoundInNodeVector(tmpAttributeNode, tmpSourceAttributesVector);
-					}
-				}
-			}
-	}
-	
-	private void replaceAttributeRequiredInAttributeNodeWithValueFoundInNodeVector(Node aTargetAttributeNode, Vector aSourceAttributeVector) {
-		
-		NamedNodeMap tmpTargetNamedNodeMap = aTargetAttributeNode.getAttributes();
-		String tmpTargetAttributeName = tmpTargetNamedNodeMap.getNamedItem(XDOC_XML_TAG_NAME).getNodeValue();
-		
-		String tmpSourceAttributeName = null;
-		String tmpSourceRequiredValue = null;
-		
-		for(int i=0; i < aSourceAttributeVector.size(); ++i) {
-			Node tmpSourceAttributeNode = (Node)aSourceAttributeVector.get(i);
-			NamedNodeMap tmpSourceAttributeNamedNodeMap = tmpSourceAttributeNode.getAttributes();
-			tmpSourceAttributeName = tmpSourceAttributeNamedNodeMap.getNamedItem(HTML_XML_ATTRIBUTE_NAME).getNodeValue();
-			//If the Attribute Name is the same we replace the REQUIRED Value	
-			if(tmpTargetAttributeName.equals(tmpSourceAttributeName) ){
-				tmpSourceRequiredValue = tmpSourceAttributeNamedNodeMap.getNamedItem(HTML_XML_ATTRIBUTE_REQUIRED).getNodeValue(); 
-				//Set the Vaule to the on we just got.
-				tmpTargetNamedNodeMap.getNamedItem(XDOC_XML_TAG_REQUIRED).setNodeValue(tmpSourceRequiredValue);
-			}
-		}
-	}
-						
-	private Vector getAttributeNodesFromXMLAttributesNode(Node anXMLAttributesNode){
-		
-		Vector allAttributes = new Vector(); 
-		NodeList tmpList = anXMLAttributesNode.getChildNodes();
-		
-		for(int i = 0; i<tmpList.getLength(); ++i) {
-			Node tmpNode = tmpList.item(i);
-			if(tmpNode.getNodeType() == Node.ELEMENT_NODE 
-				&& XDOC_XML_TAG_ATTRIBUTE.equals(tmpNode.getNodeName()) ) {
-				allAttributes.add(tmpNode);
-			}
-		}
-		return allAttributes;
-	}
-	
-	private Vector getAttributeNodesFromHTMLTaskNode(Node anHTTP_XML_TaskNode) {
-		
-		Vector tmpVector = new Vector();
-		NodeList tmpList = anHTTP_XML_TaskNode.getChildNodes();
-		
-		for(int i = 0; i < tmpList.getLength(); ++i) {
-			Node tmpNode = tmpList.item(i);
-			if(tmpNode.getNodeType() == Node.ELEMENT_NODE
-				&& HTML_XML_TAG_ATTRIBUTE.equals(tmpNode.getNodeName()) ) {
-					tmpVector.add(tmpNode);
-				}
-		}
-		
-		return tmpVector;
-	}
-	
-	/**
-     * Returns the ChildNode of the node defined by the Arguments. The
-     * first child found matching the criterias is returned.
-     * 
-     * @param aNodeName The Name of the Node to return.
-     * @param aType The Type of the node @see Node
-     * @param aParentNode The Node to get the child from
-     * 
-     * @return The First Child Node found matching the criterias,
-     * or null if none is found.
-     */																		  			
-	private Node getChildNodeNamedWithTypeFromNode(String aName, short aNodeType, Node aNode ) {
-		
-		NodeList tmpNodeList = aNode.getChildNodes();
-		for(int i=0; i<tmpNodeList.getLength(); ++i ) {
-			Node tmpNode = tmpNodeList.item(i);
-			if( (tmpNode.getNodeType() == aNodeType) && aName.equals(tmpNode.getNodeName()) ) {
-				return tmpNode;
-			}
-		}
-		//Not found
-		return null;
-	} 
-			
-		
-    /**
-     * Returns the (DOM) document as a result of parsing the file with the 
-     * specified file name.
-     * <P>
-     * The file will be loaded as resource, thus must begin with '/' and must
-     * be relative to the classpath.
-     */
-	private Document parseFile(String aFileName) {
-        Document tempDocument = null;
-
-        DocumentBuilderFactory tempFactory = DocumentBuilderFactory.newInstance();
-        tempFactory.setIgnoringComments(true);
-        tempFactory.setIgnoringElementContentWhitespace(true);
-        tempFactory.setCoalescing(true);
-
-        try {
-            DocumentBuilder tempDocBuilder = tempFactory.newDocumentBuilder();
-            URL tempURL = getClass().getResource(aFileName);
-            InputSource tempInputSource = new InputSource(tempURL.toExternalForm());
-            tempDocument = tempDocBuilder.parse(tempInputSource);
-        } catch (ParserConfigurationException e) {
-			AntUIPlugin.log(e);
-        }
-        catch (IOException ioException) {
-			AntUIPlugin.log(ioException);
-        }
-        catch (SAXException saxException) {
-			AntUIPlugin.log(saxException);
-        }
-
-        return tempDocument;
-    }
-    
-    /**
-     * This function writes the XMLDocument to the specified file.
-     * @param aFileName The filename to which the XMLDocument should be written.
-     */
-    public void writeXMLDocumentToFile(String aFileName) {
-    	
-//    	try {	
-//    		XmlDocument xmlDocument = (XmlDocument)xdocXMLDocument;
-//    		xmlDocument.write(new FileWriter(aFileName), "UTF-8"); //$NON-NLS-1$
-//    	}
-//    	catch(IOException ioe) {
-//    		System.out.println(MessageFormat.format(AntEditorToolsMessages.getString("TaskXMLFileMerger.Could_not_print"), new String[]{ioe.toString()})); //$NON-NLS-1$
-//    	} 
-    }
-	
-	public static void main(String[] args) {
-		
-		TaskXMLFileMerger tmpTaskXMLFileMerger = new TaskXMLFileMerger();
-		tmpTaskXMLFileMerger.runReplaceAttributeRequiredProcess();
-		tmpTaskXMLFileMerger.writeXMLDocumentToFile("src\\anttasks_1.5b.xml"); //$NON-NLS-1$
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/XDOCtasks.xml b/ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/XDOCtasks.xml
deleted file mode 100644
index b82075e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/XDOCtasks.xml
+++ /dev/null
@@ -1,18688 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tasks>
-<task name="ant" category="control"
-      classname="org.apache.tools.ant.taskdefs.Ant"
-      >
-
-  <short-description><![CDATA[Build a sub-project.]]></short-description>
-  <description>
-    <![CDATA[Build a sub-project.
-
-  <pre>
-  &lt;target name=&quot;foo&quot; depends=&quot;init&quot;&gt;
-    &lt;ant antfile=&quot;build.xml&quot; target=&quot;bar&quot; &gt;
-      &lt;property name=&quot;property1&quot; value=&quot;aaaaa&quot; /&gt;
-      &lt;property name=&quot;foo&quot; value=&quot;baz&quot; /&gt;
-    &lt;/ant&gt;</SPAN>
-  &lt;/target&gt;</SPAN>
-
-  &lt;target name=&quot;bar&quot; depends=&quot;init&quot;&gt;
-    &lt;echo message=&quot;prop is ${property1} ${foo}&quot; /&gt;
-  &lt;/target&gt;
- </pre>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="antfile" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The buildfile to use.]]></short-description>
-        <description><![CDATA[
-          The buildfile to use.
- Defaults to "build.xml". This file is expected to be a filename relative
- to the dir attribute given.
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory to use as a base directory for the new Ant project.]]></short-description>
-        <description><![CDATA[
-          The directory to use as a base directory for the new Ant project.
- Defaults to the current project's basedir, unless inheritall
- has been set to false, in which case it doesn't have a default
- value. This will override the basedir setting of the called project.
-        ]]></description>
-      </attribute>
-      <attribute name="inheritall" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, pass all properties to the new Ant project.]]></short-description>
-        <description><![CDATA[
-          If true, pass all properties to the new Ant project.
- Defaults to true.
-        ]]></description>
-      </attribute>
-      <attribute name="inheritrefs" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, pass all references to the new Ant project.]]></short-description>
-        <description><![CDATA[
-          If true, pass all references to the new Ant project.
- Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="output" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Filename to write the output to.]]></short-description>
-        <description><![CDATA[
-          Filename to write the output to.
- This is relative to the value of the dir attribute
- if it has been set or to the base directory of the
- current project otherwise.
-        ]]></description>
-      </attribute>
-      <attribute name="target" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The target of the new Ant project to execute.]]></short-description>
-        <description><![CDATA[
-          The target of the new Ant project to execute.
- Defaults to the new project's default target.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="reference" type="org.apache.tools.ant.taskdefs.Ant.Reference"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Reference element identifying a data type to carry
- over to the new project.]]></short-description>
-        <description>
-          <![CDATA[Reference element identifying a data type to carry
- over to the new project.]]>
-        </description>
-      </element>
-
-      <element name="property" type="org.apache.tools.ant.taskdefs.Property"
-               briefType="see &lt;property&gt;"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Property to pass to the new project.]]></short-description>
-        <description>
-          <![CDATA[Property to pass to the new project.
- The property is passed as a 'user property']]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="antcall" category="control"
-      classname="org.apache.tools.ant.taskdefs.CallTarget"
-      >
-
-  <short-description><![CDATA[Call another target in the same project.]]></short-description>
-  <description>
-    <![CDATA[Call another target in the same project.
-
-  <pre>
-    &lt;target name="foo"&gt;
-      &lt;antcall target="bar"&gt;
-        &lt;param name="property1" value="aaaaa" /&gt;
-        &lt;param name="foo" value="baz" /&gt;
-       &lt;/antcall&gt;
-    &lt;/target&gt;
-
-    &lt;target name="bar" depends="init"&gt;
-      &lt;echo message="prop is ${property1} ${foo}" /&gt;
-    &lt;/target&gt;
- </pre>
-
- <p>This only works as expected if neither property1 nor foo are
- defined in the project itself.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="inheritall" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, pass all properties to the new Ant project.]]></short-description>
-        <description><![CDATA[
-          If true, pass all properties to the new Ant project.
- Defaults to true.
-        ]]></description>
-      </attribute>
-      <attribute name="inheritrefs" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, pass all references to the new Ant project.]]></short-description>
-        <description><![CDATA[
-          If true, pass all references to the new Ant project.
- Defaults to false
-        ]]></description>
-      </attribute>
-      <attribute name="target" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Target to execute, required.]]></short-description>
-        <description><![CDATA[
-          Target to execute, required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="reference" type="org.apache.tools.ant.taskdefs.Ant.Reference"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Reference element identifying a data type to carry
- over to the invoked target.]]></short-description>
-        <description>
-          <![CDATA[Reference element identifying a data type to carry
- over to the invoked target.]]>
-        </description>
-      </element>
-
-      <element name="param" type="org.apache.tools.ant.taskdefs.Property"
-               briefType="see &lt;property&gt;"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Property to pass to the invoked target.]]></short-description>
-        <description>
-          <![CDATA[Property to pass to the invoked target.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="antlr" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ANTLR"
-      >
-
-  <short-description><![CDATA[Invokes the ANTLR Translator generator on a grammar file.]]></short-description>
-  <description>
-    <![CDATA[Invokes the ANTLR Translator generator on a grammar file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="debug" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to enable ParseView debugging.]]></short-description>
-        <description><![CDATA[
-          Sets a flag to enable ParseView debugging
-        ]]></description>
-      </attribute>
-      <attribute name="diagnostic" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to emit diagnostic text.]]></short-description>
-        <description><![CDATA[
-          Sets a flag to emit diagnostic text
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The working directory of the process.]]></short-description>
-        <description><![CDATA[
-          The working directory of the process
-        ]]></description>
-      </attribute>
-      <attribute name="glib" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets an optional super grammar file.]]></short-description>
-        <description><![CDATA[
-          Sets an optional super grammar file.
-        ]]></description>
-      </attribute>
-      <attribute name="html" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, emit html.]]></short-description>
-        <description><![CDATA[
-          If true, emit html
-        ]]></description>
-      </attribute>
-      <attribute name="outputdirectory" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory to write the generated files to.]]></short-description>
-        <description><![CDATA[
-          The directory to write the generated files to.
-        ]]></description>
-      </attribute>
-      <attribute name="target" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The grammar file to process.]]></short-description>
-        <description><![CDATA[
-          The grammar file to process.
-        ]]></description>
-      </attribute>
-      <attribute name="trace" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, enables all tracing.]]></short-description>
-        <description><![CDATA[
-          If true, enables all tracing.
-        ]]></description>
-      </attribute>
-      <attribute name="tracelexer" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, enables lexer tracing.]]></short-description>
-        <description><![CDATA[
-          If true, enables lexer tracing.
-        ]]></description>
-      </attribute>
-      <attribute name="traceparser" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, enables parser tracing.]]></short-description>
-        <description><![CDATA[
-          If true, enables parser tracing.
-        ]]></description>
-      </attribute>
-      <attribute name="tracetreewalker" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to allow the user to enable tree walker tracing.]]></short-description>
-        <description><![CDATA[
-          Sets a flag to allow the user to enable tree walker tracing
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a classpath to be set
- because a directory might be given for Antlr debug.]]></short-description>
-        <description>
-          <![CDATA[Adds a classpath to be set
- because a directory might be given for Antlr debug.]]>
-        </description>
-      </element>
-
-      <element name="jvmarg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a new JVM argument.]]></short-description>
-        <description>
-          <![CDATA[Adds a new JVM argument.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="antstructure" category="xml"
-      classname="org.apache.tools.ant.taskdefs.AntStructure"
-      >
-
-  <short-description><![CDATA[Creates a partial DTD for Ant from the currently known tasks.]]></short-description>
-  <description>
-    <![CDATA[Creates a partial DTD for Ant from the currently known tasks.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="output" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The output file.]]></short-description>
-        <description><![CDATA[
-          The output file.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="apply" category="control"
-      classname="org.apache.tools.ant.taskdefs.ExecuteOn"
-      >
-
-  <short-description><![CDATA[Executes a given command, supplying a set of files as arguments.]]></short-description>
-  <description>
-    <![CDATA[Executes a given command, supplying a set of files as arguments.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="append" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether output should be appended to or overwrite an existing file.]]></short-description>
-        <description><![CDATA[
-          Whether output should be appended to or overwrite an existing file.
- Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory where target files are to be placed.]]></short-description>
-        <description><![CDATA[
-          The directory where target files are to be placed.
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The working directory of the process.]]></short-description>
-        <description><![CDATA[
-          The working directory of the process.
-        ]]></description>
-      </attribute>
-      <attribute name="executable" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The command to execute.]]></short-description>
-        <description><![CDATA[
-          The command to execute.
-        ]]></description>
-      </attribute>
-      <attribute name="failifexecutionfails" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Stop the build if program cannot be started.]]></short-description>
-        <description><![CDATA[
-          Stop the build if program cannot be started. Defaults to true.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Fail if the command exits with a non-zero return code.]]></short-description>
-        <description><![CDATA[
-          Fail if the command exits with a non-zero return code.
-        ]]></description>
-      </attribute>
-      <attribute name="newenvironment" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Do not propagate old environment when new environment variables are specified.]]></short-description>
-        <description><![CDATA[
-          Do not propagate old environment when new environment variables are specified.
-        ]]></description>
-      </attribute>
-      <attribute name="os" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[List of operating systems on which the command may be executed.]]></short-description>
-        <description><![CDATA[
-          List of operating systems on which the command may be executed.
-        ]]></description>
-      </attribute>
-      <attribute name="output" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File the output of the process is redirected to.]]></short-description>
-        <description><![CDATA[
-          File the output of the process is redirected to.
-        ]]></description>
-      </attribute>
-      <attribute name="outputproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Property name whose value should be set to the output of
- the process.]]></short-description>
-        <description><![CDATA[
-          Property name whose value should be set to the output of
- the process.
-        ]]></description>
-      </attribute>
-      <attribute name="parallel" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, run the command only once, appending all files as arguments.]]></short-description>
-        <description><![CDATA[
-          If true, run the command only once, appending all files as arguments.
- If false, command will be executed once for every file. Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="relative" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the filenames should be passed on the command line as
- absolute or relative pathnames.]]></short-description>
-        <description><![CDATA[
-          Whether the filenames should be passed on the command line as
- absolute or relative pathnames. Paths are relative to the base
- directory of the corresponding fileset for source files or the
- dest attribute for target files.
-        ]]></description>
-      </attribute>
-      <attribute name="resultproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of a property in which the return code of the
- command should be stored.]]></short-description>
-        <description><![CDATA[
-          The name of a property in which the return code of the
- command should be stored. Only of interest if failonerror=false.
-        ]]></description>
-      </attribute>
-      <attribute name="skipemptyfilesets" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If no source files have been found or are newer than their
- corresponding target files, do not run the command.]]></short-description>
-        <description><![CDATA[
-          If no source files have been found or are newer than their
- corresponding target files, do not run the command.
-        ]]></description>
-      </attribute>
-      <attribute name="type" type="org.apache.tools.ant.taskdefs.ExecuteOn.FileDirBoth"
-                 briefType="&quot;file&quot;, &quot;dir&quot;, &quot;both&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the command works only on files, directories or both?.]]></short-description>
-        <description><![CDATA[
-          Whether the command works only on files, directories or both?
-        ]]></description>
-      </attribute>
-      <attribute name="vmlauncher" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, launch new process with VM, otherwise use the OS's shell.]]></short-description>
-        <description><![CDATA[
-          If true, launch new process with VM, otherwise use the OS's shell.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="env" type="org.apache.tools.ant.types.Environment.Variable"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an environment variable to the launched process.]]></short-description>
-        <description>
-          <![CDATA[Add an environment variable to the launched process.]]>
-        </description>
-      </element>
-
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Source files to operate upon.]]></short-description>
-        <description>
-          <![CDATA[Source files to operate upon.]]>
-        </description>
-      </element>
-
-      <element name="arg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a command-line argument.]]></short-description>
-        <description>
-          <![CDATA[Adds a command-line argument.]]>
-        </description>
-      </element>
-
-      <element name="mapper" type="org.apache.tools.ant.types.Mapper"
-               briefType="Mapper"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Mapper to use for mapping source files to target files.]]></short-description>
-        <description>
-          <![CDATA[Mapper to use for mapping source files to target files.]]>
-        </description>
-      </element>
-
-      <element name="srcfile" type="org.apache.tools.ant.types.Commandline.Marker"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Marker that indicates where the name of the source file should
- be put on the command line.]]></short-description>
-        <description>
-          <![CDATA[Marker that indicates where the name of the source file should
- be put on the command line.]]>
-        </description>
-      </element>
-
-      <element name="targetfile" type="org.apache.tools.ant.types.Commandline.Marker"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Marker that indicates where the name of the target file should
- be put on the command line.]]></short-description>
-        <description>
-          <![CDATA[Marker that indicates where the name of the target file should
- be put on the command line.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="available" category="control"
-      classname="org.apache.tools.ant.taskdefs.Available"
-      >
-
-  <short-description><![CDATA[Will set the given property if the requested resource is available at runtime.]]></short-description>
-  <description>
-    <![CDATA[Will set the given property if the requested resource is available at 
- runtime. This task may also be used as a condition by the condition task.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Classname of a class which must be available to set the given 
- property.]]></short-description>
-        <description><![CDATA[
-          Set a classname of a class which must be available to set the given 
- property.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used when searching for classes and resources.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used when searching for classes and resources.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath by reference.]]></short-description>
-        <description><![CDATA[
-          Set the classpath by reference.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File which must be present in the file system to set the given
- property.]]></short-description>
-        <description><![CDATA[
-          Set the file which must be present in the file system to set the given
- property.
-        ]]></description>
-      </attribute>
-      <attribute name="filepath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Path to use when looking for a file.]]></short-description>
-        <description><![CDATA[
-          Set the path to use when looking for a file.
-        ]]></description>
-      </attribute>
-      <attribute name="ignoresystemclasses" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether the search for classes should ignore the runtime classes and
- just use the given classpath.]]></short-description>
-        <description><![CDATA[
-          Set whether the search for classes should ignore the runtime classes and
- just use the given classpath.
-        ]]></description>
-      </attribute>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the property which will be set if the particular resource
- is available.]]></short-description>
-        <description><![CDATA[
-          Set the name of the property which will be set if the particular resource
- is available.
-        ]]></description>
-      </attribute>
-      <attribute name="resource" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of a Java resource which is required to set the property.]]></short-description>
-        <description><![CDATA[
-          Set the name of a Java resource which is required to set the property.
-        ]]></description>
-      </attribute>
-      <attribute name="type" type="org.apache.tools.ant.taskdefs.Available.FileDir"
-                 briefType="&quot;file&quot;, &quot;dir&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Set what type of file is required - either directory or file.]]></short-description>
-        <description><![CDATA[
-          Set what type of file is required - either directory or file.
-        ]]></description>
-      </attribute>
-      <attribute name="value" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Value to be given to the property if the desired resource is
- available.]]></short-description>
-        <description><![CDATA[
-          Set the value to be given to the property if the desired resource is
- available.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used when searching for classes and resources.]]></short-description>
-        <description>
-          <![CDATA[Classpath to be used when searching for classes and resources.]]>
-        </description>
-      </element>
-
-      <element name="filepath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Path to search for file resources.]]></short-description>
-        <description>
-          <![CDATA[Path to search for file resources.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="basename" category="property"
-      classname="org.apache.tools.ant.taskdefs.Basename"
-      >
-
-  <short-description><![CDATA[Sets a property to the base name of a specified file, optionally minus a suffix.]]></short-description>
-  <description>
-    <![CDATA[Sets a property to the base name of a specified file, optionally minus a
- suffix.
-
- This task can accept the following attributes:
- <ul>
- <li>file
- <li>property
- <li>suffix
- </ul>
- The <b>file</b> and <b>property</b> attributes are required. The
- <b>suffix</b> attribute can be specified either with or without
- the &quot;.&quot;, and the result will be the same (ie., the
- returned file name will be minus the .suffix).
- <p>
- When this task executes, it will set the specified property to the
- value of the last element in the specified file. If file is a
- directory, the basename will be the last directory element. If file
- is a full-path filename, the basename will be the simple file name.
- If a suffix is specified, and the specified file ends in that suffix,
- the basename will be the simple file name without the suffix.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File or directory to get base name from.]]></short-description>
-        <description><![CDATA[
-          File or directory to get base name from.
-        ]]></description>
-      </attribute>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Property to set base name to.]]></short-description>
-        <description><![CDATA[
-          Property to set base name to.
-        ]]></description>
-      </attribute>
-      <attribute name="suffix" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Optional suffix to remove from base name.]]></short-description>
-        <description><![CDATA[
-          Optional suffix to remove from base name.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="blgenclient" category="ejb"
-      classname="org.apache.tools.ant.taskdefs.optional.ejb.BorlandGenerateClient"
-      >
-
-  <short-description><![CDATA[Generates a Borland Application Server 4.5 client JAR using as input the EJB JAR file.]]></short-description>
-  <description>
-    <![CDATA[Generates a Borland Application Server 4.5 client JAR using as
- input the EJB JAR file.
-
- Two mode are available: java mode (default) and fork mode. With the fork mode,
- it is impossible to add classpath to the commmand line.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Path to use for classpath.]]></short-description>
-        <description><![CDATA[
-          Path to use for classpath.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Reference to existing path, to use as a classpath.]]></short-description>
-        <description><![CDATA[
-          Reference to existing path, to use as a classpath.
-        ]]></description>
-      </attribute>
-      <attribute name="clientjar" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Client JAR file name.]]></short-description>
-        <description><![CDATA[
-          Client JAR file name.
-        ]]></description>
-      </attribute>
-      <attribute name="debug" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, turn on the debug mode for each of the Borland tools launched.]]></short-description>
-        <description><![CDATA[
-          If true, turn on the debug mode for each of the Borland tools launched.
-        ]]></description>
-      </attribute>
-      <attribute name="ejbjar" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[EJB JAR file.]]></short-description>
-        <description><![CDATA[
-          EJB JAR file.
-        ]]></description>
-      </attribute>
-      <attribute name="mode" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Command launching mode: java or fork.]]></short-description>
-        <description><![CDATA[
-          Command launching mode: java or fork.
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds path to the classpath.]]></short-description>
-        <description>
-          <![CDATA[Adds path to the classpath.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="buildnumber" category="other"
-      classname="org.apache.tools.ant.taskdefs.BuildNumber"
-      >
-
-  <short-description><![CDATA[Read, increment, and write a build number in a file It will first attempt to read a build number from a file, then set the property "build.number" to the value that was read in (or 0 if no such value).]]></short-description>
-  <description>
-    <![CDATA[Read, increment, and write a build number in a file
- It will first
- attempt to read a build number from a file, then set the property
- "build.number" to the value that was read in (or 0 if no such value). Then
- it will increment the build number by one and write it back out into the
- file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file in which the build number is stored.]]></short-description>
-        <description><![CDATA[
-          The file in which the build number is stored. Defaults to
- "build.number" if not specified.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="bunzip2" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.BUnzip2"
-      >
-
-  <short-description><![CDATA[Expands a file that has been compressed with the BZIP2 algorithm.]]></short-description>
-  <description>
-    <![CDATA[Expands a file that has been compressed with the BZIP2
- algorithm. Normally used to compress non-compressed archives such
- as TAR files.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The destination file or directory; optional.]]></short-description>
-        <description><![CDATA[
-          The destination file or directory; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to expand; required.]]></short-description>
-        <description><![CDATA[
-          The file to expand; required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="bzip2" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.BZip2"
-      >
-
-  <short-description><![CDATA[Compresses a file with the BZIP2 algorithm.]]></short-description>
-  <description>
-    <![CDATA[Compresses a file with the BZIP2 algorithm. Normally used to compress
- non-compressed archives such as TAR files.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to compress; required.]]></short-description>
-        <description><![CDATA[
-          the file to compress; required.
-        ]]></description>
-      </attribute>
-      <attribute name="zipfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The required destination file.]]></short-description>
-        <description><![CDATA[
-          the required destination file.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="cab" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.Cab"
-      matchingTask="true">
-
-  <short-description><![CDATA[Create a CAB archive.]]></short-description>
-  <description>
-    <![CDATA[Create a CAB archive.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="basedir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Base directory to look in for files to CAB.]]></short-description>
-        <description><![CDATA[
-          Base directory to look in for files to CAB.
-        ]]></description>
-      </attribute>
-      <attribute name="cabfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The name/location of where to create the .cab file.]]></short-description>
-        <description><![CDATA[
-          The name/location of where to create the .cab file.
-        ]]></description>
-      </attribute>
-      <attribute name="compress" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, compress the files otherwise only store them.]]></short-description>
-        <description><![CDATA[
-          If true, compress the files otherwise only store them.
-        ]]></description>
-      </attribute>
-      <attribute name="options" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets additional cabarc options that are not supported directly.]]></short-description>
-        <description><![CDATA[
-          Sets additional cabarc options that are not supported directly.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, display cabarc output.]]></short-description>
-        <description><![CDATA[
-          If true, display cabarc output.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files to archive.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files to archive.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="cccheckin" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.clearcase.CCCheckin"
-      >
-
-  <short-description><![CDATA[Performs ClearCase checkin.]]></short-description>
-  <description>
-    <![CDATA[Performs ClearCase checkin.
-
- <p>
- The following attributes are interpreted:
- <table border="1">
-   <tr>
-     <th>Attribute</th>
-     <th>Values</th>
-     <th>Required</th>
-   </tr>
-   <tr>
-      <td>viewpath</td>
-      <td>Path to the ClearCase view file or directory that the command will operate on</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>comment</td>
-      <td>Specify a comment. Only one of comment or cfile may be used.</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>commentfile</td>
-      <td>Specify a file containing a comment. Only one of comment or cfile may be used.</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>nowarn</td>
-      <td>Suppress warning messages</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>preservetime</td>
-      <td>Preserve the modification time</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>keepcopy</td>
-      <td>Keeps a copy of the file with a .keep extension</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>identical</td>
-      <td>Allows the file to be checked in even if it is identical to the original</td>
-      <td>No</td>
-   <tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="cleartooldir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where the cleartool executable is located.]]></short-description>
-        <description><![CDATA[
-          Set the directory where the cleartool executable is located.
-        ]]></description>
-      </attribute>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Comment string.]]></short-description>
-        <description><![CDATA[
-          Sets the comment string.
-        ]]></description>
-      </attribute>
-      <attribute name="commentfile" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies a file containing a comment.]]></short-description>
-        <description><![CDATA[
-          Specifies a file containing a comment.
-        ]]></description>
-      </attribute>
-      <attribute name="identical" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, allows the file to be checked in even
- if it is identical to the original.]]></short-description>
-        <description><![CDATA[
-          If true, allows the file to be checked in even
- if it is identical to the original.
-        ]]></description>
-      </attribute>
-      <attribute name="keepcopy" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, keeps a copy of the file with a .keep extension.]]></short-description>
-        <description><![CDATA[
-          If true, keeps a copy of the file with a .keep extension.
-        ]]></description>
-      </attribute>
-      <attribute name="nowarn" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, suppress warning messages.]]></short-description>
-        <description><![CDATA[
-          If true, suppress warning messages.
-        ]]></description>
-      </attribute>
-      <attribute name="preservetime" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, preserve the modification time.]]></short-description>
-        <description><![CDATA[
-          If true, preserve the modification time.
-        ]]></description>
-      </attribute>
-      <attribute name="viewpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the item in a ClearCase view to operate on.]]></short-description>
-        <description><![CDATA[
-          Set the path to the item in a ClearCase view to operate on.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="cccheckout" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.clearcase.CCCheckout"
-      >
-
-  <short-description><![CDATA[Performs ClearCase checkout.]]></short-description>
-  <description>
-    <![CDATA[Performs ClearCase checkout.
-
- <p>
- The following attributes are interpretted:
- <table border="1">
-   <tr>
-     <th>Attribute</th>
-     <th>Values</th>
-     <th>Required</th>
-   </tr>
-   <tr>
-      <td>viewpath</td>
-      <td>Path to the ClearCase view file or directory that the command will operate on</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>reserved</td>
-      <td>Specifies whether to check out the file as reserved or not</td>
-      <td>Yes</td>
-   <tr>
-   <tr>
-      <td>out</td>
-      <td>Creates a writable file under a different filename</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>nodata</td>
-      <td>Checks out the file but does not create an editable file containing its data</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>branch</td>
-      <td>Specify a branch to check out the file to</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>version</td>
-      <td>Allows checkout of a version other than main latest</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>nowarn</td>
-      <td>Suppress warning messages</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>comment</td>
-      <td>Specify a comment. Only one of comment or cfile may be used.</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>commentfile</td>
-      <td>Specify a file containing a comment. Only one of comment or cfile may be used.</td>
-      <td>No</td>
-   <tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="branch" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specify a branch to check out the file to.]]></short-description>
-        <description><![CDATA[
-          Specify a branch to check out the file to.
-        ]]></description>
-      </attribute>
-      <attribute name="cleartooldir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where the cleartool executable is located.]]></short-description>
-        <description><![CDATA[
-          Set the directory where the cleartool executable is located.
-        ]]></description>
-      </attribute>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Comment string.]]></short-description>
-        <description><![CDATA[
-          Sets the comment string.
-        ]]></description>
-      </attribute>
-      <attribute name="commentfile" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies a file containing a comment.]]></short-description>
-        <description><![CDATA[
-          Specifies a file containing a comment.
-        ]]></description>
-      </attribute>
-      <attribute name="nodata" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, checks out the file but does not create an
- editable file containing its data.]]></short-description>
-        <description><![CDATA[
-          If true, checks out the file but does not create an
- editable file containing its data.
-        ]]></description>
-      </attribute>
-      <attribute name="nowarn" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, warning messages are suppressed.]]></short-description>
-        <description><![CDATA[
-          If true, warning messages are suppressed.
-        ]]></description>
-      </attribute>
-      <attribute name="out" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Creates a writable file under a different filename.]]></short-description>
-        <description><![CDATA[
-          Creates a writable file under a different filename.
-        ]]></description>
-      </attribute>
-      <attribute name="reserved" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, checks out the file as reserved.]]></short-description>
-        <description><![CDATA[
-          If true, checks out the file as reserved.
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, allows checkout of a version other than main latest.]]></short-description>
-        <description><![CDATA[
-          If true, allows checkout of a version other than main latest.
-        ]]></description>
-      </attribute>
-      <attribute name="viewpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the item in a ClearCase view to operate on.]]></short-description>
-        <description><![CDATA[
-          Set the path to the item in a ClearCase view to operate on.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ccmcheckin" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ccm.CCMCheckin"
-      >
-
-  <short-description><![CDATA[Performs Continuus checkin command.]]></short-description>
-  <description>
-    <![CDATA[Performs Continuus checkin command.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="ccmdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where the ccm executable is located.]]></short-description>
-        <description><![CDATA[
-          Set the directory where the ccm executable is located.
-        ]]></description>
-      </attribute>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies a comment.]]></short-description>
-        <description><![CDATA[
-          Specifies a comment.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the file that the command will operate on.]]></short-description>
-        <description><![CDATA[
-          Sets the path to the file that the command will operate on.
-        ]]></description>
-      </attribute>
-      <attribute name="task" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the task number used to check
- in the file (may use 'default').]]></short-description>
-        <description><![CDATA[
-          Specifies the task number used to check
- in the file (may use 'default').
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ccmcheckintask" category="scm"
-      classname="org.apache.tools.ant.taskdefs.optional.ccm.CCMCheckinDefault"
-      >
-
-  <short-description><![CDATA[Performs Continuus Checkin Default task command.]]></short-description>
-  <description>
-    <![CDATA[Performs Continuus Checkin Default task command.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="ccmdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where the ccm executable is located.]]></short-description>
-        <description><![CDATA[
-          Set the directory where the ccm executable is located.
-        ]]></description>
-      </attribute>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies a comment.]]></short-description>
-        <description><![CDATA[
-          Specifies a comment.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the file that the command will operate on.]]></short-description>
-        <description><![CDATA[
-          Sets the path to the file that the command will operate on.
-        ]]></description>
-      </attribute>
-      <attribute name="task" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the task number used to check
- in the file (may use 'default').]]></short-description>
-        <description><![CDATA[
-          Specifies the task number used to check
- in the file (may use 'default').
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ccmcheckout" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ccm.CCMCheckout"
-      >
-
-  <short-description><![CDATA[Performs Continuus checkout command.]]></short-description>
-  <description>
-    <![CDATA[Performs Continuus checkout command.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="ccmdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where the ccm executable is located.]]></short-description>
-        <description><![CDATA[
-          Set the directory where the ccm executable is located.
-        ]]></description>
-      </attribute>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies a comment.]]></short-description>
-        <description><![CDATA[
-          Specifies a comment.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the file that the command will operate on.]]></short-description>
-        <description><![CDATA[
-          Sets the path to the file that the command will operate on.
-        ]]></description>
-      </attribute>
-      <attribute name="task" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the task number used to check
- in the file (may use 'default').]]></short-description>
-        <description><![CDATA[
-          Specifies the task number used to check
- in the file (may use 'default').
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ccmcreatetask" category="scm"
-      classname="org.apache.tools.ant.taskdefs.optional.ccm.CCMCreateTask"
-      >
-
-  <short-description><![CDATA[Creates new Continuus ccm task and sets it as the default.]]></short-description>
-  <description>
-    <![CDATA[Creates new Continuus ccm task and sets it as the default.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="ccmdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where the ccm executable is located.]]></short-description>
-        <description><![CDATA[
-          Set the directory where the ccm executable is located.
-        ]]></description>
-      </attribute>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies a comment.]]></short-description>
-        <description><![CDATA[
-          Specifies a comment.
-        ]]></description>
-      </attribute>
-      <attribute name="platform" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the target platform.]]></short-description>
-        <description><![CDATA[
-          Specifies the target platform.
-        ]]></description>
-      </attribute>
-      <attribute name="release" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specify the CCM release.]]></short-description>
-        <description><![CDATA[
-          Specify the CCM release.
-        ]]></description>
-      </attribute>
-      <attribute name="resolver" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the resolver.]]></short-description>
-        <description><![CDATA[
-          Specifies the resolver.
-        ]]></description>
-      </attribute>
-      <attribute name="subsystem" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the subsystem.]]></short-description>
-        <description><![CDATA[
-          Specifies the subsystem.
-        ]]></description>
-      </attribute>
-      <attribute name="task" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the task number used to checkin
- the file (may use 'default').]]></short-description>
-        <description><![CDATA[
-          Specifies the task number used to checkin
- the file (may use 'default').
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ccmreconfigure" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ccm.CCMReconfigure"
-      >
-
-  <short-description><![CDATA[Task allows to reconfigure a project, recurcively or not]]></short-description>
-  <description>
-    <![CDATA[Task allows to reconfigure a project, recurcively or not]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="ccmdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where the ccm executable is located.]]></short-description>
-        <description><![CDATA[
-          Set the directory where the ccm executable is located.
-        ]]></description>
-      </attribute>
-      <attribute name="ccmproject" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Ccm project on which the operation is applied.]]></short-description>
-        <description><![CDATA[
-          Sets the ccm project on which the operation is applied.
-        ]]></description>
-      </attribute>
-      <attribute name="recurse" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, recurse on subproject (default false).]]></short-description>
-        <description><![CDATA[
-          If true, recurse on subproject (default false).
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, do a verbose reconfigure operation (default false).]]></short-description>
-        <description><![CDATA[
-          If true, do a verbose reconfigure operation (default false).
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ccuncheckout" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.clearcase.CCUnCheckout"
-      >
-
-  <short-description><![CDATA[Performs ClearCase UnCheckout command.]]></short-description>
-  <description>
-    <![CDATA[Performs ClearCase UnCheckout command.
-
- <p>
- The following attributes are interpretted:
- <table border="1">
-   <tr>
-     <th>Attribute</th>
-     <th>Values</th>
-     <th>Required</th>
-   </tr>
-   <tr>
-      <td>viewpath</td>
-      <td>Path to the ClearCase view file or directory that the command will operate on</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>keepcopy</td>
-      <td>Specifies whether to keep a copy of the file with a .keep extension or not</td>
-      <td>No</td>
-   <tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="cleartooldir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where the cleartool executable is located.]]></short-description>
-        <description><![CDATA[
-          Set the directory where the cleartool executable is located.
-        ]]></description>
-      </attribute>
-      <attribute name="keepcopy" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, keep a copy of the file with a .keep extension.]]></short-description>
-        <description><![CDATA[
-          If true, keep a copy of the file with a .keep extension.
-        ]]></description>
-      </attribute>
-      <attribute name="viewpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the item in a ClearCase view to operate on.]]></short-description>
-        <description><![CDATA[
-          Set the path to the item in a ClearCase view to operate on.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ccupdate" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.clearcase.CCUpdate"
-      >
-
-  <short-description><![CDATA[Performs a ClearCase Update command.]]></short-description>
-  <description>
-    <![CDATA[Performs a ClearCase Update command.
-
- <p>
- The following attributes are interpretted:
- <table border="1">
-   <tr>
-     <th>Attribute</th>
-     <th>Values</th>
-     <th>Required</th>
-   </tr>
-   <tr>
-      <td>viewpath</td>
-      <td>Path to the ClearCase view file or directory that the command will operate on</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>graphical</td>
-      <td>Displays a graphical dialog during the update</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>log</td>
-      <td>Specifies a log file for ClearCase to write to</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>overwrite</td>
-      <td>Specifies whether to overwrite hijacked files or not</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>rename</td>
-      <td>Specifies that hijacked files should be renamed with a .keep extension</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>currenttime</td>
-      <td>Specifies that modification time should be written as the current time. Either currenttime or preservetime can be specified.</td>
-      <td>No</td>
-   <tr>
-   <tr>
-      <td>preservetime</td>
-      <td>Specifies that modification time should preserved from the VOB time. Either currenttime or preservetime can be specified.</td>
-      <td>No</td>
-   <tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="cleartooldir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where the cleartool executable is located.]]></short-description>
-        <description><![CDATA[
-          Set the directory where the cleartool executable is located.
-        ]]></description>
-      </attribute>
-      <attribute name="currenttime" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, modification time should be written as the current time.]]></short-description>
-        <description><![CDATA[
-          If true, modification time should be written as the current time.
- Either currenttime or preservetime can be specified.
-        ]]></description>
-      </attribute>
-      <attribute name="graphical" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, displays a graphical dialog during the update.]]></short-description>
-        <description><![CDATA[
-          If true, displays a graphical dialog during the update.
-        ]]></description>
-      </attribute>
-      <attribute name="log" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Log file where cleartool records
- the status of the command.]]></short-description>
-        <description><![CDATA[
-          Sets the log file where cleartool records
- the status of the command.
-        ]]></description>
-      </attribute>
-      <attribute name="overwrite" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, overwrite hijacked files.]]></short-description>
-        <description><![CDATA[
-          If true, overwrite hijacked files.
-        ]]></description>
-      </attribute>
-      <attribute name="preservetime" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, modification time should be preserved from the VOB time.]]></short-description>
-        <description><![CDATA[
-          If true, modification time should be preserved from the VOB time.
- Either currenttime or preservetime can be specified.
-        ]]></description>
-      </attribute>
-      <attribute name="rename" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, hijacked files are renamed with a .keep extension.]]></short-description>
-        <description><![CDATA[
-          If true, hijacked files are renamed with a .keep extension.
-        ]]></description>
-      </attribute>
-      <attribute name="viewpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the item in a ClearCase view to operate on.]]></short-description>
-        <description><![CDATA[
-          Set the path to the item in a ClearCase view to operate on.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="checksum" category="control"
-      classname="org.apache.tools.ant.taskdefs.Checksum"
-      matchingTask="true">
-
-  <short-description><![CDATA[Used to create or verify file checksums.]]></short-description>
-  <description>
-    <![CDATA[Used to create or verify file checksums.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="algorithm" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the algorithm to be used to compute the checksum.]]></short-description>
-        <description><![CDATA[
-          Specifies the algorithm to be used to compute the checksum.
- Defaults to "MD5". Other popular algorithms like "SHA" may be used as well.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File for which the checksum is to be calculated.]]></short-description>
-        <description><![CDATA[
-          Sets the file for which the checksum is to be calculated.
-        ]]></description>
-      </attribute>
-      <attribute name="fileext" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[File extension that is be to used to
- create or identify destination file.]]></short-description>
-        <description><![CDATA[
-          Sets the file extension that is be to used to
- create or identify destination file.
-        ]]></description>
-      </attribute>
-      <attribute name="forceoverwrite" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether or not to overwrite existing file irrespective of 
- whether it is newer than
- the source file.]]></short-description>
-        <description><![CDATA[
-          Whether or not to overwrite existing file irrespective of 
- whether it is newer than
- the source file.  Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Property to hold the generated checksum.]]></short-description>
-        <description><![CDATA[
-          Sets the property to hold the generated checksum.
-        ]]></description>
-      </attribute>
-      <attribute name="provider" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[MessageDigest algorithm provider to be used
- to calculate the checksum.]]></short-description>
-        <description><![CDATA[
-          Sets the MessageDigest algorithm provider to be used
- to calculate the checksum.
-        ]]></description>
-      </attribute>
-      <attribute name="readbuffersize" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[The size of the read buffer to use.]]></short-description>
-        <description><![CDATA[
-          The size of the read buffer to use.
-        ]]></description>
-      </attribute>
-      <attribute name="verifyproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Verify property.]]></short-description>
-        <description><![CDATA[
-          Sets the verify property.  This project property holds
- the result of a checksum verification - "true" or "false"
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Files to generate checksums for.]]></short-description>
-        <description>
-          <![CDATA[Files to generate checksums for.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="chmod" category="filesystem"
-      classname="org.apache.tools.ant.taskdefs.Chmod"
-      >
-
-  <short-description><![CDATA[Chmod equivalent for unix-like environments.]]></short-description>
-  <description>
-    <![CDATA[Chmod equivalent for unix-like environments.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="append" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether output should be appended to or overwrite an existing file.]]></short-description>
-        <description><![CDATA[
-          Whether output should be appended to or overwrite an existing file.
- Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="defaultexcludes" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether default exclusions should be used or not.]]></short-description>
-        <description><![CDATA[
-          Sets whether default exclusions should be used or not.
-        ]]></description>
-      </attribute>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory where target files are to be placed.]]></short-description>
-        <description><![CDATA[
-          The directory where target files are to be placed.
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory which holds the files whose permissions must be changed.]]></short-description>
-        <description><![CDATA[
-          The directory which holds the files whose permissions must be changed.
-        ]]></description>
-      </attribute>
-      <attribute name="excludes" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set of exclude patterns.]]></short-description>
-        <description><![CDATA[
-          Sets the set of exclude patterns. Patterns may be separated by a comma
- or a space.
-        ]]></description>
-      </attribute>
-      <attribute name="executable" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The command to execute.]]></short-description>
-        <description><![CDATA[
-          The command to execute.
-        ]]></description>
-      </attribute>
-      <attribute name="failifexecutionfails" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Stop the build if program cannot be started.]]></short-description>
-        <description><![CDATA[
-          Stop the build if program cannot be started. Defaults to true.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Fail if the command exits with a non-zero return code.]]></short-description>
-        <description><![CDATA[
-          Fail if the command exits with a non-zero return code.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file or single directory of which the permissions must be changed.]]></short-description>
-        <description><![CDATA[
-          The file or single directory of which the permissions must be changed.
-        ]]></description>
-      </attribute>
-      <attribute name="includes" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set of include patterns.]]></short-description>
-        <description><![CDATA[
-          Sets the set of include patterns. Patterns may be separated by a comma
- or a space.
-        ]]></description>
-      </attribute>
-      <attribute name="newenvironment" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Do not propagate old environment when new environment variables are specified.]]></short-description>
-        <description><![CDATA[
-          Do not propagate old environment when new environment variables are specified.
-        ]]></description>
-      </attribute>
-      <attribute name="os" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[List of operating systems on which the command may be executed.]]></short-description>
-        <description><![CDATA[
-          List of operating systems on which the command may be executed.
-        ]]></description>
-      </attribute>
-      <attribute name="output" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File the output of the process is redirected to.]]></short-description>
-        <description><![CDATA[
-          File the output of the process is redirected to.
-        ]]></description>
-      </attribute>
-      <attribute name="outputproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Property name whose value should be set to the output of
- the process.]]></short-description>
-        <description><![CDATA[
-          Property name whose value should be set to the output of
- the process.
-        ]]></description>
-      </attribute>
-      <attribute name="parallel" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, run the command only once, appending all files as arguments.]]></short-description>
-        <description><![CDATA[
-          If true, run the command only once, appending all files as arguments.
- If false, command will be executed once for every file. Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="perm" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The new permissions.]]></short-description>
-        <description><![CDATA[
-          The new permissions.
-        ]]></description>
-      </attribute>
-      <attribute name="relative" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the filenames should be passed on the command line as
- absolute or relative pathnames.]]></short-description>
-        <description><![CDATA[
-          Whether the filenames should be passed on the command line as
- absolute or relative pathnames. Paths are relative to the base
- directory of the corresponding fileset for source files or the
- dest attribute for target files.
-        ]]></description>
-      </attribute>
-      <attribute name="resultproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of a property in which the return code of the
- command should be stored.]]></short-description>
-        <description><![CDATA[
-          The name of a property in which the return code of the
- command should be stored. Only of interest if failonerror=false.
-        ]]></description>
-      </attribute>
-      <attribute name="skipemptyfilesets" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If no source files have been found or are newer than their
- corresponding target files, do not run the command.]]></short-description>
-        <description><![CDATA[
-          If no source files have been found or are newer than their
- corresponding target files, do not run the command.
-        ]]></description>
-      </attribute>
-      <attribute name="type" type="org.apache.tools.ant.taskdefs.ExecuteOn.FileDirBoth"
-                 briefType="&quot;file&quot;, &quot;dir&quot;, &quot;both&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the command works only on files, directories or both?.]]></short-description>
-        <description><![CDATA[
-          Whether the command works only on files, directories or both?
-        ]]></description>
-      </attribute>
-      <attribute name="vmlauncher" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, launch new process with VM, otherwise use the OS's shell.]]></short-description>
-        <description><![CDATA[
-          If true, launch new process with VM, otherwise use the OS's shell.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="env" type="org.apache.tools.ant.types.Environment.Variable"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an environment variable to the launched process.]]></short-description>
-        <description>
-          <![CDATA[Add an environment variable to the launched process.]]>
-        </description>
-      </element>
-
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Source files to operate upon.]]></short-description>
-        <description>
-          <![CDATA[Source files to operate upon.]]>
-        </description>
-      </element>
-
-      <element name="arg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a command-line argument.]]></short-description>
-        <description>
-          <![CDATA[Adds a command-line argument.]]>
-        </description>
-      </element>
-
-      <element name="exclude" type="org.apache.tools.ant.types.PatternSet.NameEntry"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a name entry on the exclude list.]]></short-description>
-        <description>
-          <![CDATA[Add a name entry on the exclude list.]]>
-        </description>
-      </element>
-
-      <element name="include" type="org.apache.tools.ant.types.PatternSet.NameEntry"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a name entry on the include list.]]></short-description>
-        <description>
-          <![CDATA[Add a name entry on the include list.]]>
-        </description>
-      </element>
-
-      <element name="mapper" type="org.apache.tools.ant.types.Mapper"
-               briefType="Mapper"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Mapper to use for mapping source files to target files.]]></short-description>
-        <description>
-          <![CDATA[Mapper to use for mapping source files to target files.]]>
-        </description>
-      </element>
-
-      <element name="patternset" type="org.apache.tools.ant.types.PatternSet"
-               briefType="Patternset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a set of patterns.]]></short-description>
-        <description>
-          <![CDATA[Add a set of patterns.]]>
-        </description>
-      </element>
-
-      <element name="srcfile" type="org.apache.tools.ant.types.Commandline.Marker"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Marker that indicates where the name of the source file should
- be put on the command line.]]></short-description>
-        <description>
-          <![CDATA[Marker that indicates where the name of the source file should
- be put on the command line.]]>
-        </description>
-      </element>
-
-      <element name="targetfile" type="org.apache.tools.ant.types.Commandline.Marker"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Marker that indicates where the name of the target file should
- be put on the command line.]]></short-description>
-        <description>
-          <![CDATA[Marker that indicates where the name of the target file should
- be put on the command line.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="concat" category="other"
-      classname="org.apache.tools.ant.taskdefs.Concat"
-      >
-
-  <short-description><![CDATA[This class contains the 'concat' task, used to concatenate a series of files into a single stream.]]></short-description>
-  <description>
-    <![CDATA[This class contains the 'concat' task, used to concatenate a series
- of files into a single stream. The destination of this stream may
- be the system console, or a file. The following is a sample
- invocation:
-
- <pre>
- &lt;concat destfile=&quot;${build.dir}/index.xml&quot;
-   append=&quot;false&quot;&gt;
-
-   &lt;fileset dir=&quot;${xml.root.dir}&quot;
-     includes=&quot;*.xml&quot; /&gt;
-
- &lt;/concat&gt;
- </pre>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="append" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Behavior when the destination file exists.]]></short-description>
-        <description><![CDATA[
-          Sets the behavior when the destination file exists. If set to
- <code>true</code> the stream data will be appended to the
- existing file, otherwise the existing file will be
- overwritten. Defaults to <code>false</code>.
-        ]]></description>
-      </attribute>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination file, or uses the console if not specified.]]></short-description>
-        <description><![CDATA[
-          Sets the destination file, or uses the console if not specified.
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Encoding for the input files, used when displaying the
- data via the console.]]></short-description>
-        <description><![CDATA[
-          Sets the encoding for the input files, used when displaying the
- data via the console.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="filelist" type="org.apache.tools.ant.types.FileList"
-               briefType="Filelist"
-               required="NOTDEFINED">
-        <short-description><![CDATA[List of files to concatenate.]]></short-description>
-        <description>
-          <![CDATA[List of files to concatenate.]]>
-        </description>
-      </element>
-
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Set of files to concatenate.]]></short-description>
-        <description>
-          <![CDATA[Set of files to concatenate.]]>
-        </description>
-      </element>
-
-    </elements>
-
-      <body >
-        <description><![CDATA[
-          This method adds text which appears in the 'concat' element.
-        ]]></description>
-      </body>
-
-  </structure>
-
-</task>
-
-
-<task name="condition" category="control"
-      classname="org.apache.tools.ant.taskdefs.ConditionTask"
-      >
-
-  <short-description><![CDATA[Task to set a property conditionally using &lt;uptodate&gt;, &lt;available&gt;, and many other supported conditions.]]></short-description>
-  <description>
-    <![CDATA[Task to set a property conditionally using &lt;uptodate&gt;, &lt;available&gt;,
- and many other supported conditions.
-
- <p>This task supports boolean logic as well as pluggable conditions
- to decide, whether a property should be set.</p>
-
- <p>This task does not extend Task to take advantage of
- ConditionBase.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the property to set.]]></short-description>
-        <description><![CDATA[
-          The name of the property to set. Required.
-        ]]></description>
-      </attribute>
-      <attribute name="value" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The value for the property to set, if condition evaluates to true.]]></short-description>
-        <description><![CDATA[
-          The value for the property to set, if condition evaluates to true.
- Defaults to "true".
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="and" type="org.apache.tools.ant.taskdefs.condition.And"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;and&gt; condition "container".]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;and&gt; condition "container".]]>
-        </description>
-      </element>
-
-      <element name="available" type="org.apache.tools.ant.taskdefs.Available"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;available&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;available&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="checksum" type="org.apache.tools.ant.taskdefs.Checksum"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;checksum&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;checksum&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="contains" type="org.apache.tools.ant.taskdefs.condition.Contains"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a &lt;contains&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add a &lt;contains&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="equals" type="org.apache.tools.ant.taskdefs.condition.Equals"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;equals&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;equals&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="filesmatch" type="org.apache.tools.ant.taskdefs.condition.FilesMatch"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a &lt;filesmatch&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add a &lt;filesmatch&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="http" type="org.apache.tools.ant.taskdefs.condition.Http"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;http&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;http&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="isfalse" type="org.apache.tools.ant.taskdefs.condition.IsFalse"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a &lt;isfalse&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add a &lt;isfalse&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="isset" type="org.apache.tools.ant.taskdefs.condition.IsSet"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;isset&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;isset&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="istrue" type="org.apache.tools.ant.taskdefs.condition.IsTrue"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a &lt;istrue&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add a &lt;istrue&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="not" type="org.apache.tools.ant.taskdefs.condition.Not"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;not&gt; condition "container".]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;not&gt; condition "container".]]>
-        </description>
-      </element>
-
-      <element name="or" type="org.apache.tools.ant.taskdefs.condition.Or"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;or&gt; condition "container".]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;or&gt; condition "container".]]>
-        </description>
-      </element>
-
-      <element name="os" type="org.apache.tools.ant.taskdefs.condition.Os"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;os&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;os&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="socket" type="org.apache.tools.ant.taskdefs.condition.Socket"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a &lt;socket&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add a &lt;socket&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="uptodate" type="org.apache.tools.ant.taskdefs.UpToDate"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;uptodate&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;uptodate&gt; condition.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="copy" category="filesystem"
-      classname="org.apache.tools.ant.taskdefs.Copy"
-      >
-
-  <short-description><![CDATA[Copies a file or directory to a new file or directory.]]></short-description>
-  <description>
-    <![CDATA[Copies a file or directory to a new file
- or directory.  Files are only copied if the source file is newer
- than the destination file, or when the destination file does not
- exist.  It is possible to explicitly overwrite existing files.</p>
-
- <p>This implementation is based on Arnout Kuiper's initial design
- document, the following mailing list discussions, and the
- copyfile/copydir tasks.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Character encoding.]]></short-description>
-        <description><![CDATA[
-          Sets the character encoding
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If false, note errors to the output but keep going.]]></short-description>
-        <description><![CDATA[
-          If false, note errors to the output but keep going.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Single source file to copy.]]></short-description>
-        <description><![CDATA[
-          Sets a single source file to copy.
-        ]]></description>
-      </attribute>
-      <attribute name="filtering" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, enables filtering.]]></short-description>
-        <description><![CDATA[
-          If true, enables filtering.
-        ]]></description>
-      </attribute>
-      <attribute name="flatten" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[When copying directory trees, the files can be "flattened"
- into a single directory.]]></short-description>
-        <description><![CDATA[
-          When copying directory trees, the files can be "flattened"
- into a single directory.  If there are multiple files with
- the same name in the source directory tree, only the first
- file will be copied into the "flattened" directory, unless
- the forceoverwrite attribute is true.
-        ]]></description>
-      </attribute>
-      <attribute name="includeemptydirs" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Used to copy empty directories.]]></short-description>
-        <description><![CDATA[
-          Used to copy empty directories.
-        ]]></description>
-      </attribute>
-      <attribute name="overwrite" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Overwrite any existing destination file(s).]]></short-description>
-        <description><![CDATA[
-          Overwrite any existing destination file(s).
-        ]]></description>
-      </attribute>
-      <attribute name="preservelastmodified" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Give the copied files the same last modified time as the original files.]]></short-description>
-        <description><![CDATA[
-          Give the copied files the same last modified time as the original files.
-        ]]></description>
-      </attribute>
-      <attribute name="todir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory.]]></short-description>
-        <description><![CDATA[
-          Sets the destination directory.
-        ]]></description>
-      </attribute>
-      <attribute name="tofile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination file.]]></short-description>
-        <description><![CDATA[
-          Sets the destination file.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Used to force listing of all names of copied files.]]></short-description>
-        <description><![CDATA[
-          Used to force listing of all names of copied files.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files to copy.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files to copy.]]>
-        </description>
-      </element>
-
-      <element name="filterchain" type="org.apache.tools.ant.types.FilterChain"
-               briefType="FilterChain"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a FilterChain.]]></short-description>
-        <description>
-          <![CDATA[Adds a FilterChain.]]>
-        </description>
-      </element>
-
-      <element name="filterset" type="org.apache.tools.ant.types.FilterSet"
-               briefType="Filterset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a filterset.]]></short-description>
-        <description>
-          <![CDATA[Adds a filterset.]]>
-        </description>
-      </element>
-
-      <element name="mapper" type="org.apache.tools.ant.types.Mapper"
-               briefType="Mapper"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Defines the mapper to map source to destination files.]]></short-description>
-        <description>
-          <![CDATA[Defines the mapper to map source to destination files.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="copydir" category="other"
-      classname="org.apache.tools.ant.taskdefs.Copydir"
-      deprecated="true"
-      matchingTask="true">
-
-  <short-description><![CDATA[Copies a directory.]]></short-description>
-  <description>
-    <![CDATA[Copies a directory.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-      <attribute name="filtering" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-      <attribute name="flatten" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-      <attribute name="forceoverwrite" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="copyfile" category="other"
-      classname="org.apache.tools.ant.taskdefs.Copyfile"
-      deprecated="true"
-      >
-
-  <short-description><![CDATA[Copies a file.]]></short-description>
-  <description>
-    <![CDATA[Copies a file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-      <attribute name="filtering" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-      <attribute name="forceoverwrite" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="csc" category="dotnet"
-      classname="org.apache.tools.ant.taskdefs.optional.dotnet.CSharp"
-      matchingTask="true">
-
-  <short-description><![CDATA[Compiles C# source into executables or modules.]]></short-description>
-  <description>
-    <![CDATA[Compiles C# source into executables or modules.
-
-  The task will only work on win2K until other platforms support
-  csc.exe or an equivalent. CSC.exe must be on the execute path too. <p>
-
-  All parameters are optional: &lt;csc/&gt; should suffice to produce a debug
-  build of all *.cs files. References to external files do require explicit
-  enumeration, so are one of the first attributes to consider adding. <p>
-
-  The task is a directory based task, so attributes like <b>includes="*.cs"
-  </b> and <b>excludes="broken.cs"</b> can be used to control the files pulled
-  in. By default, all *.cs files from the project folder down are included in
-  the command. When this happens the output file -if not specified- is taken
-  as the first file in the list, which may be somewhat hard to control.
-  Specifying the output file with <b>'outfile'</b> seems prudent. <p>
-
-  <p>
-
-  TODO
-  <ol>
-    <li> is incremental build still broken in beta-1?
-    <li> is Win32Icon broken?
-    <li> all the missing options
-  </ol>
-  <p>
-
-  History
-  <Table>
-
-    <tr>
-
-      <td>
-        0.3
-      </td>
-
-      <td>
-        Beta 1 edition
-      </td>
-
-      <td>
-        To avoid having to remember which assemblies to include, the task
-        automatically refers to the main dotnet libraries in Beta1.
-      </tr>
-
-      <tr>
-
-        <td>
-          0.2
-        </td>
-
-        <td>
-          Slightly different
-        </td>
-
-        <td>
-          Split command execution to a separate class;
-        </tr>
-
-        <tr>
-
-          <td>
-            0.1
-          </td>
-
-          <td>
-            "I can't believe it's so rudimentary"
-          </td>
-
-          <td>
-            First pass; minimal builds only support;
-          </tr>
-
-        </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="additionalmodules" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Semicolon separated list of modules to refer to.]]></short-description>
-        <description><![CDATA[
-          Semicolon separated list of modules to refer to.
-        ]]></description>
-      </attribute>
-      <attribute name="debug" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Debug flag on or off.]]></short-description>
-        <description><![CDATA[
-          set the debug flag on or off.
-        ]]></description>
-      </attribute>
-      <attribute name="definitions" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Semicolon separated list of defined constants.]]></short-description>
-        <description><![CDATA[
-          Semicolon separated list of defined constants.
-        ]]></description>
-      </attribute>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory of files to be compiled.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory of files to be compiled.
-        ]]></description>
-      </attribute>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of exe/library to create.]]></short-description>
-        <description><![CDATA[
-          Set the name of exe/library to create.
-        ]]></description>
-      </attribute>
-      <attribute name="docfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File for generated XML documentation.]]></short-description>
-        <description><![CDATA[
-          file for generated XML documentation
-        ]]></description>
-      </attribute>
-      <attribute name="extraoptions" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Any extra options which are not explicitly supported
- by this task.]]></short-description>
-        <description><![CDATA[
-          Any extra options which are not explicitly supported
- by this task.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, fail on compilation errors.]]></short-description>
-        <description><![CDATA[
-          If true, fail on compilation errors.
-        ]]></description>
-      </attribute>
-      <attribute name="filealign" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[File alignment.]]></short-description>
-        <description><![CDATA[
-          Set the file alignment.
- Valid values are 0,512, 1024, 2048, 4096, 8192,
- and 16384, 0 means 'leave to the compiler'
-        ]]></description>
-      </attribute>
-      <attribute name="fullpaths" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, print the full path of files on errors.]]></short-description>
-        <description><![CDATA[
-          If true, print the full path of files on errors.
-        ]]></description>
-      </attribute>
-      <attribute name="includedefaultreferences" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, automatically includes the common assemblies
- in dotnet, and tells the compiler to link in mscore.dll.
-
-  set the automatic reference inclusion flag on or off this flag controls
-  the string of references and the /nostdlib option in CSC.]]></short-description>
-        <description><![CDATA[
-          If true, automatically includes the common assemblies
- in dotnet, and tells the compiler to link in mscore.dll.
-
-  set the automatic reference inclusion flag on or off this flag controls
-  the string of references and the /nostdlib option in CSC
-        ]]></description>
-      </attribute>
-      <attribute name="incremental" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Incremental compilation flag on or off.]]></short-description>
-        <description><![CDATA[
-          set the incremental compilation flag on or off.
-        ]]></description>
-      </attribute>
-      <attribute name="mainclass" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of main class for executables.]]></short-description>
-        <description><![CDATA[
-          Sets the name of main class for executables.
-        ]]></description>
-      </attribute>
-      <attribute name="noconfig" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[A flag that tells the compiler not to read in the compiler 
- settings files 'csc.rsp' in its bin directory and then the local directory.]]></short-description>
-        <description><![CDATA[
-          A flag that tells the compiler not to read in the compiler 
- settings files 'csc.rsp' in its bin directory and then the local directory
-        ]]></description>
-      </attribute>
-      <attribute name="optimize" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, enables optimization flag.]]></short-description>
-        <description><![CDATA[
-          If true, enables optimization flag.
-        ]]></description>
-      </attribute>
-      <attribute name="outputfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Output file.]]></short-description>
-        <description><![CDATA[
-          Set the output file
-        ]]></description>
-      </attribute>
-      <attribute name="referencefiles" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Path of references to include.]]></short-description>
-        <description><![CDATA[
-          Path of references to include.
- Wildcards should work.
-        ]]></description>
-      </attribute>
-      <attribute name="references" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Semicolon separated list of DLLs to refer to.]]></short-description>
-        <description><![CDATA[
-          Semicolon separated list of DLLs to refer to.
-        ]]></description>
-      </attribute>
-      <attribute name="srcdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Source directory of the files to be compiled.]]></short-description>
-        <description><![CDATA[
-          Set the source directory of the files to be compiled.
-        ]]></description>
-      </attribute>
-      <attribute name="targettype" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Type of target.]]></short-description>
-        <description><![CDATA[
-          Set the type of target.
-        ]]></description>
-      </attribute>
-      <attribute name="unsafe" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, enables the unsafe keyword.]]></short-description>
-        <description><![CDATA[
-          If true, enables the unsafe keyword.
-        ]]></description>
-      </attribute>
-      <attribute name="utf8output" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, require all compiler output to be in UTF8 format.]]></short-description>
-        <description><![CDATA[
-          If true, require all compiler output to be in UTF8 format.
-        ]]></description>
-      </attribute>
-      <attribute name="warnlevel" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Level of warning currently between 1 and 4
- with 4 being the strictest.]]></short-description>
-        <description><![CDATA[
-          Level of warning currently between 1 and 4
- with 4 being the strictest.
-        ]]></description>
-      </attribute>
-      <attribute name="win32icon" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Filename of icon to include.]]></short-description>
-        <description><![CDATA[
-          Set the filename of icon to include.
-        ]]></description>
-      </attribute>
-      <attribute name="win32res" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Filename of a win32 resource (.RES) file to include.]]></short-description>
-        <description><![CDATA[
-          Sets the filename of a win32 resource (.RES) file to include.
- This is not a .NET resource, but what Windows is used to.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="cvs" category="scm"
-      classname="org.apache.tools.ant.taskdefs.Cvs"
-      >
-
-  <short-description><![CDATA[Performs operations on a CVS repository. original 1.20 NOTE: This implementation has been moved to AbstractCvsTask with the addition of some accessors for extensibility.]]></short-description>
-  <description>
-    <![CDATA[Performs operations on a CVS repository.
-
- original 1.20
-
-  NOTE: This implementation has been moved to AbstractCvsTask with
-  the addition of some accessors for extensibility.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="append" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to append output/error when redirecting to a file.]]></short-description>
-        <description><![CDATA[
-          Whether to append output/error when redirecting to a file.
-        ]]></description>
-      </attribute>
-      <attribute name="command" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The CVS command to execute.]]></short-description>
-        <description><![CDATA[
-          The CVS command to execute.
-        ]]></description>
-      </attribute>
-      <attribute name="compression" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, this is the same as compressionlevel="3".]]></short-description>
-        <description><![CDATA[
-          If true, this is the same as compressionlevel="3".
-        ]]></description>
-      </attribute>
-      <attribute name="compressionlevel" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[If set to a value 1-9 it adds -zN to the cvs command line, else
- it disables compression.]]></short-description>
-        <description><![CDATA[
-          If set to a value 1-9 it adds -zN to the cvs command line, else
- it disables compression.
-        ]]></description>
-      </attribute>
-      <attribute name="cvsroot" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The CVSROOT variable.]]></short-description>
-        <description><![CDATA[
-          The CVSROOT variable.
-        ]]></description>
-      </attribute>
-      <attribute name="cvsrsh" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The CVS_RSH variable.]]></short-description>
-        <description><![CDATA[
-          The CVS_RSH variable.
-        ]]></description>
-      </attribute>
-      <attribute name="date" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Use the most recent revision no later than the given date.]]></short-description>
-        <description><![CDATA[
-          Use the most recent revision no later than the given date.
-        ]]></description>
-      </attribute>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory where the checked out files should be placed.]]></short-description>
-        <description><![CDATA[
-          The directory where the checked out files should be placed.
-        ]]></description>
-      </attribute>
-      <attribute name="error" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to direct standard error from the command.]]></short-description>
-        <description><![CDATA[
-          The file to direct standard error from the command.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Stop the build process if the command exits with
- a return code other than 0.]]></short-description>
-        <description><![CDATA[
-          Stop the build process if the command exits with
- a return code other than 0.
- Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="noexec" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, report only and don't change any files.]]></short-description>
-        <description><![CDATA[
-          If true, report only and don't change any files.
-        ]]></description>
-      </attribute>
-      <attribute name="output" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to direct standard output from the command.]]></short-description>
-        <description><![CDATA[
-          The file to direct standard output from the command.
-        ]]></description>
-      </attribute>
-      <attribute name="package" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The package/module to operate upon.]]></short-description>
-        <description><![CDATA[
-          The package/module to operate upon.
-        ]]></description>
-      </attribute>
-      <attribute name="passfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Password file to read passwords from.]]></short-description>
-        <description><![CDATA[
-          Password file to read passwords from.
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Port used by CVS to communicate with the server.]]></short-description>
-        <description><![CDATA[
-          Port used by CVS to communicate with the server.
-        ]]></description>
-      </attribute>
-      <attribute name="quiet" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, suppress informational messages.]]></short-description>
-        <description><![CDATA[
-          If true, suppress informational messages.
-        ]]></description>
-      </attribute>
-      <attribute name="tag" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The tag of the package/module to operate upon.]]></short-description>
-        <description><![CDATA[
-          The tag of the package/module to operate upon.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="commandline" type="org.apache.tools.ant.types.Commandline"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds direct command-line to execute.]]></short-description>
-        <description>
-          <![CDATA[Adds direct command-line to execute.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="cvschangelog" category="other"
-      classname="org.apache.tools.ant.taskdefs.cvslib.ChangeLogTask"
-      >
-
-  <short-description><![CDATA[Examines the output of cvs log and group related changes together.]]></short-description>
-  <description>
-    <![CDATA[Examines the output of cvs log and group related changes together.
-
- It produces an XML output representing the list of changes.
- <PRE>
- <FONT color=#0000ff>&lt;!-- Root element --&gt;</FONT>
- <FONT color=#6a5acd>&lt;!ELEMENT</FONT> changelog <FONT color=#ff00ff>(entry</FONT><FONT color=#ff00ff>+</FONT><FONT color=#ff00ff>)</FONT><FONT color=#6a5acd>&gt;</FONT>
- <FONT color=#0000ff>&lt;!-- CVS Entry --&gt;</FONT>
- <FONT color=#6a5acd>&lt;!ELEMENT</FONT> entry <FONT color=#ff00ff>(date,author,file</FONT><FONT color=#ff00ff>+</FONT><FONT color=#ff00ff>,msg)</FONT><FONT color=#6a5acd>&gt;</FONT>
- <FONT color=#0000ff>&lt;!-- Date of cvs entry --&gt;</FONT>
- <FONT color=#6a5acd>&lt;!ELEMENT</FONT> date <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>&gt;</FONT>
- <FONT color=#0000ff>&lt;!-- Author of change --&gt;</FONT>
- <FONT color=#6a5acd>&lt;!ELEMENT</FONT> author <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>&gt;</FONT>
- <FONT color=#0000ff>&lt;!-- List of files affected --&gt;</FONT>
- <FONT color=#6a5acd>&lt;!ELEMENT</FONT> msg <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>&gt;</FONT>
- <FONT color=#0000ff>&lt;!-- File changed --&gt;</FONT>
- <FONT color=#6a5acd>&lt;!ELEMENT</FONT> file <FONT color=#ff00ff>(name,revision,prevrevision</FONT><FONT color=#ff00ff>?</FONT><FONT color=#ff00ff>)</FONT><FONT color=#6a5acd>&gt;</FONT>
- <FONT color=#0000ff>&lt;!-- Name of the file --&gt;</FONT>
- <FONT color=#6a5acd>&lt;!ELEMENT</FONT> name <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>&gt;</FONT>
- <FONT color=#0000ff>&lt;!-- Revision number --&gt;</FONT>
- <FONT color=#6a5acd>&lt;!ELEMENT</FONT> revision <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>&gt;</FONT>
- <FONT color=#0000ff>&lt;!-- Previous revision number --&gt;</FONT>
- <FONT color=#6a5acd>&lt;!ELEMENT</FONT> prevrevision <FONT color=#ff00ff>(#PCDATA)</FONT><FONT color=#6a5acd>&gt;</FONT>
- </PRE>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="daysinpast" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Number of days worth of log entries to process.]]></short-description>
-        <description><![CDATA[
-          Set the number of days worth of log entries to process.
-        ]]></description>
-      </attribute>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Output file for the log.]]></short-description>
-        <description><![CDATA[
-          Set the output file for the log.
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Base dir for cvs.]]></short-description>
-        <description><![CDATA[
-          Set the base dir for cvs.
-        ]]></description>
-      </attribute>
-      <attribute name="end" type="java.util.Date"
-                 briefType="Date" required="NOTDEFINED">
-        <short-description><![CDATA[Date at which the changelog should stop.]]></short-description>
-        <description><![CDATA[
-          Set the date at which the changelog should stop.
-        ]]></description>
-      </attribute>
-      <attribute name="start" type="java.util.Date"
-                 briefType="Date" required="NOTDEFINED">
-        <short-description><![CDATA[Date at which the changelog should start.]]></short-description>
-        <description><![CDATA[
-          Set the date at which the changelog should start.
-        ]]></description>
-      </attribute>
-      <attribute name="usersfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Lookup list of user names & addresses.]]></short-description>
-        <description><![CDATA[
-          Set a lookup list of user names & addresses
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files about which cvs logs will be generated.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files about which cvs logs will be generated.]]>
-        </description>
-      </element>
-
-      <element name="user" type="org.apache.tools.ant.taskdefs.cvslib.CvsUser"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a user to list changelog knows about.]]></short-description>
-        <description>
-          <![CDATA[Add a user to list changelog knows about.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="cvspass" category="scm"
-      classname="org.apache.tools.ant.taskdefs.CVSPass"
-      >
-
-  <short-description><![CDATA[Adds an new entry to a CVS password file.]]></short-description>
-  <description>
-    <![CDATA[Adds an new entry to a CVS password file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="cvsroot" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The CVS repository to add an entry for.]]></short-description>
-        <description><![CDATA[
-          The CVS repository to add an entry for.
-        ]]></description>
-      </attribute>
-      <attribute name="passfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Password file to add the entry to.]]></short-description>
-        <description><![CDATA[
-          Password file to add the entry to.
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Password to be added to the password file.]]></short-description>
-        <description><![CDATA[
-          Password to be added to the password file.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="cvstagdiff" category="other"
-      classname="org.apache.tools.ant.taskdefs.cvslib.CvsTagDiff"
-      >
-
-  <short-description><![CDATA[Examines the output of cvs rdiff between two tags.]]></short-description>
-  <description>
-    <![CDATA[Examines the output of cvs rdiff between two tags.
-
- It produces an XML output representing the list of changes.
- <PRE>
- &lt;!-- Root element --&gt;
- &lt;!ELEMENT tagdiff ( entry+ ) &gt;
- &lt;!-- Start tag of the report --&gt;
- &lt;!ATTLIST tagdiff startTag NMTOKEN #IMPLIED &gt;
- &lt;!-- End tag of the report --&gt;
- &lt;!ATTLIST tagdiff endTag NMTOKEN #IMPLIED &gt;
- &lt;!-- Start date of the report --&gt;
- &lt;!ATTLIST tagdiff startDate NMTOKEN #IMPLIED &gt;
- &lt;!-- End date of the report --&gt;
- &lt;!ATTLIST tagdiff endDate NMTOKEN #IMPLIED &gt;
-
- &lt;!-- CVS tag entry --&gt;
- &lt;!ELEMENT entry ( file ) &gt;
- &lt;!-- File added, changed or removed --&gt;
- &lt;!ELEMENT file ( name, revision?, prevrevision? ) &gt;
- &lt;!-- Name of the file --&gt;
- &lt;!ELEMENT name ( #PCDATA ) &gt;
- &lt;!-- Revision number --&gt;
- &lt;!ELEMENT revision ( #PCDATA ) &gt;
- &lt;!-- Previous revision number --&gt;
- &lt;!ELEMENT prevrevision ( #PCDATA ) &gt;
- </PRE>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="compression" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, this is the same as compressionlevel="3".]]></short-description>
-        <description><![CDATA[
-          If true, this is the same as compressionlevel="3".
-        ]]></description>
-      </attribute>
-      <attribute name="compressionlevel" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[If set to a value 1-9 it adds -zN to the cvs command line, else
- it disables compression.]]></short-description>
-        <description><![CDATA[
-          If set to a value 1-9 it adds -zN to the cvs command line, else
- it disables compression.
-        ]]></description>
-      </attribute>
-      <attribute name="cvsroot" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The CVSROOT variable.]]></short-description>
-        <description><![CDATA[
-          The CVSROOT variable.
-        ]]></description>
-      </attribute>
-      <attribute name="cvsrsh" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The CVS_RSH variable.]]></short-description>
-        <description><![CDATA[
-          The CVS_RSH variable.
-        ]]></description>
-      </attribute>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Output file for the diff.]]></short-description>
-        <description><![CDATA[
-          Set the output file for the diff.
-        ]]></description>
-      </attribute>
-      <attribute name="enddate" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[End date.]]></short-description>
-        <description><![CDATA[
-          Set the end date.
-        ]]></description>
-      </attribute>
-      <attribute name="endtag" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[End tag.]]></short-description>
-        <description><![CDATA[
-          Set the end tag.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Stop the build process if the command exits with
- a return code other than 0.]]></short-description>
-        <description><![CDATA[
-          Stop the build process if the command exits with
- a return code other than 0.
- Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="package" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The package/module to analyze.]]></short-description>
-        <description><![CDATA[
-          The package/module to analyze.
-        ]]></description>
-      </attribute>
-      <attribute name="passfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Password file to read passwords from.]]></short-description>
-        <description><![CDATA[
-          Password file to read passwords from.
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Port used by CVS to communicate with the server.]]></short-description>
-        <description><![CDATA[
-          Port used by CVS to communicate with the server.
-        ]]></description>
-      </attribute>
-      <attribute name="quiet" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, suppress informational messages.]]></short-description>
-        <description><![CDATA[
-          If true, suppress informational messages.
-        ]]></description>
-      </attribute>
-      <attribute name="startdate" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Start date.]]></short-description>
-        <description><![CDATA[
-          Set the start date.
-        ]]></description>
-      </attribute>
-      <attribute name="starttag" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Start tag.]]></short-description>
-        <description><![CDATA[
-          Set the start tag.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ddcreator" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ejb.DDCreator"
-      matchingTask="true">
-
-  <short-description><![CDATA[Builds a serialized deployment descriptor given a text file description of the descriptor in the format supported by WebLogic.]]></short-description>
-  <description>
-    <![CDATA[Builds a serialized deployment descriptor given a text file description of the
- descriptor in the format supported by WebLogic.
-
- This ant task is a front end for the weblogic DDCreator tool.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used for this compilation.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used for this compilation.
-        ]]></description>
-      </attribute>
-      <attribute name="descriptors" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory from where the text descriptions of the deployment descriptors are
- to be read.]]></short-description>
-        <description><![CDATA[
-          Set the directory from where the text descriptions of the deployment descriptors are
- to be read.
-        ]]></description>
-      </attribute>
-      <attribute name="dest" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory into which the serialized deployment descriptors are to
- be written.]]></short-description>
-        <description><![CDATA[
-          Set the directory into which the serialized deployment descriptors are to
- be written.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="delete" category="filesystem"
-      classname="org.apache.tools.ant.taskdefs.Delete"
-      matchingTask="true">
-
-  <short-description><![CDATA[Deletes a file or directory, or set of files defined by a fileset.]]></short-description>
-  <description>
-    <![CDATA[Deletes a file or directory, or set of files defined by a fileset.
- The original delete task would delete a file, or a set of files 
- using the include/exclude syntax.  The deltree task would delete a 
- directory tree.  This task combines the functionality of these two
- originally distinct tasks.
- <p>Currently Delete extends MatchingTask.  This is intend <i>only</i>
- to provide backwards compatibility for a release.  The future position
- is to use nested filesets exclusively.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="defaultexcludes" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether default exclusions should be used or not.]]></short-description>
-        <description><![CDATA[
-          Sets whether default exclusions should be used or not.
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Directory from which files are to be deleted.]]></short-description>
-        <description><![CDATA[
-          Set the directory from which files are to be deleted
-        ]]></description>
-      </attribute>
-      <attribute name="excludes" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set of exclude patterns.]]></short-description>
-        <description><![CDATA[
-          Sets the set of exclude patterns. Patterns may be separated by a comma
- or a space.
-        ]]></description>
-      </attribute>
-      <attribute name="excludesfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the file containing the includes patterns.]]></short-description>
-        <description><![CDATA[
-          Sets the name of the file containing the includes patterns.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If false, note errors but continue.]]></short-description>
-        <description><![CDATA[
-          If false, note errors but continue.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of a single file to be removed.]]></short-description>
-        <description><![CDATA[
-          Set the name of a single file to be removed.
-        ]]></description>
-      </attribute>
-      <attribute name="includeemptydirs" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, delete empty directories.]]></short-description>
-        <description><![CDATA[
-          If true, delete empty directories.
-        ]]></description>
-      </attribute>
-      <attribute name="includes" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set of include patterns.]]></short-description>
-        <description><![CDATA[
-          Sets the set of include patterns. Patterns may be separated by a comma
- or a space.
-        ]]></description>
-      </attribute>
-      <attribute name="includesfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the file containing the includes patterns.]]></short-description>
-        <description><![CDATA[
-          Sets the name of the file containing the includes patterns.
-        ]]></description>
-      </attribute>
-      <attribute name="quiet" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true and the file does not exist, do not display a diagnostic
- message or modify the exit status to reflect an error.]]></short-description>
-        <description><![CDATA[
-          If true and the file does not exist, do not display a diagnostic
- message or modify the exit status to reflect an error.
- This means that if a file or directory cannot be deleted,
- then no error is reported. This setting emulates the
- -f option to the Unix &quot;rm&quot; command.
- Default is false meaning things are &quot;noisy&quot;
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, list all names of deleted files.]]></short-description>
-        <description><![CDATA[
-          If true, list all names of deleted files.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files to be deleted.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files to be deleted.]]>
-        </description>
-      </element>
-
-      <element name="exclude" type="org.apache.tools.ant.types.PatternSet.NameEntry"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a name entry on the exclude list.]]></short-description>
-        <description>
-          <![CDATA[add a name entry on the exclude list]]>
-        </description>
-      </element>
-
-      <element name="excludesfile" type="org.apache.tools.ant.types.PatternSet.NameEntry"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a name entry on the include files list.]]></short-description>
-        <description>
-          <![CDATA[add a name entry on the include files list]]>
-        </description>
-      </element>
-
-      <element name="include" type="org.apache.tools.ant.types.PatternSet.NameEntry"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a name entry on the include list.]]></short-description>
-        <description>
-          <![CDATA[add a name entry on the include list]]>
-        </description>
-      </element>
-
-      <element name="includesfile" type="org.apache.tools.ant.types.PatternSet.NameEntry"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a name entry on the include files list.]]></short-description>
-        <description>
-          <![CDATA[add a name entry on the include files list]]>
-        </description>
-      </element>
-
-      <element name="patternset" type="org.apache.tools.ant.types.PatternSet"
-               briefType="Patternset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a set of patterns.]]></short-description>
-        <description>
-          <![CDATA[add a set of patterns]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="deltree" category="other"
-      classname="org.apache.tools.ant.taskdefs.Deltree"
-      deprecated="true"
-      >
-
-  <short-description><![CDATA[No Description.]]></short-description>
-  <description>
-    <![CDATA[]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Directory to be deleted.]]></short-description>
-        <description><![CDATA[
-          Set the directory to be deleted
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="depend" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.depend.Depend"
-      matchingTask="true">
-
-  <short-description><![CDATA[Generates a dependency file for a given set of classes.]]></short-description>
-  <description>
-    <![CDATA[Generates a dependency file for a given set of classes.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="cache" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Dependency cache file.]]></short-description>
-        <description><![CDATA[
-          Sets the dependency cache file.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used for this dependency check.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used for this dependency check.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a classpath defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a classpath defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="closure" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, transitive dependencies are followed until the
- closure of the dependency set if reached.]]></short-description>
-        <description><![CDATA[
-          If true, transitive dependencies are followed until the
- closure of the dependency set if reached.
- When not set, the depend task will only follow
- direct dependencies between classes.
-        ]]></description>
-      </attribute>
-      <attribute name="destdir" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory where the compiled Java files exist.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory where the compiled Java files exist.
-        ]]></description>
-      </attribute>
-      <attribute name="dump" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, the dependency information will be written
- to the debug level log.]]></short-description>
-        <description><![CDATA[
-          If true, the dependency information will be written
- to the debug level log.
-        ]]></description>
-      </attribute>
-      <attribute name="srcdir" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Directories path to find the Java source files.]]></short-description>
-        <description><![CDATA[
-          Set the directories path to find the Java source files.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a classpath to be used for this dependency check.]]></short-description>
-        <description>
-          <![CDATA[Adds a classpath to be used for this dependency check.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="dependset" category="filesystem"
-      classname="org.apache.tools.ant.taskdefs.DependSet"
-      matchingTask="true">
-
-  <short-description><![CDATA[Examines and removes out of date target files.]]></short-description>
-  <description>
-    <![CDATA[Examines and removes out of date target files.  If any of the target files
- are out of date with respect to any of the source files, all target
- files are removed.  This is useful where dependencies cannot be
- computed (for example, dynamically interpreted parameters or files
- that need to stay in synch but are not directly linked) or where
- the ant task in question could compute them but does not (for
- example, the linked DTD for an XML file using the style task).
-
- nested arguments:
- <ul>
- <li>srcfileset     (fileset describing the source files to examine)
- <li>srcfilelist    (filelist describing the source files to examine)
- <li>targetfileset  (fileset describing the target files to examine)
- <li>targetfilelist (filelist describing the target files to examine)
- </ul>
- At least one instance of either a fileset or filelist for both source and 
- target are required.
- <p>
- This task will examine each of the source files against each of the target 
- files. If any target files are out of date with respect to any of the source 
- files, all targets are removed. If any files named in a (src or target) 
- filelist do not exist, all targets are removed.
- Hint: If missing files should be ignored, specify them as include patterns 
- in filesets, rather than using filelists.
- </p><p>
- This task attempts to optimize speed of dependency checking.  It will stop 
- after the first out of date file is found and remove all targets, rather 
- than exhaustively checking every source vs target combination unnecessarily.
- </p><p>
- Example uses: 
- <ul><li>
- Record the fact that an XML file must be up to date
- with respect to its XSD (Schema file), even though the XML file
- itself includes no reference to its XSD.
- </li><li>
- Record the fact that an XSL stylesheet includes other
- sub-stylesheets
- </li><li>
- Record the fact that java files must be recompiled if the ant build
- file changes
- </li></ul>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-    </attributes>
-
-    <elements>
-      <element name="srcfilelist" type="org.apache.tools.ant.types.FileList"
-               briefType="Filelist"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a list of source files.]]></short-description>
-        <description>
-          <![CDATA[Add a list of source files.]]>
-        </description>
-      </element>
-
-      <element name="srcfileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a set of source files.]]></short-description>
-        <description>
-          <![CDATA[Add a set of source files.]]>
-        </description>
-      </element>
-
-      <element name="targetfilelist" type="org.apache.tools.ant.types.FileList"
-               briefType="Filelist"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a list of target files.]]></short-description>
-        <description>
-          <![CDATA[Add a list of target files.]]>
-        </description>
-      </element>
-
-      <element name="targetfileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a set of target files.]]></short-description>
-        <description>
-          <![CDATA[Add a set of target files.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="dirname" category="property"
-      classname="org.apache.tools.ant.taskdefs.Dirname"
-      >
-
-  <short-description><![CDATA[Determines the directory name of the specified file.]]></short-description>
-  <description>
-    <![CDATA[Determines the directory name of the specified file.
-
- This task can accept the following attributes:
- <ul>
- <li>file
- <li>property
- </ul>
- Both <b>file</b> and <b>property</b> are required.
- <p>
- When this task executes, it will set the specified property to the
- value of the specified file up to, but not including, the last path
- element. If file is a file, the directory will be the current
- directory.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Path to take the dirname of.]]></short-description>
-        <description><![CDATA[
-          Path to take the dirname of.
-        ]]></description>
-      </attribute>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the property to set.]]></short-description>
-        <description><![CDATA[
-          The name of the property to set.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ear" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.Ear"
-      matchingTask="true">
-
-  <short-description><![CDATA[Creates a EAR archive.]]></short-description>
-  <description>
-    <![CDATA[Creates a EAR archive. Based on WAR task]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="appxml" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File to incorporate as application.xml.]]></short-description>
-        <description><![CDATA[
-          File to incorporate as application.xml.
-        ]]></description>
-      </attribute>
-      <attribute name="basedir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Directory from which to archive files; optional.]]></short-description>
-        <description><![CDATA[
-          Directory from which to archive files; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="compress" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether we want to compress the files or only store them;
- optional, default=true;.]]></short-description>
-        <description><![CDATA[
-          Whether we want to compress the files or only store them;
- optional, default=true;
-        ]]></description>
-      </attribute>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to create; required.]]></short-description>
-        <description><![CDATA[
-          The file to create; required.
-        ]]></description>
-      </attribute>
-      <attribute name="duplicate" type="org.apache.tools.ant.taskdefs.Zip.Duplicate"
-                 briefType="&quot;add&quot;, &quot;preserve&quot;, &quot;fail&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Sets behavior for when a duplicate file is about to be added -
- one of <code>keep</code>, <code>skip</code> or <code>overwrite</code>.]]></short-description>
-        <description><![CDATA[
-          Sets behavior for when a duplicate file is about to be added -
- one of <code>keep</code>, <code>skip</code> or <code>overwrite</code>.
- Possible values are: <code>keep</code> (keep both
- of the files); <code>skip</code> (keep the first version
- of the file found); <code>overwrite</code> overwrite the file
- with the new file
- Default for zip tasks is <code>keep</code>
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Encoding to use for filenames, defaults to the platform's
- default encoding.]]></short-description>
-        <description><![CDATA[
-          Encoding to use for filenames, defaults to the platform's
- default encoding.
-
- <p>For a list of possible values see <a
- href="http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html">http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html</a>.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="filesonly" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, emulate Sun's jar utility by not adding parent directories;
- optional, defaults to false.]]></short-description>
-        <description><![CDATA[
-          If true, emulate Sun's jar utility by not adding parent directories;
- optional, defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="index" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether or not to create an index list for classes.]]></short-description>
-        <description><![CDATA[
-          Set whether or not to create an index list for classes.
- This may speed up classloading in some cases.
-        ]]></description>
-      </attribute>
-      <attribute name="manifest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The manifest file to use.]]></short-description>
-        <description><![CDATA[
-          The manifest file to use. This can be either the location of a manifest,
- or the name of a jar added through a fileset. If its the name of an added
- jar, the task expects the manifest to be in the jar at META-INF/MANIFEST.MF.
-        ]]></description>
-      </attribute>
-      <attribute name="update" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, updates an existing file, otherwise overwrite
- any existing one; optional defaults to false.]]></short-description>
-        <description><![CDATA[
-          If true, updates an existing file, otherwise overwrite
- any existing one; optional defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="whenempty" type="org.apache.tools.ant.taskdefs.Zip.WhenEmpty"
-                 briefType="&quot;fail&quot;, &quot;skip&quot;, &quot;create&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Sets behavior of the task when no files match.]]></short-description>
-        <description><![CDATA[
-          Sets behavior of the task when no files match.
- Possible values are: <code>fail</code> (throw an exception
- and halt the build); <code>skip</code> (do not create
- any archive, but issue a warning); <code>create</code>
- (make an archive with no entries).
- Default for zip tasks is <code>skip</code>;
- for jar tasks, <code>create</code>.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="archives" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds zipfileset.]]></short-description>
-        <description>
-          <![CDATA[Adds zipfileset.]]>
-        </description>
-      </element>
-
-      <element name="manifest" type="org.apache.tools.ant.taskdefs.Manifest"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Allows the manifest for the archive file to be provided inline
- in the buildfile rather than in an external file.]]></short-description>
-        <description>
-          <![CDATA[Allows the manifest for the archive file to be provided inline
- in the buildfile rather than in an external file.]]>
-        </description>
-      </element>
-
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files.]]>
-        </description>
-      </element>
-
-      <element name="metainf" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a zipfileset to include in the META-INF directory.]]></short-description>
-        <description>
-          <![CDATA[Adds a zipfileset to include in the META-INF directory.]]>
-        </description>
-      </element>
-
-      <element name="zipgroupfileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a group of zip files.]]></short-description>
-        <description>
-          <![CDATA[Adds a group of zip files.]]>
-        </description>
-      </element>
-
-      <element name="zipfileset" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files that can be
- read from an archive and be given a prefix/fullpath.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files that can be
- read from an archive and be given a prefix/fullpath.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="echo" category="utility"
-      classname="org.apache.tools.ant.taskdefs.Echo"
-      >
-
-  <short-description><![CDATA[Writes a message to the Ant logging facilities.]]></short-description>
-  <description>
-    <![CDATA[Writes a message to the Ant logging facilities.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="append" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, append to existing file.]]></short-description>
-        <description><![CDATA[
-          If true, append to existing file.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File to write to.]]></short-description>
-        <description><![CDATA[
-          File to write to.
-        ]]></description>
-      </attribute>
-      <attribute name="level" type="org.apache.tools.ant.taskdefs.Echo.EchoLevel"
-                 briefType="&quot;error&quot;, &quot;warning&quot;, &quot;info&quot;, &quot;verbose&quot;, &quot;debug&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Logging level.]]></short-description>
-        <description><![CDATA[
-          Set the logging level. Level should be one of
- <ul>
-  <li>error</li>
-  <li>warning</li>
-  <li>info</li>
-  <li>verbose</li>
-  <li>debug</li>
- </ul>
- <p>The default is &quot;warning&quot; to ensure that messages are
- displayed by default when using the -quiet command line option.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="message" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Message to write.]]></short-description>
-        <description><![CDATA[
-          Message to write.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-      <body >
-        <description><![CDATA[
-          Set a multiline message.
-        ]]></description>
-      </body>
-
-  </structure>
-
-</task>
-
-
-<task name="echoproperties" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.EchoProperties"
-      >
-
-  <short-description><![CDATA[Displays all the current properties in the build.]]></short-description>
-  <description>
-    <![CDATA[Displays all the current properties in the build. The output can be sent to
-  a file if desired. <P>
-
-  Attribute "destfile" defines a file to send the properties to. This can be
-  processed as a standard property file later. <P>
-
-  Attribute "prefix" defines a prefix which is used to filter the properties
-  only those properties starting with this prefix will be echoed. <P>
-
-  By default, the "failonerror" attribute is enabled. If an error occurs while
-  writing the properties to a file, and this attribute is enabled, then a
-  BuildException will be thrown. If disabled, then IO errors will be reported
-  as a log statement, but no error will be thrown. <P>
-
-  Examples: <pre>
-  &lt;echoproperties  /&gt;
- </pre> Report the current properties to the log. <P>
-
-  <pre>
-  &lt;echoproperties destfile="my.properties" /&gt;
- </pre> Report the current properties to the file "my.properties", and will
-  fail the build if the file could not be created or written to. <P>
-
-  <pre>
-  &lt;echoproperties destfile="my.properties" failonerror="false"
-      prefix="ant" /&gt;
- </pre> Report all properties beginning with 'ant' to the file
-  "my.properties", and will log a message if the file could not be created or
-  written to, but will still allow the build to continue.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File to store the property output.]]></short-description>
-        <description><![CDATA[
-          Set a file to store the property output.  If this is never specified,
-  then the output will be sent to the Ant log.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, the task will fail if an error occurs writing the properties
- file, otherwise errors are just logged.]]></short-description>
-        <description><![CDATA[
-          If true, the task will fail if an error occurs writing the properties
- file, otherwise errors are just logged.
-        ]]></description>
-      </attribute>
-      <attribute name="prefix" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[If the prefix is set, then only properties which start with this
-  prefix string will be recorded.]]></short-description>
-        <description><![CDATA[
-          If the prefix is set, then only properties which start with this
-  prefix string will be recorded.  If this is never set, or it is set
-  to an empty string or <tt>null</tt>, then all properties will be
-  recorded. <P>
-
-  For example, if the property is set as:
-    <PRE>&lt;echoproperties  prefix="ant." /&gt;</PRE>
-  then the property "ant.home" will be recorded, but "ant-example"
-  will not.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ejbc" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ejb.Ejbc"
-      matchingTask="true">
-
-  <short-description><![CDATA[Builds EJB support classes using WebLogic's ejbc tool from a directory containing a set of deployment descriptors.]]></short-description>
-  <description>
-    <![CDATA[Builds EJB support classes using WebLogic's ejbc tool from a directory containing
- a set of deployment descriptors.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used for this compilation.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used for this compilation.
-        ]]></description>
-      </attribute>
-      <attribute name="descriptors" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory from where the serialized deployment descriptors are
- to be read.]]></short-description>
-        <description><![CDATA[
-          Set the directory from where the serialized deployment descriptors are
- to be read.
-        ]]></description>
-      </attribute>
-      <attribute name="dest" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory into which the support classes, RMI stubs, etc are to be written.]]></short-description>
-        <description><![CDATA[
-          Set the directory into which the support classes, RMI stubs, etc are to be written.
-        ]]></description>
-      </attribute>
-      <attribute name="keepgenerated" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[If true, ejbc will keep the
- intermediate Java files used to build the class files.]]></short-description>
-        <description><![CDATA[
-          If true, ejbc will keep the
- intermediate Java files used to build the class files.
- This can be useful when debugging.
-        ]]></description>
-      </attribute>
-      <attribute name="manifest" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the generated manifest file.]]></short-description>
-        <description><![CDATA[
-          Set the name of the generated manifest file.
-
- For each EJB that is processed an entry is created in this file. This can then be used
- to create a jar file for dploying the beans.
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory containing the source code for the home interface, remote interface
- and public key class definitions.]]></short-description>
-        <description><![CDATA[
-          Set the directory containing the source code for the home interface, remote interface
- and public key class definitions.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ejbjar" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ejb.EjbJar"
-      matchingTask="true">
-
-  <short-description><![CDATA[Provides automated EJB JAR file creation.]]></short-description>
-  <description>
-    <![CDATA[Provides automated EJB JAR file creation.
- <p>
- Extends the
- MatchingTask class provided in the default ant distribution to provide a
- directory scanning EJB jarfile generator.
- </p>
-
- <p>
- The task works by taking the deployment descriptors one at a time and
- parsing them to locate the names of the classes which should be placed in
- the jar. The classnames are translated to java.io.Files by replacing
- periods with File.separatorChar and resolving the generated filename as a
- relative path under the srcDir attribute. All necessary files are then
- assembled into a jarfile. One jarfile is constructed for each deployment
- descriptor found.
- </p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="basejarname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Base name of the EJB JAR that is to be created if it is not
- to be determined from the name of the deployment descriptor files.]]></short-description>
-        <description><![CDATA[
-          Set the base name of the EJB JAR that is to be created if it is not
- to be determined from the name of the deployment descriptor files.
-        ]]></description>
-      </attribute>
-      <attribute name="basenameterminator" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The string which terminates the bean name.]]></short-description>
-        <description><![CDATA[
-          The string which terminates the bean name.
- The convention used by this task is
- that bean descriptors are named as the BeanName with some suffix. The
- baseNameTerminator string separates the bean name and the suffix and
- is used to determine the bean name.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to use when resolving classes for inclusion in the jar.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to use when resolving classes for inclusion in the jar.
-        ]]></description>
-      </attribute>
-      <attribute name="dependency" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Analyzer to use when adding in dependencies to the JAR.]]></short-description>
-        <description><![CDATA[
-          Set the analyzer to use when adding in dependencies to the JAR.
-        ]]></description>
-      </attribute>
-      <attribute name="descriptordir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Descriptor directory.]]></short-description>
-        <description><![CDATA[
-          Set the descriptor directory. The descriptor directory contains the
- EJB deployment descriptors. These are XML files that declare the
- properties of a bean in a particular deployment scenario. Such
- properties include, for example, the transactional nature of the bean
- and the security access control to the bean's methods.
-        ]]></description>
-      </attribute>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory. The EJB jar files will be written into
- this directory. The jar files that exist in this directory are also
- used when determining if the contents of the jar file have changed.
- Note that this parameter is only used if no deployment tools are
- specified. Typically each deployment tool will specify its own
- destination directory.
-        ]]></description>
-      </attribute>
-      <attribute name="flatdestdir" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Controls whether the
- destination JARs are written out in the destination directory with
- the same hierarchical structure from which the deployment descriptors
- have been read.]]></short-description>
-        <description><![CDATA[
-          Controls whether the
- destination JARs are written out in the destination directory with
- the same hierarchical structure from which the deployment descriptors
- have been read. If this is set to true the generated EJB jars are
- written into the root of the destination directory, otherwise they
- are written out in the same relative position as the deployment
- descriptors in the descriptor directory.
-        ]]></description>
-      </attribute>
-      <attribute name="genericjarsuffix" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Suffix for the generated jar file.]]></short-description>
-        <description><![CDATA[
-          Set the suffix for the generated jar file. When generic jars are
- generated, they have a suffix which is appended to the the bean name
- to create the name of the jar file. Note that this suffix includes
- the extension fo te jar file and should therefore end with an
- appropriate extension such as .jar or .ear
-        ]]></description>
-      </attribute>
-      <attribute name="manifest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Manifest file to use when jarring.]]></short-description>
-        <description><![CDATA[
-          Set the Manifest file to use when jarring. As of EJB 1.1, manifest
- files are no longer used to configure the EJB. However, they still
- have a vital importance if the EJB is intended to be packaged in an
- EAR file. By adding "Class-Path" settings to a Manifest file, the EJB
- can look for classes inside the EAR file itself, allowing for easier
- deployment. This is outlined in the J2EE specification, and all J2EE
- components are meant to support it.
-        ]]></description>
-      </attribute>
-      <attribute name="naming" type="org.apache.tools.ant.taskdefs.optional.ejb.EjbJar.NamingScheme"
-                 briefType="&quot;ejb-name&quot;, &quot;directory&quot;, &quot;descriptor&quot;, &quot;basejarname&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Naming scheme used to determine the name of the generated jars
- from the deployment descriptor.]]></short-description>
-        <description><![CDATA[
-          Set the naming scheme used to determine the name of the generated jars
- from the deployment descriptor
-        ]]></description>
-      </attribute>
-      <attribute name="srcdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Source directory, which is the directory that
- contains the classes that will be added to the EJB jar.]]></short-description>
-        <description><![CDATA[
-          Sets the source directory, which is the directory that
- contains the classes that will be added to the EJB jar. Typically
- this will include the home and remote interfaces and the bean class.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="borland" type="org.apache.tools.ant.taskdefs.optional.ejb.BorlandDeploymentTool"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a deployment tool for Borland server.]]></short-description>
-        <description>
-          <![CDATA[Adds a deployment tool for Borland server.]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds to the classpath used to locate the super classes and
- interfaces of the classes that will make up the EJB JAR.]]></short-description>
-        <description>
-          <![CDATA[Adds to the classpath used to locate the super classes and
- interfaces of the classes that will make up the EJB JAR.]]>
-        </description>
-      </element>
-
-      <element name="dtd" type="org.apache.tools.ant.taskdefs.optional.ejb.EjbJar.DTDLocation"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create a DTD location record.]]></short-description>
-        <description>
-          <![CDATA[Create a DTD location record. This stores the location of a DTD. The
- DTD is identified by its public Id. The location may either be a file
- location or a resource location.]]>
-        </description>
-      </element>
-
-      <element name="iplanet" type="org.apache.tools.ant.taskdefs.optional.ejb.IPlanetDeploymentTool"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a deployment tool for iPlanet Application Server.]]></short-description>
-        <description>
-          <![CDATA[Adds a deployment tool for iPlanet Application Server.]]>
-        </description>
-      </element>
-
-      <element name="jboss" type="org.apache.tools.ant.taskdefs.optional.ejb.JbossDeploymentTool"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a deployment tool for JBoss server.]]></short-description>
-        <description>
-          <![CDATA[Adds a deployment tool for JBoss server.]]>
-        </description>
-      </element>
-
-      <element name="jonas" type="org.apache.tools.ant.taskdefs.optional.ejb.JonasDeploymentTool"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a deployment tool for JOnAS server.]]></short-description>
-        <description>
-          <![CDATA[Adds a deployment tool for JOnAS server.]]>
-        </description>
-      </element>
-
-      <element name="support" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a fileset for support elements.]]></short-description>
-        <description>
-          <![CDATA[Adds a fileset for support elements.]]>
-        </description>
-      </element>
-
-      <element name="weblogic" type="org.apache.tools.ant.taskdefs.optional.ejb.WeblogicDeploymentTool"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a deployment tool for Weblogic server.]]></short-description>
-        <description>
-          <![CDATA[Adds a deployment tool for Weblogic server.]]>
-        </description>
-      </element>
-
-      <element name="weblogictoplink" type="org.apache.tools.ant.taskdefs.optional.ejb.WeblogicTOPLinkDeploymentTool"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a deployment tool for Weblogic when using the Toplink
- Object-Relational mapping.]]></short-description>
-        <description>
-          <![CDATA[Adds a deployment tool for Weblogic when using the Toplink
- Object-Relational mapping.]]>
-        </description>
-      </element>
-
-      <element name="websphere" type="org.apache.tools.ant.taskdefs.optional.ejb.WebsphereDeploymentTool"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a deployment tool for Websphere 4.0 server.]]></short-description>
-        <description>
-          <![CDATA[Adds a deployment tool for Websphere 4.0 server.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="exec" category="control"
-      classname="org.apache.tools.ant.taskdefs.ExecTask"
-      >
-
-  <short-description><![CDATA[Executes a given command if the os platform is appropriate.]]></short-description>
-  <description>
-    <![CDATA[Executes a given command if the os platform is appropriate.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="append" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether output should be appended to or overwrite an existing file.]]></short-description>
-        <description><![CDATA[
-          Whether output should be appended to or overwrite an existing file.
- Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The working directory of the process.]]></short-description>
-        <description><![CDATA[
-          The working directory of the process.
-        ]]></description>
-      </attribute>
-      <attribute name="executable" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The command to execute.]]></short-description>
-        <description><![CDATA[
-          The command to execute.
-        ]]></description>
-      </attribute>
-      <attribute name="failifexecutionfails" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Stop the build if program cannot be started.]]></short-description>
-        <description><![CDATA[
-          Stop the build if program cannot be started. Defaults to true.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Fail if the command exits with a non-zero return code.]]></short-description>
-        <description><![CDATA[
-          Fail if the command exits with a non-zero return code.
-        ]]></description>
-      </attribute>
-      <attribute name="newenvironment" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Do not propagate old environment when new environment variables are specified.]]></short-description>
-        <description><![CDATA[
-          Do not propagate old environment when new environment variables are specified.
-        ]]></description>
-      </attribute>
-      <attribute name="os" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[List of operating systems on which the command may be executed.]]></short-description>
-        <description><![CDATA[
-          List of operating systems on which the command may be executed.
-        ]]></description>
-      </attribute>
-      <attribute name="output" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File the output of the process is redirected to.]]></short-description>
-        <description><![CDATA[
-          File the output of the process is redirected to.
-        ]]></description>
-      </attribute>
-      <attribute name="outputproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Property name whose value should be set to the output of
- the process.]]></short-description>
-        <description><![CDATA[
-          Property name whose value should be set to the output of
- the process.
-        ]]></description>
-      </attribute>
-      <attribute name="resultproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of a property in which the return code of the
- command should be stored.]]></short-description>
-        <description><![CDATA[
-          The name of a property in which the return code of the
- command should be stored. Only of interest if failonerror=false.
-        ]]></description>
-      </attribute>
-      <attribute name="vmlauncher" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, launch new process with VM, otherwise use the OS's shell.]]></short-description>
-        <description><![CDATA[
-          If true, launch new process with VM, otherwise use the OS's shell.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="env" type="org.apache.tools.ant.types.Environment.Variable"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an environment variable to the launched process.]]></short-description>
-        <description>
-          <![CDATA[Add an environment variable to the launched process.]]>
-        </description>
-      </element>
-
-      <element name="arg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a command-line argument.]]></short-description>
-        <description>
-          <![CDATA[Adds a command-line argument.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="fail" category="control"
-      classname="org.apache.tools.ant.taskdefs.Exit"
-      >
-
-  <short-description><![CDATA[Exits the active build, giving an additional message if available.]]></short-description>
-  <description>
-    <![CDATA[Exits the active build, giving an additional message
- if available.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="if" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Only fail if a property of the given name exists in the current project.]]></short-description>
-        <description><![CDATA[
-          Only fail if a property of the given name exists in the current project.
-        ]]></description>
-      </attribute>
-      <attribute name="message" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[A message giving further information on why the build exited.]]></short-description>
-        <description><![CDATA[
-          A message giving further information on why the build exited.
-        ]]></description>
-      </attribute>
-      <attribute name="unless" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Only fail if a property of the given name does not
- exist in the current project.]]></short-description>
-        <description><![CDATA[
-          Only fail if a property of the given name does not
- exist in the current project.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-      <body >
-        <description><![CDATA[
-          Set a multiline message.
-        ]]></description>
-      </body>
-
-  </structure>
-
-</task>
-
-
-<task name="filter" category="filesystem"
-      classname="org.apache.tools.ant.taskdefs.Filter"
-      >
-
-  <short-description><![CDATA[Sets a token filter that is used by the file copy tasks to do token substitution.]]></short-description>
-  <description>
-    <![CDATA[Sets a token filter that is used by the file copy tasks
- to do token substitution. Sets mutiple tokens by
- reading these from a file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="filtersfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file from which the filters must be read.]]></short-description>
-        <description><![CDATA[
-          The file from which the filters must be read.
- This file must be a formatted as a property file.
-        ]]></description>
-      </attribute>
-      <attribute name="token" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The token string without @ delimiters.]]></short-description>
-        <description><![CDATA[
-          The token string without @ delimiters.
-        ]]></description>
-      </attribute>
-      <attribute name="value" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The string that should replace the token during filtered copies.]]></short-description>
-        <description><![CDATA[
-          The string that should replace the token during filtered copies.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="fixcrlf" category="filesystem"
-      classname="org.apache.tools.ant.taskdefs.FixCRLF"
-      matchingTask="true">
-
-  <short-description><![CDATA[Converts text source files to local OS formatting conventions, as well as repair text files damaged by misconfigured or misguided editors or file transfer programs.]]></short-description>
-  <description>
-    <![CDATA[Converts text source files to local OS formatting conventions, as
- well as repair text files damaged by misconfigured or misguided editors or
- file transfer programs.
- <p>
- This task can take the following arguments:
- <ul>
- <li>srcdir
- <li>destdir
- <li>include
- <li>exclude
- <li>cr
- <li>eol
- <li>tab
- <li>eof
- <li>encoding
- </ul>
- Of these arguments, only <b>sourcedir</b> is required.
- <p>
- When this task executes, it will scan the srcdir based on the include
- and exclude properties.
- <p>
- This version generalises the handling of EOL characters, and allows
- for CR-only line endings (which I suspect is the standard on Macs.)
- Tab handling has also been generalised to accommodate any tabwidth
- from 2 to 80, inclusive.  Importantly, it will leave untouched any
- literal TAB characters embedded within string or character constants.
- <p>
- <em>Warning:</em> do not run on binary files.
- <em>Caution:</em> run with care on carefully formatted files.
- This may sound obvious, but if you don't specify asis, presume that
- your files are going to be modified.  If "tabs" is "add" or "remove",
- whitespace characters may be added or removed as necessary.  Similarly,
- for CR's - in fact "eol"="crlf" or cr="add" can result in cr
- characters being removed in one special case accommodated, i.e.,
- CRCRLF is regarded as a single EOL to handle cases where other
- programs have converted CRLF into CRCRLF.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination where the fixed files should be placed.]]></short-description>
-        <description><![CDATA[
-          Set the destination where the fixed files should be placed.
- Default is to replace the original file.
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the encoding Ant expects the files to be in -
- defaults to the platforms default encoding.]]></short-description>
-        <description><![CDATA[
-          Specifies the encoding Ant expects the files to be in -
- defaults to the platforms default encoding.
-        ]]></description>
-      </attribute>
-      <attribute name="eof" type="org.apache.tools.ant.taskdefs.FixCRLF.AddAsisRemove"
-                 briefType="&quot;add&quot;, &quot;asis&quot;, &quot;remove&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Specify how DOS EOF (control-z) characters are to be handled.]]></short-description>
-        <description><![CDATA[
-          Specify how DOS EOF (control-z) characters are to be handled.
-        ]]></description>
-      </attribute>
-      <attribute name="eol" type="org.apache.tools.ant.taskdefs.FixCRLF.CrLf"
-                 briefType="&quot;asis&quot;, &quot;cr&quot;, &quot;lf&quot;, &quot;crlf&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Specify how EndOfLine characters are to be handled.]]></short-description>
-        <description><![CDATA[
-          Specify how EndOfLine characters are to be handled.
-        ]]></description>
-      </attribute>
-      <attribute name="javafiles" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set to true if modifying Java source files.]]></short-description>
-        <description><![CDATA[
-          Set to true if modifying Java source files.
-        ]]></description>
-      </attribute>
-      <attribute name="srcdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Source dir to find the source text files.]]></short-description>
-        <description><![CDATA[
-          Set the source dir to find the source text files.
-        ]]></description>
-      </attribute>
-      <attribute name="tab" type="org.apache.tools.ant.taskdefs.FixCRLF.AddAsisRemove"
-                 briefType="&quot;add&quot;, &quot;asis&quot;, &quot;remove&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Specify how tab characters are to be handled.]]></short-description>
-        <description><![CDATA[
-          Specify how tab characters are to be handled.
-        ]]></description>
-      </attribute>
-      <attribute name="tablength" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Specify tab length in characters.]]></short-description>
-        <description><![CDATA[
-          Specify tab length in characters.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ftp" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.net.FTP"
-      >
-
-  <short-description><![CDATA[Basic FTP client.]]></short-description>
-  <description>
-    <![CDATA[Basic FTP client. Performs the following actions:
- <ul>
-   <li> <strong>send</strong> - send files to a remote server. This is the
-   default action.</li>
-   <li> <strong>get</strong> - retrive files from a remote server.</li>
-   <li> <strong>del</strong> - delete files from a remote server.</li>
-   <li> <strong>list</strong> - create a file listing.</li>
-   <li> <strong>chmod</strong> - change unix file permissions.</li>
- </ul>
- <strong>Note:</strong> Some FTP servers - notably the Solaris server - seem
- to hold data ports open after a "retr" operation, allowing them to timeout
- instead of shutting them down cleanly. This happens in active or passive
- mode, and the ports will remain open even after ending the FTP session. FTP
- "send" operations seem to close ports immediately. This behavior may cause
- problems on some systems when downloading large sets of files.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="action" type="org.apache.tools.ant.taskdefs.optional.net.FTP.Action"
-                 briefType="&quot;send&quot;, &quot;put&quot;, &quot;recv&quot;, &quot;get&quot;, &quot;del&quot;, &quot;delete&quot;, &quot;list&quot;, &quot;mkdir&quot;, &quot;chmod&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[FTP action to be taken.]]></short-description>
-        <description><![CDATA[
-          Sets the FTP action to be taken. Currently accepts "put", "get", "del",
- "mkdir", "chmod" and "list".
-        ]]></description>
-      </attribute>
-      <attribute name="binary" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, uses binary mode, otherwise text mode (default is binary).]]></short-description>
-        <description><![CDATA[
-          If true, uses binary mode, otherwise text mode (default is binary).
-        ]]></description>
-      </attribute>
-      <attribute name="chmod" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[File permission mode (Unix only) for files sent to the server.]]></short-description>
-        <description><![CDATA[
-          Sets the file permission mode (Unix only) for files sent to the server.
-        ]]></description>
-      </attribute>
-      <attribute name="depends" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set to true to transmit only files that are new or changed from their
- remote counterparts.]]></short-description>
-        <description><![CDATA[
-          Set to true to transmit only files that are new or changed from their
- remote counterparts. The default is to transmit all files.
-        ]]></description>
-      </attribute>
-      <attribute name="ignorenoncriticalerrors" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to skip errors on directory creation.
- (and maybe later other server specific errors).]]></short-description>
-        <description><![CDATA[
-          set the flag to skip errors on directory creation.
- (and maybe later other server specific errors)
-        ]]></description>
-      </attribute>
-      <attribute name="listing" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The output file for the "list" action.]]></short-description>
-        <description><![CDATA[
-          The output file for the "list" action. This attribute is ignored for
- any other actions.
-        ]]></description>
-      </attribute>
-      <attribute name="newer" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[A synonym for <tt>depends</tt>.]]></short-description>
-        <description><![CDATA[
-          A synonym for <tt>depends</tt>. Set to true to transmit only new or changed
- files.
-        ]]></description>
-      </attribute>
-      <attribute name="passive" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies whether to use passive mode.]]></short-description>
-        <description><![CDATA[
-          Specifies whether to use passive mode. Set to true if you are behind a
- firewall and cannot connect without it. Passive mode is disabled by
- default.
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Login password for the given user id.]]></short-description>
-        <description><![CDATA[
-          Sets the login password for the given user id.
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[FTP port used by the remote server.]]></short-description>
-        <description><![CDATA[
-          Sets the FTP port used by the remote server.
-        ]]></description>
-      </attribute>
-      <attribute name="remotedir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Remote directory where files will be placed.]]></short-description>
-        <description><![CDATA[
-          Sets the remote directory where files will be placed. This may be a
- relative or absolute path, and must be in the path syntax expected by
- the remote server. No correction of path syntax will be performed.
-        ]]></description>
-      </attribute>
-      <attribute name="separator" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Remote file separator character.]]></short-description>
-        <description><![CDATA[
-          Sets the remote file separator character. This normally defaults to the
- Unix standard forward slash, but can be manually overridden using this
- call if the remote server requires some other separator. Only the first
- character of the string is used.
-        ]]></description>
-      </attribute>
-      <attribute name="server" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[FTP server to send files to.]]></short-description>
-        <description><![CDATA[
-          Sets the FTP server to send files to.
-        ]]></description>
-      </attribute>
-      <attribute name="skipfailedtransfers" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, enables unsuccessful file put, delete and get
- operations to be skipped with a warning and the remainder
- of the files still transferred.]]></short-description>
-        <description><![CDATA[
-          If true, enables unsuccessful file put, delete and get
- operations to be skipped with a warning and the remainder
- of the files still transferred.
-        ]]></description>
-      </attribute>
-      <attribute name="umask" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Default mask for file creation on a unix server.]]></short-description>
-        <description><![CDATA[
-          Sets the default mask for file creation on a unix server.
-        ]]></description>
-      </attribute>
-      <attribute name="userid" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Login user id to use on the specified server.]]></short-description>
-        <description><![CDATA[
-          Sets the login user id to use on the specified server.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set to true to receive notification about each file as it is
- transferred.]]></short-description>
-        <description><![CDATA[
-          Set to true to receive notification about each file as it is
- transferred.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[A set of files to upload or download.]]></short-description>
-        <description>
-          <![CDATA[A set of files to upload or download]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="genkey" category="java"
-      classname="org.apache.tools.ant.taskdefs.GenerateKey"
-      >
-
-  <short-description><![CDATA[Generates a key in a keystore.]]></short-description>
-  <description>
-    <![CDATA[Generates a key in a keystore.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="alias" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The alias to add under.]]></short-description>
-        <description><![CDATA[
-          The alias to add under.
-        ]]></description>
-      </attribute>
-      <attribute name="dname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The distinguished name for entity.]]></short-description>
-        <description><![CDATA[
-          The distinguished name for entity.
-        ]]></description>
-      </attribute>
-      <attribute name="keyalg" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The method to use when generating name-value pair.]]></short-description>
-        <description><![CDATA[
-          The method to use when generating name-value pair.
-        ]]></description>
-      </attribute>
-      <attribute name="keypass" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Password for private key (if different).]]></short-description>
-        <description><![CDATA[
-          Password for private key (if different).
-        ]]></description>
-      </attribute>
-      <attribute name="keysize" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates the size of key generated.]]></short-description>
-        <description><![CDATA[
-          Indicates the size of key generated.
-        ]]></description>
-      </attribute>
-      <attribute name="keystore" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Keystore location.]]></short-description>
-        <description><![CDATA[
-          Keystore location.
-        ]]></description>
-      </attribute>
-      <attribute name="sigalg" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The algorithm to use in signing.]]></short-description>
-        <description><![CDATA[
-          The algorithm to use in signing.
-        ]]></description>
-      </attribute>
-      <attribute name="storepass" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Password for keystore integrity.]]></short-description>
-        <description><![CDATA[
-          Password for keystore integrity.
- Must be at least 6 characters long.
-        ]]></description>
-      </attribute>
-      <attribute name="storetype" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Keystore type.]]></short-description>
-        <description><![CDATA[
-          Keystore type.
-        ]]></description>
-      </attribute>
-      <attribute name="validity" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates how many days certificate is valid.]]></short-description>
-        <description><![CDATA[
-          Indicates how many days certificate is valid.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, verbose output when signing.]]></short-description>
-        <description><![CDATA[
-          If true, verbose output when signing.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="dname" type="org.apache.tools.ant.taskdefs.GenerateKey.DistinguishedName"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Distinguished name list.]]></short-description>
-        <description>
-          <![CDATA[Distinguished name list.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="get" category="network"
-      classname="org.apache.tools.ant.taskdefs.Get"
-      >
-
-  <short-description><![CDATA[Gets a particular file from a URL source.]]></short-description>
-  <description>
-    <![CDATA[Gets a particular file from a URL source.
- Options include verbose reporting, timestamp based fetches and controlling
- actions on failures. NB: access through a firewall only works if the whole
- Java runtime is correctly configured.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Where to copy the source file.]]></short-description>
-        <description><![CDATA[
-          Where to copy the source file.
-        ]]></description>
-      </attribute>
-      <attribute name="ignoreerrors" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, log errors but do not treat as fatal.]]></short-description>
-        <description><![CDATA[
-          If true, log errors but do not treat as fatal.
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Password for the basic authentication.]]></short-description>
-        <description><![CDATA[
-          password for the basic authentication.
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.net.URL"
-                 briefType="URL" required="NOTDEFINED">
-        <short-description><![CDATA[URL to get.]]></short-description>
-        <description><![CDATA[
-          Set the URL to get.
-        ]]></description>
-      </attribute>
-      <attribute name="usetimestamp" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, conditionally download a file based on the timestamp
- of the local copy.]]></short-description>
-        <description><![CDATA[
-          If true, conditionally download a file based on the timestamp
- of the local copy.
-
- <p>In this situation, the if-modified-since header is set so
- that the file is only fetched if it is newer than the local
- file (or there is no local file) This flag is only valid on
- HTTP connections, it is ignored in other cases.  When the flag
- is set, the local copy of the downloaded file will also have
- its timestamp set to the remote file time.</p>
-
- <p>Note that remote files of date 1/1/1970 (GMT) are treated as
- 'no timestamp', and web servers often serve files with a
- timestamp in the future by replacing their timestamp with that
- of the current time. Also, inter-computer clock differences can
- cause no end of grief.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="username" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Username for basic auth.]]></short-description>
-        <description><![CDATA[
-          Username for basic auth.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, show verbose progress information.]]></short-description>
-        <description><![CDATA[
-          If true, show verbose progress information.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="gunzip" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.GUnzip"
-      >
-
-  <short-description><![CDATA[Expands a file that has been compressed with the GZIP algorithm.]]></short-description>
-  <description>
-    <![CDATA[Expands a file that has been compressed with the GZIP
- algorithm. Normally used to compress non-compressed archives such
- as TAR files.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The destination file or directory; optional.]]></short-description>
-        <description><![CDATA[
-          The destination file or directory; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to expand; required.]]></short-description>
-        <description><![CDATA[
-          The file to expand; required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="gzip" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.GZip"
-      >
-
-  <short-description><![CDATA[Compresses a file with the GZIP algorithm.]]></short-description>
-  <description>
-    <![CDATA[Compresses a file with the GZIP algorithm. Normally used to compress
- non-compressed archives such as TAR files.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to compress; required.]]></short-description>
-        <description><![CDATA[
-          the file to compress; required.
-        ]]></description>
-      </attribute>
-      <attribute name="zipfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The required destination file.]]></short-description>
-        <description><![CDATA[
-          the required destination file.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="icontract" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.IContract"
-      matchingTask="true">
-
-  <short-description><![CDATA[Instruments Java classes with iContract DBC preprocessor.]]></short-description>
-  <description>
-    <![CDATA[Instruments Java classes with iContract DBC preprocessor.
- <br/>
- The task can generate a properties file for <a href="http://hjem.sol.no/hellesoy/icontrol.html">iControl</a>,
- a graphical user interface that lets you turn on/off assertions. iControl generates a control file that you can refer to
- from this task using the controlfile attribute.
- iContract is at <a href="http://www.reliable-systems.com/tools/">http://www.reliable-systems.com/tools/</a>
- <p/>
- Thanks to Rainer Schmitz for enhancements and comments.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="builddir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Build directory for instrumented classes.]]></short-description>
-        <description><![CDATA[
-          Sets the build directory for instrumented classes.
-        ]]></description>
-      </attribute>
-      <attribute name="classdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Class directory (uninstrumented classes).]]></short-description>
-        <description><![CDATA[
-          Sets the class directory (uninstrumented classes).
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used for invocation of iContract.]]></short-description>
-        <description><![CDATA[
-          Sets the classpath to be used for invocation of iContract.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a classpath defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a classpath defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="controlfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Control file to pass to iContract.]]></short-description>
-        <description><![CDATA[
-          Sets the control file to pass to iContract.
-        ]]></description>
-      </attribute>
-      <attribute name="failthrowable" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Throwable (Exception) to be thrown on assertion violation.]]></short-description>
-        <description><![CDATA[
-          Sets the Throwable (Exception) to be thrown on assertion violation.
-        ]]></description>
-      </attribute>
-      <attribute name="instrumentdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Instrumentation directory.]]></short-description>
-        <description><![CDATA[
-          Sets the instrumentation directory.
-        ]]></description>
-      </attribute>
-      <attribute name="invariant" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Turns on/off invariant instrumentation.]]></short-description>
-        <description><![CDATA[
-          Turns on/off invariant instrumentation.
-        ]]></description>
-      </attribute>
-      <attribute name="post" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Turns on/off postcondition instrumentation.]]></short-description>
-        <description><![CDATA[
-          Turns on/off postcondition instrumentation.
-        ]]></description>
-      </attribute>
-      <attribute name="pre" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Turns on/off precondition instrumentation.]]></short-description>
-        <description><![CDATA[
-          Turns on/off precondition instrumentation.
-        ]]></description>
-      </attribute>
-      <attribute name="quiet" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Tells iContract to be quiet.]]></short-description>
-        <description><![CDATA[
-          Tells iContract to be quiet.
-        ]]></description>
-      </attribute>
-      <attribute name="repbuilddir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Build directory for instrumented classes.]]></short-description>
-        <description><![CDATA[
-          Sets the build directory for instrumented classes.
-        ]]></description>
-      </attribute>
-      <attribute name="repositorydir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Build directory for repository classes.]]></short-description>
-        <description><![CDATA[
-          Sets the build directory for repository classes.
-        ]]></description>
-      </attribute>
-      <attribute name="srcdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Source directory.]]></short-description>
-        <description><![CDATA[
-          Sets the source directory.
-        ]]></description>
-      </attribute>
-      <attribute name="targets" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the file where targets will be written.]]></short-description>
-        <description><![CDATA[
-          Sets the name of the file where targets will be written. That is the
- file that tells iContract what files to process.
-        ]]></description>
-      </attribute>
-      <attribute name="updateicontrol" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, updates iControl properties file.]]></short-description>
-        <description><![CDATA[
-          If true, updates iControl properties file
-        ]]></description>
-      </attribute>
-      <attribute name="verbosity" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Verbosity level of iContract.]]></short-description>
-        <description><![CDATA[
-          Sets the verbosity level of iContract. Any combination of
- error*,warning*,note*,info*,progress*,debug* (comma separated) can be
- used. Defaults to error*,warning*
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Classpath.]]></short-description>
-        <description>
-          <![CDATA[Sets the classpath.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="ilasm" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.dotnet.Ilasm"
-      matchingTask="true">
-
-  <short-description><![CDATA[Assembles .NET Intermediate Language files.]]></short-description>
-  <description>
-    <![CDATA[Assembles .NET Intermediate Language files. The task will only work
-  on win2K until other platforms support csc.exe or an equivalent. ilasm.exe
-  must be on the execute path too. <p>
-
-  <p>
-
-  All parameters are optional: &lt;il/&gt; should suffice to produce a debug
-  build of all *.il files. The option set is roughly compatible with the
-  CSharp class; even though the command line options are only vaguely
-  equivalent. [The low level commands take things like /OUT=file, csc wants
-  /out:file ... /verbose is used some places; /quiet here in ildasm... etc.]
-  It would be nice if someone made all the command line tools consistent (and
-  not as brittle as the java cmdline tools) <p>
-
-  The task is a directory based task, so attributes like <b>includes="*.il"
-  </b> and <b>excludes="broken.il"</b> can be used to control the files pulled
-  in. Each file is built on its own, producing an appropriately named output
-  file unless manually specified with <b>outfile</b>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="debug" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Debug flag on or off.]]></short-description>
-        <description><![CDATA[
-          set the debug flag on or off.
-        ]]></description>
-      </attribute>
-      <attribute name="extraoptions" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Any extra options which are not explicitly
- supported by this task.]]></short-description>
-        <description><![CDATA[
-          Any extra options which are not explicitly
- supported by this task.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, fails if ilasm tool fails.]]></short-description>
-        <description><![CDATA[
-          If true, fails if ilasm tool fails.
-        ]]></description>
-      </attribute>
-      <attribute name="keyfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The name of a file containing a private key.]]></short-description>
-        <description><![CDATA[
-          the name of a file containing a private key.
-        ]]></description>
-      </attribute>
-      <attribute name="listing" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, produce a listing (off by default).]]></short-description>
-        <description><![CDATA[
-          If true, produce a listing (off by default).
-        ]]></description>
-      </attribute>
-      <attribute name="outputfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Output file.]]></short-description>
-        <description><![CDATA[
-          Set the output file.
-        ]]></description>
-      </attribute>
-      <attribute name="resourcefile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of resource file to include.]]></short-description>
-        <description><![CDATA[
-          name of resource file to include.
-        ]]></description>
-      </attribute>
-      <attribute name="srcdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Source directory containing the files to be compiled.]]></short-description>
-        <description><![CDATA[
-          Set the source directory containing the files to be compiled.
-        ]]></description>
-      </attribute>
-      <attribute name="targettype" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Type of target, either "exe" or "library".]]></short-description>
-        <description><![CDATA[
-          Sets the type of target, either "exe" or "library".
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, enable verbose ILASM output.]]></short-description>
-        <description><![CDATA[
-          If true, enable verbose ILASM output.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="input" category="control"
-      classname="org.apache.tools.ant.taskdefs.Input"
-      >
-
-  <short-description><![CDATA[Reads an input line from the console.]]></short-description>
-  <description>
-    <![CDATA[Reads an input line from the console.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="addproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Defines the name of a property to be created from input.]]></short-description>
-        <description><![CDATA[
-          Defines the name of a property to be created from input. Behaviour is
- according to property task which means that existing properties
- cannot be overriden.
-        ]]></description>
-      </attribute>
-      <attribute name="message" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Message which gets displayed to the user during the build run.]]></short-description>
-        <description><![CDATA[
-          Sets the Message which gets displayed to the user during the build run.
-        ]]></description>
-      </attribute>
-      <attribute name="validargs" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Defines valid input parameters as comma separated strings.]]></short-description>
-        <description><![CDATA[
-          Defines valid input parameters as comma separated strings. If set, input
- task will reject any input not defined as accepted and requires the user
- to reenter it. Validargs are case sensitive. If you want 'a' and 'A' to
- be accepted you need to define both values as accepted arguments.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-      <body >
-        <description><![CDATA[
-          Set a multiline message.
-        ]]></description>
-      </body>
-
-  </structure>
-
-</task>
-
-
-<task name="iplanet-ejbc" category="ejb"
-      classname="org.apache.tools.ant.taskdefs.optional.ejb.IPlanetEjbcTask"
-      >
-
-  <short-description><![CDATA[Compiles EJB stubs and skeletons for the iPlanet Application Server.]]></short-description>
-  <description>
-    <![CDATA[Compiles EJB stubs and skeletons for the iPlanet Application Server.
- The EJBs to be processed are specified by the EJB 1.1 standard XML
- descriptor, and additional attributes are obtained from the iPlanet Application
- Server-specific XML descriptor.  Since the XML descriptors can include
- multiple EJBs, this is a convenient way of specifying many EJBs in a single
- Ant task.  The following attributes are allowed:
-   <ul>
-     <li><i>ejbdescriptor</i> -- Standard EJB 1.1 XML descriptor (typically
-                                 titled "ejb-jar.xml").  This attribute is
-                                 required.
-     <li><i>iasdescriptor</i> -- EJB XML descriptor for iPlanet Application
-                                 Server (typically titled "ias-ejb-jar.xml).
-                                 This attribute is required.
-     <li><i>dest</i> -- The is the base directory where the RMI stubs and
-                        skeletons are written.  In addition, the class files
-                        for each bean (home interface, remote interface, and
-                        EJB implementation) must be found in this directory.
-                        This attribute is required.
-     <li><i>classpath</i> -- The classpath used when generating EJB stubs and
-                             skeletons.  This is an optional attribute (if
-                             omitted, the classpath specified when Ant was
-                             started will be used).  Nested "classpath"
-                             elements may also be used.
-     <li><i>keepgenerated</i> -- Indicates whether or not the Java source
-                                 files which are generated by ejbc will be
-                                 saved or automatically deleted.  If "yes",
-                                 the source files will be retained.  This is
-                                 an optional attribute (if omitted, it
-                                 defaults to "no").
-     <li><i>debug</i> -- Indicates whether or not the ejbc utility should
-                         log additional debugging statements to the standard
-                         output.  If "yes", the additional debugging statements
-                         will be generated (if omitted, it defaults to "no").
-     <li><i>iashome</i> -- May be used to specify the "home" directory for
-                           this iPlanet Application Server installation.  This
-                           is used to find the ejbc utility if it isn't
-                           included in the user's system path.  This is an
-                           optional attribute (if specified, it should refer
-                           to the <code>[install-location]/iplanet/ias6/ias
-                           </code> directory).  If omitted, the ejbc utility
-                           must be on the user's system path.
-   </ul>
- <p>
- For each EJB specified, this task will locate the three classes that comprise
- the EJB.  If these class files cannot be located in the <code>dest</code>
- directory, the task will fail.  The task will also attempt to locate the EJB
- stubs and skeletons in this directory.  If found, the timestamps on the
- stubs and skeletons will be checked to ensure they are up to date.  Only if
- these files cannot be found or if they are out of date will ejbc be called
- to generate new stubs and skeletons.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used when compiling the EJB stubs and skeletons.]]></short-description>
-        <description><![CDATA[
-          Sets the classpath to be used when compiling the EJB stubs and skeletons.
-        ]]></description>
-      </attribute>
-      <attribute name="debug" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, debugging output will be generated when ejbc is
- executed.]]></short-description>
-        <description><![CDATA[
-          If true, debugging output will be generated when ejbc is
- executed.
-        ]]></description>
-      </attribute>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory where the EJB source classes must exist
- and where the stubs and skeletons will be written.]]></short-description>
-        <description><![CDATA[
-          Sets the destination directory where the EJB source classes must exist
- and where the stubs and skeletons will be written.  The destination
- directory must exist before this task is executed.
-        ]]></description>
-      </attribute>
-      <attribute name="ejbdescriptor" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Location of the standard XML EJB descriptor.]]></short-description>
-        <description><![CDATA[
-          Sets the location of the standard XML EJB descriptor.  Typically, this
- file is named "ejb-jar.xml".
-        ]]></description>
-      </attribute>
-      <attribute name="iasdescriptor" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Location of the iAS-specific XML EJB descriptor.]]></short-description>
-        <description><![CDATA[
-          Sets the location of the iAS-specific XML EJB descriptor.  Typically,
- this file is named "ias-ejb-jar.xml".
-        ]]></description>
-      </attribute>
-      <attribute name="iashome" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[May be used to specify the "home" directory for this iAS installation.]]></short-description>
-        <description><![CDATA[
-          May be used to specify the "home" directory for this iAS installation.
- The directory specified should typically be
- <code>[install-location]/iplanet/ias6/ias</code>.
-        ]]></description>
-      </attribute>
-      <attribute name="keepgenerated" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, the Java source files which are generated by ejbc will be saved .]]></short-description>
-        <description><![CDATA[
-          If true, the Java source files which are generated by ejbc will be saved .
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds to the classpath used when compiling the EJB stubs and skeletons.]]></short-description>
-        <description>
-          <![CDATA[Adds to the classpath used when compiling the EJB stubs and skeletons.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jar" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.Jar"
-      matchingTask="true">
-
-  <short-description><![CDATA[Creates a JAR archive.]]></short-description>
-  <description>
-    <![CDATA[Creates a JAR archive.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="basedir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Directory from which to archive files; optional.]]></short-description>
-        <description><![CDATA[
-          Directory from which to archive files; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="compress" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether we want to compress the files or only store them;
- optional, default=true;.]]></short-description>
-        <description><![CDATA[
-          Whether we want to compress the files or only store them;
- optional, default=true;
-        ]]></description>
-      </attribute>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to create; required.]]></short-description>
-        <description><![CDATA[
-          The file to create; required.
-        ]]></description>
-      </attribute>
-      <attribute name="duplicate" type="org.apache.tools.ant.taskdefs.Zip.Duplicate"
-                 briefType="&quot;add&quot;, &quot;preserve&quot;, &quot;fail&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Sets behavior for when a duplicate file is about to be added -
- one of <code>keep</code>, <code>skip</code> or <code>overwrite</code>.]]></short-description>
-        <description><![CDATA[
-          Sets behavior for when a duplicate file is about to be added -
- one of <code>keep</code>, <code>skip</code> or <code>overwrite</code>.
- Possible values are: <code>keep</code> (keep both
- of the files); <code>skip</code> (keep the first version
- of the file found); <code>overwrite</code> overwrite the file
- with the new file
- Default for zip tasks is <code>keep</code>
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Encoding to use for filenames, defaults to the platform's
- default encoding.]]></short-description>
-        <description><![CDATA[
-          Encoding to use for filenames, defaults to the platform's
- default encoding.
-
- <p>For a list of possible values see <a
- href="http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html">http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html</a>.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="filesonly" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, emulate Sun's jar utility by not adding parent directories;
- optional, defaults to false.]]></short-description>
-        <description><![CDATA[
-          If true, emulate Sun's jar utility by not adding parent directories;
- optional, defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="index" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether or not to create an index list for classes.]]></short-description>
-        <description><![CDATA[
-          Set whether or not to create an index list for classes.
- This may speed up classloading in some cases.
-        ]]></description>
-      </attribute>
-      <attribute name="manifest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The manifest file to use.]]></short-description>
-        <description><![CDATA[
-          The manifest file to use. This can be either the location of a manifest,
- or the name of a jar added through a fileset. If its the name of an added
- jar, the task expects the manifest to be in the jar at META-INF/MANIFEST.MF.
-        ]]></description>
-      </attribute>
-      <attribute name="update" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, updates an existing file, otherwise overwrite
- any existing one; optional defaults to false.]]></short-description>
-        <description><![CDATA[
-          If true, updates an existing file, otherwise overwrite
- any existing one; optional defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="whenempty" type="org.apache.tools.ant.taskdefs.Zip.WhenEmpty"
-                 briefType="&quot;fail&quot;, &quot;skip&quot;, &quot;create&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Sets behavior of the task when no files match.]]></short-description>
-        <description><![CDATA[
-          Sets behavior of the task when no files match.
- Possible values are: <code>fail</code> (throw an exception
- and halt the build); <code>skip</code> (do not create
- any archive, but issue a warning); <code>create</code>
- (make an archive with no entries).
- Default for zip tasks is <code>skip</code>;
- for jar tasks, <code>create</code>.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="manifest" type="org.apache.tools.ant.taskdefs.Manifest"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Allows the manifest for the archive file to be provided inline
- in the buildfile rather than in an external file.]]></short-description>
-        <description>
-          <![CDATA[Allows the manifest for the archive file to be provided inline
- in the buildfile rather than in an external file.]]>
-        </description>
-      </element>
-
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files.]]>
-        </description>
-      </element>
-
-      <element name="metainf" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a zipfileset to include in the META-INF directory.]]></short-description>
-        <description>
-          <![CDATA[Adds a zipfileset to include in the META-INF directory.]]>
-        </description>
-      </element>
-
-      <element name="zipgroupfileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a group of zip files.]]></short-description>
-        <description>
-          <![CDATA[Adds a group of zip files.]]>
-        </description>
-      </element>
-
-      <element name="zipfileset" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files that can be
- read from an archive and be given a prefix/fullpath.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files that can be
- read from an archive and be given a prefix/fullpath.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jarlib-available" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.extension.JarLibAvailableTask"
-      >
-
-  <short-description><![CDATA[Checks whether an extension is present in a fileset or an extensionSet.]]></short-description>
-  <description>
-    <![CDATA[Checks whether an extension is present in a fileset or an extensionSet.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The JAR library to check.]]></short-description>
-        <description><![CDATA[
-          The JAR library to check.
-        ]]></description>
-      </attribute>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of property to set if extensions are available.]]></short-description>
-        <description><![CDATA[
-          The name of property to set if extensions are available.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="extension" type="org.apache.tools.ant.taskdefs.optional.extension.ExtensionAdapter"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Extension looking for.]]></short-description>
-        <description>
-          <![CDATA[Set the Extension looking for.]]>
-        </description>
-      </element>
-
-      <element name="extensionset" type="org.apache.tools.ant.taskdefs.optional.extension.ExtensionSet"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of extensions to search in.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of extensions to search in.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jarlib-display" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.extension.JarLibDisplayTask"
-      >
-
-  <short-description><![CDATA[Displays the "Optional Package" and "Package Specification" information contained within the specified JARs.]]></short-description>
-  <description>
-    <![CDATA[Displays the "Optional Package" and "Package Specification" information
- contained within the specified JARs.
-
- <p>Prior to JDK1.3, an "Optional Package" was known as an Extension.
- The specification for this mechanism is available in the JDK1.3
- documentation in the directory
- $JDK_HOME/docs/guide/extensions/versioning.html. Alternatively it is
- available online at <a href="http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html">
- http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html</a>.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The JAR library to display information for.]]></short-description>
-        <description><![CDATA[
-          The JAR library to display information for.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files about which library data will be displayed.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files about which library data will be displayed.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jarlib-manifest" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.extension.JarLibManifestTask"
-      >
-
-  <short-description><![CDATA[Generates a manifest that declares all the dependencies.]]></short-description>
-  <description>
-    <![CDATA[Generates a manifest that declares all the dependencies.
- The dependencies are determined by looking in the
- specified path and searching for Extension / "Optional Package"
- specifications in the manifests of the jars.
-
- <p>Prior to JDK1.3, an "Optional Package" was known as an Extension.
- The specification for this mechanism is available in the JDK1.3
- documentation in the directory
- $JDK_HOME/docs/guide/extensions/versioning.html. Alternatively it is
- available online at <a href="http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html">
- http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html</a>.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The location where generated manifest is placed.]]></short-description>
-        <description><![CDATA[
-          The location where generated manifest is placed.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="attribute" type="org.apache.tools.ant.taskdefs.optional.extension.ExtraAttribute"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds an attribute that is to be put in main section of manifest.]]></short-description>
-        <description>
-          <![CDATA[Adds an attribute that is to be put in main section of manifest.]]>
-        </description>
-      </element>
-
-      <element name="depends" type="org.apache.tools.ant.taskdefs.optional.extension.ExtensionSet"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of extensions that this library requires.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of extensions that this library requires.]]>
-        </description>
-      </element>
-
-      <element name="extension" type="org.apache.tools.ant.taskdefs.optional.extension.ExtensionAdapter"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds an extension that this library implements.]]></short-description>
-        <description>
-          <![CDATA[Adds an extension that this library implements.]]>
-        </description>
-      </element>
-
-      <element name="options" type="org.apache.tools.ant.taskdefs.optional.extension.ExtensionSet"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of extensions that this library optionally requires.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of extensions that this library optionally requires.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jarlib-resolve" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.extension.JarLibResolveTask"
-      >
-
-  <short-description><![CDATA[Tries to locate a JAR to satisfy an extension and place location of JAR into property.]]></short-description>
-  <description>
-    <![CDATA[Tries to locate a JAR to satisfy an extension and place
- location of JAR into property.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="checkextension" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, libraries returned by nested resolvers should be
- checked to see if they supply extension.]]></short-description>
-        <description><![CDATA[
-          If true, libraries returned by nested resolvers should be
- checked to see if they supply extension.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, failure to locate library should fail build.]]></short-description>
-        <description><![CDATA[
-          If true, failure to locate library should fail build.
-        ]]></description>
-      </attribute>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the property in which the location of
- library is stored.]]></short-description>
-        <description><![CDATA[
-          The name of the property in which the location of
- library is stored.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="ant" type="org.apache.tools.ant.taskdefs.optional.extension.resolvers.AntResolver"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds Ant resolver to run an Ant buildfile to generate a library.]]></short-description>
-        <description>
-          <![CDATA[Adds Ant resolver to run an Ant buildfile to generate a library.]]>
-        </description>
-      </element>
-
-      <element name="extension" type="org.apache.tools.ant.taskdefs.optional.extension.ExtensionAdapter"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Extension looking for.]]></short-description>
-        <description>
-          <![CDATA[Set the Extension looking for.]]>
-        </description>
-      </element>
-
-      <element name="location" type="org.apache.tools.ant.taskdefs.optional.extension.resolvers.LocationResolver"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds location resolver to look for a library in a location
- relative to project directory.]]></short-description>
-        <description>
-          <![CDATA[Adds location resolver to look for a library in a location
- relative to project directory.]]>
-        </description>
-      </element>
-
-      <element name="url" type="org.apache.tools.ant.taskdefs.optional.extension.resolvers.URLResolver"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a URL resolver to download a library from a URL
- to a local file.]]></short-description>
-        <description>
-          <![CDATA[Adds a URL resolver to download a library from a URL
- to a local file.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="java" category="java"
-      classname="org.apache.tools.ant.taskdefs.Java"
-      >
-
-  <short-description><![CDATA[Launcher for Java applications.]]></short-description>
-  <description>
-    <![CDATA[Launcher for Java applications. Allows use of
- the same JVM for the called application thus resulting in much
- faster operation.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="append" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, append output to existing file.]]></short-description>
-        <description><![CDATA[
-          If true, append output to existing file.
-        ]]></description>
-      </attribute>
-      <attribute name="classname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Java class to execute.]]></short-description>
-        <description><![CDATA[
-          Sets the Java class to execute.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used when running the Java class.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used when running the Java class
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to use, by reference.]]></short-description>
-        <description><![CDATA[
-          Classpath to use, by reference.
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The working directory of the process.]]></short-description>
-        <description><![CDATA[
-          The working directory of the process
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, then fail if the command exits with a
- returncode other than 0.]]></short-description>
-        <description><![CDATA[
-          If true, then fail if the command exits with a
- returncode other than 0
-        ]]></description>
-      </attribute>
-      <attribute name="fork" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, execute in a new VM.]]></short-description>
-        <description><![CDATA[
-          If true, execute in a new VM.
-        ]]></description>
-      </attribute>
-      <attribute name="jvmversion" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[JVM version.]]></short-description>
-        <description><![CDATA[
-          Sets the JVM version.
-        ]]></description>
-      </attribute>
-      <attribute name="jar" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The location of the JAR file to execute.]]></short-description>
-        <description><![CDATA[
-          The location of the JAR file to execute.
-        ]]></description>
-      </attribute>
-      <attribute name="jvm" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Command used to start the VM (only if not forking).]]></short-description>
-        <description><![CDATA[
-          Set the command used to start the VM (only if not forking).
-        ]]></description>
-      </attribute>
-      <attribute name="jvmargs" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Command line arguments for the JVM.]]></short-description>
-        <description><![CDATA[
-          Set the command line arguments for the JVM.
-        ]]></description>
-      </attribute>
-      <attribute name="maxmemory" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Corresponds to -mx or -Xmx depending on VM version.]]></short-description>
-        <description><![CDATA[
-          Corresponds to -mx or -Xmx depending on VM version.
-        ]]></description>
-      </attribute>
-      <attribute name="newenvironment" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, use a completely new environment.]]></short-description>
-        <description><![CDATA[
-          If true, use a completely new environment.
-
- <p>Will be ignored if we are not forking a new VM.
-        ]]></description>
-      </attribute>
-      <attribute name="output" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File the output of the process is redirected to.]]></short-description>
-        <description><![CDATA[
-          File the output of the process is redirected to.
-        ]]></description>
-      </attribute>
-      <attribute name="timeout" type="java.lang.Long"
-                 briefType="long" required="NOTDEFINED">
-        <short-description><![CDATA[Timeout in milliseconds after which the process will be killed.]]></short-description>
-        <description><![CDATA[
-          Timeout in milliseconds after which the process will be killed.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="env" type="org.apache.tools.ant.types.Environment.Variable"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds an environment variable.]]></short-description>
-        <description>
-          <![CDATA[Adds an environment variable.
-
- <p>Will be ignored if we are not forking a new VM.]]>
-        </description>
-      </element>
-
-      <element name="sysproperty" type="org.apache.tools.ant.types.Environment.Variable"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a system property.]]></short-description>
-        <description>
-          <![CDATA[Adds a system property.]]>
-        </description>
-      </element>
-
-      <element name="arg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a command-line argument.]]></short-description>
-        <description>
-          <![CDATA[Adds a command-line argument.]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path to the classpath.]]></short-description>
-        <description>
-          <![CDATA[Adds a path to the classpath.]]>
-        </description>
-      </element>
-
-      <element name="jvmarg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a JVM argument.]]></short-description>
-        <description>
-          <![CDATA[Adds a JVM argument.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="javac" category="java"
-      classname="org.apache.tools.ant.taskdefs.Javac"
-      matchingTask="true">
-
-  <!-- javac task -->
-<external>
-<description>
-
-<p>Compiles a Java source tree.</p>
-
-<p>The source and destination directory will be recursively scanned for Java
-source files to compile. Only Java files that have no corresponding class file
-or where the class file is older than the java file will be compiled.</p>
-
-<p>Note: Ant uses only the names of the source and class files to find
-the classes that need a rebuild. It will not scan the source and therefor
-will have no knowledge about nested classes, classes that are named different
-from the source file and so on.</p>
-
-<p>The directory structure of the source tree should follow the package
-hierarchy.</p>
-
-<p>It is possible to refine the set of files that are being compiled/copied.
-This can be done with the <i>includes</i>, <i>includesfile</i>, <i>excludes</i>, <i>excludesfile</i> and <i>defaultexcludes</i>
-attributes. With the <i>includes</i> or <i>includesfile</i> attribute you specify the files you want to
-have included by using patterns. The <i>exclude</i> or <i>excludesfile</i> attribute is used to specify
-the files you want to have excluded. This is also done with patterns. And
-finally with the <i>defaultexcludes</i> attribute, you can specify whether you
-want to use default exclusions or not. See the section on <a
-href="../dirtasks.html#directorybasedtasks">directory based tasks</a>, on how the
-inclusion/exclusion of files works, and how to write patterns.</p>
-
-<p>It is possible to use different compilers. This can be selected with the
-&quot;build.compiler&quot; property or the compiler attribute. Here are the choices:-</p>
-<ul>
-  <li>classic (the standard compiler of JDK 1.1/1.2) - javac1.1 and
-     javac1.2 can be used as aliases</li>
-  <li>modern (the standard compiler of JDK 1.3/1.4) - javac1.3 and
-     javac1.4 can be used as aliases</li>
-  <li>jikes (the <a
-    href="http://oss.software.ibm.com/developerworks/opensource/jikes/project" target="_top">Jikes</a>
-    compiler)</li>
-  <li>jvc (the Command-Line Compiler from Microsoft's SDK for Java /
-    Visual J++) - microsoft can be used as an alias</li>
-  <li>kjc (the <a href="http://www.dms.at/kopi/" target="_top">kopi</a>
-    compiler)</li>
-  <li>gcj (the gcj compiler from gcc)</li>
-  <li>sj (Symantec java compiler) - symantec can be used as an alias</li>
-  <li>extJavac (run either modern or classic in a JVM of its own)</li>
-</ul>
-<p>For JDK 1.1/1.2, classic is the default. For JDK 1.3/1.4, modern is the default.
-If you wish to use a different compiler interface than those
-supplied, write a class that implements the CompilerAdapter interface
-(package org.apache.tools.ant.taskdefs.compilers). Supply the full
-classname in the &quot;build.compiler&quot; property.</p>
-
-<p>The fork attribute overrides the build.compiler setting and expects
-a JDK1.1 or higher to be set in java.home.</p>
-
-<p>This task will drop all entries that point to non-existent
-files/directories from the CLASSPATH it passes to the compiler.</p>
-
-<p><strong>Windows Note:</strong>When the modern compiler is used
-in unforked mode on Windows, it locks up the files present in the
-classpath of the &lt;javac&gt; task, and does not release them.  The side
-effect of this is that you will not be able to delete or move
-those files later on in the build.  The workaround is to fork when
-invoking the compiler.</p>
-
-</description>
-
-<section anchor="examples" name="Examples">
-<pre>  &lt;javac srcdir=&quot;${src}&quot;
-         destdir=&quot;${build}&quot;
-         classpath=&quot;xyz.jar&quot;
-         debug=&quot;on&quot;
-  /&gt;</pre>
-<p>compiles all <code>.java</code> files under the <code>${src}</code>
-directory, and stores
-the <code>.class</code> files in the <code>${build}</code> directory.
-The classpath used contains <code>xyz.jar</code>, and debug information is on.</p>
-
-<pre>  &lt;javac srcdir=&quot;${src}&quot;
-         destdir=&quot;${build}&quot;
-         fork=&quot;true&quot;
-  /&gt;</pre>
-<p>compiles all <code>.java</code> files under the <code>${src}</code>
-directory, and stores the <code>.class</code> files in the
-<code>${build}</code> directory.  This will fork off the javac
-compiler using the default javac executable.</p>
-
-<pre>  &lt;javac srcdir=&quot;${src}&quot;
-         destdir=&quot;${build}&quot;
-         fork=&quot;java$$javac.exe&quot;
-  /&gt;</pre>
-<p>compiles all <code>.java</code> files under the <code>${src}</code>
-directory, and stores the <code>.class</code> files in the
-<code>${build}</code> directory.  This will fork off the javac
-compiler using the executable named <code>java$javac.exe</code>.  Note
-that the <code>$</code> sign needs to be escaped by a second one.</p>
-
-<pre>  &lt;javac srcdir=&quot;${src}&quot;
-         destdir=&quot;${build}&quot;
-         includes=&quot;mypackage/p1/**,mypackage/p2/**&quot;
-         excludes=&quot;mypackage/p1/testpackage/**&quot;
-         classpath=&quot;xyz.jar&quot;
-         debug=&quot;on&quot;
-  /&gt;</pre>
-<p>compiles <code>.java</code> files under the <code>${src}</code>
-directory, and stores the
-<code>.class</code> files in the <code>${build}</code> directory.
-The classpath used contains <code>xyz.jar</code>, and debug information is on.
-Only files under <code>mypackage/p1</code> and <code>mypackage/p2</code> are
-used. Files in the <code>mypackage/p1/testpackage</code> directory are excluded
-from compilation.</p>
-
-<pre>  &lt;javac srcdir=&quot;${src}:${src2}&quot;
-         destdir=&quot;${build}&quot;
-         includes=&quot;mypackage/p1/**,mypackage/p2/**&quot;
-         excludes=&quot;mypackage/p1/testpackage/**&quot;
-         classpath=&quot;xyz.jar&quot;
-         debug=&quot;on&quot;
-  /&gt;</pre>
-
-<p>is the same as the previous example, with the addition of a second
-source path, defined by
-the property <code>src2</code>. This can also be represented using nested
-<code>&lt;src&gt;</code> elements as follows:</p>
-
-<pre>  &lt;javac destdir=&quot;${build}&quot;
-         classpath=&quot;xyz.jar&quot;
-         debug=&quot;on&quot;&gt;
-    &lt;src path=&quot;${src}&quot;/&gt;
-    &lt;src path=&quot;${src2}&quot;/&gt;
-    &lt;include name=&quot;mypackage/p1/**&quot;/&gt;
-    &lt;include name=&quot;mypackage/p2/**&quot;/&gt;
-    &lt;exclude name=&quot;mypackage/p1/testpackage/**&quot;/&gt;
-  &lt;/javac&gt;</pre>
-
-<p><b>Note:</b> If you are using Ant on Windows and a new DOS window pops up
-for every use of an external compiler, this may be a problem of the JDK you are using.
-This problem may occur with all JDKs &lt; 1.2.</p>
-
-<p><b>Note:</b> If you wish to compile only source-files located in some packages below a
-common root you should not include these packages in the srcdir-attribute. Use include/exclude-attributes
-or elements to filter for these packages. If you include part of your package-structure inside the srcdir-attribute
-(or nested src-elements) Ant will start to recompile your sources every time you call it.</p>
-
-</section>
-
-<section anchor="jikes" name="Jikes Notes">
-
-<p>Jikes supports some extra options, which can be set be defining
-properties prior to invoking the task. The ant developers are aware that
-this is ugly and inflexible -expect a better solution in the future. All
-the options are boolean, and must be set to &quot;true&quot; or &quot;yes&quot; to be
-interpreted as anything other than false; by default
-build.compiler.warnings is &quot;true&quot; while all others are &quot;false&quot;</p>
-
-<table border="1" cellpadding="2" cellspacing="0">
-  <tr>
-    <td valign="top">
-	build.compiler.emacs
-	</td>
-	<td valign="top">
-	Enable emacs compatible error messages
-    </td>
-  </tr>
-  <tr>
-    <td valign="top">
-	build.compiler.warnings<br />
-        <b>This property has been deprecated, use the nowarn attribute
-          instead</b>
-	</td>
-	<td valign="top">
-	don't disable warning messages
-    </td>
-  </tr>
-  <tr>
-    <td valign="top">
-	build.compiler.pedantic
-	</td>
-	<td valign="top">
-	enable pedantic warnings
-    </td>
-  </tr>
-  <tr>
-    <td valign="top">
-	build.compiler.fulldepend
-	</td>
-	<td valign="top">
-	enable full dependency checking,<br />
-	&quot;+F&quot; in the jikes manual.
-    </td>
-  </tr>
-</table>
-
-</section>
-</external>
-
-  <short-description><![CDATA[Compiles Java source files.]]></short-description>
-  <description>
-    <![CDATA[Compiles Java source files. This task can take the following
- arguments:
- <ul>
- <li>sourcedir
- <li>destdir
- <li>deprecation
- <li>classpath
- <li>bootclasspath
- <li>extdirs
- <li>optimize
- <li>debug
- <li>encoding
- <li>target
- <li>depend
- <li>vebose
- <li>failonerror
- <li>includeantruntime
- <li>includejavaruntime
- <li>source
- <li>compiler
- </ul>
- Of these arguments, the <b>sourcedir</b> and <b>destdir</b> are required.
- <p>
- When this task executes, it will recursively scan the sourcedir and
- destdir looking for Java source files to compile. This task makes its
- compile decision based on timestamp.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="bootclasspathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a classpath defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a classpath defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="bootclasspath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Bootclasspath that will be used to compile the classes
- against.]]></short-description>
-        <description><![CDATA[
-          Sets the bootclasspath that will be used to compile the classes
- against.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used for this compilation.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used for this compilation.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a classpath defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a classpath defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="compiler" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Choose the implementation for this particular task.]]></short-description>
-        <description><![CDATA[
-          Choose the implementation for this particular task.
-        ]]></description>
-      </attribute>
-      <attribute name="debug" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates whether source should be compiled
- with debug information; defaults to off.]]></short-description>
-        <description><![CDATA[
-          Indicates whether source should be compiled
- with debug information; defaults to off.
-        ]]></description>
-      </attribute>
-      <attribute name="debuglevel" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Keyword list to be appended to the -g command-line switch.]]></short-description>
-        <description><![CDATA[
-          Keyword list to be appended to the -g command-line switch.
-
- This will be ignored by all implementations except modern
- and classic(ver >= 1.2). Legal values are none or a
- comma-separated list of the following keywords: lines, vars,
- and source. If debuglevel is not specified, by default, :none
- will be appended to -g. If debug is not turned on, this attribute
- will be ignored.
-        ]]></description>
-      </attribute>
-      <attribute name="depend" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Enables dependency-tracking for compilers
- that support this (jikes and classic).]]></short-description>
-        <description><![CDATA[
-          Enables dependency-tracking for compilers
- that support this (jikes and classic).
-        ]]></description>
-      </attribute>
-      <attribute name="deprecation" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates whether source should be
- compiled with deprecation information; defaults to off.]]></short-description>
-        <description><![CDATA[
-          Indicates whether source should be
- compiled with deprecation information; defaults to off.
-        ]]></description>
-      </attribute>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory into which the Java source
- files should be compiled.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory into which the Java source
- files should be compiled.
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Java source file encoding name.]]></short-description>
-        <description><![CDATA[
-          Set the Java source file encoding name.
-        ]]></description>
-      </attribute>
-      <attribute name="executable" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the javac executable.]]></short-description>
-        <description><![CDATA[
-          Sets the the name of the javac executable.
-
- <p>Ignored unless fork is true or extJavac has been specified
- as the compiler.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="extdirs" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Extension directories that will be used during the
- compilation.]]></short-description>
-        <description><![CDATA[
-          Sets the extension directories that will be used during the
- compilation.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates whether the build will continue
- even if there are compilation errors; defaults to true.]]></short-description>
-        <description><![CDATA[
-          Indicates whether the build will continue
- even if there are compilation errors; defaults to true.
-        ]]></description>
-      </attribute>
-      <attribute name="fork" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, forks the javac compiler.]]></short-description>
-        <description><![CDATA[
-          If true, forks the javac compiler.
-        ]]></description>
-      </attribute>
-      <attribute name="includeantruntime" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, includes Ant's own classpath in the classpath.]]></short-description>
-        <description><![CDATA[
-          If true, includes Ant's own classpath in the classpath.
-        ]]></description>
-      </attribute>
-      <attribute name="includejavaruntime" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, includes the Java runtime libraries in the classpath.]]></short-description>
-        <description><![CDATA[
-          If true, includes the Java runtime libraries in the classpath.
-        ]]></description>
-      </attribute>
-      <attribute name="listfiles" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, list the source files being handed off to the compiler.]]></short-description>
-        <description><![CDATA[
-          If true, list the source files being handed off to the compiler.
-        ]]></description>
-      </attribute>
-      <attribute name="memoryinitialsize" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The initial size of the memory for the underlying VM
- if javac is run externally; ignored otherwise.]]></short-description>
-        <description><![CDATA[
-          The initial size of the memory for the underlying VM
- if javac is run externally; ignored otherwise.
- Defaults to the standard VM memory setting.
- (Examples: 83886080, 81920k, or 80m)
-        ]]></description>
-      </attribute>
-      <attribute name="memorymaximumsize" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The maximum size of the memory for the underlying VM
- if javac is run externally; ignored otherwise.]]></short-description>
-        <description><![CDATA[
-          The maximum size of the memory for the underlying VM
- if javac is run externally; ignored otherwise.
- Defaults to the standard VM memory setting.
- (Examples: 83886080, 81920k, or 80m)
-        ]]></description>
-      </attribute>
-      <attribute name="nowarn" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, enables the -nowarn option.]]></short-description>
-        <description><![CDATA[
-          If true, enables the -nowarn option.
-        ]]></description>
-      </attribute>
-      <attribute name="optimize" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, compiles with optimization enabled.]]></short-description>
-        <description><![CDATA[
-          If true, compiles with optimization enabled.
-        ]]></description>
-      </attribute>
-      <attribute name="source" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Value of the -source command-line switch; will be ignored
- by all implementations except modern and jikes.]]></short-description>
-        <description><![CDATA[
-          Value of the -source command-line switch; will be ignored
- by all implementations except modern and jikes.
-
- If you use this attribute together with jikes, you must
- make sure that your version of jikes supports the -source switch.
- Legal values are 1.3 and 1.4 - by default, no -source argument
- will be used at all.
-        ]]></description>
-      </attribute>
-      <attribute name="sourcepath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Sourcepath to be used for this compilation.]]></short-description>
-        <description><![CDATA[
-          Set the sourcepath to be used for this compilation.
-        ]]></description>
-      </attribute>
-      <attribute name="sourcepathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a source path defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a source path defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="srcdir" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Source directories to find the source Java files.]]></short-description>
-        <description><![CDATA[
-          Set the source directories to find the source Java files.
-        ]]></description>
-      </attribute>
-      <attribute name="target" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Target VM that the classes will be compiled for.]]></short-description>
-        <description><![CDATA[
-          Sets the target VM that the classes will be compiled for. Valid
- strings are "1.1", "1.2", and "1.3".
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, asks the compiler for verbose output.]]></short-description>
-        <description><![CDATA[
-          If true, asks the compiler for verbose output.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="bootclasspath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path to the bootclasspath.]]></short-description>
-        <description>
-          <![CDATA[Adds a path to the bootclasspath.]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path to the classpath.]]></short-description>
-        <description>
-          <![CDATA[Adds a path to the classpath.]]>
-        </description>
-      </element>
-
-      <element name="compilerarg" type="org.apache.tools.ant.taskdefs.Javac.ImplementationSpecificArgument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds an implementation specific command-line argument.]]></short-description>
-        <description>
-          <![CDATA[Adds an implementation specific command-line argument.]]>
-        </description>
-      </element>
-
-      <element name="extdirs" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path to extdirs.]]></short-description>
-        <description>
-          <![CDATA[Adds a path to extdirs.]]>
-        </description>
-      </element>
-
-      <element name="sourcepath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path to sourcepath.]]></short-description>
-        <description>
-          <![CDATA[Adds a path to sourcepath.]]>
-        </description>
-      </element>
-
-      <element name="src" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path for source compilation.]]></short-description>
-        <description>
-          <![CDATA[Adds a path for source compilation.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="javacc" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.javacc.JavaCC"
-      >
-
-  <short-description><![CDATA[JavaCC compiler compiler task.]]></short-description>
-  <description>
-    <![CDATA[JavaCC compiler compiler task.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="buildparser" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[BUILD_PARSER grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the BUILD_PARSER grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="buildtokenmanager" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[BUILD_TOKEN_MANAGER grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the BUILD_TOKEN_MANAGER grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="cachetokens" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[CACHE_TOKENS grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the CACHE_TOKENS grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="choiceambiguitycheck" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[CHOICE_AMBIGUITY_CHECK grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the CHOICE_AMBIGUITY_CHECK grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="commontokenaction" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[COMMON_TOKEN_ACTION grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the COMMON_TOKEN_ACTION grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="debuglookahead" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[DEBUG_LOOKAHEAD grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the DEBUG_LOOKAHEAD grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="debugparser" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[DEBUG_PARSER grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the DEBUG_PARSER grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="debugtokenmanager" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[DEBUG_TOKEN_MANAGER grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the DEBUG_TOKEN_MANAGER grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="errorreporting" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[ERROR_REPORTING grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the ERROR_REPORTING grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="forcelacheck" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[FORCE_LA_CHECK grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the FORCE_LA_CHECK grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="ignorecase" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[IGNORE_CASE grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the IGNORE_CASE grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="javacchome" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory containing the JavaCC distribution.]]></short-description>
-        <description><![CDATA[
-          The directory containing the JavaCC distribution.
-        ]]></description>
-      </attribute>
-      <attribute name="javaunicodeescape" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[JAVA_UNICODE_ESCAPE grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the JAVA_UNICODE_ESCAPE grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="lookahead" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[LOOKAHEAD grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the LOOKAHEAD grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="optimizetokenmanager" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[OPTIMIZE_TOKEN_MANAGER grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the OPTIMIZE_TOKEN_MANAGER grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="otherambiguitycheck" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[OTHER_AMBIGUITY_CHECK grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the OTHER_AMBIGUITY_CHECK grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="outputdirectory" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory to write the generated files to.]]></short-description>
-        <description><![CDATA[
-          The directory to write the generated files to.
- If not set, the files are written to the directory
- containing the grammar file.
-        ]]></description>
-      </attribute>
-      <attribute name="sanitycheck" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[SANITY_CHECK grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the SANITY_CHECK grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="static" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[STATIC grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the STATIC grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="target" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The grammar file to process.]]></short-description>
-        <description><![CDATA[
-          The grammar file to process.
-        ]]></description>
-      </attribute>
-      <attribute name="unicodeinput" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[UNICODE_INPUT grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the UNICODE_INPUT grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="usercharstream" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[USER_CHAR_STREAM grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the USER_CHAR_STREAM grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="usertokenmanager" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[USER_TOKEN_MANAGER grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the USER_TOKEN_MANAGER grammar option.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="javadoc" category="java"
-      classname="org.apache.tools.ant.taskdefs.Javadoc"
-      >
-
-  <!-- javadoc task -->
-<external>
-<description>
-
-<p>Generates code documentation using the javadoc tool.</p>
-
-<p>The source directory will be recursively scanned for Java source files to process
-but only those matching the inclusion rules, and not matching the exclusions rules
-will be passed to the javadoc tool. This
-allows wildcards to be used to choose between package names, reducing verbosity
-and management costs over time. This task, however, has no notion of
-&quot;changed&quot; files, unlike the <a href="javac.html">javac</a> task. This means
-all packages will be processed each time this task is run. In general, however,
-this task is used much less frequently.</p>
-
-<p>This task works seamlessly between different javadoc versions (1.1 and 1.2),
-with the obvious restriction that the 1.2 attributes will be ignored if run in a
-1.1 VM.</p>
-
-<p>NOTE: since javadoc calls System.exit(), javadoc cannot be run inside the
-same VM as ant without breaking functionality. For this reason, this task
-always forks the VM. This overhead is not significant since javadoc is normally a heavy
-application and will be called infrequently.</p>
-
-<p>NOTE: the packagelist attribute allows you to specify the list of packages to
-document outside of the Ant file. It's a much better practice to include everything
-inside the build.xml file. This option was added in order to make it easier to
-migrate from regular makefiles, where you would use this option of javadoc.
-The packages listed in packagelist are not checked, so the task performs even
-if some packages are missing or broken. Use this option if you wish to convert from
-an existing makefile. Once things are running you should then switch to the regular
-notation. </p>
-
-<p><i><b>DEPRECATION:</b> the javadoc2 task simply points to the javadoc task and it's
-there for back compatibility reasons. Since this task will be removed in future
-versions, you are strongly encouraged to use <a href="javadoc.html">javadoc</a>
-instead.</i></p>
-</description>
-
-<section anchor="examples" name="Example">
-<pre>  &lt;javadoc packagenames=&quot;com.dummy.test.*&quot;
-           sourcepath=&quot;src&quot;
-           excludepackagenames=&quot;com.dummy.test.doc-files.*&quot;
-           defaultexcludes=&quot;yes&quot;
-           destdir=&quot;docs/api&quot;
-           author=&quot;true&quot;
-           version=&quot;true&quot;
-           use=&quot;true&quot;
-           windowtitle=&quot;Test API&quot;&gt;
-    &lt;doctitle&gt;&lt;![CDATA[&lt;h1&gt;Test&lt;/h1&gt;]]&gt;&lt;/doctitle&gt;
-    &lt;bottom&gt;&lt;![CDATA[&lt;i&gt;Copyright &amp;#169; 2000 Dummy Corp. All Rights Reserved.&lt;/i&gt;]]&gt;&lt;/bottom&gt;
-    &lt;tag name=&quot;todo&quot; scope=&quot;all&quot; description=&quot;To do:&quot; /&gt;
-    &lt;group title=&quot;Group 1 Packages&quot; packages=&quot;com.dummy.test.a*&quot;/&gt;
-    &lt;group title=&quot;Group 2 Packages&quot; packages=&quot;com.dummy.test.b*:com.dummy.test.c*&quot;/&gt;
-    &lt;link offline=&quot;true&quot; href=&quot;http://java.sun.com/products/jdk/1.2/docs/api/&quot; packagelistLoc=&quot;C:\tmp&quot;/&gt;
-    &lt;link href=&quot;http://developer.java.sun.com/developer/products/xml/docs/api/&quot;/&gt;
-  &lt;/javadoc&gt;</pre>
-</section>
-</external>
-
-  <short-description><![CDATA[Generates Javadoc documentation for a collection of source code.]]></short-description>
-  <description>
-    <![CDATA[Generates Javadoc documentation for a collection
- of source code.
-
- <P>Current known limitations are:
-
- <P><UL>
-    <LI>patterns must be of the form "xxx.*", every other pattern doesn't
-        work.
-    <LI>there is no control on arguments sanity since they are left
-        to the javadoc implementation.
-    <LI>argument J in javadoc1 is not supported (what is that for anyway?)
- </UL>
-
- <P>If no <CODE>doclet</CODE> is set, then the <CODE>version</CODE> and
- <CODE>author</CODE> are by default <CODE>"yes"</CODE>.
-
- <P>Note: This task is run on another VM because the Javadoc code calls
- <CODE>System.exit()</CODE> which would break Ant functionality.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="access" type="org.apache.tools.ant.taskdefs.Javadoc.AccessType"
-                 briefType="&quot;protected&quot;, &quot;public&quot;, &quot;package&quot;, &quot;private&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Scope to be processed.]]></short-description>
-        <description><![CDATA[
-          Set the scope to be processed. This is an alternative to the
- use of the setPublic, setPrivate, etc methods. It gives better build
- file control over what scope is processed.
-        ]]></description>
-      </attribute>
-      <attribute name="additionalparam" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set an additional parameter on the command line.]]></short-description>
-        <description><![CDATA[
-          Set an additional parameter on the command line
-        ]]></description>
-      </attribute>
-      <attribute name="author" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Include the author tag in the generated documentation.]]></short-description>
-        <description><![CDATA[
-          Include the author tag in the generated documentation.
-        ]]></description>
-      </attribute>
-      <attribute name="bootclasspathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a CLASSPATH defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a CLASSPATH defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="bootclasspath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Boot classpath to use.]]></short-description>
-        <description><![CDATA[
-          Set the boot classpath to use.
-        ]]></description>
-      </attribute>
-      <attribute name="bottom" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Text to be placed at the bottom of each output file.]]></short-description>
-        <description><![CDATA[
-          Set the text to be placed at the bottom of each output file.
-        ]]></description>
-      </attribute>
-      <attribute name="charset" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Charset for cross-platform viewing of generated documentation.]]></short-description>
-        <description><![CDATA[
-          Charset for cross-platform viewing of generated documentation.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used for this javadoc run.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used for this javadoc run.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a CLASSPATH defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a CLASSPATH defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="defaultexcludes" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether default exclusions should be used or not.]]></short-description>
-        <description><![CDATA[
-          Sets whether default exclusions should be used or not.
-        ]]></description>
-      </attribute>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where the Javadoc output will be generated.]]></short-description>
-        <description><![CDATA[
-          Set the directory where the Javadoc output will be generated.
-        ]]></description>
-      </attribute>
-      <attribute name="docencoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Output file encoding name.]]></short-description>
-        <description><![CDATA[
-          Output file encoding name.
-        ]]></description>
-      </attribute>
-      <attribute name="doclet" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Class that starts the doclet used in generating the 
- documentation.]]></short-description>
-        <description><![CDATA[
-          Set the class that starts the doclet used in generating the 
- documentation.
-        ]]></description>
-      </attribute>
-      <attribute name="docletpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath used to find the doclet class.]]></short-description>
-        <description><![CDATA[
-          Set the classpath used to find the doclet class.
-        ]]></description>
-      </attribute>
-      <attribute name="docletpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath used to find the doclet class by reference.]]></short-description>
-        <description><![CDATA[
-          Set the classpath used to find the doclet class by reference.
-        ]]></description>
-      </attribute>
-      <attribute name="doctitle" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Title of the generated overview page.]]></short-description>
-        <description><![CDATA[
-          Set the title of the generated overview page.
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Encoding name of the source files,.]]></short-description>
-        <description><![CDATA[
-          Set the encoding name of the source files,
-        ]]></description>
-      </attribute>
-      <attribute name="excludepackagenames" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[List of packages to be excluded.]]></short-description>
-        <description><![CDATA[
-          Set the list of packages to be excluded.
-        ]]></description>
-      </attribute>
-      <attribute name="extdirs" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Location of the extensions directories.]]></short-description>
-        <description><![CDATA[
-          Set the location of the extensions directories.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Should the build process fail if javadoc fails (as indicated by
- a non zero return code)?.]]></short-description>
-        <description><![CDATA[
-          Should the build process fail if javadoc fails (as indicated by
- a non zero return code)?
-
- <p>Default is false.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="footer" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Footer text to be placed at the bottom of each output file.]]></short-description>
-        <description><![CDATA[
-          Set the footer text to be placed at the bottom of each output file.
-        ]]></description>
-      </attribute>
-      <attribute name="group" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Group specified packages together in overview page.]]></short-description>
-        <description><![CDATA[
-          Group specified packages together in overview page.
-        ]]></description>
-      </attribute>
-      <attribute name="header" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Header text to be placed at the top of each output file.]]></short-description>
-        <description><![CDATA[
-          Set the header text to be placed at the top of each output file.
-        ]]></description>
-      </attribute>
-      <attribute name="helpfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the HTML help file to use.]]></short-description>
-        <description><![CDATA[
-          Specifies the HTML help file to use.
-        ]]></description>
-      </attribute>
-      <attribute name="link" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Create links to javadoc output at the given URL.]]></short-description>
-        <description><![CDATA[
-          Create links to javadoc output at the given URL.
-        ]]></description>
-      </attribute>
-      <attribute name="linkoffline" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Link to docs at "url" using package list at "url2"
- - separate the URLs by using a space character.]]></short-description>
-        <description><![CDATA[
-          Link to docs at "url" using package list at "url2"
- - separate the URLs by using a space character.
-        ]]></description>
-      </attribute>
-      <attribute name="locale" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Local to use in documentation generation.]]></short-description>
-        <description><![CDATA[
-          Set the local to use in documentation generation.
-        ]]></description>
-      </attribute>
-      <attribute name="maxmemory" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Maximum memory to be used by the javadoc process.]]></short-description>
-        <description><![CDATA[
-          Set the maximum memory to be used by the javadoc process
-        ]]></description>
-      </attribute>
-      <attribute name="nodeprecated" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, do not include @deprecated information.]]></short-description>
-        <description><![CDATA[
-          If true, do not include @deprecated information.
-        ]]></description>
-      </attribute>
-      <attribute name="nodeprecatedlist" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, do not generate deprecated list.]]></short-description>
-        <description><![CDATA[
-          If true, do not generate deprecated list.
-        ]]></description>
-      </attribute>
-      <attribute name="nohelp" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, do not generate help link.]]></short-description>
-        <description><![CDATA[
-          If true, do not generate help link
-        ]]></description>
-      </attribute>
-      <attribute name="noindex" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, do not generate index.]]></short-description>
-        <description><![CDATA[
-          If true, do not generate index.
-        ]]></description>
-      </attribute>
-      <attribute name="nonavbar" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, do not generate navigation bar.]]></short-description>
-        <description><![CDATA[
-          If true, do not generate navigation bar.
-        ]]></description>
-      </attribute>
-      <attribute name="notree" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, do not generate class hierarchy.]]></short-description>
-        <description><![CDATA[
-          If true, do not generate class hierarchy.
-        ]]></description>
-      </attribute>
-      <attribute name="old" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicate whether Javadoc should produce old style (JDK 1.1) 
- documentation.]]></short-description>
-        <description><![CDATA[
-          Indicate whether Javadoc should produce old style (JDK 1.1) 
- documentation.
-
- This is not supported by JDK 1.1 and has been phased out in JDK 1.4
-        ]]></description>
-      </attribute>
-      <attribute name="overview" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Specify the file containing the overview to be included in the generated
- documentation.]]></short-description>
-        <description><![CDATA[
-          Specify the file containing the overview to be included in the generated
- documentation.
-        ]]></description>
-      </attribute>
-      <attribute name="package" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicate whether only package, protected and public classes and 
- members are to be included in the scope processed.]]></short-description>
-        <description><![CDATA[
-          Indicate whether only package, protected and public classes and 
- members are to be included in the scope processed
-        ]]></description>
-      </attribute>
-      <attribute name="packagelist" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of a file containing the packages to process.]]></short-description>
-        <description><![CDATA[
-          The name of a file containing the packages to process.
-        ]]></description>
-      </attribute>
-      <attribute name="packagenames" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Package names to be processed.]]></short-description>
-        <description><![CDATA[
-          Set the package names to be processed.
-        ]]></description>
-      </attribute>
-      <attribute name="private" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicate whether all classes and 
- members are to be included in the scope processed.]]></short-description>
-        <description><![CDATA[
-          Indicate whether all classes and 
- members are to be included in the scope processed
-        ]]></description>
-      </attribute>
-      <attribute name="protected" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicate whether only protected and public classes and members are to 
- be included in the scope processed.]]></short-description>
-        <description><![CDATA[
-          Indicate whether only protected and public classes and members are to 
- be included in the scope processed
-        ]]></description>
-      </attribute>
-      <attribute name="public" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicate whether only public classes and members are to be included in 
- the scope processed.]]></short-description>
-        <description><![CDATA[
-          Indicate whether only public classes and members are to be included in 
- the scope processed
-        ]]></description>
-      </attribute>
-      <attribute name="serialwarn" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, generate warning about @serial tag.]]></short-description>
-        <description><![CDATA[
-          If true, generate warning about @serial tag.
-        ]]></description>
-      </attribute>
-      <attribute name="source" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Enables the -source switch, will be ignored if javadoc is not
- the 1.4 version or a different doclet than the standard doclet
- is used.]]></short-description>
-        <description><![CDATA[
-          Enables the -source switch, will be ignored if javadoc is not
- the 1.4 version or a different doclet than the standard doclet
- is used.
-        ]]></description>
-      </attribute>
-      <attribute name="sourcefiles" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[List of source files to process.]]></short-description>
-        <description><![CDATA[
-          Set the list of source files to process.
-        ]]></description>
-      </attribute>
-      <attribute name="sourcepath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Specify where to find source file.]]></short-description>
-        <description><![CDATA[
-          Specify where to find source file
-        ]]></description>
-      </attribute>
-      <attribute name="sourcepathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a CLASSPATH defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a CLASSPATH defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="splitindex" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Generate a split index.]]></short-description>
-        <description><![CDATA[
-          Generate a split index
-        ]]></description>
-      </attribute>
-      <attribute name="stylesheetfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the CSS stylesheet file to use.]]></short-description>
-        <description><![CDATA[
-          Specifies the CSS stylesheet file to use.
-        ]]></description>
-      </attribute>
-      <attribute name="use" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Generate the &quot;use&quot page for each package.]]></short-description>
-        <description><![CDATA[
-          Generate the &quot;use&quot page for each package.
-        ]]></description>
-      </attribute>
-      <attribute name="useexternalfile" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Work around command line length limit by using an external file
- for the sourcefiles.]]></short-description>
-        <description><![CDATA[
-          Work around command line length limit by using an external file
- for the sourcefiles.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Run javadoc in verbose mode.]]></short-description>
-        <description><![CDATA[
-          Run javadoc in verbose mode
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Include the version tag in the generated documentation.]]></short-description>
-        <description><![CDATA[
-          Include the version tag in the generated documentation.
-        ]]></description>
-      </attribute>
-      <attribute name="windowtitle" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Title to be placed in the HTML &lt;title&gt; tag of the 
- generated documentation.]]></short-description>
-        <description><![CDATA[
-          Set the title to be placed in the HTML &lt;title&gt; tag of the 
- generated documentation.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="bottom" type="org.apache.tools.ant.taskdefs.Javadoc.Html"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Text to be placed at the bottom of each output file.]]></short-description>
-        <description>
-          <![CDATA[Set the text to be placed at the bottom of each output file.]]>
-        </description>
-      </element>
-
-      <element name="doctitle" type="org.apache.tools.ant.taskdefs.Javadoc.Html"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a document title to use for the overview page.]]></short-description>
-        <description>
-          <![CDATA[Add a document title to use for the overview page.]]>
-        </description>
-      </element>
-
-      <element name="excludepackage" type="org.apache.tools.ant.taskdefs.Javadoc.PackageName"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a package to be excluded from the javadoc run.]]></short-description>
-        <description>
-          <![CDATA[Add a package to be excluded from the javadoc run.]]>
-        </description>
-      </element>
-
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a fileset.]]></short-description>
-        <description>
-          <![CDATA[Adds a fileset.
-
- <p>All included files will be added as sourcefiles.  The task
- will automatically add
- <code>includes=&quot;**&#47;*.java&quot;</code> to the
- fileset.</p>]]>
-        </description>
-      </element>
-
-      <element name="footer" type="org.apache.tools.ant.taskdefs.Javadoc.Html"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Footer text to be placed at the bottom of each output file.]]></short-description>
-        <description>
-          <![CDATA[Set the footer text to be placed at the bottom of each output file.]]>
-        </description>
-      </element>
-
-      <element name="header" type="org.apache.tools.ant.taskdefs.Javadoc.Html"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Header text to be placed at the top of each output file.]]></short-description>
-        <description>
-          <![CDATA[Set the header text to be placed at the top of each output file.]]>
-        </description>
-      </element>
-
-      <element name="package" type="org.apache.tools.ant.taskdefs.Javadoc.PackageName"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a single package to be processed.]]></short-description>
-        <description>
-          <![CDATA[Add a single package to be processed.
-
- If the package name ends with &quot;.*&quot; the Javadoc task
- will find and process all subpackages.]]>
-        </description>
-      </element>
-
-      <element name="packageset" type="org.apache.tools.ant.types.DirSet"
-               briefType="Dirset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a packageset.]]></short-description>
-        <description>
-          <![CDATA[Adds a packageset.
-
- <p>All included directories will be translated into package
- names be converting the directory separator into dots.</p>]]>
-        </description>
-      </element>
-
-      <element name="source" type="org.apache.tools.ant.taskdefs.Javadoc.SourceFile"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a single source file.]]></short-description>
-        <description>
-          <![CDATA[Add a single source file.]]>
-        </description>
-      </element>
-
-      <element name="taglet" type="org.apache.tools.ant.taskdefs.Javadoc.ExtensionInfo"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a taglet.]]></short-description>
-        <description>
-          <![CDATA[Add a taglet]]>
-        </description>
-      </element>
-
-      <element name="bootclasspath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create a Path to be configured with the boot classpath.]]></short-description>
-        <description>
-          <![CDATA[Create a Path to be configured with the boot classpath]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create a Path to be configured with the classpath to use.]]></short-description>
-        <description>
-          <![CDATA[Create a Path to be configured with the classpath to use]]>
-        </description>
-      </element>
-
-      <element name="doclet" type="org.apache.tools.ant.taskdefs.Javadoc.DocletInfo"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create a doclet to be used in the documentation generation.]]></short-description>
-        <description>
-          <![CDATA[Create a doclet to be used in the documentation generation.]]>
-        </description>
-      </element>
-
-      <element name="group" type="org.apache.tools.ant.taskdefs.Javadoc.GroupArgument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Separates packages on the overview page into whatever
- groups you specify, one group per table.]]></short-description>
-        <description>
-          <![CDATA[Separates packages on the overview page into whatever
- groups you specify, one group per table.]]>
-        </description>
-      </element>
-
-      <element name="link" type="org.apache.tools.ant.taskdefs.Javadoc.LinkArgument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create link to javadoc output at the given URL.]]></short-description>
-        <description>
-          <![CDATA[Create link to javadoc output at the given URL.]]>
-        </description>
-      </element>
-
-      <element name="sourcepath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create a path to be configured with the locations of the source
- files.]]></short-description>
-        <description>
-          <![CDATA[Create a path to be configured with the locations of the source
- files.]]>
-        </description>
-      </element>
-
-      <element name="tag" type="org.apache.tools.ant.taskdefs.Javadoc.TagArgument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Creates and adds a -tag argument.]]></short-description>
-        <description>
-          <![CDATA[Creates and adds a -tag argument. This is used to specify
- custom tags. This argument is only available for JavaDoc 1.4,
- and will generate a verbose message (and then be ignored)
- when run on Java versions below 1.4.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="javah" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.Javah"
-      >
-
-  <short-description><![CDATA[Generates JNI header files using javah.]]></short-description>
-  <description>
-    <![CDATA[Generates JNI header files using javah.
-
- This task can take the following arguments:
- <ul>
- <li>classname - the fully-qualified name of a class</li>
- <li>outputFile - Concatenates the resulting header or source files for all
-     the classes listed into this file</li>
- <li>destdir - Sets the directory where javah saves the header files or the
-     stub files</li>
- <li>classpath</li>
- <li>bootclasspath</li>
- <li>force - Specifies that output files should always be written
-(JDK1.2 only)</li>
- <li>old - Specifies that old JDK1.0-style header files should be generated
-     (otherwise output file contain JNI-style native method
-      function prototypes) (JDK1.2 only)</li>
- <li>stubs - generate C declarations from the Java object file (used with old)</li>
- <li>verbose - causes javah to print a message to stdout concerning the status
-     of the generated files</li>
- <li>extdirs - Override location of installed extensions</li>
- </ul>
- Of these arguments, either <b>outputFile</b> or <b>destdir</b> is required,
- but not both. More than one classname may be specified, using a comma-separated
- list or by using <code>&lt;class name="xxx"&gt;</code> elements within the task.
- <p>
- When this task executes, it will generate C header and source files that
- are needed to implement native methods.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="bootclasspathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a classpath defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a classpath defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="bootclasspath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Location of bootstrap class files.]]></short-description>
-        <description><![CDATA[
-          location of bootstrap class files.
-        ]]></description>
-      </attribute>
-      <attribute name="class" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The fully-qualified name of the class (or classes, separated by commas).]]></short-description>
-        <description><![CDATA[
-          the fully-qualified name of the class (or classes, separated by commas).
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[The classpath to use.]]></short-description>
-        <description><![CDATA[
-          the classpath to use.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a classpath defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a classpath defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory into which the Java source
- files should be compiled.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory into which the Java source
- files should be compiled.
-        ]]></description>
-      </attribute>
-      <attribute name="force" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, output files should always be written (JDK1.2 only).]]></short-description>
-        <description><![CDATA[
-          If true, output files should always be written (JDK1.2 only).
-        ]]></description>
-      </attribute>
-      <attribute name="old" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, specifies that old JDK1.0-style header files should be
- generated.
- (otherwise output file contain JNI-style native method function prototypes) (JDK1.2 only).]]></short-description>
-        <description><![CDATA[
-          If true, specifies that old JDK1.0-style header files should be
- generated.
- (otherwise output file contain JNI-style native method function prototypes) (JDK1.2 only)
-        ]]></description>
-      </attribute>
-      <attribute name="outputfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Concatenates the resulting header or source files for all
- the classes listed into this file.]]></short-description>
-        <description><![CDATA[
-          Concatenates the resulting header or source files for all
- the classes listed into this file.
-        ]]></description>
-      </attribute>
-      <attribute name="stubs" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, generate C declarations from the Java object file (used with old).]]></short-description>
-        <description><![CDATA[
-          If true, generate C declarations from the Java object file (used with old).
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, causes Javah to print a message concerning
- the status of the generated files.]]></short-description>
-        <description><![CDATA[
-          If true, causes Javah to print a message concerning
- the status of the generated files.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="bootclasspath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds path to bootstrap class files.]]></short-description>
-        <description>
-          <![CDATA[Adds path to bootstrap class files.]]>
-        </description>
-      </element>
-
-      <element name="class" type="org.apache.tools.ant.taskdefs.optional.Javah.ClassArgument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds class to process.]]></short-description>
-        <description>
-          <![CDATA[Adds class to process.]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Path to use for classpath.]]></short-description>
-        <description>
-          <![CDATA[Path to use for classpath.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jdepend" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask"
-      >
-
-  <short-description><![CDATA[Runs JDepend tests.]]></short-description>
-  <description>
-    <![CDATA[Runs JDepend tests.
-
- <p>JDepend is a tool to generate design quality metrics for each Java package.
- It has been initially created by Mike Clark. JDepend can be found at <a
- href="http://www.clarkware.com/software/JDepend.html">http://www.clarkware.com/software/JDepend.html</a>.
-
- The current implementation spawn a new Java VM.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used for this compilation.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used for this compilation.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a classpath defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a classpath defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory to invoke the VM in.]]></short-description>
-        <description><![CDATA[
-          The directory to invoke the VM in. Ignored if no JVM is forked.
-        ]]></description>
-      </attribute>
-      <attribute name="fork" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, forks into a new JVM.]]></short-description>
-        <description><![CDATA[
-          If true, forks into a new JVM. Default: false.
-        ]]></description>
-      </attribute>
-      <attribute name="format" type="org.apache.tools.ant.taskdefs.optional.jdepend.JDependTask.FormatAttribute"
-                 briefType="&quot;xml&quot;, &quot;text&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[The format to write the output in, "xml" or "text".]]></short-description>
-        <description><![CDATA[
-          The format to write the output in, "xml" or "text".
-        ]]></description>
-      </attribute>
-      <attribute name="haltonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether or not to halt on failure.]]></short-description>
-        <description><![CDATA[
-          Whether or not to halt on failure. Default: false.
-        ]]></description>
-      </attribute>
-      <attribute name="jvm" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The command used to invoke a forked Java Virtual Machine.]]></short-description>
-        <description><![CDATA[
-          The command used to invoke a forked Java Virtual Machine.
-
- Default is <tt>java</tt>. Ignored if no JVM is forked.
-        ]]></description>
-      </attribute>
-      <attribute name="outputfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The output file name.]]></short-description>
-        <description><![CDATA[
-          The output file name.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path to the classpath.]]></short-description>
-        <description>
-          <![CDATA[Adds a path to the classpath.]]>
-        </description>
-      </element>
-
-      <element name="sourcespath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path to source code to analyze.]]></short-description>
-        <description>
-          <![CDATA[Adds a path to source code to analyze.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jjtree" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.javacc.JJTree"
-      >
-
-  <short-description><![CDATA[Runs the JJTree compiler compiler.]]></short-description>
-  <description>
-    <![CDATA[Runs the JJTree compiler compiler.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="buildnodefiles" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[BUILD_NODE_FILES grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the BUILD_NODE_FILES grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="javacchome" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory containing the JavaCC distribution.]]></short-description>
-        <description><![CDATA[
-          The directory containing the JavaCC distribution.
-        ]]></description>
-      </attribute>
-      <attribute name="multi" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[MULTI grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the MULTI grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="nodedefaultvoid" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[NODE_DEFAULT_VOID grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the NODE_DEFAULT_VOID grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="nodefactory" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[NODE_FACTORY grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the NODE_FACTORY grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="nodepackage" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[NODE_PACKAGE grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the NODE_PACKAGE grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="nodeprefix" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[NODE_PREFIX grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the NODE_PREFIX grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="nodescopehook" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[NODE_SCOPE_HOOK grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the NODE_SCOPE_HOOK grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="nodeusesparser" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[NODE_USES_PARSER grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the NODE_USES_PARSER grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="outputdirectory" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory to write the generated file to.]]></short-description>
-        <description><![CDATA[
-          The directory to write the generated file to.
- If not set, the files are written to the directory
- containing the grammar file.
-        ]]></description>
-      </attribute>
-      <attribute name="static" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[STATIC grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the STATIC grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="target" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The jjtree grammar file to process.]]></short-description>
-        <description><![CDATA[
-          The jjtree grammar file to process.
-        ]]></description>
-      </attribute>
-      <attribute name="visitor" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[VISITOR grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the VISITOR grammar option.
-        ]]></description>
-      </attribute>
-      <attribute name="visitorexception" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[VISITOR_EXCEPTION grammar option.]]></short-description>
-        <description><![CDATA[
-          Sets the VISITOR_EXCEPTION grammar option.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jpcoverage" category="metrics"
-      classname="org.apache.tools.ant.taskdefs.optional.sitraka.Coverage"
-      >
-
-  <short-description><![CDATA[Runs Sitraka JProbe Coverage.]]></short-description>
-  <description>
-    <![CDATA[Runs Sitraka JProbe Coverage.
-
- Options are pretty numerous, you'd better check the manual for a full
- descriptions of options. (not that simple since they differ from the online
- help, from the usage command line and from the examples...)
- <p>
- For additional information, visit <a href="http://www.sitraka.com">www.sitraka.com</a>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="applet" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, run an applet.]]></short-description>
-        <description><![CDATA[
-          If true, run an applet.
-        ]]></description>
-      </attribute>
-      <attribute name="classname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Classname to run as standalone or runner for filesets.]]></short-description>
-        <description><![CDATA[
-          classname to run as standalone or runner for filesets.
-        ]]></description>
-      </attribute>
-      <attribute name="exitprompt" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Toggles display of the console prompt: always, error, never.]]></short-description>
-        <description><![CDATA[
-          Toggles display of the console prompt: always, error, never
-        ]]></description>
-      </attribute>
-      <attribute name="finalsnapshot" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Type of snapshot to send at program termination: none, coverage, all.]]></short-description>
-        <description><![CDATA[
-          Type of snapshot to send at program termination: none, coverage, all.
- Can be null, default to none
-        ]]></description>
-      </attribute>
-      <attribute name="home" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory where JProbe is installed.]]></short-description>
-        <description><![CDATA[
-          The directory where JProbe is installed.
-        ]]></description>
-      </attribute>
-      <attribute name="javaexe" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the java executable.]]></short-description>
-        <description><![CDATA[
-          Path to the java executable.
-        ]]></description>
-      </attribute>
-      <attribute name="recordfromstart" type="org.apache.tools.ant.taskdefs.optional.sitraka.Coverage.Recordfromstart"
-                 briefType="&quot;coverage&quot;, &quot;none&quot;, &quot;all&quot;" required="NOTDEFINED">
-        <short-description><![CDATA["all", "coverage",  or "none".]]></short-description>
-        <description><![CDATA[
-          "all", "coverage",  or "none".
-        ]]></description>
-      </attribute>
-      <attribute name="seedname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Seed name for snapshot file.]]></short-description>
-        <description><![CDATA[
-          seed name for snapshot file. Can be null, default to snap
-        ]]></description>
-      </attribute>
-      <attribute name="snapshotdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The path to the directory where snapshot files are stored.]]></short-description>
-        <description><![CDATA[
-          The path to the directory where snapshot files are stored.
- Choose a directory that is reachable by both the remote
- and local computers, and enter the same path on the command-line
- and in the viewer.
-        ]]></description>
-      </attribute>
-      <attribute name="tracknatives" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, track native methods.]]></short-description>
-        <description><![CDATA[
-          If true, track native methods.
-        ]]></description>
-      </attribute>
-      <attribute name="vm" type="org.apache.tools.ant.taskdefs.optional.sitraka.Coverage.Javavm"
-                 briefType="&quot;java2&quot;, &quot;jdk118&quot;, &quot;jdk117&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates which virtual machine to run: "jdk117", "jdk118" or "java2".]]></short-description>
-        <description><![CDATA[
-          Indicates which virtual machine to run: "jdk117", "jdk118" or "java2".
- Can be null, default to "java2".
-        ]]></description>
-      </attribute>
-      <attribute name="warnlevel" type="java.lang.Integer"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Set warning level (0-3, where 0 is the least amount of warnings).]]></short-description>
-        <description><![CDATA[
-          Set warning level (0-3, where 0 is the least amount of warnings).
-        ]]></description>
-      </attribute>
-      <attribute name="workingdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The physical path to the working directory for the VM.]]></short-description>
-        <description><![CDATA[
-          The physical path to the working directory for the VM.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[The classnames to execute.]]></short-description>
-        <description>
-          <![CDATA[the classnames to execute.]]>
-        </description>
-      </element>
-
-      <element name="arg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a command argument.]]></short-description>
-        <description>
-          <![CDATA[Adds a command argument.]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to run the files.]]></short-description>
-        <description>
-          <![CDATA[classpath to run the files.]]>
-        </description>
-      </element>
-
-      <element name="filters" type="org.apache.tools.ant.taskdefs.optional.sitraka.Filters"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Defines class/method filters based on pattern matching.]]></short-description>
-        <description>
-          <![CDATA[Defines class/method filters based on pattern matching.
- The syntax is filters is similar to a fileset.]]>
-        </description>
-      </element>
-
-      <element name="jvmarg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a JVM argument.]]></short-description>
-        <description>
-          <![CDATA[Adds a JVM argument.]]>
-        </description>
-      </element>
-
-      <element name="socket" type="org.apache.tools.ant.taskdefs.optional.sitraka.Socket"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Define a host and port to connect to if you want to do
- remote viewing.]]></short-description>
-        <description>
-          <![CDATA[Define a host and port to connect to if you want to do
- remote viewing.]]>
-        </description>
-      </element>
-
-      <element name="triggers" type="org.apache.tools.ant.taskdefs.optional.sitraka.Triggers"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Defines events to use for interacting with the
- collection of data performed during coverage.]]></short-description>
-        <description>
-          <![CDATA[Defines events to use for interacting with the
- collection of data performed during coverage.
-
- For example you may run a whole application but only decide
- to collect data once it reaches a certain method and once it
- exits another one.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jpcovmerge" category="metrics"
-      classname="org.apache.tools.ant.taskdefs.optional.sitraka.CovMerge"
-      >
-
-  <short-description><![CDATA[Runs the snapshot merge utility for JProbe Coverage.]]></short-description>
-  <description>
-    <![CDATA[Runs the snapshot merge utility for JProbe Coverage.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="home" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory where JProbe is installed.]]></short-description>
-        <description><![CDATA[
-          The directory where JProbe is installed.
-        ]]></description>
-      </attribute>
-      <attribute name="tofile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Output snapshot file.]]></short-description>
-        <description><![CDATA[
-          Set the output snapshot file.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, perform the merge in verbose mode giving details
- about the snapshot processing.]]></short-description>
-        <description><![CDATA[
-          If true, perform the merge in verbose mode giving details
- about the snapshot processing.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a fileset containing the snapshots to include.]]></short-description>
-        <description>
-          <![CDATA[add a fileset containing the snapshots to include.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jpcovreport" category="metrics"
-      classname="org.apache.tools.ant.taskdefs.optional.sitraka.CovReport"
-      >
-
-  <short-description><![CDATA[Runs the JProbe Coverage 3.0 snapshot merge utility.]]></short-description>
-  <description>
-    <![CDATA[Runs the JProbe Coverage 3.0 snapshot merge utility.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="format" type="org.apache.tools.ant.taskdefs.optional.sitraka.CovReport.ReportFormat"
-                 briefType="&quot;html&quot;, &quot;text&quot;, &quot;xml&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Format of the report: "html", "text", or "xml".]]></short-description>
-        <description><![CDATA[
-          set the format of the report: "html", "text", or "xml"
-        ]]></description>
-      </attribute>
-      <attribute name="home" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory where JProbe is installed.]]></short-description>
-        <description><![CDATA[
-          The directory where JProbe is installed.
-        ]]></description>
-      </attribute>
-      <attribute name="includesource" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, include text of the source code lines.]]></short-description>
-        <description><![CDATA[
-          If true, include text of the source code lines.
- Only applies to format="xml" and type="verydetailed"
-        ]]></description>
-      </attribute>
-      <attribute name="percent" type="java.lang.Integer"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[A numeric value for the threshold for printing methods.]]></short-description>
-        <description><![CDATA[
-          A numeric value for the threshold for printing methods.
- Must be between 0 and 100.
-        ]]></description>
-      </attribute>
-      <attribute name="snapshot" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the snapshot file that is the source to the report.]]></short-description>
-        <description><![CDATA[
-          The name of the snapshot file that is the source to the report.
-        ]]></description>
-      </attribute>
-      <attribute name="tofile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the generated output file.]]></short-description>
-        <description><![CDATA[
-          The name of the generated output file.
-        ]]></description>
-      </attribute>
-      <attribute name="type" type="org.apache.tools.ant.taskdefs.optional.sitraka.CovReport.ReportType"
-                 briefType="&quot;executive&quot;, &quot;summary&quot;, &quot;detailed&quot;, &quot;verydetailed&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[The type of report to be generated: "executive", "summary",
- "detailed" or "verydetailed".]]></short-description>
-        <description><![CDATA[
-          The type of report to be generated: "executive", "summary",
- "detailed" or "verydetailed".
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="reference" type="org.apache.tools.ant.taskdefs.optional.sitraka.CovReport.Reference"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of classes whose coverage information will be
- checked against.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of classes whose coverage information will be
- checked against.]]>
-        </description>
-      </element>
-
-      <element name="sourcepath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path to source files.]]></short-description>
-        <description>
-          <![CDATA[Adds a path to source files.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="jspc" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.jsp.JspC"
-      matchingTask="true">
-
-  <short-description><![CDATA[Runs a JSP compiler.]]></short-description>
-  <description>
-    <![CDATA[Runs a JSP compiler.
-
- <p> This task takes the given jsp files and compiles them into java
- files. It is then up to the user to compile the java files into classes.
-
- <p> The task requires the srcdir and destdir attributes to be
- set. This Task is a MatchingTask, so the files to be compiled can be
- specified using includes/excludes attributes or nested include/exclude
- elements. Optional attributes are verbose (set the verbosity level passed
- to jasper), package (name of the destination package for generated java
- classes and classpath (the classpath to use when running the jsp
- compiler).
- <p> This task supports the nested elements classpath (A Path) and
- classpathref (A Reference) which can be used in preference to the
- attribute classpath, if the jsp compiler is not already in the ant
- classpath.
-
- <p><h4>Usage</h4>
- <pre>
- &lt;jspc srcdir="${basedir}/src/war"
-       destdir="${basedir}/gensrc"
-       package="com.i3sp.jsp"
-       verbose="9"&gt;
-   &lt;include name="**\/*.jsp" /&gt;
- &lt;/jspc&gt;
- </pre>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used for this compilation.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used for this compilation.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a classpath defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a classpath defined elsewhere
-        ]]></description>
-      </attribute>
-      <attribute name="compiler" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Class name of a JSP compiler adapter.]]></short-description>
-        <description><![CDATA[
-          Class name of a JSP compiler adapter.
-        ]]></description>
-      </attribute>
-      <attribute name="compilerclasspath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used to find this compiler adapter.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used to find this compiler adapter
-        ]]></description>
-      </attribute>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory into which the JSP source
- files should be compiled.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory into which the JSP source
- files should be compiled.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether or not the build should halt if compilation fails.]]></short-description>
-        <description><![CDATA[
-          Whether or not the build should halt if compilation fails.
- Defaults to <code>true</code>.
-        ]]></description>
-      </attribute>
-      <attribute name="ieplugin" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Java Plugin CLASSID for Internet Explorer.]]></short-description>
-        <description><![CDATA[
-          Java Plugin CLASSID for Internet Explorer
-        ]]></description>
-      </attribute>
-      <attribute name="mapped" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, generate separate write() calls for each HTML line
- in the JSP.]]></short-description>
-        <description><![CDATA[
-          If true, generate separate write() calls for each HTML line
- in the JSP.
-        ]]></description>
-      </attribute>
-      <attribute name="package" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the package the compiled jsp files should be in.]]></short-description>
-        <description><![CDATA[
-          Set the name of the package the compiled jsp files should be in.
-        ]]></description>
-      </attribute>
-      <attribute name="srcdir" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Path for source JSP files.]]></short-description>
-        <description><![CDATA[
-          Path for source JSP files.
-        ]]></description>
-      </attribute>
-      <attribute name="uribase" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The URI context of relative URI references in the JSP pages.]]></short-description>
-        <description><![CDATA[
-          The URI context of relative URI references in the JSP pages.
- If it does not exist then it is derived from the location
- of the file relative to the declared or derived value of uriroot.
-        ]]></description>
-      </attribute>
-      <attribute name="uriroot" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The root directory that uri files should be resolved
-  against.]]></short-description>
-        <description><![CDATA[
-          The root directory that uri files should be resolved
-  against. (Default is the directory jspc is invoked from)
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Verbose level of the compiler.]]></short-description>
-        <description><![CDATA[
-          Set the verbose level of the compiler
-        ]]></description>
-      </attribute>
-      <attribute name="webinc" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Output filename for the fraction of web.xml that lists
-  servlets.]]></short-description>
-        <description><![CDATA[
-          output filename for the fraction of web.xml that lists
-  servlets.
-        ]]></description>
-      </attribute>
-      <attribute name="webxml" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Filename for web.xml.]]></short-description>
-        <description><![CDATA[
-          Filename for web.xml.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="webapp" type="org.apache.tools.ant.taskdefs.optional.jsp.JspC.WebAppParameter"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a single webapp.]]></short-description>
-        <description>
-          <![CDATA[Adds a single webapp.]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path to the classpath.]]></short-description>
-        <description>
-          <![CDATA[Adds a path to the classpath.]]>
-        </description>
-      </element>
-
-      <element name="compilerclasspath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Support nested compiler classpath, used to locate compiler adapter.]]></short-description>
-        <description>
-          <![CDATA[Support nested compiler classpath, used to locate compiler adapter]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="junit" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"
-      >
-
-  <short-description><![CDATA[Runs JUnit tests.]]></short-description>
-  <description>
-    <![CDATA[Runs JUnit tests.
-
- <p> JUnit is a framework to create unit test. It has been initially
- created by Erich Gamma and Kent Beck.  JUnit can be found at <a
- href="http://www.junit.org">http://www.junit.org</a>.
-
- <p> <code>JUnitTask</code> can run a single specific
- <code>JUnitTest</code> using the <code>test</code> element.</p>
- For example, the following target <code><pre>
-   &lt;target name="test-int-chars" depends="jar-test"&gt;
-       &lt;echo message="testing international characters"/&gt;
-       &lt;junit printsummary="no" haltonfailure="yes" fork="false"&gt;
-           &lt;classpath refid="classpath"/&gt;
-           &lt;formatter type="plain" usefile="false" /&gt;
-           &lt;test name="org.apache.ecs.InternationalCharTest" /&gt;
-       &lt;/junit&gt;
-   &lt;/target&gt;
- </pre></code>
- <p>runs a single junit test
- (<code>org.apache.ecs.InternationalCharTest</code>) in the current
- VM using the path with id <code>classpath</code> as classpath and
- presents the results formatted using the standard
- <code>plain</code> formatter on the command line.</p>
-
- <p> This task can also run batches of tests.  The
- <code>batchtest</code> element creates a <code>BatchTest</code>
- based on a fileset.  This allows, for example, all classes found in
- directory to be run as testcases.</p>
-
- <p>For example,</p><code><pre>
- &lt;target name="run-tests" depends="dump-info,compile-tests" if="junit.present"&gt;
-   &lt;junit printsummary="no" haltonfailure="yes" fork="${junit.fork}"&gt;
-     &lt;jvmarg value="-classic"/&gt;
-     &lt;classpath refid="tests-classpath"/&gt;
-     &lt;sysproperty key="build.tests" value="${build.tests}"/&gt;
-     &lt;formatter type="brief" usefile="false" /&gt;
-     &lt;batchtest&gt;
-       &lt;fileset dir="${tests.dir}"&gt;
-         &lt;include name="**&#047;*Test*" /&gt;
-       &lt;/fileset&gt;
-     &lt;/batchtest&gt;
-   &lt;/junit&gt;
- &lt;/target&gt;
- </pre></code>
- <p>this target finds any classes with a <code>test</code> directory
- anywhere in their path (under the top <code>${tests.dir}</code>, of
- course) and creates <code>JUnitTest</code>'s for each one.</p>
-
- <p> Of course, <code>&lt;junit&gt;</code> and
- <code>&lt;batch&gt;</code> elements can be combined for more
- complex tests. For an example, see the ant <code>build.xml</code>
- target <code>run-tests</code> (the second example is an edited
- version).</p>
-
- <p> To spawn a new Java VM to prevent interferences between
- different testcases, you need to enable <code>fork</code>.  A
- number of attributes and elements allow you to set up how this JVM
- runs.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory to invoke the VM in.]]></short-description>
-        <description><![CDATA[
-          The directory to invoke the VM in. Ignored if no JVM is forked.
-        ]]></description>
-      </attribute>
-      <attribute name="errorproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Property to set to "true" if there is a error in a test.]]></short-description>
-        <description><![CDATA[
-          Property to set to "true" if there is a error in a test.
-
- <p>This property is applied on all BatchTest (batchtest) and
- JUnitTest (test), however, it can possibly be overriden by
- their own properties.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="failureproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Property to set to "true" if there is a failure in a test.]]></short-description>
-        <description><![CDATA[
-          Property to set to "true" if there is a failure in a test.
-
- <p>This property is applied on all BatchTest (batchtest) and
- JUnitTest (test), however, it can possibly be overriden by
- their own properties.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="filtertrace" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, smartly filter the stack frames of
- JUnit errors and failures before reporting them.]]></short-description>
-        <description><![CDATA[
-          If true, smartly filter the stack frames of
- JUnit errors and failures before reporting them.
-
- <p>This property is applied on all BatchTest (batchtest) and
- JUnitTest (test) however it can possibly be overridden by their
- own properties.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="fork" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, JVM should be forked for each test.]]></short-description>
-        <description><![CDATA[
-          If true, JVM should be forked for each test.
-
- <p>It avoids interference between testcases and possibly avoids
- hanging the build.  this property is applied on all BatchTest
- (batchtest) and JUnitTest (test) however it can possibly be
- overridden by their own properties.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="haltonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, stop the build process when there is an error in a test.]]></short-description>
-        <description><![CDATA[
-          If true, stop the build process when there is an error in a test.
- This property is applied on all BatchTest (batchtest) and JUnitTest
- (test) however it can possibly be overridden by their own
- properties.
-        ]]></description>
-      </attribute>
-      <attribute name="haltonfailure" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, stop the build process if a test fails
- (errors are considered failures as well).]]></short-description>
-        <description><![CDATA[
-          If true, stop the build process if a test fails
- (errors are considered failures as well).
- This property is applied on all BatchTest (batchtest) and
- JUnitTest (test) however it can possibly be overridden by their
- own properties.
-        ]]></description>
-      </attribute>
-      <attribute name="includeantruntime" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, include ant.jar, optional.jar and junit.jar in the forked VM.]]></short-description>
-        <description><![CDATA[
-          If true, include ant.jar, optional.jar and junit.jar in the forked VM.
-        ]]></description>
-      </attribute>
-      <attribute name="jvm" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The command used to invoke the Java Virtual Machine,
- default is 'java'.]]></short-description>
-        <description><![CDATA[
-          The command used to invoke the Java Virtual Machine,
- default is 'java'. The command is resolved by
- java.lang.Runtime.exec(). Ignored if fork is disabled.
-        ]]></description>
-      </attribute>
-      <attribute name="maxmemory" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Maximum memory to be used by all forked JVMs.]]></short-description>
-        <description><![CDATA[
-          Set the maximum memory to be used by all forked JVMs.
-        ]]></description>
-      </attribute>
-      <attribute name="newenvironment" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, use a new environment when forked.]]></short-description>
-        <description><![CDATA[
-          If true, use a new environment when forked.
-
- <p>Will be ignored if we are not forking a new VM.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="printsummary" type="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.SummaryAttribute"
-                 briefType="&quot;true&quot;, &quot;yes&quot;, &quot;false&quot;, &quot;no&quot;, &quot;on&quot;, &quot;off&quot;, &quot;withOutAndErr&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[If true, print one-line statistics for each test, or "withOutAndErr"
- to also show standard output and error.]]></short-description>
-        <description><![CDATA[
-          If true, print one-line statistics for each test, or "withOutAndErr"
- to also show standard output and error.
-
- Can take the values on, off, and withOutAndErr.
-        ]]></description>
-      </attribute>
-      <attribute name="showoutput" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, send any output generated by tests to Ant's logging system
- as well as to the formatters.]]></short-description>
-        <description><![CDATA[
-          If true, send any output generated by tests to Ant's logging system
- as well as to the formatters.
- By default only the formatters receive the output.
-
- <p>Output will always be passed to the formatters and not by
- shown by default.  This option should for example be set for
- tests that are interactive and prompt the user to do
- something.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="timeout" type="java.lang.Integer"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Timeout value (in milliseconds).]]></short-description>
-        <description><![CDATA[
-          Set the timeout value (in milliseconds).
-
- <p>If the test is running for more than this value, the test
- will be canceled. (works only when in 'fork' mode).</p>
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="env" type="org.apache.tools.ant.types.Environment.Variable"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds an environment variable; used when forking.]]></short-description>
-        <description>
-          <![CDATA[Adds an environment variable; used when forking.
-
- <p>Will be ignored if we are not forking a new VM.</p>]]>
-        </description>
-      </element>
-
-      <element name="formatter" type="org.apache.tools.ant.taskdefs.optional.junit.FormatterElement"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a new formatter to all tests of this task.]]></short-description>
-        <description>
-          <![CDATA[Add a new formatter to all tests of this task.]]>
-        </description>
-      </element>
-
-      <element name="sysproperty" type="org.apache.tools.ant.types.Environment.Variable"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a system property that tests can access.]]></short-description>
-        <description>
-          <![CDATA[Adds a system property that tests can access.
- This might be useful to tranfer Ant properties to the
- testcases when JVM forking is not enabled.]]>
-        </description>
-      </element>
-
-      <element name="test" type="org.apache.tools.ant.taskdefs.optional.junit.JUnitTest"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a new single testcase.]]></short-description>
-        <description>
-          <![CDATA[Add a new single testcase.]]>
-        </description>
-      </element>
-
-      <element name="batchtest" type="org.apache.tools.ant.taskdefs.optional.junit.BatchTest"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of tests based on pattern matching.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of tests based on pattern matching.]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds path to classpath used for tests.]]></short-description>
-        <description>
-          <![CDATA[Adds path to classpath used for tests.]]>
-        </description>
-      </element>
-
-      <element name="jvmarg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a JVM argument; ignored if not forking.]]></short-description>
-        <description>
-          <![CDATA[Adds a JVM argument; ignored if not forking.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="junitreport" category="testing"
-      classname="org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator"
-      >
-
-  <short-description><![CDATA[Aggregates all &lt;junit&gt; XML formatter testsuite data under a specific directory and transforms the results via XSLT.]]></short-description>
-  <description>
-    <![CDATA[Aggregates all &lt;junit&gt; XML formatter testsuite data under
- a specific directory and transforms the results via XSLT.
- It is not particulary clean but
- should be helpful while I am thinking about another technique.
-
- <p> The main problem is due to the fact that a JVM can be forked for a testcase
- thus making it impossible to aggregate all testcases since the listener is
- (obviously) in the forked JVM. A solution could be to write a
- TestListener that will receive events from the TestRunner via sockets. This
- is IMHO the simplest way to do it to avoid this file hacking thing.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="todir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory where the results should be written.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory where the results should be written. If not
- set if will use {@link #DEFAULT_DIR}. When given a relative directory
- it will resolve it from the project directory.
-        ]]></description>
-      </attribute>
-      <attribute name="tofile" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the aggregegated results file.]]></short-description>
-        <description><![CDATA[
-          Set the name of the aggregegated results file. It must be relative
- from the <tt>todir</tt> attribute. If not set it will use {@link #DEFAULT_FILENAME}
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a new fileset containing the XML results to aggregate.]]></short-description>
-        <description>
-          <![CDATA[Add a new fileset containing the XML results to aggregate]]>
-        </description>
-      </element>
-
-      <element name="report" type="org.apache.tools.ant.taskdefs.optional.junit.AggregateTransformer"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Generate a report based on the document created by the merge.]]></short-description>
-        <description>
-          <![CDATA[Generate a report based on the document created by the merge.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="keysubst" category="other"
-      classname="org.apache.tools.ant.taskdefs.KeySubst"
-      deprecated="true"
-      >
-
-  <short-description><![CDATA[Keyword substitution.]]></short-description>
-  <description>
-    <![CDATA[Keyword substitution. Input file is written to output file.
- Do not make input file same as output file.
- Keywords in input files look like this: @foo@. See the docs for the 
- setKeys method to understand how to do the substitutions.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination file.]]></short-description>
-        <description><![CDATA[
-          Set the destination file.
-        ]]></description>
-      </attribute>
-      <attribute name="keys" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Keys.]]></short-description>
-        <description><![CDATA[
-          Sets the keys.
-Format string is like this:
-<p>
-name=value*name2=value
-<p>
-Names are case sensitive.
-<p>
-Use the setSep() method to change the * to something else
-if you need to use * as a name or value.
-        ]]></description>
-      </attribute>
-      <attribute name="sep" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Seperator between name=value arguments
-in setKeys().]]></short-description>
-        <description><![CDATA[
-          Sets the seperator between name=value arguments
-in setKeys(). By default it is "*".
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Source file.]]></short-description>
-        <description><![CDATA[
-          Set the source file.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="loadfile" category="utility"
-      classname="org.apache.tools.ant.taskdefs.LoadFile"
-      >
-
-  <short-description><![CDATA[Load a file into a property]]></short-description>
-  <description>
-    <![CDATA[Load a file into a property]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Encoding to use for input, defaults to the platform's default
- encoding.]]></short-description>
-        <description><![CDATA[
-          Encoding to use for input, defaults to the platform's default
- encoding. <p>
-
- For a list of possible values see <a href="http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html">
- http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html
- </a>.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, fail on load error.]]></short-description>
-        <description><![CDATA[
-          If true, fail on load error.
-        ]]></description>
-      </attribute>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Property name to save to.]]></short-description>
-        <description><![CDATA[
-          Property name to save to.
-        ]]></description>
-      </attribute>
-      <attribute name="srcfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File to load.]]></short-description>
-        <description><![CDATA[
-          Sets the file to load.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="filterchain" type="org.apache.tools.ant.types.FilterChain"
-               briefType="FilterChain"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add the FilterChain element.]]></short-description>
-        <description>
-          <![CDATA[Add the FilterChain element.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="loadproperties" category="utility"
-      classname="org.apache.tools.ant.taskdefs.LoadProperties"
-      >
-
-  <short-description><![CDATA[Load a file's contents as Ant properties.]]></short-description>
-  <description>
-    <![CDATA[Load a file's contents as Ant properties.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="srcfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File to load.]]></short-description>
-        <description><![CDATA[
-          Sets the file to load.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="filterchain" type="org.apache.tools.ant.types.FilterChain"
-               briefType="FilterChain"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a FilterChain.]]></short-description>
-        <description>
-          <![CDATA[Adds a FilterChain.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="mail" category="network"
-      classname="org.apache.tools.ant.taskdefs.email.EmailTask"
-      >
-
-  <short-description><![CDATA[A task to send SMTP email.]]></short-description>
-  <description>
-    <![CDATA[A task to send SMTP email. This is a refactoring of the SendMail and
- MimeMail tasks such that both are within a single task.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="bcclist" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Adds "bcc" address elements.]]></short-description>
-        <description><![CDATA[
-          Adds "bcc" address elements
-        ]]></description>
-      </attribute>
-      <attribute name="cclist" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Adds "cc" address elements.]]></short-description>
-        <description><![CDATA[
-          Adds "cc" address elements
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="org.apache.tools.ant.taskdefs.email.EmailTask.Encoding"
-                 briefType="&quot;auto&quot;, &quot;mime&quot;, &quot;uu&quot;, &quot;plain&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Allows the build writer to choose the preferred encoding method.]]></short-description>
-        <description><![CDATA[
-          Allows the build writer to choose the preferred encoding method
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates whether BuildExceptions should be passed back to the core.]]></short-description>
-        <description><![CDATA[
-          Indicates whether BuildExceptions should be passed back to the core
-        ]]></description>
-      </attribute>
-      <attribute name="files" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a list of files to be attached.]]></short-description>
-        <description><![CDATA[
-          Adds a list of files to be attached
-        ]]></description>
-      </attribute>
-      <attribute name="from" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Shorthand to set the from address element.]]></short-description>
-        <description><![CDATA[
-          Shorthand to set the from address element
-        ]]></description>
-      </attribute>
-      <attribute name="includefilenames" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets Includefilenames attribute.]]></short-description>
-        <description><![CDATA[
-          Sets Includefilenames attribute
-        ]]></description>
-      </attribute>
-      <attribute name="mailhost" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Host.]]></short-description>
-        <description><![CDATA[
-          Sets the host
-        ]]></description>
-      </attribute>
-      <attribute name="mailport" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Mail server port.]]></short-description>
-        <description><![CDATA[
-          Sets the mail server port
-        ]]></description>
-      </attribute>
-      <attribute name="message" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Shorthand method to set the message.]]></short-description>
-        <description><![CDATA[
-          Shorthand method to set the message
-        ]]></description>
-      </attribute>
-      <attribute name="messagefile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Shorthand method to set the message from a file.]]></short-description>
-        <description><![CDATA[
-          Shorthand method to set the message from a file
-        ]]></description>
-      </attribute>
-      <attribute name="messagemimetype" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Shorthand method to set type of the text message, text/plain by default
- but text/html or text/xml is quite feasible.]]></short-description>
-        <description><![CDATA[
-          Shorthand method to set type of the text message, text/plain by default
- but text/html or text/xml is quite feasible.
-        ]]></description>
-      </attribute>
-      <attribute name="subject" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Subject line of the email.]]></short-description>
-        <description><![CDATA[
-          Sets the subject line of the email
-        ]]></description>
-      </attribute>
-      <attribute name="tolist" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Adds "to" address elements.]]></short-description>
-        <description><![CDATA[
-          Adds "to" address elements
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="bcc" type="org.apache.tools.ant.taskdefs.email.EmailAddress"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds "bcc" address elements.]]></short-description>
-        <description>
-          <![CDATA[Adds "bcc" address elements]]>
-        </description>
-      </element>
-
-      <element name="cc" type="org.apache.tools.ant.taskdefs.email.EmailAddress"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds "cc" address element.]]></short-description>
-        <description>
-          <![CDATA[Adds "cc" address element]]>
-        </description>
-      </element>
-
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files (nested fileset attribute).]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files (nested fileset attribute).]]>
-        </description>
-      </element>
-
-      <element name="from" type="org.apache.tools.ant.taskdefs.email.EmailAddress"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a from address element.]]></short-description>
-        <description>
-          <![CDATA[Adds a from address element]]>
-        </description>
-      </element>
-
-      <element name="message" type="org.apache.tools.ant.taskdefs.email.Message"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a message elemnt.]]></short-description>
-        <description>
-          <![CDATA[Add a message elemnt]]>
-        </description>
-      </element>
-
-      <element name="to" type="org.apache.tools.ant.taskdefs.email.EmailAddress"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a to address element.]]></short-description>
-        <description>
-          <![CDATA[Adds a to address element]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="manifest" category="java"
-      classname="org.apache.tools.ant.taskdefs.ManifestTask"
-      >
-
-  <short-description><![CDATA[Creates a manifest file for inclusion in a JAR, Ant task wrapper around]]></short-description>
-  <description>
-    <![CDATA[Creates a manifest file for inclusion in a JAR, Ant task wrapper
- around {@link Manifest Manifest}.  This task can be used to write a
- Manifest file, optionally replacing or updating an existing file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the manifest file to create/update.]]></short-description>
-        <description><![CDATA[
-          The name of the manifest file to create/update.
- Required if used as a task.
-        ]]></description>
-      </attribute>
-      <attribute name="mode" type="org.apache.tools.ant.taskdefs.ManifestTask.Mode"
-                 briefType="&quot;update&quot;, &quot;replace&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Update policy: either "update" or "replace"; default is "replace".]]></short-description>
-        <description><![CDATA[
-          Update policy: either "update" or "replace"; default is "replace".
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="attribute" type="org.apache.tools.ant.taskdefs.Manifest.Attribute"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an attribute to the manifest - it is added to the main section.]]></short-description>
-        <description>
-          <![CDATA[Add an attribute to the manifest - it is added to the main section.]]>
-        </description>
-      </element>
-
-      <element name="section" type="org.apache.tools.ant.taskdefs.Manifest.Section"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a section to the manifest.]]></short-description>
-        <description>
-          <![CDATA[Add a section to the manifest]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="maudit" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.metamata.MAudit"
-      >
-
-  <short-description><![CDATA[Invokes the Metamata Audit/ Webgain Quality Analyzer on a set of Java files.]]></short-description>
-  <description>
-    <![CDATA[Invokes the Metamata Audit/ Webgain Quality Analyzer on a set of Java files.
- <p>
- <i>maudit</i> performs static analysis of the Java source code and byte code files to find and report
- errors of style and potential problems related to performance, maintenance and robustness.
-  As a convenience, a stylesheet is given in <tt>etc</tt> directory, so that an HTML report 
- can be generated from the XML file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="fix" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Automatically fix certain errors 
- (those marked as fixable in the manual);
- optional, default=false.]]></short-description>
-        <description><![CDATA[
-          Automatically fix certain errors 
- (those marked as fixable in the manual);
- optional, default=false
-        ]]></description>
-      </attribute>
-      <attribute name="list" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Creates listing file for each audited file; optional, default false.]]></short-description>
-        <description><![CDATA[
-          Creates listing file for each audited file; optional, default false. 
- When set, a .maudit file will be generated in the
- same location as the source file.
-        ]]></description>
-      </attribute>
-      <attribute name="maxmemory" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Maximum memory for the JVM; optional.]]></short-description>
-        <description><![CDATA[
-          Set the maximum memory for the JVM; optional.
- -mx or -Xmx depending on VM version
-        ]]></description>
-      </attribute>
-      <attribute name="metamatahome" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The home directory containing the Metamata distribution; required.]]></short-description>
-        <description><![CDATA[
-          The home directory containing the Metamata distribution; required
-        ]]></description>
-      </attribute>
-      <attribute name="tofile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The XML file to which the Audit result should be written to; required.]]></short-description>
-        <description><![CDATA[
-          The XML file to which the Audit result should be written to; required
-        ]]></description>
-      </attribute>
-      <attribute name="unused" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Finds declarations unused in search paths; optional, default false.]]></short-description>
-        <description><![CDATA[
-          Finds declarations unused in search paths; optional, default false. 
- It will look for unused global declarations
- in the source code within a use domain specified by the 
- <tt>searchpath</tt> element.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[The java files or directory to audit.]]></short-description>
-        <description>
-          <![CDATA[The java files or directory to audit.
- Whatever the filter is, only the files that end 
- with .java will be included for processing. 
- Note that the base directory used for the fileset 
- MUST be the root of the source files otherwise package names
- deduced from the file path will be incorrect.]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Class path (also source path unless one explicitly set).]]></short-description>
-        <description>
-          <![CDATA[Sets the class path (also source path unless one explicitly set).
- Overrides METAPATH/CLASSPATH environment variables.]]>
-        </description>
-      </element>
-
-      <element name="jvmarg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Additional optional parameters to pass to the JVM.]]></short-description>
-        <description>
-          <![CDATA[Additional optional parameters to pass to the JVM. 
- You can avoid using the  <code>&lt;jvmarg&gt;</code> by adding these empty 
- entries to <code>metamata.properties</code> located at <code>${metamata.home}/bin</code>
-
- <pre>metamata.classpath=
- metamata.sourcepath=
- metamata.baseclasspath=
- </pre>]]>
-        </description>
-      </element>
-
-      <element name="rulespath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Classpath for additional audit rules
- these must be placed before metamata.jar !!.]]></short-description>
-        <description>
-          <![CDATA[classpath for additional audit rules
- these must be placed before metamata.jar !!]]>
-        </description>
-      </element>
-
-      <element name="searchpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Search path to use for unused global declarations; 
- required when <tt>unused</tt> is set.]]></short-description>
-        <description>
-          <![CDATA[search path to use for unused global declarations; 
- required when <tt>unused</tt> is set.]]>
-        </description>
-      </element>
-
-      <element name="sourcepath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Source path.]]></short-description>
-        <description>
-          <![CDATA[Sets the source path. 
- Overrides the SOURCEPATH environment variable.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="mimemail" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.net.MimeMail"
-      deprecated="true"
-      >
-
-  <short-description><![CDATA[A task to send SMTP email; Use <tt>mail</tt> instead]]></short-description>
-  <description>
-    <![CDATA[A task to send SMTP email; Use <tt>mail</tt> instead]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="bcclist" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Adds "bcc" address elements.]]></short-description>
-        <description><![CDATA[
-          Adds "bcc" address elements
-        ]]></description>
-      </attribute>
-      <attribute name="cclist" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Adds "cc" address elements.]]></short-description>
-        <description><![CDATA[
-          Adds "cc" address elements
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="org.apache.tools.ant.taskdefs.email.EmailTask.Encoding"
-                 briefType="&quot;auto&quot;, &quot;mime&quot;, &quot;uu&quot;, &quot;plain&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Allows the build writer to choose the preferred encoding method.]]></short-description>
-        <description><![CDATA[
-          Allows the build writer to choose the preferred encoding method
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates whether BuildExceptions should be passed back to the core.]]></short-description>
-        <description><![CDATA[
-          Indicates whether BuildExceptions should be passed back to the core
-        ]]></description>
-      </attribute>
-      <attribute name="files" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a list of files to be attached.]]></short-description>
-        <description><![CDATA[
-          Adds a list of files to be attached
-        ]]></description>
-      </attribute>
-      <attribute name="from" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Shorthand to set the from address element.]]></short-description>
-        <description><![CDATA[
-          Shorthand to set the from address element
-        ]]></description>
-      </attribute>
-      <attribute name="includefilenames" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets Includefilenames attribute.]]></short-description>
-        <description><![CDATA[
-          Sets Includefilenames attribute
-        ]]></description>
-      </attribute>
-      <attribute name="mailhost" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Host.]]></short-description>
-        <description><![CDATA[
-          Sets the host
-        ]]></description>
-      </attribute>
-      <attribute name="mailport" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Mail server port.]]></short-description>
-        <description><![CDATA[
-          Sets the mail server port
-        ]]></description>
-      </attribute>
-      <attribute name="message" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Shorthand method to set the message.]]></short-description>
-        <description><![CDATA[
-          Shorthand method to set the message
-        ]]></description>
-      </attribute>
-      <attribute name="messagefile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Shorthand method to set the message from a file.]]></short-description>
-        <description><![CDATA[
-          Shorthand method to set the message from a file
-        ]]></description>
-      </attribute>
-      <attribute name="messagemimetype" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Shorthand method to set type of the text message, text/plain by default
- but text/html or text/xml is quite feasible.]]></short-description>
-        <description><![CDATA[
-          Shorthand method to set type of the text message, text/plain by default
- but text/html or text/xml is quite feasible.
-        ]]></description>
-      </attribute>
-      <attribute name="subject" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Subject line of the email.]]></short-description>
-        <description><![CDATA[
-          Sets the subject line of the email
-        ]]></description>
-      </attribute>
-      <attribute name="tolist" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Adds "to" address elements.]]></short-description>
-        <description><![CDATA[
-          Adds "to" address elements
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="bcc" type="org.apache.tools.ant.taskdefs.email.EmailAddress"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds "bcc" address elements.]]></short-description>
-        <description>
-          <![CDATA[Adds "bcc" address elements]]>
-        </description>
-      </element>
-
-      <element name="cc" type="org.apache.tools.ant.taskdefs.email.EmailAddress"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds "cc" address element.]]></short-description>
-        <description>
-          <![CDATA[Adds "cc" address element]]>
-        </description>
-      </element>
-
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files (nested fileset attribute).]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files (nested fileset attribute).]]>
-        </description>
-      </element>
-
-      <element name="from" type="org.apache.tools.ant.taskdefs.email.EmailAddress"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a from address element.]]></short-description>
-        <description>
-          <![CDATA[Adds a from address element]]>
-        </description>
-      </element>
-
-      <element name="message" type="org.apache.tools.ant.taskdefs.email.Message"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a message elemnt.]]></short-description>
-        <description>
-          <![CDATA[Add a message elemnt]]>
-        </description>
-      </element>
-
-      <element name="to" type="org.apache.tools.ant.taskdefs.email.EmailAddress"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a to address element.]]></short-description>
-        <description>
-          <![CDATA[Adds a to address element]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="mkdir" category="filesystem"
-      classname="org.apache.tools.ant.taskdefs.Mkdir"
-      >
-
-  <short-description><![CDATA[Creates a given directory.]]></short-description>
-  <description>
-    <![CDATA[Creates a given directory.
- Creates a directory and any non-existent parent directories, when
- necessary]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory to create; required.]]></short-description>
-        <description><![CDATA[
-          the directory to create; required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="mmetrics" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.metamata.MMetrics"
-      >
-
-  <short-description><![CDATA[Computes the metrics of a set of Java files and write the results to an XML file.]]></short-description>
-  <description>
-    <![CDATA[Computes the metrics of a set of Java files and write the results to an XML
- file. As a convenience, a stylesheet is given in <tt>etc</tt> directory,
- so that an HTML report can be generated from the XML file.
- <p>
- You will not be able to use this task with the evaluation version since
- as of Metamata 2.0, Metrics does not support command line :-(]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="granularity" type="org.apache.tools.ant.taskdefs.optional.metamata.MMetrics.GranularityAttribute"
-                 briefType="&quot;compilation-units&quot;, &quot;files&quot;, &quot;methods&quot;, &quot;types&quot;, &quot;packages&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Granularity of the audit.]]></short-description>
-        <description><![CDATA[
-          set the granularity of the audit. Should be one of 'files', 'methods'
- or 'types'.
-        ]]></description>
-      </attribute>
-      <attribute name="maxmemory" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Maximum memory for the JVM; optional.]]></short-description>
-        <description><![CDATA[
-          Set the maximum memory for the JVM; optional.
- -mx or -Xmx depending on VM version
-        ]]></description>
-      </attribute>
-      <attribute name="metamatahome" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The home directory containing the Metamata distribution; required.]]></short-description>
-        <description><![CDATA[
-          The home directory containing the Metamata distribution; required
-        ]]></description>
-      </attribute>
-      <attribute name="tofile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Output XML file.]]></short-description>
-        <description><![CDATA[
-          Set the output XML file
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[The java files or directory to audit.]]></short-description>
-        <description>
-          <![CDATA[The java files or directory to audit.
- Whatever the filter is, only the files that end 
- with .java will be included for processing. 
- Note that the base directory used for the fileset 
- MUST be the root of the source files otherwise package names
- deduced from the file path will be incorrect.]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Class path (also source path unless one explicitly set).]]></short-description>
-        <description>
-          <![CDATA[Sets the class path (also source path unless one explicitly set).
- Overrides METAPATH/CLASSPATH environment variables.]]>
-        </description>
-      </element>
-
-      <element name="jvmarg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Additional optional parameters to pass to the JVM.]]></short-description>
-        <description>
-          <![CDATA[Additional optional parameters to pass to the JVM. 
- You can avoid using the  <code>&lt;jvmarg&gt;</code> by adding these empty 
- entries to <code>metamata.properties</code> located at <code>${metamata.home}/bin</code>
-
- <pre>metamata.classpath=
- metamata.sourcepath=
- metamata.baseclasspath=
- </pre>]]>
-        </description>
-      </element>
-
-      <element name="path" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[New path (directory) to measure metrics from.]]></short-description>
-        <description>
-          <![CDATA[Set a new path (directory) to measure metrics from.]]>
-        </description>
-      </element>
-
-      <element name="sourcepath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Source path.]]></short-description>
-        <description>
-          <![CDATA[Sets the source path. 
- Overrides the SOURCEPATH environment variable.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="move" category="filesystem"
-      classname="org.apache.tools.ant.taskdefs.Move"
-      >
-
-  <short-description><![CDATA[Moves a file or directory to a new file or directory.]]></short-description>
-  <description>
-    <![CDATA[Moves a file or directory to a new file or directory.
- By default, the
- destination file is overwritten if it already exists.
- When <i>overwrite</i> is
- turned off, then files are only moved if the source file is
- newer than the destination file, or when the destination file does
- not exist.
-
- <p>Source files and directories are only deleted when the file or
- directory has been copied to the destination successfully.  Filtering
- also works.</p>
-
- <p>This implementation is based on Arnout Kuiper's initial design
- document, the following mailing list discussions, and the
- copyfile/copydir tasks.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Character encoding.]]></short-description>
-        <description><![CDATA[
-          Sets the character encoding
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If false, note errors to the output but keep going.]]></short-description>
-        <description><![CDATA[
-          If false, note errors to the output but keep going.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Single source file to copy.]]></short-description>
-        <description><![CDATA[
-          Sets a single source file to copy.
-        ]]></description>
-      </attribute>
-      <attribute name="filtering" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, enables filtering.]]></short-description>
-        <description><![CDATA[
-          If true, enables filtering.
-        ]]></description>
-      </attribute>
-      <attribute name="flatten" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[When copying directory trees, the files can be "flattened"
- into a single directory.]]></short-description>
-        <description><![CDATA[
-          When copying directory trees, the files can be "flattened"
- into a single directory.  If there are multiple files with
- the same name in the source directory tree, only the first
- file will be copied into the "flattened" directory, unless
- the forceoverwrite attribute is true.
-        ]]></description>
-      </attribute>
-      <attribute name="includeemptydirs" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Used to copy empty directories.]]></short-description>
-        <description><![CDATA[
-          Used to copy empty directories.
-        ]]></description>
-      </attribute>
-      <attribute name="overwrite" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Overwrite any existing destination file(s).]]></short-description>
-        <description><![CDATA[
-          Overwrite any existing destination file(s).
-        ]]></description>
-      </attribute>
-      <attribute name="preservelastmodified" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Give the copied files the same last modified time as the original files.]]></short-description>
-        <description><![CDATA[
-          Give the copied files the same last modified time as the original files.
-        ]]></description>
-      </attribute>
-      <attribute name="todir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory.]]></short-description>
-        <description><![CDATA[
-          Sets the destination directory.
-        ]]></description>
-      </attribute>
-      <attribute name="tofile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination file.]]></short-description>
-        <description><![CDATA[
-          Sets the destination file.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Used to force listing of all names of copied files.]]></short-description>
-        <description><![CDATA[
-          Used to force listing of all names of copied files.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files to copy.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files to copy.]]>
-        </description>
-      </element>
-
-      <element name="filterchain" type="org.apache.tools.ant.types.FilterChain"
-               briefType="FilterChain"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a FilterChain.]]></short-description>
-        <description>
-          <![CDATA[Adds a FilterChain.]]>
-        </description>
-      </element>
-
-      <element name="filterset" type="org.apache.tools.ant.types.FilterSet"
-               briefType="Filterset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a filterset.]]></short-description>
-        <description>
-          <![CDATA[Adds a filterset.]]>
-        </description>
-      </element>
-
-      <element name="mapper" type="org.apache.tools.ant.types.Mapper"
-               briefType="Mapper"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Defines the mapper to map source to destination files.]]></short-description>
-        <description>
-          <![CDATA[Defines the mapper to map source to destination files.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="mparse" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.metamata.MParse"
-      >
-
-  <short-description><![CDATA[Simple Metamata MParse task.]]></short-description>
-  <description>
-    <![CDATA[Simple Metamata MParse task.
- Based on the original written by
- <a href="mailto:thomas.haas@softwired-inc.com">Thomas Haas</a>.
- This version was written for Metamata 2.0 available at
- <a href="http://www.metamata.com">http://www.metamata.com</a>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="cleanup" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Remove the intermediate Sun JavaCC file 
- ; optional, default false.]]></short-description>
-        <description><![CDATA[
-          Remove the intermediate Sun JavaCC file 
- ; optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="debugparser" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set parser debug mode; optional, default false.]]></short-description>
-        <description><![CDATA[
-          set parser debug mode; optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="debugscanner" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set scanner debug mode; optional, default false.]]></short-description>
-        <description><![CDATA[
-          set scanner debug mode; optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="maxmemory" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Maximum memory for the JVM; optional.]]></short-description>
-        <description><![CDATA[
-          Set the maximum memory for the JVM; optional.
- -mx or -Xmx depending on VM version
-        ]]></description>
-      </attribute>
-      <attribute name="metamatahome" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The home directory containing the Metamata distribution; required.]]></short-description>
-        <description><![CDATA[
-          The home directory containing the Metamata distribution; required
-        ]]></description>
-      </attribute>
-      <attribute name="target" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The .jj file to process; required.]]></short-description>
-        <description><![CDATA[
-          The .jj file to process; required.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set verbose mode; optional, default false.]]></short-description>
-        <description><![CDATA[
-          set verbose mode; optional, default false
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create a classpath entry.]]></short-description>
-        <description>
-          <![CDATA[create a classpath entry]]>
-        </description>
-      </element>
-
-      <element name="jvmarg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Additional optional parameters to pass to the JVM.]]></short-description>
-        <description>
-          <![CDATA[Additional optional parameters to pass to the JVM.]]>
-        </description>
-      </element>
-
-      <element name="sourcepath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Creates a sourcepath entry.]]></short-description>
-        <description>
-          <![CDATA[creates a sourcepath entry]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="native2ascii" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.Native2Ascii"
-      matchingTask="true">
-
-  <short-description><![CDATA[Converts files from native encodings to ASCII.]]></short-description>
-  <description>
-    <![CDATA[Converts files from native encodings to ASCII.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory to place converted files into.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory to place converted files into.
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Encoding to translate to/from.]]></short-description>
-        <description><![CDATA[
-          Set the encoding to translate to/from.
- If unset, the default encoding for the JVM is used.
-        ]]></description>
-      </attribute>
-      <attribute name="ext" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Extension which converted files should have.]]></short-description>
-        <description><![CDATA[
-          Set the extension which converted files should have.
- If unset, files will not be renamed.
-        ]]></description>
-      </attribute>
-      <attribute name="reverse" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag the conversion to run in the reverse sense,
- that is Ascii to Native encoding.]]></short-description>
-        <description><![CDATA[
-          Flag the conversion to run in the reverse sense,
- that is Ascii to Native encoding.
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Source directory in which to find files to convert.]]></short-description>
-        <description><![CDATA[
-          Set the source directory in which to find files to convert.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="mapper" type="org.apache.tools.ant.types.Mapper"
-               briefType="Mapper"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Defines the FileNameMapper to use (nested mapper element).]]></short-description>
-        <description>
-          <![CDATA[Defines the FileNameMapper to use (nested mapper element).]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="netrexxc" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.NetRexxC"
-      matchingTask="true">
-
-  <short-description><![CDATA[Compiles NetRexx source files.]]></short-description>
-  <description>
-    <![CDATA[Compiles NetRexx source files.
- This task can take the following
- arguments:
- <ul>
- <li>binary</li>
- <li>classpath</li>
- <li>comments</li>
- <li>compile</li>
- <li>console</li>
- <li>crossref</li>
- <li>decimal</li>
- <li>destdir</li>
- <li>diag</li>
- <li>explicit</li>
- <li>format</li>
- <li>keep</li>
- <li>logo</li>
- <li>replace</li>
- <li>savelog</li>
- <li>srcdir</li>
- <li>sourcedir</li>
- <li>strictargs</li>
- <li>strictassign</li>
- <li>strictcase</li>
- <li>strictimport</li>
- <li>symbols</li>
- <li>time</li>
- <li>trace</li>
- <li>utf8</li>
- <li>verbose</li>
- <li>suppressMethodArgumentNotUsed</li>
- <li>suppressPrivatePropertyNotUsed</li>
- <li>suppressVariableNotUsed</li>
- <li>suppressExceptionNotSignalled</li>
- <li>suppressDeprecation</li>
- </ul>
- Of these arguments, the <b>srcdir</b> argument is required.
-
- <p>When this task executes, it will recursively scan the srcdir
- looking for NetRexx source files to compile. This task makes its
- compile decision based on timestamp.
- <p>Before files are compiled they and any other file in the
- srcdir will be copied to the destdir allowing support files to be
- located properly in the classpath. The reason for copying the source files
- before the compile is that NetRexxC has only two destinations for classfiles:
- <ol>
- <li>The current directory, and,</li>
- <li>The directory the source is in (see sourcedir option)
- </ol>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="binary" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether literals are treated as binary, rather than NetRexx types.]]></short-description>
-        <description><![CDATA[
-          Set whether literals are treated as binary, rather than NetRexx types
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath used for NetRexx compilation.]]></short-description>
-        <description><![CDATA[
-          Set the classpath used for NetRexx compilation
-        ]]></description>
-      </attribute>
-      <attribute name="comments" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether comments are passed through to the generated java source.]]></short-description>
-        <description><![CDATA[
-          Set whether comments are passed through to the generated java source.
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is false
-        ]]></description>
-      </attribute>
-      <attribute name="compact" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether error messages come out in compact or verbose format.]]></short-description>
-        <description><![CDATA[
-          Set whether error messages come out in compact or verbose format. Valid
- true values are "on" or "true". Anything else sets the flag to false.
- The default value is false
-        ]]></description>
-      </attribute>
-      <attribute name="compile" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether the NetRexx compiler should compile the generated java code
- Valid true values are "on" or "true".]]></short-description>
-        <description><![CDATA[
-          Set whether the NetRexx compiler should compile the generated java code
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is true. Setting this flag to false, will
- automatically set the keep flag to true.
-        ]]></description>
-      </attribute>
-      <attribute name="console" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether or not messages should be displayed on the 'console' Valid
- true values are "on" or "true".]]></short-description>
-        <description><![CDATA[
-          Set whether or not messages should be displayed on the 'console' Valid
- true values are "on" or "true". Anything else sets the flag to false.
- The default value is true.
-        ]]></description>
-      </attribute>
-      <attribute name="crossref" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether variable cross references are generated.]]></short-description>
-        <description><![CDATA[
-          Whether variable cross references are generated
-        ]]></description>
-      </attribute>
-      <attribute name="decimal" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether decimal arithmetic should be used for the netrexx code.]]></short-description>
-        <description><![CDATA[
-          Set whether decimal arithmetic should be used for the netrexx code.
- Binary arithmetic is used when this flag is turned off. Valid true
- values are "on" or "true". Anything else sets the flag to false. The
- default value is true.
-        ]]></description>
-      </attribute>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory into which the NetRexx source files
- should be copied and then compiled.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory into which the NetRexx source files
- should be copied and then compiled.
-        ]]></description>
-      </attribute>
-      <attribute name="diag" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether diagnostic information about the compile is generated.]]></short-description>
-        <description><![CDATA[
-          Whether diagnostic information about the compile is generated
-        ]]></description>
-      </attribute>
-      <attribute name="explicit" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether variables must be declared explicitly before use.]]></short-description>
-        <description><![CDATA[
-          Sets whether variables must be declared explicitly before use. Valid
- true values are "on" or "true". Anything else sets the flag to false.
- The default value is false.
-        ]]></description>
-      </attribute>
-      <attribute name="format" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the generated java code is formatted nicely or left to match
- NetRexx line numbers for call stack debugging.]]></short-description>
-        <description><![CDATA[
-          Whether the generated java code is formatted nicely or left to match
- NetRexx line numbers for call stack debugging
-        ]]></description>
-      </attribute>
-      <attribute name="java" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the generated java code is produced Valid true values are "on"
- or "true".]]></short-description>
-        <description><![CDATA[
-          Whether the generated java code is produced Valid true values are "on"
- or "true". Anything else sets the flag to false. The default value is
- false.
-        ]]></description>
-      </attribute>
-      <attribute name="keep" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether the generated java source file should be kept after
- compilation.]]></short-description>
-        <description><![CDATA[
-          Sets whether the generated java source file should be kept after
- compilation. The generated files will have an extension of .java.keep,
- <b>not</b> .java Valid true values are "on" or "true". Anything else
- sets the flag to false. The default value is false.
-        ]]></description>
-      </attribute>
-      <attribute name="logo" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the compiler text logo is displayed when compiling.]]></short-description>
-        <description><![CDATA[
-          Whether the compiler text logo is displayed when compiling
-        ]]></description>
-      </attribute>
-      <attribute name="replace" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the generated .java file should be replaced when compiling
- Valid true values are "on" or "true".]]></short-description>
-        <description><![CDATA[
-          Whether the generated .java file should be replaced when compiling
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is false.
-        ]]></description>
-      </attribute>
-      <attribute name="savelog" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether the compiler messages will be written to NetRexxC.log as
- well as to the console Valid true values are "on" or "true".]]></short-description>
-        <description><![CDATA[
-          Sets whether the compiler messages will be written to NetRexxC.log as
- well as to the console Valid true values are "on" or "true". Anything
- else sets the flag to false. The default value is false.
-        ]]></description>
-      </attribute>
-      <attribute name="sourcedir" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Tells the NetRexx compiler to store the class files in the same
- directory as the source files.]]></short-description>
-        <description><![CDATA[
-          Tells the NetRexx compiler to store the class files in the same
- directory as the source files. The alternative is the working directory
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is true.
-        ]]></description>
-      </attribute>
-      <attribute name="srcdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Source dir to find the source Java files.]]></short-description>
-        <description><![CDATA[
-          Set the source dir to find the source Java files.
-        ]]></description>
-      </attribute>
-      <attribute name="strictargs" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Tells the NetRexx compiler that method calls always need parentheses,
- even if no arguments are needed, e.g.]]></short-description>
-        <description><![CDATA[
-          Tells the NetRexx compiler that method calls always need parentheses,
- even if no arguments are needed, e.g. <code>aStringVar.getBytes</code>
- vs. <code>aStringVar.getBytes()</code> Valid true values are "on" or
- "true". Anything else sets the flag to false. The default value is
- false.
-        ]]></description>
-      </attribute>
-      <attribute name="strictassign" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Tells the NetRexx compile that assignments must match exactly on type.]]></short-description>
-        <description><![CDATA[
-          Tells the NetRexx compile that assignments must match exactly on type
-        ]]></description>
-      </attribute>
-      <attribute name="strictcase" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies whether the NetRexx compiler should be case sensitive or not.]]></short-description>
-        <description><![CDATA[
-          Specifies whether the NetRexx compiler should be case sensitive or not
-        ]]></description>
-      </attribute>
-      <attribute name="strictimport" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether classes need to be imported explicitly using an <code>import</code>
- statement.]]></short-description>
-        <description><![CDATA[
-          Sets whether classes need to be imported explicitly using an <code>import</code>
- statement. By default the NetRexx compiler will import certain packages
- automatically Valid true values are "on" or "true". Anything else sets
- the flag to false. The default value is false.
-        ]]></description>
-      </attribute>
-      <attribute name="strictprops" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether local properties need to be qualified explicitly using
- <code>this</code> Valid true values are "on" or "true".]]></short-description>
-        <description><![CDATA[
-          Sets whether local properties need to be qualified explicitly using
- <code>this</code> Valid true values are "on" or "true". Anything else
- sets the flag to false. The default value is false.
-        ]]></description>
-      </attribute>
-      <attribute name="strictsignal" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the compiler should force catching of exceptions by explicitly
- named types.]]></short-description>
-        <description><![CDATA[
-          Whether the compiler should force catching of exceptions by explicitly
- named types
-        ]]></description>
-      </attribute>
-      <attribute name="suppressdeprecation" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Tells whether we should filter out any deprecation-messages
- of the compiler out.]]></short-description>
-        <description><![CDATA[
-          Tells whether we should filter out any deprecation-messages
- of the compiler out.
-        ]]></description>
-      </attribute>
-      <attribute name="suppressexceptionnotsignalled" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the task should suppress the "FooException is in SIGNALS list
- but is not signalled within the method", which is sometimes rather
- useless.]]></short-description>
-        <description><![CDATA[
-          Whether the task should suppress the "FooException is in SIGNALS list
- but is not signalled within the method", which is sometimes rather
- useless. The warning is logged as verbose message, though.
-        ]]></description>
-      </attribute>
-      <attribute name="suppressmethodargumentnotused" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the task should suppress the "Method argument is not used" in
- strictargs-Mode, which can not be suppressed by the compiler itself.]]></short-description>
-        <description><![CDATA[
-          Whether the task should suppress the "Method argument is not used" in
- strictargs-Mode, which can not be suppressed by the compiler itself.
- The warning is logged as verbose message, though.
-        ]]></description>
-      </attribute>
-      <attribute name="suppressprivatepropertynotused" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the task should suppress the "Private property is defined but
- not used" in strictargs-Mode, which can be quite annoying while
- developing.]]></short-description>
-        <description><![CDATA[
-          Whether the task should suppress the "Private property is defined but
- not used" in strictargs-Mode, which can be quite annoying while
- developing. The warning is logged as verbose message, though.
-        ]]></description>
-      </attribute>
-      <attribute name="suppressvariablenotused" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether the task should suppress the "Variable is set but not used" in
- strictargs-Mode.]]></short-description>
-        <description><![CDATA[
-          Whether the task should suppress the "Variable is set but not used" in
- strictargs-Mode. Be careful with this one! The warning is logged as
- verbose message, though.
-        ]]></description>
-      </attribute>
-      <attribute name="symbols" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether debug symbols should be generated into the class file
- Valid true values are "on" or "true".]]></short-description>
-        <description><![CDATA[
-          Sets whether debug symbols should be generated into the class file
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is false.
-        ]]></description>
-      </attribute>
-      <attribute name="time" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Asks the NetRexx compiler to print compilation times to the console
- Valid true values are "on" or "true".]]></short-description>
-        <description><![CDATA[
-          Asks the NetRexx compiler to print compilation times to the console
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is false.
-        ]]></description>
-      </attribute>
-      <attribute name="trace" type="org.apache.tools.ant.taskdefs.optional.NetRexxC.TraceAttr"
-                 briefType="&quot;trace&quot;, &quot;trace1&quot;, &quot;trace2&quot;, &quot;notrace&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-      <attribute name="utf8" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Tells the NetRexx compiler that the source is in UTF8 Valid true values
- are "on" or "true".]]></short-description>
-        <description><![CDATA[
-          Tells the NetRexx compiler that the source is in UTF8 Valid true values
- are "on" or "true". Anything else sets the flag to false. The default
- value is false.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="org.apache.tools.ant.taskdefs.optional.NetRexxC.VerboseAttr"
-                 briefType="&quot;verbose&quot;, &quot;verbose0&quot;, &quot;verbose1&quot;, &quot;verbose2&quot;, &quot;verbose3&quot;, &quot;verbose4&quot;, &quot;verbose5&quot;, &quot;noverbose&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Whether lots of warnings and error messages should be generated.]]></short-description>
-        <description><![CDATA[
-          Whether lots of warnings and error messages should be generated
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4add" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Add"
-      >
-
-  <short-description><![CDATA[Adds specified files to Perforce.]]></short-description>
-  <description>
-    <![CDATA[Adds specified files to Perforce.
-
- <b>Example Usage:</b>
- <table border="1">
- <th>Function</th><th>Command</th>
- <tr><td>Add files using P4USER, P4PORT and P4CLIENT settings specified</td><td>&lt;P4add <br>P4view="//projects/foo/main/source/..." <br>P4User="fbloggs" <br>P4Port="km01:1666" <br>P4Client="fbloggsclient"&gt;<br>&lt;fileset basedir="dir" includes="**&#47;*.java"&gt;<br>&lt;/p4add&gt;</td></tr>
- <tr><td>Add files using P4USER, P4PORT and P4CLIENT settings defined in environment</td><td>&lt;P4add P4view="//projects/foo/main/source/..." /&gt;<br>&lt;fileset basedir="dir" includes="**&#47;*.java"&gt;<br>&lt;/p4add&gt;</td></tr>
- <tr><td>Specify the length of command line arguments to pass to each invocation of p4</td><td>&lt;p4add Commandlength="450"&gt;</td></tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="changelist" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[If specified the open files are associated with the
- specified pending changelist number; otherwise the open files are
- associated with the default changelist.]]></short-description>
-        <description><![CDATA[
-          If specified the open files are associated with the
- specified pending changelist number; otherwise the open files are
- associated with the default changelist.
-        ]]></description>
-      </attribute>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="commandlength" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Positive integer specifying the maximum length
-   of the commandline when calling Perforce to add the files.]]></short-description>
-        <description><![CDATA[
-          positive integer specifying the maximum length
-   of the commandline when calling Perforce to add the files. 
-   Defaults to 450, higher values mean faster execution,
-   but also possible failures.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Files to add.]]></short-description>
-        <description>
-          <![CDATA[files to add]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4change" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Change"
-      >
-
-  <short-description><![CDATA[Requests a new changelist from the Perforce server.]]></short-description>
-  <description>
-    <![CDATA[Requests a new changelist from the Perforce server.
- P4Change creates a new changelist in perforce. P4Change sets the property
- ${p4.change} with the new changelist number. This should then be passed into
- p4edit and p4submit.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="description" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Description for ChangeList;optional.]]></short-description>
-        <description><![CDATA[
-          Description for ChangeList;optional.
- If none is specified, it will default to "AutoSubmit By Ant"
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4counter" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Counter"
-      >
-
-  <short-description><![CDATA[Obtains or sets the value of a counter.]]></short-description>
-  <description>
-    <![CDATA[Obtains or sets the value of a counter.
-
- <p> When used in its base form
- (where only the counter name is provided), the counter value will be
- printed to the output stream. When the value is provided, the counter
- will be set to the value provided. When a property name is provided,
- the property will be filled with the value of the counter. You may
- not specify to both get and set the value of the counter in the same
- Task.
- </p>
- <P>
- The user performing this task must have Perforce &quot;review&quot; permissions
- as defined by Perforce protections in order for this task to succeed.
-</P>
-
- Example Usage:<br>
- &lt;p4counter name="${p4.counter}" property=${p4.change}"/&gt;]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="name" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the counter; required.]]></short-description>
-        <description><![CDATA[
-          The name of the counter; required
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[A property to be set with the value of the counter.]]></short-description>
-        <description><![CDATA[
-          A property to be set with the value of the counter
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="value" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[The new value for the counter; optional.]]></short-description>
-        <description><![CDATA[
-          The new value for the counter; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4delete" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Delete"
-      >
-
-  <short-description><![CDATA[Checkout files for deletion.]]></short-description>
-  <description>
-    <![CDATA[Checkout files for deletion.
-
- Example Usage:<br>
- &lt;p4delete change="${p4.change}" view="//depot/project/foo.txt" /&gt;<br>
-
- Simple re-write of P4Edit changing 'edit' to 'delete'.<br>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="change" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[An existing changelist number for the deletion; optional
- but strongly recommended.]]></short-description>
-        <description><![CDATA[
-          An existing changelist number for the deletion; optional
- but strongly recommended.
-        ]]></description>
-      </attribute>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4edit" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Edit"
-      >
-
-  <short-description><![CDATA[Open file(s) for edit.]]></short-description>
-  <description>
-    <![CDATA[Open file(s) for edit. 
- P4Change should be used to obtain a new changelist for P4Edit as,
- although P4Edit can open files to the default change,  
- P4Submit cannot yet submit to it.
- Example Usage:<br>
- &lt;p4edit change="${p4.change}" view="//depot/project/foo.txt" /&gt;]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="change" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[An existing changelist number to assign files to; optional
- but strongly recommended.]]></short-description>
-        <description><![CDATA[
-          An existing changelist number to assign files to; optional
- but strongly recommended.
-        ]]></description>
-      </attribute>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4have" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Have"
-      >
-
-  <short-description><![CDATA[Lists Perforce files currently on client.]]></short-description>
-  <description>
-    <![CDATA[Lists Perforce files currently on client.
-
- P4Have simply dumps the current file version info into
- the Ant log (or stdout).]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4label" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Label"
-      >
-
-  <short-description><![CDATA[Creates a new Perforce label and set contents to reflect current client file revisions.]]></short-description>
-  <description>
-    <![CDATA[Creates a new Perforce label and set contents to reflect current
-  client file revisions.
-
-  Label name defaults to AntLabel if none set.
-
- Example Usage:
- <pre>
-   &lt;P4Label name="MyLabel-${TSTAMP}-${DSTAMP}" desc="Auto Build Label" /&gt;
- </pre>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="desc" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Label Description; optional.]]></short-description>
-        <description><![CDATA[
-          Label Description; optional
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="lock" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[When set to "locked", Perforce will lock the label once created; optional.]]></short-description>
-        <description><![CDATA[
-          when set to "locked", Perforce will lock the label once created; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="name" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the label; optional, default "AntLabel".]]></short-description>
-        <description><![CDATA[
-          The name of the label; optional, default "AntLabel"
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4reopen" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Reopen"
-      >
-
-  <short-description><![CDATA[No Description.]]></short-description>
-  <description>
-    <![CDATA[]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="tochange" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The changelist to move files to; required.]]></short-description>
-        <description><![CDATA[
-          The changelist to move files to; required.
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4revert" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Revert"
-      >
-
-  <short-description><![CDATA[Revert Perforce open files or files in a changelist]]></short-description>
-  <description>
-    <![CDATA[Revert Perforce open files or files in a changelist]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="change" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The changelist to revert; optional.]]></short-description>
-        <description><![CDATA[
-          The changelist to revert; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="revertonlyunchanged" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to revert only unchanged files (p4 revert -a); optional, default false.]]></short-description>
-        <description><![CDATA[
-          flag to revert only unchanged files (p4 revert -a); optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4submit" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Submit"
-      >
-
-  <short-description><![CDATA[Submits a numbered changelist to Perforce.]]></short-description>
-  <description>
-    <![CDATA[Submits a numbered changelist to Perforce.
-
- <B>Note:</B> P4Submit cannot (yet) submit the default changelist.
- This shouldn't be a problem with the ANT task as the usual flow is
- P4Change to create a new numbered change followed by P4Edit then P4Submit.
-
- Example Usage:-<br>
- &lt;p4submit change="${p4.change}" /&gt;]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="change" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The changelist number to submit; required.]]></short-description>
-        <description><![CDATA[
-          The changelist number to submit; required.
-        ]]></description>
-      </attribute>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="p4sync" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.perforce.P4Sync"
-      >
-
-  <short-description><![CDATA[Synchronize client space to a Perforce depot view.]]></short-description>
-  <description>
-    <![CDATA[Synchronize client space to a Perforce depot view.
-
-  The API allows additional functionality of the "p4 sync" command
- (such as "p4 sync -f //...#have" or other exotic invocations).</P>
-
- <b>Example Usage:</b>
- <table border="1">
- <th>Function</th><th>Command</th>
- <tr><td>Sync to head using P4USER, P4PORT and P4CLIENT settings specified</td><td>&lt;P4Sync <br>P4view="//projects/foo/main/source/..." <br>P4User="fbloggs" <br>P4Port="km01:1666" <br>P4Client="fbloggsclient" /&gt;</td></tr>
- <tr><td>Sync to head using P4USER, P4PORT and P4CLIENT settings defined in environment</td><td>&lt;P4Sync P4view="//projects/foo/main/source/..." /&gt;</td></tr>
- <tr><td>Force a re-sync to head, refreshing all files</td><td>&lt;P4Sync force="yes" P4view="//projects/foo/main/source/..." /&gt;</td></tr>
- <tr><td>Sync to a label</td><td>&lt;P4Sync label="myPerforceLabel" /&gt;</td></tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="client" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 client spec to use;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 client spec to use;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="cmdopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set extra command options; only used on some
- of the Perforce tasks.]]></short-description>
-        <description><![CDATA[
-          Set extra command options; only used on some
- of the Perforce tasks.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command.]]></short-description>
-        <description><![CDATA[
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        ]]></description>
-      </attribute>
-      <attribute name="force" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Force a refresh of files, if this attribute is set; false by default.]]></short-description>
-        <description><![CDATA[
-          force a refresh of files, if this attribute is set; false by default.
-        ]]></description>
-      </attribute>
-      <attribute name="label" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Label to sync client to; optional.]]></short-description>
-        <description><![CDATA[
-          Label to sync client to; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4d server and port to connect to;
- optional, default "perforce:1666".]]></short-description>
-        <description><![CDATA[
-          The p4d server and port to connect to;
- optional, default "perforce:1666"
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The p4 username;
- optional, defaults to the current user.]]></short-description>
-        <description><![CDATA[
-          The p4 username;
- optional, defaults to the current user
-        ]]></description>
-      </attribute>
-      <attribute name="view" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The client, branch or label view to operate upon;
- optional default "//...".]]></short-description>
-        <description><![CDATA[
-          The client, branch or label view to operate upon;
- optional default "//..."
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="parallel" category="control"
-      classname="org.apache.tools.ant.taskdefs.Parallel"
-      >
-
-  <short-description><![CDATA[Executes the contained tasks in separate threads, continuing once all are completed.]]></short-description>
-  <description>
-    <![CDATA[Executes the contained tasks in separate threads, continuing
- once all are completed.
- <p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="patch" category="utility"
-      classname="org.apache.tools.ant.taskdefs.Patch"
-      >
-
-  <short-description><![CDATA[Patches a file by applying a 'diff' file to it; requires "patch" to be on the execution path.]]></short-description>
-  <description>
-    <![CDATA[Patches a file by applying a 'diff' file to it; requires "patch" to be
- on the execution path.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="backups" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to create backups; optional, default=false.]]></short-description>
-        <description><![CDATA[
-          flag to create backups; optional, default=false
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory to run the patch command in, defaults to the
- project's base directory.]]></short-description>
-        <description><![CDATA[
-          The directory to run the patch command in, defaults to the
- project's base directory.
-        ]]></description>
-      </attribute>
-      <attribute name="ignorewhitespace" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to ignore whitespace differences; default=false.]]></short-description>
-        <description><![CDATA[
-          flag to ignore whitespace differences; default=false
-        ]]></description>
-      </attribute>
-      <attribute name="originalfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to patch; optional if it can be inferred from
- the diff file.]]></short-description>
-        <description><![CDATA[
-          The file to patch; optional if it can be inferred from
- the diff file
-        ]]></description>
-      </attribute>
-      <attribute name="patchfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file containing the diff output; required.]]></short-description>
-        <description><![CDATA[
-          The file containing the diff output; required.
-        ]]></description>
-      </attribute>
-      <attribute name="quiet" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Work silently unless an error occurs; optional, default=false.]]></short-description>
-        <description><![CDATA[
-          Work silently unless an error occurs; optional, default=false
-        ]]></description>
-      </attribute>
-      <attribute name="reverse" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Assume patch was created with old and new files swapped; optional,
- default=false.]]></short-description>
-        <description><![CDATA[
-          Assume patch was created with old and new files swapped; optional,
- default=false
-        ]]></description>
-      </attribute>
-      <attribute name="strip" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Strip the smallest prefix containing <i>num</i> leading slashes
- from filenames.]]></short-description>
-        <description><![CDATA[
-          Strip the smallest prefix containing <i>num</i> leading slashes
- from filenames.
-
- <p>patch's <i>-p</i> option.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="pathconvert" category="utility"
-      classname="org.apache.tools.ant.taskdefs.PathConvert"
-      >
-
-  <short-description><![CDATA[Converts path and classpath information to a specific target OS format.]]></short-description>
-  <description>
-    <![CDATA[Converts path and classpath information to a specific target OS
- format. The resulting formatted path is placed into the specified property.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dirsep" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Default directory separator string;
- defaults to current JVM.]]></short-description>
-        <description><![CDATA[
-          Set the default directory separator string;
- defaults to current JVM {@link java.io.File#separator File.separator}
-        ]]></description>
-      </attribute>
-      <attribute name="pathsep" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Default path separator string;
- defaults to current JVM.]]></short-description>
-        <description><![CDATA[
-          Set the default path separator string;
- defaults to current JVM
- {@link java.io.File#pathSeparator File.pathSeparator}
-        ]]></description>
-      </attribute>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The property into which the converted path will be placed.]]></short-description>
-        <description><![CDATA[
-          The property into which the converted path will be placed.
-        ]]></description>
-      </attribute>
-      <attribute name="refid" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds a reference to a Path, FileSet, DirSet, or FileList defined
- elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds a reference to a Path, FileSet, DirSet, or FileList defined
- elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="setonempty" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set setonempty
-
- If false, don't set the new property if the result is the empty string.]]></short-description>
-        <description><![CDATA[
-          Set setonempty
-
- If false, don't set the new property if the result is the empty string.
-        ]]></description>
-      </attribute>
-      <attribute name="targetos" type="org.apache.tools.ant.taskdefs.PathConvert.TargetOs"
-                 briefType="&quot;windows&quot;, &quot;unix&quot;, &quot;netware&quot;, &quot;os/2&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Set targetos to a platform to one of
- "windows", "unix", "netware", or "os/2"; required unless
- unless pathsep and/or dirsep are specified.]]></short-description>
-        <description><![CDATA[
-          Set targetos to a platform to one of
- "windows", "unix", "netware", or "os/2"; required unless
- unless pathsep and/or dirsep are specified.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="map" type="org.apache.tools.ant.taskdefs.PathConvert.MapEntry"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create a nested MAP element.]]></short-description>
-        <description>
-          <![CDATA[Create a nested MAP element]]>
-        </description>
-      </element>
-
-      <element name="path" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create a nested PATH element.]]></short-description>
-        <description>
-          <![CDATA[Create a nested PATH element]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="property" category="other"
-      classname="org.apache.tools.ant.taskdefs.Property"
-      >
-
-  <short-description><![CDATA[Sets a property by name, or set of properties (from file or resource) in the project.]]></short-description>
-  <description>
-    <![CDATA[Sets a property by name, or set of properties (from file or
- resource) in the project.  </p>
- Properties are immutable: whoever sets a property first freezes it for the
- rest of the build; they are most definately not variable. 
- <p>There are five ways to set properties:</p>
- <ul>
-   <li>By supplying both the <i>name</i> and <i>value</i> attribute.</li>
-   <li>By supplying both the <i>name</i> and <i>refid</i> attribute.</li>
-   <li>By setting the <i>file</i> attribute with the filename of the property
-     file to load. This property file has the format as defined by the file used
-     in the class java.util.Properties.</li>
-   <li>By setting the <i>resource</i> attribute with the resource name of the
-     property file to load. This property file has the format as defined by the
-     file used in the class java.util.Properties.</li>
-   <li>By setting the <i>environment</i> attribute with a prefix to use.
-     Properties will be defined for every environment variable by
-     prefixing the supplied name and a period to the name of the variable.</li>
- </ul>
- <p>Although combinations of these ways are possible, only one should be used
- at a time. Problems might occur with the order in which properties are set, for
- instance.</p>
- <p>The value part of the properties being set, might contain references to other
- properties. These references are resolved at the time these properties are set.
- This also holds for properties loaded from a property file.</p>
- Properties are case sensitive.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[The classpath to use when looking up a resource.]]></short-description>
-        <description><![CDATA[
-          The classpath to use when looking up a resource.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[The classpath to use when looking up a resource,
- given as reference to a &lt;path&gt; defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          the classpath to use when looking up a resource,
- given as reference to a &lt;path&gt; defined elsewhere
-        ]]></description>
-      </attribute>
-      <attribute name="environment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The prefix to use when retrieving environment variables.]]></short-description>
-        <description><![CDATA[
-          the prefix to use when retrieving environment variables. 
- Thus if you specify environment=&quot;myenv&quot; 
- you will be able to access OS-specific 
- environment variables via property names &quot;myenv.PATH&quot; or 
- &quot;myenv.TERM&quot;. 
- <p>
- Note that if you supply a property name with a final 
- &quot;.&quot; it will not be doubled. ie environment=&quot;myenv.&quot; will still 
- allow access of environment variables through &quot;myenv.PATH&quot; and 
- &quot;myenv.TERM&quot;. This functionality is currently only implemented 
- on select platforms. Feel free to send patches to increase the number of platforms
- this functionality is supported on ;).<br>
- Note also that properties are case sensitive, even if the
- environment variables on your operating system are not, e.g. it
- will be ${env.Path} not ${env.PATH} on Windows 2000.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The filename of a property file to load.]]></short-description>
-        <description><![CDATA[
-          the filename of a property file to load.
-        ]]></description>
-      </attribute>
-      <attribute name="location" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Property to the absolute filename of the
- given file.]]></short-description>
-        <description><![CDATA[
-          Sets the property to the absolute filename of the
- given file. If the value of this attribute is an absolute path, it
- is left unchanged (with / and \ characters converted to the
- current platforms conventions). Otherwise it is taken as a path
- relative to the project's basedir and expanded.
-        ]]></description>
-      </attribute>
-      <attribute name="name" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the property to set.]]></short-description>
-        <description><![CDATA[
-          sets the name of the property to set.
-        ]]></description>
-      </attribute>
-      <attribute name="prefix" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Prefix to apply to properties loaded using <code>file</code>
- or <code>resource</code>.]]></short-description>
-        <description><![CDATA[
-          Prefix to apply to properties loaded using <code>file</code>
- or <code>resource</code>. 
- A "." is appended to the prefix if not specified.
-        ]]></description>
-      </attribute>
-      <attribute name="refid" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Reference to an Ant datatype
- declared elsewhere.]]></short-description>
-        <description><![CDATA[
-          Sets a reference to an Ant datatype
- declared elsewhere. 
- Only yields reasonable results for references
- PATH like structures or properties.
-        ]]></description>
-      </attribute>
-      <attribute name="resource" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The resource name of a property file to load.]]></short-description>
-        <description><![CDATA[
-          the resource name of a property file to load
-        ]]></description>
-      </attribute>
-      <attribute name="value" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Value of the property.]]></short-description>
-        <description><![CDATA[
-          Sets the value of the property.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[The classpath to use when looking up a resource.]]></short-description>
-        <description>
-          <![CDATA[The classpath to use when looking up a resource.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="propertyfile" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.PropertyFile"
-      >
-
-  <short-description><![CDATA[Modifies settings in a property file.]]></short-description>
-  <description>
-    <![CDATA[Modifies settings in a property file.
-
- <p>
-The following is an example of its usage:
-    <ul>&lt;target name="setState"&gt;<br>
-    <ul>&lt;property<br>
-        <ul>name="header"<br>
-        value="##Generated file - do not modify!"/&gt;<br>
-      &lt;propertyfile file="apropfile.properties" comment="${header}"&gt;<br>
-        &lt;entry key="product.version.major" type="int"  value="5"/&gt;<br>
-        &lt;entry key="product.version.minor" type="int"  value="0"/&gt;<br>
-        &lt;entry key="product.build.major"   type="int"  value="0" /&gt;<br>
-        &lt;entry key="product.build.minor"   type="int"  operation="+" /&gt;<br>
-        &lt;entry key="product.build.date"    type="date" value="now" /&gt;<br>
-        &lt;entry key="intSet" type="int" operation="=" value="681"/&gt;<br>
-        &lt;entry key="intDec" type="int" operation="-"/&gt;<br>
-        &lt;entry key="StringEquals" type="string" value="testValue"/&gt;<br>
-     &lt;/propertyfile&gt;<br></ul>
-   &lt;/target&gt;</ul><p>
-
-The &lt;propertyfile&gt; task must have:<br>
-    <ul><li>file</li></ul>
-Other parameters are:<br>
-    <ul><li>comment, key, operation, type and value (the final four being eliminated shortly)</li></ul>
-
-The &lt;entry&gt; task must have:<br>
-    <ul><li>key</li></ul>
-Other parameters are:<br>
-    <ul><li>operation</li>
-        <li>type</li>
-        <li>value</li>
-        <li>default</li>
-        <li>unit</li>
-    </ul>
-
-If type is unspecified, it defaults to string
-
-Parameter values:<br>
-    <ul><li>operation:</li>
-        <ul><li>"=" (set -- default)</li>
-        <li>"-" (dec)</li>
-        <li>"+" (inc)</li>
-
-    <li>type:</li>
-        <ul><li>"int"</li>
-        <li>"date"</li>
-        <li>"string"</li></ul></ul>
-
-    <li>value:</li>
-      <ul><li>holds the default value, if the property
-              was not found in property file</li>
-          <li>"now" In case of type "date", the
-              value "now" will be replaced by the current
-              date/time and used even if a valid date was
-              found in the property file.</li></ul>
-
-String property types can only use the "=" operation.
-Int property types can only use the "=", "-" or "+" operations.<p>
-
-The message property is used for the property file header, with "\\" being
-a newline delimiter character.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Optional header comment for the file.]]></short-description>
-        <description><![CDATA[
-          optional header comment for the file
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Location of the property file to be edited; required.]]></short-description>
-        <description><![CDATA[
-          Location of the property file to be edited; required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="entry" type="org.apache.tools.ant.taskdefs.optional.PropertyFile.Entry"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description>
-          <![CDATA[]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="pvcs" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.pvcs.Pvcs"
-      >
-
-  <short-description><![CDATA[Extracts the latest edition of the source code from a PVCS repository.]]></short-description>
-  <description>
-    <![CDATA[Extracts the latest edition of the source code from a PVCS repository.
- PVCS is a version control system
- developed by <a href="http://www.merant.com/products/pvcs">Merant</a>.
- <br>
- Before using this tag, the user running ant must have access to the commands 
- of PVCS (get and pcli) and must have access to the repository. Note that the way to specify
- the repository is platform dependent so use property to specify location of repository.
- <br>
- This version has been tested agains PVCS version 6.5 and 6.6 under Windows and Solaris.
-
- <b>19-04-2001</b> <p>The task now has a more robust
- parser. It allows for platform independant file paths
- and supports file names with <i>()</i>. Thanks to Erik Husby for
- bringing the bug to my attention.
-
- <b>27-04-2001</b> <p>UNC paths are now handled properly.
- Fix provided by Don Jeffery. He also added an <i>UpdateOnly</i> flag
- that, when true, conditions the PVCS get using the -U option to only
- update those files that have a modification time (in PVCS) that is newer
- than the existing workfile.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="filenameformat" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The format of the folder names; optional.]]></short-description>
-        <description><![CDATA[
-          The format of the folder names; optional.
- This must be in a format suitable for 
- <code>java.text.MessageFormat</code>.
-  Index 1 of the format will be used as the file name.
-  Defaults to <code>{0}-arc({1})</code>
-        ]]></description>
-      </attribute>
-      <attribute name="force" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the value of the force argument; optional.]]></short-description>
-        <description><![CDATA[
-          Specifies the value of the force argument; optional.
- If set to <i>yes</i> all files that exists and are 
- writable are overwritten. Default <i>no</i> causes the files 
- that are writable to be ignored. This stops the PVCS command 
- <i>get</i> to stop asking questions!
-        ]]></description>
-      </attribute>
-      <attribute name="ignorereturncode" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If set to true the return value from executing the pvcs
- commands are ignored; optional, default false.]]></short-description>
-        <description><![CDATA[
-          If set to true the return value from executing the pvcs
- commands are ignored; optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="label" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Only files marked with this label are extracted; optional.]]></short-description>
-        <description><![CDATA[
-          Only files marked with this label are extracted; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="linestart" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[What a valid return value from PVCS looks like
-  when it describes a file.]]></short-description>
-        <description><![CDATA[
-          What a valid return value from PVCS looks like
-  when it describes a file.  Defaults to <code>&quot;P:</code>.
- If you are not using an UNC name for your repository and the
- drive letter <code>P</code> is incorrect for your setup, you may
- need to change this value, UNC names will always be
- accepted.
-        ]]></description>
-      </attribute>
-      <attribute name="promotiongroup" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the name of the promotiongroup argument.]]></short-description>
-        <description><![CDATA[
-          Specifies the name of the promotiongroup argument
-        ]]></description>
-      </attribute>
-      <attribute name="pvcsbin" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the location of the PVCS bin directory; optional if on the PATH.]]></short-description>
-        <description><![CDATA[
-          Specifies the location of the PVCS bin directory; optional if on the PATH.
- On some systems the PVCS executables <i>pcli</i>
- and <i>get</i> are not found in the PATH. In such cases this attribute
- should be set to the bin directory of the PVCS installation containing
- the executables mentioned before. If this attribute isn't specified the
- tag expects the executables to be found using the PATH environment variable.
-        ]]></description>
-      </attribute>
-      <attribute name="pvcsproject" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The project within the PVCS repository to extract files from;
- optional, default &quot;/&quot;.]]></short-description>
-        <description><![CDATA[
-          The project within the PVCS repository to extract files from;
- optional, default &quot;/&quot;
-        ]]></description>
-      </attribute>
-      <attribute name="repository" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The network name of the PVCS repository; required.]]></short-description>
-        <description><![CDATA[
-          The network name of the PVCS repository; required.
-        ]]></description>
-      </attribute>
-      <attribute name="updateonly" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If set to <i>true</i> files are fetched only if 
- newer than existing local files; optional, default false.]]></short-description>
-        <description><![CDATA[
-          If set to <i>true</i> files are fetched only if 
- newer than existing local files; optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="workspace" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Workspace to use; optional.]]></short-description>
-        <description><![CDATA[
-          Workspace to use; optional.  
- By specifying a workspace, the files are extracted to that location.
- A PVCS workspace is a name for a location of the workfiles and 
- isn't as such the location itself. 
- You define the location for a workspace using the PVCS GUI clients.
- If this isn't specified the default workspace for the current user is used.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="pvcsproject" type="org.apache.tools.ant.taskdefs.optional.pvcs.PvcsProject"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Specify a project within the PVCS repository to extract files from.]]></short-description>
-        <description>
-          <![CDATA[Specify a project within the PVCS repository to extract files from.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="record" category="utility"
-      classname="org.apache.tools.ant.taskdefs.Recorder"
-      >
-
-  <short-description><![CDATA[Adds a listener to the current build process that records the output to a file.]]></short-description>
-  <description>
-    <![CDATA[Adds a listener to the current build process that records the
- output to a file.
- <p>Several recorders can exist at the same time.  Each recorder is
- associated with a file.  The filename is used as a unique identifier for
- the recorders.  The first call to the recorder task with an unused filename
- will create a recorder (using the parameters provided) and add it to the
- listeners of the build.  All subsequent calls to the recorder task using
- this filename will modify that recorders state (recording or not) or other
- properties (like logging level).</p>
- <p>Some technical issues: the file's print stream is flushed for &quot;finished&quot;
- events (buildFinished, targetFinished and taskFinished), and is closed on
- a buildFinished event.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="action" type="org.apache.tools.ant.taskdefs.Recorder.ActionChoices"
-                 briefType="&quot;start&quot;, &quot;stop&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Action for the associated recorder entry.]]></short-description>
-        <description><![CDATA[
-          Sets the action for the associated recorder entry.
-        ]]></description>
-      </attribute>
-      <attribute name="append" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether or not the logger should append to a previous file.]]></short-description>
-        <description><![CDATA[
-          Whether or not the logger should append to a previous file.
-        ]]></description>
-      </attribute>
-      <attribute name="emacsmode" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description><![CDATA[
-        ]]></description>
-      </attribute>
-      <attribute name="loglevel" type="org.apache.tools.ant.taskdefs.Recorder.VerbosityLevelChoices"
-                 briefType="&quot;error&quot;, &quot;warn&quot;, &quot;info&quot;, &quot;verbose&quot;, &quot;debug&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Level to which this recorder entry should log to.]]></short-description>
-        <description><![CDATA[
-          Sets the level to which this recorder entry should log to.
-        ]]></description>
-      </attribute>
-      <attribute name="name" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the file to log to, and the name of the recorder
- entry.]]></short-description>
-        <description><![CDATA[
-          Sets the name of the file to log to, and the name of the recorder
- entry.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="rename" category="other"
-      classname="org.apache.tools.ant.taskdefs.Rename"
-      deprecated="true"
-      >
-
-  <short-description><![CDATA[Renames a file.]]></short-description>
-  <description>
-    <![CDATA[Renames a file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[New name of the file.]]></short-description>
-        <description><![CDATA[
-          Sets the new name of the file.
-        ]]></description>
-      </attribute>
-      <attribute name="replace" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether an existing file should be replaced.]]></short-description>
-        <description><![CDATA[
-          Sets whether an existing file should be replaced.
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File to be renamed.]]></short-description>
-        <description><![CDATA[
-          Sets the file to be renamed.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="renameextensions" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.RenameExtensions"
-      deprecated="true"
-      matchingTask="true">
-
-  <short-description><![CDATA[No Description.]]></short-description>
-  <description>
-    <![CDATA[]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="fromextension" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The string that files must end in to be renamed.]]></short-description>
-        <description><![CDATA[
-          The string that files must end in to be renamed
-        ]]></description>
-      </attribute>
-      <attribute name="replace" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Store replace attribute - this determines whether the target file
- should be overwritten if present.]]></short-description>
-        <description><![CDATA[
-          store replace attribute - this determines whether the target file
- should be overwritten if present
-        ]]></description>
-      </attribute>
-      <attribute name="srcdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Source dir to find the files to be renamed.]]></short-description>
-        <description><![CDATA[
-          Set the source dir to find the files to be renamed.
-        ]]></description>
-      </attribute>
-      <attribute name="toextension" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The string that renamed files will end with on
- completion.]]></short-description>
-        <description><![CDATA[
-          The string that renamed files will end with on
- completion
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="replace" category="filesystem"
-      classname="org.apache.tools.ant.taskdefs.Replace"
-      matchingTask="true">
-
-  <short-description><![CDATA[Replaces all occurrences of one or more string tokens with given values in the indicated files.]]></short-description>
-  <description>
-    <![CDATA[Replaces all occurrences of one or more string tokens with given
- values in the indicated files. Each value can be either a string 
- or the value of a property available in a designated property file.
- If you want to replace a text that crosses line boundaries, you
- must use a nested <code>&lt;replacetoken&gt;</code> element.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The base directory to use when replacing a token in multiple files;
- required if <code>file</code> is not defined.]]></short-description>
-        <description><![CDATA[
-          The base directory to use when replacing a token in multiple files;
- required if <code>file</code> is not defined.
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[File encoding to use on the files read and written by the task;
- optional, defaults to default JVM encoding.]]></short-description>
-        <description><![CDATA[
-          Set the file encoding to use on the files read and written by the task;
- optional, defaults to default JVM encoding
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Source file; required unless <code>dir</code> is set.]]></short-description>
-        <description><![CDATA[
-          Set the source file; required unless <code>dir</code> is set.
-        ]]></description>
-      </attribute>
-      <attribute name="propertyfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The name of a property file from which properties specified using
- nested <code>&lt;replacefilter&gt;</code> elements are drawn;
- Required only if <i>property</i> attribute of
- <code>&lt;replacefilter&gt;</code> is used.]]></short-description>
-        <description><![CDATA[
-          The name of a property file from which properties specified using
- nested <code>&lt;replacefilter&gt;</code> elements are drawn;
- Required only if <i>property</i> attribute of
- <code>&lt;replacefilter&gt;</code> is used.
-        ]]></description>
-      </attribute>
-      <attribute name="replacefilterfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of a property file containing filters; optional.]]></short-description>
-        <description><![CDATA[
-          Sets the name of a property file containing filters; optional.
- Each property will be treated as a
- replacefilter where token is the name of the property and value
- is the value of the property.
-        ]]></description>
-      </attribute>
-      <attribute name="summary" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates whether a summary of the replace operation should be
- produced, detailing how many token occurrences and files were
- processed; optional, default=false.]]></short-description>
-        <description><![CDATA[
-          Indicates whether a summary of the replace operation should be
- produced, detailing how many token occurrences and files were
- processed; optional, default=false
-        ]]></description>
-      </attribute>
-      <attribute name="token" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[String token to replace;
- required unless a nested
- <code>replacetoken</code> element or the <code>replacefilterfile</code>
- attribute is used.]]></short-description>
-        <description><![CDATA[
-          Set the string token to replace;
- required unless a nested
- <code>replacetoken</code> element or the <code>replacefilterfile</code>
- attribute is used.
-        ]]></description>
-      </attribute>
-      <attribute name="value" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[String value to use as token replacement;
- optional, default is the empty string "".]]></short-description>
-        <description><![CDATA[
-          Set the string value to use as token replacement;
- optional, default is the empty string ""
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="replacetoken" type="org.apache.tools.ant.taskdefs.Replace.NestedString"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[The token to filter as the text of a nested element.]]></short-description>
-        <description>
-          <![CDATA[the token to filter as the text of a nested element]]>
-        </description>
-      </element>
-
-      <element name="replacevalue" type="org.apache.tools.ant.taskdefs.Replace.NestedString"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[The string to replace the token as the text of a nested element.]]></short-description>
-        <description>
-          <![CDATA[the string to replace the token as the text of a nested element]]>
-        </description>
-      </element>
-
-      <element name="replacefilter" type="org.apache.tools.ant.taskdefs.Replace.Replacefilter"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a nested &lt;replacefilter&gt; element.]]></short-description>
-        <description>
-          <![CDATA[Add a nested &lt;replacefilter&gt; element.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="replaceregexp" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ReplaceRegExp"
-      >
-
-  <short-description><![CDATA[Performs regular expression string replacements in a text file.]]></short-description>
-  <description>
-    <![CDATA[Performs regular expression string replacements in a text
- file.  The input file(s) must be able to be properly processed by
- a Reader instance.  That is, they must be text only, no binary.
-
- The syntax of the regular expression depends on the implemtation that
- you choose to use. The system property <code>ant.regexp.regexpimpl</code>
- will be the classname of the implementation that will be used (the default
- is <code>org.apache.tools.ant.util.regexp.JakartaOroRegexp</code> and
- requires the Jakarta Oro Package).
-
- <pre>
- For jdk  &lt;= 1.3, there are two available implementations:
-   org.apache.tools.ant.util.regexp.JakartaOroRegexp (the default)
-        Requires  the jakarta-oro package
-
-   org.apache.tools.ant.util.regexp.JakartaRegexpRegexp
-        Requires the jakarta-regexp package
-
- For jdk &gt;= 1.4 an additional implementation is available:
-   org.apache.tools.ant.util.regexp.Jdk14RegexpRegexp
-        Requires the jdk 1.4 built in regular expression package.
-
- Usage:
-
-   Call Syntax:
-
-     &lt;replaceregexp file="file"
-                    match="pattern" 
-                    replace="pattern" 
-                    flags="options"?
-                    byline="true|false"? &gt;
-       regexp?
-       substitution?
-       fileset*
-     &lt;/replaceregexp&gt;
-
-    NOTE: You must have either the file attribute specified, or at least one fileset subelement
-    to operation on.  You may not have the file attribute specified if you nest fileset elements
-    inside this task.  Also, you cannot specify both match and a regular expression subelement at
-    the same time, nor can you specify the replace attribute and the substitution subelement at
-    the same time.
-
-   Attributes:
-
-     file    --&gt; A single file to operation on (mutually exclusive with the fileset subelements)
-     match   --&gt; The Regular expression to match 
-     replace --&gt; The Expression replacement string 
-     flags   --&gt; The options to give to the replacement 
-                 g = Substitute all occurrences. default is to replace only the first one
-                 i = Case insensitive match
-
-     byline  --&gt; Should this file be processed a single line at a time (default is false)
-                 "true" indicates to perform replacement on a line by line basis
-                 "false" indicates to perform replacement on the whole file at once.
-
-  Example:
-
-     The following call could be used to replace an old property name in a ".properties"
-     file with a new name.  In the replace attribute, you can refer to any part of the
-     match expression in parenthesis using backslash followed by a number like '\1'.
-
-     &lt;replaceregexp file="test.properties"
-                    match="MyProperty=(.*)"
-                    replace="NewProperty=\1"
-                    byline="true" /&gt;
-
- </pre>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="byline" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Process the file(s) one line at a time, executing the replacement
- on one line at a time.]]></short-description>
-        <description><![CDATA[
-          Process the file(s) one line at a time, executing the replacement
- on one line at a time.  This is useful if you
- want to only replace the first occurence of a regular expression on
- each line, which is not easy to do when processing the file as a whole.
- Defaults to <i>false</i>.</td>
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File for which the regular expression should be replaced;
- required unless a nested fileset is supplied.]]></short-description>
-        <description><![CDATA[
-          file for which the regular expression should be replaced;
- required unless a nested fileset is supplied.
-        ]]></description>
-      </attribute>
-      <attribute name="flags" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The flags to use when matching the regular expression.]]></short-description>
-        <description><![CDATA[
-          The flags to use when matching the regular expression.  For more
- information, consult the Perl5 syntax.
- <ul>
-  <li>g : Global replacement.  Replace all occurences found
-  <li>i : Case Insensitive.  Do not consider case in the match
-  <li>m : Multiline.  Treat the string as multiple lines of input, 
-         using "^" and "$" as the start or end of any line, respectively, rather than start or end of string.
-  <li> s : Singleline.  Treat the string as a single line of input, using
-        "." to match any character, including a newline, which normally, it would not match.
-</ul>
-        ]]></description>
-      </attribute>
-      <attribute name="match" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The regular expression pattern to match in the file(s);
- required if no nested &lt;regexp&gt; is used.]]></short-description>
-        <description><![CDATA[
-          the regular expression pattern to match in the file(s);
- required if no nested &lt;regexp&gt; is used
-        ]]></description>
-      </attribute>
-      <attribute name="replace" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The substitution pattern to place in the file(s) in place
- of the regular expression.]]></short-description>
-        <description><![CDATA[
-          The substitution pattern to place in the file(s) in place
- of the regular expression.
- Required if no nested &lt;substitution&gt; is used
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[List files to apply the replacement to.]]></short-description>
-        <description>
-          <![CDATA[list files to apply the replacement to]]>
-        </description>
-      </element>
-
-      <element name="regexp" type="org.apache.tools.ant.types.RegularExpression"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[A regular expression.]]></short-description>
-        <description>
-          <![CDATA[A regular expression.
- You can use this element to refer to a previously
- defined regular expression datatype instance]]>
-        </description>
-      </element>
-
-      <element name="substitution" type="org.apache.tools.ant.types.Substitution"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[A substitution pattern.]]></short-description>
-        <description>
-          <![CDATA[A substitution pattern.  You can use this element to refer to a previously
- defined substitution pattern datatype instance.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="rmic" category="java"
-      classname="org.apache.tools.ant.taskdefs.Rmic"
-      matchingTask="true">
-
-  <short-description><![CDATA[Runs the rmic compiler against classes.</p> <p>Rmic can be run on a single class (as specified with the classname attribute) or a number of classes at once (all classes below base that are neither _Stub nor _Skel classes).]]></short-description>
-  <description>
-    <![CDATA[Runs the rmic compiler against classes.</p>
- <p>Rmic can be run on a single class (as specified with the classname
- attribute) or a number of classes at once (all classes below base that
- are neither _Stub nor _Skel classes).  If you want to rmic a single
- class and this class is a class nested into another class, you have to
- specify the classname in the form <code>Outer$$Inner</code> instead of
- <code>Outer.Inner</code>.</p>
- <p>It is possible to refine the set of files that are being rmiced. This can be
- done with the <i>includes</i>, <i>includesfile</i>, <i>excludes</i>, 
- <i>excludesfile</i> and <i>defaultexcludes</i>
- attributes. With the <i>includes</i> or <i>includesfile</i> attribute you specify the files you want to
- have included by using patterns. The <i>exclude</i> or <i>excludesfile</i> attribute is used to specify
- the files you want to have excluded. This is also done with patterns. And
- finally with the <i>defaultexcludes</i> attribute, you can specify whether you
- want to use default exclusions or not. See the section on 
- directory based tasks</a>, on how the
- inclusion/exclusion of files works, and how to write patterns.</p>
- <p>This task forms an implicit FileSet and
- supports all attributes of <code>&lt;fileset&gt;</code>
- (<code>dir</code> becomes <code>base</code>) as well as the nested
- <code>&lt;include&gt;</code>, <code>&lt;exclude&gt;</code> and
- <code>&lt;patternset&gt;</code> elements.</p>
- <p>It is possible to use different compilers. This can be selected
- with the &quot;build.rmic&quot; property or the <code>compiler</code>
- attribute. <a name="compilervalues">There are three choices</a>:</p>
- <ul>
-   <li>sun (the standard compiler of the JDK)</li>
-   <li>kaffe (the standard compiler of 
-       {@link <a href="http://www.kaffe.org">Kaffe</a>})</li>
-   <li>weblogic</li>
- </ul>
- <p> The <a href="http://dione.zcu.cz/~toman40/miniRMI/">miniRMI</a>
- project contains a compiler implementation for this task as well,
- please consult miniRMI's documentation to learn how to use it.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="base" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Location to store the compiled files; required.]]></short-description>
-        <description><![CDATA[
-          Sets the location to store the compiled files; required
-        ]]></description>
-      </attribute>
-      <attribute name="classname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The class to run <code>rmic</code> against;
- optional.]]></short-description>
-        <description><![CDATA[
-          Sets the the class to run <code>rmic</code> against;
- optional
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used for this compilation.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used for this compilation.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Adds to the classpath a reference to 
- a &lt;path&gt; defined elsewhere.]]></short-description>
-        <description><![CDATA[
-          Adds to the classpath a reference to 
- a &lt;path&gt; defined elsewhere.
-        ]]></description>
-      </attribute>
-      <attribute name="compiler" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Compiler implementation to use; optional,
- defaults to the value of the <code>build.rmic</code> property,
- or failing that, default compiler for the current VM.]]></short-description>
-        <description><![CDATA[
-          Sets the compiler implementation to use; optional,
- defaults to the value of the <code>build.rmic</code> property,
- or failing that, default compiler for the current VM
-        ]]></description>
-      </attribute>
-      <attribute name="debug" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Generate debug info (passes -g to rmic);
- optional, defaults to false.]]></short-description>
-        <description><![CDATA[
-          generate debug info (passes -g to rmic);
- optional, defaults to false
-        ]]></description>
-      </attribute>
-      <attribute name="extdirs" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Extension directories that will be used during the
- compilation; optional.]]></short-description>
-        <description><![CDATA[
-          Sets the extension directories that will be used during the
- compilation; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="filtering" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates whether token filtering should take place;
- optional, default=false.]]></short-description>
-        <description><![CDATA[
-          indicates whether token filtering should take place;
- optional, default=false
-        ]]></description>
-      </attribute>
-      <attribute name="idl" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates that IDL output should be 
- generated.]]></short-description>
-        <description><![CDATA[
-          Indicates that IDL output should be 
- generated.  This defaults to false 
- if not set.
-        ]]></description>
-      </attribute>
-      <attribute name="idlopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Pass additional arguments for idl compile.]]></short-description>
-        <description><![CDATA[
-          pass additional arguments for idl compile
-        ]]></description>
-      </attribute>
-      <attribute name="iiop" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Indicates that IIOP compatible stubs should
- be generated; optional, defaults to false 
- if not set.]]></short-description>
-        <description><![CDATA[
-          Indicates that IIOP compatible stubs should
- be generated; optional, defaults to false 
- if not set.
-        ]]></description>
-      </attribute>
-      <attribute name="iiopopts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set additional arguments for iiop.]]></short-description>
-        <description><![CDATA[
-          Set additional arguments for iiop
-        ]]></description>
-      </attribute>
-      <attribute name="includeantruntime" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether or not to include ant's own classpath in this task's 
- classpath.]]></short-description>
-        <description><![CDATA[
-          Sets whether or not to include ant's own classpath in this task's 
- classpath.
- Optional; default is <code>true</code>.
-        ]]></description>
-      </attribute>
-      <attribute name="includejavaruntime" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Task's classpath.]]></short-description>
-        <description><![CDATA[
-          task's classpath.
- Enables or disables including the default run-time
- libraries from the executing VM; optional,
- defaults to false
-        ]]></description>
-      </attribute>
-      <attribute name="sourcebase" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Optional directory to save generated source files to.]]></short-description>
-        <description><![CDATA[
-          optional directory to save generated source files to.
-        ]]></description>
-      </attribute>
-      <attribute name="stubversion" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specify the JDK version for the generated stub code.]]></short-description>
-        <description><![CDATA[
-          Specify the JDK version for the generated stub code.
- Specify &quot;1.1&quot; to pass the &quot;-v1.1&quot; option to rmic.</td>
-        ]]></description>
-      </attribute>
-      <attribute name="verify" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to enable verification so that the classes 
- found by the directory match are
- checked to see if they implement java.rmi.Remote.]]></short-description>
-        <description><![CDATA[
-          Flag to enable verification so that the classes 
- found by the directory match are
- checked to see if they implement java.rmi.Remote.
- Optional; his defaults to false if not set.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Creates a nested classpath element.]]></short-description>
-        <description>
-          <![CDATA[Creates a nested classpath element.]]>
-        </description>
-      </element>
-
-      <element name="compilerarg" type="org.apache.tools.ant.taskdefs.Rmic.ImplementationSpecificArgument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds an implementation specific command line argument.]]></short-description>
-        <description>
-          <![CDATA[Adds an implementation specific command line argument.]]>
-        </description>
-      </element>
-
-      <element name="extdirs" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Maybe creates a nested extdirs element.]]></short-description>
-        <description>
-          <![CDATA[Maybe creates a nested extdirs element.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="rpm" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.Rpm"
-      >
-
-  <short-description><![CDATA[Invokes the rpm tool to build a Linux installation file.]]></short-description>
-  <description>
-    <![CDATA[Invokes the rpm tool to build a Linux installation file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="cleanbuilddir" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag (optional, default=false) to remove 
- the generated files in the BUILD directory.]]></short-description>
-        <description><![CDATA[
-          Flag (optional, default=false) to remove 
- the generated files in the BUILD directory
-        ]]></description>
-      </attribute>
-      <attribute name="command" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[What command to issue to the rpm tool; optional.]]></short-description>
-        <description><![CDATA[
-          What command to issue to the rpm tool; optional.
- The default is "-bb"
-        ]]></description>
-      </attribute>
-      <attribute name="error" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Optional file to save stderr to.]]></short-description>
-        <description><![CDATA[
-          Optional file to save stderr to
-        ]]></description>
-      </attribute>
-      <attribute name="output" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Optional file to save stdout to.]]></short-description>
-        <description><![CDATA[
-          Optional file to save stdout to.
-        ]]></description>
-      </attribute>
-      <attribute name="removesource" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag (optional, default=false) 
- to remove the sources after the build.]]></short-description>
-        <description><![CDATA[
-          Flag (optional, default=false) 
- to remove the sources after the build.
- See the the <tt>--rmsource</tt>  option of rpmbuild.
-        ]]></description>
-      </attribute>
-      <attribute name="removespec" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag (optional, default=false) to remove the spec file from SPECS.]]></short-description>
-        <description><![CDATA[
-          Flag (optional, default=false) to remove the spec file from SPECS
-        ]]></description>
-      </attribute>
-      <attribute name="specfile" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the spec File to use; required.]]></short-description>
-        <description><![CDATA[
-          The name of the spec File to use; required.
-        ]]></description>
-      </attribute>
-      <attribute name="topdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory which will have the expected
- subdirectories, SPECS, SOURCES, BUILD, SRPMS ; optional.]]></short-description>
-        <description><![CDATA[
-          The directory which will have the expected
- subdirectories, SPECS, SOURCES, BUILD, SRPMS ; optional. 
- If this isn't specified,
- the <tt>baseDir</tt> value is used
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="script" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.Script"
-      >
-
-  <short-description><![CDATA[Executes a script.]]></short-description>
-  <description>
-    <![CDATA[Executes a script.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="language" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Defines the language (required).]]></short-description>
-        <description><![CDATA[
-          Defines the language (required).
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Load the script from an external file ; optional.]]></short-description>
-        <description><![CDATA[
-          Load the script from an external file ; optional.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-      <body >
-        <description><![CDATA[
-          The script text.
-        ]]></description>
-      </body>
-
-  </structure>
-
-</task>
-
-
-<task name="sequential" category="control"
-      classname="org.apache.tools.ant.taskdefs.Sequential"
-      >
-
-  <short-description><![CDATA[Sequential is a container task - it can contain other Ant tasks.]]></short-description>
-  <description>
-    <![CDATA[Sequential is a container task - it can contain other Ant tasks. The nested 
- tasks are simply executed in sequence. Sequential's primary use is to support 
- the sequential execution of a subset of tasks within the
-{@link Parallel Parallel Task} 
-
- <p>
- The sequential task has no attributes and does not support any nested 
- elements apart from Ant tasks. Any valid Ant task may be embedded within the 
- sequential task.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="serverdeploy" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.j2ee.ServerDeploy"
-      >
-
-  <short-description><![CDATA[Controls hot deployment tools for J2EE servers.]]></short-description>
-  <description>
-    <![CDATA[Controls hot deployment tools for J2EE servers.
-
-  This class is used as a framework for the creation of vendor specific
-  hot deployment tools.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="action" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The action to be performed, usually "deploy"; required.]]></short-description>
-        <description><![CDATA[
-          The action to be performed, usually "deploy"; required.
-   Some tools support additional actions, such as "delete", "list", "undeploy", "update"...
-        ]]></description>
-      </attribute>
-      <attribute name="source" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The filename of the component to be deployed; optional
-  depending upon the tool and the action.]]></short-description>
-        <description><![CDATA[
-          The filename of the component to be deployed; optional
-  depending upon the tool and the action.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="generic" type="org.apache.tools.ant.taskdefs.optional.j2ee.GenericHotDeploymentTool"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Creates a generic deployment tool.]]></short-description>
-        <description>
-          <![CDATA[Creates a generic deployment tool.
-  <p>Ant calls this method on creation to handle embedded "generic" elements
-  in the ServerDeploy task.]]>
-        </description>
-      </element>
-
-      <element name="jonas" type="org.apache.tools.ant.taskdefs.optional.j2ee.JonasHotDeploymentTool"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Creates a JOnAS deployment tool, for deployment to JOnAS servers.]]></short-description>
-        <description>
-          <![CDATA[Creates a JOnAS deployment tool, for deployment to JOnAS servers.
-  <p>Ant calls this method on creation to handle embedded "jonas" elements
-  in the ServerDeploy task.]]>
-        </description>
-      </element>
-
-      <element name="weblogic" type="org.apache.tools.ant.taskdefs.optional.j2ee.WebLogicHotDeploymentTool"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Creates a WebLogic deployment tool, for deployment to WebLogic servers.]]></short-description>
-        <description>
-          <![CDATA[Creates a WebLogic deployment tool, for deployment to WebLogic servers.
-  <p>Ant calls this method on creation to handle embedded "weblogic" elements
-  in the ServerDeploy task.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="setproxy" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.net.SetProxy"
-      >
-
-  <short-description><![CDATA[Sets Java's web proxy properties, so that tasks and code run in the same JVM can have through-the-firewall access to remote web sites, and remote ftp sites.]]></short-description>
-  <description>
-    <![CDATA[Sets Java's web proxy properties, so that tasks and code run in
- the same JVM can have through-the-firewall access to remote web sites,
- and remote ftp sites.
- You can nominate an http and ftp proxy, or a socks server, reset the server 
- settings, or do nothing at all.
- <p> 
- Examples
- <pre>&lt;setproxy/&gt;</pre>
- do nothing
- <pre>&lt;setproxy proxyhost="firewall"/&gt;</pre>
- set the proxy to firewall:80
- <pre>&lt;setproxy proxyhost="firewall" proxyport="81"/&gt;</pre>
- set the proxy to firewall:81
- <pre>&lt;setproxy proxyhost=""/&gt;</pre>
- stop using the http proxy; don't change the socks settings
- <pre>&lt;setproxy socksproxyhost="socksy"/&gt;</pre>
- use socks via socksy:1080
- <pre>&lt;setproxy socksproxyhost=""/&gt;</pre>
- stop using the socks server]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="nonproxyhosts" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[A list of hosts to bypass the proxy on.]]></short-description>
-        <description><![CDATA[
-          A list of hosts to bypass the proxy on. These should be separated
- with the vertical bar character '|'. Only in Java 1.4 does ftp use
- this list.
- e.g. fozbot.corp.sun.com|*.eng.sun.com
-        ]]></description>
-      </attribute>
-      <attribute name="proxyhost" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The HTTP/ftp proxy host.]]></short-description>
-        <description><![CDATA[
-          the HTTP/ftp proxy host. Set this to "" for the http proxy
- option to be disabled
-        ]]></description>
-      </attribute>
-      <attribute name="proxyport" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[The HTTP/ftp proxy port number; default is 80.]]></short-description>
-        <description><![CDATA[
-          the HTTP/ftp proxy port number; default is 80
-        ]]></description>
-      </attribute>
-      <attribute name="socksproxyhost" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of a Socks server.]]></short-description>
-        <description><![CDATA[
-          The name of a Socks server. Set to "" to turn socks
- proxying off.
-        ]]></description>
-      </attribute>
-      <attribute name="socksproxyport" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[ProxyPort for socks connections.]]></short-description>
-        <description><![CDATA[
-          Set the ProxyPort for socks connections. The default value is 1080
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="signjar" category="java"
-      classname="org.apache.tools.ant.taskdefs.SignJar"
-      >
-
-  <short-description><![CDATA[Signs jar or zip files with the javasign command line tool.]]></short-description>
-  <description>
-    <![CDATA[Signs jar or zip files with the javasign command line tool. The
- tool detailed dependency checking: files are only signed if they
- are not signed. The <tt>signjar</tt> attribute can point to the file to
- generate; if this file exists then
- its modification date is used as a cue as to whether to resign any JAR file.
- <br>  
- <strong>Note:</strong> Requires Java 1.2 or later. </p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="alias" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The alias to sign under; required.]]></short-description>
-        <description><![CDATA[
-          the alias to sign under; required
-        ]]></description>
-      </attribute>
-      <attribute name="internalsf" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to include the .SF file inside the signature;
- optional; default false.]]></short-description>
-        <description><![CDATA[
-          Flag to include the .SF file inside the signature;
- optional; default false
-        ]]></description>
-      </attribute>
-      <attribute name="jar" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The jar file to sign; required.]]></short-description>
-        <description><![CDATA[
-          the jar file to sign; required
-        ]]></description>
-      </attribute>
-      <attribute name="keypass" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Password for private key (if different); optional.]]></short-description>
-        <description><![CDATA[
-          password for private key (if different); optional
-        ]]></description>
-      </attribute>
-      <attribute name="keystore" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Keystore location; required.]]></short-description>
-        <description><![CDATA[
-          keystore location; required
-        ]]></description>
-      </attribute>
-      <attribute name="lazy" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to control whether the presence of a signature
- file means a JAR is signed;
- optional, default false.]]></short-description>
-        <description><![CDATA[
-          flag to control whether the presence of a signature
- file means a JAR is signed;
- optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="sectionsonly" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to compute hash of entire manifest;
- optional, default false.]]></short-description>
-        <description><![CDATA[
-          flag to compute hash of entire manifest;
- optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="sigfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of .SF/.DSA file; optional.]]></short-description>
-        <description><![CDATA[
-          name of .SF/.DSA file; optional
-        ]]></description>
-      </attribute>
-      <attribute name="signedjar" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of signed JAR file; optional.]]></short-description>
-        <description><![CDATA[
-          name of signed JAR file; optional
-        ]]></description>
-      </attribute>
-      <attribute name="storepass" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Password for keystore integrity; required.]]></short-description>
-        <description><![CDATA[
-          password for keystore integrity; required
-        ]]></description>
-      </attribute>
-      <attribute name="storetype" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Keystore type; optional.]]></short-description>
-        <description><![CDATA[
-          keystore type; optional
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Enable verbose output when signing
- ; optional: default false.]]></short-description>
-        <description><![CDATA[
-          Enable verbose output when signing
- ; optional: default false
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files to sign.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files to sign]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="sleep" category="utility"
-      classname="org.apache.tools.ant.taskdefs.Sleep"
-      >
-
-  <short-description><![CDATA[Sleep, or pause, for a period of time.]]></short-description>
-  <description>
-    <![CDATA[Sleep, or pause, for a period of time.
-
- A task for sleeping a short period of time, useful when a
- build or deployment process requires an interval between tasks.
-<p>
- A negative value can be supplied to any of attributes provided the total sleep time 
- is positive, pending fundamental changes in physics and JVM
- execution tims</p>
- Note that sleep times are always hints to be interpred by the OS how it feels 
- small times may either be ignored or rounded up to a minimum timeslice. Note 
- also that the system clocks often have a fairly low granularity too, which complicates 
- measuring how long a sleep actually took.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag controlling whether to break the build on an error.]]></short-description>
-        <description><![CDATA[
-          flag controlling whether to break the build on an error.
-        ]]></description>
-      </attribute>
-      <attribute name="hours" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Hours to add to the sleep time.]]></short-description>
-        <description><![CDATA[
-          hours to add to the sleep time.
-        ]]></description>
-      </attribute>
-      <attribute name="milliseconds" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Milliseconds to add to the sleep time.]]></short-description>
-        <description><![CDATA[
-          milliseconds to add to the sleep time
-        ]]></description>
-      </attribute>
-      <attribute name="minutes" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Minutes to add to the sleep time.]]></short-description>
-        <description><![CDATA[
-          minutes to add to the sleep time
-        ]]></description>
-      </attribute>
-      <attribute name="seconds" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Seconds to add to the sleep time.]]></short-description>
-        <description><![CDATA[
-          seconds to add to the sleep time
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="soscheckin" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.sos.SOSCheckin"
-      >
-
-  <short-description><![CDATA[Commits and unlocks files in Visual SourceSafe via a SourceOffSite server.]]></short-description>
-  <description>
-    <![CDATA[Commits and unlocks files in Visual SourceSafe via a SourceOffSite server.
-
- <p>
- The following attributes are interpretted:
- <table border="1">
-   <tr>
-     <th>Attribute</th>
-     <th>Values</th>
-     <th>Required</th>
-   </tr>
-   <tr>
-     <td>soscmddir</td>
-     <td>Directory which contains soscmd(.exe) <br>
-     soscmd(.exe) must be in the path if this is not specified</td>
-     <td>No</td>
-   </tr>
-   <tr>
-      <td>vssserverpath</td>
-      <td>path to the srcsafe.ini  - eg. \\server\vss\srcsafe.ini</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>sosserverpath</td>
-      <td>address and port of the SOS server  - eg. 192.168.0.1:8888</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>projectpath</td>
-      <td>SourceSafe project path without the "$"</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>file</td>
-      <td>Filename to act upon<br> If no file is specified then act upon the project</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>username</td>
-      <td>SourceSafe username</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>password</td>
-      <td>SourceSafe password</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>localpath</td>
-      <td>Override the working directory and get to the specified path</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>soshome</td>
-      <td>The path to the SourceOffSite home directory</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>nocompression</td>
-      <td>true or false - disable compression</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>recursive</td>
-      <td>true or false - Only works with the CheckOutProject command</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>nocache</td>
-      <td>true or false - Only needed if SOSHOME is set as an enviroment variable</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>verbose</td>
-      <td>true or false - Status messages are displayed</td>
-      <td>No</td>
-   </tr>
-   <td>comment</td>
-      <td>A comment to be applied to all files being checked in</td>
-      <td>No</td>
-   </tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Comment to apply to all files being labelled;
- optional, only valid in SOSLabel.]]></short-description>
-        <description><![CDATA[
-          Set the comment to apply to all files being labelled;
- optional, only valid in SOSLabel
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Filename to act upon; optional.]]></short-description>
-        <description><![CDATA[
-          Set the Filename to act upon; optional.
- If no file is specified then the tasks 
- act upon the project
-        ]]></description>
-      </attribute>
-      <attribute name="label" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Labeled version to operate on in SourceSafe.]]></short-description>
-        <description><![CDATA[
-          Set the labeled version to operate on in SourceSafe
-        ]]></description>
-      </attribute>
-      <attribute name="localpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Override the working directory and get to the specified path; optional.]]></short-description>
-        <description><![CDATA[
-          Override the working directory and get to the specified path; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="nocache" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.]]></short-description>
-        <description><![CDATA[
-          flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.
-        ]]></description>
-      </attribute>
-      <attribute name="nocompress" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag that disables compression when set; optional, default.]]></short-description>
-        <description><![CDATA[
-          Flag that disables compression when set; optional, default
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe password; optional.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe password; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="projectpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe project path without the "$" prefix; required.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe project path without the "$" prefix; required
-        ]]></description>
-      </attribute>
-      <attribute name="recursive" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false.]]></short-description>
-        <description><![CDATA[
-          Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="soscmd" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.]]></short-description>
-        <description><![CDATA[
-          Set the directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.
-        ]]></description>
-      </attribute>
-      <attribute name="soshome" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The path to the SourceOffSite home directory.]]></short-description>
-        <description><![CDATA[
-          The path to the SourceOffSite home directory
-        ]]></description>
-      </attribute>
-      <attribute name="sosserverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.]]></short-description>
-        <description><![CDATA[
-          Set the address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.
-        ]]></description>
-      </attribute>
-      <attribute name="username" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe username; required.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe username; required.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Enable verbose output; optional, default false.]]></short-description>
-        <description><![CDATA[
-          Enable verbose output; optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[A version number to get - 
- only works with the SOSGet on a file; optional.]]></short-description>
-        <description><![CDATA[
-          Set the a version number to get - 
- only works with the SOSGet on a file; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="vssserverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the location of the ss.ini file; 
- required.]]></short-description>
-        <description><![CDATA[
-          Set the path to the location of the ss.ini file; 
- required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="soscheckout" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.sos.SOSCheckout"
-      >
-
-  <short-description><![CDATA[Retrieves and locks files in Visual SourceSafe via a SourceOffSite server.]]></short-description>
-  <description>
-    <![CDATA[Retrieves and locks files in Visual SourceSafe via a SourceOffSite server.
-
- <p>
- The following attributes are interpretted:
- <table border="1">
-   <tr>
-     <th>Attribute</th>
-     <th>Values</th>
-     <th>Required</th>
-   </tr>
-   <tr>
-     <td>soscmddir</td>
-     <td>Directory which contains soscmd(.exe) <br>
-     soscmd(.exe) must be in the path if this is not specified</td>
-     <td>No</td>
-   </tr>
-   <tr>
-      <td>vssserverpath</td>
-      <td>path to the srcsafe.ini  - eg. \\server\vss\srcsafe.ini</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>sosserverpath</td>
-      <td>address and port of the SOS server  - eg. 192.168.0.1:8888</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>projectpath</td>
-      <td>SourceSafe project path without the "$"</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>file</td>
-      <td>Filename to act upon<br> If no file is specified then act upon the project</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>username</td>
-      <td>SourceSafe username</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>password</td>
-      <td>SourceSafe password</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>localpath</td>
-      <td>Override the working directory and get to the specified path</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>soshome</td>
-      <td>The path to the SourceOffSite home directory</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>nocompression</td>
-      <td>true or false - disable compression</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>recursive</td>
-      <td>true or false - Only works with the CheckOutProject command</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>nocache</td>
-      <td>true or false - Only needed if SOSHOME is set as an enviroment variable</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>verbose</td>
-      <td>true or false - Status messages are displayed</td>
-      <td>No</td>
-   </tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Comment to apply to all files being labelled;
- optional, only valid in SOSLabel.]]></short-description>
-        <description><![CDATA[
-          Set the comment to apply to all files being labelled;
- optional, only valid in SOSLabel
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Filename to act upon; optional.]]></short-description>
-        <description><![CDATA[
-          Set the Filename to act upon; optional.
- If no file is specified then the tasks 
- act upon the project
-        ]]></description>
-      </attribute>
-      <attribute name="label" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Labeled version to operate on in SourceSafe.]]></short-description>
-        <description><![CDATA[
-          Set the labeled version to operate on in SourceSafe
-        ]]></description>
-      </attribute>
-      <attribute name="localpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Override the working directory and get to the specified path; optional.]]></short-description>
-        <description><![CDATA[
-          Override the working directory and get to the specified path; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="nocache" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.]]></short-description>
-        <description><![CDATA[
-          flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.
-        ]]></description>
-      </attribute>
-      <attribute name="nocompress" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag that disables compression when set; optional, default.]]></short-description>
-        <description><![CDATA[
-          Flag that disables compression when set; optional, default
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe password; optional.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe password; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="projectpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe project path without the "$" prefix; required.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe project path without the "$" prefix; required
-        ]]></description>
-      </attribute>
-      <attribute name="recursive" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false.]]></short-description>
-        <description><![CDATA[
-          Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="soscmd" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.]]></short-description>
-        <description><![CDATA[
-          Set the directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.
-        ]]></description>
-      </attribute>
-      <attribute name="soshome" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The path to the SourceOffSite home directory.]]></short-description>
-        <description><![CDATA[
-          The path to the SourceOffSite home directory
-        ]]></description>
-      </attribute>
-      <attribute name="sosserverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.]]></short-description>
-        <description><![CDATA[
-          Set the address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.
-        ]]></description>
-      </attribute>
-      <attribute name="username" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe username; required.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe username; required.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Enable verbose output; optional, default false.]]></short-description>
-        <description><![CDATA[
-          Enable verbose output; optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[A version number to get - 
- only works with the SOSGet on a file; optional.]]></short-description>
-        <description><![CDATA[
-          Set the a version number to get - 
- only works with the SOSGet on a file; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="vssserverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the location of the ss.ini file; 
- required.]]></short-description>
-        <description><![CDATA[
-          Set the path to the location of the ss.ini file; 
- required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="sosget" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.sos.SOSGet"
-      >
-
-  <short-description><![CDATA[Retrieves a read-only copy of the specified project or file from Visual SourceSafe via a SourceOffSite server.]]></short-description>
-  <description>
-    <![CDATA[Retrieves a read-only copy of the specified project or file
- from Visual SourceSafe via a SourceOffSite server.
- <p>
- The following attributes are interpretted:
- <table border="1">
-    <tbody>
-      <tr>
-         <th>Attribute</th>
-         <th>Values</th>
-         <th>Required</th>
-       </tr>
-       <tr>
-         <td>soscmddir</td>
-         <td>Directory which contains soscmd(.exe) <br>
-         soscmd(.exe) must be in the path if this is not specified</td>
-         <td>No</td>
-       </tr>
-       <tr>
-          <td>vssserverpath</td>
-          <td>path to the srcsafe.ini  - eg. \\server\vss\srcsafe.ini</td>
-          <td>Yes</td>
-       </tr>
-       <tr>
-          <td>sosserverpath</td>
-          <td>address and port of the SOS server  - eg. 192.168.0.1:8888</td>
-          <td>Yes</td>
-       </tr>
-       <tr>
-          <td>projectpath</td>
-          <td>SourceSafe project path without the "$"</td>
-          <td>Yes</td>
-       </tr>
-       <tr>
-          <td>file</td>
-          <td>Filename to act upon<br>
-              If no file is specified then act upon the project</td>
-          <td>No</td>
-       </tr>
-       <tr>
-          <td>username</td>
-          <td>SourceSafe username</td>
-          <td>Yes</td>
-       </tr>
-       <tr>
-          <td>password</td>
-          <td>SourceSafe password</td>
-          <td>No</td>
-       </tr>
-       <tr>
-          <td>localpath</td>
-          <td>Override the working directory and get to the specified path</td>
-          <td>No</td>
-       </tr>
-       <tr>
-          <td>soshome</td>
-          <td>The path to the SourceOffSite home directory</td>
-          <td>No</td>
-       </tr>
-       <tr>
-          <td>nocompression</td>
-          <td>true or false - disable compression</td>
-          <td>No</td>
-       </tr>
-       <tr>
-          <td>recursive</td>
-          <td>true or false - Only works with the GetProject command</td>
-          <td>No</td>
-       </tr>
-       <tr>
-          <td>version</td>
-          <td>a version number to get - Only works with the GetFile command</td>
-          <td>No</td>
-       </tr>
-       <tr>
-          <td>label</td>
-          <td>a label version to get - Only works with the GetProject command</td>
-          <td>No</td>
-       </tr>
-       <tr>
-          <td>nocache</td>
-          <td>true or false - Only needed if SOSHOME is set as an enviroment variable</td>
-          <td>No</td>
-       </tr>
-       <tr>
-          <td>verbose</td>
-         <td>true or false - Status messages are displayed</td>
-        <td>No</td>
-      </tr>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Comment to apply to all files being labelled;
- optional, only valid in SOSLabel.]]></short-description>
-        <description><![CDATA[
-          Set the comment to apply to all files being labelled;
- optional, only valid in SOSLabel
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Filename to act upon; optional.]]></short-description>
-        <description><![CDATA[
-          Set the Filename to act upon; optional.
- If no file is specified then the tasks 
- act upon the project
-        ]]></description>
-      </attribute>
-      <attribute name="label" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Labeled version to operate on in SourceSafe.]]></short-description>
-        <description><![CDATA[
-          Set the labeled version to operate on in SourceSafe
-        ]]></description>
-      </attribute>
-      <attribute name="localpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Override the working directory and get to the specified path; optional.]]></short-description>
-        <description><![CDATA[
-          Override the working directory and get to the specified path; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="nocache" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.]]></short-description>
-        <description><![CDATA[
-          flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.
-        ]]></description>
-      </attribute>
-      <attribute name="nocompress" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag that disables compression when set; optional, default.]]></short-description>
-        <description><![CDATA[
-          Flag that disables compression when set; optional, default
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe password; optional.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe password; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="projectpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe project path without the "$" prefix; required.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe project path without the "$" prefix; required
-        ]]></description>
-      </attribute>
-      <attribute name="recursive" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false.]]></short-description>
-        <description><![CDATA[
-          Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="soscmd" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.]]></short-description>
-        <description><![CDATA[
-          Set the directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.
-        ]]></description>
-      </attribute>
-      <attribute name="soshome" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The path to the SourceOffSite home directory.]]></short-description>
-        <description><![CDATA[
-          The path to the SourceOffSite home directory
-        ]]></description>
-      </attribute>
-      <attribute name="sosserverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.]]></short-description>
-        <description><![CDATA[
-          Set the address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.
-        ]]></description>
-      </attribute>
-      <attribute name="username" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe username; required.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe username; required.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Enable verbose output; optional, default false.]]></short-description>
-        <description><![CDATA[
-          Enable verbose output; optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[A version number to get - 
- only works with the SOSGet on a file; optional.]]></short-description>
-        <description><![CDATA[
-          Set the a version number to get - 
- only works with the SOSGet on a file; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="vssserverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the location of the ss.ini file; 
- required.]]></short-description>
-        <description><![CDATA[
-          Set the path to the location of the ss.ini file; 
- required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="soslabel" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.sos.SOSLabel"
-      >
-
-  <short-description><![CDATA[Labels Visual SourceSafe files via a SourceOffSite server.]]></short-description>
-  <description>
-    <![CDATA[Labels Visual SourceSafe files via a SourceOffSite server.
- <p>
- The following attributes are interpreted:
- <table border="1">
-   <tr>
-     <th>Attribute</th>
-     <th>Values</th>
-     <th>Required</th>
-   </tr>
-   <tr>
-     <td>soscmddir</td>
-     <td>Directory which contains soscmd(.exe) <br>
-     soscmd(.exe) must be in the path if this is not specified</td>
-     <td>No</td>
-   </tr>
-   <tr>
-      <td>vssserverpath</td>
-      <td>path to the srcsafe.ini  - eg. \\server\vss\srcsafe.ini</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>sosserverpath</td>
-      <td>address and port of the SOS server  - eg. 192.168.0.1:8888</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>projectpath</td>
-      <td>SourceSafe project path without the "$"</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>username</td>
-      <td>SourceSafe username</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>password</td>
-      <td>SourceSafe password</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>label</td>
-      <td>The label to apply to a project</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>comment</td>
-      <td>A comment to be applied to all files being labeled</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>verbose</td>
-      <td>true or false - Status messages are displayed</td>
-      <td>No</td>
-   </tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Comment to apply to all files being labelled;
- optional, only valid in SOSLabel.]]></short-description>
-        <description><![CDATA[
-          Set the comment to apply to all files being labelled;
- optional, only valid in SOSLabel
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Filename to act upon; optional.]]></short-description>
-        <description><![CDATA[
-          Set the Filename to act upon; optional.
- If no file is specified then the tasks 
- act upon the project
-        ]]></description>
-      </attribute>
-      <attribute name="label" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Labeled version to operate on in SourceSafe.]]></short-description>
-        <description><![CDATA[
-          Set the labeled version to operate on in SourceSafe
-        ]]></description>
-      </attribute>
-      <attribute name="localpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Override the working directory and get to the specified path; optional.]]></short-description>
-        <description><![CDATA[
-          Override the working directory and get to the specified path; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="nocache" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.]]></short-description>
-        <description><![CDATA[
-          flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.
-        ]]></description>
-      </attribute>
-      <attribute name="nocompress" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag that disables compression when set; optional, default.]]></short-description>
-        <description><![CDATA[
-          Flag that disables compression when set; optional, default
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe password; optional.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe password; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="projectpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe project path without the "$" prefix; required.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe project path without the "$" prefix; required
-        ]]></description>
-      </attribute>
-      <attribute name="recursive" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false.]]></short-description>
-        <description><![CDATA[
-          Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="soscmd" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.]]></short-description>
-        <description><![CDATA[
-          Set the directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.
-        ]]></description>
-      </attribute>
-      <attribute name="soshome" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The path to the SourceOffSite home directory.]]></short-description>
-        <description><![CDATA[
-          The path to the SourceOffSite home directory
-        ]]></description>
-      </attribute>
-      <attribute name="sosserverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.]]></short-description>
-        <description><![CDATA[
-          Set the address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.
-        ]]></description>
-      </attribute>
-      <attribute name="username" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe username; required.]]></short-description>
-        <description><![CDATA[
-          Set the SourceSafe username; required.
-        ]]></description>
-      </attribute>
-      <attribute name="verbose" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Enable verbose output; optional, default false.]]></short-description>
-        <description><![CDATA[
-          Enable verbose output; optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[A version number to get - 
- only works with the SOSGet on a file; optional.]]></short-description>
-        <description><![CDATA[
-          Set the a version number to get - 
- only works with the SOSGet on a file; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="vssserverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Path to the location of the ss.ini file; 
- required.]]></short-description>
-        <description><![CDATA[
-          Set the path to the location of the ss.ini file; 
- required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="sound" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.sound.SoundTask"
-      >
-
-  <short-description><![CDATA[Plays a sound file at the end of the build, according to whether the build failed or succeeded.]]></short-description>
-  <description>
-    <![CDATA[Plays a sound file at the end of the build, according to whether the build failed or succeeded.
-
- There are three attributes to be set:
-
- <code>source</code>: the location of the audio file to be played
- <code>duration</code>: play the sound file continuously until "duration" milliseconds has expired
- <code>loops</code>: the number of times the sound file should be played until stopped
-
- I have only tested this with .WAV and .AIFF sound file formats. Both seem
- to work fine.
-
- plans for the future:
- - use the midi api to define sounds (or drum beat etc) in xml and have
-   Ant play them back]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-    </attributes>
-
-    <elements>
-      <element name="fail" type="org.apache.tools.ant.taskdefs.optional.sound.SoundTask.BuildAlert"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a sound when the build fails.]]></short-description>
-        <description>
-          <![CDATA[add a sound when the build fails]]>
-        </description>
-      </element>
-
-      <element name="success" type="org.apache.tools.ant.taskdefs.optional.sound.SoundTask.BuildAlert"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a sound when the build succeeds.]]></short-description>
-        <description>
-          <![CDATA[add a sound when the build succeeds]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="splash" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.splash.SplashTask"
-      >
-
-  <short-description><![CDATA[Creates a splash screen.]]></short-description>
-  <description>
-    <![CDATA[Creates a splash screen. The splash screen is displayed
- for the duration of the build and includes a handy progress bar as
- well. Use in conjunction with the sound task to provide interest
- whilst waiting for your builds to complete...]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="imageurl" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[A URL pointing to an image to display; optional, default antlogo.gif
- from the classpath.]]></short-description>
-        <description><![CDATA[
-          A URL pointing to an image to display; optional, default antlogo.gif
- from the classpath.
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Proxy password; required if <tt>user</tt> is set.]]></short-description>
-        <description><![CDATA[
-          Proxy password; required if <tt>user</tt> is set.
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Proxy port; optional, default 80.]]></short-description>
-        <description><![CDATA[
-          Proxy port; optional, default 80.
-        ]]></description>
-      </attribute>
-      <attribute name="proxy" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of proxy; optional.]]></short-description>
-        <description><![CDATA[
-          name of proxy; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="showduration" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[How long to show the splash screen in milliseconds,
- optional; default 5000 ms.]]></short-description>
-        <description><![CDATA[
-          how long to show the splash screen in milliseconds,
- optional; default 5000 ms.
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Proxy user; optional, default =none.]]></short-description>
-        <description><![CDATA[
-          Proxy user; optional, default =none.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="sql" category="database"
-      classname="org.apache.tools.ant.taskdefs.SQLExec"
-      >
-
-  <short-description><![CDATA[Executes a series of SQL statements on a database using JDBC.]]></short-description>
-  <description>
-    <![CDATA[Executes a series of SQL statements on a database using JDBC.
-
- <p>Statements can
- either be read in from a text file using the <i>src</i> attribute or from 
- between the enclosing SQL tags.</p>
- <p>Multiple statements can be provided, separated by semicolons (or the 
- defined <i>delimiter</i>). Individual lines within the statements can be 
- commented using either --, // or REM at the start of the line.</p>
- <p>The <i>autocommit</i> attribute specifies whether auto-commit should be 
- turned on or off whilst executing the statements. If auto-commit is turned 
- on each statement will be executed and committed. If it is turned off the 
- statements will all be executed as one transaction.</p>
- <p>The <i>onerror</i> attribute specifies how to proceed when an error occurs 
- during the execution of one of the statements. 
- The possible values are: <b>continue</b> execution, only show the error;
- <b>stop</b> execution and commit transaction;
- and <b>abort</b> execution and transaction and fail task.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="append" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether output should be appended to or overwrite
- an existing file.]]></short-description>
-        <description><![CDATA[
-          whether output should be appended to or overwrite
- an existing file.  Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="autocommit" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Auto commit flag for database connection;
- optional, default false.]]></short-description>
-        <description><![CDATA[
-          Auto commit flag for database connection;
- optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="caching" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Caching loaders / driver.]]></short-description>
-        <description><![CDATA[
-          Caching loaders / driver. This is to avoid
- getting an OutOfMemoryError when calling this task
- multiple times in a row; default: true
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath for loading the driver.]]></short-description>
-        <description><![CDATA[
-          Sets the classpath for loading the driver.
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath for loading the driver 
- using the classpath reference.]]></short-description>
-        <description><![CDATA[
-          Set the classpath for loading the driver 
- using the classpath reference.
-        ]]></description>
-      </attribute>
-      <attribute name="delimiter" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Delimiter that separates SQL statements; 
- optional, default &quot;;&quot;
-
- <p>For example, set this to "go" and delimitertype to "ROW" for
- Sybase ASE or MS SQL Server.</p>.]]></short-description>
-        <description><![CDATA[
-          Set the delimiter that separates SQL statements; 
- optional, default &quot;;&quot;
-
- <p>For example, set this to "go" and delimitertype to "ROW" for
- Sybase ASE or MS SQL Server.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="delimitertype" type="org.apache.tools.ant.taskdefs.SQLExec.DelimiterType"
-                 briefType="&quot;normal&quot;, &quot;row&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Delimiter type: "normal" or "row" (default "normal").]]></short-description>
-        <description><![CDATA[
-          Set the delimiter type: "normal" or "row" (default "normal").
-
- <p>The delimiter type takes two values - normal and row. Normal
- means that any occurence of the delimiter terminate the SQL
- command whereas with row, only a line containing just the
- delimiter is recognized as the end of the command.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="driver" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Class name of the JDBC driver; required.]]></short-description>
-        <description><![CDATA[
-          Class name of the JDBC driver; required.
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[File encoding to use on the SQL files read in.]]></short-description>
-        <description><![CDATA[
-          Set the file encoding to use on the SQL files read in
-        ]]></description>
-      </attribute>
-      <attribute name="onerror" type="org.apache.tools.ant.taskdefs.SQLExec.OnError"
-                 briefType="&quot;continue&quot;, &quot;stop&quot;, &quot;abort&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Action to perform when statement fails: continue, stop, or abort
- optional; default &quot;abort&quot;.]]></short-description>
-        <description><![CDATA[
-          Action to perform when statement fails: continue, stop, or abort
- optional; default &quot;abort&quot;
-        ]]></description>
-      </attribute>
-      <attribute name="output" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Output file; 
- optional, defaults to the Ant log.]]></short-description>
-        <description><![CDATA[
-          Set the output file; 
- optional, defaults to the Ant log.
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Password; required.]]></short-description>
-        <description><![CDATA[
-          Sets the password; required.
-        ]]></description>
-      </attribute>
-      <attribute name="print" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Print result sets from the statements;
- optional, default false.]]></short-description>
-        <description><![CDATA[
-          Print result sets from the statements;
- optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="rdbms" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Execute task only if the lower case product name 
- of the DB matches this.]]></short-description>
-        <description><![CDATA[
-          Execute task only if the lower case product name 
- of the DB matches this
-        ]]></description>
-      </attribute>
-      <attribute name="showheaders" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Print headers for result sets from the 
- statements; optional, default true.]]></short-description>
-        <description><![CDATA[
-          Print headers for result sets from the 
- statements; optional, default true.
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the SQL file to be run.]]></short-description>
-        <description><![CDATA[
-          Set the name of the SQL file to be run.
- Required unless statements are enclosed in the buildfile
-        ]]></description>
-      </attribute>
-      <attribute name="url" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Database connection URL; required.]]></short-description>
-        <description><![CDATA[
-          Sets the database connection URL; required.
-        ]]></description>
-      </attribute>
-      <attribute name="userid" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[User name for the connection; required.]]></short-description>
-        <description><![CDATA[
-          Set the user name for the connection; required.
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Version string, execute task only if 
- rdbms version match; optional.]]></short-description>
-        <description><![CDATA[
-          Sets the version string, execute task only if 
- rdbms version match; optional.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files (nested fileset attribute).]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files (nested fileset attribute).]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a path to the classpath for loading the driver.]]></short-description>
-        <description>
-          <![CDATA[Add a path to the classpath for loading the driver.]]>
-        </description>
-      </element>
-
-      <element name="transaction" type="org.apache.tools.ant.taskdefs.SQLExec.Transaction"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a SQL transaction to execute.]]></short-description>
-        <description>
-          <![CDATA[Add a SQL transaction to execute]]>
-        </description>
-      </element>
-
-    </elements>
-
-      <body >
-        <description><![CDATA[
-          Set an inline SQL command to execute. 
- NB: Properties are not expanded in this text.
-        ]]></description>
-      </body>
-
-  </structure>
-
-</task>
-
-
-<task name="stylebook" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.StyleBook"
-      >
-
-  <short-description><![CDATA[Executes the Apache Stylebook documentation generator.]]></short-description>
-  <description>
-    <![CDATA[Executes the Apache Stylebook documentation generator.
- Unlike the commandline version of this tool, all three arguments
- are required to run stylebook.
- <p>
- Being extended from &lt;Java&gt;, all the parent's attributes
- and options are available. Do not set any apart from the <tt>classpath</tt>
- as they are not guaranteed to be there in future.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="append" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, append output to existing file.]]></short-description>
-        <description><![CDATA[
-          If true, append output to existing file.
-        ]]></description>
-      </attribute>
-      <attribute name="book" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The book xml file that the documentation generation starts from; 
- required.]]></short-description>
-        <description><![CDATA[
-          The book xml file that the documentation generation starts from; 
- required.
-        ]]></description>
-      </attribute>
-      <attribute name="classname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Java class to execute.]]></short-description>
-        <description><![CDATA[
-          Sets the Java class to execute.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used when running the Java class.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used when running the Java class
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to use, by reference.]]></short-description>
-        <description><![CDATA[
-          Classpath to use, by reference.
-        ]]></description>
-      </attribute>
-      <attribute name="dir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The working directory of the process.]]></short-description>
-        <description><![CDATA[
-          The working directory of the process
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, then fail if the command exits with a
- returncode other than 0.]]></short-description>
-        <description><![CDATA[
-          If true, then fail if the command exits with a
- returncode other than 0
-        ]]></description>
-      </attribute>
-      <attribute name="fork" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, execute in a new VM.]]></short-description>
-        <description><![CDATA[
-          If true, execute in a new VM.
-        ]]></description>
-      </attribute>
-      <attribute name="jvmversion" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[JVM version.]]></short-description>
-        <description><![CDATA[
-          Sets the JVM version.
-        ]]></description>
-      </attribute>
-      <attribute name="jar" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The location of the JAR file to execute.]]></short-description>
-        <description><![CDATA[
-          The location of the JAR file to execute.
-        ]]></description>
-      </attribute>
-      <attribute name="jvm" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Command used to start the VM (only if not forking).]]></short-description>
-        <description><![CDATA[
-          Set the command used to start the VM (only if not forking).
-        ]]></description>
-      </attribute>
-      <attribute name="jvmargs" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Command line arguments for the JVM.]]></short-description>
-        <description><![CDATA[
-          Set the command line arguments for the JVM.
-        ]]></description>
-      </attribute>
-      <attribute name="loaderconfig" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[A loader configuration to send to stylebook; optional.]]></short-description>
-        <description><![CDATA[
-          A loader configuration to send to stylebook; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="maxmemory" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Corresponds to -mx or -Xmx depending on VM version.]]></short-description>
-        <description><![CDATA[
-          Corresponds to -mx or -Xmx depending on VM version.
-        ]]></description>
-      </attribute>
-      <attribute name="newenvironment" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, use a completely new environment.]]></short-description>
-        <description><![CDATA[
-          If true, use a completely new environment.
-
- <p>Will be ignored if we are not forking a new VM.
-        ]]></description>
-      </attribute>
-      <attribute name="output" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[File the output of the process is redirected to.]]></short-description>
-        <description><![CDATA[
-          File the output of the process is redirected to.
-        ]]></description>
-      </attribute>
-      <attribute name="skindirectory" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The directory that contains the stylebook skin;
- required.]]></short-description>
-        <description><![CDATA[
-          the directory that contains the stylebook skin;
- required.
-        ]]></description>
-      </attribute>
-      <attribute name="targetdirectory" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The destination directory where the documentation is generated;
- required.]]></short-description>
-        <description><![CDATA[
-          the destination directory where the documentation is generated;
- required.
-        ]]></description>
-      </attribute>
-      <attribute name="timeout" type="java.lang.Long"
-                 briefType="long" required="NOTDEFINED">
-        <short-description><![CDATA[Timeout in milliseconds after which the process will be killed.]]></short-description>
-        <description><![CDATA[
-          Timeout in milliseconds after which the process will be killed.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="env" type="org.apache.tools.ant.types.Environment.Variable"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds an environment variable.]]></short-description>
-        <description>
-          <![CDATA[Adds an environment variable.
-
- <p>Will be ignored if we are not forking a new VM.]]>
-        </description>
-      </element>
-
-      <element name="sysproperty" type="org.apache.tools.ant.types.Environment.Variable"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a system property.]]></short-description>
-        <description>
-          <![CDATA[Adds a system property.]]>
-        </description>
-      </element>
-
-      <element name="arg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a command-line argument.]]></short-description>
-        <description>
-          <![CDATA[Adds a command-line argument.]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a path to the classpath.]]></short-description>
-        <description>
-          <![CDATA[Adds a path to the classpath.]]>
-        </description>
-      </element>
-
-      <element name="jvmarg" type="org.apache.tools.ant.types.Commandline.Argument"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a JVM argument.]]></short-description>
-        <description>
-          <![CDATA[Adds a JVM argument.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="tar" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.Tar"
-      matchingTask="true">
-
-  <!-- tar task -->
-<external>
-<description>
-<p>Creates a tar archive.</p>
-
-<p>The <i>basedir</i> attribute is the reference directory from where to tar.</p>
-
-<p>This task is a <a href="../dirtasks.html#directorybasedtasks">directory based task</a>
-and, as such, forms an implicit <a href="../CoreTypes/fileset.html">Fileset</a>. This
-defines which files, relative to the <i>basedir</i>, will be included in the
-archive. The tar task supports all the attributes of Fileset to refine the
-set of files to be included in the implicit fileset.</p>
-
-<p>In addition to the implicit fileset, the tar task supports nested filesets. These
-filesets are extended to allow control over the access mode, username and groupname
-to be applied to the tar entries. This is useful, for example, when preparing archives for
-Unix systems where some files need to have execute permission.</p>
-
-<p>Early versions of tar did not support path lengths greater than 100
-characters. Modern versions of tar do so, but in incompatible ways.
-The behaviour of the tar task when it encounters such paths is
-controlled by the <i>longfile</i> attribute.
-If the longfile attribute is set to <code>fail</code>, any long paths will
-cause the tar task to fail.  If the longfile attribute is set to
-<code>truncate</code>, any long paths will be truncated to the 100 character
-maximum length prior to adding to the archive. If the value of the longfile
-attribute is set to <code>omit</code> then files containing long paths will be
-omitted from the archive.  Either option ensures that the archive can be
-untarred by any compliant version of tar. If the loss of path or file
-information is not acceptable, and it rarely is, longfile may be set to the
-value <code>gnu</code>. The tar task will then produce a GNU tar file which
-can have arbitrary length paths. Note however, that the resulting archive will
-only be able to be untarred with GNU tar.  The default for the longfile
-attribute is <code>warn</code> which behaves just like the gnu option except
-that it produces a warning for each file path encountered that does not match
-the limit.</p>
-
-<p>Note that this task does not perform compression. You might want to use the
-<a href="gzip.html">GZip</a> task to prepare a .tar.gz package.</p>
-</description>
-
-<section anchor="examples" name="Examples">
-<pre>  &lt;tar tarfile=&quot;${dist}/manual.tar&quot; basedir=&quot;htdocs/manual&quot;/&gt;
-  &lt;gzip zipfile=&quot;${dist}/manual.tar.gz&quot; src=&quot;${dist}/manual.tar&quot;/&gt;</pre>
-<p>tars all files in the <code>htdocs/manual</code> directory into a file called <code>manual.tar</code>
-in the <code>${dist}</code>  directory, then applies the gzip task to compress
-it.</p>
-<pre>  &lt;tar destfile=&quot;${dist}/manual.tar&quot;
-       basedir=&quot;htdocs/manual&quot;
-       excludes=&quot;mydocs/**, **/todo.html&quot;
-  /&gt;</pre>
-<p>tars all files in the <code>htdocs/manual</code> directory into a file called <code>manual.tar</code>
-in the <code>${dist}</code> directory. Files in the directory <code>mydocs</code>,
-or files with the name <code>todo.html</code> are excluded.</p>
-
-<pre>
-&lt;tar destfile=&quot;${basedir}/docs.tar&quot;&gt;
-  &lt;tarfileset dir=&quot;${dir.src}/docs&quot;
-              fullpath=&quot;/usr/doc/ant/README&quot;
-              preserveLeadingSlashes=&quot;true&quot;&gt;
-    &lt;include name=&quot;readme.txt&quot;/&gt;
-  &lt;/tarfileset&gt;
-  &lt;tarfileset dir=&quot;${dir.src}/docs&quot;
-              prefix=&quot;/usr/doc/ant&quot;
-              preserveLeadingSlashes=&quot;true&quot;&gt;
-    &lt;include name=&quot;*.html&quot;/&gt;
-  &lt;/tarfileset&gt;
-&lt;/tar&gt;</pre>
-
-<p>
-  Writes the file <code>docs/readme.txt</code> as
-  <code>/usr/doc/ant/README</code> into the archive. All
-  <code>*.html</code> files in the <code>docs</code> directory are
-  prefixed by <code>/usr/doc/ant</code>, so for example
-  <code>docs/index.html</code> is written as
-  <code>/usr/doc/ant/index.html</code> to the archive.
-</p>
-
-<pre>&lt;tar longfile=&quot;gnu&quot;
-     destfile=&quot;${dist.base}/${dist.name}-src.tar&quot; &gt;
-  &lt;tarfileset dir=&quot;${dist.name}/..&quot; mode=&quot;755&quot; username=&quot;ant&quot; group=&quot;ant&quot;&gt;
-    &lt;include name=&quot;${dist.name}/bootstrap.sh&quot;/&gt;
-    &lt;include name=&quot;${dist.name}/build.sh&quot;/&gt;
-  &lt;/tarfileset&gt;
-  &lt;tarfileset dir=&quot;${dist.name}/..&quot; username=&quot;ant&quot; group=&quot;ant&quot;&gt;
-    &lt;include name=&quot;${dist.name}/**&quot;/&gt;
-    &lt;exclude name=&quot;${dist.name}/bootstrap.sh&quot;/&gt;
-    &lt;exclude name=&quot;${dist.name}/build.sh&quot;/&gt;
-  &lt;/tarfileset&gt;
-&lt;/tar&gt; </pre>
-
-<p>This example shows building a tar which uses the GNU extensions for long paths and
-where some files need to be marked as executable (mode 755)
-and the rest are use the default mode (read-write by owner). The first
-fileset selects just the executable files. The second fileset must exclude
-the executable files and include all others. </p>
-
-<p><strong>Note: </strong> The tar task does not ensure that a file is only selected
-by one fileset. If the same file is selected by more than one fileset, it will be included in the
-tar file twice, with the same path.</p>
-
-<p><strong>Note:</strong> The patterns in the include and exclude
-elements are considered to be relative to the corresponding dir
-attribute as with all other filesets.  In the example above,
-<code>${dist.name}</code> is not an absolute path, but a simple name
-of a directory, so <code>${dist.name}</code> is a valid path relative
-to <code>${dist.name}/..</code>.</p>
-
-</section>
-</external>
-
-  <short-description><![CDATA[Creates a tar archive.]]></short-description>
-  <description>
-    <![CDATA[Creates a tar archive.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="basedir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[This is the base directory to look in for things to tar.]]></short-description>
-        <description><![CDATA[
-          This is the base directory to look in for things to tar.
-        ]]></description>
-      </attribute>
-      <attribute name="compression" type="org.apache.tools.ant.taskdefs.Tar.TarCompressionMethod"
-                 briefType="&quot;none&quot;, &quot;gzip&quot;, &quot;bzip2&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Set compression method.]]></short-description>
-        <description><![CDATA[
-          Set compression method.
- Allowable values are
- <ul>
- <li>  none - no compression
- <li>  gzip - Gzip compression
- <li>  bzip2 - Bzip2 compression
- </ul>
-        ]]></description>
-      </attribute>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Set is the name/location of where to create the tar file.]]></short-description>
-        <description><![CDATA[
-          Set is the name/location of where to create the tar file.
-        ]]></description>
-      </attribute>
-      <attribute name="longfile" type="org.apache.tools.ant.taskdefs.Tar.TarLongFileMode"
-                 briefType="&quot;warn&quot;, &quot;fail&quot;, &quot;truncate&quot;, &quot;gnu&quot;, &quot;omit&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Set how to handle long files, those with a path&gt;100 chars.]]></short-description>
-        <description><![CDATA[
-          Set how to handle long files, those with a path&gt;100 chars.
- Optional, default=warn.
- <p>
- Allowable values are
- <ul>
- <li>  truncate - paths are truncated to the maximum length
- <li>  fail - paths greater than the maximim cause a build exception
- <li>  warn - paths greater than the maximum cause a warning and GNU is used
- <li>  gnu - GNU extensions are used for any paths greater than the maximum.
- <li>  omit - paths greater than the maximum are omitted from the archive
- </ul>
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="tarfileset" type="org.apache.tools.ant.taskdefs.Tar.TarFileSet"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a new fileset with the option to specify permissions.]]></short-description>
-        <description>
-          <![CDATA[Add a new fileset with the option to specify permissions]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="taskdef" category="internal"
-      classname="org.apache.tools.ant.taskdefs.Taskdef"
-      >
-
-  <short-description><![CDATA[Adds a task definition to the current project, such that this new task can be used in the current project.]]></short-description>
-  <description>
-    <![CDATA[Adds a task definition to the current project, such that this new task can be
- used in the current project. Two attributes are needed, the name that identifies
- this task uniquely, and the full name of the class (including the packages) that
- implements this task.</p>
- <p>You can also define a group of tasks at once using the file or
- resource attributes.  These attributes point to files in the format of
- Java property files.  Each line defines a single task in the
- format:</p>
- <pre>
- taskname=fully.qualified.java.classname
- </pre>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The full class name of the object being defined.]]></short-description>
-        <description><![CDATA[
-          the full class name of the object being defined.
- Required, unless file or resource have
- been specified.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used when searching for component being defined.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used when searching for component being defined
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Reference to a classpath to use when loading the files.]]></short-description>
-        <description><![CDATA[
-          reference to a classpath to use when loading the files.
- To actually share the same loader, set loaderref as well
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the property file  to load
- ant name/classname pairs from.]]></short-description>
-        <description><![CDATA[
-          Name of the property file  to load
- ant name/classname pairs from.
-        ]]></description>
-      </attribute>
-      <attribute name="loaderref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Use the reference to locate the loader.]]></short-description>
-        <description><![CDATA[
-          Use the reference to locate the loader. If the loader is not
- found, taskdef will use the specified classpath and register it
- with the specified name.
- This allow multiple taskdef/typedef to use the same class loader,
- so they can be used together. It eliminate the need to
- put them in the CLASSPATH.
-        ]]></description>
-      </attribute>
-      <attribute name="name" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the property resource to load
- ant name/classname pairs from.]]></short-description>
-        <description><![CDATA[
-          Name of the property resource to load
- ant name/classname pairs from.
-        ]]></description>
-      </attribute>
-      <attribute name="resource" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the property resource to load
- ant name/classname pairs from.]]></short-description>
-        <description><![CDATA[
-          Name of the property resource to load
- ant name/classname pairs from.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create the classpath to be used when searching for component being defined.]]></short-description>
-        <description>
-          <![CDATA[Create the classpath to be used when searching for component being defined]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="telnet" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.net.TelnetTask"
-      >
-
-  <short-description><![CDATA[Automates the telnet protocol.]]></short-description>
-  <description>
-    <![CDATA[Automates the telnet protocol.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="initialcr" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Send a carriage return after connecting; optional, defaults to false.]]></short-description>
-        <description><![CDATA[
-          send a carriage return after connecting; optional, defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The login password to use
- required if <tt>userid</tt> is set.]]></short-description>
-        <description><![CDATA[
-          Set the the login password to use
- required if <tt>userid</tt> is set.
-        ]]></description>
-      </attribute>
-      <attribute name="port" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Tcp port to connect to; default is 23.]]></short-description>
-        <description><![CDATA[
-          Set the tcp port to connect to; default is 23.
-        ]]></description>
-      </attribute>
-      <attribute name="server" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Hostname or address of the remote server.]]></short-description>
-        <description><![CDATA[
-          Set the hostname or address of the remote server.
-        ]]></description>
-      </attribute>
-      <attribute name="timeout" type="java.lang.Integer"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Default timeout in seconds to wait for a response, 
- zero means forever (the default).]]></short-description>
-        <description><![CDATA[
-          set a default timeout in seconds to wait for a response, 
- zero means forever (the default)
-        ]]></description>
-      </attribute>
-      <attribute name="userid" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The login id to use on the server; 
- required if <tt>password</tt> is set.]]></short-description>
-        <description><![CDATA[
-          Set the the login id to use on the server; 
- required if <tt>password</tt> is set.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="read" type="org.apache.tools.ant.taskdefs.optional.net.TelnetTask.TelnetSubTask"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[A string to wait for from the server.]]></short-description>
-        <description>
-          <![CDATA[A string to wait for from the server. 
-  A subTask &lt;read&gt; tag was found.  Create the object, 
-  Save it in our list, and return it.]]>
-        </description>
-      </element>
-
-      <element name="write" type="org.apache.tools.ant.taskdefs.optional.net.TelnetTask.TelnetSubTask"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add text to send to the server
-  A subTask &lt;write&gt; tag was found.]]></short-description>
-        <description>
-          <![CDATA[Add text to send to the server
-  A subTask &lt;write&gt; tag was found.  Create the object, 
-  Save it in our list, and return it.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="tempfile" category="other"
-      classname="org.apache.tools.ant.taskdefs.TempFile"
-      >
-
-  <short-description><![CDATA[This task sets a property to  the name of a temporary file.]]></short-description>
-  <description>
-    <![CDATA[This task sets a property to  the name of a temporary file. 
-  Unlike the Java1.2 method to create a temporary file, this task
-  does work on Java1.1. Also, it does not actually create the
-  temporary file, but it does guarantee that the file did not
-  exist when the task was executed. 
- <p>  
- Examples
- <pre>&lt;tempfile property="temp.file" /&gt;</pre>
- create a temporary file
- <pre>&lt;tempfile property="temp.file" suffix=".xml" /&gt;</pre>
- create a temporary file with the .xml suffix.
- <pre>&lt;tempfile property="temp.file" destDir="build"/&gt;</pre>
- create a temp file in the build subdir]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory.]]></short-description>
-        <description><![CDATA[
-          destination directory. If null, 
-the parent directory is used instead
-        ]]></description>
-      </attribute>
-      <attribute name="prefix" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Optional prefix string.]]></short-description>
-        <description><![CDATA[
-          optional prefix string
-        ]]></description>
-      </attribute>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The property you wish to assign the temporary file to.]]></short-description>
-        <description><![CDATA[
-          The property you wish to assign the temporary file to
-        ]]></description>
-      </attribute>
-      <attribute name="suffix" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Suffix string for the temp file (optional).]]></short-description>
-        <description><![CDATA[
-          Suffix string for the temp file (optional)
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="touch" category="filesystem"
-      classname="org.apache.tools.ant.taskdefs.Touch"
-      >
-
-  <short-description><![CDATA[Touch a file and/or fileset(s); corresponds to the Unix touch command.]]></short-description>
-  <description>
-    <![CDATA[Touch a file and/or fileset(s); corresponds to the Unix touch command.
-
- <p>If the file to touch doesn't exist, an empty one is
- created. </p>
-
- <p>Note: Setting the modification time of files is not supported in
- JDK 1.1.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="datetime" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The new modification time of the file
- in the format MM/DD/YYYY HH:MM AM <i>or</i> PM;
- Optional, default=now.]]></short-description>
-        <description><![CDATA[
-          the new modification time of the file
- in the format MM/DD/YYYY HH:MM AM <i>or</i> PM;
- Optional, default=now
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Single source file to touch.]]></short-description>
-        <description><![CDATA[
-          Sets a single source file to touch.  If the file does not exist
- an empty file will be created.
-        ]]></description>
-      </attribute>
-      <attribute name="millis" type="long"
-                 briefType="long" required="NOTDEFINED">
-        <short-description><![CDATA[The new modification time of the file
- in milliseconds since midnight Jan 1 1970.]]></short-description>
-        <description><![CDATA[
-          the new modification time of the file
- in milliseconds since midnight Jan 1 1970.
- Optional, default=now
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a set of files to touch.]]></short-description>
-        <description>
-          <![CDATA[Add a set of files to touch]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="translate" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.i18n.Translate"
-      matchingTask="true">
-
-  <short-description><![CDATA[Translates text embedded in files using Resource Bundle files.]]></short-description>
-  <description>
-    <![CDATA[Translates text embedded in files using Resource Bundle files.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="bundle" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets Family name of resource bundle; required.]]></short-description>
-        <description><![CDATA[
-          Sets Family name of resource bundle; required.
-        ]]></description>
-      </attribute>
-      <attribute name="bundlecountry" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets locale specific country of resource bundle; optional.]]></short-description>
-        <description><![CDATA[
-          Sets locale specific country of resource bundle; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="bundleencoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets Resource Bundle file encoding scheme; optional.]]></short-description>
-        <description><![CDATA[
-          Sets Resource Bundle file encoding scheme; optional.  Defaults to source file
- encoding
-        ]]></description>
-      </attribute>
-      <attribute name="bundlelanguage" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets locale specific language of resource bundle; optional.]]></short-description>
-        <description><![CDATA[
-          Sets locale specific language of resource bundle; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="bundlevariant" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets locale specific variant of resource bundle; optional.]]></short-description>
-        <description><![CDATA[
-          Sets locale specific variant of resource bundle; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="destencoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets destination file encoding scheme; optional.]]></short-description>
-        <description><![CDATA[
-          Sets destination file encoding scheme; optional.  Defaults to source file
- encoding
-        ]]></description>
-      </attribute>
-      <attribute name="endtoken" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets ending token to identify keys; required.]]></short-description>
-        <description><![CDATA[
-          Sets ending token to identify keys; required.
-        ]]></description>
-      </attribute>
-      <attribute name="forceoverwrite" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether or not to overwrite existing file irrespective of
- whether it is newer than the source file as well as the
- resource bundle file.]]></short-description>
-        <description><![CDATA[
-          Whether or not to overwrite existing file irrespective of
- whether it is newer than the source file as well as the
- resource bundle file.
- Defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="srcencoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets source file encoding scheme; optional,
- defaults to encoding of local system.]]></short-description>
-        <description><![CDATA[
-          Sets source file encoding scheme; optional,
- defaults to encoding of local system.
-        ]]></description>
-      </attribute>
-      <attribute name="starttoken" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Sets starting token to identify keys; required.]]></short-description>
-        <description><![CDATA[
-          Sets starting token to identify keys; required.
-        ]]></description>
-      </attribute>
-      <attribute name="todir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Sets Destination directory; required.]]></short-description>
-        <description><![CDATA[
-          Sets Destination directory; required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files to translate as a nested fileset element.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files to translate as a nested fileset element.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="tstamp" category="utility"
-      classname="org.apache.tools.ant.taskdefs.Tstamp"
-      >
-
-  <short-description><![CDATA[Sets properties to the current time, or offsets from the current time.]]></short-description>
-  <description>
-    <![CDATA[Sets properties to the current time, or offsets from the current time.
- The default properties are TSTAMP, DSTAMP and TODAY;]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="prefix" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Prefix for the properties.]]></short-description>
-        <description><![CDATA[
-          Set a prefix for the properties. If the prefix does not end with a "."
- one is automatically added
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="format" type="org.apache.tools.ant.taskdefs.Tstamp.CustomFormat"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create a custom format with the the current prefix.]]></short-description>
-        <description>
-          <![CDATA[create a custom format with the the current prefix.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="typedef" category="internal"
-      classname="org.apache.tools.ant.taskdefs.Typedef"
-      >
-
-  <short-description><![CDATA[Adds a data type definition to the current project.]]></short-description>
-  <description>
-    <![CDATA[Adds a data type definition to the current project.
- Two attributes are
- needed, the name that identifies this data type uniquely, and the full
- name of the class (including the packages) that implements this
- type.
- <p>You can also define a group of data types at once using the file or
- resource attributes.  These attributes point to files in the format of
- Java property files.   Each line defines a single data type in the
- format:</p>
- <pre>
- typename=fully.qualified.java.classname
- </pre>
- <p>Typedef should be used to add your own types to the system. Data
- types are things likepaths or filesets that can be defined at
- the project level and referenced via their ID attribute.</p>
- <p>Custom data types usually need custom tasks to put them to good use.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The full class name of the object being defined.]]></short-description>
-        <description><![CDATA[
-          the full class name of the object being defined.
- Required, unless file or resource have
- been specified.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used when searching for component being defined.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used when searching for component being defined
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Reference to a classpath to use when loading the files.]]></short-description>
-        <description><![CDATA[
-          reference to a classpath to use when loading the files.
- To actually share the same loader, set loaderref as well
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the property file  to load
- ant name/classname pairs from.]]></short-description>
-        <description><![CDATA[
-          Name of the property file  to load
- ant name/classname pairs from.
-        ]]></description>
-      </attribute>
-      <attribute name="loaderref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Use the reference to locate the loader.]]></short-description>
-        <description><![CDATA[
-          Use the reference to locate the loader. If the loader is not
- found, taskdef will use the specified classpath and register it
- with the specified name.
- This allow multiple taskdef/typedef to use the same class loader,
- so they can be used together. It eliminate the need to
- put them in the CLASSPATH.
-        ]]></description>
-      </attribute>
-      <attribute name="name" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the property resource to load
- ant name/classname pairs from.]]></short-description>
-        <description><![CDATA[
-          Name of the property resource to load
- ant name/classname pairs from.
-        ]]></description>
-      </attribute>
-      <attribute name="resource" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the property resource to load
- ant name/classname pairs from.]]></short-description>
-        <description><![CDATA[
-          Name of the property resource to load
- ant name/classname pairs from.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create the classpath to be used when searching for component being defined.]]></short-description>
-        <description>
-          <![CDATA[Create the classpath to be used when searching for component being defined]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="untar" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.Untar"
-      >
-
-  <short-description><![CDATA[Untar a file.]]></short-description>
-  <description>
-    <![CDATA[Untar a file.
- <p>For JDK 1.1 &quot;last modified time&quot; field is set to current time instead of being
- carried from the archive file.</p>
- <p>PatternSets are used to select files to extract
- <I>from</I> the archive.  If no patternset is used, all files are extracted.
- </p>
- <p>FileSet>s may be used used to select archived files
- to perform unarchival upon.
- </p>
- <p>File permissions will not be restored on extracted files.</p>
- <p>The untar task recognizes the long pathname entries used by GNU tar.<p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="compression" type="org.apache.tools.ant.taskdefs.Untar.UntarCompressionMethod"
-                 briefType="&quot;none&quot;, &quot;gzip&quot;, &quot;bzip2&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Set decompression algorithm to use; default=none.]]></short-description>
-        <description><![CDATA[
-          Set decompression algorithm to use; default=none.
-
- Allowable values are
- <ul>
-   <li>none - no compression
-   <li>gzip - Gzip compression
-   <li>bzip2 - Bzip2 compression
- </ul>
-        ]]></description>
-      </attribute>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory. File will be unzipped into the
- destination directory.
-        ]]></description>
-      </attribute>
-      <attribute name="overwrite" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Should we overwrite files in dest, even if they are newer than
- the corresponding entries in the archive?.]]></short-description>
-        <description><![CDATA[
-          Should we overwrite files in dest, even if they are newer than
- the corresponding entries in the archive?
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Path to zip-file.]]></short-description>
-        <description><![CDATA[
-          Set the path to zip-file.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a fileset.]]></short-description>
-        <description>
-          <![CDATA[Add a fileset]]>
-        </description>
-      </element>
-
-      <element name="patternset" type="org.apache.tools.ant.types.PatternSet"
-               briefType="Patternset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a patternset.]]></short-description>
-        <description>
-          <![CDATA[Add a patternset]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="unzip" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.Expand"
-      >
-
-  <short-description><![CDATA[Unzip a file.]]></short-description>
-  <description>
-    <![CDATA[Unzip a file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory. File will be unzipped into the
- destination directory.
-        ]]></description>
-      </attribute>
-      <attribute name="overwrite" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Should we overwrite files in dest, even if they are newer than
- the corresponding entries in the archive?.]]></short-description>
-        <description><![CDATA[
-          Should we overwrite files in dest, even if they are newer than
- the corresponding entries in the archive?
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Path to zip-file.]]></short-description>
-        <description><![CDATA[
-          Set the path to zip-file.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a fileset.]]></short-description>
-        <description>
-          <![CDATA[Add a fileset]]>
-        </description>
-      </element>
-
-      <element name="patternset" type="org.apache.tools.ant.types.PatternSet"
-               briefType="Patternset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a patternset.]]></short-description>
-        <description>
-          <![CDATA[Add a patternset]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="uptodate" category="control"
-      classname="org.apache.tools.ant.taskdefs.UpToDate"
-      >
-
-  <short-description><![CDATA[Sets the given property if the specified target has a timestamp greater than all of the source files.]]></short-description>
-  <description>
-    <![CDATA[Sets the given property if the specified target has a timestamp
- greater than all of the source files.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="property" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The property to set if the target file is more up-to-date than
- (each of) the source file(s).]]></short-description>
-        <description><![CDATA[
-          The property to set if the target file is more up-to-date than
- (each of) the source file(s).
-        ]]></description>
-      </attribute>
-      <attribute name="srcfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file that must be older than the target file
- if the property is to be set.]]></short-description>
-        <description><![CDATA[
-          The file that must be older than the target file
- if the property is to be set.
-        ]]></description>
-      </attribute>
-      <attribute name="targetfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file which must be more up-to-date than (each of) the source file(s)
- if the property is to be set.]]></short-description>
-        <description><![CDATA[
-          The file which must be more up-to-date than (each of) the source file(s)
- if the property is to be set.
-        ]]></description>
-      </attribute>
-      <attribute name="value" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The value to set the named property to if the target file is more
- up-to-date than (each of) the source file(s).]]></short-description>
-        <description><![CDATA[
-          The value to set the named property to if the target file is more
- up-to-date than (each of) the source file(s). Defaults to 'true'.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="srcfiles" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Nested &lt;srcfiles&gt; element.]]></short-description>
-        <description>
-          <![CDATA[Nested &lt;srcfiles&gt; element.]]>
-        </description>
-      </element>
-
-      <element name="mapper" type="org.apache.tools.ant.types.Mapper"
-               briefType="Mapper"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Defines the FileNameMapper to use (nested mapper element).]]></short-description>
-        <description>
-          <![CDATA[Defines the FileNameMapper to use (nested mapper element).]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vajexport" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ide.VAJExport"
-      >
-
-  <short-description><![CDATA[Export packages from the Visual Age for Java workspace.]]></short-description>
-  <description>
-    <![CDATA[Export packages from the Visual Age for Java workspace.
- The packages are specified similar to all other MatchingTasks.
- Since the VA Workspace is not file based, this task is simulating
- a directory hierarchy for the workspace:
- The 'root' contains all project 'dir's, and the projects contain
- their respective package 'dir's.
- Example:
- <blockquote>
- &lt;vajexport destdir="C:/builddir/source">
- &nbsp;&lt;include name="/MyVAProject/org/foo/subsystem1/**" />
- &nbsp;&lt;exclude name="/MyVAProject/org/foo/subsystem1/test/**"/>
- &lt;/vajexport>
- </blockquote>
- exports all packages in the project MyVAProject which start with
- 'org.foo.subsystem1' except of these starting with
- 'org.foo.subsystem1.test'.
-
- There are flags to choose which items to export:
- exportSources:   export Java sources
- exportResources: export project resources
- exportClasses:   export class files
- exportDebugInfo: export class files with debug info (use with exportClasses)
- default is exporting Java files and resources.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="defaultexcludes" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether default exclusions should be used or not; default true.]]></short-description>
-        <description><![CDATA[
-          Sets whether default exclusions should be used or not; default true.
-        ]]></description>
-      </attribute>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory into which the selected
- items should be exported; required.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory into which the selected
- items should be exported; required.
-        ]]></description>
-      </attribute>
-      <attribute name="excludes" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set of exclude patterns.]]></short-description>
-        <description><![CDATA[
-          Sets the set of exclude patterns. Patterns may be separated by a comma
- or a space. Currently only patterns denoting packages are
- supported
-        ]]></description>
-      </attribute>
-      <attribute name="exportclasses" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Optional flag to export the class files; default false.]]></short-description>
-        <description><![CDATA[
-          optional flag to export the class files; default false.
-        ]]></description>
-      </attribute>
-      <attribute name="exportdebuginfo" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Optional flag to export the debug info; default false.
- debug info.]]></short-description>
-        <description><![CDATA[
-          optional flag to export the debug info; default false.
- debug info
-        ]]></description>
-      </attribute>
-      <attribute name="exportresources" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Optional flag to export the resource file; default true.]]></short-description>
-        <description><![CDATA[
-          optional flag to export the resource file; default true.
-        ]]></description>
-      </attribute>
-      <attribute name="exportsources" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Optional flag to export the Java files; default true.]]></short-description>
-        <description><![CDATA[
-          optional flag to export the Java files; default true.
-        ]]></description>
-      </attribute>
-      <attribute name="includes" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Set of include patterns.]]></short-description>
-        <description><![CDATA[
-          Sets the set of include patterns. Patterns may be separated by a comma
- or a space. Currently only patterns denoting packages are
- supported
-        ]]></description>
-      </attribute>
-      <attribute name="overwrite" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If Overwrite is set, files will be overwritten during export.]]></short-description>
-        <description><![CDATA[
-          if Overwrite is set, files will be overwritten during export
-        ]]></description>
-      </attribute>
-      <attribute name="remote" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name and port of a remote tool server, optiona.]]></short-description>
-        <description><![CDATA[
-          Name and port of a remote tool server, optiona.
- Format: &lt;servername&gt;:&lt;port no&gt;.
- If this attribute is set, the tasks will be executed on the specified tool
- server.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="exclude" type="org.apache.tools.ant.types.PatternSet.NameEntry"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a name entry on the exclude list.]]></short-description>
-        <description>
-          <![CDATA[add a name entry on the exclude list]]>
-        </description>
-      </element>
-
-      <element name="include" type="org.apache.tools.ant.types.PatternSet.NameEntry"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a name entry on the include list.]]></short-description>
-        <description>
-          <![CDATA[add a name entry on the include list]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vajimport" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ide.VAJImport"
-      >
-
-  <short-description><![CDATA[Import source, class files, and resources to the Visual Age for Java workspace.]]></short-description>
-  <description>
-    <![CDATA[Import source, class files, and resources to the Visual Age for Java
- workspace.
- <p>
- Example:
- <pre>
- &lt;vajimport project="MyVAProject"&gt;
-   &lt;fileset dir="src"&gt;
-     &lt;include name="org/foo/subsystem1/**" /&gt;
-     &lt;exclude name="/org/foo/subsystem1/test/**" /&gt;
-  &lt;/fileset&gt;
- &lt;/vajexport&gt;
- </pre>
- import all source and resource files from the "src" directory
- which start with 'org.foo.subsystem1', except of these starting with
- 'org.foo.subsystem1.test' into the project MyVAProject.
- </p>
- <p>If MyVAProject isn't loaded into the Workspace, a new edition is
- created in the repository and automatically loaded into the Workspace.
- There has to be at least one nested FileSet element.
- </p>
- <p>There are attributes to choose which items to export:
- <table border="1" cellpadding="2" cellspacing="0">
- <tr>
-   <td valign="top"><b>Attribute</b></td>
-   <td valign="top"><b>Description</b></td>
-   <td align="center" valign="top"><b>Required</b></td>
- </tr>
- <tr>
-   <td valign="top">project</td>
-   <td valign="top">the name of the Project to import to</td>
-   <td align="center" valign="top">Yes</td>
- </tr>
- <tr>
-   <td valign="top">importSources</td>
-   <td valign="top">import Java sources, defaults to "yes"</td>
-   <td align="center" valign="top">No</td>
- </tr>
- <tr>
-   <td valign="top">importResources</td>
-   <td valign="top">import resource files (anything that doesn't
-                    end with .java or .class), defaults to "yes"</td>
-   <td align="center" valign="top">No</td>
- </tr>
- <tr>
-   <td valign="top">importClasses</td>
-   <td valign="top">import class files, defaults to "no"</td>
-   <td align="center" valign="top">No</td>
- </tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="defaultexcludes" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether default exclusions should be used or not.]]></short-description>
-        <description><![CDATA[
-          Sets whether default exclusions should be used or not.
-        ]]></description>
-      </attribute>
-      <attribute name="importclasses" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to import .class files; optional, default false.]]></short-description>
-        <description><![CDATA[
-          Flag to import .class files; optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="importresources" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Import resource files (anything that doesn't end in
- .class or .java); optional, default true.]]></short-description>
-        <description><![CDATA[
-          Import resource files (anything that doesn't end in
- .class or .java); optional, default true.
-        ]]></description>
-      </attribute>
-      <attribute name="importsources" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Import .java files; optional, default true.]]></short-description>
-        <description><![CDATA[
-          Import .java files; optional, default true.
-        ]]></description>
-      </attribute>
-      <attribute name="project" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The VisualAge for Java Project name to import into.]]></short-description>
-        <description><![CDATA[
-          The VisualAge for Java Project name to import into.
-        ]]></description>
-      </attribute>
-      <attribute name="remote" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name and port of a remote tool server, optiona.]]></short-description>
-        <description><![CDATA[
-          Name and port of a remote tool server, optiona.
- Format: &lt;servername&gt;:&lt;port no&gt;.
- If this attribute is set, the tasks will be executed on the specified tool
- server.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files (nested fileset attribute).]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files (nested fileset attribute).]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vajload" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ide.VAJLoad"
-      >
-
-  <short-description><![CDATA[Load specific project versions into the Visual Age for Java workspace.]]></short-description>
-  <description>
-    <![CDATA[Load specific project versions into the Visual Age for Java workspace.
- Each project and version name has to be specified completely.
- Example:  
- <blockquote> 
- &lt;vajload>
- &nbsp;&lt;project name="MyVAProject" version="2.1"/>
- &nbsp;&lt;project name="Apache Xerces" version="1.2.0"/>
- &lt;/vajload>
- </blockquote>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="remote" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name and port of a remote tool server, optiona.]]></short-description>
-        <description><![CDATA[
-          Name and port of a remote tool server, optiona.
- Format: &lt;servername&gt;:&lt;port no&gt;.
- If this attribute is set, the tasks will be executed on the specified tool
- server.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="vajproject" type="org.apache.tools.ant.taskdefs.optional.ide.VAJProjectDescription"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a project description entry on the project list.]]></short-description>
-        <description>
-          <![CDATA[Add a project description entry on the project list.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vssadd" category="scm"
-      classname="org.apache.tools.ant.taskdefs.optional.vss.MSVSSADD"
-      >
-
-  <short-description><![CDATA[Performs Add commands to Microsoft Visual SourceSafe.]]></short-description>
-  <description>
-    <![CDATA[Performs Add commands to Microsoft Visual SourceSafe.
- Based on the VSS Checkin code by Martin Poeschl]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="autoresponse" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[What to respond with (sets the -I option).]]></short-description>
-        <description><![CDATA[
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        ]]></description>
-      </attribute>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Comment to apply; optional.]]></short-description>
-        <description><![CDATA[
-          Sets the comment to apply; optional.
- <p>
- If this is null or empty, it will be replaced with "-" which
- is what SourceSafe uses for an empty comment.
-        ]]></description>
-      </attribute>
-      <attribute name="localpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Local path.]]></short-description>
-        <description><![CDATA[
-          Set the local path.
-        ]]></description>
-      </attribute>
-      <attribute name="login" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The login to use when accessing VSS, formatted as "username,password";
- optional.]]></short-description>
-        <description><![CDATA[
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- <p>
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        ]]></description>
-      </attribute>
-      <attribute name="recursive" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set behaviour recursive or non-recursive.]]></short-description>
-        <description><![CDATA[
-          Set behaviour recursive or non-recursive
-        ]]></description>
-      </attribute>
-      <attribute name="serverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>srssafe.ini</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          Set the directory where <code>srssafe.ini</code> resides; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="ssdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>ss.exe</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          directory where <code>ss.exe</code> resides; optional.
- By default the task expects it to be in the PATH.
-        ]]></description>
-      </attribute>
-      <attribute name="vsspath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required.]]></short-description>
-        <description><![CDATA[
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- <p>
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        ]]></description>
-      </attribute>
-      <attribute name="writable" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Leave added files writable?.]]></short-description>
-        <description><![CDATA[
-          Leave added files writable? Default: false.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vsscheckin" category="scm"
-      classname="org.apache.tools.ant.taskdefs.optional.vss.MSVSSCHECKIN"
-      >
-
-  <short-description><![CDATA[Performs CheckIn commands to Microsoft Visual SourceSafe.]]></short-description>
-  <description>
-    <![CDATA[Performs CheckIn commands to Microsoft Visual SourceSafe.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="autoresponse" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[What to respond with (sets the -I option).]]></short-description>
-        <description><![CDATA[
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        ]]></description>
-      </attribute>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Comment to apply; optional.]]></short-description>
-        <description><![CDATA[
-          Set the comment to apply; optional.
- <p>
- If this is null or empty, it will be replaced with "-" which
- is what SourceSafe uses for an empty comment.
-        ]]></description>
-      </attribute>
-      <attribute name="localpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Local path.]]></short-description>
-        <description><![CDATA[
-          Set the local path.
-        ]]></description>
-      </attribute>
-      <attribute name="login" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The login to use when accessing VSS, formatted as "username,password";
- optional.]]></short-description>
-        <description><![CDATA[
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- <p>
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        ]]></description>
-      </attribute>
-      <attribute name="recursive" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to tell the task to recurse down the tree;
- optional, default false.]]></short-description>
-        <description><![CDATA[
-          Flag to tell the task to recurse down the tree;
- optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="serverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>srssafe.ini</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          Set the directory where <code>srssafe.ini</code> resides; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="ssdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>ss.exe</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          directory where <code>ss.exe</code> resides; optional.
- By default the task expects it to be in the PATH.
-        ]]></description>
-      </attribute>
-      <attribute name="vsspath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required.]]></short-description>
-        <description><![CDATA[
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- <p>
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        ]]></description>
-      </attribute>
-      <attribute name="writable" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Leave checked in files writable?.]]></short-description>
-        <description><![CDATA[
-          Leave checked in files writable? Default: false.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vsscheckout" category="scm"
-      classname="org.apache.tools.ant.taskdefs.optional.vss.MSVSSCHECKOUT"
-      >
-
-  <short-description><![CDATA[Performs CheckOut commands to Microsoft Visual SourceSafe.]]></short-description>
-  <description>
-    <![CDATA[Performs CheckOut commands to Microsoft Visual SourceSafe.
- <p>If you specify two or more attributes from version, date and 
- label only one will be used in the order version, date, label.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="autoresponse" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[What to respond with (sets the -I option).]]></short-description>
-        <description><![CDATA[
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        ]]></description>
-      </attribute>
-      <attribute name="date" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Date to get;
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.]]></short-description>
-        <description><![CDATA[
-          Set the date to get;
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.
-        ]]></description>
-      </attribute>
-      <attribute name="label" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Label to get;
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.]]></short-description>
-        <description><![CDATA[
-          Set the label to get;
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.
-        ]]></description>
-      </attribute>
-      <attribute name="localpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Local path.]]></short-description>
-        <description><![CDATA[
-          Set the local path.
-        ]]></description>
-      </attribute>
-      <attribute name="login" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The login to use when accessing VSS, formatted as "username,password";
- optional.]]></short-description>
-        <description><![CDATA[
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- <p>
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        ]]></description>
-      </attribute>
-      <attribute name="recursive" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to tell the task to recurse down the tree;
- optional, default false.]]></short-description>
-        <description><![CDATA[
-          Flag to tell the task to recurse down the tree;
- optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="serverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>srssafe.ini</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          Set the directory where <code>srssafe.ini</code> resides; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="ssdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>ss.exe</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          directory where <code>ss.exe</code> resides; optional.
- By default the task expects it to be in the PATH.
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Version to get;
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.]]></short-description>
-        <description><![CDATA[
-          Set the version to get;
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.
-        ]]></description>
-      </attribute>
-      <attribute name="vsspath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required.]]></short-description>
-        <description><![CDATA[
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- <p>
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vsscp" category="scm"
-      classname="org.apache.tools.ant.taskdefs.optional.vss.MSVSSCP"
-      >
-
-  <short-description><![CDATA[Performs CP (Change Project) commands to Microsoft Visual SourceSafe.]]></short-description>
-  <description>
-    <![CDATA[Performs CP (Change Project) commands to Microsoft Visual SourceSafe.
- <p>This task is typically used before a VssAdd in order to set the target project</p>
- Based on the VSS Checkin code by Martin Poeschl]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="autoresponse" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[What to respond with (sets the -I option).]]></short-description>
-        <description><![CDATA[
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        ]]></description>
-      </attribute>
-      <attribute name="login" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The login to use when accessing VSS, formatted as "username,password";
- optional.]]></short-description>
-        <description><![CDATA[
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- <p>
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        ]]></description>
-      </attribute>
-      <attribute name="serverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>srssafe.ini</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          Set the directory where <code>srssafe.ini</code> resides; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="ssdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>ss.exe</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          directory where <code>ss.exe</code> resides; optional.
- By default the task expects it to be in the PATH.
-        ]]></description>
-      </attribute>
-      <attribute name="vsspath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required.]]></short-description>
-        <description><![CDATA[
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- <p>
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vsscreate" category="scm"
-      classname="org.apache.tools.ant.taskdefs.optional.vss.MSVSSCREATE"
-      >
-
-  <short-description><![CDATA[Creates a new project in Microsoft Visual SourceSafe.]]></short-description>
-  <description>
-    <![CDATA[Creates a new project in Microsoft Visual SourceSafe.
- <p>
- The following attributes are interpreted:
- <table border="1">
-   <tr>
-     <th>Attribute</th>
-     <th>Values</th>
-     <th>Required</th>
-   </tr>
-   <tr>
-      <td>login</td>
-      <td>username,password</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>vsspath</td>
-      <td>SourceSafe path of project to be created</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>ssdir</td>
-      <td>directory where <code>ss.exe</code> resides. By default the task
-      expects it to be in the PATH.</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>quiet</td>
-      <td>suppress output (off by default)</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>failOnError</td>
-      <td>fail if there is an error creating the project (true by default)</td>
-      <td>No</td>
-   </tr>   
-   <tr>
-      <td>autoresponse</td>
-      <td>What to respond with (sets the -I option). By default, -I- is
-      used; values of Y or N will be appended to this.</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>comment</td>
-      <td>The comment to use for this label. Empty or '-' for no comment.</td>
-      <td>No</td>
-   </tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="autoresponse" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[What to respond with (sets the -I option).]]></short-description>
-        <description><![CDATA[
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        ]]></description>
-      </attribute>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Comment to apply in SourceSafe.]]></short-description>
-        <description><![CDATA[
-          Sets the comment to apply in SourceSafe.
- <p>
- If this is null or empty, it will be replaced with "-" which
- is what SourceSafe uses for an empty comment.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets whether task should fail if there is an error creating the project;
- optional, default true.]]></short-description>
-        <description><![CDATA[
-          Sets whether task should fail if there is an error creating the project;
- optional, default true.
-        ]]></description>
-      </attribute>
-      <attribute name="login" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The login to use when accessing VSS, formatted as "username,password";
- optional.]]></short-description>
-        <description><![CDATA[
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- <p>
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        ]]></description>
-      </attribute>
-      <attribute name="quiet" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Sets/clears quiet mode; optional, default false.]]></short-description>
-        <description><![CDATA[
-          Sets/clears quiet mode; optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="serverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>srssafe.ini</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          Set the directory where <code>srssafe.ini</code> resides; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="ssdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>ss.exe</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          directory where <code>ss.exe</code> resides; optional.
- By default the task expects it to be in the PATH.
-        ]]></description>
-      </attribute>
-      <attribute name="vsspath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required.]]></short-description>
-        <description><![CDATA[
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- <p>
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vssget" category="scm"
-      classname="org.apache.tools.ant.taskdefs.optional.vss.MSVSSGET"
-      >
-
-  <short-description><![CDATA[Perform Get commands to Microsoft Visual SourceSafe.]]></short-description>
-  <description>
-    <![CDATA[Perform Get commands to Microsoft Visual SourceSafe.
- <p>
- The following attributes are interpreted:
- <table border="1">
-   <tr>
-     <th>Attribute</th>
-     <th>Values</th>
-     <th>Required</th>
-   </tr>
-   <tr>
-      <td>login</td>
-      <td>username,password</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>vsspath</td>
-      <td>SourceSafe path</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>localpath</td>
-      <td>Override the working directory and get to the specified path</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>writable</td>
-      <td>true or false</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>recursive</td>
-      <td>true or false</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>version</td>
-      <td>a version number to get</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>date</td>
-      <td>a date stamp to get at</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>label</td>
-      <td>a label to get for</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>quiet</td>
-      <td>suppress output (off by default)</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>autoresponse</td>
-      <td>What to respond with (sets the -I option). By default, -I- is
-      used; values of Y or N will be appended to this.</td>
-      <td>No</td>
-   </tr>
- </table>
- <p>Note that only one of version, date or label should be specified</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="autoresponse" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[What to respond with (sets the -I option).]]></short-description>
-        <description><![CDATA[
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        ]]></description>
-      </attribute>
-      <attribute name="date" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Date to get;
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.]]></short-description>
-        <description><![CDATA[
-          Set the date to get;
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.
- <p>
- ORIGINAL COMMENT THAT DOES NOT SEEM AT ALL VALID:
- Note we assume that if the supplied string has the value "null" that something
- went wrong and that the string value got populated from a null object. This
- happens if a ant variable is used e.g. date="${date}" when date
- has not been defined to ant!
-        ]]></description>
-      </attribute>
-      <attribute name="label" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Label to get;
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.]]></short-description>
-        <description><![CDATA[
-          Set the label to get;
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.
- <p>
- Note we assume that if the supplied string has the value "null" that something
- went wrong and that the string value got populated from a null object. This
- happens if a ant variable is used e.g. label="${label_server}" when label_server
- has not been defined to ant!
-        ]]></description>
-      </attribute>
-      <attribute name="localpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Override the working directory and get to the specified path; optional.]]></short-description>
-        <description><![CDATA[
-          Override the working directory and get to the specified path; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="login" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The login to use when accessing VSS, formatted as "username,password";
- optional.]]></short-description>
-        <description><![CDATA[
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- <p>
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        ]]></description>
-      </attribute>
-      <attribute name="quiet" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to suppress output when true ; false by default.]]></short-description>
-        <description><![CDATA[
-          Flag to suppress output when true ; false by default.
-        ]]></description>
-      </attribute>
-      <attribute name="recursive" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to tell the task to recurse down the tree;
- optional, default false.]]></short-description>
-        <description><![CDATA[
-          Flag to tell the task to recurse down the tree;
- optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="serverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>srssafe.ini</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          Set the directory where <code>srssafe.ini</code> resides; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="ssdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>ss.exe</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          directory where <code>ss.exe</code> resides; optional.
- By default the task expects it to be in the PATH.
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Version number to get; 
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.]]></short-description>
-        <description><![CDATA[
-          Set a version number to get; 
- optional, only one of <tt>version</tt>, <tt>label</tt>, or <tt>date</tt>
- allowed.
- <p>
- ORIGINAL COMMENT THAT DOES NOT SEEM AT ALL VALID:
- Note we assume that if the supplied string has the value "null" that something
- went wrong and that the string value got populated from a null object. This
- happens if a ant variable is used e.g. version="${ver_server}" when ver_server
- has not been defined to ant!
- NO, in this case the version string is "${ver_server}".
-        ]]></description>
-      </attribute>
-      <attribute name="vsspath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required.]]></short-description>
-        <description><![CDATA[
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- <p>
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        ]]></description>
-      </attribute>
-      <attribute name="writable" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Make fetched files  writable; optional, default false.]]></short-description>
-        <description><![CDATA[
-          make fetched files  writable; optional, default false.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vsshistory" category="scm"
-      classname="org.apache.tools.ant.taskdefs.optional.vss.MSVSSHISTORY"
-      >
-
-  <short-description><![CDATA[Performs History commands to Microsoft Visual SourceSafe.]]></short-description>
-  <description>
-    <![CDATA[Performs History commands to Microsoft Visual SourceSafe.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="dateformat" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Format of dates in fromDate and toDate; optional.]]></short-description>
-        <description><![CDATA[
-          Format of dates in fromDate and toDate; optional.
- Used when calculating dates with 
- the numdays attribute. 
- This string uses the formatting rules of SimpleDateFormat. 
-  Defaults to DateFormat.SHORT.
-        ]]></description>
-      </attribute>
-      <attribute name="fromdate" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Start Date for the Comparison of two versions; optional.]]></short-description>
-        <description><![CDATA[
-          Set the Start Date for the Comparison of two versions; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="fromlabel" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Start Label; optional.]]></short-description>
-        <description><![CDATA[
-          Set the Start Label; optional
-        ]]></description>
-      </attribute>
-      <attribute name="login" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The login to use when accessing VSS, formatted as "username,password";
- optional.]]></short-description>
-        <description><![CDATA[
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- <p>
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        ]]></description>
-      </attribute>
-      <attribute name="numdays" type="int"
-                 briefType="int" required="NOTDEFINED">
-        <short-description><![CDATA[Number of days for comparison; 
- optional.]]></short-description>
-        <description><![CDATA[
-          Set the number of days for comparison; 
- optional.
- <p>
- The default value is 2 days. (maybe)
-        ]]></description>
-      </attribute>
-      <attribute name="output" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Output file name for the history; optional.]]></short-description>
-        <description><![CDATA[
-          Set the output file name for the history; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="recursive" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to tell the task to recurse down the tree;
- optional, default false.]]></short-description>
-        <description><![CDATA[
-          Flag to tell the task to recurse down the tree;
- optional, default false.
-        ]]></description>
-      </attribute>
-      <attribute name="serverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>srssafe.ini</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          Set the directory where <code>srssafe.ini</code> resides; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="ssdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>ss.exe</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          directory where <code>ss.exe</code> resides; optional.
- By default the task expects it to be in the PATH.
-        ]]></description>
-      </attribute>
-      <attribute name="style" type="org.apache.tools.ant.taskdefs.optional.vss.MSVSSHISTORY.BriefCodediffNofile"
-                 briefType="&quot;brief&quot;, &quot;codediff&quot;, &quot;nofile&quot;, &quot;default&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Specify the output style; optional.]]></short-description>
-        <description><![CDATA[
-          Specify the output style; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="todate" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[End Date for the Comparison of two versions; optional.]]></short-description>
-        <description><![CDATA[
-          Set the End Date for the Comparison of two versions; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="tolabel" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[End Label ; optional.]]></short-description>
-        <description><![CDATA[
-          Set the End Label ; optional
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name the user whose changes we would like to see; optional.]]></short-description>
-        <description><![CDATA[
-          Name the user whose changes we would like to see; optional
-        ]]></description>
-      </attribute>
-      <attribute name="vsspath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required.]]></short-description>
-        <description><![CDATA[
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- <p>
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="vsslabel" category="scm"
-      classname="org.apache.tools.ant.taskdefs.optional.vss.MSVSSLABEL"
-      >
-
-  <short-description><![CDATA[Performs Label commands to Microsoft Visual SourceSafe.]]></short-description>
-  <description>
-    <![CDATA[Performs Label commands to Microsoft Visual SourceSafe.
-
- <p>
- The following attributes are interpreted:
- <table border="1">
-   <tr>
-     <th>Attribute</th>
-     <th>Values</th>
-     <th>Required</th>
-   </tr>
-   <tr>
-      <td>login</td>
-      <td>username,password</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>vsspath</td>
-      <td>SourceSafe path</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>ssdir</td>
-      <td>directory where <code>ss.exe</code> resides. By default the task
-      expects it to be in the PATH.</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>label</td>
-      <td>A label to apply to the hierarchy</td>
-      <td>Yes</td>
-   </tr>
-   <tr>
-      <td>version</td>
-      <td>An existing file or project version to label</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>autoresponse</td>
-      <td>What to respond with (sets the -I option). By default, -I- is
-      used; values of Y or N will be appended to this.</td>
-      <td>No</td>
-   </tr>
-   <tr>
-      <td>comment</td>
-      <td>The comment to use for this label. Empty or '-' for no comment.</td>
-      <td>No</td>
-   </tr>
- </table>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="autoresponse" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[What to respond with (sets the -I option).]]></short-description>
-        <description><![CDATA[
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        ]]></description>
-      </attribute>
-      <attribute name="comment" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The comment to use for this label; optional.]]></short-description>
-        <description><![CDATA[
-          The comment to use for this label; optional.
- Empty or '-' for no comment.
- <p>
- If this is null or empty, it will be replaced with "-" which
- is what SourceSafe uses for an empty comment.
-        ]]></description>
-      </attribute>
-      <attribute name="label" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Label to apply; required.]]></short-description>
-        <description><![CDATA[
-          Set the label to apply; required.
- <p>
- Note we assume that if the supplied string has the value "null" that something
- went wrong and that the string value got populated from a null object. This
- happens if a ant variable is used e.g. label="${label_server}" when label_server
- has not been defined to ant!
-        ]]></description>
-      </attribute>
-      <attribute name="login" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The login to use when accessing VSS, formatted as "username,password";
- optional.]]></short-description>
-        <description><![CDATA[
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- <p>
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        ]]></description>
-      </attribute>
-      <attribute name="serverpath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>srssafe.ini</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          Set the directory where <code>srssafe.ini</code> resides; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="ssdir" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Directory where <code>ss.exe</code> resides; optional.]]></short-description>
-        <description><![CDATA[
-          directory where <code>ss.exe</code> resides; optional.
- By default the task expects it to be in the PATH.
-        ]]></description>
-      </attribute>
-      <attribute name="version" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name an existing file or project version to label; optional.]]></short-description>
-        <description><![CDATA[
-          Name an existing file or project version to label; optional.
- By default the current version is labelled.
- <p>
- Note we assume that if the supplied string has the value "null" that something
- went wrong and that the string value got populated from a null object. This
- happens if a ant variable is used e.g. version="${ver_server}" when ver_server
- has not been defined to ant!
-        ]]></description>
-      </attribute>
-      <attribute name="vsspath" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required.]]></short-description>
-        <description><![CDATA[
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- <p>
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="waitfor" category="control"
-      classname="org.apache.tools.ant.taskdefs.WaitFor"
-      >
-
-  <short-description><![CDATA[Wait for an external event to occur.]]></short-description>
-  <description>
-    <![CDATA[Wait for an external event to occur.
-
- Wait for an external process to start or to complete some
- task. This is useful with the <code>parallel</code> task to
- syncronize the execution of tests with server startup.
-
- The following attributes can be specified on a waitfor task:
- <ul>
- <li>maxwait - maximum length of time to wait before giving up</li>
- <li>maxwaitunit - The unit to be used to interpret maxwait attribute</li>
- <li>checkevery - amount of time to sleep between each check</li>
- <li>checkeveryunit - The unit to be used to interpret checkevery attribute</li>
- <li>timeoutproperty - name of a property to set if maxwait has been exceeded.</li>
- </ul>
-
- The maxwaitunit and checkeveryunit are allowed to have the following values:
- millesond, second, minute, hour, day and week. The default is millisecond.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="checkevery" type="long"
-                 briefType="long" required="NOTDEFINED">
-        <short-description><![CDATA[Time between each check.]]></short-description>
-        <description><![CDATA[
-          Set the time between each check
-        ]]></description>
-      </attribute>
-      <attribute name="checkeveryunit" type="org.apache.tools.ant.taskdefs.WaitFor.Unit"
-                 briefType="&quot;millisecond&quot;, &quot;second&quot;, &quot;minute&quot;, &quot;hour&quot;, &quot;day&quot;, &quot;week&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Check every time unit.]]></short-description>
-        <description><![CDATA[
-          Set the check every time unit
-        ]]></description>
-      </attribute>
-      <attribute name="maxwait" type="long"
-                 briefType="long" required="NOTDEFINED">
-        <short-description><![CDATA[Maximum length of time to wait.]]></short-description>
-        <description><![CDATA[
-          Set the maximum length of time to wait
-        ]]></description>
-      </attribute>
-      <attribute name="maxwaitunit" type="org.apache.tools.ant.taskdefs.WaitFor.Unit"
-                 briefType="&quot;millisecond&quot;, &quot;second&quot;, &quot;minute&quot;, &quot;hour&quot;, &quot;day&quot;, &quot;week&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Max wait time unit.]]></short-description>
-        <description><![CDATA[
-          Set the max wait time unit
-        ]]></description>
-      </attribute>
-      <attribute name="timeoutproperty" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name the property to set after a timeout.]]></short-description>
-        <description><![CDATA[
-          Name the property to set after a timeout.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="and" type="org.apache.tools.ant.taskdefs.condition.And"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;and&gt; condition "container".]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;and&gt; condition "container".]]>
-        </description>
-      </element>
-
-      <element name="available" type="org.apache.tools.ant.taskdefs.Available"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;available&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;available&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="checksum" type="org.apache.tools.ant.taskdefs.Checksum"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;checksum&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;checksum&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="contains" type="org.apache.tools.ant.taskdefs.condition.Contains"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a &lt;contains&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add a &lt;contains&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="equals" type="org.apache.tools.ant.taskdefs.condition.Equals"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;equals&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;equals&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="filesmatch" type="org.apache.tools.ant.taskdefs.condition.FilesMatch"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a &lt;filesmatch&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add a &lt;filesmatch&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="http" type="org.apache.tools.ant.taskdefs.condition.Http"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;http&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;http&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="isfalse" type="org.apache.tools.ant.taskdefs.condition.IsFalse"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a &lt;isfalse&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add a &lt;isfalse&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="isset" type="org.apache.tools.ant.taskdefs.condition.IsSet"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;isset&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;isset&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="istrue" type="org.apache.tools.ant.taskdefs.condition.IsTrue"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a &lt;istrue&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add a &lt;istrue&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="not" type="org.apache.tools.ant.taskdefs.condition.Not"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;not&gt; condition "container".]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;not&gt; condition "container".]]>
-        </description>
-      </element>
-
-      <element name="or" type="org.apache.tools.ant.taskdefs.condition.Or"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;or&gt; condition "container".]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;or&gt; condition "container".]]>
-        </description>
-      </element>
-
-      <element name="os" type="org.apache.tools.ant.taskdefs.condition.Os"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;os&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;os&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="socket" type="org.apache.tools.ant.taskdefs.condition.Socket"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add a &lt;socket&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add a &lt;socket&gt; condition.]]>
-        </description>
-      </element>
-
-      <element name="uptodate" type="org.apache.tools.ant.taskdefs.UpToDate"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an &lt;uptodate&gt; condition.]]></short-description>
-        <description>
-          <![CDATA[Add an &lt;uptodate&gt; condition.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="war" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.War"
-      matchingTask="true">
-
-  <short-description><![CDATA[An extension of &lt;jar&gt; to create a WAR archive.]]></short-description>
-  <description>
-    <![CDATA[An extension of &lt;jar&gt; to create a WAR archive.
- Contains special treatment for files that should end up in the
- <code>WEB-INF/lib</code>, <code>WEB-INF/classes</code> or
- <code>WEB-INF</code> directories of the Web Application Archive.</p>
- <p>(The War task is a shortcut for specifying the particular layout of a WAR file. 
- The same thing can be accomplished by using the <i>prefix</i> and <i>fullpath</i>
- attributes of zipfilesets in a Zip or Jar task.)</p>
- <p>The extended zipfileset element from the zip task (with attributes <i>prefix</i>, <i>fullpath</i>, and <i>src</i>) is available in the War task.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="basedir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Directory from which to archive files; optional.]]></short-description>
-        <description><![CDATA[
-          Directory from which to archive files; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="compress" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether we want to compress the files or only store them;
- optional, default=true;.]]></short-description>
-        <description><![CDATA[
-          Whether we want to compress the files or only store them;
- optional, default=true;
-        ]]></description>
-      </attribute>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to create; required.]]></short-description>
-        <description><![CDATA[
-          The file to create; required.
-        ]]></description>
-      </attribute>
-      <attribute name="duplicate" type="org.apache.tools.ant.taskdefs.Zip.Duplicate"
-                 briefType="&quot;add&quot;, &quot;preserve&quot;, &quot;fail&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Sets behavior for when a duplicate file is about to be added -
- one of <code>keep</code>, <code>skip</code> or <code>overwrite</code>.]]></short-description>
-        <description><![CDATA[
-          Sets behavior for when a duplicate file is about to be added -
- one of <code>keep</code>, <code>skip</code> or <code>overwrite</code>.
- Possible values are: <code>keep</code> (keep both
- of the files); <code>skip</code> (keep the first version
- of the file found); <code>overwrite</code> overwrite the file
- with the new file
- Default for zip tasks is <code>keep</code>
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Encoding to use for filenames, defaults to the platform's
- default encoding.]]></short-description>
-        <description><![CDATA[
-          Encoding to use for filenames, defaults to the platform's
- default encoding.
-
- <p>For a list of possible values see <a
- href="http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html">http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html</a>.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="filesonly" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, emulate Sun's jar utility by not adding parent directories;
- optional, defaults to false.]]></short-description>
-        <description><![CDATA[
-          If true, emulate Sun's jar utility by not adding parent directories;
- optional, defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="index" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether or not to create an index list for classes.]]></short-description>
-        <description><![CDATA[
-          Set whether or not to create an index list for classes.
- This may speed up classloading in some cases.
-        ]]></description>
-      </attribute>
-      <attribute name="manifest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The manifest file to use.]]></short-description>
-        <description><![CDATA[
-          The manifest file to use. This can be either the location of a manifest,
- or the name of a jar added through a fileset. If its the name of an added
- jar, the task expects the manifest to be in the jar at META-INF/MANIFEST.MF.
-        ]]></description>
-      </attribute>
-      <attribute name="update" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, updates an existing file, otherwise overwrite
- any existing one; optional defaults to false.]]></short-description>
-        <description><![CDATA[
-          If true, updates an existing file, otherwise overwrite
- any existing one; optional defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="webxml" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Deployment descriptor to use (WEB-INF/web.xml);
- required unless <tt>update=true</tt>.]]></short-description>
-        <description><![CDATA[
-          set the deployment descriptor to use (WEB-INF/web.xml);
- required unless <tt>update=true</tt>
-        ]]></description>
-      </attribute>
-      <attribute name="whenempty" type="org.apache.tools.ant.taskdefs.Zip.WhenEmpty"
-                 briefType="&quot;fail&quot;, &quot;skip&quot;, &quot;create&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Sets behavior of the task when no files match.]]></short-description>
-        <description><![CDATA[
-          Sets behavior of the task when no files match.
- Possible values are: <code>fail</code> (throw an exception
- and halt the build); <code>skip</code> (do not create
- any archive, but issue a warning); <code>create</code>
- (make an archive with no entries).
- Default for zip tasks is <code>skip</code>;
- for jar tasks, <code>create</code>.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classes" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add files under WEB-INF/classes.]]></short-description>
-        <description>
-          <![CDATA[add files under WEB-INF/classes]]>
-        </description>
-      </element>
-
-      <element name="manifest" type="org.apache.tools.ant.taskdefs.Manifest"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Allows the manifest for the archive file to be provided inline
- in the buildfile rather than in an external file.]]></short-description>
-        <description>
-          <![CDATA[Allows the manifest for the archive file to be provided inline
- in the buildfile rather than in an external file.]]>
-        </description>
-      </element>
-
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files.]]>
-        </description>
-      </element>
-
-      <element name="lib" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add files under WEB-INF/lib/.]]></short-description>
-        <description>
-          <![CDATA[add files under WEB-INF/lib/]]>
-        </description>
-      </element>
-
-      <element name="metainf" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a zipfileset to include in the META-INF directory.]]></short-description>
-        <description>
-          <![CDATA[Adds a zipfileset to include in the META-INF directory.]]>
-        </description>
-      </element>
-
-      <element name="webinf" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Files to add under WEB-INF;.]]></short-description>
-        <description>
-          <![CDATA[files to add under WEB-INF;]]>
-        </description>
-      </element>
-
-      <element name="zipgroupfileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a group of zip files.]]></short-description>
-        <description>
-          <![CDATA[Adds a group of zip files.]]>
-        </description>
-      </element>
-
-      <element name="zipfileset" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files that can be
- read from an archive and be given a prefix/fullpath.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files that can be
- read from an archive and be given a prefix/fullpath.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="wljspc" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.jsp.WLJspc"
-      matchingTask="true">
-
-  <short-description><![CDATA[Precompiles JSP's using WebLogic's JSP compiler (weblogic.jspc).]]></short-description>
-  <description>
-    <![CDATA[Precompiles JSP's using WebLogic's JSP compiler (weblogic.jspc).]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Classpath to be used for this compilation.]]></short-description>
-        <description><![CDATA[
-          Set the classpath to be used for this compilation.
-        ]]></description>
-      </attribute>
-      <attribute name="dest" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Directory containing the source jsp's.]]></short-description>
-        <description><![CDATA[
-          Set the directory containing the source jsp's
-        ]]></description>
-      </attribute>
-      <attribute name="package" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Package under which the compiled classes go.]]></short-description>
-        <description><![CDATA[
-          Set the package under which the compiled classes go
-        ]]></description>
-      </attribute>
-      <attribute name="src" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Directory containing the source jsp's.]]></short-description>
-        <description><![CDATA[
-          Set the directory containing the source jsp's
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Maybe creates a nested classpath element.]]></short-description>
-        <description>
-          <![CDATA[Maybe creates a nested classpath element.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="wlrun" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ejb.WLRun"
-      >
-
-  <short-description><![CDATA[Starts a WebLogic server.]]></short-description>
-  <description>
-    <![CDATA[Starts a WebLogic server.
- A number of parameters are used to control the operation of the weblogic instance. Note that the task,
- and hence ant, will not complete until the weblogic instance is stopped.</p>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="args" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Additional argument string passed to the Weblogic instance;
- optional.]]></short-description>
-        <description><![CDATA[
-          Additional argument string passed to the Weblogic instance;
- optional.
-        ]]></description>
-      </attribute>
-      <attribute name="beahome" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The location of the BEA Home; implicitly
- selects Weblogic 6.0; optional.]]></short-description>
-        <description><![CDATA[
-          The location of the BEA Home; implicitly
- selects Weblogic 6.0; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[The classpath to be used with the Java Virtual Machine that runs the Weblogic
- Server; required.]]></short-description>
-        <description><![CDATA[
-          The classpath to be used with the Java Virtual Machine that runs the Weblogic
- Server; required. Prior to Weblogic 6.0, this is typically set to the Weblogic
- boot classpath. Under Weblogic 6.0 this should include all the
- weblogic jars
-        ]]></description>
-      </attribute>
-      <attribute name="domain" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Domain to run in; required for WL6.0.]]></short-description>
-        <description><![CDATA[
-          Set the Domain to run in; required for WL6.0
-        ]]></description>
-      </attribute>
-      <attribute name="home" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The location where weblogic lives.]]></short-description>
-        <description><![CDATA[
-          The location where weblogic lives.
- Required. This is the absolute location, not relative to
-  BEA home.
-        ]]></description>
-      </attribute>
-      <attribute name="jvmargs" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Additional arguments to pass to the weblogic JVM.]]></short-description>
-        <description><![CDATA[
-          Set the additional arguments to pass to the weblogic JVM
-        ]]></description>
-      </attribute>
-      <attribute name="name" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the weblogic server within the weblogic home which is to be run.]]></short-description>
-        <description><![CDATA[
-          The name of the weblogic server within the weblogic home which is to be run.
- Optiona, defaults to &quot;myserver&quot;
-        ]]></description>
-      </attribute>
-      <attribute name="pkpassword" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Private key password so the server can decrypt the SSL private key file;
- optional and only applicable to WL6.0.]]></short-description>
-        <description><![CDATA[
-          Set the private key password so the server can decrypt the SSL private key file;
- optional and only applicable to WL6.0.
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Management password of the server;
- optional and only applicable to WL6.0.]]></short-description>
-        <description><![CDATA[
-          Set the management password of the server;
- optional and only applicable to WL6.0.
-        ]]></description>
-      </attribute>
-      <attribute name="policy" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the security policy file within the weblogic home directory that
- is to be used.]]></short-description>
-        <description><![CDATA[
-          The name of the security policy file within the weblogic home directory that
- is to be used. If not specified, the default policy file <code>weblogic.policy</code>
- is used.
-        ]]></description>
-      </attribute>
-      <attribute name="properties" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The name of the server's properties file within the weblogic home directory
- used to control the weblogic instance;
- required for WL4.5.1.]]></short-description>
-        <description><![CDATA[
-          The name of the server's properties file within the weblogic home directory
- used to control the weblogic instance;
- required for WL4.5.1
-        ]]></description>
-      </attribute>
-      <attribute name="username" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Management username to run the server;
- optional and only applicable to WL6.0.]]></short-description>
-        <description><![CDATA[
-          Set the management username to run the server;
- optional and only applicable to WL6.0.
-        ]]></description>
-      </attribute>
-      <attribute name="weblogicmainclass" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the main class for weblogic; optional.]]></short-description>
-        <description><![CDATA[
-          name of the main class for weblogic; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="wlclasspath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Weblogic classpath used by the Weblogic Server;
- optional, and only applicable to WL4.5.1
-
- The weblogic classpath is used by weblogic to support dynamic class loading.]]></short-description>
-        <description><![CDATA[
-          Set the weblogic classpath used by the Weblogic Server;
- optional, and only applicable to WL4.5.1
-
- The weblogic classpath is used by weblogic to support dynamic class loading.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add the classpath for the user classes.]]></short-description>
-        <description>
-          <![CDATA[Add the classpath for the user classes]]>
-        </description>
-      </element>
-
-      <element name="wlclasspath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Get the classpath to the weblogic classpaths.]]></short-description>
-        <description>
-          <![CDATA[Get the classpath to the weblogic classpaths]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="wlstop" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.ejb.WLStop"
-      >
-
-  <short-description><![CDATA[Shuts down a WebLogic server.]]></short-description>
-  <description>
-    <![CDATA[Shuts down a WebLogic server.
- To shut down an instance you must supply both a username and
- a password.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="beahome" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The location of the BEA Home; implicitly
- selects Weblogic 6.0 shutdown; optional.]]></short-description>
-        <description><![CDATA[
-          The location of the BEA Home; implicitly
- selects Weblogic 6.0 shutdown; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[The classpath to be used with the Java Virtual Machine that runs the Weblogic
- Shutdown command;.]]></short-description>
-        <description><![CDATA[
-          The classpath to be used with the Java Virtual Machine that runs the Weblogic
- Shutdown command;
-        ]]></description>
-      </attribute>
-      <attribute name="delay" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Delay (in seconds) before shutting down the server;
- optional.]]></short-description>
-        <description><![CDATA[
-          Set the delay (in seconds) before shutting down the server;
- optional.
-        ]]></description>
-      </attribute>
-      <attribute name="password" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The password for the account specified in the
- user parameter; required.]]></short-description>
-        <description><![CDATA[
-          The password for the account specified in the
- user parameter; required
-        ]]></description>
-      </attribute>
-      <attribute name="url" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[URL to which the weblogic server is listening
- for T3 connections; required.]]></short-description>
-        <description><![CDATA[
-          Set the URL to which the weblogic server is listening
- for T3 connections; required.
-        ]]></description>
-      </attribute>
-      <attribute name="user" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The username of the account which will be used to shutdown the server;
- required.]]></short-description>
-        <description><![CDATA[
-          The username of the account which will be used to shutdown the server;
- required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[The classpath to be used with the Java Virtual Machine that runs the Weblogic
- Shutdown command;.]]></short-description>
-        <description>
-          <![CDATA[The classpath to be used with the Java Virtual Machine that runs the Weblogic
- Shutdown command;]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="wsdltodotnet" category="dotnet"
-      classname="org.apache.tools.ant.taskdefs.optional.dotnet.WsdlToDotnet"
-      >
-
-  <short-description><![CDATA[Converts a WSDL file or URL resource into a .NET language.]]></short-description>
-  <description>
-    <![CDATA[Converts a WSDL file or URL resource into a .NET language.
-
- See "Creating an XML Web Service Proxy", "wsdl.exe" docs in
- the framework SDK documentation]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the file to generate.]]></short-description>
-        <description><![CDATA[
-          Name of the file to generate. Required
-        ]]></description>
-      </attribute>
-      <attribute name="extraoptions" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Any extra WSDL.EXE options which aren't explicitly
-  supported by the ant wrapper task; optional.]]></short-description>
-        <description><![CDATA[
-          Any extra WSDL.EXE options which aren't explicitly
-  supported by the ant wrapper task; optional
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Should failure halt the build?.]]></short-description>
-        <description><![CDATA[
-          Should failure halt the build? optional, default=true
-        ]]></description>
-      </attribute>
-      <attribute name="language" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Language; one of "CS", "JS", or "VB"
- optional, default is CS for C# source.]]></short-description>
-        <description><![CDATA[
-          set the language; one of "CS", "JS", or "VB"
- optional, default is CS for C# source
-        ]]></description>
-      </attribute>
-      <attribute name="namespace" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Namespace to place  the source in.
- optional; default "".]]></short-description>
-        <description><![CDATA[
-          namespace to place  the source in.
- optional; default ""
-        ]]></description>
-      </attribute>
-      <attribute name="server" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to enable server side code generation;
- optional, default=false.]]></short-description>
-        <description><![CDATA[
-          flag to enable server side code generation;
- optional, default=false
-        ]]></description>
-      </attribute>
-      <attribute name="srcfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The local WSDL file to parse; either url or srcFile is required.]]></short-description>
-        <description><![CDATA[
-          The local WSDL file to parse; either url or srcFile is required.
-        ]]></description>
-      </attribute>
-      <attribute name="url" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[URL to fetch.]]></short-description>
-        <description><![CDATA[
-          Sets the URL to fetch. Fetching is by wsdl.exe; Ant proxy settings
- are ignored; either url or srcFile is required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="xmlproperty" category="xml"
-      classname="org.apache.tools.ant.taskdefs.XmlProperty"
-      >
-
-  <short-description><![CDATA[Loads property values from a valid XML file, generating the property names from the file's element and attribute names.]]></short-description>
-  <description>
-    <![CDATA[Loads property values from a valid XML file,
- generating the property names from the file's element and attribute names.
-
- Example:
- <pre>
-   &lt;root-tag myattr="true"&gt;
-     &lt;inner-tag someattr="val"&gt;Text&lt;/inner-tag&gt;
-     &lt;a2&gt;&lt;a3&gt;&lt;a4&gt;false&lt;/a4&gt;&lt;/a3&gt;&lt;/a2&gt;
-   &lt;/root-tag&gt;
-</pre>
- this generates
- <pre>
-  root-tag(myattr)=true
-  root-tag.inner-tag=Text
-  root-tag.inner-tag(someattr)=val
-  root-tag.a2.a3.a4=false
- </pre>]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="collapseattributes" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to treat attributes as nested elements;
- optional, default false.]]></short-description>
-        <description><![CDATA[
-          flag to treat attributes as nested elements;
- optional, default false
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The XML file to parse; required.]]></short-description>
-        <description><![CDATA[
-          The XML file to parse; required.
-        ]]></description>
-      </attribute>
-      <attribute name="keeproot" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to include the xml root tag as a 
- first value in the property name; optional, 
- default is true.]]></short-description>
-        <description><![CDATA[
-          flag to include the xml root tag as a 
- first value in the property name; optional, 
- default is true
-        ]]></description>
-      </attribute>
-      <attribute name="prefix" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[The prefix to prepend to each property.]]></short-description>
-        <description><![CDATA[
-          the prefix to prepend to each property
-        ]]></description>
-      </attribute>
-      <attribute name="validate" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Flag to validate the XML file; optional, default false.]]></short-description>
-        <description><![CDATA[
-          flag to validate the XML file; optional, default false
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="xmlvalidate" category="other"
-      classname="org.apache.tools.ant.taskdefs.optional.XMLValidateTask"
-      >
-
-  <short-description><![CDATA[Checks XML files are valid (or only well formed).]]></short-description>
-  <description>
-    <![CDATA[Checks XML files are valid (or only well formed). The
- task uses the SAX2 parser implementation provided by JAXP by default
- (probably the one that is used by Ant itself), but one can specify any
- SAX1/2 parser if needed]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="classname" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Specify the class name of the SAX parser to be used. (optional).]]></short-description>
-        <description><![CDATA[
-          Specify the class name of the SAX parser to be used. (optional)
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Specify the classpath to be searched to load the parser (optional).]]></short-description>
-        <description><![CDATA[
-          Specify the classpath to be searched to load the parser (optional)
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Where to find the parser class; optional.]]></short-description>
-        <description><![CDATA[
-          Where to find the parser class; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="failonerror" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Specify how parser error are to be handled; 
- optional, default=true
- <p>
- If set to <code>true</code> (default), throw a buildException if the parser yields an error.]]></short-description>
-        <description><![CDATA[
-          Specify how parser error are to be handled; 
- optional, default=true
- <p>
- If set to <code>true</code> (default), throw a buildException if the parser yields an error.
-        ]]></description>
-      </attribute>
-      <attribute name="file" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Specify the file to be checked; optional.]]></short-description>
-        <description><![CDATA[
-          specify the file to be checked; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="lenient" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Specify whether the parser should be validating.]]></short-description>
-        <description><![CDATA[
-          Specify whether the parser should be validating. Default is <code>true</code>.
- <p>
- If set to false, the validation will fail only if the parsed document is not well formed XML.
- <p>
- this option is ignored if the specified class with {@link #setClassName(String)} is not a SAX2
- XMLReader.
-        ]]></description>
-      </attribute>
-      <attribute name="warn" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Specify how parser error are to be handled.]]></short-description>
-        <description><![CDATA[
-          Specify how parser error are to be handled.
- <p>
- If set to <code>true</true> (default), log a warn message for each SAX warn event.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="xmlcatalog" type="org.apache.tools.ant.types.XMLCatalog"
-               briefType="XMLCatalog"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add an XMLCatalog as a nested element; optional.]]></short-description>
-        <description>
-          <![CDATA[add an XMLCatalog as a nested element; optional.]]>
-        </description>
-      </element>
-
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Specify a set of file to be checked.]]></short-description>
-        <description>
-          <![CDATA[specify a set of file to be checked]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[No description.]]></short-description>
-        <description>
-          <![CDATA[]]>
-        </description>
-      </element>
-
-      <element name="dtd" type="org.apache.tools.ant.types.DTDLocation"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create a DTD location record; optional.]]></short-description>
-        <description>
-          <![CDATA[Create a DTD location record; optional.
- This stores the location of a DTD. The DTD is identified
- by its public Id.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="xslt" category="xml"
-      classname="org.apache.tools.ant.taskdefs.XSLTProcess"
-      matchingTask="true">
-
-  <short-description><![CDATA[Processes a set of XML documents via XSLT.]]></short-description>
-  <description>
-    <![CDATA[Processes a set of XML documents via XSLT. This is
- useful for building views of XML based documentation.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="basedir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Base directory; 
- optional, default is the project's basedir.]]></short-description>
-        <description><![CDATA[
-          Set the base directory; 
- optional, default is the project's basedir.
-        ]]></description>
-      </attribute>
-      <attribute name="classpath" type="org.apache.tools.ant.types.Path"
-                 briefType="Path" required="NOTDEFINED">
-        <short-description><![CDATA[Optional classpath to the XSL processor.]]></short-description>
-        <description><![CDATA[
-          Set the optional classpath to the XSL processor
-        ]]></description>
-      </attribute>
-      <attribute name="classpathref" type="org.apache.tools.ant.types.Reference"
-                 briefType="Reference" required="NOTDEFINED">
-        <short-description><![CDATA[Reference to an optional classpath to the XSL processor.]]></short-description>
-        <description><![CDATA[
-          Set the reference to an optional classpath to the XSL processor
-        ]]></description>
-      </attribute>
-      <attribute name="destdir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Destination directory into which the XSL result
- files should be copied to; 
- required, unless <tt>in</tt> and <tt>out</tt> are
- specified.]]></short-description>
-        <description><![CDATA[
-          Set the destination directory into which the XSL result
- files should be copied to; 
- required, unless <tt>in</tt> and <tt>out</tt> are
- specified.
-        ]]></description>
-      </attribute>
-      <attribute name="extension" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Desired file extension to be used for the target;
- optional, default is html.]]></short-description>
-        <description><![CDATA[
-          Set the desired file extension to be used for the target;
- optional, default is html.
-        ]]></description>
-      </attribute>
-      <attribute name="force" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Set whether to check dependencies, or always generate;
- optional, default is false.]]></short-description>
-        <description><![CDATA[
-          Set whether to check dependencies, or always generate;
- optional, default is false.
-        ]]></description>
-      </attribute>
-      <attribute name="in" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies a single XML document to be styled.]]></short-description>
-        <description><![CDATA[
-          specifies a single XML document to be styled. Should be used 
- with the <tt>out</tt> attribute; ; required if <tt>out</tt> is set
-        ]]></description>
-      </attribute>
-      <attribute name="out" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Specifies the output name for the styled result from the 
- <tt>in</tt> attribute; required if <tt>in</tt> is set.]]></short-description>
-        <description><![CDATA[
-          Specifies the output name for the styled result from the 
- <tt>in</tt> attribute; required if <tt>in</tt> is set
-        ]]></description>
-      </attribute>
-      <attribute name="processor" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the XSL processor to use; optional, default trax.]]></short-description>
-        <description><![CDATA[
-          Set the name of the XSL processor to use; optional, default trax.
- Other values are "xalan" for Xalan1 and "xslp" for XSL:P, though the
- later is strongly deprecated.
-        ]]></description>
-      </attribute>
-      <attribute name="scanincludeddirectories" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether to style all files in the included directories as well;
- optional, default is true.]]></short-description>
-        <description><![CDATA[
-          Whether to style all files in the included directories as well;
- optional, default is true.
-        ]]></description>
-      </attribute>
-      <attribute name="style" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Name of the stylesheet to use - given either relative
- to the project's basedir or as an absolute path; required.]]></short-description>
-        <description><![CDATA[
-          Name of the stylesheet to use - given either relative
- to the project's basedir or as an absolute path; required.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="xmlcatalog" type="org.apache.tools.ant.types.XMLCatalog"
-               briefType="XMLCatalog"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Add the catalog to our internal catalog.]]></short-description>
-        <description>
-          <![CDATA[Add the catalog to our internal catalog]]>
-        </description>
-      </element>
-
-      <element name="classpath" type="org.apache.tools.ant.types.Path"
-               briefType="Path"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Optional classpath to the XSL processor.]]></short-description>
-        <description>
-          <![CDATA[Set the optional classpath to the XSL processor]]>
-        </description>
-      </element>
-
-      <element name="outputproperty" type="org.apache.tools.ant.taskdefs.XSLTProcess.OutputProperty"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create an instance of an output property to be configured.]]></short-description>
-        <description>
-          <![CDATA[Create an instance of an output property to be configured.]]>
-        </description>
-      </element>
-
-      <element name="param" type="org.apache.tools.ant.taskdefs.XSLTProcess.Param"
-               briefType=""
-               required="NOTDEFINED">
-        <short-description><![CDATA[Create an instance of an XSL parameter for configuration by Ant.]]></short-description>
-        <description>
-          <![CDATA[Create an instance of an XSL parameter for configuration by Ant.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-
-
-<task name="zip" category="packaging"
-      classname="org.apache.tools.ant.taskdefs.Zip"
-      matchingTask="true">
-
-  <short-description><![CDATA[Create a Zip file.]]></short-description>
-  <description>
-    <![CDATA[Create a Zip file.]]>
-  </description>
-
-  <structure>
-
-    <attributes>
-      <attribute name="basedir" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[Directory from which to archive files; optional.]]></short-description>
-        <description><![CDATA[
-          Directory from which to archive files; optional.
-        ]]></description>
-      </attribute>
-      <attribute name="compress" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[Whether we want to compress the files or only store them;
- optional, default=true;.]]></short-description>
-        <description><![CDATA[
-          Whether we want to compress the files or only store them;
- optional, default=true;
-        ]]></description>
-      </attribute>
-      <attribute name="destfile" type="java.io.File"
-                 briefType="File" required="NOTDEFINED">
-        <short-description><![CDATA[The file to create; required.]]></short-description>
-        <description><![CDATA[
-          The file to create; required.
-        ]]></description>
-      </attribute>
-      <attribute name="duplicate" type="org.apache.tools.ant.taskdefs.Zip.Duplicate"
-                 briefType="&quot;add&quot;, &quot;preserve&quot;, &quot;fail&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Sets behavior for when a duplicate file is about to be added -
- one of <code>keep</code>, <code>skip</code> or <code>overwrite</code>.]]></short-description>
-        <description><![CDATA[
-          Sets behavior for when a duplicate file is about to be added -
- one of <code>keep</code>, <code>skip</code> or <code>overwrite</code>.
- Possible values are: <code>keep</code> (keep both
- of the files); <code>skip</code> (keep the first version
- of the file found); <code>overwrite</code> overwrite the file
- with the new file
- Default for zip tasks is <code>keep</code>
-        ]]></description>
-      </attribute>
-      <attribute name="encoding" type="java.lang.String"
-                 briefType="String" required="NOTDEFINED">
-        <short-description><![CDATA[Encoding to use for filenames, defaults to the platform's
- default encoding.]]></short-description>
-        <description><![CDATA[
-          Encoding to use for filenames, defaults to the platform's
- default encoding.
-
- <p>For a list of possible values see <a
- href="http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html">http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html</a>.</p>
-        ]]></description>
-      </attribute>
-      <attribute name="filesonly" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, emulate Sun's jar utility by not adding parent directories;
- optional, defaults to false.]]></short-description>
-        <description><![CDATA[
-          If true, emulate Sun's jar utility by not adding parent directories;
- optional, defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="update" type="boolean"
-                 briefType="boolean" required="NOTDEFINED">
-        <short-description><![CDATA[If true, updates an existing file, otherwise overwrite
- any existing one; optional defaults to false.]]></short-description>
-        <description><![CDATA[
-          If true, updates an existing file, otherwise overwrite
- any existing one; optional defaults to false.
-        ]]></description>
-      </attribute>
-      <attribute name="whenempty" type="org.apache.tools.ant.taskdefs.Zip.WhenEmpty"
-                 briefType="&quot;fail&quot;, &quot;skip&quot;, &quot;create&quot;" required="NOTDEFINED">
-        <short-description><![CDATA[Sets behavior of the task when no files match.]]></short-description>
-        <description><![CDATA[
-          Sets behavior of the task when no files match.
- Possible values are: <code>fail</code> (throw an exception
- and halt the build); <code>skip</code> (do not create
- any archive, but issue a warning); <code>create</code>
- (make an archive with no entries).
- Default for zip tasks is <code>skip</code>;
- for jar tasks, <code>create</code>.
-        ]]></description>
-      </attribute>
-    </attributes>
-
-    <elements>
-      <element name="fileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files.]]>
-        </description>
-      </element>
-
-      <element name="zipgroupfileset" type="org.apache.tools.ant.types.FileSet"
-               briefType="Fileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a group of zip files.]]></short-description>
-        <description>
-          <![CDATA[Adds a group of zip files.]]>
-        </description>
-      </element>
-
-      <element name="zipfileset" type="org.apache.tools.ant.types.ZipFileSet"
-               briefType="ZipFileset"
-               required="NOTDEFINED">
-        <short-description><![CDATA[Adds a set of files that can be
- read from an archive and be given a prefix/fullpath.]]></short-description>
-        <description>
-          <![CDATA[Adds a set of files that can be
- read from an archive and be given a prefix/fullpath.]]>
-        </description>
-      </element>
-
-    </elements>
-
-  </structure>
-
-</task>
-</tasks>
diff --git a/ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/tasks.xml b/ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/tasks.xml
deleted file mode 100644
index 626f04e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor Content Assist Dev/tasks.xml
+++ /dev/null
@@ -1,5139 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<TASKS>
-	<TASK NAME="ant">
-		<DESCRIPTION>&lt;p&gt;Runs Ant on a supplied buildfile. This can be used to build subprojects.&lt;/p&gt;
-&lt;p&gt;When the &lt;i&gt;antfile&lt;/i&gt; attribute is omitted, the file &amp;quot;build.xml&amp;quot;
-in the supplied directory (&lt;i&gt;dir&lt;/i&gt; attribute) is used.&lt;/p&gt;
-&lt;p&gt;If no target attribute is supplied, the default target of the new project is
-used.&lt;/p&gt;
-&lt;p&gt;By default, all of the properties of the current project will be
-available in the new project.   Alternatively, you can
-set the &lt;i&gt;inheritAll&lt;/i&gt; attribute to &lt;code&gt;false&lt;/code&gt; and only
-&amp;quot;user&amp;quot; properties (i.e., those passed on the command-line)
-will be passed to the new project.  In either case, the set of
-properties passed to the new project will override the properties that 
-are set in the new project (See also the &lt;a href=&quot;property.html&quot;&gt;property task&lt;/a&gt;).&lt;/p&gt;
-&lt;p&gt;You can also set properties in the new project from the old project by
-using nested property tags. These properties are always passed regardless of the
-setting of &lt;i&gt;inheritAll&lt;/i&gt;.  This allows you to parameterize your subprojects.&lt;/p&gt;
-&lt;p&gt;References to data types can also be passed to the new project, but
-by default they are not.  If you set the inheritrefs attribute to
-true, all references will be copied, but they will not override
-references defined in the new project.&lt;/p&gt;
-&lt;p&gt;Nested &lt;a href=&quot;#reference&quot;&gt;&lt;i&gt;&amp;lt;reference&amp;gt;&lt;/i&gt;&lt;/a&gt; elements
-can also be used to copy references from the calling project to the
-new project, optionally under a different id.  References taken from
-nested elements will override existing references in the new
-project.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="antfile" REQUIRED="no">
-			<DESCRIPTION>the buildfile to use. Defaults to&quot;build.xml&quot;.  This file is expected to be a filenamerelative to the dir attribute given</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="no">
-			<DESCRIPTION>the directory to use as a basedir for the new Ant project. Defaults to the current project's basedir, unlessinheritall has been set to false, in which case it doesn'thave a default value.  This will override the basedirsetting of the called project</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="target" REQUIRED="no">
-			<DESCRIPTION>the target of the new Ant project that should be executed.Defaults to the new project's default target</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="output" REQUIRED="no">
-			<DESCRIPTION>Filename to write the ant output to.  This isrelative to the value of the dir attribute if it has been set orto the base directory of the current project otherwise.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="inheritall" REQUIRED="no">
-			<DESCRIPTION>If true, pass all properties to thenew Ant project.  Defaults to true</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="inheritrefs" REQUIRED="no">
-			<DESCRIPTION>If true, pass all references to thenew Ant project.  Defaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="antcall">
-		<DESCRIPTION>&lt;p&gt;Call another target within the same build-file optionally specifying some
-properties (param's in this context)&lt;/p&gt;
-&lt;p&gt;By default, all of the properties of the current project will be
-available in the new project.   Alternatively, you can
-set the &lt;i&gt;inheritAll&lt;/i&gt; attribute to &lt;code&gt;false&lt;/code&gt; and only
-&amp;quot;user&amp;quot; properties (i.e., those passed on the command-line)
-will be passed to the new project.  In either case, the set of
-properties passed to the new project will override the properties that 
-are set in the new project (See also the &lt;a href=&quot;property.html&quot;&gt;property task&lt;/a&gt;).&lt;/p&gt;
-&lt;p&gt;You can also set properties in the new project from the old project by
-using nested param tags. These properties are always passed regardless of the
-setting of &lt;i&gt;inheritAll&lt;/i&gt;.  This allows you to parameterize your subprojects.&lt;/p&gt;
-&lt;p&gt;Nested &lt;a href=&quot;#reference&quot;&gt;&lt;i&gt;&amp;lt;reference&amp;gt;&lt;/i&gt;&lt;/a&gt; elements can
-be used to copy references from the calling project to the new
-project, optionally under a different id.  References taken from
-nested elements will override existing references in the new
-project.&lt;/p&gt;
-&lt;p&gt;
-When a target is invoked by antcall, all of its dependent targets will
-also be called within the context of any new parameters. For example. if
-the target &amp;quot;doSomethingElse&amp;quot; depended on the target &amp;quot;init&amp;quot;, then the 
-&lt;i&gt;antcall&lt;/i&gt; of &amp;quot;doSomethingElse&amp;quot; will call &amp;quot;init&amp;quot; during the call. 
-Of course, any properties defined in the antcall task or inherited from the calling target 
-will be fixed and not overridable in the init task -or indeed in the &amp;quot;doSomethingElse&amp;quot; task.  
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="target" REQUIRED="yes">
-			<DESCRIPTION>The target to execute</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="inheritall" REQUIRED="no">
-			<DESCRIPTION>If true, pass all properties to the new Antproject.  Defaults to true.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="inheritrefs" REQUIRED="no">
-			<DESCRIPTION>If true, pass all references to thenew Ant project.  Defaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="antstructure">
-		<DESCRIPTION>&lt;p&gt;Generates a DTD for Ant buildfiles which contains information
-about all tasks currently known to Ant.&lt;/p&gt; 
-&lt;p&gt;Note that the DTD generated by this task is incomplete, you can
-always add XML entities using &lt;a
-href=&quot;taskdef.html&quot;&gt;&lt;code&gt;&amp;lt;taskdef&amp;gt;&lt;/code&gt;&lt;/a&gt; or &lt;a
-href=&quot;typedef.html&quot;&gt;&lt;code&gt;&amp;lt;typedef&amp;gt;&lt;/code&gt;&lt;/a&gt;. See &lt;a
-href=&quot;http://www.sdv.fr/pages/casa/html/ant-dtd.en.html&quot;
-target=&quot;_top&quot;&gt;here&lt;/a&gt; for a way to get around this problem.&lt;/p&gt;
-&lt;p&gt;This task doesn't know about required attributes, all will be
-listed as &lt;code&gt;#IMPLIED&lt;/code&gt;.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="output" REQUIRED="yes">
-			<DESCRIPTION>file to write the DTD to</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="apply">
-		<DESCRIPTION>&lt;p&gt;Executes a system command. When the &lt;i&gt;os&lt;/i&gt; attribute is specified, then
-the command is only executed when Ant is run on one of the specified operating
-systems.&lt;/p&gt;
-&lt;p&gt;The files and/or directories of a number of &lt;a
-href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s are passed as arguments
-to the system command.&lt;/p&gt;
-&lt;p&gt;If you specify a nested &lt;a
-href=&quot;../CoreTypes/mapper.html&quot;&gt;mapper&lt;/a&gt; and the &lt;i&gt;dest&lt;/i&gt; attribute,
-the timestamp of each source file is compared to the timestamp of a
-target file which is defined by the nested mapper element and searched
-for in the given dest.&lt;/p&gt;
-&lt;p&gt;At least one fileset is required, and you must not specify more than
-one mapper.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="executable" REQUIRED="yes">
-			<DESCRIPTION>the command to execute without any command linearguments</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dest" REQUIRED="yes, if you specify a nested mapper">
-			<DESCRIPTION>the directory where the &lt;apply&gt; expects the target files will be placed by the command, when it is executed. </DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="no">
-			<DESCRIPTION>the directory in which the command should be executed</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="relative" REQUIRED="no, default is false">
-			<DESCRIPTION>whether the filenames should be passed on thecommand line as absolute or relative pathnames (relative to thebase directory of the corresponding fileset for source files orthe dest attribute for target files)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="os" REQUIRED="no">
-			<DESCRIPTION>list of Operating Systems on which the command may beexecuted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="output" REQUIRED="no">
-			<DESCRIPTION>the file to which the output of the command should beredirected</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="outputproperty" REQUIRED="no">
-			<DESCRIPTION>the name of a property in which the output of the command should be stored</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="timeout" REQUIRED="no">
-			<DESCRIPTION>Stop the command if it doesn't finish within thespecified time (given in milliseconds)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>Stop the buildprocess if the command exits with areturncode other than 0</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="skipemptyfilesets" REQUIRED="no, default is false">
-			<DESCRIPTION>Don't run the command, if no source files havebeen found or are newer than their corresponding targetfiles</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="parallel" REQUIRED="no">
-			<DESCRIPTION>Run the command only once, appending all files asarguments. If false, command will be executed once for every file. Defaults to false.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="type" REQUIRED="no, default is file">
-			<DESCRIPTION>One of file, dir orboth. If set to file, only the names of plainfiles will be sent to the command. If set to dir, onlythe names of directories are considered</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="newenvironment" REQUIRED="no, default is false">
-			<DESCRIPTION>Do not propagate old environment when new environmentvariables are specified</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="vmlauncher" REQUIRED="no, default is true">
-			<DESCRIPTION>Run command using the Java VM's execution facilitieswhere available. If set to false the underlying OS's shell,either directly or through the antRun scripts, will be used.Under some operating systems, this gives access to facilitiesnot normally available through the VM including, under Windows,being able to execute scripts, rather than their associatedinterpreter.  If you want to specify the name of theexecutable as a relative path to the directory given by thedir attribute, it may become necessary to set vmlauncher tofalse as well</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="available">
-		<DESCRIPTION>&lt;p&gt;Sets a property if a resource is available at runtime. This resource can be a
-file, a directory, a class in the classpath, or a JVM system resource.&lt;/p&gt;
-&lt;p&gt;If the resource is present, the property value is set to true by
-default; otherwise, the property is not set. You can set the value to
-something other than the default by specifying the &lt;code&gt;value&lt;/code&gt; attribute.&lt;/p&gt;
-&lt;p&gt;Normally, this task is used to set properties that are useful to avoid target
-execution depending on system parameters.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="property" REQUIRED="yes">
-			<DESCRIPTION>The name of the property to set</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="value" REQUIRED="no">
-			<DESCRIPTION>The value to set the property to. Defaults to &quot;true&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classname" REQUIRED="yes">
-			<DESCRIPTION>The class to look for in the classpath</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="file" REQUIRED="">
-			<DESCRIPTION>The file to look for</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="resource" REQUIRED="">
-			<DESCRIPTION>The resource to look for in the JVM</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>The classpath to use when looking up classname or resource</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filepath" REQUIRED="no">
-			<DESCRIPTION>The path to use when looking up file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>The classpath to use, given as a reference to a path defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="type" REQUIRED="no">
-			<DESCRIPTION>The type of file to look for, either a directory (type=&quot;dir&quot;) or a file(type=&quot;file&quot;). If not set, the property will be set if the name specified in the fileattribute exists as either a file or a directory</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="ignoresystemclasses" REQUIRED="no">
-			<DESCRIPTION>Ignore Ant's runtime classes, using only the specifiedclasspath.  Only affects the &quot;classname&quot; attribute.  Defaults to &quot;false</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="basename">
-		<DESCRIPTION>&lt;p&gt;
-Task to determine the basename of a specified file, optionally minus a
-specified suffix.
-&lt;/p&gt;
-&lt;p&gt;
-When this task executes, it will set the specified property to the
-value of the last path element of the specified file. If &lt;code&gt;file&lt;/code&gt; is a
-directory, the basename will be the last directory element. If
-&lt;code&gt;file&lt;/code&gt; is a full-path, relative-path, or simple filename,
-the basename will be the simple file name, without any directory elements.
-&lt;/p&gt;
-&lt;p&gt; 
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="yes">
-			<DESCRIPTION>The path to take the basename of</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="property" REQUIRED="yes">
-			<DESCRIPTION>The name of the property to set</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="suffix" REQUIRED="no">
-			<DESCRIPTION>The suffix to remove from the resulting basename(specified either with or without the &quot;.&quot;)</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="buildnumber">
-		<DESCRIPTION>&lt;p&gt;This is a basic task that can be used to track build numbers.&lt;/p&gt;
-&lt;p&gt;It will first attempt to read a build number from a file (by default,
-&lt;code&gt;build.number&lt;/code&gt; in the current directory), then
-set the property &lt;code&gt;build.number&lt;/code&gt; to the value that was read in
-(or to &lt;code&gt;0&lt;/code&gt;, if no such value). It will then increment the
-number by one and write it back out to the file.
-(See the
-&lt;a href=&quot;../OptionalTasks/propertyfile.html&quot;&gt;PropertyFile&lt;/a&gt; task
-if you need finer control over things such as the property name or
-the number format.)
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="no; defaults to &quot;build.number&quot;">
-			<DESCRIPTION>The file to read and write the build number from/to</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="changelog">
-		<DESCRIPTION>&lt;p&gt;Generates an XML-formatted report file of the change logs recorded in a
-&lt;a href=&quot;http://www.cvshome.org/&quot; target=&quot;_top&quot;&gt;CVS&lt;/a&gt; repository. &lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="dir" REQUIRED="no; defaults to ${basedir}.">
-			<DESCRIPTION>The directory from which to run the CVS logcommand</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
-			<DESCRIPTION>The file in which to write the change log report</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="usersfile" REQUIRED="no">
-			<DESCRIPTION>Property file that contains name-value pairs mappinguser IDs and names that should be used in the report in place ofthe user ID</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="daysinpast" REQUIRED="no">
-			<DESCRIPTION>Sets the number of days into the past for which thechange log information should be retrieved</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="start" REQUIRED="no">
-			<DESCRIPTION>The earliest date from which change logs are to beincluded in the report</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="end" REQUIRED="no">
-			<DESCRIPTION>The latest date to which change logs are to beincluded in the report</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="checksum">
-		<DESCRIPTION>&lt;p&gt;
-Generates checksum for files.  This task can also be used to
-perform checksum verifications.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="one of either file or
-     at least one nested fileset element.">
-			<DESCRIPTION>The file to generate checksum for</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="algorithm" REQUIRED="no">
-			<DESCRIPTION>Specifies the algorithm to be used tocompute the checksum. Defaults to &quot;MD5&quot;.Other popular algorithms like &quot;SHA&quot; may be usedas well.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="provider" REQUIRED="no">
-			<DESCRIPTION>Specifies the provider of the algorithm</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="fileext" REQUIRED="no">
-			<DESCRIPTION>The generated checksum file's name will be theoriginal filename with &quot;.&quot; and fileext added to it.Defaults to the algorithm name being used.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="property" REQUIRED="no">
-			<DESCRIPTION>Specifies the name of the property to be setwith the generated checksum value.  This cannot be specifiedwhen fileext is being used or when the number of filesfor which checksums is to be generated is greater than 1.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="forceoverwrite" REQUIRED="no">
-			<DESCRIPTION>Overwrite existing files even if the destinationfiles are newer. Defaults to &quot;no&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verifyproperty" REQUIRED="no">
-			<DESCRIPTION>Specifies the name of the property to be setwith &quot;true&quot; or &quot;false&quot; depending upon whetherthe generated checksum matches the existing checksum.  Whenthis is set, the generated checksum is not written to a file orproperty, but rather, the content of the file or property is used tocheck against the generated checksum.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="readbuffersize" REQUIRED="no">
-			<DESCRIPTION>The size of the buffer )in bytes) to use whenreading a file. Defaults to &quot;8192&quot; - you may get abetter performance on big files if you increase this value</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="chmod">
-		<DESCRIPTION>&lt;p&gt;Changes the permissions of a file or all files inside specified directories. Right now it has effect only under Unix.
-The permissions are also UNIX style, like the argument for the chmod command.&lt;/p&gt;
-&lt;p&gt;See the section on &lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based
-tasks&lt;/a&gt;, on how the inclusion/exclusion of files works, and how to
-write patterns.&lt;/p&gt;
-&lt;p&gt;This task holds an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
-supports all of FileSet's attributes and nested elements
-directly. More FileSets can be specified using nested
-&lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="exactly one of the two or nested &lt;fileset&gt; elements.">
-			<DESCRIPTION>the file or single directory of which the permissions must be changed</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="">
-			<DESCRIPTION>the directory which holds the files whose permissions must be changed</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="perm" REQUIRED="yes">
-			<DESCRIPTION>the new permissions</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="parallel" REQUIRED="no">
-			<DESCRIPTION>process all specified files using a singlechmod command. Defaults to true</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="type" REQUIRED="no, default is file">
-			<DESCRIPTION>One of file, dir orboth. If set to file, only the permissions ofplain files are going to be changed. If set to dir, onlythe directories are considered</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="concat">
-		<DESCRIPTION>&lt;p&gt;
-Concatenates a file, or a series of files, to a single file or
-the console. The destination file will be created if it does
-not exist, though the the &lt;var&gt;append&lt;/var&gt; attribute may be
-used to alter this behavior.
-&lt;/p&gt;
-&lt;p&gt;
-&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s and/or &lt;a
-href=&quot;../CoreTypes/filelist.html&quot;&gt;FileList&lt;/a&gt;s are used to
-select which files are to be concatenated. There is no
-singular 'file' attribute to specify a single file to cat -- a
-fileset or filelist must also be used in these cases.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="destfile" REQUIRED="no
- 	  ">
-			<DESCRIPTION>The destination file for the concatenated stream.If not specified the console will be used instead.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="append" REQUIRED="no">
-			<DESCRIPTION>Specifies whether or not the file specified by 'destfile'should be overwritten. Defaults to &quot;no&quot;.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>Specifies the encoding for the input files. Please see http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.htmlfor a list of possible values. Defaults to the platform'sdefault character encoding.</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="condition">
-		<DESCRIPTION>&lt;p&gt;Sets a property if a certain condition holds true - this is a
-generalization of &lt;a href=&quot;available.html&quot;&gt;Available&lt;/a&gt; and &lt;a
-href=&quot;uptodate.html&quot;&gt;Uptodate&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;If the condition holds true, the property value is set to true by
-default; otherwise, the property is not set. You can set the value to
-something other than the default by specifying the &lt;code&gt;value&lt;/code&gt;
-attribute.&lt;/p&gt;
-&lt;p&gt;Conditions are specified as &lt;a href=&quot;#nested&quot;&gt;nested elements&lt;/a&gt;,
-you must specify exactly one condition.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="property" REQUIRED="yes">
-			<DESCRIPTION>The name of the property to set</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="value" REQUIRED="no">
-			<DESCRIPTION>The value to set the property to. Defaults to&quot;true&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="conditions">
-		<DESCRIPTION></DESCRIPTION>	</TASK>
-	<TASK NAME="copy">
-		<DESCRIPTION>&lt;p&gt;Copies a file or FileSet to a new file or directory.  By default, files are
-only copied if the source file is newer than the destination file,
-or when the destination file does not exist.  However, you can explicitly
-overwrite files with the &lt;code&gt;overwrite&lt;/code&gt; attribute.&lt;/p&gt;
-&lt;p&gt;&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s are used to select a
-set of files to copy.
-To use a &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;, the &lt;code&gt;todir&lt;/code&gt; attribute
-must be set.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="yes, unless a nested
-     &lt;fileset&gt; element is used.">
-			<DESCRIPTION>The file to copy</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="preservelastmodified" REQUIRED="no; defaults to false.">
-			<DESCRIPTION>Give the copied files the same last modifiedtime as the original source files.(Note: Ignored on Java 1.1</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="tofile" REQUIRED="with the file
-       attribute, either tofile or todir can be used.
-       with nested &lt;fileset&gt; elements, if the set of files
-       is greater than 1, or if only the dir attribute is
-       specified in the &lt;fileset&gt;, or if the
-       file attribute is also specified, then only
-       todir is allowed.">
-			<DESCRIPTION>The file to copy to</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="todir" REQUIRED="">
-			<DESCRIPTION>The directory to copy to</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="overwrite" REQUIRED="no; defaults to false.">
-			<DESCRIPTION>Overwrite existing files even if the destinationfiles are newer</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filtering" REQUIRED="no; defaults to false.">
-			<DESCRIPTION>Indicates whether token filtering using the globalbuild-file filters should take place during the copy.Note: Nested &lt;filterset&gt; elements willalways be used, even if this attribute is not specified, or its value isfalse (no, or off)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="flatten" REQUIRED="no; defaults to false.">
-			<DESCRIPTION>Ignore the directory structure of the source files,and copy all files into the directory specified by the todirattribute.  Note that you can achieve the same effect by using aflatten mapper</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includeemptydirs" REQUIRED="no; defaults to true.">
-			<DESCRIPTION>Copy any empty directories included in the FileSet(s).</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no; defaults to true.">
-			<DESCRIPTION>Log a warning message, but do not stop the build,when the file to copy does not exist.Only meaningful when copying a single file.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no; defaults to false.">
-			<DESCRIPTION>Log the files that are being copied</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="copydir">
-		<DESCRIPTION>&lt;p&gt;Copies a directory tree from the source to the destination.&lt;/p&gt;
-&lt;p&gt;It is possible to refine the set of files that are being copied. This can be
-done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
-attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you specify the files you want to
-have included by using patterns. The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
-the files you want to have excluded. This is also done with patterns. And
-finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
-want to use default exclusions or not. See the section on &lt;a
-href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
-inclusion/exclusion of files works, and how to write patterns.&lt;/p&gt;
-&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
-supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
-(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;src&lt;/code&gt;) as well as the nested
-&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
-&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="src" REQUIRED="yes">
-			<DESCRIPTION>the directory to copy</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dest" REQUIRED="yes">
-			<DESCRIPTION>the directory to copy to</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filtering" REQUIRED="no">
-			<DESCRIPTION>indicates whether token filtering should take place duringthe cop</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="flatten" REQUIRED="no">
-			<DESCRIPTION>ignore directory structure of source directory,copy all files into a single directory, specified by the destattribute (default is false)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="forceoverwrite" REQUIRED="no">
-			<DESCRIPTION>overwrite existing files even if the destinationfiles are newer (default is false)</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="copyfile">
-		<DESCRIPTION>&lt;p&gt;Copies a file from the source to the destination. The file is only copied if
-the source file is newer than the destination file, or when the destination file
-does not exist.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="src" REQUIRED="yes">
-			<DESCRIPTION>the filename of the file to copy</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dest" REQUIRED="yes">
-			<DESCRIPTION>the filename of the file where to copy to</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filtering" REQUIRED="no">
-			<DESCRIPTION>indicates whether token filtering should take place duringthe cop</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="forceoverwrite" REQUIRED="no">
-			<DESCRIPTION>overwrite existing files even if the destinationfiles are newer (default is false)</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="cvs">
-		<DESCRIPTION>&lt;p&gt;Handles packages/modules retrieved from a
-&lt;a href=&quot;http://www.cvshome.org/&quot; target=&quot;_top&quot;&gt;CVS&lt;/a&gt; repository.&lt;/p&gt;
-&lt;p&gt;When doing automated builds, the &lt;a href=&quot;get.html&quot;&gt;get task&lt;/a&gt; should be
-preferred over the &lt;i&gt;checkout&lt;/i&gt; command, because of speed.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="command" REQUIRED="no, default &quot;checkout&quot;.">
-			<DESCRIPTION>the CVS command to execute</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compression" REQUIRED="no. defaults to false.">
-			<DESCRIPTION>true or false - if setto true, this is the same as compressionlevel=&quot;3</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compressionlevel" REQUIRED="no. defaults to no compression.">
-			<DESCRIPTION>A number between 1 and 9 (corresponding topossible values for CVS' -z# argument). Anyother value is treated as compression=&quot;false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="cvsroot" REQUIRED="no">
-			<DESCRIPTION>the CVSROOT variable</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="cvsrsh" REQUIRED="no">
-			<DESCRIPTION>the CVS_RSH variable</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dest" REQUIRED="no, default is project's basedir.">
-			<DESCRIPTION>the directory where the checked out files should be placed</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="package" REQUIRED="no">
-			<DESCRIPTION>the package/module to check out</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="tag" REQUIRED="no">
-			<DESCRIPTION>the tag of the package/module to check out</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="date" REQUIRED="no">
-			<DESCRIPTION>Use the most recent revision no later than the given dat</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="quiet" REQUIRED="no, default &quot;false&quot;">
-			<DESCRIPTION>suppress informational messages</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="noexec" REQUIRED="no, default to &quot;false&quot;">
-			<DESCRIPTION>report only, don't change any files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="output" REQUIRED="no, default output to ant log as msg_info.">
-			<DESCRIPTION>the file to direct standard output from the command</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="error" REQUIRED="no, default error to ant log as msg_warn.">
-			<DESCRIPTION>the file to direct standard error from the command</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="append" REQUIRED="no, default to &quot;false&quot;.">
-			<DESCRIPTION>whether to append output/error when redirecting to a file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="port" REQUIRED="no, default port 2401.">
-			<DESCRIPTION>Port used by CVS to communicate with the server</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="passfile" REQUIRED="no, default file ~/.cvspass.">
-			<DESCRIPTION>Password file to read passwords from</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>Stop the build process if the command exits with areturn code other than 0. Defaults to fals</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="cvspass">
-		<DESCRIPTION>&lt;p&gt;Adds entries to a .cvspass file. Adding entries to this file has the same affect as a cvs login command.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="cvsroot" REQUIRED="yes">
-			<DESCRIPTION>the CVS repository to add an entry for</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="password" REQUIRED="yes">
-			<DESCRIPTION>Password to be added to the password file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="passfile" REQUIRED="no, default is ~/.cvspass.">
-			<DESCRIPTION>Password file to add the entry to</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="cvstagdiff">
-		<DESCRIPTION>&lt;p&gt;Generates an XML-formatted report file of the changes between two tags or dates recorded in a
-&lt;a href=&quot;http://www.cvshome.org/&quot; target=&quot;_top&quot;&gt;CVS&lt;/a&gt; repository. &lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="starttag" REQUIRED="exactly one of the two.">
-			<DESCRIPTION>The earliest tag from which diffs are to beincluded in the report</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="startdate" REQUIRED="">
-			<DESCRIPTION>The earliest date from which diffs are to beincluded in the report</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="endtag" REQUIRED="exactly one of the two.">
-			<DESCRIPTION>The latest tag from which diffs are to beincluded in the report</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="enddate" REQUIRED="">
-			<DESCRIPTION>The latest date from which diffs are to beincluded in the report</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
-			<DESCRIPTION>The file in which to write the diff report</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="rootdir" REQUIRED="no">
-			<DESCRIPTION>Root directory for the package, if different from the package name</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="delete">
-		<DESCRIPTION>&lt;p&gt;Deletes a single file, a specified directory and all its files and
-subdirectories, or a set of files specified by one or more
-&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s.
-When specifying a set of files, empty directories are &lt;i&gt;not&lt;/i&gt; removed by
-default.
-To remove empty directories, use the &lt;code&gt;includeEmptyDirs&lt;/code&gt; attribute.
-&lt;/p&gt;
-&lt;p&gt;
-If you use this task to delete temporary files created by editors
-and it doesn't seem to work, read up on the 
-&lt;a href=&quot;../dirtasks.html#defaultexcludes&quot;&gt;default exclusion set&lt;/a&gt;
-in &lt;strong&gt;Directory-based Tasks&lt;/strong&gt;, and see the
-&lt;code&gt;defaultexcludes&lt;/code&gt; attribute below.
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="at least one of the two,
-      unless a &lt;fileset&gt; is specified.">
-			<DESCRIPTION>The file to delete, specified as either the simplefilename (if the file exists in the current base directory), arelative-path filename, or a full-path filename</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="">
-			<DESCRIPTION>The directory to delete, including all its files andsubdirectoriesNote: dir is not usedto specify a directory name for file; fileand dir are independent of each otherWARNING: Do not set dir to&quot;.&quot;, &quot;${basedir}&quot;,or the full-pathname equivalent unless you truly intend torecursively remove the entire contents of the current base directory(and the base directory itself, if different from the current workingdirectory)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no">
-			<DESCRIPTION>Show the name of each deleted file(&quot;true&quot;/&quot;false&quot;).Default is &quot;false&quot; when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="quiet" REQUIRED="no">
-			<DESCRIPTION>If the specified file or directory does not exist,do not display a diagnostic message (unless Anthas been invoked with the &amp;#x2011;verbose or&amp;#x2011;debug switches) or modify the exit status toreflect an error.When set to &quot;true&quot;, if a file or directory cannot be deleted,no error is reported. This setting emulates the -f option to the Unix rm command.Default is &quot;false&quot;.Setting this to &quot;true&quot; implies settingfailonerror to &quot;false&quot;.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>Controls whether an error (such as a failure to delete a file)stops the build or is merely reported to the screen.Only relevant if quiet is &quot;false&quot;.Default is &quot;true&quot;.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includeemptydirs" REQUIRED="no">
-			<DESCRIPTION>Set to &quot;true&quot; to delete empty directories whenusing filesets.  Default is &quot;false&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>Deprecated.  Use &lt;fileset&gt;.Comma- or space-separated list of patterns offiles that must be deleted. All files are relative to the directoryspecified in dir.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>Deprecated.  Use &lt;fileset&gt;.The name of a file. Each line ofthis file is taken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>Deprecated.  Use &lt;fileset&gt;.Comma- or space-separated list of patterns offiles that must be excluded from the deletion list.All files are relative to the directory specified in dir.No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>Deprecated.  Use &lt;fileset&gt;.The name of a file. Each line ofthis file is taken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>Indicates whether default excludesshould be used or not (&quot;yes&quot;/&quot;no&quot;).Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="deltree">
-		<DESCRIPTION>&lt;p&gt;Deletes a directory with all its files and subdirectories.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="dir" REQUIRED="yes">
-			<DESCRIPTION>the directory to delete</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="dependset">
-		<DESCRIPTION>&lt;p&gt;
-The dependset task compares a set of source files with a set of target
-files.  If any of the source files is more recent than any of
-the target files, all of the target files are removed.  
-&lt;/p&gt;
-&lt;p&gt;
-Source files and target files are specified via nested &lt;a
-href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSets&lt;/a&gt; and/or nested &lt;a
-href=&quot;../CoreTypes/filelist.html&quot;&gt;FileLists&lt;/a&gt;.  Arbitrarily many
-source and target filesets/filelists may be specified, but at 
-least one filelist/fileset is required for both sources and targets.
-&lt;/p&gt;
-&lt;p&gt;
-Use a FileSet when you want to use wildcard include or exclude
-patterns and don't care about missing files.  Use a FileList when you
-want to consider the non-existence of a file as if it were out of
-date.  If there are any non-existing files in any source or target
-FileList, all target files will be removed.
-&lt;/p&gt;
-&lt;p&gt;
-DependSet is useful to capture dependencies that are not or cannot be
-determined algorithmically.  For example, the &amp;lt;style&amp;gt; task only
-compares the source XML file and XSLT stylesheet against the target
-file to determined whether to restyle the source.  Using dependset you
-can extend this dependency checking to include a DTD or XSD file as
-well as other stylesheets imported by the main stylesheet.
-&lt;/p&gt;
-</DESCRIPTION>	</TASK>
-	<TASK NAME="dirname">
-		<DESCRIPTION>&lt;p&gt;
-Task to determine the directory path of a specified file.
-&lt;/p&gt;
-&lt;p&gt; 
-When this task executes, it will set the specified property to the
-value of the specified file up to, but not including, the last path
-element. If the specified file is a path that ends in a filename,
-the filename will be dropped. If the specified file is just a filename,
-the directory will be the current directory.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="yes">
-			<DESCRIPTION>The path to take the dirname of</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="property" REQUIRED="yes">
-			<DESCRIPTION>The name of the property to set</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="ear">
-		<DESCRIPTION>&lt;p&gt;An extension of the &lt;a href=&quot;jar.html&quot;&gt;Jar&lt;/a&gt; task with special
-treatment for files that should end up in an Enterprise Application archive.&lt;/p&gt;
-&lt;p&gt;(The Ear task is a shortcut for specifying the particular layout of a EAR file. 
-The same thing can be accomplished by using the &lt;i&gt;prefix&lt;/i&gt; and &lt;i&gt;fullpath&lt;/i&gt;
-attributes of zipfilesets in a Zip or Jar task.)&lt;/p&gt;
-&lt;p&gt;The extended zipfileset element from the zip task (with attributes &lt;i&gt;prefix&lt;/i&gt;, &lt;i&gt;fullpath&lt;/i&gt;, and &lt;i&gt;src&lt;/i&gt;) is available in the Ear task.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
-			<DESCRIPTION>the EAR file to create</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="appxml" REQUIRED="yes, unless update is set to true">
-			<DESCRIPTION>The deployment descriptor to use (META-INF/application.xml)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="basedir" REQUIRED="no">
-			<DESCRIPTION>the directory from which to jar the files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compress" REQUIRED="no">
-			<DESCRIPTION>Not only store data but also compress them, defaults to tru</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>The character encoding to use for filenamesinside the archive.  Defaults to UTF8. It is notrecommended to change this value as the created archive will mostlikely be unreadable for Java otherwise</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filesonly" REQUIRED="no">
-			<DESCRIPTION>Store only file entries, defaults to fals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="manifest" REQUIRED="no">
-			<DESCRIPTION>the manifest file to use</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="update" REQUIRED="no">
-			<DESCRIPTION>indicates whether to update or overwritethe destination file if it already exists</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="duplicate" REQUIRED="no">
-			<DESCRIPTION>behavior when a duplicate file is found.  Valid values are &quot;add&quot;, &quot;preserve&quot;, and &quot;fail&quot;.  The default value is &quot;add&quot;. </DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="echo">
-		<DESCRIPTION>&lt;p&gt;Echoes a message to the current loggers and listeners which
-means &lt;tt&gt;System.out&lt;/tt&gt; unless overridden. A &lt;tt&gt;level&lt;/tt&gt;
-can be specified, which controls at what logging level the message is
-filtered at. 
-&lt;p&gt; 
-The task can also echo to a file, in which case the option to append rather
-than overwrite the file is available, and the &lt;tt&gt;level&lt;/tt&gt; option is 
-ignored&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="message" REQUIRED="yes, unless data is included in a
-       character section within this element.">
-			<DESCRIPTION>the message to echo</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="file" REQUIRED="no">
-			<DESCRIPTION>the file to write the message to</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="append" REQUIRED="no - default is false.">
-			<DESCRIPTION>Append to an existing file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="level" REQUIRED="no - default is &quot;warning&quot;.">
-			<DESCRIPTION>Control the level at which this message is reported.One of &quot;error&quot;, &quot;warning&quot;, &quot;info&quot;, &quot;verbose&quot;, &quot;debug</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="exec">
-		<DESCRIPTION>&lt;p&gt;Executes a system command. When the &lt;i&gt;os&lt;/i&gt; attribute is specified, then
-the command is only executed when Ant is run on one of the specified operating
-systems.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="command" REQUIRED="exactly one of the two.">
-			<DESCRIPTION>the command to execute with all command linearguments. deprecated, use executable and nested&lt;arg&gt; elements instead</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="executable" REQUIRED="">
-			<DESCRIPTION>the command to execute without any command linearguments</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="no">
-			<DESCRIPTION>the directory in which the command should be executed</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="os" REQUIRED="no">
-			<DESCRIPTION>list of Operating Systems on which the command may beexecuted. If the current OS's name is contained in this list, the command willbe executed. The OS's name is determined by the Java Virtual machine and is setin the &quot;os.name&quot; system property</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="output" REQUIRED="no">
-			<DESCRIPTION>the file to which the output of the command should beredirected</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="append" REQUIRED="no">
-			<DESCRIPTION>whether output should be appended to or overwritean existing file.  Defaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="outputproperty" REQUIRED="no">
-			<DESCRIPTION>the name of a property in which the output of the command should be stored</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="resultproperty" REQUIRED="no">
-			<DESCRIPTION>the name of a property in which the return code of the command should be stored. Only of interest if failonerror=fals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="timeout" REQUIRED="no">
-			<DESCRIPTION>Stop the command if it doesn't finish within thespecified time (given in milliseconds)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>Stop the buildprocess if the command exits with areturncode other than 0. Defaults to fals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failifexecutionfails" REQUIRED="no">
-			<DESCRIPTION>Stop the build if we can't start the program.Defaults to true.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="newenvironment" REQUIRED="no, default is false">
-			<DESCRIPTION>Do not propagate old environment when new environmentvariables are specified</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="vmlauncher" REQUIRED="no, default is true">
-			<DESCRIPTION>Run command using the Java VM's execution facilitieswhere available. If set to false the underlying OS's shell,either directly or through the antRun scripts, will be used.Under some operating systems, this gives access to facilitiesnot normally available through the VM including, under Windows,being able to execute scripts, rather than their associatedinterpreter.  If you want to specify the name of theexecutable as a relative path to the directory given by thedir attribute, it may become necessary to set vmlauncher tofalse as well</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="fail">
-		<DESCRIPTION>&lt;p&gt;Exits the current build (just throwing a BuildException), optionally printing additional information.&lt;/p&gt;
-&lt;p&gt;The message of the Exception can be set via the message attribute
-or character data nested into the element.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="message" REQUIRED="no">
-			<DESCRIPTION>A message giving further information on why the build exite</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="if" REQUIRED="no">
-			<DESCRIPTION>Only fail if a property of the given name existsin the current projec</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="unless" REQUIRED="no">
-			<DESCRIPTION>Only fail if a property of the given name doesn'texist in the current projec</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="filter">
-		<DESCRIPTION>&lt;p&gt;Sets a token filter for this project or read multiple token filter from
-an input file and sets these as filters.
-Token filters are used by all tasks that perform file copying operations
-through the Project commodity methods.&lt;/p&gt;
-&lt;p&gt;Note 1: the token string must not contain the separators chars (@).&lt;br&gt;
-Note 2: Either token and value attributes must be provided, or only the
-filtersfile attribute.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="token" REQUIRED="yes*">
-			<DESCRIPTION>the token string without </DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="value" REQUIRED="yes*">
-			<DESCRIPTION>the string that should be put to replace the token when the file is copie</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filtersfile" REQUIRED="yes*">
-			<DESCRIPTION>The file from which the filters must be read. This file must be a formatted as a property file.</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="fixcrlf">
-		<DESCRIPTION>&lt;p&gt;
-Adjusts a text file to local conventions.
-&lt;/p&gt;
-&lt;p&gt;
-The set of files to be adjusted can be refined with the
-&lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;,
-&lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
-attributes. Patterns provided through the &lt;i&gt;includes&lt;/i&gt; or
-&lt;i&gt;includesfile&lt;/i&gt; attributes specify files to be
-included. Patterns provided through the &lt;i&gt;exclude&lt;/i&gt; or
-&lt;i&gt;excludesfile&lt;/i&gt; attribute specify files to be
-excluded. Additionally, default exclusions can be specified with
-the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute. See the section on &lt;a
-href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based
-tasks&lt;/a&gt;, for details of file inclusion/exclusion patterns
-and their usage.
-&lt;/p&gt;
-&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
-supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
-(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;srcdir&lt;/code&gt;) as well as the nested
-&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
-&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
-&lt;p&gt;
-The output file is only written if it is a new file, or if it
-differs from the existing file.  This prevents spurious
-rebuilds based on unchanged files which have been regenerated
-by this task.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
-			<DESCRIPTION>Where to find the files to be fixed up</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="destdir" REQUIRED="no">
-			<DESCRIPTION>Where to place the corrected files.  Defaults tosrcDir (replacing the original file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="eol" REQUIRED="no">
-			<DESCRIPTION>Specifies how end-of-line (EOL) characters are to behandled.  The EOL characters are CR, LF and the pair CRLF.Valid values for this property are:asis: leave EOL characters alonecr: convert all EOLs to a single CRlf: convert all EOLs to a single LFcrlf: convert all EOLs to the pair CRLFDefault is based on the platform on which you are runningthis task.  For Unix platforms, the default is &quot;lf&quot;.For DOS based systems (including Windows), the default is&quot;crlf&quot;.  For Mac OS, the default is &quot;cr&quot;.This is the preferred method for specifying EOL.  The&quot;cr&quot; attribute (see below) isnow deprecated.N.B.: One special case is recognized. The threecharacters CR-CR-LF are regarded as a single EOL.Unless this property is specified as &quot;asis&quot;,this sequence will be converted into the specified EOLtype.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="cr" REQUIRED="no">
-			<DESCRIPTION>Deprecated. Specifies how CR characters areto be handled at end-of-line (EOL).  Valid values for thisproperty are:asis: leave EOL characters alone.add: add a CR before any single LF characters. Theintent is to convert all EOLs to the pair CRLF.remove: remove all CRs from the file.  The intent isto convert all EOLs to a single LF.Default is based on the platform on which you are runningthis task.  For Unix platforms, the default is &quot;remove&quot;.For DOS based systems (including Windows), the default is&quot;add&quot;.N.B.: One special case is recognized. The threecharacters CR-CR-LF are regarded as a single EOL.Unless this property is specified as &quot;asis&quot;,this sequence will be converted into the specified EOLtype.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="javafiles" REQUIRED="no">
-			<DESCRIPTION>Used only in association with the&quot;tab&quot; attribute (see below), thisboolean attribute indicates whether the fileset is a setof java source files(&quot;yes&quot;/&quot;no&quot;). Defaults to&quot;no&quot;.  See notes in section on &quot;tab&quot;.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="tab" REQUIRED="no">
-			<DESCRIPTION>Specifies how tab characters are to be handled.  Validvalues for this property are:add: convert sequences of spaces which span a tab stop to tabsasis: leave tab and space characters aloneremove: convert tabs to spacesDefault for this parameter is &quot;asis&quot;.N.B.: When the attribute&quot;javafiles&quot; (see above) is&quot;true&quot;, literal TAB characters occurringwithin Java string or character constants are nevermodified.  This functionality also requires therecognition of Java-style comments.N.B.: There is an incompatibility between thisand the previous version in the handling of whitespace at the end of lines.  This version doesnot remove trailing whitespace on lines.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="tablength" REQUIRED="no">
-			<DESCRIPTION>TAB character interval. Valid values are between2 and 80 inclusive.  The default for this parameter is 8</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="eof" REQUIRED="no">
-			<DESCRIPTION>Specifies how DOS end of file (control-Z) characters areto be handled.  Valid values for this property are:add: ensure that there is an EOF character at the end of the fileasis: leave EOF characters aloneremove: remove any EOF character found at the endDefault is based on the platform on which you are running this task.For Unix platforms, the default is remove.  For DOS based systems(including Windows), the default is asis.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no - defaults to default jvm encoding">
-			<DESCRIPTION>The encoding of the file</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="genkey">
-		<DESCRIPTION>&lt;p&gt;Generates a key in keystore. This task needs Java1.2 or later&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="alias" REQUIRED="yes.">
-			<DESCRIPTION>the alias to add unde</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="storepass" REQUIRED="yes.">
-			<DESCRIPTION>password for keystore integrity. Mustbe at least 6 characters lon</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="keystore" REQUIRED="no">
-			<DESCRIPTION>keystore locatio</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="storetype" REQUIRED="no">
-			<DESCRIPTION>keystore typ</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="keypass" REQUIRED="no">
-			<DESCRIPTION>password for private key (if different</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="sigalg" REQUIRED="no">
-			<DESCRIPTION>the algorithm to use in signin</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="keyalg" REQUIRED="no">
-			<DESCRIPTION>the method to use when generating name-value pai</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no">
-			<DESCRIPTION>(true | false) verbose output when signin</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dname" REQUIRED="yes if dname element unspecified">
-			<DESCRIPTION>The distinguished name for entit</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="validity" REQUIRED="no">
-			<DESCRIPTION>(integer) indicates how many days certificate is vali</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="keysize" REQUIRED="no">
-			<DESCRIPTION>(integer) indicates the size of key generate</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="get">
-		<DESCRIPTION>&lt;p&gt;Gets a file from a URL. When the verbose option is &amp;quot;on&amp;quot;, this task
-displays a '.' for every 100 Kb retrieved. Any URL schema supported by
-the runtime is valid here, including http:, ftp: and jar:; 
-https: is only valid if the appropriate support is added to the pre-1.4 Java
-runtimes. 
-&lt;/p&gt;
-&lt;p&gt;This task should be preferred above the &lt;a href=&quot;cvs.html&quot;&gt;CVS task&lt;/a&gt; when
-fetching remote content. CVS is significantly slower than loading a compressed
-archive compared to http/ftp.&lt;/p&gt;
-The &lt;i&gt;usetimestamp&lt;/i&gt; option enables you to control downloads so that the remote file is
-only fetched if newer than the local copy. If there is no local copy, the download always takes 
-place. When a file is downloaded, the timestamp of the downloaded file is set to the remote timestamp,
-if  the JVM is Java1.2 or later. 
-NB: This timestamp facility only works on downloads using the HTTP protocol. 
-&lt;p&gt;
-A username and password can be specified, in which case basic 'slightly encoded
-plain text' authentication is used. This is only a secure authentication
-mechanism over an HTTPS link.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="src" REQUIRED="yes">
-			<DESCRIPTION>the URL from which to retrieve a file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dest" REQUIRED="yes">
-			<DESCRIPTION>the file where to store the retrieved file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no; default &quot;false&quot;">
-			<DESCRIPTION>show verbose progress information (&quot;on&quot;/&quot;off&quot;)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="ignoreerrors" REQUIRED="no; default &quot;false&quot;">
-			<DESCRIPTION>Log errors but don't treat as fatal</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="usetimestamp" REQUIRED="no; default &quot;false&quot;">
-			<DESCRIPTION>conditionally download a file based on the timestamp of thelocal copy. HTTP onl</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="username" REQUIRED="if password is set">
-			<DESCRIPTION>username for 'BASIC' http authenticatio</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="password" REQUIRED="if username is set">
-			<DESCRIPTION>password: required</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="input">
-		<DESCRIPTION>&lt;p&gt;Allows user interaction during the build process by prompting for
-input.  To do so, it uses the configured 
-&lt;a href=&quot;../inputhandler.html&quot;&gt;InputHandler&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;The prompt can be set via the message attribute or as character
-data nested into the element.&lt;/p&gt;
-&lt;p&gt;Optinonally a set of valid imput arguments can be defined via the
-validargs attribute. Input task will no accept value that don't match
-one of the predefined.&lt;/p&gt;
-&lt;p&gt;Optionally a property can be created from the value entered by the
-user. This property can then be used during the following build
-run. Input behaves according to &lt;a href=&quot;property.html&quot;&gt;property
-task&lt;/a&gt; which means that existing properties cannot be overriden.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="message" REQUIRED="no">
-			<DESCRIPTION>the Message which gets displayed to the userduring the build run</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="validargs" REQUIRED="no">
-			<DESCRIPTION>comma separated String containing valid inputarguments. If set, input task will reject any input not definedhere.  Validargs are compared case sensitive. If you want 'a' and'A' to be accepted you will need to define both arguments withinvalidargs</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="addproperty" REQUIRED="no">
-			<DESCRIPTION>the name of a property to be created frominput. Behaviour is equal to propertytask which means that existing properties cannot beoverriden</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="jar">
-		<DESCRIPTION>&lt;p&gt;Jars a set of files.&lt;/p&gt;
-&lt;p&gt;The &lt;i&gt;basedir&lt;/i&gt; attribute is the reference directory from where to jar.&lt;/p&gt;
-&lt;p&gt;Note that file permissions will not be stored in the resulting jarfile.&lt;/p&gt;
-&lt;p&gt;It is possible to refine the set of files that are being jarred. This can be
-done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
-attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you specify the files you want to
-have included by using patterns. The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
-the files you want to have excluded. This is also done with patterns. And
-finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
-want to use default exclusions or not. See the section on &lt;a
-href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
-inclusion/exclusion of files works, and how to write patterns.&lt;/p&gt;
-&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
-supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
-(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;basedir&lt;/code&gt;) as well as the nested
-&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
-&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
-&lt;p&gt;You can also use nested file sets for more flexibility, and specify
-multiple ones to merge together different trees of files into one JAR.
-The extended fileset and groupfileset attributes from the zip task are
-also available in the jar task.
-See the &lt;a href=&quot;zip.html&quot;&gt;Zip&lt;/a&gt; task for more details and examples.&lt;/p&gt;
-&lt;p&gt;If the manifest is omitted, a simple one will be supplied by Ant.&lt;/p&gt;
-&lt;p&gt;The &lt;code&gt;update&lt;/code&gt; parameter controls what happens if the
-JAR file already exists. When set to &lt;code&gt;yes&lt;/code&gt;, the JAR file is
-updated with the files specified. When set to &lt;code&gt;no&lt;/code&gt; (the
-default) the JAR file is overwritten. An example use of this is
-provided in the &lt;a href=&quot;zip.html&quot;&gt;Zip task documentation&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;(The Jar task is a shortcut for specifying the manifest file of a JAR file.
-The same thing can be accomplished by using the &lt;i&gt;fullpath&lt;/i&gt;
-attribute of a zipfileset in a Zip task. The one difference is that if the
-&lt;i&gt;manifest&lt;/i&gt; attribute is not specified, the Jar task will
-include an empty one for you.)&lt;/p&gt;
-&lt;p&gt;Manifests are processed by the Jar task according to the
-&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html&quot;&gt;Jar file specification.&lt;/a&gt;
-Note in particular that this may result in manifest lines greater than 72 bytes
-being wrapped and continued on the next line.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
-			<DESCRIPTION>the JAR file to create</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="basedir" REQUIRED="no">
-			<DESCRIPTION>the directory from which to jar the files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compress" REQUIRED="no">
-			<DESCRIPTION>Not only store data but also compress them, defaults to tru</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>The character encoding to use for filenamesinside the archive.  Defaults to UTF8. It is notrecommended to change this value as the created archive will mostlikely be unreadable for Java otherwise</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filesonly" REQUIRED="no">
-			<DESCRIPTION>Store only file entries, defaults to fals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="manifest" REQUIRED="no">
-			<DESCRIPTION>the manifest file to use.  This can be either the location of a manifest, or the name of a jar added through a fileset.  If its the name of an added jar, the task expects the manifest to be in the jar at META-INF/MANIFEST.M</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="update" REQUIRED="no">
-			<DESCRIPTION>indicates whether to update or overwritethe destination file if it already exists</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="whenempty" REQUIRED="no">
-			<DESCRIPTION>behavior when no files match.  Valid values are &quot;fail&quot;, &quot;skip&quot;, and &quot;create&quot;.  Default is &quot;skip&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="duplicate" REQUIRED="no">
-			<DESCRIPTION>behavior when a duplicate file is found.  Valid values are &quot;add&quot;, &quot;preserve&quot;, and &quot;fail&quot;.  The default value is &quot;add&quot;. </DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="index" REQUIRED="no">
-			<DESCRIPTION>whether to create an index list to speed up classloading.  This is a JDK 1.3+ specific feature.  Defaults to false.</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="java">
-		<DESCRIPTION>&lt;p&gt;Executes a Java class within the running (Ant) VM or forks another VM if
-specified.&lt;/p&gt;
-&lt;p&gt;
-If odd things go wrong when you run this task, set fork=&quot;true&quot; to use a new
-JVM.
-</DESCRIPTION>
-		<ATTRIBUTE NAME="classname" REQUIRED="either jar or classname">
-			<DESCRIPTION>the Java class to execute</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="jar" REQUIRED="either jar or classname">
-			<DESCRIPTION>the location of the jar file to execute (must have a Main-Class entry in the manifest). Fork must be set to true if this option is selected</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="args" REQUIRED="no">
-			<DESCRIPTION>the arguments for the class that isexecuted. deprecated, use nested &lt;arg&gt;elements instead</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>the classpath to use</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>the classpath to use, given as reference to a PATH defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="fork" REQUIRED="no">
-			<DESCRIPTION>if enabled triggers the class execution in another VM(disabled by default</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="jvm" REQUIRED="no">
-			<DESCRIPTION>the command used to invoke the Java Virtual Machine,default is 'java'.  The command is resolved by java.lang.Runtime.exec().Ignored if fork is disabled.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="jvmargs" REQUIRED="no">
-			<DESCRIPTION>the arguments to pass to the forked VM (ignoredif fork is disabled). deprecated, use nested&lt;jvmarg&gt; elements instead</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
-			<DESCRIPTION>Max amount of memory to allocate to the forked VM(ignored if fork is disabled</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>Stop the buildprocess if the command exits with areturncode other than 0. Default is &quot;false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="no">
-			<DESCRIPTION>The directory to invoke the VM in.  (ignored iffork is disabled</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="output" REQUIRED="no">
-			<DESCRIPTION>Name of a file to write the output to</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="append" REQUIRED="no">
-			<DESCRIPTION>whether output should be appended to or overwritean existing file.  Defaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="newenvironment" REQUIRED="no">
-			<DESCRIPTION>Do not propagate old environment when newenvironment variables are specified. Default is &quot;false&quot;(ignored if fork is disabled)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="timeout" REQUIRED="no">
-			<DESCRIPTION>Stop the command if it doesn't finish within thespecified time (given in milliseconds).  It is highlyrecommended to use this feature only if fork is enabled</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="javac">
-		<DESCRIPTION>&lt;p&gt;Compiles a Java source tree.&lt;/p&gt;
-&lt;p&gt;The source and destination directory will be recursively scanned for Java
-source files to compile. Only Java files that have no corresponding
-&lt;code&gt;.class&lt;/code&gt; file
-or where the class file is older than the
-&lt;code&gt;.java&lt;/code&gt; file will be compiled.&lt;/p&gt;
-&lt;p&gt;Note: Ant uses only the names of the source and class files to find
-the classes that need a rebuild. It will not scan the source and therefore
-will have no knowledge about nested classes, classes that are named different
-from the source file, and so on. See the
-&lt;a href=&quot;../OptionalTasks/depend.html&quot;&gt;&lt;code&gt;&amp;lt;depend&amp;gt;&lt;/code&gt;&lt;/a&gt; task
-for dependency checking based on other than just
-existence/modification times.&lt;/p&gt;
-&lt;p&gt;When the source files are part of a package, the directory structure of
-the source tree should follow the package
-hierarchy.&lt;/p&gt;
-&lt;p&gt;It is possible to refine the set of files that are being compiled.
-This can be done with the &lt;code&gt;includes&lt;/code&gt;, &lt;code&gt;includesfile&lt;/code&gt;,
-&lt;code&gt;excludes&lt;/code&gt;, and &lt;code&gt;excludesfile&lt;/code&gt;
-attributes. With the &lt;code&gt;includes&lt;/code&gt; or
-&lt;code&gt;includesfile&lt;/code&gt; attribute, you specify the files you want to
-have included.
-The &lt;code&gt;exclude&lt;/code&gt; or &lt;code&gt;excludesfile&lt;/code&gt; attribute is used
-to specify
-the files you want to have excluded. In both cases, the list of files 
-can be specified by either the filename, relative to the directory(s) specified
-in the &lt;code&gt;srcdir&lt;/code&gt; attribute or nested &lt;code&gt;&amp;lt;src&amp;gt;&lt;/code&gt;
-element(s), or by using wildcard patterns. See the section on
-&lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory-based tasks&lt;/a&gt;,
-for information on how the
-inclusion/exclusion of files works, and how to write wildcard patterns.&lt;/p&gt;
-&lt;p&gt;It is possible to use different compilers. This can be specified by
-either setting the global &lt;code&gt;build.compiler&lt;/code&gt; property, which will
-affect all &lt;code&gt;&amp;lt;javac&amp;gt;&lt;/code&gt; tasks throughout the build, or by
-setting the &lt;code&gt;compiler&lt;/code&gt; attribute, specific to the current
-&lt;code&gt;&amp;lt;javac&amp;gt;&lt;/code&gt; task.
-&lt;a name=&quot;compilervalues&quot;&gt;Valid values for either the
-&lt;code&gt;build.compiler&lt;/code&gt; property or the &lt;code&gt;compiler&lt;/code&gt;
-attribute are:&lt;/a&gt;&lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;&lt;code&gt;classic&lt;/code&gt; (the standard compiler of JDK 1.1/1.2) &amp;ndash;
-&lt;code&gt;javac1.1&lt;/code&gt; and
-&lt;code&gt;javac1.2&lt;/code&gt; can be used as aliases.&lt;/li&gt;
-&lt;li&gt;&lt;code&gt;modern&lt;/code&gt; (the standard compiler of JDK 1.3/1.4) &amp;ndash;
-&lt;code&gt;javac1.3&lt;/code&gt; and
-&lt;code&gt;javac1.4&lt;/code&gt; can be used as aliases.&lt;/li&gt;
-&lt;li&gt;&lt;code&gt;jikes&lt;/code&gt; (the &lt;a
-href=&quot;http://oss.software.ibm.com/developerworks/opensource/jikes/&quot; target=&quot;_top&quot;&gt;Jikes&lt;/a&gt;
-compiler).&lt;/li&gt;
-&lt;li&gt;&lt;code&gt;jvc&lt;/code&gt; (the Command-Line Compiler from Microsoft's SDK
-for Java / Visual J++) &amp;ndash; &lt;code&gt;microsoft&lt;/code&gt; can be used
-as an alias.&lt;/li&gt;
-&lt;li&gt;&lt;code&gt;kjc&lt;/code&gt; (the &lt;a href=&quot;http://www.dms.at/kopi/&quot; target=&quot;_top&quot;&gt;kopi&lt;/a&gt;
-compiler).&lt;/li&gt;
-&lt;li&gt;&lt;code&gt;gcj&lt;/code&gt; (the gcj compiler from gcc).&lt;/li&gt;
-&lt;li&gt;&lt;code&gt;sj&lt;/code&gt; (Symantec java compiler) &amp;ndash;
-&lt;code&gt;symantec&lt;/code&gt; can be used as an alias.&lt;/li&gt;
-&lt;li&gt;&lt;code&gt;extJavac&lt;/code&gt; (run either modern or classic in a JVM of
-its own).&lt;/li&gt;
-&lt;/ul&gt;
-&lt;p&gt;The default is &lt;code&gt;javac1.x&lt;/code&gt; with &lt;code&gt;x&lt;/code&gt; depending
-on the JDK version you use while you are running Ant.
-If you wish to use a different compiler interface than those
-supplied, you can write a class that implements the CompilerAdapter interface
-(&lt;code&gt;package org.apache.tools.ant.taskdefs.compilers&lt;/code&gt;). Supply the full
-classname in the &lt;code&gt;build.compiler&lt;/code&gt; property or the
-&lt;code&gt;compiler&lt;/code&gt; attribute.
-&lt;/p&gt;
-&lt;p&gt;The fork attribute overrides the &lt;code&gt;build.compiler&lt;/code&gt; property
-or &lt;code&gt;compiler&lt;/code&gt; attribute setting and
-expects a JDK1.1 or higher to be set in &lt;code&gt;JAVA_HOME&lt;/code&gt;.
-&lt;/p&gt;
-&lt;p&gt;You can also use the &lt;code&gt;compiler&lt;/code&gt; attribute to tell Ant
-which JDK version it shall assume when it puts together the command
-line switches - even if you set &lt;code&gt;fork=&amp;quot;true&amp;quot;&lt;/code&gt;.
-This is useful if you want to run the compiler of JDK 1.1 while you
-current JDK is 1.2+.  If you use
-&lt;code&gt;compiler=&amp;quot;javac1.1&amp;quot;&lt;/code&gt; and (for example)
-&lt;code&gt;depend=&amp;quot;true&amp;quot;&lt;/code&gt; Ant will use the command line
-switch &lt;code&gt;-depend&lt;/code&gt; instead of &lt;code&gt;-Xdepend&lt;/code&gt;.&lt;/p&gt;
-&lt;p&gt;This task will drop all entries that point to non-existent
-files/directories from the classpath it passes to the compiler.&lt;/p&gt;
-&lt;p&gt;&lt;strong&gt;Windows Note:&lt;/strong&gt;When the modern compiler is used
-in unforked mode on Windows, it locks up the files present in the
-classpath of the &lt;code&gt;&amp;lt;javac&amp;gt;&lt;/code&gt; task, and does not release them.
-The side effect of this is that you will not be able to delete or move
-those files later on in the build.  The workaround is to fork when
-invoking the compiler.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="srcdir" REQUIRED="yes, unless nested &lt;src&gt; elements are present.">
-			<DESCRIPTION>Location of the java files. (See thenote below.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="destdir" REQUIRED="no">
-			<DESCRIPTION>Location to store the class files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>Comma- or space-separated list of files (may be specified usingwildcard patterns) that must beincluded; all .java files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>The name of a file that contains a list of files toinclude (may be specified using wildcard patterns)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>Comma- or space-separated list of files (may be specified usingwildcard patterns) that must be excluded; no files (except defaultexcludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>The name of a file that contains a list of files toexclude (may be specified using wildcard patterns)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>The classpath to use</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="sourcepath" REQUIRED="no">
-			<DESCRIPTION>The sourcepath to use; defaults to the value of the srcdir attribute (or nested &lt;src&gt; elements).To suppress the sourcepath switch, use sourcepath=&quot;&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bootclasspath" REQUIRED="no">
-			<DESCRIPTION>Location of bootstrap class files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>The classpath to use, given as areference to a path defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="sourcepathref" REQUIRED="no">
-			<DESCRIPTION>The sourcepath to use, given as areference to a path defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bootclasspathref" REQUIRED="no">
-			<DESCRIPTION>Location of bootstrap class files, given as areference to a path defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="extdirs" REQUIRED="no">
-			<DESCRIPTION>Location of installed extensions</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>Encoding of source files. (Note: gcj doesn't supportthis option yet.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nowarn" REQUIRED="no">
-			<DESCRIPTION>Indicates whether the -nowarn switchshould be passed to the compiler; defaults to off</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="debug" REQUIRED="no">
-			<DESCRIPTION>Indicates whether source should be compiled with debuginformation; defaults to off</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="debuglevel" REQUIRED="no">
-			<DESCRIPTION>Keyword list to be appended to the -gcommand-line switch.  This will be ignored by all implementations exceptmodern and classic(ver &gt;= 1.2).Legal values are none or a comma-separated list of thefollowing keywords:lines, vars, and source.If debuglevel is not specified, by default,:none will beappended to -g.  If debug is not turned on,this attribute will be ignored.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="optimize" REQUIRED="no">
-			<DESCRIPTION>Indicates whether source should be compiled withoptimization; defaults to off</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="deprecation" REQUIRED="no">
-			<DESCRIPTION>Indicates whether source should be compiled withdeprecation information; defaults to off</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="target" REQUIRED="no">
-			<DESCRIPTION>Generate class files for specific VM version(e.g., 1.1 or 1.2). Note that thedefault value depends on the JVM that is running Ant.  Inparticular, if you use JDK 1.4 the generated classes will not beusable for a 1.1 Java VM unless you explicitly set this attributeto the value 1.1 (which is the default value for JDK 1.1 to1.3)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no">
-			<DESCRIPTION>Asks the compiler for verbose output</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="depend" REQUIRED="no">
-			<DESCRIPTION>Enables dependency-trackingfor compilers that support this (jikes andclassic)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includeantruntime" REQUIRED="no">
-			<DESCRIPTION>Whether to include the Ant run-time libraries in theclasspath; defaults to yes</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includejavaruntime" REQUIRED="no">
-			<DESCRIPTION>Whether to include the default run-timelibraries from the executing VM in the classpath;defaults to yes</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="fork" REQUIRED="no">
-			<DESCRIPTION>Whether to execute javac using theJDK compiler externally; defaults to no</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="executable" REQUIRED="no">
-			<DESCRIPTION>Complete path to the javacexecutable to use in case of fork=&quot;yes&quot;.Defaults to the compiler of the Java version that is currentlyrunning Ant.  Ignored if fork=&quot;no</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="memoryinitialsize" REQUIRED="no">
-			<DESCRIPTION>The initial size of the memory for the underlying VM,if javac is run externally; ignored otherwise. Defaultsto the standard VM memory setting.(Examples: 83886080, 81920k, or80m</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="memorymaximumsize" REQUIRED="no">
-			<DESCRIPTION>The maximum size of the memory for the underlying VM,if javac is run externally; ignored otherwise. Defaultsto the standard VM memory setting.(Examples: 83886080, 81920k, or80m</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>Indicates whether the build will continue even if there are compilation errors; defaults to true.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="source" REQUIRED="no">
-			<DESCRIPTION>Value of the -source command-lineswitch; will be ignored by all implementations exceptjavac1.4 (or modern when Ant is notrunning in a 1.3 VM) and jikesIf you use thisattribute together with jikes, you must make surethat your version of jikes supports the -sourceswitchLegal values are 1.3 and 1.4&amp;ndash; by default, no -source argument will be usedat all</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compiler" REQUIRED="no">
-			<DESCRIPTION>The compiler implementation to use.If this attribute is not set, the value of thebuild.compiler property, if set, will be used.Otherwise, the default compiler for the current VM will be used.(See the above list of validcompilers.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="listfiles" REQUIRED="no">
-			<DESCRIPTION>Indicates whether the source files to be compiled willbe listed; defaults to no</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="javadoc">
-		<DESCRIPTION>&lt;p&gt;Generates code documentation using the javadoc tool.&lt;/p&gt;
-&lt;p&gt;The source directory will be recursively scanned for Java source files to process
-but only those matching the inclusion rules, and not matching the exclusions rules
-will be passed to the javadoc tool. This
-allows wildcards to be used to choose between package names, reducing verbosity
-and management costs over time. This task, however, has no notion of
-&amp;quot;changed&amp;quot; files, unlike the &lt;a href=&quot;javac.html&quot;&gt;javac&lt;/a&gt; task. This means
-all packages will be processed each time this task is run. In general, however,
-this task is used much less frequently.&lt;/p&gt;
-&lt;p&gt;This task works seamlessly between different javadoc versions (1.1,
-1.2 and 1.4), with the obvious restriction that the 1.2 attributes
-will be ignored if run in a 1.1 VM.&lt;/p&gt;
-&lt;p&gt;NOTE: since javadoc calls System.exit(), javadoc cannot be run inside the
-same VM as ant without breaking functionality. For this reason, this task 
-always forks the VM. This overhead is not significant since javadoc is normally a heavy
-application and will be called infrequently.&lt;/p&gt;
-&lt;p&gt;NOTE: the packagelist attribute allows you to specify the list of packages to 
-document outside of the Ant file. It's a much better practice to include everything 
-inside the build.xml file. This option was added in order to make it easier to 
-migrate from regular makefiles, where you would use this option of javadoc. 
-The packages listed in packagelist are not checked, so the task performs even 
-if some packages are missing or broken. Use this option if you wish to convert from 
-an existing makefile. Once things are running you should then switch to the regular 
-notation. &lt;/p&gt;
-&lt;p&gt;&lt;i&gt;&lt;b&gt;DEPRECATION:&lt;/b&gt; the javadoc2 task simply points to the javadoc task and it's
-there for back compatibility reasons. Since this task will be removed in future
-versions, you are strongly encouraged to use &lt;a href=&quot;javadoc.html&quot;&gt;javadoc&lt;/a&gt;
-instead.&lt;/i&gt;&lt;/p&gt;
-&lt;p&gt;In the table below, 1.1 means available if your current Java VM is
-a 1.1 VM, 1.2 for either 1.2 or 1.3 and 1.4 for a 1.4 Java VM.  1.2+
-means any VM of at least version 1.2.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="sourcepath" REQUIRED="at least one of the three or nested
-     &lt;sourcepath&gt;, &lt;fileset&gt; or
-     &lt;packageset&gt;">
-			<DESCRIPTION>Specify where to find source file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="sourcepathref" REQUIRED="">
-			<DESCRIPTION>Specify where to find source files by reference to a PATH defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="sourcefiles" REQUIRED="">
-			<DESCRIPTION>Comma separated list of source file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="destdir" REQUIRED="yes, unless a doclet has been specified.">
-			<DESCRIPTION>Destination directory for output file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
-			<DESCRIPTION>Max amount of memory to allocate to the javadoc V</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="packagenames" REQUIRED="no">
-			<DESCRIPTION>Comma separated list of package files (with terminatingwildcard</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="packagelist" REQUIRED="no">
-			<DESCRIPTION>The name of a file containing the packages to proces</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>Specify where to find user class file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bootclasspath" REQUIRED="no">
-			<DESCRIPTION>Override location of class files loaded by the bootstrapclass loade</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>Specify where to find user class files by reference to a PATH defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bootclasspathref" REQUIRED="no">
-			<DESCRIPTION>Override location of class files loaded by thebootstrap class loader by reference to aPATH defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="extdirs" REQUIRED="no">
-			<DESCRIPTION>Override location of installed extension</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="overview" REQUIRED="no">
-			<DESCRIPTION>Read overview documentation from HTML fil</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="access" REQUIRED="no (default protected)">
-			<DESCRIPTION>Access mode: one of public, protected,package, or privat</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="public" REQUIRED="no">
-			<DESCRIPTION>Show only public classes and member</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="protected" REQUIRED="no">
-			<DESCRIPTION>Show protected/public classes and members (default</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="package" REQUIRED="no">
-			<DESCRIPTION>Show package/protected/public classes and member</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="private" REQUIRED="no">
-			<DESCRIPTION>Show all classes and member</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="old" REQUIRED="no">
-			<DESCRIPTION>Generate output using JDK 1.1 emulating docle</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no">
-			<DESCRIPTION>Output messages about what Javadoc is doin</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="locale" REQUIRED="no">
-			<DESCRIPTION>Locale to be used, e.g. en_US or en_US_WI</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>Source file encoding nam</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="version" REQUIRED="no">
-			<DESCRIPTION>Include @version paragraph</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="use" REQUIRED="no">
-			<DESCRIPTION>Create class and package usage page</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="author" REQUIRED="no">
-			<DESCRIPTION>Include @author paragraph</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="splitindex" REQUIRED="no">
-			<DESCRIPTION>Split index into one file per lette</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="windowtitle" REQUIRED="no">
-			<DESCRIPTION>Browser window title for the documentation (text</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="doctitle" REQUIRED="no">
-			<DESCRIPTION>Include title for the package index(first) page (html-code</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="header" REQUIRED="no">
-			<DESCRIPTION>Include header text for each page (html-code</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="footer" REQUIRED="no">
-			<DESCRIPTION>Include footer text for each page (html-code</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bottom" REQUIRED="no">
-			<DESCRIPTION>Include bottom text for each page (html-code</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="link" REQUIRED="no">
-			<DESCRIPTION>Create links to javadoc output at the given UR</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="linkoffline" REQUIRED="no">
-			<DESCRIPTION>Link to docs at &lt;url&gt; using package list at&lt;url2&gt; - separate the URLs by using a space character</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="group" REQUIRED="no">
-			<DESCRIPTION>Group specified packages together in overviewpage.  The format is as described below</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nodeprecated" REQUIRED="no">
-			<DESCRIPTION>Do not include @deprecated informatio</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nodeprecatedlist" REQUIRED="no">
-			<DESCRIPTION>Do not generate deprecated lis</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="notree" REQUIRED="no">
-			<DESCRIPTION>Do not generate class hierarch</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="noindex" REQUIRED="no">
-			<DESCRIPTION>Do not generate inde</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nohelp" REQUIRED="no">
-			<DESCRIPTION>Do not generate help lin</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nonavbar" REQUIRED="no">
-			<DESCRIPTION>Do not generate navigation ba</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="serialwarn" REQUIRED="no">
-			<DESCRIPTION>Generate warning about @serial ta</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="helpfile" REQUIRED="no">
-			<DESCRIPTION>Specifies the HTML help file to us</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="stylesheetfile" REQUIRED="no">
-			<DESCRIPTION>Specifies the CSS stylesheet to us</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="charset" REQUIRED="no">
-			<DESCRIPTION>Charset for cross-platform viewing of generateddocumentatio</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="docencoding" REQUIRED="no">
-			<DESCRIPTION>Output file encoding nam</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="doclet" REQUIRED="no">
-			<DESCRIPTION>Specifies the class file that starts the doclet used in generating the documentation</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="docletpath" REQUIRED="no">
-			<DESCRIPTION>Specifies the path to the doclet class file that is specified with the -doclet option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="docletpathref" REQUIRED="no">
-			<DESCRIPTION>Specifies the path to the doclet class file thatis specified with the -doclet option by reference to a PATH defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="additionalparam" REQUIRED="no">
-			<DESCRIPTION>Lets you add additional parameters to the javadoccommand line. Useful for doclets. Parameters containingspaces need to be quoted using &amp;quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>Stop the buildprocess if the command exits with areturncode other than 0</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludepackagenames" REQUIRED="no">
-			<DESCRIPTION>comma separated list of packages you don't wantdocs for</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used(yes | no); default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="useexternalfile" REQUIRED="no">
-			<DESCRIPTION>indicates whether the sourcefile name specifiedin srcfiles or as nested source elements should be written to atemporary file to make the command line shorter. Also applies tothe package names specified via the packagenames attribute ornested package elements.(yes | no). Default is no</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="source" REQUIRED="no">
-			<DESCRIPTION>Necessary to enable javadoc to handle assertionspresent in J2SE v 1.4 source code. Set this to &quot;1.4&quot; todocuments code that compiles using &quot;javac -source1.4&quot;.  Will be ignored if you use a customdoclet</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="loadfile">
-		<DESCRIPTION>&lt;p&gt;
-Load a text file into a single property. Unless an encoding is specified,
-the encoding of the current locale is used.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="srcfile" REQUIRED="yes">
-			<DESCRIPTION>source fil</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="property" REQUIRED="yes">
-			<DESCRIPTION>property to save t</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>encoding to use when loading the fil</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no, default &quot;true&quot;">
-			<DESCRIPTION>Whether to halt the build on failur</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="loadproperties">
-		<DESCRIPTION>&lt;p&gt;
-Load a file's contents as Ant properties.  This is equivalent
-to &amp;lt;property file=&amp;quot;...&amp;quot;/&amp;gt; except that it
-supports nested &amp;lt;filterchain&amp;gt; elements and it cannot be
-specified outside a target.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="srcfile" REQUIRED="yes">
-			<DESCRIPTION>source fil</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>encoding to use when loading the fil</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="mail">
-		<DESCRIPTION>&lt;p&gt;A task to send SMTP email. This task can send mail using either plain
-text, UU encoding, or MIME format mail, depending on what is available.
-Attachments may be sent using nested
-&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;fileset&lt;/a&gt; elements.&lt;/p&gt;
-&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This task may depend on external libraries
-that are not included
-in the Ant distribution.  See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;
-Library Dependencies&lt;/a&gt; for more information.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="from" REQUIRED="either a from attribute, or a &lt;from&gt;
-     element.">
-			<DESCRIPTION>Email address of sender</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="tolist" REQUIRED="at least one of these, or the
-        equivalent elements.">
-			<DESCRIPTION>Comma-separated list of recipients</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="cclist" REQUIRED="">
-			<DESCRIPTION>Comma-separated list of recipients to carbon cop</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bcclist" REQUIRED="">
-			<DESCRIPTION>Comma-separated list of recipients to carbon cop</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="message" REQUIRED="one of these or a
-     &lt;message&gt; element.">
-			<DESCRIPTION>Message to send in the body of the email</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="messagefile" REQUIRED="">
-			<DESCRIPTION>File to send as the body of the email. Propertyvalues in the file will be expanded</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="messagemimetype" REQUIRED="no">
-			<DESCRIPTION>The content type of the message.  The default istext/plain</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="files" REQUIRED="no">
-			<DESCRIPTION>Files to send as attachments to the email.  Separate multiplefile names using a comma.  You can also use &lt;fileset&gt;elements to specify files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no.">
-			<DESCRIPTION>flag to indicate whether to halt the build onany error.  The default value is true</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includefilenames" REQUIRED="no">
-			<DESCRIPTION>Include filename(s) before file contents.Valid only when the plain encoding is used.  The defaultvalue is false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="mailhost" REQUIRED="no">
-			<DESCRIPTION>Host name of the SMTP server.  The default value islocalhost</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="mailport" REQUIRED="no">
-			<DESCRIPTION>TCP port of the SMTP server.  The default value is 25</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>Specifies the encoding to use for the content of the email.Values are mime, uu, plain, orauto.  The default value is auto</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="subject" REQUIRED="no">
-			<DESCRIPTION>Email subject line</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="manifest">
-		<DESCRIPTION>&lt;p&gt;Creates a manifest file.&lt;/p&gt;
-&lt;p&gt;This task can be used to write a Manifest file, optionally
-replacing or updating an existing file.&lt;/p&gt;
-&lt;p&gt;Manifests are processed according to the 
-&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html&quot;&gt;Jar
-file specification.&lt;/a&gt;. Specifically, a manifest element consists of
-a set of attributes and sections. These sections in turn may contain
-attributes. Note in particular that this may result in manifest lines
-greater than 72 bytes being wrapped and continued on the next
-line.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="yes">
-			<DESCRIPTION>the manifest-file to create/update</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="mode" REQUIRED="no">
-			<DESCRIPTION>One of &quot;update&quot; or &quot;replace&quot;, default is &quot;replace&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="mkdir">
-		<DESCRIPTION>&lt;p&gt;Creates a directory. Also non-existent parent directories are created, when
-necessary.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="dir" REQUIRED="yes">
-			<DESCRIPTION>the directory to create</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="move">
-		<DESCRIPTION>&lt;p&gt;Moves a file to a new file or directory, or sets of files to
-a new directory.  By default, the
-destination file is overwritten if it already exists.  When &lt;var&gt;overwrite&lt;/var&gt; is
-turned off, then files are only moved if the source file is newer than
-the destination file, or when the destination file does not exist.&lt;/p&gt;
-&lt;p&gt;&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s are used to select sets of files
-to move to the &lt;var&gt;todir&lt;/var&gt; directory.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="one of file or
-      at least one nested fileset element">
-			<DESCRIPTION>the file to mov</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="tofile" REQUIRED="with the file attribute,
-     either tofile or todir can be used.  with nested filesets,
-     if the fileset size is greater than 1 or if the only entry in the fileset is a
-     directory or if the file attribute is already specified, only
-     todir is allowed">
-			<DESCRIPTION>the file to move t</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="todir" REQUIRED="">
-			<DESCRIPTION>the directory to move t</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="overwrite" REQUIRED="no">
-			<DESCRIPTION>overwrite existing files even if the destinationfiles are newer (default is &quot;true&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filtering" REQUIRED="no">
-			<DESCRIPTION>indicates whether token filtering should take place duringthe move.  See the filter task for a description ofhow filters work</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="flatten" REQUIRED="no">
-			<DESCRIPTION>ignore directory structure of source directory,copy all files into a single directory, specified by the todirattribute (default is &quot;false&quot;).Note that you can achieve thesame effect by using a flatten mappe</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includeemptydirs" REQUIRED="no">
-			<DESCRIPTION>Copy empty directories included with the nested FileSet(s).Defaults to &quot;yes&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="parallel">
-		<DESCRIPTION>&lt;p&gt;Parallel is a container task - it can contain other Ant tasks. Each nested
-task within the parallel task will be executed in its own thread. &lt;/p&gt;
-&lt;p&gt;Parallel tasks have a number of uses in an Ant buildfile including:&lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;Taking advantage of available processing resources to reduce build time&lt;/li&gt;
-&lt;li&gt;Testing servers, where the server can be run in one thread and the test
-harness is run in another thread.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;p&gt;Care must be taken when using multithreading to ensure the tasks within the
-threads do not interact. For example, two javac compile tasks which write 
-classes into the same destination directory may interact where one tries to
-read a class for dependency information while the other task is writing the 
-class file. Be sure to avoid these types of interactions within a 
-&amp;lt;parallel&amp;gt; task&lt;/p&gt;
-&lt;p&gt;The parallel task has no attributes and does not support any nested 
-elements apart from Ant tasks. Any valid Ant task may be embedded within a 
-parallel task, including other parallel tasks.&lt;/p&gt;
-&lt;p&gt;Note that while the tasks within the parallel task are being run, the main 
-thread will be blocked waiting for all the child threads to complete.&lt;/p&gt;  
-&lt;p&gt;If any of the tasks within the &amp;lt;parallel&amp;gt; task fails, the remaining 
-tasks in other threads will continue to run until all threads have completed. 
-In this situation, the parallel task will also fail.&lt;/p&gt;
-&lt;p&gt;The parallel task may be combined with the &lt;a href=&quot;sequential.html&quot;&gt;
-sequential&lt;/a&gt; task to define sequences of tasks to be executed on each thread
-within the parallel block&lt;/p&gt;
-&lt;h3&gt;Examples&lt;/h3&gt;
-&lt;pre&gt;
-&amp;lt;parallel&amp;gt;
-&amp;lt;wlrun ... &amp;gt;
-&amp;lt;sequential&amp;gt;
-&amp;lt;sleep seconds=&amp;quot;30&amp;quot;/&amp;gt;
-&amp;lt;junit ... &amp;gt;
-&amp;lt;wlstop/&amp;gt;
-&amp;lt;/sequential&amp;gt;
-&amp;lt;/parallel&amp;gt;
-&lt;/pre&gt;
-&lt;p&gt;This example represents a typical pattern for testing a server application. 
-In one thread the server is started (the wlrun task). The other thread consists 
-of a three tasks which are performed in sequence. The sleep task is used to 
-give the server time to come up. Another task which is capable of validating 
-that the server is available could be used in place of the sleep task. The 
-test harness is then run. Once the tests are complete, the server is stopped 
-(using wlstop in this example), allowing both threads to complete. The 
-parallel task will also complete at this time and the build will then 
-continue.&lt;/p&gt;
-&lt;pre&gt;
-&amp;lt;parallel&amp;gt;
-&amp;lt;javac ...&amp;gt; &amp;lt;!-- compiler servlet code --&amp;gt;
-&amp;lt;wljspc ...&amp;gt; &amp;lt;!-- precompile JSPs --&amp;gt;
-&amp;lt;/parallel&amp;gt;
-&lt;/pre&gt;
-&lt;p&gt;This example shows two independent tasks being run to achieve better 
-resource utilization during the build. In this instance, some servlets are being
-compiled in one thead and a set of JSPs is being precompiled in another. As 
-noted above, you need to be careful that the two tasks are independent, both in 
-terms of their dependencies and in terms of their potential interactions in
-Ant's external environment.&lt;/p&gt;
-&lt;hr&gt;
-&lt;p align=&quot;center&quot;&gt;Copyright &amp;copy; 2001-2002 Apache Software Foundation. All rights
-Reserved.&lt;/p&gt;
-&lt;/body&gt;
-&lt;/html&gt;
-</DESCRIPTION>	</TASK>
-	<TASK NAME="patch">
-		<DESCRIPTION>&lt;p&gt;Applies a diff file to originals. ; requires &quot;patch&quot; to be
-on the execution path.  &lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="patchfile" REQUIRED="yes">
-			<DESCRIPTION>the file that includes the diff outpu</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="originalfile" REQUIRED="no, tries to guess it from the diff 
-       file">
-			<DESCRIPTION>the file to patc</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="backups" REQUIRED="no">
-			<DESCRIPTION>Keep backups of the unpatched file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="quiet" REQUIRED="no">
-			<DESCRIPTION>Work silently unless an error occur</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="reverse" REQUIRED="no">
-			<DESCRIPTION>Assume patch was created with old and new files swapped</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="ignorewhitespace" REQUIRED="no">
-			<DESCRIPTION>Ignore whitespace differences</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="strip" REQUIRED="no">
-			<DESCRIPTION>Strip the smallest prefix containing num leading slashes from filenames</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="no, default is the project's basedir.">
-			<DESCRIPTION>The directory in which to run the patch command</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="pathconvert">
-		<DESCRIPTION>&lt;p&gt;Converts a nested &lt;code&gt;&amp;lt;path&amp;gt;&lt;/code&gt; or reference to a Path,
-FileSet, DirSet, or FileList into a path
-form for a particular platform, and stores the result in a given property.
-It can also be used when you need
-to convert a Path, FileSet, or DirSet into a list, separated by a given
-character, such as a comma or space, or, conversely, to convert a list
-of files in a FileList into a path.
-&lt;/p&gt;
-&lt;p&gt;Nested &lt;code&gt;&amp;lt;map&amp;gt;&lt;/code&gt; elements can be specified to map Windows
-drive letters to Unix paths, and vice-versa.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="targetos" REQUIRED="yes, unless pathsep and/or
-        dirsep are specified.
-     ">
-			<DESCRIPTION>The target architecture.  Must be one of 'unix', 'windows', 'netware' or 'os/2'.This is a shorthand mechanism for specifying bothpathsep and dirsepaccording to the specified target architecture.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dirsep" REQUIRED="no, defaults to current jvm file.separator">
-			<DESCRIPTION>The character(s) to use as the directory separator in thegenerated paths.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="pathsep" REQUIRED="no, defaults to current jvm file.pathseparator">
-			<DESCRIPTION>The character(s) to use as the path-element separator in thegenerated paths.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="property" REQUIRED="yes">
-			<DESCRIPTION>The name of the property in which to place the converted path</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="refid" REQUIRED="no; if omitted, a nested
-         &lt;path&gt; element must be supplied.">
-			<DESCRIPTION>What to convert, given as areference to a&lt;path&gt;, &lt;fileset&gt;,&lt;dirset&gt;, or &lt;fileset&gt;defined elsewher</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="setonempty" REQUIRED="no; default is &quot;true&quot;.
-   ">
-			<DESCRIPTION>Should the property be set, even if the resultis the empty string?</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="property">
-		<DESCRIPTION>&lt;p&gt;Sets a property (by name and value), or set of properties (from file or
-resource) in the project.  Properties are case sensitive.&lt;/p&gt;
-Properties are immutable: whoever sets a property first freezes it for the
-rest of the build; they are most definately not variable. 
-&lt;p&gt;There are five ways to set properties:&lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;By supplying both the &lt;i&gt;name&lt;/i&gt; and &lt;i&gt;value&lt;/i&gt; attribute.&lt;/li&gt;
-&lt;li&gt;By supplying both the &lt;i&gt;name&lt;/i&gt; and &lt;i&gt;refid&lt;/i&gt; attribute.&lt;/li&gt;
-&lt;li&gt;By setting the &lt;i&gt;file&lt;/i&gt; attribute with the filename of the property
-file to load. This property file has the format as defined by the file used
-in the class java.util.Properties.&lt;/li&gt;
-&lt;li&gt;By setting the &lt;i&gt;resource&lt;/i&gt; attribute with the resource name of the
-property file to load. This property file has the format as defined by the
-file used in the class java.util.Properties.&lt;/li&gt;
-&lt;li&gt;By setting the &lt;i&gt;environment&lt;/i&gt; attribute with a prefix to use.
-Properties will be defined for every environment variable by
-prefixing the supplied name and a period to the name of the variable.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;p&gt;Although combinations of these ways are possible, only one should be used
-at a time. Problems might occur with the order in which properties are set, for
-instance.&lt;/p&gt;
-&lt;p&gt;The value part of the properties being set, might contain references to other
-properties. These references are resolved at the time these properties are set.
-This also holds for properties loaded from a property file.&lt;/p&gt;
-&lt;p&gt;A list of predefined properties can be found &lt;a
-href=&quot;../using.html#built-in-props&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="name" REQUIRED="no">
-			<DESCRIPTION>the name of the property to set</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="value" REQUIRED="one of these, when using the
-        name attribute">
-			<DESCRIPTION>the value of the property</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="location" REQUIRED="">
-			<DESCRIPTION>Sets the property to the absolute filename of thegiven file. If the value of this attribute is an absolute path, itis left unchanged (with / and \ characters converted to thecurrent platforms conventions). Otherwise it is taken as a pathrelative to the project's basedir and expanded</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="refid" REQUIRED="">
-			<DESCRIPTION>Reference to an objectdefined elsewhere. Only yields reasonable results for referencesto PATH like structures or properties</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="resource" REQUIRED="one of these, when
-       not using the name attribute">
-			<DESCRIPTION>the resource name of the property file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="file" REQUIRED="">
-			<DESCRIPTION>the filename of the property file </DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="environment" REQUIRED="">
-			<DESCRIPTION>the prefix to use when retrieving environment variables. Thusif you specify environment=&quot;myenv&quot; you will be able to access OS-specific environment variables via property names &quot;myenv.PATH&quot; or &quot;myenv.TERM&quot;. Note that if you supply a property name with a final &quot;.&quot; it will not be doubled. ie environment=&quot;myenv.&quot; will still allow access of environment variables through &quot;myenv.PATH&quot; and &quot;myenv.TERM&quot;. This functionality is currently only implemented on select platforms. Feel free to send patches to increase the number of platformsthis functionality is supported on ;)Note also that properties are case sensitive, even if theenvironment variables on your operating system are not, e.g. itwill be ${env.Path} not ${env.PATH} on Windows 2000</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>the classpath to use when looking up a resource</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>the classpath to use when looking up a resource,given as reference to a &lt;path&gt; definedelsewhere.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="prefix" REQUIRED="no">
-			<DESCRIPTION>Prefix to apply to properties loaded using fileor resource. A &quot;.&quot; is appended to the prefix if not specified</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="recorder">
-		<DESCRIPTION>&lt;p&gt;A recorder is a listener to the current build process that records the
-output to a file.&lt;/p&gt;
-&lt;p&gt;Several recorders can exist at the same time.  Each recorder is
-associated with a file.  The filename is used as a unique identifier for
-the recorders.  The first call to the recorder task with an unused filename
-will create a recorder (using the parameters provided) and add it to the
-listeners of the build.  All subsequent calls to the recorder task using
-this filename will modify that recorders state (recording or not) or other
-properties (like logging level).&lt;/p&gt;
-&lt;p&gt;Some technical issues: the file's print stream is flushed for &amp;quot;finished&amp;quot;
-events (buildFinished, targetFinished and taskFinished), and is closed on
-a buildFinished event.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="name" REQUIRED="yes">
-			<DESCRIPTION>The name of the file this logger is associated with</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="action" REQUIRED="no">
-			<DESCRIPTION>This tells the logger what to do: should it startrecording or stop?  The first time that the recorder task is called forthis logfile, and if this attribute is not provided, then the defaultfor this attribute is &quot;start&quot;.  If this attribute is not provided onsubsequent calls, then the state remains as previous.[Values = {start|stop}, Default = no state change</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="append" REQUIRED="no">
-			<DESCRIPTION>Should the recorder append to a file, or create a newone? This is only applicable the first time this task is called forthis file.  [Values = {yes|no}, Default=yes</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="emacsmode" REQUIRED="no, default is false">
-			<DESCRIPTION>Removes [task] banners like Ant's-emacs command line switch if set totrue</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="loglevel" REQUIRED="no">
-			<DESCRIPTION>At what logging level should this recorder instancerecord to?  This is not a once only parameter (like appendis) -- you can increase or decrease the logging level as the build processcontinues.  [Values= {error|warn|info|verbose|debug}, Default = no change]</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="rename">
-		<DESCRIPTION>&lt;p&gt;Renames a given file.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="src" REQUIRED="yes">
-			<DESCRIPTION>file to rename</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dest" REQUIRED="yes">
-			<DESCRIPTION>new name of the file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="replace" REQUIRED="no">
-			<DESCRIPTION>Enable replacing of existing file (default: on)</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="replace">
-		<DESCRIPTION>&lt;p&gt;Replace is a directory based task for replacing the occurrence of a given string with another string 
-in selected file.&lt;/p&gt;
-&lt;p&gt;If you want to replace a text that crosses line boundaries, you
-must use a nested &lt;code&gt;&amp;lt;replacetoken&amp;gt;&lt;/code&gt; element.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="exactly one of the two.">
-			<DESCRIPTION>file for which the token should be replaced</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="">
-			<DESCRIPTION>The base directory to use when replacing a token in multiple files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no - defaults to default jvm encoding">
-			<DESCRIPTION>The encoding of the files upon which replace operates</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="token" REQUIRED="yes, unless a nested
-     replacetoken element or the replacefilterfile
-     attribute is used.">
-			<DESCRIPTION>the token which must be replaced</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="value" REQUIRED="no">
-			<DESCRIPTION>the new value for the token. When omitted, an empty string(&quot;&quot;) is used</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="summary" REQUIRED="no, by default no summary is produced">
-			<DESCRIPTION>Indicates whether a summary of the replace operation should be produced, detailing how many token occurrences and files were processed</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="propertyfile" REQUIRED="yes only if property attribute of &lt;replacefilter&gt; is used.">
-			<DESCRIPTION>valid property file from which properties specified using nested &lt;replacefilter&gt; elements are drawn</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="replacefilterfile" REQUIRED="no.">
-			<DESCRIPTION>valid property file.  Each property will betreated as a replacefilter where token is the name ofthe property and value is the properties value.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="rmic">
-		<DESCRIPTION>&lt;p&gt;Runs the rmic compiler for a certain class.&lt;/p&gt;
-&lt;p&gt;Rmic can be run on a single class (as specified with the classname
-attribute) or a number of classes at once (all classes below base that
-are neither _Stub nor _Skel classes).  If you want to rmic a single
-class and this class is a class nested into another class, you have to
-specify the classname in the form &lt;code&gt;Outer$$Inner&lt;/code&gt; instead of
-&lt;code&gt;Outer.Inner&lt;/code&gt;.&lt;/p&gt;
-&lt;p&gt;It is possible to refine the set of files that are being rmiced. This can be
-done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
-attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you specify the files you want to
-have included by using patterns. The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
-the files you want to have excluded. This is also done with patterns. And
-finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
-want to use default exclusions or not. See the section on &lt;a
-href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
-inclusion/exclusion of files works, and how to write patterns.&lt;/p&gt;
-&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
-supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
-(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;base&lt;/code&gt;) as well as the nested
-&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
-&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
-&lt;p&gt;It is possible to use different compilers. This can be selected
-with the &amp;quot;build.rmic&amp;quot; property or the &lt;code&gt;compiler&lt;/code&gt;
-attribute. &lt;a name=&quot;compilervalues&quot;&gt;There are three choices&lt;/a&gt;:&lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;sun (the standard compiler of the JDK)&lt;/li&gt;
-&lt;li&gt;kaffe (the standard compiler of &lt;a href=&quot;http://www.kaffe.org&quot; target=&quot;_top&quot;&gt;Kaffe&lt;/a&gt;)&lt;/li&gt;
-&lt;li&gt;weblogic&lt;/li&gt;
-&lt;/ul&gt;
-&lt;p&gt;The &lt;a href=&quot;http://dione.zcu.cz/~toman40/miniRMI/&quot;&gt;miniRMI&lt;/a&gt;
-project contains a compiler implementation for this task as well,
-please consult miniRMI's documentation to learn how to use it.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="base" REQUIRED="yes">
-			<DESCRIPTION>the location to store the compiled files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classname" REQUIRED="no">
-			<DESCRIPTION>the class for which to run rmic</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filtering" REQUIRED="no">
-			<DESCRIPTION>indicates whether token filtering should take plac</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="sourcebase" REQUIRED="no">
-			<DESCRIPTION>Pass the &quot;-keepgenerated&quot; flag to rmic andmove the generated source file to the base directory</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="stubversion" REQUIRED="no">
-			<DESCRIPTION>Specify the JDK version for the generated stub code.Specify &quot;1.1&quot; to pass the &quot;-v1.1&quot; option to rmic</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>The classpath to use during compilatio</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>The classpath to use during compilation, given as reference to a PATH defined elsewher</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verify" REQUIRED="no">
-			<DESCRIPTION>check that classes implement Remote before handing them to rmic (default is false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="iiop" REQUIRED="no">
-			<DESCRIPTION>indicates that portable (RMI/IIOP) stubs should be generate</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="iiopopts" REQUIRED="no">
-			<DESCRIPTION>additional arguments for IIOP class generatio</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="idl" REQUIRED="no">
-			<DESCRIPTION>indicates that IDL output files should be generate</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="idlopts" REQUIRED="no">
-			<DESCRIPTION>additional arguments for IDL file generatio</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="debug" REQUIRED="no">
-			<DESCRIPTION>generate debug info (passes -g to rmic). Defaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includeantruntime" REQUIRED="no">
-			<DESCRIPTION>whether to include the Ant run-time libraries;defaults to yes</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includejavaruntime" REQUIRED="no">
-			<DESCRIPTION>whether to include the default run-timelibraries from the executing VM; defaults to no</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="extdirs" REQUIRED="no">
-			<DESCRIPTION>location of installed extensions</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compiler" REQUIRED="no">
-			<DESCRIPTION>The compiler implementation to use.If this attribute is not set, the value of thebuild.rmic property, if set, will be used.Otherwise, the default compiler for the current VM will be used.(See the above list of validcompilers.</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="sequential">
-		<DESCRIPTION>&lt;p&gt;Sequential is a container task - it can contain other Ant tasks. The nested 
-tasks are simply executed in sequence. Sequential's primary use is to support 
-the sequential execution of a subset of tasks within the 
-&lt;a href=&quot;parallel.html&quot;&gt;parallel&lt;/a&gt; task&lt;/p&gt;
-&lt;p&gt;The sequential task has no attributes and does not support any nested 
-elements apart from Ant tasks. Any valid Ant task may be embedded within the 
-sequential task.&lt;/p&gt;
-&lt;h3&gt;Example&lt;/h3&gt;
-&lt;pre&gt;
-&amp;lt;parallel&amp;gt;
-&amp;lt;wlrun ... &amp;gt;
-&amp;lt;sequential&amp;gt;
-&amp;lt;sleep seconds=&amp;quot;30&amp;quot;/&amp;gt;
-&amp;lt;junit ... &amp;gt;
-&amp;lt;wlstop/&amp;gt;
-&amp;lt;/sequential&amp;gt;
-&amp;lt;/parallel&amp;gt;
-&lt;/pre&gt;
-&lt;p&gt;This example shows how the sequential task is used to execute three tasks in
-sequence, while another task is being executed in a separate thread. &lt;/p&gt;
-&lt;hr&gt;
-&lt;p align=&quot;center&quot;&gt;Copyright &amp;copy; 2001-2002 Apache Software Foundation. All rights
-Reserved.&lt;/p&gt;
-&lt;/body&gt;
-&lt;/html&gt;
-</DESCRIPTION>	</TASK>
-	<TASK NAME="signjar">
-		<DESCRIPTION>&lt;p&gt;Signs jar or zip files with the javasign command line tool. The
-tool detailed dependency checking: files are only signed if they
-are not signed. The &lt;tt&gt;signjar&lt;/tt&gt; attribute can point to the file to
-generate; if this file exists then
-its modification date is used as a cue as to whether to resign any JAR file.
-&lt;br&gt;  
-&lt;strong&gt;Note:&lt;/strong&gt; Requires Java 1.2 or later. &lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="jar" REQUIRED="yes.">
-			<DESCRIPTION>the jar file to sig</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="alias" REQUIRED="yes.">
-			<DESCRIPTION>the alias to sign unde</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="storepass" REQUIRED="yes.">
-			<DESCRIPTION>password for keystore integrity</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="keystore" REQUIRED="no">
-			<DESCRIPTION>keystore locatio</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="storetype" REQUIRED="no">
-			<DESCRIPTION>keystore typ</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="keypass" REQUIRED="no">
-			<DESCRIPTION>password for private key (if different</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="sigfile" REQUIRED="no">
-			<DESCRIPTION>name of .SF/.DSA fil</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="signedjar" REQUIRED="no">
-			<DESCRIPTION>name of signed JAR fil</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no; default false">
-			<DESCRIPTION>(true | false) verbose output when signin</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="internalsf" REQUIRED="no; default false">
-			<DESCRIPTION>(true | false) include the .SF file inside the signaturebloc</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="sectionsonly" REQUIRED="no; default false">
-			<DESCRIPTION>(true | false) don't compute hash of entire manifes</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="lazy" REQUIRED="no; default false">
-			<DESCRIPTION>flag to control whether the presence of a signaturefile means a JAR is signe</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="sleep">
-		<DESCRIPTION>&lt;p&gt; A task for sleeping a short period of time, useful when a build or deployment 
-process requires an interval between tasks.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="hours" REQUIRED="no">
-			<DESCRIPTION>hours to to add to the sleep tim</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="minutes" REQUIRED="no">
-			<DESCRIPTION>minutes to add to the sleep tim</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="seconds" REQUIRED="no">
-			<DESCRIPTION>seconds to add to the sleep tim</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="milliseconds" REQUIRED="no">
-			<DESCRIPTION>milliseconds to add to the sleep tim</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>flag controlling whether to break the build on an error. </DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="sql">
-		<DESCRIPTION>&lt;p&gt;Executes a series of SQL statements via JDBC to a database. Statements can 
-either be read in from a text file using the &lt;i&gt;src&lt;/i&gt; attribute or from 
-between the enclosing SQL tags.&lt;/p&gt;
-&lt;p&gt;Multiple statements can be provided, separated by semicolons (or the 
-defined &lt;i&gt;delimiter&lt;/i&gt;). Individual lines within the statements can be 
-commented using either --, // or REM at the start of the line.&lt;/p&gt;
-&lt;p&gt;The &lt;i&gt;autocommit&lt;/i&gt; attribute specifies whether auto-commit should be 
-turned on or off whilst executing the statements. If auto-commit is turned 
-on each statement will be executed and committed. If it is turned off the 
-statements will all be executed as one transaction.&lt;/p&gt;
-&lt;p&gt;The &lt;i&gt;onerror&lt;/i&gt; attribute specifies how to proceed when an error occurs 
-during the execution of one of the statements. 
-The possible values are: &lt;b&gt;continue&lt;/b&gt; execution, only show the error;
-&lt;b&gt;stop&lt;/b&gt; execution and commit transaction;
-and &lt;b&gt;abort&lt;/b&gt; execution and transaction and fail task.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="driver" REQUIRED="yes">
-			<DESCRIPTION>Class name of the jdbc drive</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="url" REQUIRED="yes">
-			<DESCRIPTION>Database connection ur</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="userid" REQUIRED="yes">
-			<DESCRIPTION>Database user nam</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="password" REQUIRED="yes">
-			<DESCRIPTION>Database passwor</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="src" REQUIRED="yes, unless statements enclosed within tags">
-			<DESCRIPTION>File containing SQL statement</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no - defaults to default jvm encoding">
-			<DESCRIPTION>The encoding of the files containing SQL statement</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="delimiter" REQUIRED="no, default &quot;;&quot;">
-			<DESCRIPTION>String that separates SQL statement</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="autocommit" REQUIRED="no, default &quot;false&quot;">
-			<DESCRIPTION>Auto commit flag for database connection (default false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="print" REQUIRED="no, default &quot;false&quot;">
-			<DESCRIPTION>Print result sets from the statements (default false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="showheaders" REQUIRED="no, default &quot;true&quot;">
-			<DESCRIPTION>Print headers for result sets from the statements (default true</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="output" REQUIRED="no (print to system.out by default)">
-			<DESCRIPTION>Output file for result sets (defaults to System.out</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="append" REQUIRED="no">
-			<DESCRIPTION>whether output should be appended to or overwritean existing file.  Defaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no (use system classpath)">
-			<DESCRIPTION>Classpath used to load drive</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no (use system classpath)">
-			<DESCRIPTION>The classpath to use, given as a reference to a path defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="onerror" REQUIRED="no, default &quot;abort&quot;">
-			<DESCRIPTION>Action to perform when statement fails: continue, stop, abor</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="rdbms" REQUIRED="no (no restriction)">
-			<DESCRIPTION>Execute task only if this rdbm</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="version" REQUIRED="no (no restriction)">
-			<DESCRIPTION>Execute task only if rdbms version matc</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="caching" REQUIRED="no (default=true)">
-			<DESCRIPTION>Should the task cache loaders and the driver</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="tar">
-		<DESCRIPTION>&lt;p&gt;Creates a tar archive.&lt;/p&gt;
-&lt;p&gt;The &lt;i&gt;basedir&lt;/i&gt; attribute is the reference directory from where to tar.&lt;/p&gt;
-&lt;p&gt;This task is a &lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based task&lt;/a&gt;
-and, as such, forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;Fileset&lt;/a&gt;. This
-defines which files, relative to the &lt;i&gt;basedir&lt;/i&gt;, will be included in the
-archive. The tar task supports all the attributes of Fileset to refine the
-set of files to be included in the implicit fileset.&lt;/p&gt;
-&lt;p&gt;In addition to the implicit fileset, the tar task supports nested filesets. These
-filesets are extended to allow control over the access mode, username and groupname
-to be applied to the tar entries. This is useful, for example, when preparing archives for
-Unix systems where some files need to have execute permission.&lt;/p&gt;
-&lt;p&gt;Early versions of tar did not support path lengths greater than 100
-characters. Modern versions of tar do so, but in incompatible ways.
-The behaviour of the tar task when it encounters such paths is
-controlled by the &lt;i&gt;longfile&lt;/i&gt; attribute.
-If the longfile attribute is set to &lt;code&gt;fail&lt;/code&gt;, any long paths will
-cause the tar task to fail.  If the longfile attribute is set to
-&lt;code&gt;truncate&lt;/code&gt;, any long paths will be truncated to the 100 character
-maximum length prior to adding to the archive. If the value of the longfile
-attribute is set to &lt;code&gt;omit&lt;/code&gt; then files containing long paths will be
-omitted from the archive.  Either option ensures that the archive can be
-untarred by any compliant version of tar. If the loss of path or file
-information is not acceptable, and it rarely is, longfile may be set to the
-value &lt;code&gt;gnu&lt;/code&gt;. The tar task will then produce a GNU tar file which
-can have arbitrary length paths. Note however, that the resulting archive will
-only be able to be untarred with GNU tar.  The default for the longfile
-attribute is &lt;code&gt;warn&lt;/code&gt; which behaves just like the gnu option except
-that it produces a warning for each file path encountered that does not match
-the limit.&lt;/p&gt;
-&lt;p&gt;This task can perform compression by setting the compression attribute to &quot;gzip&quot;
-or &quot;bzip2&quot;.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
-			<DESCRIPTION>the tar-file to create</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="basedir" REQUIRED="no">
-			<DESCRIPTION>the directory from which to tar the files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="longfile" REQUIRED="no">
-			<DESCRIPTION>Determines how long files (&gt;100 chars) are to behandled.  Allowable values are &quot;truncate&quot;, &quot;fail&quot;,&quot;warn&quot;, &quot;omit&quot; and &quot;gnu&quot;.  Default is&quot;warn&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compression" REQUIRED="no">
-			<DESCRIPTION>compression method.  Allowable values are &quot;none&quot;, &quot;gzip&quot; and &quot;bzip2&quot;.  Default is&quot;none&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="taskdef">
-		<DESCRIPTION>&lt;p&gt;Adds a task definition to the current project, such that this new task can be
-used in the current project. Two attributes are needed, the name that identifies
-this task uniquely, and the full name of the class (including the packages) that
-implements this task.&lt;/p&gt;
-&lt;p&gt;You can also define a group of tasks at once using the file or
-resource attributes.  These attributes point to files in the format of
-Java property files.  Each line defines a single task in the
-format:&lt;/p&gt;
-&lt;pre&gt;
-taskname=fully.qualified.java.classname
-&lt;/pre&gt;
-&lt;p&gt;Taskdef should be used to add your own tasks to the system. See also &amp;quot;&lt;a
-href=&quot;../develop.html#writingowntask&quot;&gt;Writing your own task&lt;/a&gt;&amp;quot;.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="name" REQUIRED="yes, unless file or resource have
-     been specified.">
-			<DESCRIPTION>the name of the tas</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classname" REQUIRED="yes, unless file or resource have
-     been specified.">
-			<DESCRIPTION>the full class name implementing the tas</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="file" REQUIRED="no">
-			<DESCRIPTION>Name of the property file to loadtaskname/classname pairs from</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="resource" REQUIRED="no">
-			<DESCRIPTION>Name of the property resource to loadtaskname/classname pairs from</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>the classpath touse when looking up classname orresource</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>Reference to a classpath touse when looking up classname orresource</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="loaderref" REQUIRED="no">
-			<DESCRIPTION>the name of the loader that isused to load the class, constructed from the specified classpath. Use this toallow multiple tasks/types to be loaded with the same loader, so they can calleach other. ( introduced in ant1.5 </DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="touch">
-		<DESCRIPTION>&lt;p&gt;Changes the modification time of a file and possibly creates it at
-the same time. In addition to working with a single file, this Task
-can also work a &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;Fileset&lt;/a&gt; (which
-also includes directories).&lt;/p&gt;
-&lt;p&gt;For JDK 1.1 only the creation of new files with a modification time
-of now works, all other cases will emit a warning.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="unless a nested fileset element
-        has been specified.">
-			<DESCRIPTION>the name of the fil</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="millis" REQUIRED="no">
-			<DESCRIPTION>specifies the new modification time of the filein milliseconds since midnight Jan 1 197</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="datetime" REQUIRED="no">
-			<DESCRIPTION>specifies the new modification time of the filein the format MM/DD/YYYY HH:MM AM_or_PM</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="tstamp">
-		<DESCRIPTION>&lt;p&gt;Sets the &lt;code&gt;DSTAMP&lt;/code&gt;, &lt;code&gt;TSTAMP&lt;/code&gt;, and &lt;code&gt;TODAY&lt;/code&gt;
-properties in the current project. By default,
-the &lt;code&gt;DSTAMP&lt;/code&gt; property is in the
-format &amp;quot;yyyyMMdd&amp;quot;, &lt;code&gt;TSTAMP&lt;/code&gt; is in the
-format &amp;quot;hhmm&amp;quot;, and &lt;code&gt;TODAY&lt;/code&gt; is in the
-format &amp;quot;MMMM dd yyyy&amp;quot;. Use the nested &amp;lt;format&amp;gt; element
-to specify a different format.&lt;/p&gt;
-&lt;p&gt;These properties can be used in the build-file, for instance, to create
-time-stamped filenames, or used to replace placeholder tags inside documents
-to indicate, for example, the release date. The best place for this task is
-probably in an initialization target.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="prefix" REQUIRED="no">
-			<DESCRIPTION>Prefix used for all properties set. The default is no prefix</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="typedef">
-		<DESCRIPTION>&lt;p&gt;Adds a data type definition to the current project, such that this
-new type can be used in the current project. Two attributes are
-needed, the name that identifies this data type uniquely, and the full
-name of the class (including the packages) that implements this
-type.&lt;/p&gt;
-&lt;p&gt;You can also define a group of data types at once using the file or
-resource attributes.  These attributes point to files in the format of
-Java property files.  Each line defines a single data type in the
-format:&lt;/p&gt;
-&lt;pre&gt;
-typename=fully.qualified.java.classname
-&lt;/pre&gt;
-&lt;p&gt;Typedef should be used to add your own types to the system. Data
-types are things like &lt;a href=&quot;../using.html#path&quot;&gt;paths&lt;/a&gt; or &lt;a
-href=&quot;../CoreTypes/fileset.html&quot;&gt;filesets&lt;/a&gt; that can be defined at
-the project level and referenced via their ID attribute.&lt;/p&gt;
-&lt;p&gt;Custom data types usually need custom tasks to put them to good use.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="name" REQUIRED="yes, unless file or resource have
-     been specified.">
-			<DESCRIPTION>the name of the data typ</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classname" REQUIRED="yes, unless file or resource have
-     been specified.">
-			<DESCRIPTION>the full class name implementing the data typ</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="file" REQUIRED="no">
-			<DESCRIPTION>Name of the property file to loadtypename/classname pairs from</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="resource" REQUIRED="no">
-			<DESCRIPTION>Name of the property resource to loadtypename/classname pairs from</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>the classpath touse when looking up classname</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="loaderref" REQUIRED="no">
-			<DESCRIPTION>the name of the loader that isused to load the class, constructed from the specified classpath. Use this toallow multiple tasks/types to be loaded with the same loader, so they can calleach other. ( introduced in ant1.5 </DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="unzip">
-		<DESCRIPTION>&lt;p&gt;Unzips a zip-, war-, tar- or jarfile.&lt;/p&gt;
-&lt;p&gt;For JDK 1.1 &amp;quot;last modified time&amp;quot; field is set to current time instead of being
-carried from the archive file.&lt;/p&gt;
-&lt;p&gt;&lt;a href=&quot;../CoreTypes/patternset.html&quot;&gt;PatternSet&lt;/a&gt;s are used to select files to extract
-&lt;I&gt;from&lt;/I&gt; the archive.  If no patternset is used, all files are extracted.
-&lt;/p&gt;
-&lt;p&gt;&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s may be used used to select archived files
-to perform unarchival upon.
-&lt;/p&gt;
-&lt;p&gt;File permissions will not be restored on extracted files.&lt;/p&gt;
-&lt;p&gt;The untar task recognizes the long pathname entries used by GNU tar.&lt;p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="src" REQUIRED="yes, if filesets are not used.">
-			<DESCRIPTION>archive file to expand</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dest" REQUIRED="yes">
-			<DESCRIPTION>directory where to store the expanded files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="overwrite" REQUIRED="no">
-			<DESCRIPTION>Overwrite files, even if they are newer than thecorresponding entries in the archive (true or false, default istrue)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compression" REQUIRED="no">
-			<DESCRIPTION>compression method for untar.  Allowable values are&quot;none&quot;, &quot;gzip&quot; and &quot;bzip2&quot;.  Default is&quot;none&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="uptodate">
-		<DESCRIPTION>&lt;p&gt;Sets a property if a target file or set of target files is more up-to-date
-than a source file or set of source files. A single source file is specified
-using the &lt;code&gt;srcfile&lt;/code&gt; attribute. A set of source files is specified
-using the nested &lt;code&gt;&amp;lt;srcfiles&amp;gt;&lt;/code&gt;
-elements. These are &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s,
-whereas multiple target files are specified using a nested
-&lt;a href=&quot;../CoreTypes/mapper.html&quot;&gt;&lt;code&gt;&amp;lt;mapper&amp;gt;&lt;/code&gt;&lt;/a&gt; element.&lt;/p&gt;
-&lt;p&gt;By default, the value of the property is set to &lt;code&gt;true&lt;/code&gt; if
-the timestamp of the target file(s) is more recent than the timestamp of
-the corresponding source file(s). You can set the value to something other
-than the default by specifying the &lt;code&gt;value&lt;/code&gt; attribute.&lt;/p&gt;
-&lt;p&gt;If a &lt;code&gt;&amp;lt;srcfiles&amp;gt;&lt;/code&gt; element is used, without also specifying
-a &lt;code&gt;&amp;lt;mapper&amp;gt;&lt;/code&gt; element, the default behavior is to use a
-&lt;a href=&quot;../CoreTypes/mapper.html#merge-mapper&quot;&gt;merge mapper&lt;/a&gt;, with the
-&lt;code&gt;to&lt;/code&gt; attribute set to the value of the
-&lt;code&gt;targetfile&lt;/code&gt; attribute.&lt;/p&gt;
-&lt;p&gt;Normally, this task is used to set properties that are useful to avoid
-target execution depending on the relative age of the specified files.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="property" REQUIRED="yes">
-			<DESCRIPTION>The name of the property to set</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="value" REQUIRED="no; defaults to true.">
-			<DESCRIPTION>The value to set the property to</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="srcfile" REQUIRED="yes, unless a nested
-       &lt;srcfiles&gt; element is present.">
-			<DESCRIPTION>The file to check against the target file(s)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="targetfile" REQUIRED="yes, unless a nested
-       &lt;mapper&gt; element is present.">
-			<DESCRIPTION>The file for which we want to determine the status</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="waitfor">
-		<DESCRIPTION>&lt;p&gt;Blocks execution until a set of specified conditions become true. This is intended
-to be used with the &lt;a href=&quot;parallel.html&quot;&gt;parallel&lt;/a&gt; task to
-synchronize a set of processes.&lt;/p&gt;
-&lt;p&gt;The conditions to wait for are defined in &lt;a href=&quot;waitfor.html#nested&quot;&gt;nested elements&lt;/a&gt;,
-if multiple conditions are specified, then the task will wait until all conditions are true..&lt;/p&gt;
-&lt;p&gt;&lt;/p&gt;
-&lt;p&gt;If both maxwait and maxwaitunit are not specified, the maxwait is 3 minutes (180000 milliseconds).&lt;/p&gt;
-&lt;p&gt;If the &lt;code&gt;timeoutproperty&lt;/code&gt; attribute has been set, a
-property of that name will be created if the condition didn't come
-true within the specified time.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="maxwait" REQUIRED="no">
-			<DESCRIPTION>The maximum amount of time to wait for all the required conditionsto become true before failing the task. Defaults to 180000 maxwaitunits</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="maxwaitunit" REQUIRED="no">
-			<DESCRIPTION>The unit of time that must be used to interpret the value of themaxwait attribute.  Defaults to millisecond.Valid Values aremillisecondsecondminutehourdayweek</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="checkevery" REQUIRED="no">
-			<DESCRIPTION>The amount of time to wait between each test of the conditions.Defaults to 500 checkeveryunits</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="checkeveryunit" REQUIRED="no">
-			<DESCRIPTION>The unit of time that must be used to interpret the value of thecheckevery attribute.  Defaults to millisecond.Valid Values aremillisecondsecondminutehourdayweek</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="timeoutproperty" REQUIRED="no">
-			<DESCRIPTION>the name of the property to set if maxwait hasbeen exceeded</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="war">
-		<DESCRIPTION>&lt;p&gt;An extension of the &lt;a href=&quot;jar.html&quot;&gt;Jar&lt;/a&gt; task with special
-treatment for files that should end up in the
-&lt;code&gt;WEB-INF/lib&lt;/code&gt;, &lt;code&gt;WEB-INF/classes&lt;/code&gt; or
-&lt;code&gt;WEB-INF&lt;/code&gt; directories of the Web Application Archive.&lt;/p&gt;
-&lt;p&gt;(The War task is a shortcut for specifying the particular layout of a WAR file. 
-The same thing can be accomplished by using the &lt;i&gt;prefix&lt;/i&gt; and &lt;i&gt;fullpath&lt;/i&gt;
-attributes of zipfilesets in a Zip or Jar task.)&lt;/p&gt;
-&lt;p&gt;The extended zipfileset element from the zip task (with attributes &lt;i&gt;prefix&lt;/i&gt;, &lt;i&gt;fullpath&lt;/i&gt;, and &lt;i&gt;src&lt;/i&gt;) is available in the War task.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
-			<DESCRIPTION>the WAR file to create</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="warfile" REQUIRED="no">
-			<DESCRIPTION>Deprecated name of the file to create-use destfile instead</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="webxml" REQUIRED="yes, unless update is set to true">
-			<DESCRIPTION>The deployment descriptor to use (WEB-INF/web.xml)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="basedir" REQUIRED="no">
-			<DESCRIPTION>the directory from which to jar the files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compress" REQUIRED="no">
-			<DESCRIPTION>Not only store data but also compress them, defaults to tru</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>The character encoding to use for filenamesinside the archive.  Defaults to UTF8. It is notrecommended to change this value as the created archive will mostlikely be unreadable for Java otherwise</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filesonly" REQUIRED="no">
-			<DESCRIPTION>Store only file entries, defaults to fals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="manifest" REQUIRED="no">
-			<DESCRIPTION>the manifest file to use</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="update" REQUIRED="no">
-			<DESCRIPTION>indicates whether to update or overwritethe destination file if it already exists</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="duplicate" REQUIRED="no">
-			<DESCRIPTION>behavior when a duplicate file is found.  Valid values are &quot;add&quot;, &quot;preserve&quot;, and &quot;fail&quot;.  The default value is &quot;add&quot;. </DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="xmlproperty">
-		<DESCRIPTION>&lt;p&gt;
-Loads property values from a valid xml file.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="yes">
-			<DESCRIPTION>The XML file to parse</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="prefix" REQUIRED="no">
-			<DESCRIPTION>The prefix to prepend to each propert</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="keeproot" REQUIRED="no, default is true.">
-			<DESCRIPTION>If false, it doesn't include the xml root tag as a firstvalue in the property name</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="validate" REQUIRED="no, default is false.">
-			<DESCRIPTION>If true, it enables validation</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="collapseattributes" REQUIRED="no, default is false.">
-			<DESCRIPTION>If true, it treats attributes as nested elements</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="xslt">
-		<DESCRIPTION>&lt;p&gt;Process a set of documents via XSLT.&lt;/p&gt;
-&lt;p&gt;This is useful for building views of XML based documentation,
-or for generating code.&lt;/p&gt;
-&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This task depends on external libraries not included in the Ant distribution.
-See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;Library Dependencies&lt;/a&gt; for more information.&lt;/p&gt;
-&lt;p&gt;It is possible to refine the set of files that are being processed. This can be
-done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
-attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you specify the files you want to
-have included by using patterns. The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
-the files you want to have excluded. This is also done with patterns. And
-finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
-want to use default exclusions or not. See the section on &lt;a
-href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
-inclusion/exclusion of files works, and how to write patterns.&lt;/p&gt;
-&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and supports all
-attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt; (&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;basedir&lt;/code&gt;)
-as well as the nested &lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt;
-and &lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
-&lt;p&gt;This task supports the use of a nested &amp;lt;param&amp;gt; element which is used to pass values
-to an &amp;lt;xsl:param&amp;gt; declaration.&lt;/p&gt;
-&lt;p&gt;This task supports the use of a nested &lt;a href=&quot;../CoreTypes/xmlcatalog.html&quot;&gt;xmlcatalog&lt;/a&gt;
-element which is used to perform Entity and URI resolution&lt;/p&gt;
-&lt;p&gt;&lt;i&gt;&amp;lt;style&amp;gt; and &amp;lt;xslt&amp;gt; refer to the same Ant task and can be used interchangeably.&lt;/i&gt;&lt;/p&gt;
-&lt;p&gt;If you want to use Xalan-J 1 or XSL:P, you also need Ant's optional.jar&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="basedir" REQUIRED="no">
-			<DESCRIPTION>where to find the source XML file, default is theproject's basedir</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="destdir" REQUIRED="yes, unless in and out have been
-       specified.">
-			<DESCRIPTION>directory in which to store the results</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="extension" REQUIRED="no">
-			<DESCRIPTION>desired file extension to be used for the targets. If notspecified, the default is &quot;.html&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="style" REQUIRED="yes">
-			<DESCRIPTION>name of the stylesheet to use - given either relativeto the project's basedir or as an absolute pathDEPRECATED - can be specified as a path relativeto the basedir attribute of this task as well.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>the classpath to use when looking up the XSLTprocessor</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>the classpath to use, given as reference to a path defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="force" REQUIRED="no; default is false">
-			<DESCRIPTION>Recreate target files, even if they are newerthan their corresponding source files or the stylesheet</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="processor" REQUIRED="no">
-			<DESCRIPTION>name of the XSLT processor to use.  Permissible values are&quot;trax&quot; for a TraX compliant processor (ie JAXP interfaceimplementation such as Xalan 2 or Saxon),&quot;xslp&quot; for the XSL:P processor, &quot;xalan&quot; forthe Apache XML Xalan (version 1) processor the name of anarbitrary XSLTLiaison class. Defaults to trax, followed by xalanand then xslp (in that order). The first one found in your classpath is the one that is used.DEPRECATED - XSL:P and xalan are deprecated and nomore supported..</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must be included.All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file is taken to bean include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must be excluded.No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file is taken to bean exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="in" REQUIRED="no">
-			<DESCRIPTION>specifies a single XML document to be styled. Should be usedwith the out attribute</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="out" REQUIRED="no">
-			<DESCRIPTION>specifies the output name for the styled result from thein attribute</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="scanincludeddirectories" REQUIRED="no">
-			<DESCRIPTION>If any directories are matched by theincludes/excludes patterns, try to transform all files in thesedirectories.  Default is tru</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="zip">
-		<DESCRIPTION>&lt;p&gt;Creates a zipfile.&lt;/p&gt;
-&lt;p&gt;The &lt;i&gt;basedir&lt;/i&gt; attribute is the reference directory from where to zip.&lt;/p&gt;
-&lt;p&gt;Note that file permissions will not be stored in the resulting zipfile.&lt;/p&gt;
-&lt;p&gt;It is possible to refine the set of files that are being zipped. This can be
-done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and &lt;i&gt;defaultexcludes&lt;/i&gt;
-attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you specify the files you want to
-have included by using patterns. The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
-the files you want to have excluded. This is also done with patterns. And
-finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
-want to use default exclusions or not. See the section on &lt;a
-href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
-inclusion/exclusion of files works, and how to write patterns. &lt;/p&gt;
-&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
-supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
-(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;basedir&lt;/code&gt;) as well as the nested
-&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
-&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
-&lt;p&gt;Or, you may place within it nested file sets, or references to file sets.
-In this case &lt;code&gt;basedir&lt;/code&gt; is optional; the implicit file set is &lt;i&gt;only used&lt;/i&gt;
-if &lt;code&gt;basedir&lt;/code&gt; is set. You may use any mixture of the implicit file set
-(with &lt;code&gt;basedir&lt;/code&gt; set, and optional attributes like &lt;code&gt;includes&lt;/code&gt;
-and optional subelements like &lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;); explicit nested
-&lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt; elements so long as at least one fileset total is specified. The ZIP file will
-only reflect the relative paths of files &lt;i&gt;within&lt;/i&gt; each fileset. The Zip task and its derivatives know a special form of a fileset named zipfileset that has additional attributes (described below). &lt;/p&gt;
-&lt;p&gt;The Zip task also supports the merging of multiple zip files into the zip file. 
-This is possible through either the &lt;i&gt;src&lt;/i&gt; attribute of any nested filesets 
-or by using the special nested fileset &lt;i&gt;zipgroupfileset&lt;/i&gt;.&lt;/p&gt;
-&lt;p&gt;The &lt;code&gt;update&lt;/code&gt; parameter controls what happens if the
-ZIP file already exists. When set to &lt;code&gt;yes&lt;/code&gt;, the ZIP file is
-updated with the files specified. (New files are added; old files are
-replaced with the new versions.) When set to &lt;code&gt;no&lt;/code&gt; (the
-default) the ZIP file is overwritten.&lt;/p&gt;
-&lt;p&gt;The &lt;code&gt;whenempty&lt;/code&gt; parameter controls what happens when no files match.
-If &lt;code&gt;skip&lt;/code&gt; (the default), the ZIP is not created and a warning is issued.
-If &lt;code&gt;fail&lt;/code&gt;, the ZIP is not created and the build is halted with an error.
-If &lt;code&gt;create&lt;/code&gt;, an empty ZIP file (explicitly zero entries) is created,
-which should be recognized as such by compliant ZIP manipulation tools.&lt;/p&gt;
-&lt;p&gt;This task will now use the platform's default character encoding
-for filenames - this is consistent with the command line ZIP tools,
-but causes problems if you try to open them from within Java and your
-filenames contain non US-ASCII characters. Use the encoding attribute
-and set it to UTF8 to create zip files that can safely be read by
-Java.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="destfile" REQUIRED="yes">
-			<DESCRIPTION>the zip-file to create</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="zipfile" REQUIRED="yes">
-			<DESCRIPTION>the deprecated old name of destfile</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="basedir" REQUIRED="no">
-			<DESCRIPTION>the directory from which to zip the files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compress" REQUIRED="no">
-			<DESCRIPTION>Not only store data but also compress them, defaults to tru</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>The character encoding to use for filenamesinside the zip file.  For a list of possible values see http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html.Defaults to the platform's default character encoding</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filesonly" REQUIRED="no">
-			<DESCRIPTION>Store only file entries, defaults to fals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="update" REQUIRED="no">
-			<DESCRIPTION>indicates whether to update or overwritethe destination file if it already exists</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="whenempty" REQUIRED="no">
-			<DESCRIPTION>behavior when no files match.  Valid values are &quot;fail&quot;, &quot;skip&quot;, and &quot;create&quot;.  Default is &quot;skip&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="duplicate" REQUIRED="no">
-			<DESCRIPTION>behavior when a duplicate file is found.  Valid values are &quot;add&quot;, &quot;preserve&quot;, and &quot;fail&quot;. The default value is &quot;add&quot;. </DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="antlr">
-		<DESCRIPTION>&lt;p&gt;
-Invokes the &lt;a HREF=&quot;http://www.antlr.org/&quot; target=&quot;_top&quot;&gt;ANTLR&lt;/a&gt; Translator generator
-on a grammar file.
-&lt;/p&gt;
-&lt;p&gt;
-To use the ANTLR task, set the &lt;i&gt;target&lt;/i&gt; attribute to the name of the
-grammar file to process.  Optionally, you can also set the
-&lt;i&gt;outputdirectory&lt;/i&gt; to write the generated file to a specific directory.
-Otherwise ANTLR writes the generated files to the directory containing
-the grammar file.
-&lt;/p&gt;
-&lt;p&gt;
-This task only invokes ANTLR if the grammar file is newer than the generated
-files.
-&lt;/p&gt;
-&lt;p&gt;
-&lt;i&gt;
-To successfully run ANTLR, your best option is probably to build the whole
-jar with the provided script &lt;b&gt;mkalljar&lt;/b&gt; and drop the resulting jar (about 300KB)
-into ${ant.home}/lib. Dropping the default jar (70KB) is probably not enough
-for most needs and your only option will be to add ANTLR home directory
-to your classpath as described in ANTLR &lt;tt&gt;install.html&lt;/tt&gt; document.
-&lt;/i&gt;
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="target" REQUIRED="yes">
-			<DESCRIPTION>The grammar file to process</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="outputdirectory" REQUIRED="no">
-			<DESCRIPTION>The directory to write the generated files to.  If not set, the filesare written to the directory containing the grammar file.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="glib" REQUIRED="no">
-			<DESCRIPTION>An optional super grammar file that the target grammar overrides.  Thisfeature is only needed for advanced vocabularies.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="debug" REQUIRED="no">
-			<DESCRIPTION>When set to &quot;yes&quot;, this flag adds code to the generated parser that willlaunch the ParseView debugger upon invocation.  The default is &quot;no&quot;.Note: ParseView is a separate component that needs to be installed or yourgrammar will have compilation errors.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="html" REQUIRED="no">
-			<DESCRIPTION>Emit an html version of the grammar with hyperlinked actions.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="diagnostic" REQUIRED="no">
-			<DESCRIPTION>Generates a text file with debugging infomation based on the target grammar.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="trace" REQUIRED="no">
-			<DESCRIPTION>Forces all rules to call traceIn/traceOut if set to &quot;yes&quot;.The default is &quot;no&quot;.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="traceparser" REQUIRED="no">
-			<DESCRIPTION>Only forces parser rules to call traceIn/traceOut if set to &quot;yes&quot;.The default is &quot;no&quot;.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="tracelexer" REQUIRED="no">
-			<DESCRIPTION>Only forces lexer rules to call traceIn/traceOut if set to &quot;yes&quot;.The default is &quot;no&quot;.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="tracetreewalker" REQUIRED="no">
-			<DESCRIPTION>Only forces tree walker rules to call traceIn/traceOut if set to&quot;yes&quot;.  The default is &quot;no&quot;.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="no">
-			<DESCRIPTION>The directory to invoke the VM in.</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="borlandgenerateclient">
-		<DESCRIPTION>&lt;p&gt;The BorlandGenerateClient is a task dedicated to Borland Application Server
-v 4.5. It offers to generate the client jar file corresponding to an ejb jar
-file.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="ejbjar" REQUIRED="yes">
-			<DESCRIPTION>ejb jar fil</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="debug" REQUIRED="no">
-			<DESCRIPTION>If true, turn on the debug mode for each borlandtools (java2iiop, iastool ...) default = fals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="clientjar" REQUIRED="no">
-			<DESCRIPTION>client jar file name. If missing the client jarfile name is build using the ejbjar file name: ejbjar = hellobean-ejb.jar=&gt; hellobean-ejbclient.ja</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="mode" REQUIRED="no">
-			<DESCRIPTION>choose the command launching mode. Two values:java or fork. default = fork. java is not supported for version=5.Possibility to specify a classpath</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="version" REQUIRED="no, defaults to 4">
-			<DESCRIPTION>set the Borland Application Version.4 means B.A.S (Borland Application Server 4.x)5 means B.E.S (Borland Application Server 5.x)</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="cab">
-		<DESCRIPTION>&lt;p&gt;The cab task creates Microsoft cab archive files.  It is invoked
-similar to the &lt;a href=&quot;../CoreTasks/jar.html&quot;&gt;jar&lt;/a&gt; or &lt;a href=&quot;../CoreTasks/zip.html&quot;&gt;zip&lt;/a&gt; tasks.
-This task will work on Windows using the external cabarc tool (provided by Microsoft)
-which must be located in your executable path.&lt;/p&gt;
-&lt;p&gt;To use this task on other platforms you need to download and compile libcabinet from
-&lt;a href=&quot;http://trill.cis.fordham.edu/~barbacha/cabinet_library/&quot;&gt;
-http://trill.cis.fordham.edu/~barbacha/cabinet_library/&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;See the section on &lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based
-tasks&lt;/a&gt;, on how the inclusion/exclusion of files works, and how to
-write patterns.&lt;/p&gt;
-&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
-supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
-(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;basedir&lt;/code&gt;) as well as the nested
-&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
-&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="cabfile" REQUIRED="yes">
-			<DESCRIPTION>the name of the cab file to create</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="basedir" REQUIRED="yes">
-			<DESCRIPTION>the directory to start archiving files from</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no">
-			<DESCRIPTION>set to &quot;yes&quot; if you want to see the output fromthe cabarc tool.  defaults to &quot;no&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compress" REQUIRED="no">
-			<DESCRIPTION>set to &quot;no&quot; to store files without compressing.defaults to &quot;yes&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="options" REQUIRED="no">
-			<DESCRIPTION>use to set additional command-line options forthe cabarc tool.  should not normally be necessary</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files thatmust be included. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files thatmust be excluded. No files (except default excludes) are excludedwhen omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be usedor not (&quot;yes&quot;/&quot;no&quot;). Default excludes are used when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="depend">
-		<DESCRIPTION>&lt;p&gt;
-The depend task works by determining which classes are out of date with
-respect to their source and then removing the class files of any other
-classes which depend on the out-of-date classes.
-&lt;/p&gt;
-&lt;p&gt; To determine the class dependencies, the depend task analyses the class 
-files of all class files passed to it. Depend does not parse your source code in 
-any way but relies upon the class references encoded into the class files by the 
-compiler. This is generally faster than parsing the Java source.&lt;/p&gt;
-&lt;p&gt;
-To learn more about how this information is obtained from the class files, 
-please refer to &lt;a href=&quot;http://java.sun.com/docs/books/vmspec/&quot;&gt;the Java 
-Virtual Machine Specification&lt;/a&gt;
-&lt;/p&gt;
-&lt;p&gt; Since a class' dependencies only change when the class itself changes, the 
-depend task is able to cache dependency information. Only those class files 
-which have changed will have their dependency information re-analysed. Note that 
-if you change a class' dependencies by changing the source, it will be 
-recompiled anyway. You can examine the dependency files created to understand 
-the  dependencies of your classes. Please do not rely, however, on the format of 
-the information, as it may change in a later release. &lt;/p&gt;
-&lt;p&gt; Once depend discovers all of the class dependencies, it &amp;quot;inverts&amp;quot; 
-this relation to determine, for each class, which other classes are dependent 
-upon it. This &amp;quot;affects&amp;quot; list is used to discover which classes are 
-invalidated by the out of date class. The class files of the invalidated 
-classes are removed, triggering the compilation of the affected classes. &lt;/p&gt;
-&lt;p&gt; The depend task supports an attribute, &amp;quot;closure&amp;quot; which controls 
-whether depend will only consider direct class-class relationships or whether it 
-will also consider transitive, indirect relationships. For example, say there 
-are three classes, A, which depends on B, which in-turn depend on C. Now say 
-that class C is out of date. Without closure, only class B would be removed by 
-depend. With closure set, class A would also be removed. Normally direct 
-relationships are sufficient - it is unusual for a class to depend on another 
-without having a direct relationship. With closure set, you will notice that 
-depend typically removes far more class files. &lt;/p&gt;
-&lt;p&gt;The classpath attribute for &lt;code&gt;&amp;lt;depend&amp;gt;&lt;/code&gt; is optional. If it is present, 
-depend will check class dependencies against classes and jars on this classpath.
-Any classes which depend on an element from this classpath and which are older 
-than that element will be deleted. A typical example where you would use this 
-facility would be where you are building a utility jar and want to make sure 
-classes which are out of date with respect to this jar are rebuilt. You should
-&lt;b&gt;not&lt;/b&gt; include jars in this classpath which you do not expect to change, 
-such as the JDK runtime jar or third party jars, since doing so will just slow 
-down the dependency check. This means that if you do use a classpath for the 
-depend task it may be different from the classpath necessary to actually 
-compile your code.&lt;/p&gt;
-&lt;h3&gt;Performance&lt;/h3&gt; 
-&lt;p&gt; The performance of the depend task is dependent on a 
-number of factors such as class relationship complexity and how many class files 
-are out of date. The decision about whether it is cheaper to just recompile all 
-classes or to use the depend task will depend on the size of your project and 
-how interrelated your classes are. &lt;/p&gt;
-&lt;h3&gt;Limitations&lt;/h3&gt;
-&lt;p&gt; There are some source dependencies which depend will not detect. &lt;/p&gt;
-&lt;ul&gt;
-&lt;li&gt;If the Java compiler optimizes away a class relationship, 
-there can be a source dependency without a class dependency. &lt;/li&gt;
-&lt;li&gt;Non public classes cause two problems. Firstly depend cannot relate
-the class file to a source file. In the future this may be addressed
-using the source file attribute in the classfile. Secondly, neither 
-depend nor the compiler tasks can detect when a non public class is
-missing. Inner classes are handled by the depend task.&lt;/li&gt;
-&lt;/ul&gt;
-The most obvious example of these limitations is that the task can't tell
-which classes to recompile when a constant primitive data type exported 
-by other classes is changed. For example, a change in the definition of
-something like
-&lt;pre&gt;
-public final class Constants {
-public final static boolean DEBUG=false;
-}
-&lt;/pre&gt; will not be picked up by other classes.
-</DESCRIPTION>
-		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
-			<DESCRIPTION>This is the directory where the source exists. dependwill examine this to determine which classes are out of date. If you use multiplesource directories you can pass this attribute a path of source directories</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="destdir" REQUIRED="no">
-			<DESCRIPTION>This is the root directory of the class files whichwill be analysed. If this is not present, the srcdir is used</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="cache" REQUIRED="no">
-			<DESCRIPTION>This is a directory in which depend can store andretrieve dependency information. If this is not present, depend will notuse a cache</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="closure" REQUIRED="no">
-			<DESCRIPTION>This attribute controls whether depend only removesclasses which directly depend on out of date classes. If this is set to true,depend will traverse the class dependency graph deleting all affectedclasses. Defaults to fals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dump" REQUIRED="no">
-			<DESCRIPTION>If true the dependency information will be written to the debug level log</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>The classpath containg jars and classes for which &lt;depend&gt; should alsocheck dependencie</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="echoproperties">
-		<DESCRIPTION>&lt;p&gt;Displays all the current properties in the project.  The output can be
-sent to a file if desired. You can also specify a subset of properties
-to save by naming a prefix: only properties starting with this
-prefix will be saved. This task can be used as a somewhat contrived
-means of returning data from an &lt;tt&gt;&amp;lt;ant&amp;gt;&lt;/tt&gt; invocation,
-but is really for debugging buildfiles.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="destfile" REQUIRED="no">
-			<DESCRIPTION>If specified, the value indicates the name of thefile to send the output of the statement to.  The generated output fileis compatible for loading by any Java application as a property file.If not specified, then the output will go to the Ant log</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="prefix" REQUIRED="no">
-			<DESCRIPTION>a prefix which is used to filter the propertiesonly those properties starting with this prefix will be echoed.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>By default, the &quot;failonerror&quot; attribute is enabled.If an error occurs while writing the properties to a file, and thisattribute is enabled, then a BuildException will be thrown, causing thebuild to fail.  If disabled, then IO errors will be reported as a logstatement, and the build will continue without failure from this task</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="ftp">
-		<DESCRIPTION>&lt;p&gt;The ftp task implements a basic FTP client that can send, receive,
-list, delete files, and create directories.  See below for descriptions and examples of how
-to perform each task.&lt;/p&gt;
-&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This task depends on external libraries not included in the Ant distribution.
-See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;Library Dependencies&lt;/a&gt; for more information.&lt;/p&gt;
-&lt;p&gt;The ftp task makes no attempt to determine what file system syntax is
-required by the remote server, and defaults to Unix standards.
-&lt;i&gt;remotedir&lt;/i&gt; must be specified in the exact syntax required by the ftp
-server. If the usual Unix conventions are not supported by the server,
-&lt;i&gt;separator&lt;/i&gt; can be used to set the file separator that should be used
-instead.&lt;/p&gt;
-&lt;p&gt;See the section on &lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based
-tasks&lt;/a&gt;, on how the inclusion/exclusion of files works, and how to
-write patterns.&lt;/p&gt;
-&lt;p&gt;
-&lt;b&gt;Warning: &lt;/b&gt; for the get and delete actions to work properly 
-with a Windows 2000 ftp server, it needs to be configured to generate
-Unix style listings, and not the default MS-DOS listing. Or someone needs to write
-the code to parse MS-DOS listings -any takers?
-</DESCRIPTION>
-		<ATTRIBUTE NAME="server" REQUIRED="yes">
-			<DESCRIPTION>the address of the remote ftp server</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="port" REQUIRED="no">
-			<DESCRIPTION>the port number of the remote ftp server.Defaults to port 21</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="userid" REQUIRED="yes">
-			<DESCRIPTION>the login id to use on the ftp server</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="password" REQUIRED="yes">
-			<DESCRIPTION>the login password to use on the ftp server</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="remotedir" REQUIRED="no">
-			<DESCRIPTION>the directory to which to upload files on the ftp server</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="action" REQUIRED="no">
-			<DESCRIPTION>the ftp action to perform, defaulting to &quot;send&quot;.  Currently supports &quot;put&quot;, &quot;get&quot;,&quot;del&quot;, &quot;list&quot;, &quot;chmod&quot; and &quot;mkdir&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="binary" REQUIRED="no">
-			<DESCRIPTION>selects binary-mode (&quot;yes&quot;) or text-mode (&quot;no&quot;) transfers.  Defaults to &quot;yes</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="passive" REQUIRED="no">
-			<DESCRIPTION>selects passive-mode (&quot;yes&quot;) transfers.  Defaults to &quot;no</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no">
-			<DESCRIPTION>displays information on each file transferred if set to &quot;yes&quot;. Defaults to &quot;no&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="depends" REQUIRED="no">
-			<DESCRIPTION>transfers only new or changed files if set to &quot;yes&quot;. Defaults to &quot;no&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="newer" REQUIRED="no">
-			<DESCRIPTION>a synonym for depends</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="separator" REQUIRED="no">
-			<DESCRIPTION>sets the file separator used on the ftp server.Defaults to &quot;/&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="umask" REQUIRED="no">
-			<DESCRIPTION>sets the default file permissions for new files,unix only</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="chmod" REQUIRED="no">
-			<DESCRIPTION>sets or changes file permissions for new or existing files,unix only. If used with a put action, chmod will be issued for each file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="listing" REQUIRED="no">
-			<DESCRIPTION>the file to write results of the &quot;list&quot; action.Required for the &quot;list&quot; action, ignored otherwise</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="ignorenoncriticalerrors" REQUIRED="no">
-			<DESCRIPTION>flag which permits the task to ignore some non-fatal errorcodes sent by some servers during directory creation: wu-ftp in particular.Default: fals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="skipfailedtransfers" REQUIRED="no">
-			<DESCRIPTION>flag which enables unsuccessful file put, deleteand get operations to be skipped with a warning and theremainder of the files still transferred. Default: fals</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="icontract">
-		<DESCRIPTION>&lt;P&gt;
-Instruments Java classes with &lt;a href=&quot;http://www.reliable-systems.com/tools/&quot;&gt;iContract&lt;/a&gt;
-DBC preprocessor.&lt;br&gt;
-The task can generate a properties file for &lt;a href=&quot;http://home.sol.no/~hellesoy/icplus.html&quot;&gt;iControl&lt;/a&gt;,
-a graphical user interface that lets you turn on/off assertions. iControl generates a control file that you can refer to
-from this task using the controlfile attribute.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
-			<DESCRIPTION>Location of the java files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="instrumentdir" REQUIRED="yes">
-			<DESCRIPTION>Indicates where the instrumented source files should go</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="repositorydir" REQUIRED="yes">
-			<DESCRIPTION>Indicates where the repository source files should go</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="builddir" REQUIRED="no">
-			<DESCRIPTION>Indicates where the compiled instrumented classes should go.Defaults to the value of instrumentdir.NOTE: Don't use the same directory for compiled instrumented classesand uninstrumented classes. It will break the dependency checking. (Classes willnot be reinstrumented if you change them)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="repositorybuilddir" REQUIRED="no">
-			<DESCRIPTION>Indicates where the compiled repository classes should go.Defaults to the value of repositorydir</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="pre" REQUIRED="no">
-			<DESCRIPTION>Indicates whether or not to instrument for preconditions.Defaults to true unless controlfile is specified, in which case itdefaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="post" REQUIRED="no">
-			<DESCRIPTION>Indicates whether or not to instrument for postconditions.Defaults to true unless controlfile is specified, in which case itdefaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="invariant" REQUIRED="no">
-			<DESCRIPTION>Indicates whether or not to instrument for invariants.Defaults to true unless controlfile is specified, in which case itdefaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failthrowable" REQUIRED="no">
-			<DESCRIPTION>The full name of the Throwable (Exception) that should bethrown when an assertion is violated. Defaults to java.lang.Erro</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbosity" REQUIRED="no">
-			<DESCRIPTION>Indicates the verbosity level of iContract. Any combinationof error*,warning*,note*,info*,progress*,debug* (comma separated) can beused. Defaults to error</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="quiet" REQUIRED="no">
-			<DESCRIPTION>Indicates if iContract should be quiet. Turn it off if many your classes extend uninstrumented classesand you don't want warnings about this. Defaults to fals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="updateicontrol" REQUIRED="no">
-			<DESCRIPTION>If set to true, it indicates that the properties file foriControl in the current directory should be updated (or created if it doesn't exist).Defaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="controlfile" REQUIRED="only if updateicontrol=true">
-			<DESCRIPTION>The name of the control file to pass to iContract. Consider using iControl to generate the file.Default is not to pass a file.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classdir" REQUIRED="only if updateicontrol=true">
-			<DESCRIPTION>Indicates where compiled (unistrumented) classes are located.This is required in order to properly update the icontrol.properties file, notfor instrumentation</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="targets" REQUIRED="no">
-			<DESCRIPTION>Name of the file that will be generated by this task, which lists all theclasses that iContract will instrument. If specified, the file will not be deleted after execution.If not specified, a file will still be created, but it will be deleted after execution</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="jarlib-available">
-		<DESCRIPTION>&lt;p&gt;Check whether an extension is present in a fileset or an extensionSet.
-If the extension is present then a property is set.&lt;/p&gt;
-&lt;p&gt;Note that this task
-works with extensions as defined by the &quot;Optional Package&quot; specification.
-For more information about optional packages, see the document
-&lt;em&gt;Optional Package Versioning&lt;/em&gt; in the documentation bundle for your
-Java2 Standard Edition package, in file
-&lt;code&gt;guide/extensions/versioning.html&lt;/code&gt; or online at
-&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&quot;&gt;
-http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;See the Extension and ExtensionSet documentation for further details&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="property" REQUIRED="yes">
-			<DESCRIPTION>The name of property to set if extensions is available</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="file" REQUIRED="no, one of file, nested
-     extensionset or nested fileset must be present.">
-			<DESCRIPTION>The file to check for extensio</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="jarlib-display">
-		<DESCRIPTION>&lt;p&gt;Display the &quot;Optional Package&quot; and &quot;Package Specification&quot; information
-contained within the specified jars.&lt;/p&gt;
-&lt;p&gt;Note that this task
-works with extensions as defined by the &quot;Optional Package&quot; specification.
-For more information about optional packages, see the document
-&lt;em&gt;Optional Package Versioning&lt;/em&gt; in the documentation bundle for your
-Java2 Standard Edition package, in file
-&lt;code&gt;guide/extensions/versioning.html&lt;/code&gt; or online at
-&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&quot;&gt;
-http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;See the Extension and ExtensionSet documentation for further details&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="no, but one of file or fileset must be
-     present.">
-			<DESCRIPTION>The file to display extension information about</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="jarlib-manifest">
-		<DESCRIPTION>&lt;p&gt;Task to generate a manifest that declares all the dependencies
-in manifest. The dependencies are determined by looking in the
-specified path and searching for Extension / &quot;Optional Package&quot;
-specifications in the manifests of the jars.&lt;/p&gt;
-&lt;p&gt;Note that this task
-works with extensions as defined by the &quot;Optional Package&quot; specification.
-For more information about optional packages, see the document
-&lt;em&gt;Optional Package Versioning&lt;/em&gt; in the documentation bundle for your
-Java2 Standard Edition package, in file
-&lt;code&gt;guide/extensions/versioning.html&lt;/code&gt; or online at
-&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&quot;&gt;
-http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;See the Extension and ExtensionSet documentation for further details&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="destfile" REQUIRED="yes.">
-			<DESCRIPTION>The file to generate Manifest int</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="jarlib-resolve">
-		<DESCRIPTION>&lt;p&gt;Try to locate a jar to satisfy an extension and place
-location of jar into property. The task allows you to
-add a number of resolvers that are capable of locating a
-library for a specifc extension. Each resolver will be attempted
-in specified order until library is found or no resolvers are left.
-If no resolvers are left and failOnError is true then a BuildException
-will be thrown.&lt;/p&gt;
-&lt;p&gt;Note that this task
-works with extensions as defined by the &quot;Optional Package&quot; specification.
-For more information about optional packages, see the document
-&lt;em&gt;Optional Package Versioning&lt;/em&gt; in the documentation bundle for your
-Java2 Standard Edition package, in file
-&lt;code&gt;guide/extensions/versioning.html&lt;/code&gt; or online at
-&lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&quot;&gt;
-http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;See the Extension and ExtensionSet documentation for further details&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="property" REQUIRED="yes">
-			<DESCRIPTION>The name of property to set to library location</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no, defaults to true.">
-			<DESCRIPTION>True if failure to locate library should result in build exception</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="checkextension" REQUIRED="no, defaults to true.">
-			<DESCRIPTION>True if librarys returned by nested resolvers should be checked to see ifthey supply extension</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="javacc">
-		<DESCRIPTION>&lt;p&gt;
-Invokes the &lt;a HREF=&quot;http://www.webgain.com/products/java_cc/&quot; target=&quot;_top&quot;&gt;JavaCC&lt;/a&gt; compiler 
-compiler on a grammar file.
-&lt;/p&gt;
-&lt;p&gt;
-To use the javacc task, set the &lt;i&gt;target&lt;/i&gt; attribute to the name of the 
-grammar file to process.  You also need to specify the directory containing 
-the JavaCC installation using the &lt;i&gt;javacchome&lt;/i&gt; attribute, so that ant 
-can find the JavaCC classes.  Optionally, you can also set the 
-&lt;i&gt;outputdirectory&lt;/i&gt; to write the generated file to a specific directory.
-Otherwise javacc writes the generated files to the directory containing
-the grammar file.
-&lt;/p&gt;
-&lt;p&gt;
-This task only invokes JavaCC if the grammar file is newer than the generated 
-Java files.  javacc assumes that the Java class name of the generated parser
-is the same as the name of the grammar file, ignoring the .jj.
-If this is not the case, the javacc task will still work, but it will always 
-generate the output files.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="target" REQUIRED="yes">
-			<DESCRIPTION>The grammar file to process</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="javacchome" REQUIRED="yes">
-			<DESCRIPTION>The directory containing the JavaCC distribution</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="outputdirectory" REQUIRED="no">
-			<DESCRIPTION>The directory to write the generated files to.  If not set, the filesare written to the directory containing the grammar file.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="buildparser" REQUIRED="no">
-			<DESCRIPTION>Sets the BUILD_PARSER grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="buildtokenmanager" REQUIRED="no">
-			<DESCRIPTION>Sets the BUILD_TOKEN_MANAGER grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="cachetokens" REQUIRED="no">
-			<DESCRIPTION>Sets the CACHE_TOKENS grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="choiceambiguitycheck" REQUIRED="no">
-			<DESCRIPTION>Sets the CHOICE_AMBIGUITY_CHECK grammar option.  This is an integer option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="commontokenaction" REQUIRED="no">
-			<DESCRIPTION>Sets the COMMON_TOKEN_ACTION grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="debuglookahead" REQUIRED="no">
-			<DESCRIPTION>Sets the DEBUG_LOOKAHEAD grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="debugparser" REQUIRED="no">
-			<DESCRIPTION>Sets the DEBUG_PARSER grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="debugtokenmanager" REQUIRED="no">
-			<DESCRIPTION>Sets the DEBUG_TOKEN_MANAGER grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="errorreporting" REQUIRED="no">
-			<DESCRIPTION>Sets the ERROR_REPORTING grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="forcelacheck" REQUIRED="no">
-			<DESCRIPTION>Sets the FORCE_LA_CHECK grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="ignorecase" REQUIRED="no">
-			<DESCRIPTION>Sets the IGNORE_CASE grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="javaunicodeescape" REQUIRED="no">
-			<DESCRIPTION>Sets the JAVA_UNICODE_ESCAPE grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="lookahead" REQUIRED="no">
-			<DESCRIPTION>Sets the LOOKAHEAD grammar option.  This is an integer option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="optimizetokenmanager" REQUIRED="no">
-			<DESCRIPTION>Sets the OPTIMIZE_TOKEN_MANAGER grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="otherambiguitycheck" REQUIRED="no">
-			<DESCRIPTION>Sets the OTHER_AMBIGUITY_CHECK grammar option.  This is an integer option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="sanitycheck" REQUIRED="no">
-			<DESCRIPTION>Sets the SANITY_CHECK grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="static" REQUIRED="no">
-			<DESCRIPTION>Sets the STATIC grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="unicodeinput" REQUIRED="no">
-			<DESCRIPTION>Sets the UNICODE_INPUT grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="usercharstream" REQUIRED="no">
-			<DESCRIPTION>Sets the USER_CHAR_STREAM grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="usertokenmanager" REQUIRED="no">
-			<DESCRIPTION>Sets the USER_TOKEN_MANAGER grammar option.  This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="javah">
-		<DESCRIPTION>&lt;p&gt;Generates JNI headers from a Java class.&lt;/p&gt;
-&lt;p&gt; When this task executes, it will generate the C header and source files that
-are needed to implement native methods. JNI operates differently depending on
-whether &lt;a href=&quot;http://java.sun.com/j2se/1.3/docs/tooldocs/win32/javah.html&quot;&gt;JDK1.2&lt;/a&gt;
-(or later) or &lt;a href=&quot;http://java.sun.com/products/jdk/1.1/docs/tooldocs/win32/javah.html&quot;&gt;pre-JDK1.2&lt;/a&gt;
-systems are used.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="class" REQUIRED="yes">
-			<DESCRIPTION>the fully-qualified name of the class (or classes,separated by commas</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="outputfile" REQUIRED="yes">
-			<DESCRIPTION>concatenates the resulting header or source files for all the classes listed into this fil</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="destdir" REQUIRED="">
-			<DESCRIPTION>sets the directory where javah saves the header files or thestub files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="force" REQUIRED="no">
-			<DESCRIPTION>specifies that output files should always be written (JDK1.2 only</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="old" REQUIRED="no">
-			<DESCRIPTION>specifies that old JDK1.0-style header files should be generated(otherwise output file contain JNI-style native method      function prototypes) (JDK1.2 only</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="stubs" REQUIRED="no">
-			<DESCRIPTION>generate C declarations from the Java object file (used with old</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no">
-			<DESCRIPTION>causes Javah to print a message concerning the status     of the generated file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>the classpath to use</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bootclasspath" REQUIRED="no">
-			<DESCRIPTION>location of bootstrap class files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="extdirs" REQUIRED="no">
-			<DESCRIPTION>location of installed extensions</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="jdepend">
-		<DESCRIPTION>&lt;P&gt;Invokes the &lt;a href=&quot;http://www.clarkware.com/software/JDepend.html&quot;&gt;JDepend&lt;/a&gt; parser.&lt;/P&gt;
-&lt;P&gt;This parser &amp;quot;traverses a set of Java source file directories and generates design quality metrics for each Java package&amp;quot;.
-It allows to &amp;quot;automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to
-effectively manage and control package dependencies.&amp;quot;&lt;/P&gt;
-&lt;p&gt;Source file directories are defined by nested &lt;code&gt;&amp;lt;sourcespath&amp;gt;&lt;/code&gt;, see &lt;a href=&quot;#nested&quot;&gt;nested elements&lt;/a&gt;.&lt;/p&gt;
-&lt;p&gt;Optionally, you can also set the &lt;code&gt;outputfile&lt;/code&gt; name where the output is stored. By default the task writes its report to the standard output.&lt;/P&gt;
-&lt;p&gt; The task requires at least the JDepend 1.2 version. &lt;/p&gt;
-&lt;P&gt;Note: whereas the JDepend tool can be customized to exclude some packages, the current jdepend And Task does not have parameters to allow these exclusions. Read JDepend specific documentation for that purpose.&lt;/P&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="outputfile" REQUIRED="no">
-			<DESCRIPTION>The output file name. If not set, the output is printed on the standard output</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="format" REQUIRED="no">
-			<DESCRIPTION>The format to write the output in. The default is &quot;text&quot;, the alternative is &quot;xml</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="fork" REQUIRED="no, default is &quot;off&quot;">
-			<DESCRIPTION>Run the tests in a separate VM</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="haltonerror" REQUIRED="no, default is &quot;off&quot;">
-			<DESCRIPTION>Stop the build process if an error occurs during the jdepend analysis</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="timeout" REQUIRED="no">
-			<DESCRIPTION>Cancel the operation if it doesn't finish in the given time (measured in milliseconds). (Ignored if fork is disabled.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="jvm" REQUIRED="no, default &quot;java&quot;">
-			<DESCRIPTION>The command used to invoke the Java Virtual Machine, default is 'java'. The command is resolved by java.lang.Runtime.exec(). (Ignored if fork is disabled.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="no">
-			<DESCRIPTION>The directory to invoke the VM in. (Ignored if fork is disabled</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>the classpath to use, given as reference to a PATH defined elsewhere</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="jjtree">
-		<DESCRIPTION>Invokes the &lt;a href=&quot;http://www.webgain.com/products/java_cc/&quot;&gt;JJTree&lt;/a&gt; preprocessor
-for the JavaCC compiler compiler. It inserts parse tree building actions
-at various places in the JavaCC source that it generates. The output of
-JJTree is run through JavaCC to create the parser.
-&lt;p&gt;To use the jjtree task, set the &lt;i&gt;target&lt;/i&gt; attribute to the name
-of the jjtree grammar file to process. You also need to specify the directory
-containing the JavaCC installation using the &lt;i&gt;javacchome&lt;/i&gt; attribute,
-so that ant can find the JavaCC classes. Optionally, you can also set the
-&lt;i&gt;outputdirectory&lt;/i&gt;
-to write the generated file to a specific directory. Otherwise jjtree writes
-the generated JavaCC grammar file to the directory containing the JJTree
-grammar file.&lt;/p&gt;
-&lt;p&gt;This task only invokes JJTree if the grammar file is newer than the
-generated JavaCC file.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="target" REQUIRED="yes">
-			<DESCRIPTION>The jjtree grammar file to process</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="javacchome" REQUIRED="yes">
-			<DESCRIPTION>The directory containing the JavaCC distribution</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="outputdirectory" REQUIRED="no">
-			<DESCRIPTION>The directory to write the generated file to. If not set,the files are written to the directory containing the grammar file.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="buildnodefiles" REQUIRED="no">
-			<DESCRIPTION>Sets the BUILD_NODE_FILES grammar option. This is a booleanoption</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="multi" REQUIRED="no">
-			<DESCRIPTION>Sets the MULTI grammar option. This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nodedefaultvoid" REQUIRED="no">
-			<DESCRIPTION>Sets the NODE_DEFAULT_VOID grammar option. This is a booleanoption</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nodefactory" REQUIRED="no">
-			<DESCRIPTION>Sets the NODE_FACTORY grammar option. This is boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nodescopehook" REQUIRED="no">
-			<DESCRIPTION>Sets the NODE_SCOPE_HOOK grammar option. This is a booleanoption</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nodeusesparser" REQUIRED="no">
-			<DESCRIPTION>Sets the NODE_USES_PARSER grammar option. This is a booleanoption</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="static" REQUIRED="no">
-			<DESCRIPTION>Sets the STATIC grammar option. This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="visitor" REQUIRED="no">
-			<DESCRIPTION>Sets the VISITOR grammar option. This is a boolean option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nodepackage" REQUIRED="no">
-			<DESCRIPTION>Sets the NODE_PACKAGE grammar option. This is a string option</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="visitorexception" REQUIRED="no">
-			<DESCRIPTION>Sets the VISITOR_EXCEPTION grammar option. This is a stringoption</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="nodeprefix" REQUIRED="no">
-			<DESCRIPTION>Sets the NODE_PREFIX grammar option. This is a string option</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="jlink">
-		<DESCRIPTION>&lt;p&gt;Links entries from sub-builds and libraries.&lt;/p&gt;
-&lt;p&gt;The jlink task can be used to build jar and zip files, similar to 
-the &lt;i&gt;jar&lt;/i&gt; task.
-However, jlink provides options for controlling the way entries from 
-input files
-are added to the output file. Specifically, capabilities for merging 
-entries from
-multiple zip or jar files is available.&lt;/p&gt;
-&lt;p&gt;If a mergefile is specified directly (eg. at the top level of a 
-&lt;i&gt;mergefiles&lt;/i&gt;
-pathelement) &lt;i&gt;and&lt;/i&gt; the mergefile ends in &amp;quot;.zip&amp;quot; or 
-&amp;quot;.jar&amp;quot;,
-entries in the mergefile will be merged into the outfile. A file with 
-any other extension
-will be added to the output file, even if it is specified in the 
-mergefiles element.
-Directories specified in either the mergefiles or addfiles element 
-are added to the
-output file as you would expect: all files in subdirectories are 
-recursively added to
-the output file with appropriate prefixes in the output file 
-(without merging).
-&lt;/p&gt;
-&lt;p&gt;
-In the case where duplicate entries and/or files are found among the 
-files to be merged or
-added, jlink merges or adds the first entry and ignores all subsequent entries.
-&lt;/p&gt;
-&lt;p&gt;
-jlink ignores META-INF directories in mergefiles. Users should supply their
-own manifest information for the output file.
-&lt;/p&gt;
-&lt;p&gt;It is possible to refine the set of files that are being jlinked. 
-This can be
-done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, 
-&lt;i&gt;excludesfile&lt;/i&gt;,
-and &lt;i&gt;defaultexcludes&lt;/i&gt; attributes on the &lt;i&gt;addfiles&lt;/i&gt; and 
-&lt;i&gt;mergefiles&lt;/i&gt;
-nested elements. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt;
-attribute you specify the files you want to have included by using patterns.
-The &lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify
-the files you want to have excluded. This is also done with patterns. And
-finally with the &lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
-want to use default exclusions or not. See the section on &lt;a
-href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
-inclusion/exclusion of files works, and how to write patterns. The patterns are
-relative to the &lt;i&gt;base&lt;/i&gt; directory.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="outfile" REQUIRED="yes">
-			<DESCRIPTION>the path of the output file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compress" REQUIRED="no">
-			<DESCRIPTION>whether or not the output should be compressed. true,yes, or on result in compressed output.If omitted, output will be uncompressed (inflated)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="mergefiles" REQUIRED="at least one of 
- mergefiles or addfiles">
-			<DESCRIPTION>files to be merged into the output, if possible</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="addfiles" REQUIRED="">
-			<DESCRIPTION>files to be added to the output</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="jspc">
-		<DESCRIPTION>&lt;p&gt; Ant task to run the JSP compiler and turn JSP pages into Java source.
-&lt;p&gt;
-It can be used to precompile JSP pages for fast initial invocation
-of JSP pages, deployment on a server without the full JDK installed,
-or simply to syntax check the pages without deploying them.
-In most cases, a javac task is usually the next stage in the build process.
-The task does basic dependency checking to prevent unnecessary recompilation -this
-checking compares source and destination timestamps, and does not factor
-in class or taglib dependencies, or &amp;lt;jsp:include&amp;gt; references.
-&lt;p&gt;
-By default the task uses the Jasper JSP compiler. This
-means the task needs jasper.jar and jasper-runtime.jar, which come with
-builds of Tomcat 4/Catalina from the
-&lt;a href=&quot;http://jakarta.apache.org/tomcat/&quot;&gt;Jakarta Tomcat project&lt;/a&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="destdir" REQUIRED="yes">
-			<DESCRIPTION>Where to place the generated files. They are locatedunder here according to the given package name</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
-			<DESCRIPTION>Where to look for source jsp files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no">
-			<DESCRIPTION>The verbosity integer to pass to the compiler. Default=&quot;0</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="package" REQUIRED="no">
-			<DESCRIPTION>Name of the destination package for generated javaclasses</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compiler" REQUIRED="no">
-			<DESCRIPTION>class name of a JSP compiler adapte</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="ieplugin" REQUIRED="no">
-			<DESCRIPTION>Java Plugin classid for Internet Explorer</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="mapped" REQUIRED="no">
-			<DESCRIPTION>(boolean) Generate separate write() calls for each HTMLline in the JSP</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>The classpath to use to run the jsp compiler.This can also be specifiedby the nested element classpathPath)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>A Reference. Asper classpat</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>flag to control action on compile failures: default=ye</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="uribase" REQUIRED="no">
-			<DESCRIPTION>The uri context of relative URIreferences in the JSP pages. If it does notexist then it is derived from the location of the filerelative to the declared or derived value of uriroot.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="uriroot" REQUIRED="no">
-			<DESCRIPTION>The root directory that uri files should be resolvedagainst.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compiler" REQUIRED="no">
-			<DESCRIPTION>Class name of jsp compiler adapter to use.  Defaults tothe standard adapter for Jasper.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compilerclasspath" REQUIRED="no">
-			<DESCRIPTION>The classpath used to find the compiler adapter specifiedby the compiler attribute</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="junit">
-		<DESCRIPTION>&lt;p&gt;This task runs tests from the JUnit testing framework. The latest
-version of the framework can be found at
-&lt;a href=&quot;http://www.junit.org&quot;&gt;http://www.junit.org&lt;/a&gt;.
-This task has been tested with JUnit 3.0 up to JUnit 3.8.1; it won't
-work with versions prior to JUnit 3.0.&lt;/p&gt;
-&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This task depends on external libraries not included
-in the Ant distribution.  See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;
-Library Dependencies&lt;/a&gt; for more information.
-&lt;/p&gt;
-&lt;p&gt;
-&lt;strong&gt;Note&lt;/strong&gt;:
-You must have &lt;code&gt;junit.jar&lt;/code&gt; and the class files for the
-&lt;code&gt;&amp;lt;junit&amp;gt;&lt;/code&gt; task in the same classpath.
-You can do one of:
-&lt;ol&gt;
-&lt;li&gt;
-Put both &lt;code&gt;junit.jar&lt;/code&gt; and the optional tasks jar file in
-&lt;code&gt;ANT_HOME/lib&lt;/code&gt;.
-&lt;/li&gt;
-&lt;li&gt;
-Do not put either in &lt;code&gt;ANT_HOME/lib&lt;/code&gt;, and instead
-include their locations in your &lt;code&gt;CLASSPATH&lt;/code&gt; environment variable.
-&lt;/li&gt;
-&lt;li&gt;
-Do neither of the above, and instead, specify their locations using
-a &lt;code&gt;&amp;lt;classpath&amp;gt;&lt;/code&gt; element in the buildfile.
-See &lt;a href=&quot;../../faq.html#delegating-classloader&quot; target=&quot;_top&quot;&gt;the
-FAQ&lt;/a&gt; for details.
-&lt;/ol&gt;
-&lt;/p&gt;
-&lt;p&gt;Tests are defined by nested &lt;code&gt;test&lt;/code&gt; or
-&lt;code&gt;batchtest&lt;/code&gt; tags (see &lt;a href=&quot;#nested&quot;&gt;nested
-elements&lt;/a&gt;).&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="printsummary" REQUIRED="no; default is off.">
-			<DESCRIPTION>Print one-line statistics for each testcase. Cantake the values on,off, andwithOutAndErr.withOutAndErr is the sameas on but also includes the output of the testas written to System.out and System.err</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="fork" REQUIRED="no; default is off.">
-			<DESCRIPTION>Run the tests in a separate VM</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="haltonerror" REQUIRED="no; default is off.">
-			<DESCRIPTION>Stop the build process if an error occurs during the testrun</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="errorproperty" REQUIRED="no">
-			<DESCRIPTION>The name of a property to set in the event of an error</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="haltonfailure" REQUIRED="no; default is off.">
-			<DESCRIPTION>Stop the build process if a test fails (errors areconsidered failures as well)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failureproperty" REQUIRED="no.">
-			<DESCRIPTION>The name of a property to set in the event of a failure(errors are considered failures as well)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filtertrace" REQUIRED="no; default is on.">
-			<DESCRIPTION>Filter out Junit and Ant stack frames from error and failure stack traces</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="timeout" REQUIRED="no">
-			<DESCRIPTION>Cancel the individual tests if they don't finishin the given time (measured in milliseconds).  Ignored iffork is disabled</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
-			<DESCRIPTION>Maximum amount of memory to allocate to the forked VM.Ignored if fork is disabled</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="jvm" REQUIRED="no; default is java.">
-			<DESCRIPTION>The command used to invoke the Java Virtual Machine,default is 'java'.  The command is resolved byjava.lang.Runtime.exec().Ignored if fork is disabled</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dir" REQUIRED="no">
-			<DESCRIPTION>The directory in which to invoke the VM. Ignored iffork is disabled</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="newenvironment" REQUIRED="no; default is false.">
-			<DESCRIPTION>Do not propagate the old environment when newenvironment variables are specified. Ignored if fork isdisabled</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includeantruntime" REQUIRED="no; default is true.">
-			<DESCRIPTION>Implicitly add the Ant classes required to runthe tests and JUnit to the classpath in forked mode</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="showoutput" REQUIRED="no">
-			<DESCRIPTION>Send any output generated by tests to Ant'slogging system as well as to the formatters.  By default only theformatters receive the output</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="maudit">
-		<DESCRIPTION>&lt;p&gt;
-Invokes the Metamata Audit/ Webgain Quality Analyzer on a set of Java files.
-&lt;/p&gt;
-&lt;p&gt;
-&lt;i&gt;maudit&lt;/i&gt; performs static analysis of the Java source code and byte code files to find and report
-errors of style and potential problems related to performance, maintenance and robustness.
-.  As a convenience, a stylesheet is given in &lt;tt&gt;etc&lt;/tt&gt; directory, so that an HTML report can be generated from the XML file.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="tofile" REQUIRED="yes">
-			<DESCRIPTION>The XML file to which the Audit result should be written to</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="metamatahome" REQUIRED="yes">
-			<DESCRIPTION>The home directory containing the Metamata distribution</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="fix" REQUIRED="no.default to false.">
-			<DESCRIPTION>Automatically fix certain errors (those marked as fixable in the manual).</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="list" REQUIRED="no. default to false.">
-			<DESCRIPTION>Creates listing file for each audited file. A .maudit file will be generated in thesame location as the source file.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="unused" REQUIRED="no. default to false.">
-			<DESCRIPTION>Finds declarations unused in search paths. It will look for unused global declarationsin the source code within a use domain specified by the searchpath element.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
-			<DESCRIPTION>Set the maximum memory for the JVM. this is a convenientway to set the -mx or -Xmx argument</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="mimemail">
-		<DESCRIPTION>&lt;p&gt;Sends SMTP mail with MIME attachments.
-&lt;a href=&quot;http://java.sun.com/products/javamail/index.html&quot;&gt;JavaMail&lt;/a&gt;
-and &lt;a href=&quot;http://java.sun.com/products/javabeans/glasgow/jaf.html&quot;&gt;Java
-Activation Framework&lt;/a&gt; are required for this task.&lt;/p&gt;
-&lt;p&gt;Multiple files can be attached using &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSets.&lt;/a&gt;&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="message" REQUIRED="no, but only one of of 'message' or
-       'messagefile' may be specified. if not specified, a fileset must be
-       provided.">
-			<DESCRIPTION>The message bod</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="messagefile" REQUIRED="">
-			<DESCRIPTION>A filename to read and used as the message bod</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="messagemimetype" REQUIRED="no, defaults to &quot;text/plain&quot;">
-			<DESCRIPTION>MIME type to use for 'message' or 'messageFile' whenattached</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="tolist" REQUIRED="yes, at least one of 'tolist', 'cclist',
-       or 'bcclist' must be specified.">
-			<DESCRIPTION>Comma-separated list of To: recipient</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="cclist" REQUIRED="">
-			<DESCRIPTION>Comma-separated list of CC: recipient</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bcclist" REQUIRED="">
-			<DESCRIPTION>Comma-separated list of BCC: recipient</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="mailhost" REQUIRED="no, default to &quot;localhost&quot;">
-			<DESCRIPTION>Host name of the mail server</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="subject" REQUIRED="no">
-			<DESCRIPTION>Email subject line</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="from" REQUIRED="yes">
-			<DESCRIPTION>Email address of sender</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no, default to &quot;true&quot;">
-			<DESCRIPTION>Stop the build process if an error occurs sending thee-mail</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="mmetrics">
-		<DESCRIPTION>&lt;p&gt;
-Invokes the Metamata Metrics / WebGain Quality Analyzer source code 
-analyzer on a set of Java files.
-&lt;/p&gt;
-&lt;p&gt;
-&lt;i&gt;mmetrics&lt;/i&gt; will compute the metrics of a set of Java files and write the results to an XML
-file. As a convenience, a stylesheet is given in &lt;tt&gt;etc&lt;/tt&gt; directory, so that an HTML report can be generated from the XML file.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="metamatahome" REQUIRED="yes">
-			<DESCRIPTION>The home directory containing the Metamata distribution</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="tofile" REQUIRED="yes">
-			<DESCRIPTION>The XML were the resulting metrics will be written to</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="granularity" REQUIRED="yes">
-			<DESCRIPTION>Metrics granularity of the source files. Must be eitherfiles (compilation-units), types (types and compilation-units) or methods(methods, types and compilation-units).</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
-			<DESCRIPTION>Set the maximum memory for the JVM. this is a convenientway to set the -mx or -Xmx argument</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="mparse">
-		<DESCRIPTION>&lt;p&gt;
-Invokes the Metamata &lt;a HREF=&quot;http://www.metamata.com/parse.html&quot;&gt;MParse&lt;/a&gt; compiler 
-compiler on a grammar file.
-&lt;/p&gt;
-&lt;p&gt;
-To use the &lt;i&gt;mparse&lt;/i&gt; task, set the &lt;i&gt;target&lt;/i&gt; attribute to the name of the 
-grammar file to process.  You also need to specify the directory containing 
-the Metamata installation using the &lt;i&gt;metamatahome&lt;/i&gt; attribute, so that Ant 
-can find the MParse classes.
-&lt;/p&gt;
-&lt;p&gt;
-This task only invokes MParse if the grammar file is newer than the generated 
-Java files. MParse assumes that the Java class name of the generated parser
-is the same as the name of the grammar file, less the .jj extension.
-&lt;/p&gt;
-&lt;p&gt;For additional information about MParse, please consult the online manual available &lt;a href=&quot;http://download.metamata.com/parse.pdf&quot;&gt;here&lt;/a&gt;
-(PDF)
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="target" REQUIRED="yes">
-			<DESCRIPTION>The .jj grammar file to process. It will only be processedif the grammar is newer than the corresponding .java file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="metamatahome" REQUIRED="yes">
-			<DESCRIPTION>The home directory containing the Metamata distribution</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no">
-			<DESCRIPTION>Enable all messages</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="debugparser" REQUIRED="no">
-			<DESCRIPTION>Enables parser debugging</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="debugscanner" REQUIRED="no">
-			<DESCRIPTION>Enables scanner debugging</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="cleanup" REQUIRED="no. default to false">
-			<DESCRIPTION>Remove the intermediate SunJavaCC file created during the transformation of the grammar file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="maxmemory" REQUIRED="no">
-			<DESCRIPTION>Set the maximum memory for the JVM. this is a convenientway to set the -mx or -Xmx argument</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="native2ascii">
-		<DESCRIPTION>&lt;p&gt;
-Converts files from native encodings to ASCII with escaped Unicode.
-A common usage is to convert source files maintained in a native
-operating system encoding, to ASCII prior to compilation.
-&lt;/p&gt;
-&lt;p&gt;
-Files in the directory &lt;em&gt;src&lt;/em&gt;
-are converted from a native encoding to ASCII.
-By default, all files in the directory are converted.
-However, conversion may be limited to selected files using
-&lt;em&gt;includes&lt;/em&gt; and &lt;em&gt;excludes&lt;/em&gt; attributes.
-For more information on file matching patterns,
-see the section on
-&lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;.
-If no &lt;em&gt;encoding&lt;/em&gt; is specified,
-the default encoding for the JVM is used.
-If &lt;em&gt;ext&lt;/em&gt; is specified, then output files are renamed
-to use it as a new extension.
-More sophisticated file name translations can be achieved using a nested
-&lt;em&gt;&amp;lt;mapper&amp;gt;&lt;/em&gt; element. By default an
-&lt;a href=&quot;../CoreTypes/mapper.html#identity-mapper&quot;&gt;identity mapper&lt;/a&gt; will be used.
-If &lt;em&gt;dest&lt;/em&gt; and &lt;em&gt;src&lt;/em&gt; point to the same directory,
-the &lt;em&gt;ext&lt;/em&gt; attribute or a nested &lt;em&gt;&amp;lt;mapper&amp;gt;&lt;/em&gt;
-is required.
-&lt;/p&gt;
-&lt;p&gt;
-This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;File Set&lt;/a&gt;,
-and supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
-(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;src&lt;/code&gt;) as well as
-nested &lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt;,
-and &lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="reverse" REQUIRED="no">
-			<DESCRIPTION>Reverse the sense of the conversion,i.e. convert from ASCII to nativ</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="encoding" REQUIRED="no">
-			<DESCRIPTION>The native encoding the files are in(default is the default encoding for the JVM</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="src" REQUIRED="no">
-			<DESCRIPTION>The directory to find files in (default is basedir</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dest" REQUIRED="yes">
-			<DESCRIPTION>The directory to output file t</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="ext" REQUIRED="no">
-			<DESCRIPTION>File extension to use in renaming output file</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;).Default excludes are used when omitted.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must be excluded.No files (except default excludes) are excluded when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="netrexxc">
-		<DESCRIPTION>&lt;p&gt;Compiles a &lt;a href=&quot;http://www2.hursley.ibm.com/netrexx&quot; target=&quot;_top&quot;&gt;NetRexx&lt;/a&gt;
-source tree within the running (Ant) VM.&lt;/p&gt;
-&lt;p&gt;The source and destination directory will be recursively scanned for
-NetRexx source files to compile.  Only NetRexx files that have no corresponding
-class file or where the class file is older than the java file will be compiled.&lt;/p&gt;
-&lt;p&gt;Files in the source tree are copied to the destination directory,
-allowing support files to be located properly in the classpath. The source
-files are copied because the NetRexx compiler cannot produce class files in a
-specific directory via parameters&lt;/p&gt;
-&lt;p&gt;The directory structure of the source tree should follow the package
-hierarchy.&lt;/p&gt;
-&lt;p&gt;It is possible to refine the set of files that are being compiled/copied.
-This can be done with the &lt;i&gt;includes&lt;/i&gt;, &lt;i&gt;includesfile&lt;/i&gt;, &lt;i&gt;excludes&lt;/i&gt;, &lt;i&gt;excludesfile&lt;/i&gt; and
-&lt;i&gt;defaultexcludes&lt;/i&gt; attributes. With the &lt;i&gt;includes&lt;/i&gt; or &lt;i&gt;includesfile&lt;/i&gt; attribute you
-specify the files you want to have included by using patterns. The
-&lt;i&gt;exclude&lt;/i&gt; or &lt;i&gt;excludesfile&lt;/i&gt; attribute is used to specify the files you want to have
-excluded.  This is also done with patterns.  And finally with the
-&lt;i&gt;defaultexcludes&lt;/i&gt; attribute, you can specify whether you
-want to use default exclusions or not. See the section on &lt;a
-href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
-inclusion/exclusion of files works, and how to write patterns.&lt;/p&gt;
-&lt;p&gt;This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
-supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
-(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;srcdir&lt;/code&gt;) as well as the nested
-&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
-&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
-&lt;p&gt;All properties except classpath, srcdir and destDir are also available as properties in the form
-&lt;code&gt;ant.netrexxc.&lt;i&gt;attributename&lt;/i&gt;&lt;/code&gt;, eg.&lt;br&gt;
-&lt;code&gt;&amp;lt;property name=&quot;ant.netrexxc.verbose&quot; value=&quot;noverbose&quot;/&amp;gt;&lt;/code&gt;&lt;br&gt;
-or from the command line as&lt;br&gt;
-&lt;code&gt;ant -Dant.netrexxc.verbose=noverbose ...&lt;/code&gt;
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="binary" REQUIRED="no">
-			<DESCRIPTION>Whether literals are treated as the java binarytype rather than the NetRexx type</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="no">
-			<DESCRIPTION>The classpath to use during compilatio</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="comments" REQUIRED="no">
-			<DESCRIPTION>Whether comments are passed through to thegenerated java sourc</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compact" REQUIRED="no">
-			<DESCRIPTION>Whether error messages come out in compact orverbose format. Default is the compact format</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="compile" REQUIRED="no">
-			<DESCRIPTION>Whether the NetRexx compiler should compile thegenerated java cod</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="console" REQUIRED="no">
-			<DESCRIPTION>Whether or not messages should be displayed on the'console</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="crossref" REQUIRED="no">
-			<DESCRIPTION>Whether variable cross references are generate</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="decimal" REQUIRED="no">
-			<DESCRIPTION>Whether decimal arithmetic should be used for theNetRexx cod</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used whenomitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="destdir" REQUIRED="yes">
-			<DESCRIPTION>the destination directory into which the NetRexxsource files should be copied and then compile</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="diag" REQUIRED="no">
-			<DESCRIPTION>Whether diagnostic information about the compile isgenerate</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded whenomitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="explicit" REQUIRED="no">
-			<DESCRIPTION>Whether variables must be declared explicitlybefore us</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="format" REQUIRED="no">
-			<DESCRIPTION>Whether the generated java code is formatted nicelyor left to match NetRexx line numbers for call stack debuggin</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="java" REQUIRED="no">
-			<DESCRIPTION>Whether the generated java code is produce</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="keep" REQUIRED="no">
-			<DESCRIPTION>Sets whether the generated java source file should be keptafter compilation. The generated files will have an extension of.java.keep, not .jav</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="logo" REQUIRED="no">
-			<DESCRIPTION>Whether the compiler text logo is displayed whencompilin</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="replace" REQUIRED="no">
-			<DESCRIPTION>Whether the generated .java file should be replacedwhen compilin</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="savelog" REQUIRED="no">
-			<DESCRIPTION>Whether the compiler messages will be written toNetRexxC.log as well as to the consol</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="sourcedir" REQUIRED="no">
-			<DESCRIPTION>Tells the NetRexx compiler to store the class files in thesame directory as the source files. The alternative is the workingdirector</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
-			<DESCRIPTION>Set the source dir to find the source NetRexxfile</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="strictargs" REQUIRED="no">
-			<DESCRIPTION>Tells the NetRexx compiler that method calls alwaysneed parentheses, even if no arguments are needed, e.g.aStringVar.getBytes vs.aStringVar.getBytes(</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="strictassign" REQUIRED="no">
-			<DESCRIPTION>Tells the NetRexx compile that assignments mustmatch exactly on typ</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="strictcase" REQUIRED="no">
-			<DESCRIPTION>Specifies whether the NetRexx compiler should becase sensitive or no</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="strictimport" REQUIRED="no">
-			<DESCRIPTION>Whether classes need to be imported explicitly using animport statement.  By default the NetRexx compiler willimport certain packages automaticall</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="strictprops" REQUIRED="no">
-			<DESCRIPTION>Whether local properties need to be qualifiedexplicitly using thi</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="strictsignal" REQUIRED="no">
-			<DESCRIPTION>Whether the compiler should force catching ofexceptions by explicitly named type</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="symbols" REQUIRED="no">
-			<DESCRIPTION>Whether debug symbols should be generated into theclass fil</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="time" REQUIRED="no">
-			<DESCRIPTION>Asks the NetRexx compiler to print compilationtimes to the consol</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="trace" REQUIRED="no">
-			<DESCRIPTION>Turns on or off tracing and directs the resultanttrace outpu</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="utf8" REQUIRED="no">
-			<DESCRIPTION>Tells the NetRexx compiler that the source is in UTF</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="verbose" REQUIRED="no">
-			<DESCRIPTION>Whether lots of warnings and error messages shouldbe generate</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="suppressmethodargumentnotused" REQUIRED="no">
-			<DESCRIPTION>Tells whether we should filter out the&amp;Method argument not used&amp; messages in strictargs mode</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="suppressprivatepropertynotused" REQUIRED="no">
-			<DESCRIPTION>Tells whether we should filter out the&amp;Private Property defined, but not used&amp; messages in strictargs mode</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="suppressvariablenotused" REQUIRED="no">
-			<DESCRIPTION>Tells whether we should filter out the&amp;Variable set but not used&amp; messages in strictargs mode.Please be careful with this one, as you can hide errors behind it</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="suppressexceptionnotsignalled" REQUIRED="no">
-			<DESCRIPTION>Tells whether we should filter out the&amp;Exception is declared, but not signalled within the method&amp;messages in strictsignal mode</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="suppressdeprecation" REQUIRED="no">
-			<DESCRIPTION>Tells wether we should filter out any deprecation-messagesof the compiler out</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="pvcs">
-		<DESCRIPTION>The pvcs task is set to point at a PVCS repository and optionally a project
-within that repository, and can from that specification get the latest
-version of the files contained by the repository.
-</DESCRIPTION>
-		<ATTRIBUTE NAME="repository" REQUIRED="yes">
-			<DESCRIPTION>The location of the repository (see your PVCSmanuals</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="pvcsproject" REQUIRED="no">
-			<DESCRIPTION>The project within the PVCS repository to extractfiles from (&quot;/&quot; is root project and that is default if this attribute isn'tspecified</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="label" REQUIRED="no">
-			<DESCRIPTION>Only files marked with this label are extracted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="promotiongroup" REQUIRED="no">
-			<DESCRIPTION>Only files within this promotion group are extracted. Usingboth the label and the promotiongroup tag will cause the files in thepromotion group and with that label to be extracted.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="force" REQUIRED="no">
-			<DESCRIPTION>If set to yes all files that exists and are writable are overwritten. Default no causes the files that are writable to be ignored. This stops the PVCS command get to stop asking questions</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="workspace" REQUIRED="no">
-			<DESCRIPTION>By specifying a workspace, the files are extracted to that location. A PVCS workspace is aname for a location of the workfiles and isn't as such the location itself. You define the location for a workspaceusing the PVCS GUI clients. If this isn't specified the default workspace for the current user is used</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="pvcsbin" REQUIRED="no">
-			<DESCRIPTION>On some systems the PVCS executables pcliand get are not found in the PATH. In such cases this attributeshould be set to the bin directory of the PVCS installation containingthe executables mentioned before. If this attribute isn't specified thetag expects the executables to be found using the PATH environment variable</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="ignorereturncode" REQUIRED="no">
-			<DESCRIPTION>If set to true the return value from executingthe pvcs commands are ignored</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="updateonly" REQUIRED="no">
-			<DESCRIPTION>If set to true files are gotten only ifnewer than existing local files</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="filenameformat" REQUIRED="no">
-			<DESCRIPTION>The format of your folder names in aformat suitable for java.text.MessageFormat.Defaults to {0}-arc({1}).  Repositories wherethe archive extension is not  -arc should setthis</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="linestart" REQUIRED="no">
-			<DESCRIPTION>Used to parse the output of the pclicommand. It defaults to &quot;P:.  The parser alreadyknows about / and \\, this property is useful in cases where therepository is accessed on a Windows platform via a drive lettermapping</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="renameextensions">
-		<DESCRIPTION>&lt;p&gt;Renames files in the &lt;code&gt;srcDir&lt;/code&gt; directory ending with the
-&lt;code&gt;fromExtension&lt;/code&gt; string so that they end with the
-&lt;code&gt;toExtension&lt;/code&gt; string. Files are only replaced if
-&lt;code&gt;replace&lt;/code&gt; is true
-&lt;/p&gt;
-&lt;p&gt;See the section on
-&lt;a href=&quot;../dirtasks.html#directorybasedtasks&quot;&gt;directory based tasks&lt;/a&gt;, on how the
-inclusion/exclusion of files works, and how to write patterns.
-This task forms an implicit &lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt; and
-supports all attributes of &lt;code&gt;&amp;lt;fileset&amp;gt;&lt;/code&gt;
-(&lt;code&gt;dir&lt;/code&gt; becomes &lt;code&gt;srcDir&lt;/code&gt;) as well as the nested
-&lt;code&gt;&amp;lt;include&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;exclude&amp;gt;&lt;/code&gt; and
-&lt;code&gt;&amp;lt;patternset&amp;gt;&lt;/code&gt; elements.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="defaultexcludes" REQUIRED="no">
-			<DESCRIPTION>indicates whether default excludes should be used or not(&quot;yes&quot;/&quot;no&quot;). Default excludes are used whenomitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beexcluded. No files (except default excludes) are excluded whenomitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="excludesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an exclude patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="fromextention" REQUIRED="yes">
-			<DESCRIPTION>The string that files must end in to be rename</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includes" REQUIRED="no">
-			<DESCRIPTION>comma- or space-separated list of patterns of files that must beincluded. All files are included when omitted</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="includesfile" REQUIRED="no">
-			<DESCRIPTION>the name of a file. Each line of this file istaken to be an include patter</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="replace" REQUIRED="no">
-			<DESCRIPTION>Whether the file being renamed to should bereplaced if it already exist</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="srcdir" REQUIRED="yes">
-			<DESCRIPTION>The starting directory for files to search i</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="toextension" REQUIRED="yes">
-			<DESCRIPTION>The string that renamed files will end with oncompletio</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="replaceregeexp">
-		<DESCRIPTION>&lt;p&gt;ReplaceRegExp is a directory based task for replacing the
-occurrence of a given regular expression with a substitution pattern
-in a selected file or set of files.&lt;/p&gt;
-&lt;p&gt;Similar to &lt;a href=&quot;../CoreTypes/mapper.html#regexp-mapper&quot;&gt;regexp
-type mappers&lt;/a&gt; this task needs a supporting regular expression
-library and an implementation of
-&lt;code&gt;org.apache.tools.ant.util.regexp.Regexp&lt;/code&gt;.  Ant comes with
-implementations for
-&lt;a href=&quot;http://java.sun.com/j2se/1.4/docs/api/java/util/regex/package-summary.html&quot; target=&quot;_top&quot;&gt;the java.util.regex package of JDK 1.4&lt;/a&gt;,
-&lt;a href=&quot;http://jakarta.apache.org/regexp/&quot; target=&quot;_top&quot;&gt;jakarta-regexp&lt;/a&gt;
-and &lt;a href=&quot;http://jakarta.apache.org/oro/&quot; target=&quot;_top&quot;&gt;jakarta-ORO&lt;/a&gt;,
-but you will still need the library itself.&lt;/p&gt;
-&lt;p&gt;
-&lt;i&gt;
-There are cross-platform issues for matches related to line terminator.
-For example if you use $ to anchor your regular expression on the end of a line
-the results might be very different depending on both your platform and the regular
-expression library you use. It is 'highly recommended' that you test your pattern on
-both Unix and Windows platforms before you rely on it.
-&lt;ul&gt;
-&lt;li&gt;Jakarta Oro defines a line terminator as '\n' and is consistent with Perl.&lt;/li&gt;
-&lt;li&gt;Jakarta RegExp uses a system-dependant line terminator.&lt;/li&gt;
-&lt;li&gt;JDK 1.4 uses '\n', '\r\n', '\u0085', '\u2028', '\u2029' as a default
-but is configured in the wrapper to use only '\n' (UNIX_LINE)&lt;/li&gt;
-&lt;/ul&gt;
-We &lt;b&gt;strongly&lt;/b&gt; recommend that you use Jakarta Oro.
-&lt;/i&gt;
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="yes if no nested &lt;fileset&gt; is used">
-			<DESCRIPTION>file for which the regular expression should be replaced</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="match" REQUIRED="yes, if no nested &lt;regexp&gt; is used">
-			<DESCRIPTION>The regular expression pattern to match in the file(s</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="replace" REQUIRED="yes, if no nested &lt;substitution&gt; is used">
-			<DESCRIPTION>The substitution pattern to place in the file(s) in placeof the regular expression</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="flags" REQUIRED="no">
-			<DESCRIPTION>The flags to use when matching the regular expression.  For moreinformation, consult the Perl5 syntag : Global replacement.  Replace all occurences founi : Case Insensitive.  Do not consider case in the matcm : Multiline.  Treat the string as multiple lines of input, using &quot;^&quot; and &quot;$&quot; as the start or end of any line, respectively, rather than start or end of strings : Singleline.  Treat the string as a single line of input, using &quot;.&quot; to match any character, including a newline, which normally, it would not match</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="byline" REQUIRED="no">
-			<DESCRIPTION>Process the file(s) one line at a time, executing the replacementon one line at a time (true/false).  This is useful if youwant to only replace the first occurence of a regular expression oneach line, which is not easy to do when processing the file as a whole.Defaults to false</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="rpm">
-		<DESCRIPTION>&lt;p&gt;
-A basic task for invoking the rpm executable to build a Linux installation
-file. The task currently only works on Linux or other Unix platforms
-with rpm support.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="specfile" REQUIRED="yes">
-			<DESCRIPTION>The name of the spec File to be used</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="topdir" REQUIRED="no">
-			<DESCRIPTION>this is the directory which will have the expectedsubdirectories, SPECS, SOURCES, BUILD, SRPMS.  If this isn't specified,the baseDir value is used</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="cleanbuilddir" REQUIRED="no">
-			<DESCRIPTION>This will remove the generated files in the BUILDdirectory</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="removespec" REQUIRED="no">
-			<DESCRIPTION>this will remove the spec file from SPEC</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="removesource" REQUIRED="no">
-			<DESCRIPTION>Flag (optional, default=false) to remove the sources after the build.See the the --rmsource  option of rpmbuild</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="command" REQUIRED="no">
-			<DESCRIPTION>very similar idea to the cvs task.  the default is &quot;-bb</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="output/error" REQUIRED="no">
-			<DESCRIPTION>where standard output and error g</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="script">
-		<DESCRIPTION>&lt;p&gt;Execute a script in a 
-&lt;a href=&quot;http://www-124.ibm.com/developerworks/projects/bsf&quot; target=&quot;_top&quot;&gt;BSF&lt;/a&gt; supported language.&lt;/p&gt;
-&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This task depends on external libraries not included in the Ant distribution.
-See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;Library Dependencies&lt;/a&gt; for more information.&lt;/p&gt;
-&lt;p&gt;All items (tasks, targets, etc) of the running project are
-accessible from the script, using either their &lt;code&gt;name&lt;/code&gt; or
-&lt;code&gt;id&lt;/code&gt; attributes (as long as their names are considered
-valid Java identifiers, that is). 
-The name &quot;project&quot; is a pre-defined reference to the Project, which can be
-used instead of the project name.&lt;/p&gt;
-&lt;p&gt;&lt;b&gt;BeanShell users:&lt;/b&gt; This task now natively supports the BeanShell
-scripting language, using language=&quot;beanshell&quot;. The BeanShell engine is
-still required.
-&lt;/p&gt;
-&lt;p&gt;Scripts can do almost anything a task written in Java could do.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="language" REQUIRED="yes">
-			<DESCRIPTION>The programming language the script is written in.Must be a supported BSF languag</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="src" REQUIRED="no">
-			<DESCRIPTION>The location of the script as a file, if not inlin</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="serverdeploy">
-		<DESCRIPTION>&lt;p&gt;The &lt;code&gt;serverdeploy&lt;/code&gt; task is used to run a &quot;hot&quot; deployment tool for
-vendor-specific J2EE server. The task requires nested elements which define
-the attributes of the vendor-specific deployment tool being executed.
-Vendor-specific deployment tools elements may enforce rules for which
-attributes are required, depending on the tool.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="action" REQUIRED="yes">
-			<DESCRIPTION>This is the action to be performed.  For most cases thiswill be &quot;deploy&quot;.  Some tools support additional actions, such as &quot;delete&quot;, &quot;list&quot;,&quot;undeploy&quot;, &quot;update&quot;..</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="source" REQUIRED="tool dependant">
-			<DESCRIPTION>A fully qualified path/filename of the component to be deployed.This may be an .ear, .jar, .war, or any other type that is supported by the server.</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="splash">
-		<DESCRIPTION>&lt;p&gt;This task creates a splash screen. The splash screen is displayed
-for the duration of the build and includes a handy progress bar as
-well. Use in conjunction with the sound task to provide interest
-whilst waiting for your builds to complete...&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="imageurl" REQUIRED="no">
-			<DESCRIPTION>A URL pointing to an image to display</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="showduration" REQUIRED="no">
-			<DESCRIPTION>Initial period to pause the build to show thesplash in milliseconds</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="stylebook">
-		<DESCRIPTION>&lt;p&gt;This executes the apache Stylebook documentation generator. 
-Unlike the commandline version of this tool, all three arguments
-are required to run stylebook.&lt;/p&gt;
-&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This task depends on external libraries not included in the Ant distribution.
-See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;Library Dependencies&lt;/a&gt; for more information.&lt;/p&gt;
-&lt;p&gt;
-Being extended from &amp;lt;Java&amp;gt;, all the parent's attributes
-and options are available. Do not set any apart from the &lt;tt&gt;classpath&lt;/tt&gt;
-as they are not guaranteed to be there in future.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="book" REQUIRED="yes">
-			<DESCRIPTION>the book xml file that the documentation generation starts from</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="skindirectory" REQUIRED="yes">
-			<DESCRIPTION>the directory that contains the stylebook skin</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="targetdirectory" REQUIRED="yes">
-			<DESCRIPTION>the destination directory where the documentation is generated </DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="telnet">
-		<DESCRIPTION>Task to automate a remote telnet session. The task uses 
-nested &lt;tt&gt;&amp;lt;read&amp;gt;&lt;/tt&gt; to indicate strings to wait for, and
-&lt;tt&gt;&amp;lt;write&amp;gt;&lt;/tt&gt; tags to specify text to send.  
-&lt;p&gt;If you do specify a userid and password, the system will 
-assume a common unix prompt to wait on. This behavior can be easily over-ridden.&lt;/p&gt;
-&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This task depends on external libraries not included in the Ant distribution.
-See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;Library Dependencies&lt;/a&gt; for more information.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="userid" REQUIRED="only if password is specified">
-			<DESCRIPTION>the login id to use on the telnet server</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="password" REQUIRED="only if userid is specified">
-			<DESCRIPTION>the login password to use on the telnet server</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="server" REQUIRED="yes">
-			<DESCRIPTION>the address of the remote telnet server</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="port" REQUIRED="no">
-			<DESCRIPTION>the port number of the remote telnet server. Defaults to port 23</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="initialcr" REQUIRED="no">
-			<DESCRIPTION>send a cr after connecting (&quot;yes&quot;). Defaults to &quot;no&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="timeout" REQUIRED="no">
-			<DESCRIPTION>set a default timeout to wait for a response. Specified in seconds. Default is no timeout</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="test">
-		<DESCRIPTION>&lt;p&gt;This is a primitive task to execute a unit test in the org.apache.testlet framework.&lt;/p&gt;
-&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This task depends on external libraries not included
-in the Ant distribution.  See &lt;a href=&quot;../install.html#librarydependencies&quot;&gt;
-Library Dependencies&lt;/a&gt; for more information.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="showsuccess" REQUIRED="no">
-			<DESCRIPTION>a boolean value indicating whether tests should display a message on success</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="showbanner" REQUIRED="no">
-			<DESCRIPTION>a boolean value indicating whether a banner should be displayed when starting testlet engine</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="forceshowtrace" REQUIRED="no">
-			<DESCRIPTION>a boolean indicating that a stack trace is displayed on any failure</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="showtrace" REQUIRED="no">
-			<DESCRIPTION>a boolean indicating that a stack trace is displayed on error (but not normal failure)</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="translate">
-		<DESCRIPTION>&lt;p&gt;Identifies keys in files delimited by special tokens
-and translates them with values read from resource bundles.
-&lt;/p&gt;
-&lt;p&gt;
-A resource bundle contains locale-specific key-value pairs.
-A resource bundle is a hierarchical set of property files.
-A bundle name makes up its base family name.  Each file that
-makes up this bundle has this name plus its locale.  For example,
-if the resource bundle name is MyResources, the file that contains
-German text will take the name MyResources_de.  In addition to
-language, country and variant are also used to form the files in
-the bundle.
-&lt;/p&gt;
-&lt;p&gt;
-The resource bundle lookup searches for resource files with various
-suffixes on the basis of (1) the desired locale and (2) the default
-locale (basebundlename), in the following order from lower-level
-(more specific) to parent-level (less specific):
-&lt;/p&gt;
-&lt;pre&gt;
-basebundlename + &amp;quot;_&amp;quot; + language1 + &amp;quot;_&amp;quot; + country1 + &amp;quot;_&amp;quot; + variant1
-basebundlename + &amp;quot;_&amp;quot; + language1 + &amp;quot;_&amp;quot; + country1
-basebundlename + &amp;quot;_&amp;quot; + language1
-basebundlename
-basebundlename + &amp;quot;_&amp;quot; + language2 + &amp;quot;_&amp;quot; + country2 + &amp;quot;_&amp;quot; + variant2
-basebundlename + &amp;quot;_&amp;quot; + language2 + &amp;quot;_&amp;quot; + country2
-basebundlename + &amp;quot;_&amp;quot; + language2
-&lt;/pre&gt;
-&lt;p&gt;
-The file names generated thus are appended with the string &amp;quot;.properties&amp;quot;
-to make up the file names that are to be used.
-&lt;/p&gt;
-&lt;p&gt;
-File encoding is supported.  The encoding scheme of the source files,
-destination files and the bundle files can be specified.
-Destination files can be exlicitly overwritten using the
-&lt;var&gt;forceoverwrite&lt;/var&gt; attribute.  If &lt;var&gt;forceoverwrite&lt;/var&gt;
-is false, the destination file is overwritten only if either the
-source file or any of the files that make up the bundle have been
-modified after the destination file was last modified.
-&lt;/p&gt;
-&lt;p&gt;&lt;a href=&quot;../CoreTypes/fileset.html&quot;&gt;FileSet&lt;/a&gt;s are used to select files to
-translate.
-&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="todir" REQUIRED="yes">
-			<DESCRIPTION>Destination directory where destination files areto be created</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="starttoken" REQUIRED="yes">
-			<DESCRIPTION>The starting token to identify keys</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="endtoken" REQUIRED="yes">
-			<DESCRIPTION>The ending token to identify keys</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bundle" REQUIRED="yes">
-			<DESCRIPTION>Family name of resource bundle</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bundlelanguage" REQUIRED="no">
-			<DESCRIPTION>Locale specific language of resource bundle.  Defaults todefault locale's language.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bundlecountry" REQUIRED="no">
-			<DESCRIPTION>Locale specific country of resource bundle.  Defaults todefault locale's country.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bundlevariant" REQUIRED="no">
-			<DESCRIPTION>Locale specific variant of resource bundle.  Defaults tothe default variant of the country and language being used.</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="srcencoding" REQUIRED="no">
-			<DESCRIPTION>Source file encoding scheme.  Defaults tosystem default file encoding</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="destencoding" REQUIRED="no">
-			<DESCRIPTION>Destination file encoding scheme.  Defaults tosource file encoding</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="bundleencoding" REQUIRED="no">
-			<DESCRIPTION>Resource Bundle file encoding scheme.  Defaults tosource file encoding</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="forceoverwrite" REQUIRED="no">
-			<DESCRIPTION>Overwrite existing files even if the destinationfiles are newer. Defaults to &quot;no&quot;</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="wljspc">
-		<DESCRIPTION>&lt;p&gt;Class to precompile JSP's using weblogic's jsp compiler (weblogic.jspc)&lt;/p&gt;
-Tested only on Weblogic 4.5.1 - NT4.0 and Solaris 5.7,5.8&lt;br&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="src" REQUIRED="yes">
-			<DESCRIPTION>oot of source tree for JSP, ie, the document root for your weblogic serve</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="dest" REQUIRED="yes">
-			<DESCRIPTION>root of destination directory, what you have set as WorkingDir in the weblogic propertie</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="package" REQUIRED="yes">
-			<DESCRIPTION>start package name under which your JSP's would be compile</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpath" REQUIRED="yes">
-			<DESCRIPTION>Class path to use when compiling jsp'</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-	<TASK NAME="xmlvalidate">
-		<DESCRIPTION>&lt;p&gt;This task checks xml files are valid (or only well formed). The
-task uses the SAX2 parser implementation provided by JAXP by default
-(probably the one that is used by Ant itself), but one can specify any
-SAX1/2 parser if needed.&lt;/p&gt;
-&lt;p&gt;This task supports the use of nested &lt;a
-href=&quot;../CoreTypes/xmlcatalog.html&quot;&gt;xmlcatalog&lt;/a&gt; elements and/or nested
-&lt;tt&gt;&amp;lt;dtd&amp;gt;&lt;/tt&gt; elements which are used to resolve DTDs and entities.&lt;/p&gt;
-</DESCRIPTION>
-		<ATTRIBUTE NAME="file" REQUIRED="no">
-			<DESCRIPTION>the file(s) you want to check. (optionally can use an embedded fileset</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="lenient" REQUIRED="no">
-			<DESCRIPTION>if true, only check the xml document is well formed(ignored if the specified parser is as SAX1 parser)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classname" REQUIRED="no">
-			<DESCRIPTION>the parser to use</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="classpathref" REQUIRED="no">
-			<DESCRIPTION>where to find the parser class. Optionally can use an embedded classpath element</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="failonerror" REQUIRED="no">
-			<DESCRIPTION>fails on a error if set to true (defaults to true)</DESCRIPTION>
-		</ATTRIBUTE>
-
-		<ATTRIBUTE NAME="warn" REQUIRED="no">
-			<DESCRIPTION>log parser warn events</DESCRIPTION>
-		</ATTRIBUTE>
-	</TASK>
-</TASKS>
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/ant1.6.2.dtd b/ant/org.eclipse.ant.ui/Ant Editor/ant1.6.2.dtd
deleted file mode 100644
index 758acd2..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/ant1.6.2.dtd
+++ /dev/null
@@ -1,5172 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!ENTITY % boolean "(true|false|on|off|yes|no)">
-<!ENTITY % tasks "propertyfile | ccmkdir | importtypelib | vsscheckin | sql | cvspass | p4reopen | csc | dirname | wlrun | p4label | p4revert | replaceregexp | get | jjtree | sleep | jarlib-display | dependset | zip | patch | jspc | style | test | tstamp | unwar | vsshistory | icontract | cvschangelog | p4submit | ccmcheckin | p4change | bzip2 | sync | p4delete | vssadd | javadoc | p4integrate | translate | signjar | cclock | chown | vajload | jarlib-available | rexec | WsdlToDotnet | buildnumber | jpcovmerge | ejbjar | war | stlist | rename | sequential | serverdeploy | property | subant | move | ildasm | copydir | cccheckin | ccunlock | wljspc | fixcrlf | telnet | sosget | pathconvert | record | p4sync | exec | ccmklabel | p4edit | manifest | maudit | antlr | netrexxc | ftp | jpcovreport | execon | ccmcheckout | ant | xmlvalidate | xslt | p4resolve | iplanet-ejbc | ccmcheckintask | gzip | native2ascii | ccrmtype | starteam | ear | input | presetdef | rmic | checksum | mail | loadfile | vsscheckout | stylebook | soscheckin | mimemail | stlabel | gunzip | concat | cab | touch | parallel | splash | antcall | ccmkbl | cccheckout | typedef | p4have | filter | xmlproperty | import | copy | jsharpc | symlink | antstructure | script | ccmcreatetask | rpm | delete | replace | mmetrics | attrib | waitfor | untar | loadproperties | available | echoproperties | stcheckin | chgrp | vajexport | stcheckout | bunzip2 | whichresource | copyfile | p4labelsync | vsscreate | macrodef | ejbc | unjar | vbc | wsdltodotnet | mkdir | cvs | condition | tempfile | junitreport | ccmkattr | taskdef | echo | ccupdate | java | vsslabel | renameext | basename | javadoc2 | tar | vsscp | vajimport | p4fstat | setproxy | p4counter | wlstop | ilasm | soscheckout | apply | ccuncheckout | jarlib-resolve | jlink | cvstagdiff | javacc | chmod | pvcs | jarlib-manifest | jar | ccmklbtype | sound | scriptdef | defaultexcludes | mparse | blgenclient | uptodate | jjdoc | genkey | javah | ccmkelem | ccmreconfigure | fail | unzip | javac | p4add | jpcoverage | soslabel | depend | vssget | deltree | ddcreator | junit | sshexec | scp">
-<!ENTITY % types "patternset | assertions | propertyset | filterset | libfileset | mergemapper | identitymapper | filterreader | unpackagemapper | scriptfilter | concatfilter | extension | fileset | dirset | globmapper | filelist | filterchain | path | compositemapper | classfileset | regexpmapper | selector | xmlcatalog | flattenmapper | description | chainedmapper | packagemapper | mapper | zipfileset | substitution | extensionSet | redirector | regexp">
-
-<!ELEMENT project (target | %tasks; | %types;)*>
-<!ATTLIST project
-          name    CDATA #IMPLIED
-          default CDATA #IMPLIED
-          basedir CDATA #IMPLIED>
-
-<!ELEMENT target (%tasks; | %types;)*>
-
-<!ATTLIST target
-          id          ID    #IMPLIED
-          name        CDATA #REQUIRED
-          if          CDATA #IMPLIED
-          unless      CDATA #IMPLIED
-          depends     CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT patternset (include | patternset | exclude | excludesfile | includesfile)*>
-<!ATTLIST patternset
-          id ID #IMPLIED
-          includes CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED>
-
-<!ELEMENT include EMPTY>
-<!ATTLIST include
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          unless CDATA #IMPLIED
-          if CDATA #IMPLIED>
-
-<!ELEMENT exclude EMPTY>
-<!ATTLIST exclude
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          unless CDATA #IMPLIED
-          if CDATA #IMPLIED>
-
-<!ELEMENT excludesfile EMPTY>
-<!ATTLIST excludesfile
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          unless CDATA #IMPLIED
-          if CDATA #IMPLIED>
-
-<!ELEMENT includesfile EMPTY>
-<!ATTLIST includesfile
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          unless CDATA #IMPLIED
-          if CDATA #IMPLIED>
-
-<!ELEMENT assertions (disable | enable)*>
-<!ATTLIST assertions
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          enablesystemassertions %boolean; #IMPLIED>
-
-<!ELEMENT disable EMPTY>
-<!ATTLIST disable
-          id ID #IMPLIED
-          package CDATA #IMPLIED
-          class CDATA #IMPLIED>
-
-<!ELEMENT enable EMPTY>
-<!ATTLIST enable
-          id ID #IMPLIED
-          package CDATA #IMPLIED
-          class CDATA #IMPLIED>
-
-<!ELEMENT propertyset (propertyref | propertyset | mapper)*>
-<!ATTLIST propertyset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          negate %boolean; #IMPLIED
-          dynamic %boolean; #IMPLIED>
-
-<!ELEMENT propertyref EMPTY>
-<!ATTLIST propertyref
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          builtin (all | system | commandline) #IMPLIED
-          regex CDATA #IMPLIED
-          prefix CDATA #IMPLIED>
-
-<!ELEMENT mapper (classpath | mapper)*>
-<!ATTLIST mapper
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          type (identity | flatten | glob | merge | regexp | package | unpackage) #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          classname CDATA #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT classpath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST classpath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT fileset (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST fileset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT custom (classpath | param)*>
-<!ATTLIST custom
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          error CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          classname CDATA #IMPLIED>
-
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          expression CDATA #IMPLIED
-          if CDATA #IMPLIED
-          unless CDATA #IMPLIED>
-
-<!ELEMENT none (custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | date | and | depth)*>
-<!ATTLIST none
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT present (mapper)*>
-<!ATTLIST present
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          targetdir CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          present (srconly | both) #IMPLIED>
-
-<!ELEMENT not (custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | date | and | depth)*>
-<!ATTLIST not
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT type EMPTY>
-<!ATTLIST type
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          type (file | dir) #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT modified (param)*>
-<!ATTLIST modified
-          id ID #IMPLIED
-          comparator (equal | rule) #IMPLIED
-          seldirs %boolean; #IMPLIED
-          cache (propertyfile) #IMPLIED
-          algorithm (hashvalue | digest) #IMPLIED
-          error CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          update %boolean; #IMPLIED>
-
-<!ELEMENT or (custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | date | and | depth)*>
-<!ATTLIST or
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT contains EMPTY>
-<!ATTLIST contains
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          ignorewhitespace %boolean; #IMPLIED
-          text CDATA #IMPLIED>
-
-<!ELEMENT depend (mapper)*>
-<!ATTLIST depend
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          targetdir CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          granularity CDATA #IMPLIED>
-
-<!ELEMENT different (mapper)*>
-<!ATTLIST different
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          targetdir CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          ignorefiletimes %boolean; #IMPLIED
-          granularity CDATA #IMPLIED>
-
-<!ELEMENT size EMPTY>
-<!ATTLIST size
-          id ID #IMPLIED
-          when (less | more | equal) #IMPLIED
-          units (K | k | kilo | KILO | Ki | KI | ki | kibi | KIBI | M | m | mega | MEGA | Mi | MI | mi | mebi | MEBI | G | g | giga | GIGA | Gi | GI | gi | gibi | GIBI | T | t | tera | TERA | Ti | TI | ti | tebi | TEBI) #IMPLIED
-          error CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          value CDATA #IMPLIED>
-
-<!ELEMENT majority (custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | date | and | depth)*>
-<!ATTLIST majority
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          allowtie %boolean; #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT containsregexp EMPTY>
-<!ATTLIST containsregexp
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          expression CDATA #IMPLIED>
-
-<!ELEMENT filename EMPTY>
-<!ATTLIST filename
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          name CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          negate %boolean; #IMPLIED>
-
-<!ELEMENT selector (custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | date | and | depth)*>
-<!ATTLIST selector
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          unless CDATA #IMPLIED
-          if CDATA #IMPLIED>
-
-<!ELEMENT date EMPTY>
-<!ATTLIST date
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          millis CDATA #IMPLIED
-          checkdirs %boolean; #IMPLIED
-          datetime CDATA #IMPLIED
-          granularity CDATA #IMPLIED
-          pattern CDATA #IMPLIED
-          when (before | after | equal) #IMPLIED
-          error CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT and (custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | date | and | depth)*>
-<!ATTLIST and
-          id ID #IMPLIED
-          error CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT depth EMPTY>
-<!ATTLIST depth
-          id ID #IMPLIED
-          max CDATA #IMPLIED
-          error CDATA #IMPLIED
-          min CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT dirset (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST dirset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT extdirs (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST extdirs
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT filelist (file)*>
-<!ATTLIST filelist
-          id ID #IMPLIED
-          dir CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          files CDATA #IMPLIED>
-
-<!ELEMENT file EMPTY>
-<!ATTLIST file
-          id ID #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT existing (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST existing
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT pathelement EMPTY>
-<!ATTLIST pathelement
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT path (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST path
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT filterset (filterset | filter | filtersfile)*>
-<!ATTLIST filterset
-          id ID #IMPLIED
-          begintoken CDATA #IMPLIED
-          endtoken CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          filtersfile CDATA #IMPLIED>
-
-<!ELEMENT filter EMPTY>
-<!ATTLIST filter
-          id ID #IMPLIED
-          token CDATA #IMPLIED
-          value CDATA #IMPLIED>
-
-<!ELEMENT filtersfile EMPTY>
-<!ATTLIST filtersfile
-          id ID #IMPLIED
-          file CDATA #IMPLIED>
-
-<!ELEMENT libfileset (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST libfileset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          urlbase CDATA #IMPLIED
-          includeimpl %boolean; #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          includeurl %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT mergemapper EMPTY>
-<!ATTLIST mergemapper
-          id ID #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT identitymapper EMPTY>
-<!ATTLIST identitymapper
-          id ID #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT filterreader (classpath | param)*>
-<!ATTLIST filterreader
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          classname CDATA #IMPLIED>
-
-<!ELEMENT unpackagemapper EMPTY>
-<!ATTLIST unpackagemapper
-          id ID #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT scriptfilter (#PCDATA)>
-<!ATTLIST scriptfilter
-          id ID #IMPLIED
-          byline %boolean; #IMPLIED
-          token CDATA #IMPLIED
-          src CDATA #IMPLIED
-          language CDATA #IMPLIED>
-
-<!ELEMENT concatfilter EMPTY>
-<!ATTLIST concatfilter
-          id ID #IMPLIED
-          append CDATA #IMPLIED
-          prepend CDATA #IMPLIED>
-
-<!ELEMENT extension EMPTY>
-<!ATTLIST extension
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          implementationversion CDATA #IMPLIED
-          specificationversion CDATA #IMPLIED
-          extensionname CDATA #IMPLIED
-          implementationvendorid CDATA #IMPLIED
-          specificationvendor CDATA #IMPLIED
-          implementationurl CDATA #IMPLIED
-          description CDATA #IMPLIED
-          implementationvendor CDATA #IMPLIED>
-
-<!ELEMENT globmapper EMPTY>
-<!ATTLIST globmapper
-          id ID #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT filterchain (headfilter | classconstants | linecontains | filterreader | replaceregex | replacetokens | escapeunicode | ignoreblank | tailfilter | tabstospaces | prefixlines | expandproperties | striplinebreaks | trim | striplinecomments | replacestring | tokenfilter | stripjavacomments | containsregex | deletecharacters | linecontainsregexp)*>
-<!ATTLIST filterchain
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT headfilter EMPTY>
-<!ATTLIST headfilter
-          id ID #IMPLIED
-          lines CDATA #IMPLIED
-          skip CDATA #IMPLIED>
-
-<!ELEMENT classconstants EMPTY>
-<!ATTLIST classconstants
-          id ID #IMPLIED>
-
-<!ELEMENT linecontains (contains)*>
-<!ATTLIST linecontains
-          id ID #IMPLIED>
-
-<!ELEMENT replaceregex EMPTY>
-<!ATTLIST replaceregex
-          id ID #IMPLIED
-          flags CDATA #IMPLIED
-          byline %boolean; #IMPLIED
-          replace CDATA #IMPLIED
-          pattern CDATA #IMPLIED>
-
-<!ELEMENT replacetokens (token)*>
-<!ATTLIST replacetokens
-          id ID #IMPLIED
-          begintoken CDATA #IMPLIED
-          endtoken CDATA #IMPLIED>
-
-<!ELEMENT token EMPTY>
-<!ATTLIST token
-          id ID #IMPLIED
-          key CDATA #IMPLIED
-          value CDATA #IMPLIED>
-
-<!ELEMENT escapeunicode EMPTY>
-<!ATTLIST escapeunicode
-          id ID #IMPLIED>
-
-<!ELEMENT ignoreblank EMPTY>
-<!ATTLIST ignoreblank
-          id ID #IMPLIED
-          byline %boolean; #IMPLIED>
-
-<!ELEMENT tailfilter EMPTY>
-<!ATTLIST tailfilter
-          id ID #IMPLIED
-          lines CDATA #IMPLIED
-          skip CDATA #IMPLIED>
-
-<!ELEMENT tabstospaces EMPTY>
-<!ATTLIST tabstospaces
-          id ID #IMPLIED
-          tablength CDATA #IMPLIED>
-
-<!ELEMENT prefixlines EMPTY>
-<!ATTLIST prefixlines
-          id ID #IMPLIED
-          prefix CDATA #IMPLIED>
-
-<!ELEMENT expandproperties EMPTY>
-<!ATTLIST expandproperties
-          id ID #IMPLIED>
-
-<!ELEMENT striplinebreaks EMPTY>
-<!ATTLIST striplinebreaks
-          id ID #IMPLIED
-          linebreaks CDATA #IMPLIED>
-
-<!ELEMENT trim EMPTY>
-<!ATTLIST trim
-          id ID #IMPLIED
-          byline %boolean; #IMPLIED>
-
-<!ELEMENT striplinecomments (comment)*>
-<!ATTLIST striplinecomments
-          id ID #IMPLIED>
-
-<!ELEMENT comment EMPTY>
-<!ATTLIST comment
-          id ID #IMPLIED
-          value CDATA #IMPLIED>
-
-<!ELEMENT replacestring EMPTY>
-<!ATTLIST replacestring
-          id ID #IMPLIED
-          byline %boolean; #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT tokenfilter (containsstring | linetokenizer | trim | stringtokenizer | replaceregex | replacestring | ignoreblank | deletecharacters | containsregex | filetokenizer)*>
-<!ATTLIST tokenfilter
-          id ID #IMPLIED
-          delimoutput CDATA #IMPLIED>
-
-<!ELEMENT containsstring EMPTY>
-<!ATTLIST containsstring
-          id ID #IMPLIED
-          contains CDATA #IMPLIED>
-
-<!ELEMENT linetokenizer EMPTY>
-<!ATTLIST linetokenizer
-          id ID #IMPLIED
-          includedelims %boolean; #IMPLIED>
-
-<!ELEMENT stringtokenizer EMPTY>
-<!ATTLIST stringtokenizer
-          id ID #IMPLIED
-          suppressdelims %boolean; #IMPLIED
-          includedelims %boolean; #IMPLIED
-          delimsaretokens %boolean; #IMPLIED
-          delims CDATA #IMPLIED>
-
-<!ELEMENT deletecharacters EMPTY>
-<!ATTLIST deletecharacters
-          id ID #IMPLIED
-          chars CDATA #IMPLIED>
-
-<!ELEMENT containsregex EMPTY>
-<!ATTLIST containsregex
-          id ID #IMPLIED
-          flags CDATA #IMPLIED
-          byline %boolean; #IMPLIED
-          replace CDATA #IMPLIED
-          pattern CDATA #IMPLIED>
-
-<!ELEMENT filetokenizer EMPTY>
-<!ATTLIST filetokenizer
-          id ID #IMPLIED>
-
-<!ELEMENT stripjavacomments EMPTY>
-<!ATTLIST stripjavacomments
-          id ID #IMPLIED>
-
-<!ELEMENT linecontainsregexp (regexp)*>
-<!ATTLIST linecontainsregexp
-          id ID #IMPLIED>
-
-<!ELEMENT regexp EMPTY>
-<!ATTLIST regexp
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          pattern CDATA #IMPLIED>
-
-<!ELEMENT compositemapper (mapper)*>
-<!ATTLIST compositemapper
-          id ID #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT classfileset (patternset | exclude | include | custom | rootfileset | present | none | not | type | modified | or | contains | depend | different | size | majority | containsregexp | root | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST classfileset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          rootclass CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT rootfileset (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST rootfileset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT root EMPTY>
-<!ATTLIST root
-          id ID #IMPLIED
-          classname CDATA #IMPLIED>
-
-<!ELEMENT regexpmapper EMPTY>
-<!ATTLIST regexpmapper
-          id ID #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT xmlcatalog (entity | classpath | catalogpath | dtd | xmlcatalog)*>
-<!ATTLIST xmlcatalog
-          id ID #IMPLIED
-          catalogpathref IDREF #IMPLIED
-          classpath CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT entity EMPTY>
-<!ATTLIST entity
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          base CDATA #IMPLIED
-          publicid CDATA #IMPLIED>
-
-<!ELEMENT catalogpath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST catalogpath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT dtd EMPTY>
-<!ATTLIST dtd
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          base CDATA #IMPLIED
-          publicid CDATA #IMPLIED>
-
-<!ELEMENT flattenmapper EMPTY>
-<!ATTLIST flattenmapper
-          id ID #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT description (#PCDATA)>
-<!ATTLIST description
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT chainedmapper (mapper)*>
-<!ATTLIST chainedmapper
-          id ID #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT packagemapper EMPTY>
-<!ATTLIST packagemapper
-          id ID #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT zipfileset (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST zipfileset
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          filemode CDATA #IMPLIED
-          prefix CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          fullpath CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          dirmode CDATA #IMPLIED>
-
-<!ELEMENT substitution EMPTY>
-<!ATTLIST substitution
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          expression CDATA #IMPLIED>
-
-<!ELEMENT extensionSet (fileset | libfileset | extension)*>
-<!ATTLIST extensionSet
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT redirector (errorfilterchain | outputfilterchain | errormapper | inputfilterchain | outputmapper | inputmapper)*>
-<!ATTLIST redirector
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          inputencoding CDATA #IMPLIED
-          append %boolean; #IMPLIED
-          createemptyfiles %boolean; #IMPLIED
-          output CDATA #IMPLIED
-          outputproperty CDATA #IMPLIED
-          outputencoding CDATA #IMPLIED
-          errorproperty CDATA #IMPLIED
-          error CDATA #IMPLIED
-          inputstring CDATA #IMPLIED
-          input CDATA #IMPLIED
-          description CDATA #IMPLIED
-          errorencoding CDATA #IMPLIED
-          logerror %boolean; #IMPLIED>
-
-<!ELEMENT errorfilterchain (headfilter | classconstants | linecontains | filterreader | replaceregex | replacetokens | escapeunicode | ignoreblank | tailfilter | tabstospaces | prefixlines | expandproperties | striplinebreaks | trim | striplinecomments | replacestring | tokenfilter | stripjavacomments | containsregex | deletecharacters | linecontainsregexp)*>
-<!ATTLIST errorfilterchain
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT outputfilterchain (headfilter | classconstants | linecontains | filterreader | replaceregex | replacetokens | escapeunicode | ignoreblank | tailfilter | tabstospaces | prefixlines | expandproperties | striplinebreaks | trim | striplinecomments | replacestring | tokenfilter | stripjavacomments | containsregex | deletecharacters | linecontainsregexp)*>
-<!ATTLIST outputfilterchain
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT errormapper (classpath | mapper)*>
-<!ATTLIST errormapper
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          type (identity | flatten | glob | merge | regexp | package | unpackage) #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          classname CDATA #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT inputfilterchain (headfilter | classconstants | linecontains | filterreader | replaceregex | replacetokens | escapeunicode | ignoreblank | tailfilter | tabstospaces | prefixlines | expandproperties | striplinebreaks | trim | striplinecomments | replacestring | tokenfilter | stripjavacomments | containsregex | deletecharacters | linecontainsregexp)*>
-<!ATTLIST inputfilterchain
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT outputmapper (classpath | mapper)*>
-<!ATTLIST outputmapper
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          type (identity | flatten | glob | merge | regexp | package | unpackage) #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          classname CDATA #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT inputmapper (classpath | mapper)*>
-<!ATTLIST inputmapper
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          type (identity | flatten | glob | merge | regexp | package | unpackage) #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          classname CDATA #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT propertyfile (entry)*>
-<!ATTLIST propertyfile
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED
-          comment CDATA #IMPLIED>
-
-<!ELEMENT entry EMPTY>
-<!ATTLIST entry
-          id ID #IMPLIED
-          operation CDATA #IMPLIED
-          default CDATA #IMPLIED
-          key CDATA #IMPLIED
-          type (int | date | string) #IMPLIED
-          unit (millisecond | second | minute | hour | day | week | month | year) #IMPLIED
-          pattern CDATA #IMPLIED
-          value CDATA #IMPLIED>
-
-<!ELEMENT ccmkdir EMPTY>
-<!ATTLIST ccmkdir
-          id ID #IMPLIED
-          viewpath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          failonerr %boolean; #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          objselect CDATA #IMPLIED
-          nocheckout %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          commentfile CDATA #IMPLIED>
-
-<!ELEMENT importtypelib EMPTY>
-<!ATTLIST importtypelib
-          id ID #IMPLIED
-          unsafe %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          usesysarray %boolean; #IMPLIED
-          namespace CDATA #IMPLIED
-          description CDATA #IMPLIED
-          extraoptions CDATA #IMPLIED
-          srcfile CDATA #IMPLIED
-          destfile CDATA #IMPLIED>
-
-<!ELEMENT vsscheckin EMPTY>
-<!ATTLIST vsscheckin
-          id ID #IMPLIED
-          ssdir CDATA #IMPLIED
-          recursive %boolean; #IMPLIED
-          autoresponse CDATA #IMPLIED
-          vsspath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          serverpath CDATA #IMPLIED
-          writable %boolean; #IMPLIED
-          login CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          localpath CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT sql (#PCDATA | fileset | classpath | transaction)*>
-<!ATTLIST sql
-          id ID #IMPLIED
-          onerror (continue | stop | abort) #IMPLIED
-          userid CDATA #IMPLIED
-          password CDATA #IMPLIED
-          autocommit %boolean; #IMPLIED
-          rdbms CDATA #IMPLIED
-          print %boolean; #IMPLIED
-          classpathref IDREF #IMPLIED
-          encoding CDATA #IMPLIED
-          version CDATA #IMPLIED
-          url CDATA #IMPLIED
-          src CDATA #IMPLIED
-          output CDATA #IMPLIED
-          driver CDATA #IMPLIED
-          showheaders %boolean; #IMPLIED
-          classpath CDATA #IMPLIED
-          delimitertype (normal | row) #IMPLIED
-          escapeprocessing %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          append %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          caching %boolean; #IMPLIED
-          keepformat %boolean; #IMPLIED
-          delimiter CDATA #IMPLIED>
-
-<!ELEMENT transaction (#PCDATA)>
-<!ATTLIST transaction
-          id ID #IMPLIED
-          src CDATA #IMPLIED>
-
-<!ELEMENT cvspass EMPTY>
-<!ATTLIST cvspass
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          password CDATA #IMPLIED
-          description CDATA #IMPLIED
-          cvsroot CDATA #IMPLIED
-          passfile CDATA #IMPLIED>
-
-<!ELEMENT p4reopen EMPTY>
-<!ATTLIST p4reopen
-          id ID #IMPLIED
-          tochange CDATA #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED>
-
-<!ELEMENT csc (patternset | exclude | include | custom | present | none | resource | define | not | type | modified | reference | src | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST csc
-          id ID #IMPLIED
-          excludes CDATA #IMPLIED
-          executable CDATA #IMPLIED
-          destfile CDATA #IMPLIED
-          win32icon CDATA #IMPLIED
-          definitions CDATA #IMPLIED
-          referencefiles CDATA #IMPLIED
-          fullpaths %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          outputfile CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          mainclass CDATA #IMPLIED
-          utf8output %boolean; #IMPLIED
-          useresponsefile %boolean; #IMPLIED
-          failonerror %boolean; #IMPLIED
-          destdir CDATA #IMPLIED
-          debug %boolean; #IMPLIED
-          includedefaultreferences %boolean; #IMPLIED
-          warnlevel CDATA #IMPLIED
-          win32res CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          extraoptions CDATA #IMPLIED
-          incremental %boolean; #IMPLIED
-          noconfig %boolean; #IMPLIED
-          includesfile CDATA #IMPLIED
-          references CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          srcdir CDATA #IMPLIED
-          optimize %boolean; #IMPLIED
-          additionalmodules CDATA #IMPLIED
-          docfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          unsafe %boolean; #IMPLIED
-          filealign CDATA #IMPLIED
-          targettype (exe | library | module | winexe) #IMPLIED>
-
-<!ELEMENT resource EMPTY>
-<!ATTLIST resource
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          file CDATA #IMPLIED
-          public %boolean; #IMPLIED
-          embed %boolean; #IMPLIED>
-
-<!ELEMENT define EMPTY>
-<!ATTLIST define
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          unless CDATA #IMPLIED
-          if CDATA #IMPLIED>
-
-<!ELEMENT reference (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST reference
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT src (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST src
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT dirname EMPTY>
-<!ATTLIST dirname
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED
-          property CDATA #IMPLIED>
-
-<!ELEMENT wlrun (classpath | wlclasspath)*>
-<!ATTLIST wlrun
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          pkpassword CDATA #IMPLIED
-          beahome CDATA #IMPLIED
-          domain CDATA #IMPLIED
-          username CDATA #IMPLIED
-          weblogicmainclass CDATA #IMPLIED
-          wlclasspath CDATA #IMPLIED
-          policy CDATA #IMPLIED
-          properties CDATA #IMPLIED
-          args CDATA #IMPLIED
-          home CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          password CDATA #IMPLIED
-          jvmargs CDATA #IMPLIED>
-
-<!ELEMENT wlclasspath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST wlclasspath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT p4label EMPTY>
-<!ATTLIST p4label
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          desc CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED
-          lock CDATA #IMPLIED>
-
-<!ELEMENT p4revert EMPTY>
-<!ATTLIST p4revert
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          revertonlyunchanged %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          change CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED>
-
-<!ELEMENT replaceregexp (fileset | substitution | regexp)*>
-<!ATTLIST replaceregexp
-          id ID #IMPLIED
-          flags CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          match CDATA #IMPLIED
-          byline %boolean; #IMPLIED
-          replace CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED
-          encoding CDATA #IMPLIED>
-
-<!ELEMENT get EMPTY>
-<!ATTLIST get
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          ignoreerrors %boolean; #IMPLIED
-          username CDATA #IMPLIED
-          usetimestamp %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          description CDATA #IMPLIED
-          password CDATA #IMPLIED>
-
-<!ELEMENT jjtree EMPTY>
-<!ATTLIST jjtree
-          id ID #IMPLIED
-          nodedefaultvoid %boolean; #IMPLIED
-          buildnodefiles %boolean; #IMPLIED
-          outputdirectory CDATA #IMPLIED
-          outputfile CDATA #IMPLIED
-          static %boolean; #IMPLIED
-          javacchome CDATA #IMPLIED
-          nodeprefix CDATA #IMPLIED
-          nodefactory %boolean; #IMPLIED
-          multi %boolean; #IMPLIED
-          visitor %boolean; #IMPLIED
-          target CDATA #IMPLIED
-          nodeusesparser %boolean; #IMPLIED
-          visitorexception CDATA #IMPLIED
-          nodescopehook %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          nodepackage CDATA #IMPLIED>
-
-<!ELEMENT sleep EMPTY>
-<!ATTLIST sleep
-          id ID #IMPLIED
-          hours CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          milliseconds CDATA #IMPLIED
-          minutes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          seconds CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT jarlib-display (fileset)*>
-<!ATTLIST jarlib-display
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT dependset (patternset | exclude | include | custom | present | none | not | type | targetfileset | srcfileset | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | srcfilelist | date | excludesfile | depth | and | targetfilelist)*>
-<!ATTLIST dependset
-          id ID #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT targetfileset (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST targetfileset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT srcfileset (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST srcfileset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT srcfilelist (file)*>
-<!ATTLIST srcfilelist
-          id ID #IMPLIED
-          dir CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          files CDATA #IMPLIED>
-
-<!ELEMENT targetfilelist (file)*>
-<!ATTLIST targetfilelist
-          id ID #IMPLIED
-          dir CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          files CDATA #IMPLIED>
-
-<!ELEMENT zip (patternset | exclude | include | custom | present | none | not | type | modified | or | contains | depend | fileset | different | size | majority | containsregexp | filename | selector | includesfile | zipgroupfileset | zipfileset | date | excludesfile | depth | and)*>
-<!ATTLIST zip
-          id ID #IMPLIED
-          whenempty (fail | skip | create) #IMPLIED
-          keepcompression %boolean; #IMPLIED
-          duplicate (add | preserve | fail) #IMPLIED
-          roundup %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          basedir CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          update %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          destfile CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          compress %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          filesonly %boolean; #IMPLIED
-          file CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          zipfile CDATA #IMPLIED>
-
-<!ELEMENT zipgroupfileset (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST zipgroupfileset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT patch EMPTY>
-<!ATTLIST patch
-          id ID #IMPLIED
-          strip CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          destfile CDATA #IMPLIED
-          quiet %boolean; #IMPLIED
-          originalfile CDATA #IMPLIED
-          patchfile CDATA #IMPLIED
-          reverse %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          backups %boolean; #IMPLIED
-          ignorewhitespace %boolean; #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT jspc (patternset | exclude | include | custom | present | none | not | type | compilerclasspath | modified | or | contains | depend | classpath | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | webapp | depth | and)*>
-<!ATTLIST jspc
-          id ID #IMPLIED
-          mapped %boolean; #IMPLIED
-          ieplugin CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          package CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          compilerclasspath CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          uribase CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          verbose CDATA #IMPLIED
-          compiler CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          webxml CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          srcdir CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          uriroot CDATA #IMPLIED
-          webinc CDATA #IMPLIED>
-
-<!ELEMENT compilerclasspath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST compilerclasspath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT webapp EMPTY>
-<!ATTLIST webapp
-          id ID #IMPLIED
-          basedir CDATA #IMPLIED>
-
-<!ELEMENT style (patternset | exclude | include | custom | present | none | not | type | factory | modified | param | or | contains | depend | classpath | different | size | majority | containsregexp | filename | xmlcatalog | selector | includesfile | outputproperty | mapper | date | excludesfile | depth | and)*>
-<!ATTLIST style
-          id ID #IMPLIED
-          force %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          processor CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          basedir CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          scanincludeddirectories %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          extension CDATA #IMPLIED
-          in CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          reloadstylesheet %boolean; #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          out CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          style CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED>
-
-<!ELEMENT factory (attribute)*>
-<!ATTLIST factory
-          id ID #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT attribute EMPTY>
-<!ATTLIST attribute
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          value CDATA #IMPLIED>
-
-<!ELEMENT outputproperty EMPTY>
-<!ATTLIST outputproperty
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          value CDATA #IMPLIED>
-
-<!ELEMENT sysproperty EMPTY>
-<!ATTLIST sysproperty
-          id ID #IMPLIED
-          key CDATA #IMPLIED
-          file CDATA #IMPLIED
-          value CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT bootclasspath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST bootclasspath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT env EMPTY>
-<!ATTLIST env
-          id ID #IMPLIED
-          key CDATA #IMPLIED
-          file CDATA #IMPLIED
-          value CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT syspropertyset (propertyref | propertyset | mapper)*>
-<!ATTLIST syspropertyset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          negate %boolean; #IMPLIED
-          dynamic %boolean; #IMPLIED>
-
-<!ELEMENT permissions (grant | revoke)*>
-<!ATTLIST permissions
-          id ID #IMPLIED>
-
-<!ELEMENT grant EMPTY>
-<!ATTLIST grant
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          class CDATA #IMPLIED
-          actions CDATA #IMPLIED>
-
-<!ELEMENT revoke EMPTY>
-<!ATTLIST revoke
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          class CDATA #IMPLIED
-          actions CDATA #IMPLIED>
-
-<!ELEMENT jvmarg EMPTY>
-<!ATTLIST jvmarg
-          id ID #IMPLIED
-          line CDATA #IMPLIED
-          file CDATA #IMPLIED
-          pathref IDREF #IMPLIED
-          value CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT arg EMPTY>
-<!ATTLIST arg
-          id ID #IMPLIED
-          line CDATA #IMPLIED
-          file CDATA #IMPLIED
-          pathref IDREF #IMPLIED
-          value CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT testlet (#PCDATA)>
-<!ATTLIST testlet
-          id ID #IMPLIED>
-
-<!ELEMENT tstamp (format)*>
-<!ATTLIST tstamp
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          prefix CDATA #IMPLIED>
-
-<!ELEMENT format EMPTY>
-<!ATTLIST format
-          id ID #IMPLIED
-          locale CDATA #IMPLIED
-          timezone CDATA #IMPLIED
-          unit (millisecond | second | minute | hour | day | week | month | year) #IMPLIED
-          pattern CDATA #IMPLIED
-          property CDATA #IMPLIED
-          offset CDATA #IMPLIED>
-
-<!ELEMENT unwar (fileset | patternset)*>
-<!ATTLIST unwar
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          overwrite %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          src CDATA #IMPLIED>
-
-<!ELEMENT vsshistory EMPTY>
-<!ATTLIST vsshistory
-          id ID #IMPLIED
-          style (brief | codediff | nofile | default) #IMPLIED
-          numdays CDATA #IMPLIED
-          todate CDATA #IMPLIED
-          fromlabel CDATA #IMPLIED
-          output CDATA #IMPLIED
-          ssdir CDATA #IMPLIED
-          recursive %boolean; #IMPLIED
-          vsspath CDATA #IMPLIED
-          fromdate CDATA #IMPLIED
-          user CDATA #IMPLIED
-          serverpath CDATA #IMPLIED
-          login CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          tolabel CDATA #IMPLIED
-          dateformat CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT icontract (patternset | exclude | include | custom | present | none | not | type | modified | or | contains | depend | classpath | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST icontract
-          id ID #IMPLIED
-          classdir CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          quiet %boolean; #IMPLIED
-          classpathref IDREF #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          repositorydir CDATA #IMPLIED
-          instrumentdir CDATA #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          builddir CDATA #IMPLIED
-          updateicontrol %boolean; #IMPLIED
-          classpath CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          pre %boolean; #IMPLIED
-          controlfile CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          invariant %boolean; #IMPLIED
-          post %boolean; #IMPLIED
-          includesfile CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          srcdir CDATA #IMPLIED
-          failthrowable CDATA #IMPLIED
-          verbosity CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          repbuilddir CDATA #IMPLIED
-          targets CDATA #IMPLIED>
-
-<!ELEMENT cvschangelog (fileset | user | commandline)*>
-<!ATTLIST cvschangelog
-          id ID #IMPLIED
-          cvsrsh CDATA #IMPLIED
-          quiet %boolean; #IMPLIED
-          passfile CDATA #IMPLIED
-          end CDATA #IMPLIED
-          command CDATA #IMPLIED
-          package CDATA #IMPLIED
-          start CDATA #IMPLIED
-          cvsroot CDATA #IMPLIED
-          reallyquiet %boolean; #IMPLIED
-          output CDATA #IMPLIED
-          port CDATA #IMPLIED
-          compressionlevel CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          destfile CDATA #IMPLIED
-          usersfile CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          noexec %boolean; #IMPLIED
-          error CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          daysinpast CDATA #IMPLIED
-          append %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          date CDATA #IMPLIED
-          compression %boolean; #IMPLIED
-          tag CDATA #IMPLIED>
-
-<!ELEMENT user EMPTY>
-<!ATTLIST user
-          id ID #IMPLIED
-          userid CDATA #IMPLIED
-          displayname CDATA #IMPLIED>
-
-<!ELEMENT commandline (marker | argument)*>
-<!ATTLIST commandline
-          id ID #IMPLIED
-          executable CDATA #IMPLIED>
-
-<!ELEMENT marker EMPTY>
-<!ATTLIST marker
-          id ID #IMPLIED>
-
-<!ELEMENT argument EMPTY>
-<!ATTLIST argument
-          id ID #IMPLIED
-          line CDATA #IMPLIED
-          file CDATA #IMPLIED
-          pathref IDREF #IMPLIED
-          value CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT p4submit EMPTY>
-<!ATTLIST p4submit
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          needsresolveproperty CDATA #IMPLIED
-          changeproperty CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          change CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED>
-
-<!ELEMENT ccmcheckin (fileset)*>
-<!ATTLIST ccmcheckin
-          id ID #IMPLIED
-          ccmaction CDATA #IMPLIED
-          task CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED
-          ccmdir CDATA #IMPLIED
-          comment CDATA #IMPLIED>
-
-<!ELEMENT p4change EMPTY>
-<!ATTLIST p4change
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          errormessage CDATA #IMPLIED>
-
-<!ELEMENT bzip2 EMPTY>
-<!ATTLIST bzip2
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          zipfile CDATA #IMPLIED
-          description CDATA #IMPLIED
-          src CDATA #IMPLIED
-          destfile CDATA #IMPLIED>
-
-<!ELEMENT sync (fileset)*>
-<!ATTLIST sync
-          id ID #IMPLIED
-          verbose %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          todir CDATA #IMPLIED
-          overwrite %boolean; #IMPLIED
-          includeemptydirs %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          granularity CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT p4delete EMPTY>
-<!ATTLIST p4delete
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          change CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED>
-
-<!ELEMENT vssadd EMPTY>
-<!ATTLIST vssadd
-          id ID #IMPLIED
-          ssdir CDATA #IMPLIED
-          recursive %boolean; #IMPLIED
-          autoresponse CDATA #IMPLIED
-          vsspath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          serverpath CDATA #IMPLIED
-          writable %boolean; #IMPLIED
-          login CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          localpath CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT javadoc (taglet | doclet | package | arg | link | doctitle | bottom | group | packageset | fileset | classpath | sourcepath | footer | source | bootclasspath | header | excludepackage | tag)*>
-<!ATTLIST javadoc
-          id ID #IMPLIED
-          bottom CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          bootclasspathref IDREF #IMPLIED
-          header CDATA #IMPLIED
-          link CDATA #IMPLIED
-          noindex %boolean; #IMPLIED
-          access (protected | public | package | private) #IMPLIED
-          doclet CDATA #IMPLIED
-          noqualifier CDATA #IMPLIED
-          public %boolean; #IMPLIED
-          author %boolean; #IMPLIED
-          footer CDATA #IMPLIED
-          docletpath CDATA #IMPLIED
-          package %boolean; #IMPLIED
-          useexternalfile %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          sourcepathref IDREF #IMPLIED
-          protected %boolean; #IMPLIED
-          breakiterator %boolean; #IMPLIED
-          nonavbar %boolean; #IMPLIED
-          maxmemory CDATA #IMPLIED
-          group CDATA #IMPLIED
-          source CDATA #IMPLIED
-          linkoffline CDATA #IMPLIED
-          additionalparam CDATA #IMPLIED
-          linksource %boolean; #IMPLIED
-          failonerror %boolean; #IMPLIED
-          locale CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          bootclasspath CDATA #IMPLIED
-          private %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          charset CDATA #IMPLIED
-          nodeprecatedlist %boolean; #IMPLIED
-          classpathref IDREF #IMPLIED
-          stylesheetfile CDATA #IMPLIED
-          docencoding CDATA #IMPLIED
-          excludepackagenames CDATA #IMPLIED
-          docletpathref IDREF #IMPLIED
-          packagenames CDATA #IMPLIED
-          windowtitle CDATA #IMPLIED
-          notree %boolean; #IMPLIED
-          splitindex %boolean; #IMPLIED
-          packagelist CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          doctitle CDATA #IMPLIED
-          serialwarn %boolean; #IMPLIED
-          old %boolean; #IMPLIED
-          use %boolean; #IMPLIED
-          sourcepath CDATA #IMPLIED
-          helpfile CDATA #IMPLIED
-          version %boolean; #IMPLIED
-          sourcefiles CDATA #IMPLIED
-          extdirs CDATA #IMPLIED
-          nohelp %boolean; #IMPLIED
-          nodeprecated %boolean; #IMPLIED
-          overview CDATA #IMPLIED>
-
-<!ELEMENT taglet (path)*>
-<!ATTLIST taglet
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          pathref IDREF #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT doclet (path | param)*>
-<!ATTLIST doclet
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          pathref IDREF #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT package EMPTY>
-<!ATTLIST package
-          id ID #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT link EMPTY>
-<!ATTLIST link
-          id ID #IMPLIED
-          href CDATA #IMPLIED
-          offline %boolean; #IMPLIED
-          packagelistloc CDATA #IMPLIED>
-
-<!ELEMENT doctitle (#PCDATA)>
-<!ATTLIST doctitle
-          id ID #IMPLIED>
-
-<!ELEMENT bottom (#PCDATA)>
-<!ATTLIST bottom
-          id ID #IMPLIED>
-
-<!ELEMENT group (package | title)*>
-<!ATTLIST group
-          id ID #IMPLIED
-          packages CDATA #IMPLIED
-          title CDATA #IMPLIED>
-
-<!ELEMENT title (#PCDATA)>
-<!ATTLIST title
-          id ID #IMPLIED>
-
-<!ELEMENT packageset (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST packageset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT sourcepath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST sourcepath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT footer (#PCDATA)>
-<!ATTLIST footer
-          id ID #IMPLIED>
-
-<!ELEMENT source EMPTY>
-<!ATTLIST source
-          id ID #IMPLIED
-          file CDATA #IMPLIED>
-
-<!ELEMENT header (#PCDATA)>
-<!ATTLIST header
-          id ID #IMPLIED>
-
-<!ELEMENT excludepackage EMPTY>
-<!ATTLIST excludepackage
-          id ID #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT tag (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST tag
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          name CDATA #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          enabled %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          scope CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT p4integrate EMPTY>
-<!ATTLIST p4integrate
-          id ID #IMPLIED
-          branch CDATA #IMPLIED
-          leavetargetrevision %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED
-          forceintegrate %boolean; #IMPLIED
-          client CDATA #IMPLIED
-          enablebaselessmerges %boolean; #IMPLIED
-          fromfile CDATA #IMPLIED
-          reversebranchmappings %boolean; #IMPLIED
-          port CDATA #IMPLIED
-          change CDATA #IMPLIED
-          simulationmode %boolean; #IMPLIED
-          propagatesourcefiletype %boolean; #IMPLIED
-          view CDATA #IMPLIED
-          nocopynewtargetfiles %boolean; #IMPLIED
-          tofile CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          restoredeletedrevisions %boolean; #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED>
-
-<!ELEMENT translate (patternset | exclude | include | custom | present | none | not | type | modified | or | contains | depend | fileset | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST translate
-          id ID #IMPLIED
-          bundlecountry CDATA #IMPLIED
-          bundlelanguage CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          srcencoding CDATA #IMPLIED
-          bundle CDATA #IMPLIED
-          bundleencoding CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          destencoding CDATA #IMPLIED
-          bundlevariant CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          todir CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          endtoken CDATA #IMPLIED
-          forceoverwrite %boolean; #IMPLIED
-          starttoken CDATA #IMPLIED>
-
-<!ELEMENT signjar (fileset)*>
-<!ATTLIST signjar
-          id ID #IMPLIED
-          storepass CDATA #IMPLIED
-          lazy %boolean; #IMPLIED
-          jar CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          keypass CDATA #IMPLIED
-          maxmemory CDATA #IMPLIED
-          alias CDATA #IMPLIED
-          sectionsonly %boolean; #IMPLIED
-          keystore CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          sigfile CDATA #IMPLIED
-          description CDATA #IMPLIED
-          internalsf %boolean; #IMPLIED
-          storetype CDATA #IMPLIED
-          signedjar CDATA #IMPLIED>
-
-<!ELEMENT cclock EMPTY>
-<!ATTLIST cclock
-          id ID #IMPLIED
-          objsel CDATA #IMPLIED
-          replace %boolean; #IMPLIED
-          pname CDATA #IMPLIED
-          viewpath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          failonerr %boolean; #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          objselect CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          nusers CDATA #IMPLIED
-          obsolete %boolean; #IMPLIED>
-
-<!ELEMENT srcfile EMPTY>
-<!ATTLIST srcfile
-          id ID #IMPLIED>
-
-<!ELEMENT targetfile EMPTY>
-<!ATTLIST targetfile
-          id ID #IMPLIED>
-
-<!ELEMENT vajload (vajproject)*>
-<!ATTLIST vajload
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          remote CDATA #IMPLIED
-          haltonerror %boolean; #IMPLIED>
-
-<!ELEMENT vajproject EMPTY>
-<!ATTLIST vajproject
-          id ID #IMPLIED
-          version CDATA #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT jarlib-available (extensionset | extension)*>
-<!ATTLIST jarlib-available
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED
-          property CDATA #IMPLIED>
-
-<!ELEMENT extensionset (fileset | libfileset | extension)*>
-<!ATTLIST extensionset
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT rexec (write | read)*>
-<!ATTLIST rexec
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          server CDATA #IMPLIED
-          command CDATA #IMPLIED
-          userid CDATA #IMPLIED
-          timeout CDATA #IMPLIED
-          initialcr %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          password CDATA #IMPLIED>
-
-<!ELEMENT WsdlToDotnet EMPTY>
-<!ATTLIST WsdlToDotnet
-          id ID #IMPLIED
-          url CDATA #IMPLIED
-          srcfile CDATA #IMPLIED
-          destfile CDATA #IMPLIED
-          server %boolean; #IMPLIED
-          namespace CDATA #IMPLIED
-          language CDATA #IMPLIED
-          extraoptions CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT buildnumber EMPTY>
-<!ATTLIST buildnumber
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT jpcovmerge (fileset)*>
-<!ATTLIST jpcovmerge
-          id ID #IMPLIED
-          verbose %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          tofile CDATA #IMPLIED
-          home CDATA #IMPLIED>
-
-<!ELEMENT ejbjar (patternset | exclude | include | custom | weblogictoplink | present | none | jboss | not | borland | weblogic | type | modified | iplanet | or | jonas | contains | depend | support | classpath | different | size | majority | websphere | containsregexp | dtd | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST ejbjar
-          id ID #IMPLIED
-          descriptordir CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          manifest CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          basenameterminator CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          cmpversion (1.0 | 2.0) #IMPLIED
-          dependency CDATA #IMPLIED
-          basejarname CDATA #IMPLIED
-          flatdestdir %boolean; #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          srcdir CDATA #IMPLIED
-          naming (ejb-name | directory | descriptor | basejarname) #IMPLIED
-          excludesfile CDATA #IMPLIED
-          genericjarsuffix CDATA #IMPLIED>
-
-<!ELEMENT weblogictoplink (classpath | wlclasspath | sysproperty)*>
-<!ATTLIST weblogictoplink
-          id ID #IMPLIED
-          newcmp %boolean; #IMPLIED
-          ejbdtd CDATA #IMPLIED
-          jvmargs CDATA #IMPLIED
-          rebuild %boolean; #IMPLIED
-          suffix CDATA #IMPLIED
-          args CDATA #IMPLIED
-          outputdir CDATA #IMPLIED
-          toplinkdtd CDATA #IMPLIED
-          wldtd CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          weblogicdtd CDATA #IMPLIED
-          wlclasspath CDATA #IMPLIED
-          jvmdebuglevel CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          keepgenerated CDATA #IMPLIED
-          compiler CDATA #IMPLIED
-          oldcmp %boolean; #IMPLIED
-          keepgeneric %boolean; #IMPLIED
-          ejbcclass CDATA #IMPLIED
-          noejbc %boolean; #IMPLIED
-          toplinkdescriptor CDATA #IMPLIED
-          genericjarsuffix CDATA #IMPLIED>
-
-<!ELEMENT jboss (classpath)*>
-<!ATTLIST jboss
-          id ID #IMPLIED
-          destdir CDATA #IMPLIED
-          genericjarsuffix CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          suffix CDATA #IMPLIED>
-
-<!ELEMENT borland (classpath)*>
-<!ATTLIST borland
-          id ID #IMPLIED
-          verifyargs CDATA #IMPLIED
-          debug %boolean; #IMPLIED
-          destdir CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          genericjarsuffix CDATA #IMPLIED
-          java2iiopparams CDATA #IMPLIED
-          version CDATA #IMPLIED
-          basdtd CDATA #IMPLIED
-          verify %boolean; #IMPLIED
-          suffix CDATA #IMPLIED
-          generateclient %boolean; #IMPLIED>
-
-<!ELEMENT weblogic (classpath | wlclasspath | sysproperty)*>
-<!ATTLIST weblogic
-          id ID #IMPLIED
-          newcmp %boolean; #IMPLIED
-          ejbdtd CDATA #IMPLIED
-          jvmargs CDATA #IMPLIED
-          rebuild %boolean; #IMPLIED
-          suffix CDATA #IMPLIED
-          args CDATA #IMPLIED
-          outputdir CDATA #IMPLIED
-          wldtd CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          weblogicdtd CDATA #IMPLIED
-          wlclasspath CDATA #IMPLIED
-          jvmdebuglevel CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          keepgenerated CDATA #IMPLIED
-          compiler CDATA #IMPLIED
-          oldcmp %boolean; #IMPLIED
-          keepgeneric %boolean; #IMPLIED
-          ejbcclass CDATA #IMPLIED
-          noejbc %boolean; #IMPLIED
-          genericjarsuffix CDATA #IMPLIED>
-
-<!ELEMENT iplanet (classpath)*>
-<!ATTLIST iplanet
-          id ID #IMPLIED
-          destdir CDATA #IMPLIED
-          genericjarsuffix CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          keepgenerated %boolean; #IMPLIED
-          debug %boolean; #IMPLIED
-          suffix CDATA #IMPLIED
-          iashome CDATA #IMPLIED>
-
-<!ELEMENT jonas (classpath)*>
-<!ATTLIST jonas
-          id ID #IMPLIED
-          jonasroot CDATA #IMPLIED
-          keepgeneric %boolean; #IMPLIED
-          additionalargs CDATA #IMPLIED
-          javac CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          orb CDATA #IMPLIED
-          jarsuffix CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          genericjarsuffix CDATA #IMPLIED
-          nogenic %boolean; #IMPLIED
-          rmicopts CDATA #IMPLIED
-          javacopts CDATA #IMPLIED
-          novalidation %boolean; #IMPLIED
-          keepgenerated %boolean; #IMPLIED
-          nocompil %boolean; #IMPLIED
-          secpropag %boolean; #IMPLIED>
-
-<!ELEMENT support (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST support
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT websphere (classpath | wasclasspath)*>
-<!ATTLIST websphere
-          id ID #IMPLIED
-          newcmp %boolean; #IMPLIED
-          ejbdtd CDATA #IMPLIED
-          rmicoptions CDATA #IMPLIED
-          noinform %boolean; #IMPLIED
-          rebuild %boolean; #IMPLIED
-          suffix CDATA #IMPLIED
-          quiet %boolean; #IMPLIED
-          dbschema CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          ejbdeploy %boolean; #IMPLIED
-          use35 %boolean; #IMPLIED
-          tempdir CDATA #IMPLIED
-          novalidate %boolean; #IMPLIED
-          codegen %boolean; #IMPLIED
-          dbvendor (SQL92 | SQL99 | DB2UDBWIN_V71 | DB2UDBOS390_V6 | DB2UDBAS400_V4R5 | ORACLE_V8 | INFORMIX_V92 | SYBASE_V1192 | MSSQLSERVER_V7 | MYSQL_V323) #IMPLIED
-          classpath CDATA #IMPLIED
-          wasclasspath CDATA #IMPLIED
-          oldcmp %boolean; #IMPLIED
-          dbname CDATA #IMPLIED
-          keepgeneric %boolean; #IMPLIED
-          trace %boolean; #IMPLIED
-          nowarn %boolean; #IMPLIED
-          genericjarsuffix CDATA #IMPLIED>
-
-<!ELEMENT wasclasspath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST wasclasspath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT war (patternset | exclude | include | custom | present | none | not | manifest | type | metainf | modified | or | contains | depend | lib | fileset | different | size | majority | containsregexp | indexjars | filename | selector | includesfile | zipgroupfileset | zipfileset | classes | date | excludesfile | webinf | depth | and)*>
-<!ATTLIST war
-          id ID #IMPLIED
-          keepcompression %boolean; #IMPLIED
-          whenempty (fail | skip | create) #IMPLIED
-          duplicate (add | preserve | fail) #IMPLIED
-          roundup %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          basedir CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          manifest CDATA #IMPLIED
-          jarfile CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          index %boolean; #IMPLIED
-          update %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          destfile CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          webxml CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          compress %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          manifestencoding CDATA #IMPLIED
-          filesonly %boolean; #IMPLIED
-          warfile CDATA #IMPLIED
-          file CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          filesetmanifest (skip | merge | mergewithoutmain) #IMPLIED
-          zipfile CDATA #IMPLIED>
-
-<!ELEMENT manifest (attribute | section)*>
-<!ATTLIST manifest
-          id ID #IMPLIED>
-
-<!ELEMENT section (attribute)*>
-<!ATTLIST section
-          id ID #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT metainf (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST metainf
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          filemode CDATA #IMPLIED
-          prefix CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          fullpath CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          dirmode CDATA #IMPLIED>
-
-<!ELEMENT lib (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST lib
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          filemode CDATA #IMPLIED
-          prefix CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          fullpath CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          dirmode CDATA #IMPLIED>
-
-<!ELEMENT indexjars (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST indexjars
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT classes (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST classes
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          filemode CDATA #IMPLIED
-          prefix CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          fullpath CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          dirmode CDATA #IMPLIED>
-
-<!ELEMENT webinf (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST webinf
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          filemode CDATA #IMPLIED
-          prefix CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          fullpath CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          dirmode CDATA #IMPLIED>
-
-<!ELEMENT rename EMPTY>
-<!ATTLIST rename
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          replace CDATA #IMPLIED
-          description CDATA #IMPLIED
-          src CDATA #IMPLIED>
-
-<!ELEMENT sequential (%tasks;)*>
-<!ATTLIST sequential
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT serverdeploy (weblogic | generic | jonas)*>
-<!ATTLIST serverdeploy
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          action CDATA #IMPLIED
-          source CDATA #IMPLIED>
-
-<!ELEMENT generic (arg | classpath | jvmarg)*>
-<!ATTLIST generic
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          password CDATA #IMPLIED
-          server CDATA #IMPLIED
-          classname CDATA #IMPLIED
-          username CDATA #IMPLIED>
-
-<!ELEMENT property (classpath)*>
-<!ATTLIST property
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          url CDATA #IMPLIED
-          name CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          file CDATA #IMPLIED
-          userproperty %boolean; #IMPLIED
-          resource CDATA #IMPLIED
-          environment CDATA #IMPLIED
-          prefix CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          taskname CDATA #IMPLIED
-          value CDATA #IMPLIED
-          location CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT subant (reference | fileset | buildpathelement | dirset | buildpath | propertyset | filelist | property)*>
-<!ATTLIST subant
-          id ID #IMPLIED
-          genericantfile CDATA #IMPLIED
-          output CDATA #IMPLIED
-          inheritall %boolean; #IMPLIED
-          inheritrefs %boolean; #IMPLIED
-          antfile CDATA #IMPLIED
-          buildpathref IDREF #IMPLIED
-          target CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          buildpath CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT buildpathelement EMPTY>
-<!ATTLIST buildpathelement
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT buildpath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST buildpath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT move (filterchain | fileset | filterset | mapper)*>
-<!ATTLIST move
-          id ID #IMPLIED
-          flatten %boolean; #IMPLIED
-          tofile CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          todir CDATA #IMPLIED
-          file CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          includeemptydirs %boolean; #IMPLIED
-          overwrite %boolean; #IMPLIED
-          enablemultiplemappings %boolean; #IMPLIED
-          granularity CDATA #IMPLIED
-          outputencoding CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          preservelastmodified %boolean; #IMPLIED
-          filtering %boolean; #IMPLIED>
-
-<!ELEMENT ildasm EMPTY>
-<!ATTLIST ildasm
-          id ID #IMPLIED
-          assembler %boolean; #IMPLIED
-          encoding (ascii | utf8 | unicode) #IMPLIED
-          executable CDATA #IMPLIED
-          progressbar %boolean; #IMPLIED
-          linenumbers %boolean; #IMPLIED
-          rawexceptionhandling %boolean; #IMPLIED
-          showsource %boolean; #IMPLIED
-          metadata %boolean; #IMPLIED
-          destfile CDATA #IMPLIED
-          srcfile CDATA #IMPLIED
-          bytes %boolean; #IMPLIED
-          resourcedir CDATA #IMPLIED
-          quoteallnames %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          header %boolean; #IMPLIED
-          visibility CDATA #IMPLIED
-          sourcefile CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          item CDATA #IMPLIED>
-
-<!ELEMENT copydir (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST copydir
-          id ID #IMPLIED
-          flatten %boolean; #IMPLIED
-          src CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          dest CDATA #IMPLIED
-          description CDATA #IMPLIED
-          forceoverwrite %boolean; #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          filtering %boolean; #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT cccheckin EMPTY>
-<!ATTLIST cccheckin
-          id ID #IMPLIED
-          preservetime %boolean; #IMPLIED
-          viewpath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          nowarn %boolean; #IMPLIED
-          failonerr %boolean; #IMPLIED
-          objselect CDATA #IMPLIED
-          identical %boolean; #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          keepcopy %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          commentfile CDATA #IMPLIED>
-
-<!ELEMENT ccunlock EMPTY>
-<!ATTLIST ccunlock
-          id ID #IMPLIED
-          objsel CDATA #IMPLIED
-          pname CDATA #IMPLIED
-          viewpath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          failonerr %boolean; #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          objselect CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT wljspc (patternset | exclude | include | custom | present | none | not | type | modified | or | contains | depend | classpath | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST wljspc
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          dest CDATA #IMPLIED
-          package CDATA #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT fixcrlf (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST fixcrlf
-          id ID #IMPLIED
-          tab (add | asis | remove) #IMPLIED
-          excludes CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          cr (add | asis | remove) #IMPLIED
-          destdir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          eol (asis | cr | lf | crlf | mac | unix | dos) #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          javafiles %boolean; #IMPLIED
-          eof (add | asis | remove) #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          tablength CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          fixlast %boolean; #IMPLIED
-          includesfile CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          srcdir CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED>
-
-<!ELEMENT telnet (write | read)*>
-<!ATTLIST telnet
-          id ID #IMPLIED
-          userid CDATA #IMPLIED
-          port CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          password CDATA #IMPLIED
-          initialcr %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          timeout CDATA #IMPLIED
-          server CDATA #IMPLIED>
-
-<!ELEMENT sosget EMPTY>
-<!ATTLIST sosget
-          id ID #IMPLIED
-          soshome CDATA #IMPLIED
-          file CDATA #IMPLIED
-          recursive %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          vssserverpath CDATA #IMPLIED
-          username CDATA #IMPLIED
-          sosserverpath CDATA #IMPLIED
-          projectpath CDATA #IMPLIED
-          version CDATA #IMPLIED
-          nocompress %boolean; #IMPLIED
-          nocache %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          label CDATA #IMPLIED
-          description CDATA #IMPLIED
-          localpath CDATA #IMPLIED
-          soscmd CDATA #IMPLIED
-          password CDATA #IMPLIED>
-
-<!ELEMENT pathconvert (path | map | mapper)*>
-<!ATTLIST pathconvert
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          pathsep CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          dirsep CDATA #IMPLIED
-          setonempty %boolean; #IMPLIED
-          property CDATA #IMPLIED
-          targetos CDATA #IMPLIED>
-
-<!ELEMENT map EMPTY>
-<!ATTLIST map
-          id ID #IMPLIED
-          to CDATA #IMPLIED
-          from CDATA #IMPLIED>
-
-<!ELEMENT record EMPTY>
-<!ATTLIST record
-          id ID #IMPLIED
-          append %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          name CDATA #IMPLIED
-          loglevel (error | warn | info | verbose | debug) #IMPLIED
-          description CDATA #IMPLIED
-          emacsmode %boolean; #IMPLIED
-          action (start | stop) #IMPLIED>
-
-<!ELEMENT p4sync EMPTY>
-<!ATTLIST p4sync
-          id ID #IMPLIED
-          force CDATA #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          label CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED>
-
-<!ELEMENT exec (arg | redirector | env)*>
-<!ATTLIST exec
-          id ID #IMPLIED
-          resultproperty CDATA #IMPLIED
-          failifexecutionfails %boolean; #IMPLIED
-          command CDATA #IMPLIED
-          executable CDATA #IMPLIED
-          os CDATA #IMPLIED
-          errorproperty CDATA #IMPLIED
-          output CDATA #IMPLIED
-          timeout CDATA #IMPLIED
-          spawn %boolean; #IMPLIED
-          input CDATA #IMPLIED
-          inputstring CDATA #IMPLIED
-          logerror %boolean; #IMPLIED
-          dir CDATA #IMPLIED
-          error CDATA #IMPLIED
-          description CDATA #IMPLIED
-          outputproperty CDATA #IMPLIED
-          resolveexecutable %boolean; #IMPLIED
-          failonerror %boolean; #IMPLIED
-          append %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          newenvironment %boolean; #IMPLIED
-          vmlauncher %boolean; #IMPLIED>
-
-<!ELEMENT ccmklabel EMPTY>
-<!ATTLIST ccmklabel
-          id ID #IMPLIED
-          recurse %boolean; #IMPLIED
-          replace %boolean; #IMPLIED
-          viewpath CDATA #IMPLIED
-          typename CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          version CDATA #IMPLIED
-          failonerr %boolean; #IMPLIED
-          objselect CDATA #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          vob CDATA #IMPLIED
-          description CDATA #IMPLIED
-          commentfile CDATA #IMPLIED>
-
-<!ELEMENT p4edit EMPTY>
-<!ATTLIST p4edit
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          change CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED>
-
-<!ELEMENT maudit (fileset | jvmarg | classpath | rulespath | searchpath | sourcepath)*>
-<!ATTLIST maudit
-          id ID #IMPLIED
-          tofile CDATA #IMPLIED
-          exit %boolean; #IMPLIED
-          offsets %boolean; #IMPLIED
-          quiet %boolean; #IMPLIED
-          unused %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          maxmemory CDATA #IMPLIED
-          fix %boolean; #IMPLIED
-          metamatahome CDATA #IMPLIED
-          list %boolean; #IMPLIED
-          home CDATA #IMPLIED
-          fullsemanticize %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT rulespath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST rulespath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT searchpath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST searchpath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT antlr (jvmarg | classpath)*>
-<!ATTLIST antlr
-          id ID #IMPLIED
-          debug %boolean; #IMPLIED
-          outputdirectory CDATA #IMPLIED
-          fork %boolean; #IMPLIED
-          dir CDATA #IMPLIED
-          trace %boolean; #IMPLIED
-          tracetreewalker %boolean; #IMPLIED
-          html %boolean; #IMPLIED
-          tracelexer %boolean; #IMPLIED
-          diagnostic %boolean; #IMPLIED
-          traceparser %boolean; #IMPLIED
-          target CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          glib CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT netrexxc (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST netrexxc
-          id ID #IMPLIED
-          excludes CDATA #IMPLIED
-          verbose (verbose | verbose0 | verbose1 | verbose2 | verbose3 | verbose4 | verbose5 | noverbose) #IMPLIED
-          keep %boolean; #IMPLIED
-          comments %boolean; #IMPLIED
-          strictimport %boolean; #IMPLIED
-          sourcedir %boolean; #IMPLIED
-          diag %boolean; #IMPLIED
-          compile %boolean; #IMPLIED
-          binary %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          suppressmethodargumentnotused %boolean; #IMPLIED
-          suppressvariablenotused %boolean; #IMPLIED
-          strictsignal %boolean; #IMPLIED
-          trace (trace | trace1 | trace2 | notrace) #IMPLIED
-          destdir CDATA #IMPLIED
-          console %boolean; #IMPLIED
-          replace %boolean; #IMPLIED
-          classpath CDATA #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          format %boolean; #IMPLIED
-          explicit %boolean; #IMPLIED
-          includesfile CDATA #IMPLIED
-          suppressprivatepropertynotused %boolean; #IMPLIED
-          strictargs %boolean; #IMPLIED
-          suppressdeprecation %boolean; #IMPLIED
-          strictcase %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          savelog %boolean; #IMPLIED
-          logo %boolean; #IMPLIED
-          utf8 %boolean; #IMPLIED
-          strictprops %boolean; #IMPLIED
-          srcdir CDATA #IMPLIED
-          java %boolean; #IMPLIED
-          suppressexceptionnotsignalled %boolean; #IMPLIED
-          crossref %boolean; #IMPLIED
-          time %boolean; #IMPLIED
-          symbols %boolean; #IMPLIED
-          excludesfile CDATA #IMPLIED
-          strictassign %boolean; #IMPLIED
-          compact %boolean; #IMPLIED
-          decimal %boolean; #IMPLIED>
-
-<!ELEMENT ftp (fileset)*>
-<!ATTLIST ftp
-          id ID #IMPLIED
-          binary %boolean; #IMPLIED
-          password CDATA #IMPLIED
-          userid CDATA #IMPLIED
-          timediffauto %boolean; #IMPLIED
-          remotedir CDATA #IMPLIED
-          separator CDATA #IMPLIED
-          port CDATA #IMPLIED
-          skipfailedtransfers %boolean; #IMPLIED
-          chmod CDATA #IMPLIED
-          timediffmillis CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          server CDATA #IMPLIED
-          newer %boolean; #IMPLIED
-          action (send | put | recv | get | del | delete | list | mkdir | chmod | rmdir) #IMPLIED
-          description CDATA #IMPLIED
-          passive %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          preservelastmodified %boolean; #IMPLIED
-          listing CDATA #IMPLIED
-          umask CDATA #IMPLIED
-          ignorenoncriticalerrors %boolean; #IMPLIED
-          depends %boolean; #IMPLIED>
-
-<!ELEMENT jpcovreport (reference | coveragepath | sourcepath)*>
-<!ATTLIST jpcovreport
-          id ID #IMPLIED
-          snapshot CDATA #IMPLIED
-          tofile CDATA #IMPLIED
-          filters CDATA #IMPLIED
-          percent CDATA #IMPLIED
-          home CDATA #IMPLIED
-          type (executive | summary | detailed | verydetailed) #IMPLIED
-          taskname CDATA #IMPLIED
-          format (html | text | xml) #IMPLIED
-          includesource %boolean; #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT coveragepath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST coveragepath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT execon (mapper | srcfile | targetfile | redirector | filelist | env | fileset | dirset | arg)*>
-<!ATTLIST execon
-          id ID #IMPLIED
-          resultproperty CDATA #IMPLIED
-          skipemptyfilesets %boolean; #IMPLIED
-          failifexecutionfails %boolean; #IMPLIED
-          command CDATA #IMPLIED
-          type (file | dir | both) #IMPLIED
-          maxparallel CDATA #IMPLIED
-          executable CDATA #IMPLIED
-          os CDATA #IMPLIED
-          errorproperty CDATA #IMPLIED
-          output CDATA #IMPLIED
-          timeout CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          spawn %boolean; #IMPLIED
-          input CDATA #IMPLIED
-          inputstring CDATA #IMPLIED
-          addsourcefile %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          logerror %boolean; #IMPLIED
-          dir CDATA #IMPLIED
-          forwardslash %boolean; #IMPLIED
-          error CDATA #IMPLIED
-          description CDATA #IMPLIED
-          outputproperty CDATA #IMPLIED
-          resolveexecutable %boolean; #IMPLIED
-          append %boolean; #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          ignoremissing %boolean; #IMPLIED
-          vmlauncher %boolean; #IMPLIED
-          newenvironment %boolean; #IMPLIED
-          relative %boolean; #IMPLIED
-          parallel %boolean; #IMPLIED>
-
-<!ELEMENT ccmcheckout (fileset)*>
-<!ATTLIST ccmcheckout
-          id ID #IMPLIED
-          ccmaction CDATA #IMPLIED
-          task CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED
-          ccmdir CDATA #IMPLIED
-          comment CDATA #IMPLIED>
-
-<!ELEMENT ant (reference | propertyset | property)*>
-<!ATTLIST ant
-          id ID #IMPLIED
-          output CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          inheritall %boolean; #IMPLIED
-          dir CDATA #IMPLIED
-          inheritrefs %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          antfile CDATA #IMPLIED
-          target CDATA #IMPLIED>
-
-<!ELEMENT xmlvalidate (fileset | classpath | attribute | dtd | xmlcatalog | property)*>
-<!ATTLIST xmlvalidate
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          file CDATA #IMPLIED
-          classname CDATA #IMPLIED
-          lenient %boolean; #IMPLIED
-          warn %boolean; #IMPLIED
-          classpathref IDREF #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT xslt (patternset | exclude | include | custom | present | none | not | type | factory | modified | param | or | contains | depend | classpath | different | size | majority | containsregexp | filename | xmlcatalog | selector | includesfile | outputproperty | mapper | date | excludesfile | depth | and)*>
-<!ATTLIST xslt
-          id ID #IMPLIED
-          force %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          processor CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          basedir CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          scanincludeddirectories %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          extension CDATA #IMPLIED
-          in CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          reloadstylesheet %boolean; #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          out CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          style CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED>
-
-<!ELEMENT p4resolve EMPTY>
-<!ATTLIST p4resolve
-          id ID #IMPLIED
-          forcetextmode %boolean; #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          markersforall %boolean; #IMPLIED
-          simulationmode %boolean; #IMPLIED
-          view CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          errormessage CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          resolvemode CDATA #IMPLIED
-          redoall %boolean; #IMPLIED>
-
-<!ELEMENT iplanet-ejbc (classpath)*>
-<!ATTLIST iplanet-ejbc
-          id ID #IMPLIED
-          ejbdescriptor CDATA #IMPLIED
-          debug %boolean; #IMPLIED
-          classpath CDATA #IMPLIED
-          iasdescriptor CDATA #IMPLIED
-          iashome CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          description CDATA #IMPLIED
-          keepgenerated %boolean; #IMPLIED>
-
-<!ELEMENT ccmcheckintask (fileset)*>
-<!ATTLIST ccmcheckintask
-          id ID #IMPLIED
-          ccmaction CDATA #IMPLIED
-          task CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED
-          ccmdir CDATA #IMPLIED
-          comment CDATA #IMPLIED>
-
-<!ELEMENT gzip EMPTY>
-<!ATTLIST gzip
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          zipfile CDATA #IMPLIED
-          description CDATA #IMPLIED
-          src CDATA #IMPLIED
-          destfile CDATA #IMPLIED>
-
-<!ELEMENT native2ascii (patternset | exclude | include | custom | present | none | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | mapper | date | excludesfile | depth | and)*>
-<!ATTLIST native2ascii
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          ext CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          reverse %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          dest CDATA #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT ccrmtype EMPTY>
-<!ATTLIST ccrmtype
-          id ID #IMPLIED
-          viewpath CDATA #IMPLIED
-          typename CDATA #IMPLIED
-          rmall %boolean; #IMPLIED
-          comment CDATA #IMPLIED
-          ignore %boolean; #IMPLIED
-          typekind CDATA #IMPLIED
-          failonerr %boolean; #IMPLIED
-          objselect CDATA #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          vob CDATA #IMPLIED
-          description CDATA #IMPLIED
-          commentfile CDATA #IMPLIED>
-
-<!ELEMENT starteam EMPTY>
-<!ATTLIST starteam
-          id ID #IMPLIED
-          targetfolderabsolute %boolean; #IMPLIED
-          force %boolean; #IMPLIED
-          recursion %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          username CDATA #IMPLIED
-          targetfolder CDATA #IMPLIED
-          viewname CDATA #IMPLIED
-          projectname CDATA #IMPLIED
-          servername CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          password CDATA #IMPLIED
-          serverport CDATA #IMPLIED
-          foldername CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT ear (patternset | exclude | include | custom | present | none | not | manifest | type | metainf | modified | or | contains | depend | fileset | different | size | majority | containsregexp | archives | indexjars | filename | selector | includesfile | zipgroupfileset | zipfileset | date | excludesfile | depth | and)*>
-<!ATTLIST ear
-          id ID #IMPLIED
-          keepcompression %boolean; #IMPLIED
-          whenempty (fail | skip | create) #IMPLIED
-          duplicate (add | preserve | fail) #IMPLIED
-          roundup %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          basedir CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          manifest CDATA #IMPLIED
-          jarfile CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          index %boolean; #IMPLIED
-          update %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          destfile CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          earfile CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          appxml CDATA #IMPLIED
-          compress %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          manifestencoding CDATA #IMPLIED
-          filesonly %boolean; #IMPLIED
-          file CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          filesetmanifest (skip | merge | mergewithoutmain) #IMPLIED
-          zipfile CDATA #IMPLIED>
-
-<!ELEMENT archives (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST archives
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          filemode CDATA #IMPLIED
-          prefix CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          fullpath CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          dirmode CDATA #IMPLIED>
-
-<!ELEMENT input (#PCDATA)>
-<!ATTLIST input
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          addproperty CDATA #IMPLIED
-          description CDATA #IMPLIED
-          defaultvalue CDATA #IMPLIED
-          validargs CDATA #IMPLIED
-          message CDATA #IMPLIED>
-
-<!ELEMENT presetdef (%tasks;)*>
-<!ATTLIST presetdef
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          name CDATA #IMPLIED
-          description CDATA #IMPLIED
-          uri CDATA #IMPLIED>
-
-<!ELEMENT rmic (patternset | exclude | include | custom | present | none | extdirs | not | type | modified | or | contains | depend | classpath | different | size | majority | containsregexp | filename | selector | includesfile | compilerarg | date | excludesfile | depth | and)*>
-<!ATTLIST rmic
-          id ID #IMPLIED
-          verify %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          iiop %boolean; #IMPLIED
-          idlopts CDATA #IMPLIED
-          extdirs CDATA #IMPLIED
-          sourcebase CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          base CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          includeantruntime %boolean; #IMPLIED
-          includejavaruntime %boolean; #IMPLIED
-          classpath CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          debug %boolean; #IMPLIED
-          compiler CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          idl %boolean; #IMPLIED
-          iiopopts CDATA #IMPLIED
-          classname CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          filtering %boolean; #IMPLIED
-          stubversion CDATA #IMPLIED>
-
-<!ELEMENT compilerarg EMPTY>
-<!ATTLIST compilerarg
-          id ID #IMPLIED
-          line CDATA #IMPLIED
-          implementation CDATA #IMPLIED
-          file CDATA #IMPLIED
-          compiler CDATA #IMPLIED
-          pathref IDREF #IMPLIED
-          value CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT checksum (patternset | exclude | include | custom | present | none | not | type | modified | or | contains | depend | fileset | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST checksum
-          id ID #IMPLIED
-          excludes CDATA #IMPLIED
-          fileext CDATA #IMPLIED
-          totalproperty CDATA #IMPLIED
-          property CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          readbuffersize CDATA #IMPLIED
-          verifyproperty CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          todir CDATA #IMPLIED
-          algorithm CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          provider CDATA #IMPLIED
-          forceoverwrite %boolean; #IMPLIED>
-
-<!ELEMENT mail (fileset | bcc | message | replyto | cc | to | from)*>
-<!ATTLIST mail
-          id ID #IMPLIED
-          cclist CDATA #IMPLIED
-          messagefile CDATA #IMPLIED
-          password CDATA #IMPLIED
-          encoding (auto | mime | uu | plain) #IMPLIED
-          charset CDATA #IMPLIED
-          files CDATA #IMPLIED
-          subject CDATA #IMPLIED
-          message CDATA #IMPLIED
-          ssl %boolean; #IMPLIED
-          tolist CDATA #IMPLIED
-          mailport CDATA #IMPLIED
-          messagemimetype CDATA #IMPLIED
-          bcclist CDATA #IMPLIED
-          from CDATA #IMPLIED
-          description CDATA #IMPLIED
-          replyto CDATA #IMPLIED
-          mailhost CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          includefilenames %boolean; #IMPLIED
-          user CDATA #IMPLIED>
-
-<!ELEMENT bcc EMPTY>
-<!ATTLIST bcc
-          id ID #IMPLIED
-          address CDATA #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT message (#PCDATA)>
-<!ATTLIST message
-          id ID #IMPLIED
-          mimetype CDATA #IMPLIED
-          src CDATA #IMPLIED
-          charset CDATA #IMPLIED>
-
-<!ELEMENT replyto EMPTY>
-<!ATTLIST replyto
-          id ID #IMPLIED
-          address CDATA #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT cc EMPTY>
-<!ATTLIST cc
-          id ID #IMPLIED
-          address CDATA #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT to EMPTY>
-<!ATTLIST to
-          id ID #IMPLIED
-          address CDATA #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT from EMPTY>
-<!ATTLIST from
-          id ID #IMPLIED
-          address CDATA #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT loadfile (filterchain)*>
-<!ATTLIST loadfile
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          property CDATA #IMPLIED
-          srcfile CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT vsscheckout EMPTY>
-<!ATTLIST vsscheckout
-          id ID #IMPLIED
-          ssdir CDATA #IMPLIED
-          recursive %boolean; #IMPLIED
-          date CDATA #IMPLIED
-          autoresponse CDATA #IMPLIED
-          vsspath CDATA #IMPLIED
-          getlocalcopy %boolean; #IMPLIED
-          version CDATA #IMPLIED
-          serverpath CDATA #IMPLIED
-          login CDATA #IMPLIED
-          filetimestamp (current | modified | updated) #IMPLIED
-          taskname CDATA #IMPLIED
-          label CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          localpath CDATA #IMPLIED
-          writablefiles (replace | skip | fail) #IMPLIED>
-
-<!ELEMENT stylebook (classpath | sysproperty | redirector | bootclasspath | syspropertyset | env | permissions | jvmarg | arg | assertions)*>
-<!ATTLIST stylebook
-          id ID #IMPLIED
-          resultproperty CDATA #IMPLIED
-          jvmargs CDATA #IMPLIED
-          loaderconfig CDATA #IMPLIED
-          args CDATA #IMPLIED
-          fork %boolean; #IMPLIED
-          maxmemory CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          jar CDATA #IMPLIED
-          errorproperty CDATA #IMPLIED
-          targetdirectory CDATA #IMPLIED
-          output CDATA #IMPLIED
-          timeout CDATA #IMPLIED
-          spawn %boolean; #IMPLIED
-          skindirectory CDATA #IMPLIED
-          input CDATA #IMPLIED
-          jvm CDATA #IMPLIED
-          inputstring CDATA #IMPLIED
-          book CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          logerror %boolean; #IMPLIED
-          dir CDATA #IMPLIED
-          error CDATA #IMPLIED
-          description CDATA #IMPLIED
-          jvmversion CDATA #IMPLIED
-          outputproperty CDATA #IMPLIED
-          append %boolean; #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          newenvironment %boolean; #IMPLIED
-          classname CDATA #IMPLIED>
-
-<!ELEMENT soscheckin EMPTY>
-<!ATTLIST soscheckin
-          id ID #IMPLIED
-          soshome CDATA #IMPLIED
-          file CDATA #IMPLIED
-          recursive %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          vssserverpath CDATA #IMPLIED
-          username CDATA #IMPLIED
-          sosserverpath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          projectpath CDATA #IMPLIED
-          nocache %boolean; #IMPLIED
-          nocompress %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          localpath CDATA #IMPLIED
-          soscmd CDATA #IMPLIED
-          password CDATA #IMPLIED>
-
-<!ELEMENT mimemail (fileset | bcc | message | replyto | cc | to | from)*>
-<!ATTLIST mimemail
-          id ID #IMPLIED
-          cclist CDATA #IMPLIED
-          messagefile CDATA #IMPLIED
-          password CDATA #IMPLIED
-          encoding (auto | mime | uu | plain) #IMPLIED
-          charset CDATA #IMPLIED
-          files CDATA #IMPLIED
-          subject CDATA #IMPLIED
-          message CDATA #IMPLIED
-          ssl %boolean; #IMPLIED
-          tolist CDATA #IMPLIED
-          mailport CDATA #IMPLIED
-          messagemimetype CDATA #IMPLIED
-          bcclist CDATA #IMPLIED
-          from CDATA #IMPLIED
-          description CDATA #IMPLIED
-          replyto CDATA #IMPLIED
-          mailhost CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          includefilenames %boolean; #IMPLIED
-          user CDATA #IMPLIED>
-
-<!ELEMENT stlabel EMPTY>
-<!ATTLIST stlabel
-          id ID #IMPLIED
-          lastbuild CDATA #IMPLIED
-          url CDATA #IMPLIED
-          username CDATA #IMPLIED
-          viewname CDATA #IMPLIED
-          projectname CDATA #IMPLIED
-          revisionlabel %boolean; #IMPLIED
-          servername CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          label CDATA #IMPLIED
-          serverport CDATA #IMPLIED
-          description CDATA #IMPLIED
-          password CDATA #IMPLIED
-          buildlabel %boolean; #IMPLIED>
-
-<!ELEMENT gunzip EMPTY>
-<!ATTLIST gunzip
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          description CDATA #IMPLIED
-          src CDATA #IMPLIED>
-
-<!ELEMENT concat (#PCDATA | filterchain | fileset | filelist | path | footer | header)*>
-<!ATTLIST concat
-          id ID #IMPLIED
-          force %boolean; #IMPLIED
-          encoding CDATA #IMPLIED
-          append %boolean; #IMPLIED
-          destfile CDATA #IMPLIED
-          binary %boolean; #IMPLIED
-          eol (asis | cr | lf | crlf | mac | unix | dos) #IMPLIED
-          outputencoding CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          fixlastline %boolean; #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT cab (patternset | exclude | include | custom | present | none | not | type | modified | or | contains | depend | fileset | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST cab
-          id ID #IMPLIED
-          cabfile CDATA #IMPLIED
-          compress %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          basedir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          options CDATA #IMPLIED>
-
-<!ELEMENT touch (fileset | filelist)*>
-<!ATTLIST touch
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          millis CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED
-          datetime CDATA #IMPLIED>
-
-<!ELEMENT parallel (%tasks; | daemons)*>
-<!ATTLIST parallel
-          id ID #IMPLIED
-          pollinterval CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          threadsperprocessor CDATA #IMPLIED
-          timeout CDATA #IMPLIED
-          threadcount CDATA #IMPLIED
-          failonany %boolean; #IMPLIED>
-
-<!ELEMENT daemons (%tasks;)*>
-<!ATTLIST daemons
-          id ID #IMPLIED>
-
-<!ELEMENT splash EMPTY>
-<!ATTLIST splash
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          user CDATA #IMPLIED
-          proxy CDATA #IMPLIED
-          imageurl CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          password CDATA #IMPLIED
-          showduration CDATA #IMPLIED
-          useproxy %boolean; #IMPLIED>
-
-<!ELEMENT antcall (reference | propertyset | param)*>
-<!ATTLIST antcall
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          inheritall %boolean; #IMPLIED
-          inheritrefs %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          target CDATA #IMPLIED>
-
-<!ELEMENT ccmkbl EMPTY>
-<!ATTLIST ccmkbl
-          id ID #IMPLIED
-          viewpath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          nlabel %boolean; #IMPLIED
-          full %boolean; #IMPLIED
-          nowarn %boolean; #IMPLIED
-          failonerr %boolean; #IMPLIED
-          objselect CDATA #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          identical %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          baselinerootname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          commentfile CDATA #IMPLIED>
-
-<!ELEMENT cccheckout EMPTY>
-<!ATTLIST cccheckout
-          id ID #IMPLIED
-          reserved %boolean; #IMPLIED
-          viewpath CDATA #IMPLIED
-          out CDATA #IMPLIED
-          notco %boolean; #IMPLIED
-          nodata %boolean; #IMPLIED
-          comment CDATA #IMPLIED
-          version %boolean; #IMPLIED
-          nowarn %boolean; #IMPLIED
-          failonerr %boolean; #IMPLIED
-          objselect CDATA #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          branch CDATA #IMPLIED
-          description CDATA #IMPLIED
-          commentfile CDATA #IMPLIED>
-
-<!ELEMENT typedef (classpath)*>
-<!ATTLIST typedef
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          uri CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          file CDATA #IMPLIED
-          classname CDATA #IMPLIED
-          resource CDATA #IMPLIED
-          adaptto CDATA #IMPLIED
-          onerror (fail | report | ignore) #IMPLIED
-          loaderref IDREF #IMPLIED
-          classpathref IDREF #IMPLIED
-          taskname CDATA #IMPLIED
-          adapter CDATA #IMPLIED
-          format (properties | xml) #IMPLIED
-          description CDATA #IMPLIED
-          reverseloader %boolean; #IMPLIED>
-
-<!ELEMENT p4have EMPTY>
-<!ATTLIST p4have
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED>
-
-<!ELEMENT xmlproperty EMPTY>
-<!ATTLIST xmlproperty
-          id ID #IMPLIED
-          file CDATA #IMPLIED
-          semanticattributes %boolean; #IMPLIED
-          keeproot %boolean; #IMPLIED
-          prefix CDATA #IMPLIED
-          collapseattributes %boolean; #IMPLIED
-          validate %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          rootdirectory CDATA #IMPLIED
-          includesemanticattribute %boolean; #IMPLIED>
-
-<!ELEMENT import EMPTY>
-<!ATTLIST import
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          optional %boolean; #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT copy (filterchain | fileset | filterset | mapper)*>
-<!ATTLIST copy
-          id ID #IMPLIED
-          flatten %boolean; #IMPLIED
-          tofile CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          todir CDATA #IMPLIED
-          file CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          includeemptydirs %boolean; #IMPLIED
-          overwrite %boolean; #IMPLIED
-          enablemultiplemappings %boolean; #IMPLIED
-          granularity CDATA #IMPLIED
-          outputencoding CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          preservelastmodified %boolean; #IMPLIED
-          filtering %boolean; #IMPLIED>
-
-<!ELEMENT jsharpc (patternset | exclude | include | custom | present | none | resource | define | not | type | modified | reference | src | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST jsharpc
-          id ID #IMPLIED
-          references CDATA #IMPLIED
-          useresponsefile %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          mainclass CDATA #IMPLIED
-          extraoptions CDATA #IMPLIED
-          additionalmodules CDATA #IMPLIED
-          win32icon CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          executable CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          utf8output %boolean; #IMPLIED
-          includedefaultreferences %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          optimize %boolean; #IMPLIED
-          targettype (exe | library | module | winexe) #IMPLIED
-          destfile CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          win32res CDATA #IMPLIED
-          baseaddress CDATA #IMPLIED
-          debug %boolean; #IMPLIED
-          securescoping %boolean; #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          purejava %boolean; #IMPLIED
-          includesfile CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          warnlevel CDATA #IMPLIED
-          srcdir CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          referencefiles CDATA #IMPLIED>
-
-<!ELEMENT symlink (fileset)*>
-<!ATTLIST symlink
-          id ID #IMPLIED
-          linkfilename CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          overwrite %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          link CDATA #IMPLIED
-          action CDATA #IMPLIED
-          resource CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT antstructure EMPTY>
-<!ATTLIST antstructure
-          id ID #IMPLIED
-          output CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT script (#PCDATA)>
-<!ATTLIST script
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          src CDATA #IMPLIED
-          language CDATA #IMPLIED>
-
-<!ELEMENT ccmcreatetask EMPTY>
-<!ATTLIST ccmcreatetask
-          id ID #IMPLIED
-          subsystem CDATA #IMPLIED
-          task CDATA #IMPLIED
-          platform CDATA #IMPLIED
-          resolver CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          ccmaction CDATA #IMPLIED
-          ccmdir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          release CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT rpm EMPTY>
-<!ATTLIST rpm
-          id ID #IMPLIED
-          removesource %boolean; #IMPLIED
-          output CDATA #IMPLIED
-          command CDATA #IMPLIED
-          cleanbuilddir %boolean; #IMPLIED
-          removespec %boolean; #IMPLIED
-          error CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          specfile CDATA #IMPLIED
-          topdir CDATA #IMPLIED
-          rpmbuildcommand CDATA #IMPLIED>
-
-<!ELEMENT delete (patternset | exclude | include | custom | present | none | not | type | modified | or | contains | depend | fileset | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST delete
-          id ID #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          quiet %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          includeemptydirs %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          deleteonexit %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT replace (patternset | exclude | include | custom | present | none | not | type | modified | replacefilter | or | contains | depend | replacetoken | different | size | majority | containsregexp | filename | selector | includesfile | replacevalue | date | excludesfile | depth | and)*>
-<!ATTLIST replace
-          id ID #IMPLIED
-          encoding CDATA #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          token CDATA #IMPLIED
-          propertyfile CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          summary %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          value CDATA #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          replacefilterfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT replacefilter EMPTY>
-<!ATTLIST replacefilter
-          id ID #IMPLIED
-          token CDATA #IMPLIED
-          value CDATA #IMPLIED
-          property CDATA #IMPLIED>
-
-<!ELEMENT replacetoken (#PCDATA)>
-<!ATTLIST replacetoken
-          id ID #IMPLIED>
-
-<!ELEMENT replacevalue (#PCDATA)>
-<!ATTLIST replacevalue
-          id ID #IMPLIED>
-
-<!ELEMENT mmetrics (fileset | jvmarg | classpath | path | sourcepath)*>
-<!ATTLIST mmetrics
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          metamatahome CDATA #IMPLIED
-          description CDATA #IMPLIED
-          tofile CDATA #IMPLIED
-          maxmemory CDATA #IMPLIED
-          home CDATA #IMPLIED
-          granularity (compilation-units | files | methods | types | packages) #IMPLIED>
-
-<!ELEMENT waitfor (isfalse | isreference | equals | available | not | contains | os | or | and | filesmatch | checksum | istrue | isset | socket | http | uptodate)*>
-<!ATTLIST waitfor
-          id ID #IMPLIED
-          checkeveryunit (millisecond | second | minute | hour | day | week) #IMPLIED
-          checkevery CDATA #IMPLIED
-          maxwaitunit (millisecond | second | minute | hour | day | week) #IMPLIED
-          maxwait CDATA #IMPLIED
-          timeoutproperty CDATA #IMPLIED>
-
-<!ELEMENT isfalse EMPTY>
-<!ATTLIST isfalse
-          id ID #IMPLIED
-          value %boolean; #IMPLIED>
-
-<!ELEMENT isreference EMPTY>
-<!ATTLIST isreference
-          id ID #IMPLIED
-          type CDATA #IMPLIED
-          refid IDREF #IMPLIED>
-
-<!ELEMENT equals EMPTY>
-<!ATTLIST equals
-          id ID #IMPLIED
-          trim %boolean; #IMPLIED
-          arg2 CDATA #IMPLIED
-          arg1 CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED>
-
-<!ELEMENT available (classpath | filepath)*>
-<!ATTLIST available
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          file CDATA #IMPLIED
-          classname CDATA #IMPLIED
-          resource CDATA #IMPLIED
-          ignoresystemclasses %boolean; #IMPLIED
-          type (file | dir) #IMPLIED
-          classpathref IDREF #IMPLIED
-          taskname CDATA #IMPLIED
-          value CDATA #IMPLIED
-          description CDATA #IMPLIED
-          property CDATA #IMPLIED
-          filepath CDATA #IMPLIED>
-
-<!ELEMENT filepath (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST filepath
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT os EMPTY>
-<!ATTLIST os
-          id ID #IMPLIED
-          version CDATA #IMPLIED
-          name CDATA #IMPLIED
-          family CDATA #IMPLIED
-          arch CDATA #IMPLIED>
-
-<!ELEMENT filesmatch EMPTY>
-<!ATTLIST filesmatch
-          id ID #IMPLIED
-          file2 CDATA #IMPLIED
-          file1 CDATA #IMPLIED>
-
-<!ELEMENT istrue EMPTY>
-<!ATTLIST istrue
-          id ID #IMPLIED
-          value %boolean; #IMPLIED>
-
-<!ELEMENT isset EMPTY>
-<!ATTLIST isset
-          id ID #IMPLIED
-          property CDATA #IMPLIED>
-
-<!ELEMENT socket EMPTY>
-<!ATTLIST socket
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          server CDATA #IMPLIED>
-
-<!ELEMENT http EMPTY>
-<!ATTLIST http
-          id ID #IMPLIED
-          url CDATA #IMPLIED
-          errorsbeginat CDATA #IMPLIED>
-
-<!ELEMENT uptodate (srcfiles | mapper)*>
-<!ATTLIST uptodate
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          value CDATA #IMPLIED
-          property CDATA #IMPLIED
-          targetfile CDATA #IMPLIED
-          srcfile CDATA #IMPLIED>
-
-<!ELEMENT srcfiles (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST srcfiles
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          file CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT untar (fileset | patternset)*>
-<!ATTLIST untar
-          id ID #IMPLIED
-          compression (none | gzip | bzip2) #IMPLIED
-          taskname CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          overwrite %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          src CDATA #IMPLIED>
-
-<!ELEMENT loadproperties (filterchain | classpath)*>
-<!ATTLIST loadproperties
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          description CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          resource CDATA #IMPLIED
-          srcfile CDATA #IMPLIED>
-
-<!ELEMENT echoproperties (propertyset)*>
-<!ATTLIST echoproperties
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          prefix CDATA #IMPLIED
-          format (xml | text) #IMPLIED
-          srcfile CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          destfile CDATA #IMPLIED>
-
-<!ELEMENT vajexport (include | exclude)*>
-<!ATTLIST vajexport
-          id ID #IMPLIED
-          exportclasses %boolean; #IMPLIED
-          haltonerror %boolean; #IMPLIED
-          remote CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          exportresources %boolean; #IMPLIED
-          exportsources %boolean; #IMPLIED
-          overwrite %boolean; #IMPLIED
-          exportdebuginfo %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT bunzip2 EMPTY>
-<!ATTLIST bunzip2
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          description CDATA #IMPLIED
-          src CDATA #IMPLIED>
-
-<!ELEMENT whichresource (classpath)*>
-<!ATTLIST whichresource
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          resource CDATA #IMPLIED
-          class CDATA #IMPLIED
-          property CDATA #IMPLIED>
-
-<!ELEMENT copyfile EMPTY>
-<!ATTLIST copyfile
-          id ID #IMPLIED
-          forceoverwrite %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          description CDATA #IMPLIED
-          filtering CDATA #IMPLIED
-          src CDATA #IMPLIED>
-
-<!ELEMENT p4labelsync EMPTY>
-<!ATTLIST p4labelsync
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          simulationmode %boolean; #IMPLIED
-          view CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED
-          delete %boolean; #IMPLIED
-          add %boolean; #IMPLIED>
-
-<!ELEMENT vsscreate EMPTY>
-<!ATTLIST vsscreate
-          id ID #IMPLIED
-          ssdir CDATA #IMPLIED
-          autoresponse CDATA #IMPLIED
-          quiet %boolean; #IMPLIED
-          vsspath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          serverpath CDATA #IMPLIED
-          login CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT macrodef (sequential | element | attribute | text)*>
-<!ATTLIST macrodef
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          name CDATA #IMPLIED
-          description CDATA #IMPLIED
-          uri CDATA #IMPLIED>
-
-<!ELEMENT element EMPTY>
-<!ATTLIST element
-          id ID #IMPLIED
-          implicit %boolean; #IMPLIED
-          optional %boolean; #IMPLIED
-          name CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT text EMPTY>
-<!ATTLIST text
-          id ID #IMPLIED
-          trim %boolean; #IMPLIED
-          optional %boolean; #IMPLIED
-          name CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT ejbc (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST ejbc
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          manifest CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          dest CDATA #IMPLIED
-          description CDATA #IMPLIED
-          keepgenerated CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          descriptors CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT unjar (fileset | patternset)*>
-<!ATTLIST unjar
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          overwrite %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          src CDATA #IMPLIED>
-
-<!ELEMENT vbc (patternset | exclude | include | custom | present | none | resource | define | not | type | modified | reference | src | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST vbc
-          id ID #IMPLIED
-          references CDATA #IMPLIED
-          useresponsefile %boolean; #IMPLIED
-          removeintchecks %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          mainclass CDATA #IMPLIED
-          extraoptions CDATA #IMPLIED
-          additionalmodules CDATA #IMPLIED
-          win32icon CDATA #IMPLIED
-          optionstrict %boolean; #IMPLIED
-          destdir CDATA #IMPLIED
-          executable CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          utf8output %boolean; #IMPLIED
-          includedefaultreferences %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          optimize %boolean; #IMPLIED
-          targettype (exe | library | module | winexe) #IMPLIED
-          destfile CDATA #IMPLIED
-          rootnamespace CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          win32res CDATA #IMPLIED
-          debug %boolean; #IMPLIED
-          optionexplicit %boolean; #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          warnlevel CDATA #IMPLIED
-          srcdir CDATA #IMPLIED
-          optioncompare CDATA #IMPLIED
-          imports CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          referencefiles CDATA #IMPLIED>
-
-<!ELEMENT wsdltodotnet EMPTY>
-<!ATTLIST wsdltodotnet
-          id ID #IMPLIED
-          url CDATA #IMPLIED
-          srcfile CDATA #IMPLIED
-          destfile CDATA #IMPLIED
-          server %boolean; #IMPLIED
-          namespace CDATA #IMPLIED
-          language CDATA #IMPLIED
-          extraoptions CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT mkdir EMPTY>
-<!ATTLIST mkdir
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT cvs (commandline)*>
-<!ATTLIST cvs
-          id ID #IMPLIED
-          cvsrsh CDATA #IMPLIED
-          quiet %boolean; #IMPLIED
-          passfile CDATA #IMPLIED
-          command CDATA #IMPLIED
-          package CDATA #IMPLIED
-          cvsroot CDATA #IMPLIED
-          reallyquiet %boolean; #IMPLIED
-          output CDATA #IMPLIED
-          port CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          compressionlevel CDATA #IMPLIED
-          noexec %boolean; #IMPLIED
-          error CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          append %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          date CDATA #IMPLIED
-          compression %boolean; #IMPLIED
-          tag CDATA #IMPLIED>
-
-<!ELEMENT condition (isfalse | isreference | equals | available | not | contains | os | or | and | filesmatch | checksum | istrue | isset | socket | http | uptodate)*>
-<!ATTLIST condition
-          id ID #IMPLIED
-          value CDATA #IMPLIED
-          property CDATA #IMPLIED>
-
-<!ELEMENT tempfile EMPTY>
-<!ATTLIST tempfile
-          id ID #IMPLIED
-          destdir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          prefix CDATA #IMPLIED
-          property CDATA #IMPLIED
-          suffix CDATA #IMPLIED>
-
-<!ELEMENT junitreport (report | fileset)*>
-<!ATTLIST junitreport
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          todir CDATA #IMPLIED
-          description CDATA #IMPLIED
-          tofile CDATA #IMPLIED>
-
-<!ELEMENT report EMPTY>
-<!ATTLIST report
-          id ID #IMPLIED
-          todir CDATA #IMPLIED
-          styledir CDATA #IMPLIED
-          format (frames | noframes) #IMPLIED
-          extension CDATA #IMPLIED>
-
-<!ELEMENT ccmkattr EMPTY>
-<!ATTLIST ccmkattr
-          id ID #IMPLIED
-          recurse %boolean; #IMPLIED
-          typevalue CDATA #IMPLIED
-          replace %boolean; #IMPLIED
-          viewpath CDATA #IMPLIED
-          typename CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          version CDATA #IMPLIED
-          failonerr %boolean; #IMPLIED
-          objselect CDATA #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          commentfile CDATA #IMPLIED>
-
-<!ELEMENT taskdef (classpath)*>
-<!ATTLIST taskdef
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          uri CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          file CDATA #IMPLIED
-          classname CDATA #IMPLIED
-          resource CDATA #IMPLIED
-          adaptto CDATA #IMPLIED
-          onerror (fail | report | ignore) #IMPLIED
-          loaderref IDREF #IMPLIED
-          classpathref IDREF #IMPLIED
-          taskname CDATA #IMPLIED
-          adapter CDATA #IMPLIED
-          format (properties | xml) #IMPLIED
-          description CDATA #IMPLIED
-          reverseloader %boolean; #IMPLIED>
-
-<!ELEMENT echo (#PCDATA)>
-<!ATTLIST echo
-          id ID #IMPLIED
-          append %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED
-          message CDATA #IMPLIED
-          level (error | warning | info | verbose | debug) #IMPLIED>
-
-<!ELEMENT ccupdate EMPTY>
-<!ATTLIST ccupdate
-          id ID #IMPLIED
-          preservetime %boolean; #IMPLIED
-          rename %boolean; #IMPLIED
-          viewpath CDATA #IMPLIED
-          log CDATA #IMPLIED
-          overwrite %boolean; #IMPLIED
-          failonerr %boolean; #IMPLIED
-          objselect CDATA #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          graphical %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          currenttime %boolean; #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT java (classpath | sysproperty | redirector | bootclasspath | syspropertyset | env | permissions | jvmarg | arg | assertions)*>
-<!ATTLIST java
-          id ID #IMPLIED
-          resultproperty CDATA #IMPLIED
-          jvmargs CDATA #IMPLIED
-          args CDATA #IMPLIED
-          fork %boolean; #IMPLIED
-          maxmemory CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          jar CDATA #IMPLIED
-          errorproperty CDATA #IMPLIED
-          output CDATA #IMPLIED
-          timeout CDATA #IMPLIED
-          spawn %boolean; #IMPLIED
-          input CDATA #IMPLIED
-          jvm CDATA #IMPLIED
-          inputstring CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          logerror %boolean; #IMPLIED
-          dir CDATA #IMPLIED
-          error CDATA #IMPLIED
-          description CDATA #IMPLIED
-          jvmversion CDATA #IMPLIED
-          outputproperty CDATA #IMPLIED
-          append %boolean; #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          newenvironment %boolean; #IMPLIED
-          classname CDATA #IMPLIED>
-
-<!ELEMENT vsslabel EMPTY>
-<!ATTLIST vsslabel
-          id ID #IMPLIED
-          ssdir CDATA #IMPLIED
-          autoresponse CDATA #IMPLIED
-          vsspath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          version CDATA #IMPLIED
-          serverpath CDATA #IMPLIED
-          login CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          label CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT renameext (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST renameext
-          id ID #IMPLIED
-          replace %boolean; #IMPLIED
-          toextension CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          fromextension CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          srcdir CDATA #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT basename EMPTY>
-<!ATTLIST basename
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          file CDATA #IMPLIED
-          description CDATA #IMPLIED
-          property CDATA #IMPLIED
-          suffix CDATA #IMPLIED>
-
-<!ELEMENT javadoc2 (taglet | doclet | package | arg | link | doctitle | bottom | group | packageset | fileset | classpath | sourcepath | footer | source | bootclasspath | header | excludepackage | tag)*>
-<!ATTLIST javadoc2
-          id ID #IMPLIED
-          bottom CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          bootclasspathref IDREF #IMPLIED
-          header CDATA #IMPLIED
-          link CDATA #IMPLIED
-          noindex %boolean; #IMPLIED
-          access (protected | public | package | private) #IMPLIED
-          doclet CDATA #IMPLIED
-          noqualifier CDATA #IMPLIED
-          public %boolean; #IMPLIED
-          author %boolean; #IMPLIED
-          footer CDATA #IMPLIED
-          docletpath CDATA #IMPLIED
-          package %boolean; #IMPLIED
-          useexternalfile %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          sourcepathref IDREF #IMPLIED
-          protected %boolean; #IMPLIED
-          breakiterator %boolean; #IMPLIED
-          nonavbar %boolean; #IMPLIED
-          maxmemory CDATA #IMPLIED
-          group CDATA #IMPLIED
-          source CDATA #IMPLIED
-          linkoffline CDATA #IMPLIED
-          additionalparam CDATA #IMPLIED
-          linksource %boolean; #IMPLIED
-          failonerror %boolean; #IMPLIED
-          locale CDATA #IMPLIED
-          destdir CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          bootclasspath CDATA #IMPLIED
-          private %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          charset CDATA #IMPLIED
-          nodeprecatedlist %boolean; #IMPLIED
-          classpathref IDREF #IMPLIED
-          stylesheetfile CDATA #IMPLIED
-          docencoding CDATA #IMPLIED
-          excludepackagenames CDATA #IMPLIED
-          docletpathref IDREF #IMPLIED
-          packagenames CDATA #IMPLIED
-          windowtitle CDATA #IMPLIED
-          notree %boolean; #IMPLIED
-          splitindex %boolean; #IMPLIED
-          packagelist CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          doctitle CDATA #IMPLIED
-          serialwarn %boolean; #IMPLIED
-          old %boolean; #IMPLIED
-          use %boolean; #IMPLIED
-          sourcepath CDATA #IMPLIED
-          helpfile CDATA #IMPLIED
-          version %boolean; #IMPLIED
-          sourcefiles CDATA #IMPLIED
-          extdirs CDATA #IMPLIED
-          nohelp %boolean; #IMPLIED
-          nodeprecated %boolean; #IMPLIED
-          overview CDATA #IMPLIED>
-
-<!ELEMENT tar (patternset | exclude | include | tarfileset | custom | present | none | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST tar
-          id ID #IMPLIED
-          tarfile CDATA #IMPLIED
-          destfile CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          basedir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          compression (none | gzip | bzip2) #IMPLIED
-          longfile (warn | fail | truncate | gnu | omit) #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT tarfileset (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST tarfileset
-          id ID #IMPLIED
-          excludes CDATA #IMPLIED
-          preserveleadingslashes %boolean; #IMPLIED
-          username CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          uid CDATA #IMPLIED
-          fullpath CDATA #IMPLIED
-          group CDATA #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          refid IDREF #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          mode CDATA #IMPLIED
-          gid CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          prefix CDATA #IMPLIED
-          dirmode CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          file CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED>
-
-<!ELEMENT vsscp EMPTY>
-<!ATTLIST vsscp
-          id ID #IMPLIED
-          login CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          vsspath CDATA #IMPLIED
-          serverpath CDATA #IMPLIED
-          ssdir CDATA #IMPLIED
-          autoresponse CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT vajimport (fileset)*>
-<!ATTLIST vajimport
-          id ID #IMPLIED
-          haltonerror %boolean; #IMPLIED
-          remote CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          importsources %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          project CDATA #IMPLIED
-          description CDATA #IMPLIED
-          importresources %boolean; #IMPLIED
-          importclasses %boolean; #IMPLIED>
-
-<!ELEMENT p4fstat (fileset)*>
-<!ATTLIST p4fstat
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          changelist CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED
-          showfilter CDATA #IMPLIED>
-
-<!ELEMENT setproxy EMPTY>
-<!ATTLIST setproxy
-          id ID #IMPLIED
-          nonproxyhosts CDATA #IMPLIED
-          proxyhost CDATA #IMPLIED
-          socksproxyhost CDATA #IMPLIED
-          proxyport CDATA #IMPLIED
-          socksproxyport CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          proxyuser CDATA #IMPLIED
-          description CDATA #IMPLIED
-          proxypassword CDATA #IMPLIED>
-
-<!ELEMENT p4counter EMPTY>
-<!ATTLIST p4counter
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          value CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          property CDATA #IMPLIED
-          errormessage CDATA #IMPLIED>
-
-<!ELEMENT wlstop (classpath)*>
-<!ATTLIST wlstop
-          id ID #IMPLIED
-          user CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          delay CDATA #IMPLIED
-          password CDATA #IMPLIED
-          url CDATA #IMPLIED
-          description CDATA #IMPLIED
-          beahome CDATA #IMPLIED>
-
-<!ELEMENT ilasm (patternset | exclude | include | custom | present | none | not | type | modified | reference | src | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST ilasm
-          id ID #IMPLIED
-          owner CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          extraoptions CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          targettype (exe | library) #IMPLIED
-          destfile CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          debug %boolean; #IMPLIED
-          includes CDATA #IMPLIED
-          outputfile CDATA #IMPLIED
-          description CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          resourcefile CDATA #IMPLIED
-          srcdir CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          listing %boolean; #IMPLIED
-          keyfile CDATA #IMPLIED>
-
-<!ELEMENT soscheckout EMPTY>
-<!ATTLIST soscheckout
-          id ID #IMPLIED
-          soshome CDATA #IMPLIED
-          file CDATA #IMPLIED
-          recursive %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          vssserverpath CDATA #IMPLIED
-          username CDATA #IMPLIED
-          sosserverpath CDATA #IMPLIED
-          projectpath CDATA #IMPLIED
-          nocache %boolean; #IMPLIED
-          nocompress %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          localpath CDATA #IMPLIED
-          soscmd CDATA #IMPLIED
-          password CDATA #IMPLIED>
-
-<!ELEMENT apply (mapper | srcfile | targetfile | redirector | filelist | env | fileset | dirset | arg)*>
-<!ATTLIST apply
-          id ID #IMPLIED
-          resultproperty CDATA #IMPLIED
-          skipemptyfilesets %boolean; #IMPLIED
-          failifexecutionfails %boolean; #IMPLIED
-          command CDATA #IMPLIED
-          type (file | dir | both) #IMPLIED
-          maxparallel CDATA #IMPLIED
-          executable CDATA #IMPLIED
-          os CDATA #IMPLIED
-          errorproperty CDATA #IMPLIED
-          output CDATA #IMPLIED
-          timeout CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          spawn %boolean; #IMPLIED
-          input CDATA #IMPLIED
-          inputstring CDATA #IMPLIED
-          addsourcefile %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          logerror %boolean; #IMPLIED
-          dir CDATA #IMPLIED
-          forwardslash %boolean; #IMPLIED
-          error CDATA #IMPLIED
-          description CDATA #IMPLIED
-          outputproperty CDATA #IMPLIED
-          resolveexecutable %boolean; #IMPLIED
-          append %boolean; #IMPLIED
-          failonerror %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          ignoremissing %boolean; #IMPLIED
-          vmlauncher %boolean; #IMPLIED
-          newenvironment %boolean; #IMPLIED
-          relative %boolean; #IMPLIED
-          parallel %boolean; #IMPLIED>
-
-<!ELEMENT ccuncheckout EMPTY>
-<!ATTLIST ccuncheckout
-          id ID #IMPLIED
-          objselect CDATA #IMPLIED
-          keepcopy %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          viewpath CDATA #IMPLIED
-          failonerr %boolean; #IMPLIED>
-
-<!ELEMENT jarlib-resolve (ant | location | url | extension)*>
-<!ATTLIST jarlib-resolve
-          id ID #IMPLIED
-          checkextension %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          property CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED>
-
-<!ELEMENT location EMPTY>
-<!ATTLIST location
-          id ID #IMPLIED
-          location CDATA #IMPLIED>
-
-<!ELEMENT url EMPTY>
-<!ATTLIST url
-          id ID #IMPLIED
-          destdir CDATA #IMPLIED
-          url CDATA #IMPLIED
-          destfile CDATA #IMPLIED>
-
-<!ELEMENT jlink (patternset | exclude | include | custom | present | none | not | type | modified | or | contains | depend | mergefiles | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | addfiles | depth | and)*>
-<!ATTLIST jlink
-          id ID #IMPLIED
-          outfile CDATA #IMPLIED
-          compress %boolean; #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          addfiles CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          mergefiles CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT mergefiles (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST mergefiles
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT addfiles (fileset | dirset | extdirs | filelist | existing | pathelement | path)*>
-<!ATTLIST addfiles
-          id ID #IMPLIED
-          location CDATA #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED
-          path CDATA #IMPLIED>
-
-<!ELEMENT cvstagdiff (commandline)*>
-<!ATTLIST cvstagdiff
-          id ID #IMPLIED
-          cvsrsh CDATA #IMPLIED
-          endtag CDATA #IMPLIED
-          quiet %boolean; #IMPLIED
-          passfile CDATA #IMPLIED
-          command CDATA #IMPLIED
-          package CDATA #IMPLIED
-          cvsroot CDATA #IMPLIED
-          reallyquiet %boolean; #IMPLIED
-          starttag CDATA #IMPLIED
-          output CDATA #IMPLIED
-          port CDATA #IMPLIED
-          compressionlevel CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          destfile CDATA #IMPLIED
-          enddate CDATA #IMPLIED
-          noexec %boolean; #IMPLIED
-          error CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          append %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          date CDATA #IMPLIED
-          startdate CDATA #IMPLIED
-          compression %boolean; #IMPLIED
-          tag CDATA #IMPLIED>
-
-<!ELEMENT javacc EMPTY>
-<!ATTLIST javacc
-          id ID #IMPLIED
-          debugparser %boolean; #IMPLIED
-          javacchome CDATA #IMPLIED
-          forcelacheck %boolean; #IMPLIED
-          optimizetokenmanager %boolean; #IMPLIED
-          commontokenaction %boolean; #IMPLIED
-          buildtokenmanager %boolean; #IMPLIED
-          sanitycheck %boolean; #IMPLIED
-          buildparser %boolean; #IMPLIED
-          otherambiguitycheck CDATA #IMPLIED
-          lookahead CDATA #IMPLIED
-          debuglookahead %boolean; #IMPLIED
-          choiceambiguitycheck CDATA #IMPLIED
-          unicodeinput %boolean; #IMPLIED
-          usercharstream %boolean; #IMPLIED
-          debugtokenmanager %boolean; #IMPLIED
-          keeplinecolumn %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          outputdirectory CDATA #IMPLIED
-          cachetokens %boolean; #IMPLIED
-          javaunicodeescape %boolean; #IMPLIED
-          static %boolean; #IMPLIED
-          target CDATA #IMPLIED
-          ignorecase %boolean; #IMPLIED
-          usertokenmanager %boolean; #IMPLIED
-          errorreporting %boolean; #IMPLIED>
-
-<!ELEMENT chmod (mapper | include | srcfile | exclude | targetfile | patternset | redirector | env | filelist | fileset | dirset | arg)*>
-<!ATTLIST chmod
-          id ID #IMPLIED
-          addsourcefile %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          parallel %boolean; #IMPLIED
-          input CDATA #IMPLIED
-          executable CDATA #IMPLIED
-          inputstring CDATA #IMPLIED
-          relative %boolean; #IMPLIED
-          skipemptyfilesets %boolean; #IMPLIED
-          command CDATA #IMPLIED
-          forwardslash %boolean; #IMPLIED
-          spawn %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          includes CDATA #IMPLIED
-          vmlauncher %boolean; #IMPLIED
-          file CDATA #IMPLIED
-          logerror %boolean; #IMPLIED
-          errorproperty CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          output CDATA #IMPLIED
-          error CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          os CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          resolveexecutable %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          resultproperty CDATA #IMPLIED
-          ignoremissing %boolean; #IMPLIED
-          failifexecutionfails %boolean; #IMPLIED
-          append %boolean; #IMPLIED
-          timeout CDATA #IMPLIED
-          maxparallel CDATA #IMPLIED
-          outputproperty CDATA #IMPLIED
-          perm CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          newenvironment %boolean; #IMPLIED
-          type (file | dir | both) #IMPLIED>
-
-<!ELEMENT pvcs (pvcsproject)*>
-<!ATTLIST pvcs
-          id ID #IMPLIED
-          updateonly %boolean; #IMPLIED
-          force CDATA #IMPLIED
-          config CDATA #IMPLIED
-          pvcsbin CDATA #IMPLIED
-          workspace CDATA #IMPLIED
-          pvcsproject CDATA #IMPLIED
-          filenameformat CDATA #IMPLIED
-          userid CDATA #IMPLIED
-          repository CDATA #IMPLIED
-          ignorereturncode %boolean; #IMPLIED
-          revision CDATA #IMPLIED
-          linestart CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          promotiongroup CDATA #IMPLIED
-          label CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT pvcsproject EMPTY>
-<!ATTLIST pvcsproject
-          id ID #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT jarlib-manifest (options | attribute | depends | extension)*>
-<!ATTLIST jarlib-manifest
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          destfile CDATA #IMPLIED>
-
-<!ELEMENT options (fileset | libfileset | extension)*>
-<!ATTLIST options
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT depends (fileset | libfileset | extension)*>
-<!ATTLIST depends
-          id ID #IMPLIED
-          refid IDREF #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT jar (patternset | exclude | include | custom | present | none | not | manifest | type | metainf | modified | or | contains | depend | fileset | different | size | majority | containsregexp | indexjars | filename | selector | includesfile | zipgroupfileset | zipfileset | date | excludesfile | depth | and)*>
-<!ATTLIST jar
-          id ID #IMPLIED
-          whenempty (fail | skip | create) #IMPLIED
-          keepcompression %boolean; #IMPLIED
-          duplicate (add | preserve | fail) #IMPLIED
-          roundup %boolean; #IMPLIED
-          excludes CDATA #IMPLIED
-          basedir CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          manifest CDATA #IMPLIED
-          jarfile CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          index %boolean; #IMPLIED
-          update %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          destfile CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          includes CDATA #IMPLIED
-          description CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          compress %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          manifestencoding CDATA #IMPLIED
-          filesonly %boolean; #IMPLIED
-          file CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          filesetmanifest (skip | merge | mergewithoutmain) #IMPLIED
-          zipfile CDATA #IMPLIED>
-
-<!ELEMENT ccmklbtype EMPTY>
-<!ATTLIST ccmklbtype
-          id ID #IMPLIED
-          global %boolean; #IMPLIED
-          replace %boolean; #IMPLIED
-          shared %boolean; #IMPLIED
-          viewpath CDATA #IMPLIED
-          typename CDATA #IMPLIED
-          pbranch %boolean; #IMPLIED
-          comment CDATA #IMPLIED
-          failonerr %boolean; #IMPLIED
-          objselect CDATA #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          vob CDATA #IMPLIED
-          description CDATA #IMPLIED
-          commentfile CDATA #IMPLIED
-          ordinary %boolean; #IMPLIED>
-
-<!ELEMENT sound (fail | success)*>
-<!ATTLIST sound
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!--define the top level fail which is more common than the sound fail nested element-->
-<!ELEMENT fail EMPTY>
-<!ATTLIST fail
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          message CDATA #IMPLIED
-          if CDATA #IMPLIED
-          unless CDATA #IMPLIED>
-
-<!ELEMENT success EMPTY>
-<!ATTLIST success
-          id ID #IMPLIED
-          loops CDATA #IMPLIED
-          source CDATA #IMPLIED
-          duration CDATA #IMPLIED>
-
-<!ELEMENT scriptdef (#PCDATA | classpath | element | attribute)*>
-<!ATTLIST scriptdef
-          id ID #IMPLIED
-          src CDATA #IMPLIED
-          name CDATA #IMPLIED
-          uri CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          language CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          loaderref IDREF #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          reverseloader %boolean; #IMPLIED>
-
-<!ELEMENT defaultexcludes EMPTY>
-<!ATTLIST defaultexcludes
-          id ID #IMPLIED
-          remove CDATA #IMPLIED
-          echo %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          default %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          add CDATA #IMPLIED>
-
-<!ELEMENT mparse (fileset | jvmarg | classpath | sourcepath)*>
-<!ATTLIST mparse
-          id ID #IMPLIED
-          cleanup %boolean; #IMPLIED
-          verbose %boolean; #IMPLIED
-          maxmemory CDATA #IMPLIED
-          metamatahome CDATA #IMPLIED
-          target CDATA #IMPLIED
-          debugparser %boolean; #IMPLIED
-          home CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          debugscanner %boolean; #IMPLIED>
-
-<!ELEMENT blgenclient (classpath)*>
-<!ATTLIST blgenclient
-          id ID #IMPLIED
-          debug %boolean; #IMPLIED
-          classpath CDATA #IMPLIED
-          mode CDATA #IMPLIED
-          ejbjar CDATA #IMPLIED
-          version CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          clientjar CDATA #IMPLIED>
-
-<!ELEMENT jjdoc EMPTY>
-<!ATTLIST jjdoc
-          id ID #IMPLIED
-          outputfile CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          javacchome CDATA #IMPLIED
-          target CDATA #REQUIRED
-          text %boolean; #IMPLIED
-          onetable %boolean; #IMPLIED>
-
-<!ELEMENT genkey (dname)*>
-<!ATTLIST genkey
-          id ID #IMPLIED
-          storepass CDATA #IMPLIED
-          sigalg CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          keypass CDATA #IMPLIED
-          dname CDATA #IMPLIED
-          keysize CDATA #IMPLIED
-          alias CDATA #IMPLIED
-          keyalg CDATA #IMPLIED
-          validity CDATA #IMPLIED
-          keystore CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          storetype CDATA #IMPLIED>
-
-<!ELEMENT dname (param)*>
-<!ATTLIST dname
-          id ID #IMPLIED>
-
-<!ELEMENT javah (classpath | class | bootclasspath)*>
-<!ATTLIST javah
-          id ID #IMPLIED
-          stubs %boolean; #IMPLIED
-          force %boolean; #IMPLIED
-          destdir CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          old %boolean; #IMPLIED
-          outputfile CDATA #IMPLIED
-          class CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          bootclasspath CDATA #IMPLIED
-          bootclasspathref IDREF #IMPLIED
-          classpathref IDREF #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT class EMPTY>
-<!ATTLIST class
-          id ID #IMPLIED
-          name CDATA #IMPLIED>
-
-<!ELEMENT ccmkelem EMPTY>
-<!ATTLIST ccmkelem
-          id ID #IMPLIED
-          preservetime %boolean; #IMPLIED
-          master %boolean; #IMPLIED
-          eltype CDATA #IMPLIED
-          viewpath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          nowarn %boolean; #IMPLIED
-          failonerr %boolean; #IMPLIED
-          objselect CDATA #IMPLIED
-          cleartooldir CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          nocheckout %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          commentfile CDATA #IMPLIED
-          checkin %boolean; #IMPLIED>
-
-<!ELEMENT ccmreconfigure EMPTY>
-<!ATTLIST ccmreconfigure
-          id ID #IMPLIED
-          ccmaction CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          ccmproject CDATA #IMPLIED
-          description CDATA #IMPLIED
-          recurse %boolean; #IMPLIED
-          ccmdir CDATA #IMPLIED>
-
-<!ELEMENT unzip (fileset | patternset)*>
-<!ATTLIST unzip
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          dest CDATA #IMPLIED
-          overwrite %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          encoding CDATA #IMPLIED
-          src CDATA #IMPLIED>
-
-<!ELEMENT javac (patternset | exclude | include | custom | present | none | extdirs | not | type | modified | src | or | contains | depend | classpath | sourcepath | different | size | majority | containsregexp | bootclasspath | filename | selector | includesfile | compilerarg | date | excludesfile | depth | and)*>
-<!ATTLIST javac
-          id ID #IMPLIED
-          target CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          bootclasspathref IDREF #IMPLIED
-          compiler CDATA #IMPLIED
-          executable CDATA #IMPLIED
-          debuglevel CDATA #IMPLIED
-          memoryinitialsize CDATA #IMPLIED
-          deprecation %boolean; #IMPLIED
-          includeantruntime %boolean; #IMPLIED
-          description CDATA #IMPLIED
-          sourcepathref IDREF #IMPLIED
-          depend %boolean; #IMPLIED
-          includes CDATA #IMPLIED
-          source CDATA #IMPLIED
-          includejavaruntime %boolean; #IMPLIED
-          failonerror %boolean; #IMPLIED
-          destdir CDATA #IMPLIED
-          debug %boolean; #IMPLIED
-          tempdir CDATA #IMPLIED
-          classpath CDATA #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          bootclasspath CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          nowarn %boolean; #IMPLIED
-          proceed %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          classpathref IDREF #IMPLIED
-          fork %boolean; #IMPLIED
-          srcdir CDATA #IMPLIED
-          memorymaximumsize CDATA #IMPLIED
-          optimize %boolean; #IMPLIED
-          encoding CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          sourcepath CDATA #IMPLIED
-          listfiles %boolean; #IMPLIED
-          extdirs CDATA #IMPLIED>
-
-<!ELEMENT p4add (fileset)*>
-<!ATTLIST p4add
-          id ID #IMPLIED
-          port CDATA #IMPLIED
-          client CDATA #IMPLIED
-          inerror %boolean; #IMPLIED
-          user CDATA #IMPLIED
-          changelist CDATA #IMPLIED
-          cmdopts CDATA #IMPLIED
-          globalopts CDATA #IMPLIED
-          view CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          errormessage CDATA #IMPLIED
-          commandlength CDATA #IMPLIED>
-
-<!ELEMENT jpcoverage (arg | socket | fileset | jvmarg | classpath | triggers | filters)*>
-<!ATTLIST jpcoverage
-          id ID #IMPLIED
-          applet %boolean; #IMPLIED
-          recordfromstart (coverage | none | all) #IMPLIED
-          vm (java2 | jdk118 | jdk117) #IMPLIED
-          classname CDATA #IMPLIED
-          workingdir CDATA #IMPLIED
-          inputfile CDATA #IMPLIED
-          snapshotdir CDATA #IMPLIED
-          seedname CDATA #IMPLIED
-          javaexe CDATA #IMPLIED
-          home CDATA #IMPLIED
-          exitprompt CDATA #IMPLIED
-          taskname CDATA #IMPLIED
-          warnlevel CDATA #IMPLIED
-          finalsnapshot CDATA #IMPLIED
-          description CDATA #IMPLIED
-          tracknatives %boolean; #IMPLIED>
-
-<!ELEMENT triggers (method)*>
-<!ATTLIST triggers
-          id ID #IMPLIED>
-
-<!ELEMENT method EMPTY>
-<!ATTLIST method
-          id ID #IMPLIED
-          name CDATA #IMPLIED
-          event CDATA #IMPLIED
-          action CDATA #IMPLIED
-          param CDATA #IMPLIED>
-
-<!ELEMENT filters (include | exclude)*>
-<!ATTLIST filters
-          id ID #IMPLIED
-          defaultexclude %boolean; #IMPLIED>
-
-<!ELEMENT soslabel EMPTY>
-<!ATTLIST soslabel
-          id ID #IMPLIED
-          soshome CDATA #IMPLIED
-          verbose %boolean; #IMPLIED
-          vssserverpath CDATA #IMPLIED
-          username CDATA #IMPLIED
-          sosserverpath CDATA #IMPLIED
-          comment CDATA #IMPLIED
-          projectpath CDATA #IMPLIED
-          version CDATA #IMPLIED
-          nocache %boolean; #IMPLIED
-          nocompress %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          label CDATA #IMPLIED
-          description CDATA #IMPLIED
-          localpath CDATA #IMPLIED
-          soscmd CDATA #IMPLIED
-          password CDATA #IMPLIED>
-
-<!ELEMENT vssget EMPTY>
-<!ATTLIST vssget
-          id ID #IMPLIED
-          ssdir CDATA #IMPLIED
-          recursive %boolean; #IMPLIED
-          date CDATA #IMPLIED
-          autoresponse CDATA #IMPLIED
-          quiet %boolean; #IMPLIED
-          vsspath CDATA #IMPLIED
-          version CDATA #IMPLIED
-          serverpath CDATA #IMPLIED
-          login CDATA #IMPLIED
-          filetimestamp (current | modified | updated) #IMPLIED
-          writable %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          label CDATA #IMPLIED
-          description CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          localpath CDATA #IMPLIED
-          writablefiles (replace | skip | fail) #IMPLIED>
-
-<!ELEMENT deltree EMPTY>
-<!ATTLIST deltree
-          id ID #IMPLIED
-          taskname CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          description CDATA #IMPLIED>
-
-<!ELEMENT ddcreator (patternset | exclude | include | custom | none | present | not | type | modified | or | contains | depend | different | size | majority | containsregexp | filename | selector | includesfile | date | excludesfile | depth | and)*>
-<!ATTLIST ddcreator
-          id ID #IMPLIED
-          classpath CDATA #IMPLIED
-          defaultexcludes %boolean; #IMPLIED
-          followsymlinks %boolean; #IMPLIED
-          taskname CDATA #IMPLIED
-          casesensitive %boolean; #IMPLIED
-          dest CDATA #IMPLIED
-          description CDATA #IMPLIED
-          excludes CDATA #IMPLIED
-          includesfile CDATA #IMPLIED
-          excludesfile CDATA #IMPLIED
-          descriptors CDATA #IMPLIED
-          includes CDATA #IMPLIED>
-
-<!ELEMENT junit (classpath | jvmarg | sysproperty | syspropertyset | env | bootclasspath | permissions | assertions | formatter | batchtest | test)*>
-<!ATTLIST junit
-          id ID #IMPLIED
-          showoutput %boolean; #IMPLIED
-          haltonerror %boolean; #IMPLIED
-          fork %boolean; #IMPLIED
-          jvm CDATA #IMPLIED
-          dir CDATA #IMPLIED
-          failureproperty CDATA #IMPLIED
-          maxmemory CDATA #IMPLIED
-          filtertrace %boolean; #IMPLIED
-          includeantruntime %boolean; #IMPLIED
-          haltonfailure %boolean; #IMPLIED
-          errorproperty CDATA #IMPLIED
-          timeout CDATA #IMPLIED
-          printsummary (true | yes | false | no | on | off | withOutAndErr) #IMPLIED
-          taskname CDATA #IMPLIED
-          description CDATA #IMPLIED
-          newenvironment %boolean; #IMPLIED>
-
-<!ELEMENT batchtest (fileset | formatter)*>
-<!ATTLIST batchtest
-          id ID #IMPLIED
-          if CDATA #IMPLIED
-          unless CDATA #IMPLIED
-          haltonerror %boolean; #IMPLIED
-          fork %boolean; #IMPLIED
-          todir CDATA #IMPLIED
-          failureproperty CDATA #IMPLIED
-          filtertrace %boolean; #IMPLIED
-          haltonfailure %boolean; #IMPLIED
-          errorproperty CDATA #IMPLIED>
-		  
-  <!ELEMENT test (formatter)*>
-  <!ATTLIST test
-  			name CDATA #REQUIRED
-            id ID #IMPLIED
-            if CDATA #IMPLIED
-            unless CDATA #IMPLIED
-            haltonerror %boolean; #IMPLIED
-            fork %boolean; #IMPLIED
-            todir CDATA #IMPLIED
-			outfile CDATA #IMPLIED
-            failureproperty CDATA #IMPLIED
-            filtertrace %boolean; #IMPLIED
-            haltonfailure %boolean; #IMPLIED
-            errorproperty CDATA #IMPLIED>
-
-<!ELEMENT formatter EMPTY>
-<!ATTLIST formatter
-          id ID #IMPLIED
-          usefile %boolean; #IMPLIED
-          type (plain | xml | brief) #IMPLIED
-          classname CDATA #IMPLIED
-          extension CDATA #IMPLIED>
-          
-<!ELEMENT scp (fileset)*>
-<!ATTLIST scp
-          id ID #IMPLIED
-          file CDATA #REQUIRED
-          localFile CDATA #IMPLIED
-          remoteFile CDATA #IMPLIED
-          todir CDATA #REQUIRED
-          localTodir CDATA #IMPLIED
-          localTofile CDATA #IMPLIED
-		  remoteTodir CDATA #IMPLIED
-          remoteTofile CDATA #IMPLIED                    
-          port CDATA #IMPLIED
-          trust %boolean; #IMPLIED
-          knownhosts CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          password CDATA #IMPLIED
-          keyfile CDATA #IMPLIED
-          passphrase CDATA #IMPLIED
-          verbose %boolean; #IMPLIED>
-          
-<!ELEMENT sshexec EMPTY>
-<!ATTLIST sshexec
-          id ID #IMPLIED
-          host CDATA #REQUIRED
-          username CDATA #IMPLIED
-          command CDATA #IMPLIED
-          port CDATA #IMPLIED
-          trust %boolean; #IMPLIED
-          knownhosts CDATA #IMPLIED
-          failonerror %boolean; #IMPLIED
-          password CDATA #IMPLIED
-          keyfile CDATA #IMPLIED
-          passphrase CDATA #IMPLIED
-          output CDATA #IMPLIED
-          append CDATA #IMPLIED
-          outputproperty CDATA #IMPLIED
-          timeout CDATA #IMPLIED>
-          
-<!ELEMENT attrib (fileset | dirset | filelist)*>
-<!ATTLIST attrib
-          id ID #IMPLIED
-          file CDATA #REQUIRED
-          readonly CDATA #IMPLIED
-          archive CDATA #IMPLIED
-          system CDATA #IMPLIED
-          hidden CDATA #IMPLIED
-          verbose %boolean; #IMPLIED>
-          
-<!ELEMENT chgrp (fileset | dirset | filelist)*>
-<!ATTLIST chgrp
-          id ID #IMPLIED
-          file CDATA #REQUIRED
-          group CDATA #REQUIRED
-          parallel %boolean; #IMPLIED
-          type (file | dir) #IMPLIED
-          maxparallel CDATA #IMPLIED
-          verbose %boolean; #IMPLIED>
-          
-<!ELEMENT chown (fileset | dirset | filelist)*>
-<!ATTLIST chown
-          id ID #IMPLIED
-          file CDATA #REQUIRED
-          owner CDATA #REQUIRED
-          parallel %boolean; #IMPLIED
-          type (file | dir) #IMPLIED
-          maxparallel CDATA #IMPLIED
-          verbose %boolean; #IMPLIED>
-     
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/anttasks_1.6.0.xml b/ant/org.eclipse.ant.ui/Ant Editor/anttasks_1.6.0.xml
deleted file mode 100644
index 9dd043e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/anttasks_1.6.0.xml
+++ /dev/null
@@ -1,22204 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<tasks>
-
-  <task name="ant" catgory="control" classname="org.apache.tools.ant.taskdefs.Ant">
-    <description>
-    Build a sub-project.
-
-  &lt;pre&gt;
-  &amp;lt;target name=&amp;quot;foo&amp;quot; depends=&amp;quot;init&amp;quot;&amp;gt;
-    &amp;lt;ant antfile=&amp;quot;build.xml&amp;quot; target=&amp;quot;bar&amp;quot; &amp;gt;
-      &amp;lt;property name=&amp;quot;property1&amp;quot; value=&amp;quot;aaaaa&amp;quot; /&amp;gt;
-      &amp;lt;property name=&amp;quot;foo&amp;quot; value=&amp;quot;baz&amp;quot; /&amp;gt;
-    &amp;lt;/ant&amp;gt;&lt;/SPAN&gt;
-  &amp;lt;/target&amp;gt;&lt;/SPAN&gt;
-
-  &amp;lt;target name=&amp;quot;bar&amp;quot; depends=&amp;quot;init&amp;quot;&amp;gt;
-    &amp;lt;echo message=&amp;quot;prop is ${property1} ${foo}&amp;quot; /&amp;gt;
-  &amp;lt;/target&amp;gt;
- &lt;/pre&gt;
-  </description>
-    <structure>
-      <attributes>
-        <attribute name="antfile"  required="no">
-          <description>
-          The buildfile to use.
- Defaults to "build.xml". This file is expected to be a filename relative
- to the dir attribute given.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="no">
-
-          <description>
-          The directory to use as a base directory for the new Ant project.
- Defaults to the current project's basedir, unless inheritall
- has been set to false, in which case it doesn't have a default
- value. This will override the basedir setting of the called project.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="inheritall" required="no">
-
-  
-
-          <description>
-          If true, pass all properties to the new Ant project.
- Defaults to true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="inheritrefs" required="no">
- 		<description>
-          If true, pass all references to the new Ant project.
- Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="output"  required="no">
-          <description>
-          Filename to write the output to.
- This is relative to the value of the dir attribute
- if it has been set or to the base directory of the
- current project otherwise.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="target" required="no">
-        
-          <description>
-          The target of the new Ant project to execute.
- Defaults to the new project's default target.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="reference" required="NOTDEFINED">
-        
-          <description>
-          Reference element identifying a data type to carry
- over to the new project.
-        </description>
-      
-        </element>
-
-      
-        <element name="property" required="NOTDEFINED">
-        
-          <description>
-          Property to pass to the new project.
- The property is passed as a 'user property'
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="antcall">
-
-    <description>
-    Call another target in the same project.
-
-  &lt;pre&gt;
-    &amp;lt;target name="foo"&amp;gt;
-      &amp;lt;antcall target="bar"&amp;gt;
-        &amp;lt;param name="property1" value="aaaaa" /&amp;gt;
-        &amp;lt;param name="foo" value="baz" /&amp;gt;
-       &amp;lt;/antcall&amp;gt;
-    &amp;lt;/target&amp;gt;
-
-    &amp;lt;target name="bar" depends="init"&amp;gt;
-      &amp;lt;echo message="prop is ${property1} ${foo}" /&amp;gt;
-    &amp;lt;/target&amp;gt;
- &lt;/pre&gt;
-
- &lt;p&gt;This only works as expected if neither property1 nor foo are
- defined in the project itself.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="inheritall" required="no">
-        
-          
-        
-          <description>
-          If true, pass all properties to the new Ant project.
- Defaults to true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="inheritrefs" required="no">
-        
-          
-        
-          <description>
-          If true, pass all references to the new Ant project.
- Defaults to false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="target" required="yes">
-        
-          
-        
-          <description>
-          Target to execute, required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="reference" required="NOTDEFINED">
-        
-          <description>
-          Reference element identifying a data type to carry
- over to the invoked target.
-        </description>
-      
-        </element>
-
-      
-        <element name="param" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Property to pass to the invoked target.
-        </description>
-      
-        </element>
-
-    
-      </elements> 
-    </structure>
-  </task>
-
-
-
-  <task name="antlr">
-    <description>
-    Invokes the ANTLR Translator generator on a grammar file.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="debug" required="no">
-
-          <description>
-          Sets a flag to enable ParseView debugging
-        </description>
-      
-        </attribute>
-      
-        <attribute name="diagnostic" required="no">
-        
-          
-        
-          <description>
-          Sets a flag to emit diagnostic text
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="no">
-        
-          
-        
-          <description>
-          The working directory of the process
-        </description>
-      
-        </attribute>
-      
-        <attribute name="glib" required="no">
-        
-          
-        
-          <description>
-          Sets an optional super grammar file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="html" required="no">
-        
-          
-        
-          <description>
-          If true, emit html
-        </description>
-      
-        </attribute>
-      
-        <attribute name="outputdirectory" required="no">
-        
-          
-        
-          <description>
-          The directory to write the generated files to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="target" required="yes">
-        
-          
-        
-          <description>
-          The grammar file to process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="trace" required="no">
-        
-          
-        
-          <description>
-          If true, enables all tracing.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tracelexer" required="no">
-        
-          
-        
-          <description>
-          If true, enables lexer tracing.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="traceparser" required="no">
-        
-          
-        
-          <description>
-          If true, enables parser tracing.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tracetreewalker" required="no">
-        
-          
-        
-          <description>
-          Sets a flag to allow the user to enable tree walker tracing
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          <description>
-          Adds a classpath to be set
- because a directory might be given for Antlr debug.
-        </description>
-      
-        </element>
-
-      
-        <element name="jvmarg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a new JVM argument.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="antstructure">
-
-  
-    
-  
-    <description>
-    Creates a partial DTD for Ant from the currently known tasks.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="output" required="yes">
-        
-          
-        
-          <description>
-          The output file.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="apply">
-
-  
-    
-  
-    <description>
-    Executes a given command, supplying a set of files as arguments.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="append" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Whether output should be appended to or overwrite an existing file.
- Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dest" required="yes, if you specify a nested mapper">
-        
-          
-        
-          <description>
-          The directory where target files are to be placed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="no">
-        
-          
-        
-          <description>
-          The working directory of the process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="executable" required="yes">
-        
-          
-        
-          <description>
-          The command to execute.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failifexecutionfails" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Stop the build if program cannot be started. Defaults to true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no">
-        
-          
-        
-          <description>
-          Fail if the command exits with a non-zero return code.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="newenvironment" required="no, default is false">
-        
-          
-        
-          <description>
-          Do not propagate old environment when new environment variables are specified.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="os" required="no">
-        
-          
-        
-          <description>
-          List of operating systems on which the command may be executed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="output" required="no">
-        
-          
-        
-          <description>
-          File the output of the process is redirected to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="outputproperty" required="no">
-        
-          <description>
-          Property name whose value should be set to the output of
- the process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="parallel" required="no">
-        
-          
-        
-          <description>
-          If true, run the command only once, appending all files as arguments.
- If false, command will be executed once for every file. Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="relative" required="no, default is false">
-        <description>
-          Whether the filenames should be passed on the command line as
- absolute or relative pathnames. Paths are relative to the base
- directory of the corresponding fileset for source files or the
- dest attribute for target files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="resultproperty" required="NOTDEFINED">
-        <description>
-          The name of a property in which the return code of the
- command should be stored. Only of interest if failonerror=false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="skipemptyfilesets" required="no, default is false">
-        
-          
-
-        
-          <description>
-          If no source files have been found or are newer than their
- corresponding target files, do not run the command.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="type" required="no, default is file">
-        
-          
-        
-          <description>
-          Whether the command works only on files, directories or both?
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vmlauncher" required="no, default is true">
-        
-          
-        
-          <description>
-          If true, launch new process with VM, otherwise use the OS's shell.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="env" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an environment variable to the launched process.
-        </description>
-      
-        </element>
-
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Source files to operate upon.
-        </description>
-      
-        </element>
-
-      
-        <element name="arg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a command-line argument.
-        </description>
-      
-        </element>
-
-      
-        <element name="mapper" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Mapper to use for mapping source files to target files.
-        </description>
-      
-        </element>
-
-      
-        <element name="srcfile" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Marker that indicates where the name of the source file should
- be put on the command line.
-        </description>
-      
-        </element>
-
-      
-        <element name="targetfile" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Marker that indicates where the name of the target file should
- be put on the command line.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="available">
-
-  
-    
-  
-    <description>
-    Will set the given property if the requested resource is available at 
- runtime. This task may also be used as a condition by the condition task.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classname" required="yes">
-        
-          
-
-        
-          <description>
-          Set a classname of a class which must be available to set the given 
- property.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath to be used when searching for classes and resources.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-        
-          <description>
-          Set the classpath by reference.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="">
-        
-          
-
-        
-          <description>
-          Set the file which must be present in the file system to set the given
- property.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filepath" required="no">
-        
-          
-        
-          <description>
-          Set the path to use when looking for a file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ignoresystemclasses" required="no">
-        
-          
-
-        
-          <description>
-          Set whether the search for classes should ignore the runtime classes and
- just use the given classpath.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="property" required="yes">
-        
-          
-
-        
-          <description>
-          Set the name of the property which will be set if the particular resource
- is available.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="resource" required="">
-        
-          
-        
-          <description>
-          Set the name of a Java resource which is required to set the property.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="type" required="no">
-        
-          
-        
-          <description>
-          Set what type of file is required - either directory or file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="value" required="no">
-        
-          
-
-        
-          <description>
-          Set the value to be given to the property if the desired resource is
- available.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Classpath to be used when searching for classes and resources.
-        </description>
-      
-        </element>
-
-      
-        <element name="filepath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Path to search for file resources.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="basename">
-
-  
-    
-  
-    <description>
-    Sets a property to the base name of a specified file, optionally minus a
- suffix.
-
- This task can accept the following attributes:
- &lt;ul&gt;
- &lt;li&gt;file
- &lt;li&gt;property
- &lt;li&gt;suffix
- &lt;/ul&gt;
- The &lt;b&gt;file&lt;/b&gt; and &lt;b&gt;property&lt;/b&gt; attributes are required. The
- &lt;b&gt;suffix&lt;/b&gt; attribute can be specified either with or without
- the &amp;quot;.&amp;quot;, and the result will be the same (ie., the
- returned file name will be minus the .suffix).
- &lt;p&gt;
- When this task executes, it will set the specified property to the
- value of the last element in the specified file. If file is a
- directory, the basename will be the last directory element. If file
- is a full-path filename, the basename will be the simple file name.
- If a suffix is specified, and the specified file ends in that suffix,
- the basename will be the simple file name without the suffix.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="file" required="yes">
-        
-          
-        
-          <description>
-          File or directory to get base name from.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="property" required="yes">
-        
-          
-        
-          <description>
-          Property to set base name to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="suffix" required="no">
-        
-          
-        
-          <description>
-          Optional suffix to remove from base name.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="blgenclient">
-
-  
-    
-  
-    <description>
-    Generates a Borland Application Server 4.5 client JAR using as
- input the EJB JAR file.
-
- Two mode are available: java mode (default) and fork mode. With the fork mode,
- it is impossible to add classpath to the commmand line.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Path to use for classpath.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Reference to existing path, to use as a classpath.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="clientjar" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Client JAR file name.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debug" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, turn on the debug mode for each of the Borland tools launched.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ejbjar" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          EJB JAR file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="mode" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Command launching mode: java or fork.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="NOTDEFINED">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds path to the classpath.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="buildnumber">
-
-  
-    
-  
-    <description>
-    Read, increment, and write a build number in a file
- It will first
- attempt to read a build number from a file, then set the property
- "build.number" to the value that was read in (or 0 if no such value). Then
- it will increment the build number by one and write it back out into the
- file.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="file" required="no; defaults to &quot;build.number&quot;">
-        
-          
-        
-          <description>
-          The file in which the build number is stored. Defaults to
- "build.number" if not specified.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="bunzip2">
-
-  
-    
-  
-    <description>
-    Expands a file that has been compressed with the BZIP2
- algorithm. Normally used to compress non-compressed archives such
- as TAR files.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dest" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The destination file or directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The file to expand; required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="bzip2">
-
-  
-    
-  
-    <description>
-    Compresses a file with the BZIP2 algorithm. Normally used to compress
- non-compressed archives such as TAR files.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="src" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          the file to compress; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="zipfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          the required destination file.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="cab">
-
-  
-    
-  
-    <description>
-    Create a CAB archive.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="basedir" required="yes">
-        
-          
-        
-          <description>
-          Base directory to look in for files to CAB.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cabfile" required="yes">
-        
-          
-        
-          <description>
-          The name/location of where to create the .cab file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compress" required="no">
-        
-          
-        
-          <description>
-          If true, compress the files otherwise only store them.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="options" required="no">
-        
-          
-        
-          <description>
-          Sets additional cabarc options that are not supported directly.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no">
-        
-          
-        
-          <description>
-          If true, display cabarc output.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files to archive.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="cccheckin">
-
-  
-    
-  
-    <description>
-    Performs ClearCase checkin.
-
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="cleartooldir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where the cleartool executable is located.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the comment string.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="commentfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specifies a file containing a comment.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="identical" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          If true, allows the file to be checked in even
- if it is identical to the original.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keepcopy" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, keeps a copy of the file with a .keep extension.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nowarn" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, suppress warning messages.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="preservetime" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, preserve the modification time.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="viewpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the path to the item in a ClearCase view to operate on.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="cccheckout">
-
-  
-    
-  
-    <description>
-    Performs ClearCase checkout.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="branch" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specify a branch to check out the file to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cleartooldir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where the cleartool executable is located.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the comment string.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="commentfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specifies a file containing a comment.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nodata" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          If true, checks out the file but does not create an
- editable file containing its data.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nowarn" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, warning messages are suppressed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="out" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Creates a writable file under a different filename.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="reserved" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, checks out the file as reserved.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, allows checkout of a version other than main latest.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="viewpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the path to the item in a ClearCase view to operate on.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ccmcheckin">
-
-  
-    
-  
-    <description>
-    Performs Continuus checkin command.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="ccmdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where the ccm executable is located.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specifies a comment.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the path to the file that the command will operate on.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="task" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Specifies the task number used to check
- in the file (may use 'default').
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ccmcheckintask">
-
-  
-    
-  
-    <description>
-    Performs Continuus Checkin Default task command.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="ccmdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where the ccm executable is located.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specifies a comment.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the path to the file that the command will operate on.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="task" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Specifies the task number used to check
- in the file (may use 'default').
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ccmcheckout">
-
-  
-    
-  
-    <description>
-    Performs Continuus checkout command.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="ccmdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where the ccm executable is located.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specifies a comment.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the path to the file that the command will operate on.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="task" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Specifies the task number used to check
- in the file (may use 'default').
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ccmcreatetask">
-
-  
-    
-  
-    <description>
-    Creates new Continuus ccm task and sets it as the default.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="ccmdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where the ccm executable is located.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specifies a comment.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="platform" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specifies the target platform.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="release" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specify the CCM release.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="resolver" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specifies the resolver.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="subsystem" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specifies the subsystem.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="task" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Specifies the task number used to checkin
- the file (may use 'default').
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ccmreconfigure">
-
-  
-    
-  
-    <description>
-    Task allows to reconfigure a project, recurcively or not
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="ccmdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where the ccm executable is located.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ccmproject" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the ccm project on which the operation is applied.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recurse" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, recurse on subproject (default false).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, do a verbose reconfigure operation (default false).
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ccuncheckout">
-
-  
-    
-  
-    <description>
-    Performs ClearCase UnCheckout command.
-
- &lt;p&gt;
- The following attributes are interpretted:
- &lt;table border="1"&gt;
-   &lt;tr&gt;
-     &lt;th&gt;Attribute&lt;/th&gt;
-     &lt;th&gt;Values&lt;/th&gt;
-     &lt;th&gt;Required&lt;/th&gt;
-   &lt;/tr&gt;
-   &lt;tr&gt;
-      &lt;td&gt;viewpath&lt;/td&gt;
-      &lt;td&gt;Path to the ClearCase view file or directory that the command will operate on&lt;/td&gt;
-      &lt;td&gt;No&lt;/td&gt;
-   &lt;tr&gt;
-   &lt;tr&gt;
-      &lt;td&gt;keepcopy&lt;/td&gt;
-      &lt;td&gt;Specifies whether to keep a copy of the file with a .keep extension or not&lt;/td&gt;
-      &lt;td&gt;No&lt;/td&gt;
-   &lt;tr&gt;
- &lt;/table&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="cleartooldir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where the cleartool executable is located.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keepcopy" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, keep a copy of the file with a .keep extension.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="viewpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the path to the item in a ClearCase view to operate on.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ccupdate">
-
-  
-    
-  
-    <description>
-    Performs a ClearCase Update command.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="cleartooldir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where the cleartool executable is located.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="currenttime" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, modification time should be written as the current time.
- Either currenttime or preservetime can be specified.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="graphical" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, displays a graphical dialog during the update.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="log" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Sets the log file where cleartool records
- the status of the command.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="overwrite" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, overwrite hijacked files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="preservetime" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, modification time should be preserved from the VOB time.
- Either currenttime or preservetime can be specified.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="rename" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, hijacked files are renamed with a .keep extension.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="viewpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the path to the item in a ClearCase view to operate on.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="checksum">
-
-  
-    
-  
-    <description>
-    Used to create or verify file checksums.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="algorithm" required="no">
-        
-          
-        
-          <description>
-          Specifies the algorithm to be used to compute the checksum.
- Defaults to "MD5". Other popular algorithms like "SHA" may be used as well.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="one of either file or      at least one nested fileset element.">
-        
-          
-        
-          <description>
-          Sets the file for which the checksum is to be calculated.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="fileext" required="no">
-        
-          
-
-        
-          <description>
-          Sets the file extension that is be to used to
- create or identify destination file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="forceoverwrite" required="no">
-        
-          
- whether it is newer than
-
-        
-          <description>
-          Whether or not to overwrite existing file irrespective of 
- whether it is newer than
- the source file.  Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="property" required="no">
-        
-          
-        
-          <description>
-          Sets the property to hold the generated checksum.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="provider" required="no">
-        
-          
-
-        
-          <description>
-          Sets the MessageDigest algorithm provider to be used
- to calculate the checksum.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="readbuffersize" required="no">
-        
-          
-        
-          <description>
-          The size of the read buffer to use.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verifyproperty" required="no">
-        
-          
-        
-          <description>
-          Sets the verify property.  This project property holds
- the result of a checksum verification - "true" or "false"
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Files to generate checksums for.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="chmod">
-
-  
-    
-  
-    <description>
-    Chmod equivalent for unix-like environments.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="append" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Whether output should be appended to or overwrite an existing file.
- Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="defaultexcludes" required="no">
-        
-          
-        
-          <description>
-          Sets whether default exclusions should be used or not.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dest" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The directory where target files are to be placed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="">
-        
-          
-        
-          <description>
-          The directory which holds the files whose permissions must be changed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="excludes" required="no">
-        
-          
-        
-          <description>
-          Sets the set of exclude patterns. Patterns may be separated by a comma
- or a space.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="executable" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The command to execute.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failifexecutionfails" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Stop the build if program cannot be started. Defaults to true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Fail if the command exits with a non-zero return code.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="exactly one of the two or nested &lt;fileset&gt; elements.">
-        
-          
-        
-          <description>
-          The file or single directory of which the permissions must be changed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includes" required="no">
-        
-          
-        
-          <description>
-          Sets the set of include patterns. Patterns may be separated by a comma
- or a space.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="newenvironment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Do not propagate old environment when new environment variables are specified.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="os" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          List of operating systems on which the command may be executed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="output" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          File the output of the process is redirected to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="outputproperty" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Property name whose value should be set to the output of
- the process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="parallel" required="no">
-        
-          
-        
-          <description>
-          If true, run the command only once, appending all files as arguments.
- If false, command will be executed once for every file. Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="perm" required="yes">
-        
-          
-        
-          <description>
-          The new permissions.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="relative" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Whether the filenames should be passed on the command line as
- absolute or relative pathnames. Paths are relative to the base
- directory of the corresponding fileset for source files or the
- dest attribute for target files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="resultproperty" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The name of a property in which the return code of the
- command should be stored. Only of interest if failonerror=false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="skipemptyfilesets" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          If no source files have been found or are newer than their
- corresponding target files, do not run the command.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="type" required="no, default is file">
-        
-          
-        
-          <description>
-          Whether the command works only on files, directories or both?
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vmlauncher" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, launch new process with VM, otherwise use the OS's shell.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="env" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an environment variable to the launched process.
-        </description>
-      
-        </element>
-
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Source files to operate upon.
-        </description>
-      
-        </element>
-
-      
-        <element name="arg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a command-line argument.
-        </description>
-      
-        </element>
-
-      
-        <element name="exclude" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a name entry on the exclude list.
-        </description>
-      
-        </element>
-
-      
-        <element name="include" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a name entry on the include list.
-        </description>
-      
-        </element>
-
-      
-        <element name="mapper" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Mapper to use for mapping source files to target files.
-        </description>
-      
-        </element>
-
-      
-        <element name="patternset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a set of patterns.
-        </description>
-      
-        </element>
-
-      
-        <element name="srcfile" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Marker that indicates where the name of the source file should
- be put on the command line.
-        </description>
-      
-        </element>
-
-      
-        <element name="targetfile" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Marker that indicates where the name of the target file should
- be put on the command line.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="concat">
-
-  
-    
-  
-    <description>
-    This class contains the 'concat' task, used to concatenate a series
- of files into a single stream. The destination of this stream may
- be the system console, or a file. The following is a sample
- invocation:
-
- &lt;pre&gt;
- &amp;lt;concat destfile=&amp;quot;${build.dir}/index.xml&amp;quot;
-   append=&amp;quot;false&amp;quot;&amp;gt;
-
-   &amp;lt;fileset dir=&amp;quot;${xml.root.dir}&amp;quot;
-     includes=&amp;quot;*.xml&amp;quot; /&amp;gt;
-
- &amp;lt;/concat&amp;gt;
- &lt;/pre&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="append" required="no">
-        
-          
-        
-          <description>
-          Sets the behavior when the destination file exists. If set to
- &lt;code&gt;true&lt;/code&gt; the stream data will be appended to the
- existing file, otherwise the existing file will be
- overwritten. Defaults to &lt;code&gt;false&lt;/code&gt;.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destfile" required="no     ">
-        
-          
-        
-          <description>
-          Sets the destination file, or uses the console if not specified.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no">
-        
-          
-
-        
-          <description>
-          Sets the encoding for the input files, used when displaying the
- data via the console.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="filelist" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          List of files to concatenate.
-        </description>
-      
-        </element>
-
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set of files to concatenate.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-      
-      <body>
-        
-        <description>
-          This method adds text which appears in the 'concat' element.
-        </description>
-      
-      </body>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="condition">
-
-  
-    
-  
-    <description>
-    Task to set a property conditionally using &amp;lt;uptodate&amp;gt;, &amp;lt;available&amp;gt;,
- and many other supported conditions.
-
- &lt;p&gt;This task supports boolean logic as well as pluggable conditions
- to decide, whether a property should be set.&lt;/p&gt;
-
- &lt;p&gt;This task does not extend Task to take advantage of
- ConditionBase.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="property" required="yes">
-        
-          
-        
-          <description>
-          The name of the property to set. Required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="value" required="no">
-        
-          
-        
-          <description>
-          The value for the property to set, if condition evaluates to true.
- Defaults to "true".
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="and" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;and&amp;gt; condition "container".
-        </description>
-      
-        </element>
-
-      
-        <element name="available" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;available&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="checksum" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;checksum&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="contains" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a &amp;lt;contains&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="equals" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;equals&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="filesmatch" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a &amp;lt;filesmatch&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="http" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;http&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="isfalse" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a &amp;lt;isfalse&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="isset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;isset&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="istrue" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a &amp;lt;istrue&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="not" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;not&amp;gt; condition "container".
-        </description>
-      
-        </element>
-
-      
-        <element name="or" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;or&amp;gt; condition "container".
-        </description>
-      
-        </element>
-
-      
-        <element name="os" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;os&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="socket" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a &amp;lt;socket&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="uptodate" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;uptodate&amp;gt; condition.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="copy">
-
-  
-    
-  
-    <description>
-    Copies a file or directory to a new file
- or directory.  Files are only copied if the source file is newer
- than the destination file, or when the destination file does not
- exist.  It is possible to explicitly overwrite existing files.&lt;/p&gt;
-
- &lt;p&gt;This implementation is based on Arnout Kuiper's initial design
- document, the following mailing list discussions, and the
- copyfile/copydir tasks.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="encoding" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the character encoding
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no; defaults to true.">
-        
-          
-        
-          <description>
-          If false, note errors to the output but keep going.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="yes, unless a nested      &lt;fileset&gt; element is used.">
-        
-          
-        
-          <description>
-          Sets a single source file to copy.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filtering" required="no; defaults to false.">
-        
-          
-        
-          <description>
-          If true, enables filtering.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="flatten" required="no; defaults to false.">
-        
-          
-
-        
-          <description>
-          When copying directory trees, the files can be "flattened"
- into a single directory.  If there are multiple files with
- the same name in the source directory tree, only the first
- file will be copied into the "flattened" directory, unless
- the forceoverwrite attribute is true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includeemptydirs" required="no; defaults to true.">
-        
-          
-        
-          <description>
-          Used to copy empty directories.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="overwrite" required="no; defaults to false.">
-        
-          
-        
-          <description>
-          Overwrite any existing destination file(s).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="preservelastmodified" required="no; defaults to false.">
-        
-          
-        
-          <description>
-          Give the copied files the same last modified time as the original files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="todir" required="">
-        
-          
-        
-          <description>
-          Sets the destination directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tofile" required="with the file        attribute, either tofile or todir can be used.        with nested &lt;fileset&gt; elements, if the set of files        is greater than 1, or if only the dir attribute is        specified in the &lt;fileset&gt;, or if the        file attribute is also specified, then only        todir is allowed.">
-        
-          
-        
-          <description>
-          Sets the destination file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no; defaults to false.">
-        
-          
-        
-          <description>
-          Used to force listing of all names of copied files.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files to copy.
-        </description>
-      
-        </element>
-
-      
-        <element name="filterchain" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a FilterChain.
-        </description>
-      
-        </element>
-
-      
-        <element name="filterset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a filterset.
-        </description>
-      
-        </element>
-
-      
-        <element name="mapper" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Defines the mapper to map source to destination files.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="copydir">
-
-  
-    
-  
-    <description>
-    Copies a directory.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dest" required="yes">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filtering" required="no">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-      
-        <attribute name="flatten" required="no">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-      
-        <attribute name="forceoverwrite" required="no">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="yes">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="copyfile">
-
-  
-    
-  
-    <description>
-    Copies a file.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dest" required="yes">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filtering" required="no">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-      
-        <attribute name="forceoverwrite" required="no">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="yes">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="csc">
-
-  
-    
-  
-    <description>
-    Compiles C# source into executables or modules.
-
-  The task will only work on win2K until other platforms support
-  csc.exe or an equivalent. CSC.exe must be on the execute path too. &lt;p&gt;
-
-  All parameters are optional: &amp;lt;csc/&amp;gt; should suffice to produce a debug
-  build of all *.cs files. References to external files do require explicit
-  enumeration, so are one of the first attributes to consider adding. &lt;p&gt;
-
-  The task is a directory based task, so attributes like &lt;b&gt;includes="*.cs"
-  &lt;/b&gt; and &lt;b&gt;excludes="broken.cs"&lt;/b&gt; can be used to control the files pulled
-  in. By default, all *.cs files from the project folder down are included in
-  the command. When this happens the output file -if not specified- is taken
-  as the first file in the list, which may be somewhat hard to control.
-  Specifying the output file with &lt;b&gt;'outfile'&lt;/b&gt; seems prudent. &lt;p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="additionalmodules" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Semicolon separated list of modules to refer to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debug" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          set the debug flag on or off.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="definitions" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Semicolon separated list of defined constants.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the destination directory of files to be compiled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the name of exe/library to create.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="docfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          file for generated XML documentation
-        </description>
-      
-        </attribute>
-      
-        <attribute name="extraoptions" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Any extra options which are not explicitly supported
- by this task.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, fail on compilation errors.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filealign" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the file alignment.
- Valid values are 0,512, 1024, 2048, 4096, 8192,
- and 16384, 0 means 'leave to the compiler'
-        </description>
-      
-        </attribute>
-      
-        <attribute name="fullpaths" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, print the full path of files on errors.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includedefaultreferences" required="NOTDEFINED">
-        
-          
-          <description>
-          If true, automatically includes the common assemblies
- in dotnet, and tells the compiler to link in mscore.dll.
-
-  set the automatic reference inclusion flag on or off this flag controls
-  the string of references and the /nostdlib option in CSC
-        </description>
-      
-        </attribute>
-      
-        <attribute name="incremental" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          set the incremental compilation flag on or off.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="mainclass" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the name of main class for executables.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="noconfig" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          A flag that tells the compiler not to read in the compiler 
- settings files 'csc.rsp' in its bin directory and then the local directory
-        </description>
-      
-        </attribute>
-      
-        <attribute name="optimize" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, enables optimization flag.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="outputfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the output file
-        </description>
-      
-        </attribute>
-      
-        <attribute name="referencefiles" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Path of references to include.
- Wildcards should work.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="references" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Semicolon separated list of DLLs to refer to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the source directory of the files to be compiled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="targettype" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the type of target.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="unsafe" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, enables the unsafe keyword.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="utf8output" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, require all compiler output to be in UTF8 format.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="warnlevel" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Level of warning currently between 1 and 4
- with 4 being the strictest.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="win32icon" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the filename of icon to include.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="win32res" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the filename of a win32 resource (.RES) file to include.
- This is not a .NET resource, but what Windows is used to.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="cvs">
-
-  
-    
-  
-    <description>
-    Performs operations on a CVS repository.
-
- original 1.20
-
-  NOTE: This implementation has been moved to AbstractCvsTask with
-  the addition of some accessors for extensibility.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="append" required="no, default to &quot;false&quot;.">
-        
-          
-        
-          <description>
-          Whether to append output/error when redirecting to a file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="command" required="no, default &quot;checkout&quot;.">
-        
-          
-        
-          <description>
-          The CVS command to execute.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compression" required="no. defaults to false.">
-        
-          
-        
-          <description>
-          If true, this is the same as compressionlevel="3".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compressionlevel" required="no. defaults to no compression.">
-        
-          
-
-        
-          <description>
-          If set to a value 1-9 it adds -zN to the cvs command line, else
- it disables compression.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cvsroot" required="no">
-        
-          
-        
-          <description>
-          The CVSROOT variable.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cvsrsh" required="no">
-        
-          
-        
-          <description>
-          The CVS_RSH variable.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="date" required="no">
-        
-          
-        
-          <description>
-          Use the most recent revision no later than the given date.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dest" required="no, default is project&apos;s basedir.">
-        
-          
-        
-          <description>
-          The directory where the checked out files should be placed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="error" required="no, default error to ant log as msg_warn.">
-        
-          
-        
-          <description>
-          The file to direct standard error from the command.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no">
-        
-          
-
-        
-          <description>
-          Stop the build process if the command exits with
- a return code other than 0.
- Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="noexec" required="no, default to &quot;false&quot;">
-        
-          
-        
-          <description>
-          If true, report only and don't change any files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="output" required="no, default output to ant log as msg_info.">
-        
-          
-        
-          <description>
-          The file to direct standard output from the command.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="package" required="no">
-        
-          
-        
-          <description>
-          The package/module to operate upon.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="passfile" required="no, default file ~/.cvspass.">
-        
-          
-        
-          <description>
-          Password file to read passwords from.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="no, default port 2401.">
-        
-          
-        
-          <description>
-          Port used by CVS to communicate with the server.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="quiet" required="no, default &quot;false&quot;">
-        
-          
-        
-          <description>
-          If true, suppress informational messages.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tag" required="no">
-        
-          
-        
-          <description>
-          The tag of the package/module to operate upon.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="commandline" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds direct command-line to execute.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="cvschangelog">
-
-  
-    
-  
-    <description>
-    Examines the output of cvs log and group related changes together.
-
- It produces an XML output representing the list of changes.
- &lt;PRE&gt;
- &lt;FONT color=#0000ff&gt;&amp;lt;!-- Root element --&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#6a5acd&gt;&amp;lt;!ELEMENT&lt;/FONT&gt; changelog &lt;FONT color=#ff00ff&gt;(entry&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;+&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;)&lt;/FONT&gt;&lt;FONT color=#6a5acd&gt;&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#0000ff&gt;&amp;lt;!-- CVS Entry --&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#6a5acd&gt;&amp;lt;!ELEMENT&lt;/FONT&gt; entry &lt;FONT color=#ff00ff&gt;(date,author,file&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;+&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;,msg)&lt;/FONT&gt;&lt;FONT color=#6a5acd&gt;&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#0000ff&gt;&amp;lt;!-- Date of cvs entry --&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#6a5acd&gt;&amp;lt;!ELEMENT&lt;/FONT&gt; date &lt;FONT color=#ff00ff&gt;(#PCDATA)&lt;/FONT&gt;&lt;FONT color=#6a5acd&gt;&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#0000ff&gt;&amp;lt;!-- Author of change --&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#6a5acd&gt;&amp;lt;!ELEMENT&lt;/FONT&gt; author &lt;FONT color=#ff00ff&gt;(#PCDATA)&lt;/FONT&gt;&lt;FONT color=#6a5acd&gt;&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#0000ff&gt;&amp;lt;!-- List of files affected --&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#6a5acd&gt;&amp;lt;!ELEMENT&lt;/FONT&gt; msg &lt;FONT color=#ff00ff&gt;(#PCDATA)&lt;/FONT&gt;&lt;FONT color=#6a5acd&gt;&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#0000ff&gt;&amp;lt;!-- File changed --&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#6a5acd&gt;&amp;lt;!ELEMENT&lt;/FONT&gt; file &lt;FONT color=#ff00ff&gt;(name,revision,prevrevision&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;?&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;)&lt;/FONT&gt;&lt;FONT color=#6a5acd&gt;&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#0000ff&gt;&amp;lt;!-- Name of the file --&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#6a5acd&gt;&amp;lt;!ELEMENT&lt;/FONT&gt; name &lt;FONT color=#ff00ff&gt;(#PCDATA)&lt;/FONT&gt;&lt;FONT color=#6a5acd&gt;&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#0000ff&gt;&amp;lt;!-- Revision number --&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#6a5acd&gt;&amp;lt;!ELEMENT&lt;/FONT&gt; revision &lt;FONT color=#ff00ff&gt;(#PCDATA)&lt;/FONT&gt;&lt;FONT color=#6a5acd&gt;&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#0000ff&gt;&amp;lt;!-- Previous revision number --&amp;gt;&lt;/FONT&gt;
- &lt;FONT color=#6a5acd&gt;&amp;lt;!ELEMENT&lt;/FONT&gt; prevrevision &lt;FONT color=#ff00ff&gt;(#PCDATA)&lt;/FONT&gt;&lt;FONT color=#6a5acd&gt;&amp;gt;&lt;/FONT&gt;
- &lt;/PRE&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="daysinpast" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the number of days worth of log entries to process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the output file for the log.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the base dir for cvs.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="end" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the date at which the changelog should stop.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="start" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the date at which the changelog should start.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="usersfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set a lookup list of user names &amp; addresses
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files about which cvs logs will be generated.
-        </description>
-      
-        </element>
-
-      
-        <element name="user" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a user to list changelog knows about.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="cvspass">
-
-  
-    
-  
-    <description>
-    Adds an new entry to a CVS password file.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="cvsroot" required="yes">
-        
-          
-        
-          <description>
-          The CVS repository to add an entry for.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="passfile" required="no, default is ~/.cvspass.">
-        
-          
-        
-          <description>
-          Password file to add the entry to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="yes">
-        
-          
-        
-          <description>
-          Password to be added to the password file.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="cvstagdiff">
-
-  
-    
-  
-    <description>
-    Examines the output of cvs rdiff between two tags.
-
- It produces an XML output representing the list of changes.
- &lt;PRE&gt;
- &amp;lt;!-- Root element --&amp;gt;
- &amp;lt;!ELEMENT tagdiff ( entry+ ) &amp;gt;
- &amp;lt;!-- Start tag of the report --&amp;gt;
- &amp;lt;!ATTLIST tagdiff startTag NMTOKEN #IMPLIED &amp;gt;
- &amp;lt;!-- End tag of the report --&amp;gt;
- &amp;lt;!ATTLIST tagdiff endTag NMTOKEN #IMPLIED &amp;gt;
- &amp;lt;!-- Start date of the report --&amp;gt;
- &amp;lt;!ATTLIST tagdiff startDate NMTOKEN #IMPLIED &amp;gt;
- &amp;lt;!-- End date of the report --&amp;gt;
- &amp;lt;!ATTLIST tagdiff endDate NMTOKEN #IMPLIED &amp;gt;
-
- &amp;lt;!-- CVS tag entry --&amp;gt;
- &amp;lt;!ELEMENT entry ( file ) &amp;gt;
- &amp;lt;!-- File added, changed or removed --&amp;gt;
- &amp;lt;!ELEMENT file ( name, revision?, prevrevision? ) &amp;gt;
- &amp;lt;!-- Name of the file --&amp;gt;
- &amp;lt;!ELEMENT name ( #PCDATA ) &amp;gt;
- &amp;lt;!-- Revision number --&amp;gt;
- &amp;lt;!ELEMENT revision ( #PCDATA ) &amp;gt;
- &amp;lt;!-- Previous revision number --&amp;gt;
- &amp;lt;!ELEMENT prevrevision ( #PCDATA ) &amp;gt;
- &lt;/PRE&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="compression" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, this is the same as compressionlevel="3".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compressionlevel" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          If set to a value 1-9 it adds -zN to the cvs command line, else
- it disables compression.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cvsroot" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The CVSROOT variable.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cvsrsh" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The CVS_RSH variable.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destfile" required="yes">
-        
-          
-        
-          <description>
-          Set the output file for the diff.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="enddate" required="">
-        
-          
-        
-          <description>
-          Set the end date.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="endtag" required="exactly one of the two.">
-        
-          
-        
-          <description>
-          Set the end tag.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Stop the build process if the command exits with
- a return code other than 0.
- Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="package" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The package/module to analyze.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="passfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Password file to read passwords from.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Port used by CVS to communicate with the server.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="quiet" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, suppress informational messages.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="startdate" required="">
-        
-          
-        
-          <description>
-          Set the start date.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="starttag" required="exactly one of the two.">
-        
-          
-        
-          <description>
-          Set the start tag.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ddcreator">
-
-  
-    
-  
-    <description>
-    Builds a serialized deployment descriptor given a text file description of the
- descriptor in the format supported by WebLogic.
-
- This ant task is a front end for the weblogic DDCreator tool.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the classpath to be used for this compilation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="descriptors" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the directory from where the text descriptions of the deployment descriptors are
- to be read.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dest" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the directory into which the serialized deployment descriptors are to
- be written.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="delete">
-
-  
-    
-  
-    <description>
-    Deletes a file or directory, or set of files defined by a fileset.
- The original delete task would delete a file, or a set of files 
- using the include/exclude syntax.  The deltree task would delete a 
- directory tree.  This task combines the functionality of these two
- originally distinct tasks.
- &lt;p&gt;Currently Delete extends MatchingTask.  This is intend &lt;i&gt;only&lt;/i&gt;
- to provide backwards compatibility for a release.  The future position
- is to use nested filesets exclusively.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="defaultexcludes" required="no">
-        
-          
-        
-          <description>
-          Sets whether default exclusions should be used or not.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="">
-        
-          
-        
-          <description>
-          Set the directory from which files are to be deleted
-        </description>
-      
-        </attribute>
-      
-        <attribute name="excludes" required="no">
-        
-          
-        
-          <description>
-          Sets the set of exclude patterns. Patterns may be separated by a comma
- or a space.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="excludesfile" required="no">
-        
-          
-        
-          <description>
-          Sets the name of the file containing the includes patterns.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no">
-        
-          
-        
-          <description>
-          If false, note errors but continue.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="at least one of the two,       unless a &lt;fileset&gt; is specified.">
-        
-          
-        
-          <description>
-          Set the name of a single file to be removed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includeemptydirs" required="no">
-        
-          
-        
-          <description>
-          If true, delete empty directories.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includes" required="no">
-        
-          
-        
-          <description>
-          Sets the set of include patterns. Patterns may be separated by a comma
- or a space.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includesfile" required="no">
-        
-          
-        
-          <description>
-          Sets the name of the file containing the includes patterns.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="quiet" required="no">
-        
-          
-
-        
-          <description>
-          If true and the file does not exist, do not display a diagnostic
- message or modify the exit status to reflect an error.
- This means that if a file or directory cannot be deleted,
- then no error is reported. This setting emulates the
- -f option to the Unix &amp;quot;rm&amp;quot; command.
- Default is false meaning things are &amp;quot;noisy&amp;quot;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no">
-        
-          
-        
-          <description>
-          If true, list all names of deleted files.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files to be deleted.
-        </description>
-      
-        </element>
-
-      
-        <element name="exclude" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add a name entry on the exclude list
-        </description>
-      
-        </element>
-
-      
-        <element name="excludesfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add a name entry on the include files list
-        </description>
-      
-        </element>
-
-      
-        <element name="include" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add a name entry on the include list
-        </description>
-      
-        </element>
-
-      
-        <element name="includesfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add a name entry on the include files list
-        </description>
-      
-        </element>
-
-      
-        <element name="patternset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add a set of patterns
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="deltree">
-
-  
-    
-  
-    <description>
-    
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dir" required="yes">
-        
-          
-        
-          <description>
-          Set the directory to be deleted
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="depend">
-
-  
-    
-  
-    <description>
-    Generates a dependency file for a given set of classes.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="cache" required="no">
-        
-          
-        
-          <description>
-          Sets the dependency cache file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath to be used for this dependency check.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a reference to a classpath defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="closure" required="no">
-        
-          
-
-        
-          <description>
-          If true, transitive dependencies are followed until the
- closure of the dependency set if reached.
- When not set, the depend task will only follow
- direct dependencies between classes.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destdir" required="no">
-        
-          
-        
-          <description>
-          Set the destination directory where the compiled Java files exist.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dump" required="no">
-        
-          
-
-        
-          <description>
-          If true, the dependency information will be written
- to the debug level log.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcdir" required="yes">
-        
-          
-        
-          <description>
-          Set the directories path to find the Java source files.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a classpath to be used for this dependency check.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="dependset">
-
-  
-    
-  
-    <description>
-    Examines and removes out of date target files.  If any of the target files
- are out of date with respect to any of the source files, all target
- files are removed.  This is useful where dependencies cannot be
- computed (for example, dynamically interpreted parameters or files
- that need to stay in synch but are not directly linked) or where
- the ant task in question could compute them but does not (for
- example, the linked DTD for an XML file using the style task).
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-    </attributes>
-
-    
-      <elements>
-      
-        <element name="srcfilelist" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a list of source files.
-        </description>
-      
-        </element>
-
-      
-        <element name="srcfileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a set of source files.
-        </description>
-      
-        </element>
-
-      
-        <element name="targetfilelist" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a list of target files.
-        </description>
-      
-        </element>
-
-      
-        <element name="targetfileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a set of target files.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="dirname">
-
-  
-    
-  
-    <description>
-    Determines the directory name of the specified file.
-
- This task can accept the following attributes:
- &lt;ul&gt;
- &lt;li&gt;file
- &lt;li&gt;property
- &lt;/ul&gt;
- Both &lt;b&gt;file&lt;/b&gt; and &lt;b&gt;property&lt;/b&gt; are required.
- &lt;p&gt;
- When this task executes, it will set the specified property to the
- value of the specified file up to, but not including, the last path
- element. If file is a file, the directory will be the current
- directory.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="file" required="yes">
-        
-          
-        
-          <description>
-          Path to take the dirname of.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="property" required="yes">
-        
-          
-        
-          <description>
-          The name of the property to set.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ear">
-
-  
-    
-  
-    <description>
-    Creates a EAR archive. Based on WAR task
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="appxml" required="yes, unless update is set to true">
-        
-          
-        
-          <description>
-          File to incorporate as application.xml.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="basedir" required="no">
-        
-          
-        
-          <description>
-          Directory from which to archive files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compress" required="no">
-        
-          <description>
-          Whether we want to compress the files or only store them; default=true;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destfile" required="yes">
-       
-          <description>
-          The file to create.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="duplicate" required="no">
-        
-          <description>
-          Sets behavior for when a duplicate file is about to be added -
- one of &lt;code&gt;keep&lt;/code&gt;, &lt;code&gt;skip&lt;/code&gt; or &lt;code&gt;overwrite&lt;/code&gt;.
- Possible values are: &lt;code&gt;keep&lt;/code&gt; (keep both
- of the files); &lt;code&gt;skip&lt;/code&gt; (keep the first version
- of the file found); &lt;code&gt;overwrite&lt;/code&gt; overwrite the file
- with the new file
- Default for zip tasks is &lt;code&gt;keep&lt;/code&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no">
-        
-        
-          <description>
-          Encoding to use for filenames, defaults to the platform's
- default encoding.
-
- &lt;p&gt;For a list of possible values see &lt;a
- href="http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html"&gt;http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html&lt;/a&gt;.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filesonly" required="no">
-        
-          <description>
-          If true, emulate Sun's jar utility by not adding parent directories; defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="index" required="NOTDEFINED">
-        
-          <description>
-          Set whether or not to create an index list for classes.
- This may speed up classloading in some cases.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="manifest" required="no">
-        
-          
-        
-          <description>
-          The manifest file to use. This can be either the location of a manifest,
- or the name of a jar added through a fileset. If its the name of an added
- jar, the task expects the manifest to be in the jar at META-INF/MANIFEST.MF.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="update" required="no">
-        
-       
-        
-          <description>
-          If true, updates an existing file, otherwise overwrite
- any existing one; defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="whenempty" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets behavior of the task when no files match.
- Possible values are: &lt;code&gt;fail&lt;/code&gt; (throw an exception
- and halt the build); &lt;code&gt;skip&lt;/code&gt; (do not create
- any archive, but issue a warning); &lt;code&gt;create&lt;/code&gt;
- (make an archive with no entries).
- Default for zip tasks is &lt;code&gt;skip&lt;/code&gt;;
- for jar tasks, &lt;code&gt;create&lt;/code&gt;.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="archives" required="NOTDEFINED">
-
-          <description>
-          Adds zipfileset.
-        </description>
-      
-        </element>
-
-      
-        <element name="manifest" required="NOTDEFINED">
-        
-        
-          <description>
-          Allows the manifest for the archive file to be provided inline
- in the buildfile rather than in an external file.
-        </description>
-      
-        </element>
-
-      
-        <element name="fileset" required="NOTDEFINED">
-
-          <description>
-          Adds a set of files.
-        </description>
-      
-        </element>
-
-      
-        <element name="metainf" required="NOTDEFINED">
-
-          <description>
-          Adds a zipfileset to include in the META-INF directory.
-        </description>
-      
-        </element>
-
-      
-        <element name="zipgroupfileset" required="NOTDEFINED">
-
-          <description>
-          Adds a group of zip files.
-        </description>
-      
-        </element>
-
-      
-        <element name="zipfileset" required="NOTDEFINED">
-        
-         
-        
-          <description>
-          Adds a set of files that can be read from an archive and be given a prefix/fullpath.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="echo">
-
-    <description>
-    Writes a message to the Ant logging facilities.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="append" required="no - default is false.">
-
-          <description>
-          If true, append to existing file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="no">
-	    <description>
-          File to write to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="level" required="no - default is &quot;warning&quot;.">
-        
-          
-        
-          <description>
-          Set the logging level. Level should be one of
- &lt;ul&gt;
-  &lt;li&gt;error&lt;/li&gt;
-  &lt;li&gt;warning&lt;/li&gt;
-  &lt;li&gt;info&lt;/li&gt;
-  &lt;li&gt;verbose&lt;/li&gt;
-  &lt;li&gt;debug&lt;/li&gt;
- &lt;/ul&gt;
- &lt;p&gt;The default is &amp;quot;warning&amp;quot; to ensure that messages are
- displayed by default when using the -quiet command line option.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="message" required="yes, unless data is included in a        character section within this element.">
-        
-          
-        
-          <description>
-          Message to write.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-      
-      <body>
-        
-        <description>
-          Set a multiline message.
-        </description>
-      
-      </body>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="echoproperties">
-
-    <description>
-    Displays all the current properties in the build. The output can be sent to
-  a file if desired. &lt;P&gt;
-
-  Attribute "destfile" defines a file to send the properties to. This can be
-  processed as a standard property file later. &lt;P&gt;
-
-  Attribute "prefix" defines a prefix which is used to filter the properties
-  only those properties starting with this prefix will be echoed. &lt;P&gt;
-
-  By default, the "failonerror" attribute is enabled. If an error occurs while
-  writing the properties to a file, and this attribute is enabled, then a
-  BuildException will be thrown. If disabled, then IO errors will be reported
-  as a log statement, but no error will be thrown. &lt;P&gt;
-
-  Examples: &lt;pre&gt;
-  &amp;lt;echoproperties  /&amp;gt;
- &lt;/pre&gt; Report the current properties to the log. &lt;P&gt;
-
-  &lt;pre&gt;
-  &amp;lt;echoproperties destfile="my.properties" /&amp;gt;
- &lt;/pre&gt; Report the current properties to the file "my.properties", and will
-  fail the build if the file could not be created or written to. &lt;P&gt;
-
-  &lt;pre&gt;
-  &amp;lt;echoproperties destfile="my.properties" failonerror="false"
-      prefix="ant" /&amp;gt;
- &lt;/pre&gt; Report all properties beginning with 'ant' to the file
-  "my.properties", and will log a message if the file could not be created or
-  written to, but will still allow the build to continue.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="destfile" required="no">
-
-          <description>
-          Set a file to store the property output.  If this is never specified,
-  then the output will be sent to the Ant log.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no">
-        
-          
-
-        
-          <description>
-          If true, the task will fail if an error occurs writing the properties
- file, otherwise errors are just logged.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="prefix" required="no">
-        
-          <description>
-          If the prefix is set, then only properties which start with this
-  prefix string will be recorded.  If this is never set, or it is set
-  to an empty string or &lt;tt&gt;null&lt;/tt&gt;, then all properties will be
-  recorded. &lt;P&gt;
-
-  For example, if the property is set as:
-    &lt;PRE&gt;&amp;lt;echoproperties  prefix="ant." /&amp;gt;&lt;/PRE&gt;
-  then the property "ant.home" will be recorded, but "ant-example"
-  will not.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ejbc">
-
-    <description>
-    Builds EJB support classes using WebLogic's ejbc tool from a directory containing
- a set of deployment descriptors.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the classpath to be used for this compilation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="descriptors" required="NOTDEFINED">
-        
-          <description>
-          Set the directory from where the serialized deployment descriptors are to be read.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dest" required="NOTDEFINED">
-        
-          <description>
-          Set the directory into which the support classes, RMI stubs, etc are to be written.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keepgenerated" required="NOTDEFINED">
-        
-          <description>
-          If true, ejbc will keep the
- intermediate Java files used to build the class files.
- This can be useful when debugging.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="manifest" required="NOTDEFINED">
-        
-          <description>
-          Set the name of the generated manifest file.
-
- For each EJB that is processed an entry is created in this file. This can then be used
- to create a jar file for dploying the beans.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="NOTDEFINED">
-        
-          <description>
-          Set the directory containing the source code for the home interface, remote interface
- and public key class definitions.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ejbjar">
-
-    <description>
-    Provides automated EJB JAR file creation.
- &lt;p&gt;
- Extends the
- MatchingTask class provided in the default ant distribution to provide a
- directory scanning EJB jarfile generator.
- &lt;/p&gt;
-
- &lt;p&gt;
- The task works by taking the deployment descriptors one at a time and
- parsing them to locate the names of the classes which should be placed in
- the jar. The classnames are translated to java.io.Files by replacing
- periods with File.separatorChar and resolving the generated filename as a
- relative path under the srcDir attribute. All necessary files are then
- assembled into a jarfile. One jarfile is constructed for each deployment
- descriptor found.
- &lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="basejarname" required="NOTDEFINED">
-                
-          <description>
-          Set the base name of the EJB JAR that is to be created if it is not
- to be determined from the name of the deployment descriptor files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="basenameterminator" required="NOTDEFINED">
- 
-          <description>
-          The string which terminates the bean name.
- The convention used by this task is
- that bean descriptors are named as the BeanName with some suffix. The
- baseNameTerminator string separates the bean name and the suffix and
- is used to determine the bean name.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the classpath to use when resolving classes for inclusion in the jar.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dependency" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the analyzer to use when adding in dependencies to the JAR.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="descriptordir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the descriptor directory. The descriptor directory contains the
- EJB deployment descriptors. These are XML files that declare the
- properties of a bean in a particular deployment scenario. Such
- properties include, for example, the transactional nature of the bean
- and the security access control to the bean's methods.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the destination directory. The EJB jar files will be written into
- this directory. The jar files that exist in this directory are also
- used when determining if the contents of the jar file have changed.
- Note that this parameter is only used if no deployment tools are
- specified. Typically each deployment tool will specify its own
- destination directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="flatdestdir" required="NOTDEFINED">
-        
-          <description>
-          Controls whether the destination JARs are written out in the destination directory with
- the same hierarchical structure from which the deployment descriptors
- have been read. If this is set to true the generated EJB jars are
- written into the root of the destination directory, otherwise they
- are written out in the same relative position as the deployment
- descriptors in the descriptor directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="genericjarsuffix" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the suffix for the generated jar file. When generic jars are
- generated, they have a suffix which is appended to the the bean name
- to create the name of the jar file. Note that this suffix includes
- the extension fo te jar file and should therefore end with an
- appropriate extension such as .jar or .ear
-        </description>
-      
-        </attribute>
-      
-        <attribute name="manifest" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the Manifest file to use when jarring. As of EJB 1.1, manifest
- files are no longer used to configure the EJB. However, they still
- have a vital importance if the EJB is intended to be packaged in an
- EAR file. By adding "Class-Path" settings to a Manifest file, the EJB
- can look for classes inside the EAR file itself, allowing for easier
- deployment. This is outlined in the J2EE specification, and all J2EE
- components are meant to support it.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="naming" required="NOTDEFINED">
-        
-          <description>
-          Set the naming scheme used to determine the name of the generated jars
- from the deployment descriptor
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcdir" required="NOTDEFINED">
-          <description>
-          Sets the source directory, which is the directory that
- contains the classes that will be added to the EJB jar. Typically
- this will include the home and remote interfaces and the bean class.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="borland" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a deployment tool for Borland server.
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-         <description>
-          Adds to the classpath used to locate the super classes and
- interfaces of the classes that will make up the EJB JAR.
-        </description>
-      
-        </element>
-
-      
-        <element name="dtd" required="NOTDEFINED">
-          <description>
-          Create a DTD location record. This stores the location of a DTD. The
- DTD is identified by its public Id. The location may either be a file
- location or a resource location.
-        </description>
-      
-        </element>
-
-      
-        <element name="iplanet" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a deployment tool for iPlanet Application Server.
-        </description>
-      
-        </element>
-
-      
-        <element name="jboss" required="NOTDEFINED">
-        <description>
-          Adds a deployment tool for JBoss server.
-        </description>
-      
-        </element>
-
-      
-        <element name="jonas" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a deployment tool for JOnAS server.
-        </description>
-      
-        </element>
-
-      
-        <element name="support" required="NOTDEFINED">
-        <description>
-          Adds a fileset for support elements.
-        </description>
-      
-        </element>
-
-      
-        <element name="weblogic" required="NOTDEFINED">
-        <description>
-          Adds a deployment tool for Weblogic server.
-        </description>
-      
-        </element>
-
-      
-        <element name="weblogictoplink" required="NOTDEFINED">
-        <description>
-          Adds a deployment tool for Weblogic when using the Toplink
- Object-Relational mapping.
-        </description>
-      
-        </element>
-
-      
-        <element name="websphere" required="NOTDEFINED">
-      
-          <description>
-          Adds a deployment tool for Websphere 4.0 server.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="exec">
-	<description>
-    Executes a given command if the os platform is appropriate.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="append" required="no">
-        <description>
-          Whether output should be appended to or overwrite an existing file.
- Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="no">
-        
-          
-        
-          <description>
-          The working directory of the process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="executable" required="">
-        
-          
-        
-          <description>
-          The command to execute.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failifexecutionfails" required="no">
-        
-          
-        
-          <description>
-          Stop the build if program cannot be started. Defaults to true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no">
-        
-          
-        
-          <description>
-          Fail if the command exits with a non-zero return code.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="newenvironment" required="no, default is false">
-        
-          
-        
-          <description>
-          Do not propagate old environment when new environment variables are specified.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="os" required="no">
-        
-          
-        
-          <description>
-          List of operating systems on which the command may be executed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="output" required="no">
-        
-          
-        
-          <description>
-          File the output of the process is redirected to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="outputproperty" required="no">
-       
-         <description>
-          Property name whose value should be set to the output of
- the process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="resultproperty" required="no">
-        <description>
-          The name of a property in which the return code of the
- command should be stored. Only of interest if failonerror=false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vmlauncher" required="no, default is true">
-        
-          
-        
-          <description>
-          If true, launch new process with VM, otherwise use the OS's shell.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="env" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an environment variable to the launched process.
-        </description>
-      
-        </element>
-
-      
-        <element name="arg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a command-line argument.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="fail">
-	<description>
-    Exits the active build, giving an additional message
- if available.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="if" required="no">
-        
-          
-        
-          <description>
-          Only fail if a property of the given name exists in the current project.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="message" required="no">
-        
-          
-        
-          <description>
-          A message giving further information on why the build exited.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="unless" required="no">
-        <description>
-          Only fail if a property of the given name does not
- exist in the current project.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-      
-      <body>
-        
-        <description>
-          Set a multiline message.
-        </description>
-      
-      </body>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="filter">
-
-  
-    
-  
-    <description>
-    Sets a token filter that is used by the file copy tasks
- to do token substitution. Sets mutiple tokens by
- reading these from a file.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="filtersfile" required="yes*">
-        
-          
-        
-          <description>
-          The file from which the filters must be read.
- This file must be a formatted as a property file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="token" required="yes*">
-        
-          
-        
-          <description>
-          The token string without @ delimiters.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="value" required="yes*">
-        
-          
-        
-          <description>
-          The string that should replace the token during filtered copies.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="fixcrlf">
-
-  
-    
-  
-    <description>
-    Converts text source files to local OS formatting conventions, as
- well as repair text files damaged by misconfigured or misguided editors or
- file transfer programs.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="destdir" required="no">
-        <description>
-          Set the destination where the fixed files should be placed.
- Default is to replace the original file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no - defaults to default jvm encoding">
-        <description>
-          Specifies the encoding Ant expects the files to be in -
- defaults to the platforms default encoding.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="eof" required="no">
-        <description>
-          Specify how DOS EOF (control-z) characters are to be handled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="eol" required="no">
-        
-          
-        
-          <description>
-          Specify how EndOfLine characters are to be handled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="javafiles" required="no">
-        
-          
-        
-          <description>
-          Set to true if modifying Java source files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcdir" required="yes">
-        
-          
-        
-          <description>
-          Set the source dir to find the source text files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tab" required="no">
-        
-          
-        
-          <description>
-          Specify how tab characters are to be handled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tablength" required="no">
-        
-          
-        
-          <description>
-          Specify tab length in characters.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ftp">
-
-  
-    
-  
-    <description>
-    Basic FTP client. Performs the following actions:
- &lt;ul&gt;
-   &lt;li&gt; &lt;strong&gt;send&lt;/strong&gt; - send files to a remote server. This is the
-   default action.&lt;/li&gt;
-   &lt;li&gt; &lt;strong&gt;get&lt;/strong&gt; - retrive files from a remote server.&lt;/li&gt;
-   &lt;li&gt; &lt;strong&gt;del&lt;/strong&gt; - delete files from a remote server.&lt;/li&gt;
-   &lt;li&gt; &lt;strong&gt;list&lt;/strong&gt; - create a file listing.&lt;/li&gt;
-   &lt;li&gt; &lt;strong&gt;chmod&lt;/strong&gt; - change unix file permissions.&lt;/li&gt;
- &lt;/ul&gt;
- &lt;strong&gt;Note:&lt;/strong&gt; Some FTP servers - notably the Solaris server - seem
- to hold data ports open after a "retr" operation, allowing them to timeout
- instead of shutting them down cleanly. This happens in active or passive
- mode, and the ports will remain open even after ending the FTP session. FTP
- "send" operations seem to close ports immediately. This behavior may cause
- problems on some systems when downloading large sets of files.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="action" required="no">
-        
-          
-        
-          <description>
-          Sets the FTP action to be taken. Currently accepts "put", "get", "del",
- "mkdir", "chmod" and "list".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="binary" required="no">
-        
-          
-        
-          <description>
-          If true, uses binary mode, otherwise text mode (default is binary).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="chmod" required="no">
-        
-          
-        
-          <description>
-          Sets the file permission mode (Unix only) for files sent to the server.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="depends" required="no">
-        <description>
-          Set to true to transmit only files that are new or changed from their
- remote counterparts. The default is to transmit all files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ignorenoncriticalerrors" required="no">
-        <description>
-          Aet the flag to skip errors on directory creation.
- (and maybe later other server specific errors)
-        </description>
-      
-        </attribute>
-      
-        <attribute name="listing" required="no">
-        
-          
-        
-          <description>
-          The output file for the "list" action. This attribute is ignored for
- any other actions.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="newer" required="no">
-        
-          
-        
-          <description>
-          A synonym for &lt;tt&gt;depends&lt;/tt&gt;. Set to true to transmit only new or changed
- files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="passive" required="no">
-        
-          
-        
-          <description>
-          Specifies whether to use passive mode. Set to true if you are behind a
- firewall and cannot connect without it. Passive mode is disabled by
- default.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="yes">
-        
-          
-        
-          <description>
-          Sets the login password for the given user id.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="no">
-        
-          
-        
-          <description>
-          Sets the FTP port used by the remote server.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="remotedir" required="no">
-        
-          
-        
-          <description>
-          Sets the remote directory where files will be placed. This may be a
- relative or absolute path, and must be in the path syntax expected by
- the remote server. No correction of path syntax will be performed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="separator" required="no">
-        
-          
-        
-          <description>
-          Sets the remote file separator character. This normally defaults to the
- Unix standard forward slash, but can be manually overridden using this
- call if the remote server requires some other separator. Only the first
- character of the string is used.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="server" required="yes">
-        
-          
-        
-          <description>
-          Sets the FTP server to send files to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="skipfailedtransfers" required="no">
-       <description>
-          If true, enables unsuccessful file put, delete and get
- operations to be skipped with a warning and the remainder
- of the files still transferred.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="umask" required="no">
-        
-          
-        
-          <description>
-          Sets the default mask for file creation on a unix server.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="userid" required="yes">
-        
-          
-        
-          <description>
-          Sets the login user id to use on the specified server.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no">
-       <description>
-          Set to true to receive notification about each file as it is
- transferred.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          A set of files to upload or download
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="genkey">
-
-  
-    
-  
-    <description>
-    Generates a key in a keystore.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="alias" required="yes.">
-        
-          
-        
-          <description>
-          The alias to add under.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dname" required="yes if dname element unspecified">
-        
-          
-        
-          <description>
-          The distinguished name for entity.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keyalg" required="no">
-        
-          
-        
-          <description>
-          The method to use when generating name-value pair.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keypass" required="no">
-        
-          
-        
-          <description>
-          Password for private key (if different).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keysize" required="no">
-        
-          
-        
-          <description>
-          Indicates the size of key generated.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keystore" required="no">
-        
-          
-        
-          <description>
-          Keystore location.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sigalg" required="no">
-        
-          
-        
-          <description>
-          The algorithm to use in signing.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="storepass" required="yes.">
-        
-          
-        
-          <description>
-          Password for keystore integrity.
- Must be at least 6 characters long.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="storetype" required="no">
-        
-          
-        
-          <description>
-          Keystore type.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="validity" required="no">
-        
-          
-        
-          <description>
-          Indicates how many days certificate is valid.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no">
-        
-          
-        
-          <description>
-          If true, verbose output when signing.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="dname" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Distinguished name list.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="get">
-
-  
-    
-  
-    <description>
-    Gets a particular file from a URL source.
- Options include verbose reporting, timestamp based fetches and controlling
- actions on failures. NB: access through a firewall only works if the whole
- Java runtime is correctly configured.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dest" required="yes">
-        
-          
-        
-          <description>
-          Where to copy the source file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ignoreerrors" required="no; default &quot;false&quot;">
-        
-          
-        
-          <description>
-          If true, log errors but do not treat as fatal.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="if username is set">
-        
-          
-        
-          <description>
-          password for the basic authentication.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="yes">
-        
-          
-        
-          <description>
-          Set the URL to get.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="usetimestamp" required="no; default &quot;false&quot;">
-        
-         <description>
-          If true, conditionally download a file based on the timestamp
- of the local copy.
-
- &lt;p&gt;In this situation, the if-modified-since header is set so
- that the file is only fetched if it is newer than the local
- file (or there is no local file) This flag is only valid on
- HTTP connections, it is ignored in other cases.  When the flag
- is set, the local copy of the downloaded file will also have
- its timestamp set to the remote file time.&lt;/p&gt;
-
- &lt;p&gt;Note that remote files of date 1/1/1970 (GMT) are treated as
- 'no timestamp', and web servers often serve files with a
- timestamp in the future by replacing their timestamp with that
- of the current time. Also, inter-computer clock differences can
- cause no end of grief.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="username" required="if password is set">
-        
-          
-        
-          <description>
-          Username for basic auth.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no; default &quot;false&quot;">
-        
-          
-        
-          <description>
-          If true, show verbose progress information.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="gunzip">
-
-  
-    
-  
-    <description>
-    Expands a file that has been compressed with the GZIP
- algorithm. Normally used to compress non-compressed archives such
- as TAR files.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dest" required="no">
-        
-          
-        
-          <description>
-          The destination file or directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="yes">
-        
-          <description>
-          The file to expand.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="gzip">
-
-  
-    
-  
-    <description>
-    Compresses a file with the GZIP algorithm. Normally used to compress
- non-compressed archives such as TAR files.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="src" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          the file to compress; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="zipfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          the required destination file.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="icontract">
-
-    <description>
-    Instruments Java classes with iContract DBC preprocessor.
- &lt;br/&gt;
- The task can generate a properties file for &lt;a href="http://hjem.sol.no/hellesoy/icontrol.html"&gt;iControl&lt;/a&gt;,
- a graphical user interface that lets you turn on/off assertions. iControl generates a control file that you can refer to
- from this task using the controlfile attribute.
- iContract is at &lt;a href="http://www.reliable-systems.com/tools/"&gt;http://www.reliable-systems.com/tools/&lt;/a&gt;
- &lt;p/&gt;
- Thanks to Rainer Schmitz for enhancements and comments.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="builddir" required="no">
-        
-          
-        
-          <description>
-          Sets the build directory for instrumented classes.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classdir" required="only if updateicontrol=true">
-        
-          
-        
-          <description>
-          Sets the class directory (uninstrumented classes).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the classpath to be used for invocation of iContract.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a reference to a classpath defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="controlfile" required="only if updateicontrol=true">
-        
-          
-        
-          <description>
-          Sets the control file to pass to iContract.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failthrowable" required="no">
-        
-          
-        
-          <description>
-          Sets the Throwable (Exception) to be thrown on assertion violation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="instrumentdir" required="yes">
-        
-          
-        
-          <description>
-          Sets the instrumentation directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="invariant" required="no">
-        
-          
-        
-          <description>
-          Turns on/off invariant instrumentation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="post" required="no">
-        
-          
-        
-          <description>
-          Turns on/off postcondition instrumentation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="pre" required="no">
-        
-          
-        
-          <description>
-          Turns on/off precondition instrumentation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="quiet" required="no">
-        
-          
-        
-          <description>
-          Tells iContract to be quiet.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="repbuilddir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the build directory for instrumented classes.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="repositorydir" required="yes">
-        
-          
-        
-          <description>
-          Sets the build directory for repository classes.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcdir" required="yes">
-        
-          
-        
-          <description>
-          Sets the source directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="targets" required="no">
-        
-          
-        
-          <description>
-          Sets the name of the file where targets will be written. That is the
- file that tells iContract what files to process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="updateicontrol" required="no">
-        
-          
-        
-          <description>
-          If true, updates iControl properties file
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbosity" required="no">
-        
-          
-        
-          <description>
-          Sets the verbosity level of iContract. Any combination of
- error*,warning*,note*,info*,progress*,debug* (comma separated) can be
- used. Defaults to error*,warning*
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the classpath.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="ilasm">
-
-  
-    
-  
-    <description>
-    Assembles .NET Intermediate Language files. The task will only work
-  on win2K until other platforms support csc.exe or an equivalent. ilasm.exe
-  must be on the execute path too. &lt;p&gt;
-
-  &lt;p&gt;
-
-  All parameters are optional: &amp;lt;il/&amp;gt; should suffice to produce a debug
-  build of all *.il files. The option set is roughly compatible with the
-  CSharp class; even though the command line options are only vaguely
-  equivalent. [The low level commands take things like /OUT=file, csc wants
-  /out:file ... /verbose is used some places; /quiet here in ildasm... etc.]
-  It would be nice if someone made all the command line tools consistent (and
-  not as brittle as the java cmdline tools) &lt;p&gt;
-
-  The task is a directory based task, so attributes like &lt;b&gt;includes="*.il"
-  &lt;/b&gt; and &lt;b&gt;excludes="broken.il"&lt;/b&gt; can be used to control the files pulled
-  in. Each file is built on its own, producing an appropriately named output
-  file unless manually specified with &lt;b&gt;outfile&lt;/b&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="debug" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          set the debug flag on or off.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="extraoptions" required="NOTDEFINED">
-        <description>
-          Any extra options which are not explicitly supported by this task.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, fails if ilasm tool fails.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keyfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          the name of a file containing a private key.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="listing" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, produce a listing (off by default).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="outputfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the output file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="resourcefile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          name of resource file to include.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the source directory containing the files to be compiled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="targettype" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the type of target, either "exe" or "library".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, enable verbose ILASM output.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="input">
-
-  
-    
-  
-    <description>
-    Reads an input line from the console.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="addproperty" required="no">
-        
-          
-        
-          <description>
-          Defines the name of a property to be created from input. Behaviour is
- according to property task which means that existing properties
- cannot be overriden.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="message" required="no">
-        
-          
-        
-          <description>
-          Sets the Message which gets displayed to the user during the build run.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="validargs" required="no">
-        
-          
-        
-          <description>
-          Defines valid input parameters as comma separated strings. If set, input
- task will reject any input not defined as accepted and requires the user
- to reenter it. Validargs are case sensitive. If you want 'a' and 'A' to
- be accepted you need to define both values as accepted arguments.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-      
-      <body>
-        
-        <description>
-          Set a multiline message.
-        </description>
-      
-      </body>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="iplanet-ejbc">
-
-  
-    
-  
-    <description>
-    Compiles EJB stubs and skeletons for the iPlanet Application Server.
- The EJBs to be processed are specified by the EJB 1.1 standard XML
- descriptor, and additional attributes are obtained from the iPlanet Application
- Server-specific XML descriptor.  Since the XML descriptors can include
- multiple EJBs, this is a convenient way of specifying many EJBs in a single
- Ant task.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the classpath to be used when compiling the EJB stubs and skeletons.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debug" required="NOTDEFINED">
-        <description>
-          If true, debugging output will be generated when ejbc is executed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dest" required="NOTDEFINED">
-        <description>
-          Sets the destination directory where the EJB source classes must exist
- and where the stubs and skeletons will be written.  The destination
- directory must exist before this task is executed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ejbdescriptor" required="NOTDEFINED">
-        <description>
-          Sets the location of the standard XML EJB descriptor.  Typically, this
- file is named "ejb-jar.xml".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="iasdescriptor" required="NOTDEFINED">
-        <description>
-          Sets the location of the iAS-specific XML EJB descriptor.  Typically,
- this file is named "ias-ejb-jar.xml".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="iashome" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          May be used to specify the "home" directory for this iAS installation.
- The directory specified should typically be
- &lt;code&gt;[install-location]/iplanet/ias6/ias&lt;/code&gt;.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keepgenerated" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, the Java source files which are generated by ejbc will be saved .
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds to the classpath used when compiling the EJB stubs and skeletons.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jar">
-
-  
-    
-  
-    <description>
-    Creates a JAR archive.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="basedir" required="no">
-        
-          
-        
-          <description>
-          Directory from which to archive files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compress" required="no">
-        <description>
-          Whether we want to compress the files or only store them; default=true;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destfile" required="yes">
-        
-          
-        
-          <description>
-          The file to create; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="duplicate" required="no">
-        <description>
-          Sets behavior for when a duplicate file is about to be added -
- one of &lt;code&gt;keep&lt;/code&gt;, &lt;code&gt;skip&lt;/code&gt; or &lt;code&gt;overwrite&lt;/code&gt;.
- Possible values are: &lt;code&gt;keep&lt;/code&gt; (keep both
- of the files); &lt;code&gt;skip&lt;/code&gt; (keep the first version
- of the file found); &lt;code&gt;overwrite&lt;/code&gt; overwrite the file
- with the new file
- Default for zip tasks is &lt;code&gt;keep&lt;/code&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no">
-        <description>
-          Encoding to use for filenames, defaults to the platform's
- default encoding.
-
- &lt;p&gt;For a list of possible values see &lt;a
- href="http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html"&gt;http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html&lt;/a&gt;.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filesonly" required="no">
-        <description>
-          If true, emulate Sun's jar utility by not adding parent directories; defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="index" required="no">
-        
-          
-        
-          <description>
-          Set whether or not to create an index list for classes.
- This may speed up classloading in some cases.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="manifest" required="no">
-        
-          
-        
-          <description>
-          The manifest file to use. This can be either the location of a manifest,
- or the name of a jar added through a fileset. If its the name of an added
- jar, the task expects the manifest to be in the jar at META-INF/MANIFEST.MF.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="update" required="no">
-        
-          <description>
-          If true, updates an existing file, otherwise overwrite
- any existing one; defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="whenempty" required="no">
-        <description>
-          Sets behavior of the task when no files match.
- Possible values are: &lt;code&gt;fail&lt;/code&gt; (throw an exception
- and halt the build); &lt;code&gt;skip&lt;/code&gt; (do not create
- any archive, but issue a warning); &lt;code&gt;create&lt;/code&gt;
- (make an archive with no entries).
- Default for zip tasks is &lt;code&gt;skip&lt;/code&gt;;
- for jar tasks, &lt;code&gt;create&lt;/code&gt;.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="manifest" required="NOTDEFINED">
-        
-          <description>
-          Allows the manifest for the archive file to be provided inline
- in the buildfile rather than in an external file.
-        </description>
-      
-        </element>
-
-      
-        <element name="fileset" required="NOTDEFINED">
-        <description>
-          Adds a set of files.
-        </description>
-      
-        </element>
-
-      
-        <element name="metainf" required="NOTDEFINED">
-        <description>
-          Adds a zipfileset to include in the META-INF directory.
-        </description>
-      
-        </element>
-
-      
-        <element name="zipgroupfileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a group of zip files.
-        </description>
-      
-        </element>
-
-      
-        <element name="zipfileset" required="NOTDEFINED">
-        
-          <description>
-          Adds a set of files that can be read from an archive and be given a prefix/fullpath.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jarlib-available">
-  <description>
-    Checks whether an extension is present in a fileset or an extensionSet.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="file" required="no, one of file, nested      extensionset or nested fileset must be present.">
-        
-          
-        
-          <description>
-          The JAR library to check.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="property" required="yes">
-        
-          
-        
-          <description>
-          The name of property to set if extensions are available.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="extension" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the Extension looking for.
-        </description>
-      
-        </element>
-
-      
-        <element name="extensionset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of extensions to search in.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jarlib-display">
-
-  
-    
-  
-    <description>
-    Displays the "Optional Package" and "Package Specification" information
- contained within the specified JARs.
-
- &lt;p&gt;Prior to JDK1.3, an "Optional Package" was known as an Extension.
- The specification for this mechanism is available in the JDK1.3
- documentation in the directory
- $JDK_HOME/docs/guide/extensions/versioning.html. Alternatively it is
- available online at &lt;a href="http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html"&gt;
- http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&lt;/a&gt;.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="file" required="no, but one of file or fileset must be      present.">
-        
-          
-        
-          <description>
-          The JAR library to display information for.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files about which library data will be displayed.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jarlib-manifest">
-
-  
-    
-  
-    <description>
-    Generates a manifest that declares all the dependencies.
- The dependencies are determined by looking in the
- specified path and searching for Extension / "Optional Package"
- specifications in the manifests of the jars.
-
- &lt;p&gt;Prior to JDK1.3, an "Optional Package" was known as an Extension.
- The specification for this mechanism is available in the JDK1.3
- documentation in the directory
- $JDK_HOME/docs/guide/extensions/versioning.html. Alternatively it is
- available online at &lt;a href="http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html"&gt;
- http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html&lt;/a&gt;.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="destfile" required="yes.">
-        
-          
-        
-          <description>
-          The location where generated manifest is placed.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="attribute" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds an attribute that is to be put in main section of manifest.
-        </description>
-      
-        </element>
-
-      
-        <element name="depends" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of extensions that this library requires.
-        </description>
-      
-        </element>
-
-      
-        <element name="extension" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds an extension that this library implements.
-        </description>
-      
-        </element>
-
-      
-        <element name="options" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of extensions that this library optionally requires.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jarlib-resolve">
-
-  
-    
-  
-    <description>
-    Tries to locate a JAR to satisfy an extension and place
- location of JAR into property.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="checkextension" required="no, defaults to true.">
-        
-          <description>
-          If true, libraries returned by nested resolvers should be
- checked to see if they supply extension.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no, defaults to true.">
-        <description>
-          If true, failure to locate library should fail build.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="property" required="yes">
-        
-          <description>
-          The name of the property in which the location of library is stored.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="ant" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds Ant resolver to run an Ant buildfile to generate a library.
-        </description>
-      
-        </element>
-
-      
-        <element name="extension" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the Extension looking for.
-        </description>
-      
-        </element>
-
-      
-        <element name="location" required="NOTDEFINED">
-        
-          <description>
-          Adds location resolver to look for a library in a location
- relative to project directory.
-        </description>
-      
-        </element>
-
-      
-        <element name="url" required="NOTDEFINED">
-        
-          <description>
-          Adds a URL resolver to download a library from a URL to a local file.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="java">
-
-  
-    
-  
-    <description>
-    Launcher for Java applications. Allows use of
- the same JVM for the called application thus resulting in much
- faster operation.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="append" required="no">
-        
-          
-        
-          <description>
-          If true, append output to existing file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classname" required="either jar or classname">
-        
-          
-        
-          <description>
-          Sets the Java class to execute.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath to be used when running the Java class
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-        
-          <description>
-          Classpath to use, by reference.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="no">
-        
-          
-        
-          <description>
-          The working directory of the process
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no">
-        
-          <description>
-          If true, then fail if the command exits with a returncode other than 0
-        </description>
-      
-        </attribute>
-      
-        <attribute name="fork" required="no">
-        
-          
-        
-          <description>
-          If true, execute in a new VM.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jvmversion" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the JVM version.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jar" required="either jar or classname">
-        
-          
-        
-          <description>
-          The location of the JAR file to execute.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jvm" required="no">
-        
-          
-        
-          <description>
-          Set the command used to start the VM (only if not forking).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jvmargs" required="no">
-        
-          
-        
-          <description>
-          Set the command line arguments for the JVM.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="maxmemory" required="no">
-        
-          
-        
-          <description>
-          Corresponds to -mx or -Xmx depending on VM version.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="newenvironment" required="no">
-        
-          
-        
-          <description>
-          If true, use a completely new environment.
-
- &lt;p&gt;Will be ignored if we are not forking a new VM.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="output" required="no">
-        
-          
-        
-          <description>
-          File the output of the process is redirected to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="timeout" required="no">
-        
-          
-        
-          <description>
-          Timeout in milliseconds after which the process will be killed.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="env" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds an environment variable.
-
- &lt;p&gt;Will be ignored if we are not forking a new VM.
-        </description>
-      
-        </element>
-
-      
-        <element name="sysproperty" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a system property.
-        </description>
-      
-        </element>
-
-      
-        <element name="arg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a command-line argument.
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path to the classpath.
-        </description>
-      
-        </element>
-
-      
-        <element name="jvmarg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a JVM argument.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="javac">
-  
-    <description>
-    Compiles Java source files. This task can take the following
- When this task executes, it will recursively scan the sourcedir and
- destdir looking for Java source files to compile. This task makes its
- compile decision based on timestamp.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="bootclasspathref" required="no">
-        
-          
-        
-          <description>
-          Adds a reference to a classpath defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="bootclasspath" required="no">
-        <description>
-          Sets the bootclasspath that will be used to compile the classes
- against.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath to be used for this compilation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-        
-          <description>
-          Adds a reference to a classpath defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compiler" required="no">
-        
-          
-        
-          <description>
-          Choose the implementation for this particular task.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debug" required="no">
-        <description>
-          Indicates whether source should be compiled
- with debug information; defaults to off.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debuglevel" required="no">
-        
-          
-        
-          <description>
-          Keyword list to be appended to the -g command-line switch.
-
- This will be ignored by all implementations except modern
- and classic(ver &gt;= 1.2). Legal values are none or a
- comma-separated list of the following keywords: lines, vars,
- and source. If debuglevel is not specified, by default, :none
- will be appended to -g. If debug is not turned on, this attribute
- will be ignored.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="depend" required="no">
-        <description>
-          Enables dependency-tracking for compilers
- that support this (jikes and classic).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="deprecation" required="no">
-        <description>
-          Indicates whether source should be
- compiled with deprecation information; defaults to off.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destdir" required="no">
-        <description>
-          Set the destination directory into which the Java source
- files should be compiled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no">
-        
-          
-        
-          <description>
-          Set the Java source file encoding name.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="executable" required="no">
-        
-          
-        
-          <description>
-          Sets the the name of the javac executable.
-
- &lt;p&gt;Ignored unless fork is true or extJavac has been specified
- as the compiler.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="extdirs" required="no">
-        <description>
-          Sets the extension directories that will be used during the
- compilation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no">
-        <description>
-          Indicates whether the build will continue even if there are compilation errors; defaults to true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="fork" required="no">
-        
-          
-        
-          <description>
-          If true, forks the javac compiler.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includeantruntime" required="no">
-        
-          
-        
-          <description>
-          If true, includes Ant's own classpath in the classpath.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includejavaruntime" required="no">
-        
-          
-        
-          <description>
-          If true, includes the Java runtime libraries in the classpath.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="listfiles" required="no">
-        
-          
-        
-          <description>
-          If true, list the source files being handed off to the compiler.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="memoryinitialsize" required="no">
-        <description>
-          The initial size of the memory for the underlying VM
- if javac is run externally; ignored otherwise.
- Defaults to the standard VM memory setting.
- (Examples: 83886080, 81920k, or 80m)
-        </description>
-      
-        </attribute>
-      
-        <attribute name="memorymaximumsize" required="no">
-        <description>
-          The maximum size of the memory for the underlying VM
- if javac is run externally; ignored otherwise.
- Defaults to the standard VM memory setting.
- (Examples: 83886080, 81920k, or 80m)
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nowarn" required="no">
-        
-          
-        
-          <description>
-          If true, enables the -nowarn option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="optimize" required="no">
-        
-          
-        
-          <description>
-          If true, compiles with optimization enabled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="source" required="no">
-        <description>
-          Value of the -source command-line switch; will be ignored
- by all implementations except modern and jikes.
-
- If you use this attribute together with jikes, you must
- make sure that your version of jikes supports the -source switch.
- Legal values are 1.3 and 1.4 - by default, no -source argument
- will be used at all.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sourcepath" required="no">
-        
-          
-        
-          <description>
-          Set the sourcepath to be used for this compilation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sourcepathref" required="no">
-        
-          
-        
-          <description>
-          Adds a reference to a source path defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcdir" required="yes, unless nested &lt;src&gt; elements are present.">
-        
-          
-        
-          <description>
-          Set the source directories to find the source Java files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="target" required="no">
-        
-          
-        
-          <description>
-          Sets the target VM that the classes will be compiled for. Valid
- strings are "1.1", "1.2", and "1.3".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no">
-        
-          
-        
-          <description>
-          If true, asks the compiler for verbose output.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="bootclasspath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path to the bootclasspath.
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path to the classpath.
-        </description>
-      
-        </element>
-
-      
-        <element name="compilerarg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds an implementation specific command-line argument.
-        </description>
-      
-        </element>
-
-      
-        <element name="extdirs" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path to extdirs.
-        </description>
-      
-        </element>
-
-      
-        <element name="sourcepath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path to sourcepath.
-        </description>
-      
-        </element>
-
-      
-        <element name="src" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path for source compilation.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="javacc">
-
-  
-    
-  
-    <description>
-    JavaCC compiler compiler task.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="buildparser" required="no">
-        
-          
-        
-          <description>
-          Sets the BUILD_PARSER grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="buildtokenmanager" required="no">
-        
-          
-        
-          <description>
-          Sets the BUILD_TOKEN_MANAGER grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cachetokens" required="no">
-        
-          
-        
-          <description>
-          Sets the CACHE_TOKENS grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="choiceambiguitycheck" required="no">
-        
-          
-        
-          <description>
-          Sets the CHOICE_AMBIGUITY_CHECK grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="commontokenaction" required="no">
-        
-          
-        
-          <description>
-          Sets the COMMON_TOKEN_ACTION grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debuglookahead" required="no">
-        
-          
-        
-          <description>
-          Sets the DEBUG_LOOKAHEAD grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debugparser" required="no">
-        
-          
-        
-          <description>
-          Sets the DEBUG_PARSER grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debugtokenmanager" required="no">
-        
-          
-        
-          <description>
-          Sets the DEBUG_TOKEN_MANAGER grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="errorreporting" required="no">
-        
-          
-        
-          <description>
-          Sets the ERROR_REPORTING grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="forcelacheck" required="no">
-        
-          
-        
-          <description>
-          Sets the FORCE_LA_CHECK grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ignorecase" required="no">
-        
-          
-        
-          <description>
-          Sets the IGNORE_CASE grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="javacchome" required="yes">
-        
-          
-        
-          <description>
-          The directory containing the JavaCC distribution.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="javaunicodeescape" required="no">
-        
-          
-        
-          <description>
-          Sets the JAVA_UNICODE_ESCAPE grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="lookahead" required="no">
-        
-          
-        
-          <description>
-          Sets the LOOKAHEAD grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="optimizetokenmanager" required="no">
-        
-          
-        
-          <description>
-          Sets the OPTIMIZE_TOKEN_MANAGER grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="otherambiguitycheck" required="no">
-        
-          
-        
-          <description>
-          Sets the OTHER_AMBIGUITY_CHECK grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="outputdirectory" required="no">
-        
-          
-        
-          <description>
-          The directory to write the generated files to.
- If not set, the files are written to the directory
- containing the grammar file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sanitycheck" required="no">
-        
-          
-        
-          <description>
-          Sets the SANITY_CHECK grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="static" required="no">
-        
-          
-        
-          <description>
-          Sets the STATIC grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="target" required="yes">
-        
-          
-        
-          <description>
-          The grammar file to process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="unicodeinput" required="no">
-        
-          
-        
-          <description>
-          Sets the UNICODE_INPUT grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="usercharstream" required="no">
-        
-          
-        
-          <description>
-          Sets the USER_CHAR_STREAM grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="usertokenmanager" required="no">
-        
-          
-        
-          <description>
-          Sets the USER_TOKEN_MANAGER grammar option.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="javadoc">
-
-    <description>
-    Generates Javadoc documentation for a collection
- of source code.
-
- &lt;P&gt;Current known limitations are:
-
- &lt;P&gt;&lt;UL&gt;
-    &lt;LI&gt;patterns must be of the form "xxx.*", every other pattern doesn't
-        work.
-    &lt;LI&gt;there is no control on arguments sanity since they are left
-        to the javadoc implementation.
-    &lt;LI&gt;argument J in javadoc1 is not supported (what is that for anyway?)
- &lt;/UL&gt;
-
- &lt;P&gt;If no &lt;CODE&gt;doclet&lt;/CODE&gt; is set, then the &lt;CODE&gt;version&lt;/CODE&gt; and
- &lt;CODE&gt;author&lt;/CODE&gt; are by default &lt;CODE&gt;"yes"&lt;/CODE&gt;.
-
- &lt;P&gt;Note: This task is run on another VM because the Javadoc code calls
- &lt;CODE&gt;System.exit()&lt;/CODE&gt; which would break Ant functionality.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="access" required="no (default protected)">
-        
-          
-        
-          <description>
-          Set the scope to be processed. This is an alternative to the
- use of the setPublic, setPrivate, etc methods. It gives better build
- file control over what scope is processed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="additionalparam" required="no">
-        
-          
-        
-          <description>
-          Set an additional parameter on the command line
-        </description>
-      
-        </attribute>
-      
-        <attribute name="author" required="no">
-        
-          
-        
-          <description>
-          Include the author tag in the generated documentation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="bootclasspathref" required="no">
-        
-          
-        
-          <description>
-          Adds a reference to a CLASSPATH defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="bootclasspath" required="no">
-        
-          
-        
-          <description>
-          Set the boot classpath to use.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="bottom" required="no">
-        
-          
-        
-          <description>
-          Set the text to be placed at the bottom of each output file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="charset" required="no">
-        
-          
-        
-          <description>
-          Charset for cross-platform viewing of generated documentation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath to be used for this javadoc run.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-        
-          <description>
-          Adds a reference to a CLASSPATH defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="defaultexcludes" required="no">
-        
-          
-        
-          <description>
-          Sets whether default exclusions should be used or not.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destdir" required="yes, unless a doclet has been specified.">
-        
-          
-        
-          <description>
-          Set the directory where the Javadoc output will be generated.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="docencoding" required="no">
-        
-          
-        
-          <description>
-          Output file encoding name.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="doclet" required="no">
-        <description>
-          Set the class that starts the doclet used in generating the 
- documentation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="docletpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath used to find the doclet class.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="docletpathref" required="no">
-        
-          
-        
-          <description>
-          Set the classpath used to find the doclet class by reference.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="doctitle" required="no">
-        
-          
-        
-          <description>
-          Set the title of the generated overview page.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no">
-        
-          
-        
-          <description>
-          Set the encoding name of the source files,
-        </description>
-      
-        </attribute>
-      
-        <attribute name="excludepackagenames" required="no">
-        
-          
-        
-          <description>
-          Set the list of packages to be excluded.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="extdirs" required="no">
-        
-          
-        
-          <description>
-          Set the location of the extensions directories.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no">
-        
-        <description>
-          Should the build process fail if javadoc fails (as indicated by
- a non zero return code)?
-
- &lt;p&gt;Default is false.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="footer" required="no">
-        
-          
-        
-          <description>
-          Set the footer text to be placed at the bottom of each output file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="group" required="no">
-        
-          
-        
-          <description>
-          Group specified packages together in overview page.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="header" required="no">
-        
-          
-        
-          <description>
-          Set the header text to be placed at the top of each output file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="helpfile" required="no">
-        
-          
-        
-          <description>
-          Specifies the HTML help file to use.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="link" required="no">
-        
-          
-        
-          <description>
-          Create links to javadoc output at the given URL.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="linkoffline" required="no">
-        
-        <description>
-          Link to docs at "url" using package list at "url2"
- - separate the URLs by using a space character.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="locale" required="no">
-        
-          
-        
-          <description>
-          Set the local to use in documentation generation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="maxmemory" required="no">
-        
-          
-        
-          <description>
-          Set the maximum memory to be used by the javadoc process
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nodeprecated" required="no">
-        
-          
-        
-          <description>
-          If true, do not include @deprecated information.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nodeprecatedlist" required="no">
-        
-          
-        
-          <description>
-          If true, do not generate deprecated list.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nohelp" required="no">
-        
-          
-        
-          <description>
-          If true, do not generate help link
-        </description>
-      
-        </attribute>
-      
-        <attribute name="noindex" required="no">
-        
-          
-        
-          <description>
-          If true, do not generate index.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nonavbar" required="no">
-        
-          
-        
-          <description>
-          If true, do not generate navigation bar.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="notree" required="no">
-        
-          
-        
-          <description>
-          If true, do not generate class hierarchy.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="old" required="no">
-        <description>
-          Indicate whether Javadoc should produce old style (JDK 1.1) 
- documentation.
-
- This is not supported by JDK 1.1 and has been phased out in JDK 1.4
-        </description>
-      
-        </attribute>
-      
-        <attribute name="overview" required="no">
-        <description>
-          Specify the file containing the overview to be included in the generated
- documentation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="package" required="no">
-        <description>
-          Indicate whether only package, protected and public classes and 
- members are to be included in the scope processed
-        </description>
-      
-        </attribute>
-      
-        <attribute name="packagelist" required="no">
-        
-          
-        
-          <description>
-          The name of a file containing the packages to process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="packagenames" required="no">
-        
-          
-        
-          <description>
-          Set the package names to be processed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="private" required="no">
-        <description>
-          Indicate whether all classes and  members are to be included in the scope processed
-        </description>
-      
-        </attribute>
-      
-        <attribute name="protected" required="no">
-          <description>
-          Indicate whether only protected and public classes and members are to be included in the scope processed
-        </description>
-      
-        </attribute>
-      
-        <attribute name="public" required="no">
-        <description>
-          Indicate whether only public classes and members are to be included in the scope processed
-        </description>
-      
-        </attribute>
-      
-        <attribute name="serialwarn" required="no">
-        
-          
-        
-          <description>
-          If true, generate warning about @serial tag.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="source" required="no">
-        <description>
-          Enables the -source switch, will be ignored if javadoc is not
- the 1.4 version or a different doclet than the standard doclet
- is used.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sourcefiles" required="">
-        
-          
-        
-          <description>
-          Set the list of source files to process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sourcepath" required="at least one of the three or nested      &lt;sourcepath&gt;, &lt;fileset&gt; or      &lt;packageset&gt;">
-        
-          
-        
-          <description>
-          Specify where to find source file
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sourcepathref" required="">
-        
-          
-        
-          <description>
-          Adds a reference to a CLASSPATH defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="splitindex" required="no">
-        
-          
-        
-          <description>
-          Generate a split index
-        </description>
-      
-        </attribute>
-      
-        <attribute name="stylesheetfile" required="no">
-        
-          
-        
-          <description>
-          Specifies the CSS stylesheet file to use.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="use" required="no">
-        
-          
-        
-          <description>
-          Generate the &amp;quot;use&amp;quot page for each package.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="useexternalfile" required="no">
-        <description>
-          Work around command line length limit by using an external file
- for the sourcefiles.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no">
-        
-          
-        
-          <description>
-          Run javadoc in verbose mode
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="no">
-        
-          
-        
-          <description>
-          Include the version tag in the generated documentation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="windowtitle" required="no">
-        <description>
-          Set the title to be placed in the HTML &amp;lt;title&amp;gt; tag of the 
- generated documentation.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="bottom" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the text to be placed at the bottom of each output file.
-        </description>
-      
-        </element>
-
-      
-        <element name="doctitle" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a document title to use for the overview page.
-        </description>
-      
-        </element>
-
-      
-        <element name="excludepackage" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a package to be excluded from the javadoc run.
-        </description>
-      
-        </element>
-
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a fileset.
-
- &lt;p&gt;All included files will be added as sourcefiles.  The task
- will automatically add
- &lt;code&gt;includes=&amp;quot;**&amp;#47;*.java&amp;quot;&lt;/code&gt; to the
- fileset.&lt;/p&gt;
-        </description>
-      
-        </element>
-
-      
-        <element name="footer" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the footer text to be placed at the bottom of each output file.
-        </description>
-      
-        </element>
-
-      
-        <element name="header" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the header text to be placed at the top of each output file.
-        </description>
-      
-        </element>
-
-      
-        <element name="package" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a single package to be processed.
-
- If the package name ends with &amp;quot;.*&amp;quot; the Javadoc task
- will find and process all subpackages.
-        </description>
-      
-        </element>
-
-      
-        <element name="packageset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a packageset.
-
- &lt;p&gt;All included directories will be translated into package
- names be converting the directory separator into dots.&lt;/p&gt;
-        </description>
-      
-        </element>
-
-      
-        <element name="source" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a single source file.
-        </description>
-      
-        </element>
-
-      
-        <element name="taglet" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a taglet
-        </description>
-      
-        </element>
-
-      
-        <element name="bootclasspath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create a Path to be configured with the boot classpath
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create a Path to be configured with the classpath to use
-        </description>
-      
-        </element>
-
-      
-        <element name="doclet" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create a doclet to be used in the documentation generation.
-        </description>
-      
-        </element>
-
-      
-        <element name="group" required="NOTDEFINED">
-        <description>
-          Separates packages on the overview page into whatever
- groups you specify, one group per table.
-        </description>
-      
-        </element>
-
-      
-        <element name="link" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create link to javadoc output at the given URL.
-        </description>
-      
-        </element>
-
-      
-        <element name="sourcepath" required="NOTDEFINED">
-        
-          <description>
-          Create a path to be configured with the locations of the source files.
-        </description>
-      
-        </element>
-
-      
-        <element name="tag" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Creates and adds a -tag argument. This is used to specify
- custom tags. This argument is only available for JavaDoc 1.4,
- and will generate a verbose message (and then be ignored)
- when run on Java versions below 1.4.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="javah">
-
-  
-    
-  
-    <description>
-  Generates JNI headers from a Java class.
-When this task executes, it will generate the C header and source files that are needed to implement native methods. JNI operates differently depending on whether JDK1.2 (or later) or pre-JDK1.2 systems are used.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="bootclasspathref" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a reference to a classpath defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="bootclasspath" required="no">
-        
-          
-        
-          <description>
-          location of bootstrap class files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="class" required="yes">
-        
-          
-        
-          <description>
-          the fully-qualified name of the class (or classes, separated by commas).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          the classpath to use.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a reference to a classpath defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destdir" required="">
-        
-          <description>
-          Set the destination directory into which the Java source
- files should be compiled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="force" required="no">
-        
-          
-        
-          <description>
-          If true, output files should always be written (JDK1.2 only).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="old" required="no">
-        
-          <description>
-          If true, specifies that old JDK1.0-style header files should be
- generated.
- (otherwise output file contain JNI-style native method function prototypes) (JDK1.2 only)
-        </description>
-      
-        </attribute>
-      
-        <attribute name="outputfile" required="yes">
-        
-          <description>
-          Concatenates the resulting header or source files for all
- the classes listed into this file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="stubs" required="no">
-        
-          
-        
-          <description>
-          If true, generate C declarations from the Java object file (used with old).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no">
-        
-          <description>
-          If true, causes Javah to print a message concerning
- the status of the generated files.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="bootclasspath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds path to bootstrap class files.
-        </description>
-      
-        </element>
-
-      
-        <element name="class" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds class to process.
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Path to use for classpath.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jdepend">
-
-  
-    
-  
-    <description>
-    Runs JDepend tests.
-
- &lt;p&gt;JDepend is a tool to generate design quality metrics for each Java package.
- It has been initially created by Mike Clark. JDepend can be found at &lt;a
- href="http://www.clarkware.com/software/JDepend.html"&gt;http://www.clarkware.com/software/JDepend.html&lt;/a&gt;.
-
- The current implementation spawn a new Java VM.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the classpath to be used for this compilation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-        
-          <description>
-          Adds a reference to a classpath defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="no">
-        
-          
-        
-          <description>
-          The directory to invoke the VM in. Ignored if no JVM is forked.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="fork" required="no, default is &quot;off&quot;">
-        
-          
-        
-          <description>
-          If true, forks into a new JVM. Default: false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="format" required="no">
-        
-          
-        
-          <description>
-          The format to write the output in, "xml" or "text".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="haltonerror" required="no, default is &quot;off&quot;">
-        
-          
-        
-          <description>
-          Whether or not to halt on failure. Default: false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jvm" required="no, default &quot;java&quot;">
-        
-          
-        
-          <description>
-          The command used to invoke a forked Java Virtual Machine.
-
- Default is &lt;tt&gt;java&lt;/tt&gt;. Ignored if no JVM is forked.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="outputfile" required="no">
-        
-          
-        
-          <description>
-          The output file name.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path to the classpath.
-        </description>
-      
-        </element>
-
-      
-        <element name="sourcespath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path to source code to analyze.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jjtree">
-
-  
-    
-  
-    <description>
-    Runs the JJTree compiler compiler.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="buildnodefiles" required="no">
-        
-          
-        
-          <description>
-          Sets the BUILD_NODE_FILES grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="javacchome" required="yes">
-        
-          
-        
-          <description>
-          The directory containing the JavaCC distribution.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="multi" required="no">
-        
-          
-        
-          <description>
-          Sets the MULTI grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nodedefaultvoid" required="no">
-        
-          
-        
-          <description>
-          Sets the NODE_DEFAULT_VOID grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nodefactory" required="no">
-        
-          
-        
-          <description>
-          Sets the NODE_FACTORY grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nodepackage" required="no">
-        
-          
-        
-          <description>
-          Sets the NODE_PACKAGE grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nodeprefix" required="no">
-        
-          
-        
-          <description>
-          Sets the NODE_PREFIX grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nodescopehook" required="no">
-        
-          
-        
-          <description>
-          Sets the NODE_SCOPE_HOOK grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nodeusesparser" required="no">
-        
-          
-        
-          <description>
-          Sets the NODE_USES_PARSER grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="outputdirectory" required="no">
-        
-          
-        
-          <description>
-          The directory to write the generated file to.
- If not set, the files are written to the directory
- containing the grammar file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="static" required="no">
-        
-          
-        
-          <description>
-          Sets the STATIC grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="target" required="yes">
-        
-          
-        
-          <description>
-          The jjtree grammar file to process.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="visitor" required="no">
-        
-          
-        
-          <description>
-          Sets the VISITOR grammar option.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="visitorexception" required="no">
-        
-          
-        
-          <description>
-          Sets the VISITOR_EXCEPTION grammar option.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jpcoverage">
-
-  
-    
-  
-    <description>
-    Runs Sitraka JProbe Coverage.
-
- Options are pretty numerous, you'd better check the manual for a full
- descriptions of options. (not that simple since they differ from the online
- help, from the usage command line and from the examples...)
- &lt;p&gt;
- For additional information, visit &lt;a href="http://www.sitraka.com"&gt;www.sitraka.com&lt;/a&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="applet" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, run an applet.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classname" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          classname to run as standalone or runner for filesets.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="exitprompt" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Toggles display of the console prompt: always, error, never
-        </description>
-      
-        </attribute>
-      
-        <attribute name="finalsnapshot" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Type of snapshot to send at program termination: none, coverage, all.
- Can be null, default to none
-        </description>
-      
-        </attribute>
-      
-        <attribute name="home" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The directory where JProbe is installed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="javaexe" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Path to the java executable.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recordfromstart" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          "all", "coverage",  or "none".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="seedname" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          seed name for snapshot file. Can be null, default to snap
-        </description>
-      
-        </attribute>
-      
-        <attribute name="snapshotdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The path to the directory where snapshot files are stored.
- Choose a directory that is reachable by both the remote
- and local computers, and enter the same path on the command-line
- and in the viewer.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tracknatives" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, track native methods.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vm" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Indicates which virtual machine to run: "jdk117", "jdk118" or "java2".
- Can be null, default to "java2".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="warnlevel" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set warning level (0-3, where 0 is the least amount of warnings).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="workingdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The physical path to the working directory for the VM.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          the classnames to execute.
-        </description>
-      
-        </element>
-
-      
-        <element name="arg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a command argument.
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          classpath to run the files.
-        </description>
-      
-        </element>
-
-      
-        <element name="filters" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Defines class/method filters based on pattern matching.
- The syntax is filters is similar to a fileset.
-        </description>
-      
-        </element>
-
-      
-        <element name="jvmarg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a JVM argument.
-        </description>
-      
-        </element>
-
-      
-        <element name="socket" required="NOTDEFINED">
-        <description>
-          Define a host and port to connect to if you want to do
- remote viewing.
-        </description>
-      
-        </element>
-
-      
-        <element name="triggers" required="NOTDEFINED">
-        <description>
-          Defines events to use for interacting with the
- collection of data performed during coverage.
-
- For example you may run a whole application but only decide
- to collect data once it reaches a certain method and once it
- exits another one.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jpcovmerge">
-
-  
-    
-  
-    <description>
-    Runs the snapshot merge utility for JProbe Coverage.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="home" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The directory where JProbe is installed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tofile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the output snapshot file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="NOTDEFINED">
-        
-          <description>
-          If true, perform the merge in verbose mode giving details
- about the snapshot processing.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add a fileset containing the snapshots to include.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jpcovreport">
-
-  
-    
-  
-    <description>
-    Runs the JProbe Coverage 3.0 snapshot merge utility.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="format" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          set the format of the report: "html", "text", or "xml"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="home" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The directory where JProbe is installed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includesource" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, include text of the source code lines.
- Only applies to format="xml" and type="verydetailed"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="percent" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          A numeric value for the threshold for printing methods.
- Must be between 0 and 100.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="snapshot" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The name of the snapshot file that is the source to the report.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tofile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The name of the generated output file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="type" required="NOTDEFINED">
-        <description>
-          The type of report to be generated: "executive", "summary",
- "detailed" or "verydetailed".
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="reference" required="NOTDEFINED">
-        <description>
-          Adds a set of classes whose coverage information will be checked against.
-        </description>
-      
-        </element>
-
-      
-        <element name="sourcepath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path to source files.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="jspc">
-
-  
-    
-  
-    <description>
-    Runs a JSP compiler.
-
- &lt;p&gt; This task takes the given jsp files and compiles them into java
- files. It is then up to the user to compile the java files into classes.
-
- &lt;p&gt; The task requires the srcdir and destdir attributes to be
- set. This Task is a MatchingTask, so the files to be compiled can be
- specified using includes/excludes attributes or nested include/exclude
- elements. Optional attributes are verbose (set the verbosity level passed
- to jasper), package (name of the destination package for generated java
- classes and classpath (the classpath to use when running the jsp
- compiler).
- &lt;p&gt; This task supports the nested elements classpath (A Path) and
- classpathref (A Reference) which can be used in preference to the
- attribute classpath, if the jsp compiler is not already in the ant
- classpath.
-
- &lt;p&gt;&lt;h4&gt;Usage&lt;/h4&gt;
- &lt;pre&gt;
- &amp;lt;jspc srcdir="${basedir}/src/war"
-       destdir="${basedir}/gensrc"
-       package="com.i3sp.jsp"
-       verbose="9"&amp;gt;
-   &amp;lt;include name="**\/*.jsp" /&amp;gt;
- &amp;lt;/jspc&amp;gt;
- &lt;/pre&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath to be used for this compilation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-        
-          <description>
-          Adds a reference to a classpath defined elsewhere
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compiler" required="no">
-        
-          
-        
-          <description>
-          Class name of a JSP compiler adapter.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compilerclasspath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath to be used to find this compiler adapter
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destdir" required="yes">
-        <description>
-          Set the destination directory into which the JSP source
- files should be compiled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no">
-        <description>
-          Whether or not the build should halt if compilation fails.
- Defaults to &lt;code&gt;true&lt;/code&gt;.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ieplugin" required="no">
-        <description>
-          Java Plugin CLASSID for Internet Explorer
-        </description>
-      
-        </attribute>
-      
-        <attribute name="mapped" required="no">
-        <description>
-          If true, generate separate write() calls for each HTML line
- in the JSP.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="package" required="no">
-        
-          
-        
-          <description>
-          Set the name of the package the compiled jsp files should be in.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcdir" required="yes">
-        
-          
-        
-          <description>
-          Path for source JSP files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="uribase" required="no">
-        
-          
-        
-          <description>
-          The URI context of relative URI references in the JSP pages.
- If it does not exist then it is derived from the location
- of the file relative to the declared or derived value of uriroot.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="uriroot" required="no">
-        <description>
-          The root directory that uri files should be resolved
-  against. (Default is the directory jspc is invoked from)
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no">
-        
-          
-        
-          <description>
-          Set the verbose level of the compiler
-        </description>
-      
-        </attribute>
-      
-        <attribute name="webinc" required="NOTDEFINED">
-        <description>
-          output filename for the fraction of web.xml that lists
-  servlets.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="webxml" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Filename for web.xml.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="webapp" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a single webapp.
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path to the classpath.
-        </description>
-      
-        </element>
-
-      
-        <element name="compilerclasspath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Support nested compiler classpath, used to locate compiler adapter
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="junit">
-
-  
-    
-  
-    <description>
-    Runs JUnit tests.
-
- &lt;p&gt; JUnit is a framework to create unit test. It has been initially
- created by Erich Gamma and Kent Beck.  JUnit can be found at &lt;a
- href="http://www.junit.org"&gt;http://www.junit.org&lt;/a&gt;.
-
- &lt;p&gt; &lt;code&gt;JUnitTask&lt;/code&gt; can run a single specific
- &lt;code&gt;JUnitTest&lt;/code&gt; using the &lt;code&gt;test&lt;/code&gt; element.&lt;/p&gt;
- &lt;p&gt; This task can also run batches of tests.  The
- &lt;code&gt;batchtest&lt;/code&gt; element creates a &lt;code&gt;BatchTest&lt;/code&gt;
- based on a fileset.  This allows, for example, all classes found in
- directory to be run as testcases.&lt;/p&gt;
-
- &lt;p&gt; To spawn a new Java VM to prevent interferences between
- different testcases, you need to enable &lt;code&gt;fork&lt;/code&gt;.  A
- number of attributes and elements allow you to set up how this JVM
- runs.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dir" required="no">
-        
-          
-        
-          <description>
-          The directory to invoke the VM in. Ignored if no JVM is forked.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="errorproperty" required="no">
-        
-          
-        
-          <description>
-          Property to set to "true" if there is a error in a test.
-
- &lt;p&gt;This property is applied on all BatchTest (batchtest) and
- JUnitTest (test), however, it can possibly be overriden by
- their own properties.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failureproperty" required="no.">
-        
-          
-        
-          <description>
-          Property to set to "true" if there is a failure in a test.
-
- &lt;p&gt;This property is applied on all BatchTest (batchtest) and
- JUnitTest (test), however, it can possibly be overriden by
- their own properties.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filtertrace" required="no; default is on.">
-        <description>
-          If true, smartly filter the stack frames of
- JUnit errors and failures before reporting them.
-
- &lt;p&gt;This property is applied on all BatchTest (batchtest) and
- JUnitTest (test) however it can possibly be overridden by their
- own properties.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="fork" required="no; default is off.">
-        <description>
-          If true, JVM should be forked for each test.
-
- &lt;p&gt;It avoids interference between testcases and possibly avoids
- hanging the build.  this property is applied on all BatchTest
- (batchtest) and JUnitTest (test) however it can possibly be
- overridden by their own properties.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="haltonerror" required="no; default is off.">
-        
-          
-        
-          <description>
-          If true, stop the build process when there is an error in a test.
- This property is applied on all BatchTest (batchtest) and JUnitTest
- (test) however it can possibly be overridden by their own
- properties.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="haltonfailure" required="no; default is off.">
-        <description>
-          If true, stop the build process if a test fails
- (errors are considered failures as well).
- This property is applied on all BatchTest (batchtest) and
- JUnitTest (test) however it can possibly be overridden by their
- own properties.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includeantruntime" required="no; default is true.">
-        
-          
-        
-          <description>
-          If true, include ant.jar, optional.jar and junit.jar in the forked VM.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jvm" required="no; default is java.">
-        <description>
-          The command used to invoke the Java Virtual Machine,
- default is 'java'. The command is resolved by
- java.lang.Runtime.exec(). Ignored if fork is disabled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="maxmemory" required="no">
-        
-          
-        
-          <description>
-          Set the maximum memory to be used by all forked JVMs.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="newenvironment" required="no; default is false.">
-        
-          
-        
-          <description>
-          If true, use a new environment when forked.
-
- &lt;p&gt;Will be ignored if we are not forking a new VM.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="printsummary" required="no; default is off.">
-        <description>
-          If true, print one-line statistics for each test, or "withOutAndErr"
- to also show standard output and error.
-
- Can take the values on, off, and withOutAndErr.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="showoutput" required="no">
-        <description>
-          If true, send any output generated by tests to Ant's logging system
- as well as to the formatters.
- By default only the formatters receive the output.
-
- &lt;p&gt;Output will always be passed to the formatters and not by
- shown by default.  This option should for example be set for
- tests that are interactive and prompt the user to do
- something.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="timeout" required="no">
-        
-          
-        
-          <description>
-          Set the timeout value (in milliseconds).
-
- &lt;p&gt;If the test is running for more than this value, the test
- will be canceled. (works only when in 'fork' mode).&lt;/p&gt;
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="env" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds an environment variable; used when forking.
-
- &lt;p&gt;Will be ignored if we are not forking a new VM.&lt;/p&gt;
-        </description>
-      
-        </element>
-
-      
-        <element name="formatter" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a new formatter to all tests of this task.
-        </description>
-      
-        </element>
-
-      
-        <element name="sysproperty" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a system property that tests can access.
- This might be useful to tranfer Ant properties to the
- testcases when JVM forking is not enabled.
-        </description>
-      
-        </element>
-
-      
-        <element name="test" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a new single testcase.
-        </description>
-      
-        </element>
-
-      
-        <element name="batchtest" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of tests based on pattern matching.
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds path to classpath used for tests.
-        </description>
-      
-        </element>
-
-      
-        <element name="jvmarg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a JVM argument; ignored if not forking.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="junitreport">
-
-  
-    
-  
-    <description>
-    Aggregates all &amp;lt;junit&amp;gt; XML formatter testsuite data under
- a specific directory and transforms the results via XSLT.
- It is not particulary clean but
- should be helpful while I am thinking about another technique.
-
- &lt;p&gt; The main problem is due to the fact that a JVM can be forked for a testcase
- thus making it impossible to aggregate all testcases since the listener is
- (obviously) in the forked JVM. A solution could be to write a
- TestListener that will receive events from the TestRunner via sockets. This
- is IMHO the simplest way to do it to avoid this file hacking thing.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="todir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the destination directory where the results should be written. If not
- set if will use {@link #DEFAULT_DIR}. When given a relative directory
- it will resolve it from the project directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tofile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the name of the aggregegated results file. It must be relative
- from the &lt;tt&gt;todir&lt;/tt&gt; attribute. If not set it will use {@link #DEFAULT_FILENAME}
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a new fileset containing the XML results to aggregate
-        </description>
-      
-        </element>
-
-      
-        <element name="report" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Generate a report based on the document created by the merge.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="keysubst">
-
-  
-    
-  
-    <description>
-    Keyword substitution. Input file is written to output file.
- Do not make input file same as output file.
- Keywords in input files look like this: @foo@. See the docs for the 
- setKeys method to understand how to do the substitutions.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dest" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the destination file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keys" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the keys.
-Format string is like this:
-&lt;p&gt;
-name=value*name2=value
-&lt;p&gt;
-Names are case sensitive.
-&lt;p&gt;
-Use the setSep() method to change the * to something else
-if you need to use * as a name or value.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sep" required="NOTDEFINED">
-        <description>
-          Sets the seperator between name=value arguments
-in setKeys(). By default it is "*".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the source file.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="loadfile">
-
-  
-    
-  
-    <description>
-    Load a file into a property
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="encoding" required="no">
-        <description>
-          Encoding to use for input, defaults to the platform's default
- encoding. &lt;p&gt;
-
- For a list of possible values see &lt;a href="http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html"&gt;
- http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html
- &lt;/a&gt;.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no, default &quot;true&quot;">
-        
-          
-        
-          <description>
-          If true, fail on load error.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="property" required="yes">
-        
-          
-        
-          <description>
-          Property name to save to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcfile" required="yes">
-        
-          
-        
-          <description>
-          Sets the file to load.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="filterchain" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add the FilterChain element.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="loadproperties">
-
-  
-    
-  
-    <description>
-    Load a file's contents as Ant properties.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="srcfile" required="yes">
-        
-          
-        
-          <description>
-          Sets the file to load.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="filterchain" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a FilterChain.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="mail">
-
-  
-    
-  
-    <description>
-    A task to send SMTP email. This is a refactoring of the SendMail and
- MimeMail tasks such that both are within a single task.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="bcclist" required="">
-        
-          
-        
-          <description>
-          Adds "bcc" address elements
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cclist" required="">
-        
-          
-        
-          <description>
-          Adds "cc" address elements
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no">
-        
-          
-        
-          <description>
-          Allows the build writer to choose the preferred encoding method
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no.">
-        
-          
-        
-          <description>
-          Indicates whether BuildExceptions should be passed back to the core
-        </description>
-      
-        </attribute>
-      
-        <attribute name="files" required="no">
-        
-          
-        
-          <description>
-          Adds a list of files to be attached
-        </description>
-      
-        </attribute>
-      
-        <attribute name="from" required="either a from attribute, or a &lt;from&gt;      element.">
-        
-          
-        
-          <description>
-          Shorthand to set the from address element
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includefilenames" required="no">
-        
-          
-        
-          <description>
-          Sets Includefilenames attribute
-        </description>
-      
-        </attribute>
-      
-        <attribute name="mailhost" required="no">
-        
-          
-        
-          <description>
-          Sets the host
-        </description>
-      
-        </attribute>
-      
-        <attribute name="mailport" required="no">
-        
-          
-        
-          <description>
-          Sets the mail server port
-        </description>
-      
-        </attribute>
-      
-        <attribute name="message" required="one of these or a      &lt;message&gt; element.">
-        
-          
-        
-          <description>
-          Shorthand method to set the message
-        </description>
-      
-        </attribute>
-      
-        <attribute name="messagefile" required="">
-        
-          
-        
-          <description>
-          Shorthand method to set the message from a file
-        </description>
-      
-        </attribute>
-      
-        <attribute name="messagemimetype" required="no">
-        <description>
-          Shorthand method to set type of the text message, text/plain by default
- but text/html or text/xml is quite feasible.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="subject" required="no">
-        
-          
-        
-          <description>
-          Sets the subject line of the email
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tolist" required="at least one of these, or the         equivalent elements.">
-        
-          
-        
-          <description>
-          Adds "to" address elements
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="bcc" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds "bcc" address elements
-        </description>
-      
-        </element>
-
-      
-        <element name="cc" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds "cc" address element
-        </description>
-      
-        </element>
-
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files (nested fileset attribute).
-        </description>
-      
-        </element>
-
-      
-        <element name="from" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a from address element
-        </description>
-      
-        </element>
-
-      
-        <element name="message" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a message elemnt
-        </description>
-      
-        </element>
-
-      
-        <element name="to" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a to address element
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="manifest">
-
-  
-    
-  
-    <description>
-    Creates a manifest file for inclusion in a JAR, Ant task wrapper
- around {@link Manifest Manifest}.  This task can be used to write a
- Manifest file, optionally replacing or updating an existing file.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="file" required="yes">
-        
-          
-        
-          <description>
-          The name of the manifest file to create/update.
- Required if used as a task.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="mode" required="no">
-        
-          
-        
-          <description>
-          Update policy: either "update" or "replace"; default is "replace".
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="attribute" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an attribute to the manifest - it is added to the main section.
-        </description>
-      
-        </element>
-
-      
-        <element name="section" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a section to the manifest
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="maudit">
-
-  
-    
-  
-    <description>
-    Invokes the Metamata Audit/ Webgain Quality Analyzer on a set of Java files.
- &lt;p&gt;
- &lt;i&gt;maudit&lt;/i&gt; performs static analysis of the Java source code and byte code files to find and report
- errors of style and potential problems related to performance, maintenance and robustness.
-  As a convenience, a stylesheet is given in &lt;tt&gt;etc&lt;/tt&gt; directory, so that an HTML report 
- can be generated from the XML file.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="fix" required="no">
-        <description>
-          Automatically fix certain errors 
- (those marked as fixable in the manual);, default=false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="list" required="no">
-        
-          
-        
-          <description>
-          Creates listing file for each audited file; default false. 
- When set, a .maudit file will be generated in the
- same location as the source file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="maxmemory" required="no">
-        
-          
-        
-          <description>
-          Set the maximum memory for the JVM; -mx or -Xmx depending on VM version
-        </description>
-      
-        </attribute>
-      
-        <attribute name="metamatahome" required="yes">
-        
-          
-        
-          <description>
-          The home directory containing the Metamata distribution; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tofile" required="yes">
-        
-          
-        
-          <description>
-          The XML file to which the Audit result should be written to; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="unused" required="no. default to false.">
-        
-          
-        
-          <description>
-          Finds declarations unused in search paths; default false. 
- It will look for unused global declarations
- in the source code within a use domain specified by the 
- &lt;tt&gt;searchpath&lt;/tt&gt; element.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The java files or directory to audit.
- Whatever the filter is, only the files that end 
- with .java will be included for processing. 
- Note that the base directory used for the fileset 
- MUST be the root of the source files otherwise package names
- deduced from the file path will be incorrect.
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the class path (also source path unless one explicitly set).
- Overrides METAPATH/CLASSPATH environment variables.
-        </description>
-      
-        </element>
-
-      
-        <element name="jvmarg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Additional optional parameters to pass to the JVM. 
- You can avoid using the  &lt;code&gt;&amp;lt;jvmarg&amp;gt;&lt;/code&gt; by adding these empty 
- entries to &lt;code&gt;metamata.properties&lt;/code&gt; located at &lt;code&gt;${metamata.home}/bin&lt;/code&gt;
-
- &lt;pre&gt;metamata.classpath=
- metamata.sourcepath=
- metamata.baseclasspath=
- &lt;/pre&gt;
-        </description>
-      
-        </element>
-
-      
-        <element name="rulespath" required="NOTDEFINED">
-        
-          <description>
-          Classpath for additional audit rules.
- These must be placed before metamata.jar!
-        </description>
-      
-        </element>
-
-      
-        <element name="searchpath" required="NOTDEFINED">
-        <description>
-          Search path to use for unused global declarations; 
- required when &lt;tt&gt;unused&lt;/tt&gt; is set.
-        </description>
-      
-        </element>
-
-      
-        <element name="sourcepath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the source path. 
- Overrides the SOURCEPATH environment variable.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="mimemail">
-
-  
-    
-  
-    <description>
-    A task to send SMTP email; Use &lt;tt&gt;mail&lt;/tt&gt; instead
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="bcclist" required="">
-        
-          
-        
-          <description>
-          Adds "bcc" address elements
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cclist" required="">
-        
-          
-        
-          <description>
-          Adds "cc" address elements
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Allows the build writer to choose the preferred encoding method
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no, default to &quot;true&quot;">
-        
-          
-        
-          <description>
-          Indicates whether BuildExceptions should be passed back to the core
-        </description>
-      
-        </attribute>
-      
-        <attribute name="files" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a list of files to be attached
-        </description>
-      
-        </attribute>
-      
-        <attribute name="from" required="yes">
-        
-          
-        
-          <description>
-          Shorthand to set the from address element
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includefilenames" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets Includefilenames attribute
-        </description>
-      
-        </attribute>
-      
-        <attribute name="mailhost" required="no, default to &quot;localhost&quot;">
-        
-          
-        
-          <description>
-          Sets the host
-        </description>
-      
-        </attribute>
-      
-        <attribute name="mailport" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the mail server port
-        </description>
-      
-        </attribute>
-      
-        <attribute name="message" required="no, but only one of of &apos;message&apos; or        &apos;messagefile&apos; may be specified. if not specified, a fileset must be        provided.">
-        
-          
-        
-          <description>
-          Shorthand method to set the message
-        </description>
-      
-        </attribute>
-      
-        <attribute name="messagefile" required="">
-        
-          
-        
-          <description>
-          Shorthand method to set the message from a file
-        </description>
-      
-        </attribute>
-      
-        <attribute name="messagemimetype" required="no, defaults to &quot;text/plain&quot;">
-        <description>
-          Shorthand method to set type of the text message, text/plain by default
- but text/html or text/xml is quite feasible.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="subject" required="no">
-        <description>
-          Sets the subject line of the email
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tolist" required="yes, at least one of &apos;tolist&apos;, &apos;cclist&apos;,        or &apos;bcclist&apos; must be specified.">
-        <description>
-          Adds "to" address elements
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="bcc" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds "bcc" address elements
-        </description>
-      
-        </element>
-
-      
-        <element name="cc" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds "cc" address element
-        </description>
-      
-        </element>
-
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files (nested fileset attribute).
-        </description>
-      
-        </element>
-
-      
-        <element name="from" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a from address element
-        </description>
-      
-        </element>
-
-      
-        <element name="message" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a message elemnt
-        </description>
-      
-        </element>
-
-      
-        <element name="to" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a to address element
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="mkdir">
-
-  
-    
-  
-    <description>
-    Creates a given directory.
- Creates a directory and any non-existent parent directories, when
- necessary
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dir" required="yes">
-        
-          
-        
-          <description>
-          the directory to create; required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="mmetrics">
-
-  
-    
-  
-    <description>
-    Computes the metrics of a set of Java files and write the results to an XML
- file. As a convenience, a stylesheet is given in &lt;tt&gt;etc&lt;/tt&gt; directory,
- so that an HTML report can be generated from the XML file.
- &lt;p&gt;
- You will not be able to use this task with the evaluation version since
- as of Metamata 2.0, Metrics does not support command line :-(
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="granularity" required="yes">
-        
-          
-        
-          <description>
-          set the granularity of the audit. Should be one of 'files', 'methods'
- or 'types'.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="maxmemory" required="no">
-        
-          
-        
-          <description>
-          Set the maximum memory for the JVM; -mx or -Xmx depending on VM version
-        </description>
-      
-        </attribute>
-      
-        <attribute name="metamatahome" required="yes">
-        
-          
-        
-          <description>
-          The home directory containing the Metamata distribution
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tofile" required="yes">
-        
-          <description>
-          Set the output XML file
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The java files or directory to audit.
- Whatever the filter is, only the files that end 
- with .java will be included for processing. 
- Note that the base directory used for the fileset 
- MUST be the root of the source files otherwise package names
- deduced from the file path will be incorrect.
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the class path (also source path unless one explicitly set).
- Overrides METAPATH/CLASSPATH environment variables.
-        </description>
-      
-        </element>
-
-      
-        <element name="jvmarg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Additional optional parameters to pass to the JVM. 
- You can avoid using the  &lt;code&gt;&amp;lt;jvmarg&amp;gt;&lt;/code&gt; by adding these empty 
- entries to &lt;code&gt;metamata.properties&lt;/code&gt; located at &lt;code&gt;${metamata.home}/bin&lt;/code&gt;
-
- &lt;pre&gt;metamata.classpath=
- metamata.sourcepath=
- metamata.baseclasspath=
- &lt;/pre&gt;
-        </description>
-      
-        </element>
-
-      
-        <element name="path" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set a new path (directory) to measure metrics from.
-        </description>
-      
-        </element>
-
-      
-        <element name="sourcepath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the source path. 
- Overrides the SOURCEPATH environment variable.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="move">
-
-  
-    
-  
-    <description>
-    Moves a file or directory to a new file or directory.
- By default, the
- destination file is overwritten if it already exists.
- When &lt;i&gt;overwrite&lt;/i&gt; is
- turned off, then files are only moved if the source file is
- newer than the destination file, or when the destination file does
- not exist.
-
- &lt;p&gt;Source files and directories are only deleted when the file or
- directory has been copied to the destination successfully.  Filtering
- also works.&lt;/p&gt;
-
- &lt;p&gt;This implementation is based on Arnout Kuiper's initial design
- document, the following mailing list discussions, and the
- copyfile/copydir tasks.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="encoding" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the character encoding
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If false, note errors to the output but keep going.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="one of file or       at least one nested fileset element">
-        
-          
-        
-          <description>
-          Sets a single source file to copy.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filtering" required="no">
-        
-          
-        
-          <description>
-          If true, enables filtering.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="flatten" required="no">
-        <description>
-          When copying directory trees, the files can be "flattened"
- into a single directory.  If there are multiple files with
- the same name in the source directory tree, only the first
- file will be copied into the "flattened" directory, unless
- the forceoverwrite attribute is true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includeemptydirs" required="no">
-        
-          
-        
-          <description>
-          Used to copy empty directories.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="overwrite" required="no">
-        
-          
-        
-          <description>
-          Overwrite any existing destination file(s).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="preservelastmodified" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Give the copied files the same last modified time as the original files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="todir" required="">
-        
-          
-        
-          <description>
-          Sets the destination directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tofile" required="with the file attribute,      either tofile or todir can be used.  with nested filesets,      if the fileset size is greater than 1 or if the only entry in the fileset is a      directory or if the file attribute is already specified, only      todir is allowed">
-        
-          
-        
-          <description>
-          Sets the destination file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Used to force listing of all names of copied files.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files to copy.
-        </description>
-      
-        </element>
-
-      
-        <element name="filterchain" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a FilterChain.
-        </description>
-      
-        </element>
-
-      
-        <element name="filterset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a filterset.
-        </description>
-      
-        </element>
-
-      
-        <element name="mapper" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Defines the mapper to map source to destination files.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="mparse">
-
-  
-    
-  
-    <description>
-    Simple Metamata MParse task.
- Based on the original written by
- &lt;a href="mailto:thomas.haas@softwired-inc.com"&gt;Thomas Haas&lt;/a&gt;.
- This version was written for Metamata 2.0 available at
- &lt;a href="http://www.metamata.com"&gt;http://www.metamata.com&lt;/a&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="cleanup" required="no. default to false">
-        <description>
-          Remove the intermediate Sun JavaCC file; default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debugparser" required="no">
-        
-          
-        
-          <description>
-          set parser debug mode; default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debugscanner" required="no">
-        
-          
-        
-          <description>
-          set scanner debug mode; default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="maxmemory" required="no">
-        
-          
-        
-          <description>
-          Set the maximum memory for the JVM;  -mx or -Xmx depending on VM version
-        </description>
-      
-        </attribute>
-      
-        <attribute name="metamatahome" required="yes">
-        
-          
-        
-          <description>
-          The home directory containing the Metamata distribution; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="target" required="yes">
-        
-          
-        
-          <description>
-          The .jj file to process; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no">
-        
-          
-        
-          <description>
-          Set verbose mode; default false
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create a classpath entry
-        </description>
-      
-        </element>
-
-      
-        <element name="jvmarg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Additional optional parameters to pass to the JVM.
-        </description>
-      
-        </element>
-
-      
-        <element name="sourcepath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          creates a sourcepath entry
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="native2ascii">
-
-  
-    
-  
-    <description>
-    Converts files from native encodings to ASCII.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dest" required="yes">
-        
-          
-        
-          <description>
-          Set the destination directory to place converted files into.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no">
-        
-          
-        
-          <description>
-          Set the encoding to translate to/from.
- If unset, the default encoding for the JVM is used.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ext" required="no">
-        
-          
-        
-          <description>
-          Set the extension which converted files should have.
- If unset, files will not be renamed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="reverse" required="no">
-        <description>
-          Flag the conversion to run in the reverse sense,
- that is Ascii to Native encoding.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="no">
-        
-          
-        
-          <description>
-          Set the source directory in which to find files to convert.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="mapper" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Defines the FileNameMapper to use (nested mapper element).
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="netrexxc">
-
-  
-    
-  
-    <description>
-    Compiles NetRexx source files.
- &lt;p&gt;When this task executes, it will recursively scan the srcdir
- looking for NetRexx source files to compile. This task makes its
- compile decision based on timestamp.
- &lt;p&gt;Before files are compiled they and any other file in the
- srcdir will be copied to the destdir allowing support files to be
- located properly in the classpath. The reason for copying the source files
- before the compile is that NetRexxC has only two destinations for classfiles:
- &lt;ol&gt;
- &lt;li&gt;The current directory, and,&lt;/li&gt;
- &lt;li&gt;The directory the source is in (see sourcedir option)
- &lt;/ol&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="binary" required="no">
-        
-          
-        
-          <description>
-          Set whether literals are treated as binary, rather than NetRexx types
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath used for NetRexx compilation
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comments" required="no">
-        
-          
-        
-          <description>
-          Set whether comments are passed through to the generated java source.
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compact" required="no">
-        
-          
-        
-          <description>
-          Set whether error messages come out in compact or verbose format. Valid
- true values are "on" or "true". Anything else sets the flag to false.
- The default value is false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compile" required="no">
-        <description>
-          Set whether the NetRexx compiler should compile the generated java code
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is true. Setting this flag to false, will
- automatically set the keep flag to true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="console" required="no">
-        <description>
-          Set whether or not messages should be displayed on the 'console' Valid
- true values are "on" or "true". Anything else sets the flag to false.
- The default value is true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="crossref" required="no">
-        
-          
-        
-          <description>
-          Whether variable cross references are generated
-        </description>
-      
-        </attribute>
-      
-        <attribute name="decimal" required="no">
-        
-          
-        
-          <description>
-          Set whether decimal arithmetic should be used for the netrexx code.
- Binary arithmetic is used when this flag is turned off. Valid true
- values are "on" or "true". Anything else sets the flag to false. The
- default value is true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destdir" required="yes">
-        <description>
-          Set the destination directory into which the NetRexx source files
- should be copied and then compiled.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="diag" required="no">
-        
-          
-        
-          <description>
-          Whether diagnostic information about the compile is generated
-        </description>
-      
-        </attribute>
-      
-        <attribute name="explicit" required="no">
-        
-          
-        
-          <description>
-          Sets whether variables must be declared explicitly before use. Valid
- true values are "on" or "true". Anything else sets the flag to false.
- The default value is false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="format" required="no">
-        <description>
-          Whether the generated Java code is formatted nicely or left to match
- NetRexx line numbers for call stack debugging
-        </description>
-      
-        </attribute>
-      
-        <attribute name="java" required="no">
-        <description>
-          Whether the generated Java code is produced Valid true values are "on"
- or "true". Anything else sets the flag to false. The default value is
- false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keep" required="no">
-        <description>
-          Sets whether the generated java source file should be kept after
- compilation. The generated files will have an extension of .java.keep,
- &lt;b&gt;not&lt;/b&gt; .java Valid true values are "on" or "true". Anything else
- sets the flag to false. The default value is false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="logo" required="no">
-        
-          
-        
-          <description>
-          Whether the compiler text logo is displayed when compiling
-        </description>
-      
-        </attribute>
-      
-        <attribute name="replace" required="no">
-        <description>
-          Whether the generated .java file should be replaced when compiling
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="savelog" required="no">
-        <description>
-          Sets whether the compiler messages will be written to NetRexxC.log as
- well as to the console Valid true values are "on" or "true". Anything
- else sets the flag to false. The default value is false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sourcedir" required="no">
-        <description>
-          Tells the NetRexx compiler to store the class files in the same
- directory as the source files. The alternative is the working directory
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcdir" required="yes">
-        
-          
-        
-          <description>
-          Set the source dir to find the source Java files.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="strictargs" required="no">
-        <description>
-          Tells the NetRexx compiler that method calls always need parentheses,
- even if no arguments are needed, e.g. &lt;code&gt;aStringVar.getBytes&lt;/code&gt;
- vs. &lt;code&gt;aStringVar.getBytes()&lt;/code&gt; Valid true values are "on" or
- "true". Anything else sets the flag to false. The default value is
- false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="strictassign" required="no">
-        
-          
-        
-          <description>
-          Tells the NetRexx compile that assignments must match exactly on type
-        </description>
-      
-        </attribute>
-      
-        <attribute name="strictcase" required="no">
-        
-          
-        
-          <description>
-          Specifies whether the NetRexx compiler should be case sensitive or not
-        </description>
-      
-        </attribute>
-      
-        <attribute name="strictimport" required="no">
-        <description>
-          Sets whether classes need to be imported explicitly using an &lt;code&gt;import&lt;/code&gt;
- statement. By default the NetRexx compiler will import certain packages
- automatically Valid true values are "on" or "true". Anything else sets
- the flag to false. The default value is false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="strictprops" required="no">
-        <description>
-          Sets whether local properties need to be qualified explicitly using
- &lt;code&gt;this&lt;/code&gt; Valid true values are "on" or "true". Anything else
- sets the flag to false. The default value is false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="strictsignal" required="no">
-        <description>
-          Whether the compiler should force catching of exceptions by explicitly
- named types
-        </description>
-      
-        </attribute>
-      
-        <attribute name="suppressdeprecation" required="no">
-        <description>
-          Tells whether we should filter out any deprecation-messages
- of the compiler out.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="suppressexceptionnotsignalled" required="no">
-        <description>
-          Whether the task should suppress the "FooException is in SIGNALS list
- but is not signalled within the method", which is sometimes rather
- useless. The warning is logged as verbose message, though.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="suppressmethodargumentnotused" required="no">
-        <description>
-          Whether the task should suppress the "Method argument is not used" in
- strictargs-Mode, which can not be suppressed by the compiler itself.
- The warning is logged as verbose message, though.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="suppressprivatepropertynotused" required="no">
-        <description>
-          Whether the task should suppress the "Private property is defined but
- not used" in strictargs-Mode, which can be quite annoying while
- developing. The warning is logged as verbose message, though.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="suppressvariablenotused" required="no">
-        <description>
-          Whether the task should suppress the "Variable is set but not used" in
- strictargs-Mode. Be careful with this one! The warning is logged as
- verbose message, though.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="symbols" required="no">
-        <description>
-          Sets whether debug symbols should be generated into the class file
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="time" required="no">
-        <description>
-          Asks the NetRexx compiler to print compilation times to the console
- Valid true values are "on" or "true". Anything else sets the flag to
- false. The default value is false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="trace" required="no">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-      
-        <attribute name="utf8" required="no">
-        <description>
-          Tells the NetRexx compiler that the source is in UTF8 Valid true values
- are "on" or "true". Anything else sets the flag to false. The default
- value is false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no">
-        
-          
-        
-          <description>
-          Whether lots of warnings and error messages should be generated
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4add">
-
-  
-    
-  
-    <description>
-    Adds specified files to Perforce.
-
- &lt;b&gt;Example Usage:&lt;/b&gt;
- &lt;table border="1"&gt;
- &lt;th&gt;Function&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;
- &lt;tr&gt;&lt;td&gt;Add files using P4USER, P4PORT and P4CLIENT settings specified&lt;/td&gt;&lt;td&gt;&amp;lt;P4add &lt;br&gt;P4view="//projects/foo/main/source/..." &lt;br&gt;P4User="fbloggs" &lt;br&gt;P4Port="km01:1666" &lt;br&gt;P4Client="fbloggsclient"&amp;gt;&lt;br&gt;&amp;lt;fileset basedir="dir" includes="**&amp;#47;*.java"&amp;gt;&lt;br&gt;&amp;lt;/p4add&amp;gt;&lt;/td&gt;&lt;/tr&gt;
- &lt;tr&gt;&lt;td&gt;Add files using P4USER, P4PORT and P4CLIENT settings defined in environment&lt;/td&gt;&lt;td&gt;&amp;lt;P4add P4view="//projects/foo/main/source/..." /&amp;gt;&lt;br&gt;&amp;lt;fileset basedir="dir" includes="**&amp;#47;*.java"&amp;gt;&lt;br&gt;&amp;lt;/p4add&amp;gt;&lt;/td&gt;&lt;/tr&gt;
- &lt;tr&gt;&lt;td&gt;Specify the length of command line arguments to pass to each invocation of p4&lt;/td&gt;&lt;td&gt;&amp;lt;p4add Commandlength="450"&amp;gt;&lt;/td&gt;&lt;/tr&gt;
- &lt;/table&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="changelist" required="NOTDEFINED">
-        <description>
-          If specified the open files are associated with the
- specified pending changelist number; otherwise the open files are
- associated with the default changelist.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="client" required="NOTDEFINED">
-        <description>
-          The p4 client spec to use; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-        
-         <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="commandlength" required="NOTDEFINED">
-        <description>
-          Positive integer specifying the maximum length
-   of the commandline when calling Perforce to add the files. 
-   Defaults to 450, higher values mean faster execution,
-   but also possible failures.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        <description>
-          Whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="NOTDEFINED">
-        
-         <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-        <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="NOTDEFINED">
-          <description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          files to add
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4change">
-
-  
-    
-  
-    <description>
-    Requests a new changelist from the Perforce server.
- P4Change creates a new changelist in perforce. P4Change sets the property
- ${p4.change} with the new changelist number. This should then be passed into
- p4edit and p4submit.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="client" required="NOTDEFINED">
-        
-        <description>
-          The p4 client spec to use; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-        
-         <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="description" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Description for ChangeList.
- If none is specified, it will default to "AutoSubmit By Ant"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          <description>
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="NOTDEFINED">
-         <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-        <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="NOTDEFINED">
-        
-          <description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4counter">
-
-  
-    
-  
-    <description>
-    Obtains or sets the value of a counter.
-
- &lt;p&gt; When used in its base form
- (where only the counter name is provided), the counter value will be
- printed to the output stream. When the value is provided, the counter
- will be set to the value provided. When a property name is provided,
- the property will be filled with the value of the counter. You may
- not specify to both get and set the value of the counter in the same
- Task.
- &lt;/p&gt;
- &lt;P&gt;
- The user performing this task must have Perforce &amp;quot;review&amp;quot; permissions
- as defined by Perforce protections in order for this task to succeed.
-&lt;/P&gt;
-
- Example Usage:&lt;br&gt;
- &amp;lt;p4counter name="${p4.counter}" property=${p4.change}"/&amp;gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="client" required="NOTDEFINED">
-        <description>
-          The p4 client spec to use; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-        <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        <description>
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="name" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The name of the counter; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="NOTDEFINED">
-        <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="property" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          A property to be set with the value of the counter
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-        <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="value" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The new value for the counter.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="NOTDEFINED">
-        <description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4delete">
-
-  
-    
-  
-    <description>
-    Checkout files for deletion.
-
- Example Usage:&lt;br&gt;
- &amp;lt;p4delete change="${p4.change}" view="//depot/project/foo.txt" /&amp;gt;&lt;br&gt;
-
- Simple re-write of P4Edit changing 'edit' to 'delete'.&lt;br&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="change" required="NOTDEFINED">
-        <description>
-          An existing changelist number for the deletion; optional
- but strongly recommended.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="client" required="NOTDEFINED">
-        
-		<description>
-          The p4 client spec to use; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-          <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        <description>
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="NOTDEFINED">
-        <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-          <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="NOTDEFINED">
-        <description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4edit">
-
-  <description>
-    Open file(s) for edit. 
- P4Change should be used to obtain a new changelist for P4Edit as,
- although P4Edit can open files to the default change,  
- P4Submit cannot yet submit to it.
- Example Usage:&lt;br&gt;
- &amp;lt;p4edit change="${p4.change}" view="//depot/project/foo.txt" /&amp;gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="change" required="NOTDEFINED">
-        <description>
-          An existing changelist number to assign files to; optional
- but strongly recommended.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="client" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4 client spec to use; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4have">
-
-  
-    
-  
-    <description>
-    Lists Perforce files currently on client.
-
- P4Have simply dumps the current file version info into
- the Ant log (or stdout).
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="client" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4 client spec to use; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4label">
-
-  
-    
-  
-    <description>
-    Creates a new Perforce label and set contents to reflect current
-  client file revisions.
-
-  Label name defaults to AntLabel if none set.
-
- Example Usage:
- &lt;pre&gt;
-   &amp;lt;P4Label name="MyLabel-${TSTAMP}-${DSTAMP}" desc="Auto Build Label" /&amp;gt;
- &lt;/pre&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="client" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4 client spec to use;
- optional, defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="desc" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Label Description.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="lock" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          When set to "locked", Perforce will lock the label once created.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="name" required="no">
-        
-          
-        
-          <description>
-          The name of the label; default "AntLabel"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="no">
-        
-          
-
-        
-          <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="no">
-        
-          
-
-        
-          <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="no">
-
-          <description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4reopen">
-
-  
-    
-  
-    <description>
-    
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="client" required="no">
-        
-          
-
-        
-          <description>
-          The p4 client spec to use; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="no">
-        
-          
-
-        
-          <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tochange" required="yes">
-        
-          
-        
-          <description>
-          The changelist to move files to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="no">
-        
-          
-
-        
-          <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="no">
-        
-          
-
-        
-          <description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4revert">
-
-  
-    
-  
-    <description>
-    Revert Perforce open files or files in a changelist
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="change" required="no">
-        
-          
-        
-          <description>
-          The changelist to revert.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="client" required="no">
-        
-          
-
-        
-          <description>
-          The p4 client spec to use; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="no">
-        
-          
-
-        
-          <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="revertonlyunchanged" required="no">
-        
-          
-        
-          <description>
-          flag to revert only unchanged files (p4 revert -a); default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="no">
-                  <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="no">
-		<description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4submit">
-
-  
-    
-  
-    <description>
-    Submits a numbered changelist to Perforce.
-
- &lt;B&gt;Note:&lt;/B&gt; P4Submit cannot (yet) submit the default changelist.
- This shouldn't be a problem with the ANT task as the usual flow is
- P4Change to create a new numbered change followed by P4Edit then P4Submit.
-
- Example Usage:-&lt;br&gt;
- &amp;lt;p4submit change="${p4.change}" /&amp;gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="change" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The changelist number to submit; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="client" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4 client spec to use; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="no">
-        
-          
-
-        
-          <description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="p4sync">
-
-  
-    
-  
-    <description>
-    Synchronize client space to a Perforce depot view.
-
-  The API allows additional functionality of the "p4 sync" command
- (such as "p4 sync -f //...#have" or other exotic invocations).&lt;/P&gt;
-
- &lt;b&gt;Example Usage:&lt;/b&gt;
- &lt;table border="1"&gt;
- &lt;th&gt;Function&lt;/th&gt;&lt;th&gt;Command&lt;/th&gt;
- &lt;tr&gt;&lt;td&gt;Sync to head using P4USER, P4PORT and P4CLIENT settings specified&lt;/td&gt;&lt;td&gt;&amp;lt;P4Sync &lt;br&gt;P4view="//projects/foo/main/source/..." &lt;br&gt;P4User="fbloggs" &lt;br&gt;P4Port="km01:1666" &lt;br&gt;P4Client="fbloggsclient" /&amp;gt;&lt;/td&gt;&lt;/tr&gt;
- &lt;tr&gt;&lt;td&gt;Sync to head using P4USER, P4PORT and P4CLIENT settings defined in environment&lt;/td&gt;&lt;td&gt;&amp;lt;P4Sync P4view="//projects/foo/main/source/..." /&amp;gt;&lt;/td&gt;&lt;/tr&gt;
- &lt;tr&gt;&lt;td&gt;Force a re-sync to head, refreshing all files&lt;/td&gt;&lt;td&gt;&amp;lt;P4Sync force="yes" P4view="//projects/foo/main/source/..." /&amp;gt;&lt;/td&gt;&lt;/tr&gt;
- &lt;tr&gt;&lt;td&gt;Sync to a label&lt;/td&gt;&lt;td&gt;&amp;lt;P4Sync label="myPerforceLabel" /&amp;gt;&lt;/td&gt;&lt;/tr&gt;
- &lt;/table&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="client" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4 client spec to use; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="cmdopts" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set extra command options; only used on some
- of the Perforce tasks.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          whether to stop the build (true, default) 
- or keep going if an error is returned from the p4 command
-        </description>
-      
-        </attribute>
-      
-        <attribute name="force" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          force a refresh of files, if this attribute is set; false by default.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="label" required="no">
-        
-          
-        
-          <description>
-          Label to sync client to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4d server and port to connect to; default "perforce:1666"
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The p4 username; defaults to the current user
-        </description>
-      
-        </attribute>
-      
-        <attribute name="view" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The client, branch or label view to operate upon; default "//..."
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="parallel">
-
-  
-    
-  
-    <description>
-    Executes the contained tasks in separate threads, continuing
- once all are completed.
- &lt;p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-    </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="patch">
-
-  
-    
-  
-    <description>
-    Patches a file by applying a 'diff' file to it; requires "patch" to be
- on the execution path.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="backups" required="no">
-        
-          
-        
-          <description>
-          flag to create backups; default=false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="no, default is the project&apos;s basedir.">
-        
-          
-
-        
-          <description>
-          The directory to run the patch command in, defaults to the
- project's base directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ignorewhitespace" required="no">
-        
-          
-        
-          <description>
-          flag to ignore whitespace differences; default=false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="originalfile" required="no, tries to guess it from the diff         file">
-        
-          <description>
-          The file to patch; optional if it can be inferred from
- the diff file
-        </description>
-      
-        </attribute>
-      
-        <attribute name="patchfile" required="yes">
-        
-          
-        
-          <description>
-          The file containing the diff output.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="quiet" required="no">
-        
-          
-        
-          <description>
-          Work silently unless an error occurs; default=false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="reverse" required="no">
-        
-          
-
-        
-          <description>
-          Assume patch was created with old and new files swapped; default=false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="strip" required="no">
-        
-          
-
-        
-          <description>
-          Strip the smallest prefix containing &lt;i&gt;num&lt;/i&gt; leading slashes
- from filenames.
-
- &lt;p&gt;patch's &lt;i&gt;-p&lt;/i&gt; option.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="pathconvert">
-
-  
-    
-  
-    <description>
-    Converts path and classpath information to a specific target OS
- format. The resulting formatted path is placed into the specified property.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dirsep" required="no, defaults to current jvm file.separator">
-        
-          
-
-        
-          <description>
-          Set the default directory separator string;
- defaults to current JVM {@link java.io.File#separator File.separator}
-        </description>
-      
-        </attribute>
-      
-        <attribute name="pathsep" required="no, defaults to current jvm file.pathseparator">
-        
-          
-
-        
-          <description>
-          Set the default path separator string;
- defaults to current JVM
- {@link java.io.File#pathSeparator File.pathSeparator}
-        </description>
-      
-        </attribute>
-      
-        <attribute name="property" required="yes">
-        
-          
-        
-          <description>
-          The property into which the converted path will be placed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="refid" required="no; if omitted, a nested          &lt;path&gt; element must be supplied.">
-        
-          
-
-        
-          <description>
-          Adds a reference to a Path, FileSet, DirSet, or FileList defined
- elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="setonempty" required="no; default is &quot;true&quot;.    ">
-        
-          
-
-
-        
-          <description>
-          Set setonempty
-
- If false, don't set the new property if the result is the empty string.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="targetos" required="yes, unless pathsep and/or         dirsep are specified.      ">
-        
-          
- "windows", "unix", "netware", or "os/2"; required unless
-
-        
-          <description>
-          Set targetos to a platform to one of
- "windows", "unix", "netware", or "os/2"; required unless
- unless pathsep and/or dirsep are specified.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="map" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create a nested MAP element
-        </description>
-      
-        </element>
-
-      
-        <element name="path" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create a nested PATH element
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="property">
-
-  
-    
-  
-    <description>
-    Sets a property by name, or set of properties (from file or
- resource) in the project.  &lt;/p&gt;
- Properties are immutable: whoever sets a property first freezes it for the
- rest of the build; they are most definately not variable. 
- &lt;p&gt;There are five ways to set properties:&lt;/p&gt;
- &lt;ul&gt;
-   &lt;li&gt;By supplying both the &lt;i&gt;name&lt;/i&gt; and &lt;i&gt;value&lt;/i&gt; attribute.&lt;/li&gt;
-   &lt;li&gt;By supplying both the &lt;i&gt;name&lt;/i&gt; and &lt;i&gt;refid&lt;/i&gt; attribute.&lt;/li&gt;
-   &lt;li&gt;By setting the &lt;i&gt;file&lt;/i&gt; attribute with the filename of the property
-     file to load. This property file has the format as defined by the file used
-     in the class java.util.Properties.&lt;/li&gt;
-   &lt;li&gt;By setting the &lt;i&gt;resource&lt;/i&gt; attribute with the resource name of the
-     property file to load. This property file has the format as defined by the
-     file used in the class java.util.Properties.&lt;/li&gt;
-   &lt;li&gt;By setting the &lt;i&gt;environment&lt;/i&gt; attribute with a prefix to use.
-     Properties will be defined for every environment variable by
-     prefixing the supplied name and a period to the name of the variable.&lt;/li&gt;
- &lt;/ul&gt;
- &lt;p&gt;Although combinations of these ways are possible, only one should be used
- at a time. Problems might occur with the order in which properties are set, for
- instance.&lt;/p&gt;
- &lt;p&gt;The value part of the properties being set, might contain references to other
- properties. These references are resolved at the time these properties are set.
- This also holds for properties loaded from a property file.&lt;/p&gt;
- Properties are case sensitive.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          The classpath to use when looking up a resource.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-
-        
-          <description>
-          the classpath to use when looking up a resource,
- given as reference to a &amp;lt;path&amp;gt; defined elsewhere
-        </description>
-      
-        </attribute>
-      
-        <attribute name="environment" required="">
-        
-          
-        
-          <description>
-          the prefix to use when retrieving environment variables. 
- Thus if you specify environment=&amp;quot;myenv&amp;quot; 
- you will be able to access OS-specific 
- environment variables via property names &amp;quot;myenv.PATH&amp;quot; or 
- &amp;quot;myenv.TERM&amp;quot;. 
- &lt;p&gt;
- Note that if you supply a property name with a final 
- &amp;quot;.&amp;quot; it will not be doubled. ie environment=&amp;quot;myenv.&amp;quot; will still 
- allow access of environment variables through &amp;quot;myenv.PATH&amp;quot; and 
- &amp;quot;myenv.TERM&amp;quot;. This functionality is currently only implemented 
- on select platforms. Feel free to send patches to increase the number of platforms
- this functionality is supported on ;).&lt;br&gt;
- Note also that properties are case sensitive, even if the
- environment variables on your operating system are not, e.g. it
- will be ${env.Path} not ${env.PATH} on Windows 2000.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="">
-        
-          
-        
-          <description>
-          the filename of a property file to load.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="location" required="">
-        
-          
-
-        
-          <description>
-          Sets the property to the absolute filename of the
- given file. If the value of this attribute is an absolute path, it
- is left unchanged (with / and \ characters converted to the
- current platforms conventions). Otherwise it is taken as a path
- relative to the project's basedir and expanded.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="name" required="no">
-        
-          
-        
-          <description>
-          sets the name of the property to set.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="prefix" required="no">
-        
-          
-
-        
-          <description>
-          Prefix to apply to properties loaded using &lt;code&gt;file&lt;/code&gt;
- or &lt;code&gt;resource&lt;/code&gt;. 
- A "." is appended to the prefix if not specified.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="refid" required="">
-        
-          
-
-        
-          <description>
-          Sets a reference to an Ant datatype
- declared elsewhere. 
- Only yields reasonable results for references
- PATH like structures or properties.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="resource" required="one of these, when        not using the name attribute">
-        
-          
-        
-          <description>
-          the resource name of a property file to load
-        </description>
-      
-        </attribute>
-      
-        <attribute name="value" required="one of these, when using the         name attribute">
-        
-          
-        
-          <description>
-          Sets the value of the property.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The classpath to use when looking up a resource.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="propertyfile">
-
-  
-    
-  
-    <description>
-    Modifies settings in a property file.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          optional header comment for the file
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Location of the property file to be edited; required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="entry" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="pvcs">
-
-  
-    
-  
-    <description>
-    Extracts the latest edition of the source code from a PVCS repository.
- PVCS is a version control system
- developed by &lt;a href="http://www.merant.com/products/pvcs"&gt;Merant&lt;/a&gt;.
- &lt;br&gt;
- Before using this tag, the user running ant must have access to the commands 
- of PVCS (get and pcli) and must have access to the repository. Note that the way to specify
- the repository is platform dependent so use property to specify location of repository.
- &lt;br&gt;
- This version has been tested agains PVCS version 6.5 and 6.6 under Windows and Solaris.
-
- &lt;b&gt;19-04-2001&lt;/b&gt; &lt;p&gt;The task now has a more robust
- parser. It allows for platform independant file paths
- and supports file names with &lt;i&gt;()&lt;/i&gt;. Thanks to Erik Husby for
- bringing the bug to my attention.
-
- &lt;b&gt;27-04-2001&lt;/b&gt; &lt;p&gt;UNC paths are now handled properly.
- Fix provided by Don Jeffery. He also added an &lt;i&gt;UpdateOnly&lt;/i&gt; flag
- that, when true, conditions the PVCS get using the -U option to only
- update those files that have a modification time (in PVCS) that is newer
- than the existing workfile.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="filenameformat" required="no">
-        
-          
-        
-          <description>
-          The format of the folder names.
- This must be in a format suitable for 
- &lt;code&gt;java.text.MessageFormat&lt;/code&gt;.
-  Index 1 of the format will be used as the file name.
-  Defaults to &lt;code&gt;{0}-arc({1})&lt;/code&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="force" required="no">
-        
-          
-        
-          <description>
-          Specifies the value of the force argument.
- If set to &lt;i&gt;yes&lt;/i&gt; all files that exists and are 
- writable are overwritten. Default &lt;i&gt;no&lt;/i&gt; causes the files 
- that are writable to be ignored. This stops the PVCS command 
- &lt;i&gt;get&lt;/i&gt; to stop asking questions!
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ignorereturncode" required="no">
-        
-          
-
-        
-          <description>
-          If set to true the return value from executing the pvcs
- commands are ignored; default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="label" required="no">
-        
-          
-        
-          <description>
-          Only files marked with this label are extracted.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="linestart" required="no">
-        
-          
-
-        
-          <description>
-          What a valid return value from PVCS looks like
-  when it describes a file.  Defaults to &lt;code&gt;&amp;quot;P:&lt;/code&gt;.
- If you are not using an UNC name for your repository and the
- drive letter &lt;code&gt;P&lt;/code&gt; is incorrect for your setup, you may
- need to change this value, UNC names will always be
- accepted.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="promotiongroup" required="no">
-        
-          
-        
-          <description>
-          Specifies the name of the promotiongroup argument
-        </description>
-      
-        </attribute>
-      
-        <attribute name="pvcsbin" required="no">
-        
-          
-        
-          <description>
-          Specifies the location of the PVCS bin directory; optional if on the PATH.
- On some systems the PVCS executables &lt;i&gt;pcli&lt;/i&gt;
- and &lt;i&gt;get&lt;/i&gt; are not found in the PATH. In such cases this attribute
- should be set to the bin directory of the PVCS installation containing
- the executables mentioned before. If this attribute isn't specified the
- tag expects the executables to be found using the PATH environment variable.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="pvcsproject" required="no">
-        
-          
-
-        
-          <description>
-          The project within the PVCS repository to extract files from; default &amp;quot;/&amp;quot;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="repository" required="yes">
-        
-          
-        
-          <description>
-          The network name of the PVCS repository; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="updateonly" required="no">
-        
-          
-
-        
-          <description>
-          If set to &lt;i&gt;true&lt;/i&gt; files are fetched only if 
- newer than existing local files; default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="workspace" required="no">
-        
-          
-        
-          <description>
-          Workspace to use.  
- By specifying a workspace, the files are extracted to that location.
- A PVCS workspace is a name for a location of the workfiles and 
- isn't as such the location itself. 
- You define the location for a workspace using the PVCS GUI clients.
- If this isn't specified the default workspace for the current user is used.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="pvcsproject" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specify a project within the PVCS repository to extract files from.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="record">
-
-  
-    
-  
-    <description>
-    Adds a listener to the current build process that records the
- output to a file.
- &lt;p&gt;Several recorders can exist at the same time.  Each recorder is
- associated with a file.  The filename is used as a unique identifier for
- the recorders.  The first call to the recorder task with an unused filename
- will create a recorder (using the parameters provided) and add it to the
- listeners of the build.  All subsequent calls to the recorder task using
- this filename will modify that recorders state (recording or not) or other
- properties (like logging level).&lt;/p&gt;
- &lt;p&gt;Some technical issues: the file's print stream is flushed for &amp;quot;finished&amp;quot;
- events (buildFinished, targetFinished and taskFinished), and is closed on
- a buildFinished event.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="action" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the action for the associated recorder entry.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="append" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Whether or not the logger should append to a previous file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="emacsmode" required="NOTDEFINED">
-        
-          
-        
-          <description>
-        </description>
-      
-        </attribute>
-      
-        <attribute name="loglevel" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the level to which this recorder entry should log to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="name" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Sets the name of the file to log to, and the name of the recorder
- entry.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="rename">
-
-  
-    
-  
-    <description>
-    Renames a file.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dest" required="yes">
-        
-          
-        
-          <description>
-          Sets the new name of the file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="replace" required="no">
-        
-          
-        
-          <description>
-          Sets whether an existing file should be replaced.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="yes">
-        
-          
-        
-          <description>
-          Sets the file to be renamed.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="renameextensions">
-
-  
-    
-  
-    <description>
-    
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="fromextension" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The string that files must end in to be renamed
-        </description>
-      
-        </attribute>
-      
-        <attribute name="replace" required="no">
-        
-          
-
-        
-          <description>
-          store replace attribute - this determines whether the target file
- should be overwritten if present
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcdir" required="yes">
-        
-          
-        
-          <description>
-          Set the source dir to find the files to be renamed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="toextension" required="yes">
-        
-          
-
-        
-          <description>
-          The string that renamed files will end with on
- completion
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="replace">
-
-  
-    
-  
-    <description>
-    Replaces all occurrences of one or more string tokens with given
- values in the indicated files. Each value can be either a string 
- or the value of a property available in a designated property file.
- If you want to replace a text that crosses line boundaries, you
- must use a nested &lt;code&gt;&amp;lt;replacetoken&amp;gt;&lt;/code&gt; element.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dir" required="">
-        
-          
-
-        
-          <description>
-          The base directory to use when replacing a token in multiple files;
- required if &lt;code&gt;file&lt;/code&gt; is not defined.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no - defaults to default jvm encoding">
-        
-          
-
-        
-          <description>
-          Set the file encoding to use on the files read and written by the task; defaults to default JVM encoding
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="exactly one of the two.">
-        
-          
-        
-          <description>
-          Set the source file; required unless &lt;code&gt;dir&lt;/code&gt; is set.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="propertyfile" required="yes only if property attribute of &lt;replacefilter&gt; is used.">
-        
-          
- nested &lt;code&gt;&amp;lt;replacefilter&amp;gt;&lt;/code&gt; elements are drawn;
- Required only if &lt;i&gt;property&lt;/i&gt; attribute of
-
-        
-          <description>
-          The name of a property file from which properties specified using
- nested &lt;code&gt;&amp;lt;replacefilter&amp;gt;&lt;/code&gt; elements are drawn;
- Required only if &lt;i&gt;property&lt;/i&gt; attribute of
- &lt;code&gt;&amp;lt;replacefilter&amp;gt;&lt;/code&gt; is used.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="replacefilterfile" required="no.">
-        
-          
-        
-          <description>
-          Sets the name of a property file containing filters.
- Each property will be treated as a
- replacefilter where token is the name of the property and value
- is the value of the property.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="summary" required="no, by default no summary is produced">
-        
-          
- produced, detailing how many token occurrences and files were
-
-        
-          <description>
-          Indicates whether a summary of the replace operation should be
- produced, detailing how many token occurrences and files were
- processed; default=false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="token" required="yes, unless a nested      replacetoken element or the replacefilterfile      attribute is used.">
-        
-          
- required unless a nested
- &lt;code&gt;replacetoken&lt;/code&gt; element or the &lt;code&gt;replacefilterfile&lt;/code&gt;
-
-        
-          <description>
-          Set the string token to replace;
- required unless a nested
- &lt;code&gt;replacetoken&lt;/code&gt; element or the &lt;code&gt;replacefilterfile&lt;/code&gt;
- attribute is used.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="value" required="no">
-        
-          
-
-        
-          <description>
-          Set the string value to use as token replacement;
- optional, default is the empty string ""
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="replacetoken" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          the token to filter as the text of a nested element
-        </description>
-      
-        </element>
-
-      
-        <element name="replacevalue" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          the string to replace the token as the text of a nested element
-        </description>
-      
-        </element>
-
-      
-        <element name="replacefilter" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a nested &amp;lt;replacefilter&amp;gt; element.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="replaceregexp">
-
-  
-    
-  
-    <description>
-    Performs regular expression string replacements in a text
- file.  The input file(s) must be able to be properly processed by
- a Reader instance.  That is, they must be text only, no binary.
-
- The syntax of the regular expression depends on the implemtation that
- you choose to use. The system property &lt;code&gt;ant.regexp.regexpimpl&lt;/code&gt;
- will be the classname of the implementation that will be used (the default
- is &lt;code&gt;org.apache.tools.ant.util.regexp.JakartaOroRegexp&lt;/code&gt; and
- requires the Jakarta Oro Package).
-
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="byline" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Process the file(s) one line at a time, executing the replacement
- on one line at a time.  This is useful if you
- want to only replace the first occurence of a regular expression on
- each line, which is not easy to do when processing the file as a whole.
- Defaults to &lt;i&gt;false&lt;/i&gt;.&lt;/td&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          file for which the regular expression should be replaced;
- required unless a nested fileset is supplied.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="flags" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The flags to use when matching the regular expression.  For more
- information, consult the Perl5 syntax.
- &lt;ul&gt;
-  &lt;li&gt;g : Global replacement.  Replace all occurences found
-  &lt;li&gt;i : Case Insensitive.  Do not consider case in the match
-  &lt;li&gt;m : Multiline.  Treat the string as multiple lines of input, 
-         using "^" and "$" as the start or end of any line, respectively, rather than start or end of string.
-  &lt;li&gt; s : Singleline.  Treat the string as a single line of input, using
-        "." to match any character, including a newline, which normally, it would not match.
-&lt;/ul&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="match" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          the regular expression pattern to match in the file(s);
- required if no nested &amp;lt;regexp&amp;gt; is used
-        </description>
-      
-        </attribute>
-      
-        <attribute name="replace" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The substitution pattern to place in the file(s) in place
- of the regular expression.
- Required if no nested &amp;lt;substitution&amp;gt; is used
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          list files to apply the replacement to
-        </description>
-      
-        </element>
-
-      
-        <element name="regexp" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          A regular expression.
- You can use this element to refer to a previously
- defined regular expression datatype instance
-        </description>
-      
-        </element>
-
-      
-        <element name="substitution" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          A substitution pattern.  You can use this element to refer to a previously
- defined substitution pattern datatype instance.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="rmic">
-
-  
-    
-  
-    <description>
-    Runs the rmic compiler against classes.&lt;/p&gt;
- &lt;p&gt;Rmic can be run on a single class (as specified with the classname
- attribute) or a number of classes at once (all classes below base that
- are neither _Stub nor _Skel classes).  If you want to rmic a single
- class and this class is a class nested into another class, you have to
- specify the classname in the form &lt;code&gt;Outer$$Inner&lt;/code&gt; instead of
- &lt;code&gt;Outer.Inner&lt;/code&gt;.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="base" required="yes">
-          <description>
-          Sets the location to store the compiled files
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classname" required="no">
-          <description>
-          	Sets the the class to run &lt;code&gt;rmic&lt;/code&gt; against
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath to be used for this compilation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-
-        
-          <description>
-          Adds to the classpath a reference to 
- a &amp;lt;path&amp;gt; defined elsewhere.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compiler" required="no">
-        
-          <description>
-          Sets the compiler implementation to use;
- defaults to the value of the &lt;code&gt;build.rmic&lt;/code&gt; property,
- or failing that, default compiler for the current VM
-        </description>
-      
-        </attribute>
-      
-        <attribute name="debug" required="no">
-        
-          
-        
-          <description>
-          Generate debug info (passes -g to rmic); defaults to false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="extdirs" required="no">
-        
-          
-
-        
-          <description>
-          Sets the extension directories that will be used during the
- compilation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filtering" required="no">
-        
-          
-        
-          <description>
-          indicates whether token filtering should take place; default=false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="idl" required="no">
-        
-          
-
-        
-          <description>
-          Indicates that IDL output should be 
- generated.  This defaults to false 
- if not set.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="idlopts" required="no">
-        
-          
-        
-          <description>
-          pass additional arguments for idl compile
-        </description>
-      
-        </attribute>
-      
-        <attribute name="iiop" required="no">
-        
-          
- be generated; optional, defaults to false 
-
-        
-          <description>
-          Indicates that IIOP compatible stubs should
- be generated; defaults to false if not set.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="iiopopts" required="no">
-        
-          
-        
-          <description>
-          Set additional arguments for iiop
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includeantruntime" required="no">
-        
-          
-
-        
-          <description>
-          Sets whether or not to include ant's own classpath in this task's 
- classpath. Default is &lt;code&gt;true&lt;/code&gt;.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includejavaruntime" required="no">
-        
-          
-        
-          <description>
-          Task's classpath.
- Enables or disables including the default run-time
- libraries from the executing VM; defaults to false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sourcebase" required="no">
-        
-          
-        
-          <description>
-          Optional directory to save generated source files to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="stubversion" required="no">
-        
-          
-        
-          <description>
-          Specify the JDK version for the generated stub code.
- Specify &amp;quot;1.1&amp;quot; to pass the &amp;quot;-v1.1&amp;quot; option to rmic.&lt;/td&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verify" required="no">
-        
-          
- found by the directory match are
-
-        
-          <description>
-          Flag to enable verification so that the classes 
- found by the directory match are
- checked to see if they implement java.rmi.Remote. Defaults to false if not set.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Creates a nested classpath element.
-        </description>
-      
-        </element>
-
-      
-        <element name="compilerarg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds an implementation specific command line argument.
-        </description>
-      
-        </element>
-
-      
-        <element name="extdirs" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Maybe creates a nested extdirs element.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="rpm">
-
-    <description>
-    Invokes the rpm tool to build a Linux installation file.
-  </description>
-  
-    <structure>
-    
-      <attributes>
-      
-        <attribute name="cleanbuilddir" required="no">
-        
-          
-
-        
-          <description>
-          Flag (default=false) to remove 
- the generated files in the BUILD directory
-        </description>
-      
-        </attribute>
-      
-        <attribute name="command" required="no">
-        
-          
-        
-          <description>
-          What command to issue to the rpm tool. The default is "-bb".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="error" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Optional file to save stderr to
-        </description>
-      
-        </attribute>
-      
-        <attribute name="output" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Optional file to save stdout to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="removesource" required="no">
-        
-          
-
-        
-          <description>
-          Flag (default=false) 
- to remove the sources after the build.
- See the the &lt;tt&gt;--rmsource&lt;/tt&gt;  option of rpmbuild.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="removespec" required="no">
-        
-          
-        
-          <description>
-          Flag (default=false) to remove the spec file from SPECS
-        </description>
-      
-        </attribute>
-      
-        <attribute name="specfile" required="yes">
-        
-          
-        
-          <description>
-          The name of the spec File to use; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="topdir" required="no">
-        
-          
-
-        
-          <description>
-          The directory which will have the expected
- subdirectories, SPECS, SOURCES, BUILD, SRPMS. 
- If this isn't specified,
- the &lt;tt&gt;baseDir&lt;/tt&gt; value is used
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="script">
-
-  
-    
-  
-    <description>
-    Executes a script.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="language" required="yes">
-        
-          
-        
-          <description>
-          Defines the language (required).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="no">
-        
-          
-        
-          <description>
-          Load the script from an external file.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-      
-      <body>
-        
-        <description>
-          The script text.
-        </description>
-      
-      </body>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="sequential">
-
-  
-    
-  
-    <description>
-    Sequential is a container task - it can contain other Ant tasks. The nested 
- tasks are simply executed in sequence. Sequential's primary use is to support 
- the sequential execution of a subset of tasks within the
-{@link Parallel Parallel Task} 
-
- &lt;p&gt;
- The sequential task has no attributes and does not support any nested 
- elements apart from Ant tasks. Any valid Ant task may be embedded within the 
- sequential task.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-    </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="serverdeploy">
-
-  
-    
-  
-    <description>
-    Controls hot deployment tools for J2EE servers.
-
-  This class is used as a framework for the creation of vendor specific
-  hot deployment tools.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="action" required="yes">
-        
-          
-        
-          <description>
-          The action to be performed, usually "deploy"; required.
-   Some tools support additional actions, such as "delete", "list", "undeploy", "update"...
-        </description>
-      
-        </attribute>
-      
-        <attribute name="source" required="tool dependant">
-        
-          
-
-        
-          <description>
-          The filename of the component to be deployed; optional
-  depending upon the tool and the action.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="generic" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Creates a generic deployment tool.
-  &lt;p&gt;Ant calls this method on creation to handle embedded "generic" elements
-  in the ServerDeploy task.
-        </description>
-      
-        </element>
-
-      
-        <element name="jonas" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Creates a JOnAS deployment tool, for deployment to JOnAS servers.
-  &lt;p&gt;Ant calls this method on creation to handle embedded "jonas" elements
-  in the ServerDeploy task.
-        </description>
-      
-        </element>
-
-      
-        <element name="weblogic" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Creates a WebLogic deployment tool, for deployment to WebLogic servers.
-  &lt;p&gt;Ant calls this method on creation to handle embedded "weblogic" elements
-  in the ServerDeploy task.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="setproxy">
-
-  
-    
-  
-    <description>
-    Sets Java's web proxy properties, so that tasks and code run in
- the same JVM can have through-the-firewall access to remote web sites,
- and remote ftp sites.
- You can nominate an http and ftp proxy, or a socks server, reset the server 
- settings, or do nothing at all.
- &lt;p&gt; 
- 
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="nonproxyhosts" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          A list of hosts to bypass the proxy on. These should be separated
- with the vertical bar character '|'. Only in Java 1.4 does ftp use
- this list.
- e.g. fozbot.corp.sun.com|*.eng.sun.com
-        </description>
-      
-        </attribute>
-      
-        <attribute name="proxyhost" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          the HTTP/ftp proxy host. Set this to "" for the http proxy
- option to be disabled
-        </description>
-      
-        </attribute>
-      
-        <attribute name="proxyport" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          the HTTP/ftp proxy port number; default is 80
-        </description>
-      
-        </attribute>
-      
-        <attribute name="socksproxyhost" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The name of a Socks server. Set to "" to turn socks
- proxying off.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="socksproxyport" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the ProxyPort for socks connections. The default value is 1080
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="signjar">
-
-  
-    
-  
-    <description>
-    Signs jar or zip files with the javasign command line tool. The
- tool detailed dependency checking: files are only signed if they
- are not signed. The &lt;tt&gt;signjar&lt;/tt&gt; attribute can point to the file to
- generate; if this file exists then
- its modification date is used as a cue as to whether to resign any JAR file.
- &lt;br&gt;  
- &lt;strong&gt;Note:&lt;/strong&gt; Requires Java 1.2 or later. &lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="alias" required="yes.">
-        
-          
-        
-          <description>
-          the alias to sign under; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="internalsf" required="no; default false">
-        
-          
-
-        
-          <description>
-          Flag to include the .SF file inside the signature; default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jar" required="yes.">
-        
-          
-        
-          <description>
-          The jar file to sign.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keypass" required="no">
-        
-          
-        
-          <description>
-          Password for private key (if different).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keystore" required="no">
-        
-          
-        
-          <description>
-          Keystore location.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="lazy" required="no; default false">
-        
-          
- file means a JAR is signed;
-
-        
-          <description>
-          Flag to control whether the presence of a signature
- file means a JAR is signed; default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sectionsonly" required="no; default false">
-        
-          
-
-        
-          <description>
-          Flag to compute hash of entire manifest; default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sigfile" required="no">
-        
-          
-        
-          <description>
-          Name of .SF/.DSA file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="signedjar" required="no">
-        
-          
-        
-          <description>
-          name of signed JAR file; optional
-        </description>
-      
-        </attribute>
-      
-        <attribute name="storepass" required="yes.">
-        
-          
-        
-          <description>
-          password for keystore integrity; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="storetype" required="no">
-        
-          
-        
-          <description>
-          keystore type; optional
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="no; default false">
-        
-          
-
-        
-          <description>
-          Enable verbose output when signing
- ; optional: default false
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files to sign
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="sleep">
-
-  
-    
-  
-    <description>
-    Sleep, or pause, for a period of time.
-
- A task for sleeping a short period of time, useful when a
- build or deployment process requires an interval between tasks.
-&lt;p&gt;
- A negative value can be supplied to any of attributes provided the total sleep time 
- is positive, pending fundamental changes in physics and JVM
- execution tims&lt;/p&gt;
- Note that sleep times are always hints to be interpred by the OS how it feels 
- small times may either be ignored or rounded up to a minimum timeslice. Note 
- also that the system clocks often have a fairly low granularity too, which complicates 
- measuring how long a sleep actually took.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="failonerror" required="no">
-        
-          
-        
-          <description>
-          flag controlling whether to break the build on an error.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="hours" required="no">
-        
-          
-        
-          <description>
-          hours to add to the sleep time.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="milliseconds" required="no">
-        
-          
-        
-          <description>
-          milliseconds to add to the sleep time
-        </description>
-      
-        </attribute>
-      
-        <attribute name="minutes" required="no">
-        
-          
-        
-          <description>
-          minutes to add to the sleep time
-        </description>
-      
-        </attribute>
-      
-        <attribute name="seconds" required="no">
-        
-          
-        
-          <description>
-          seconds to add to the sleep time
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="soscheckin">
-
-  
-    
-  
-    <description>
-    Commits and unlocks files in Visual SourceSafe via a SourceOffSite server.
-   </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the comment to apply to all files being labelled;
- optional, only valid in SOSLabel
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the Filename to act upon; optional.
- If no file is specified then the tasks 
- act upon the project
-        </description>
-      
-        </attribute>
-      
-        <attribute name="label" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the labeled version to operate on in SourceSafe
-        </description>
-      
-        </attribute>
-      
-        <attribute name="localpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Override the working directory and get to the specified path; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nocache" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nocompress" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Flag that disables compression when set; optional, default
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe password; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="projectpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe project path without the "$" prefix; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recursive" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="soscmd" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="soshome" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The path to the SourceOffSite home directory
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sosserverpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="username" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe username; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Enable verbose output; optional, default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the a version number to get - 
- only works with the SOSGet on a file; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vssserverpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the path to the location of the ss.ini file; 
- required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="soscheckout">
-
-  
-    
-  
-    <description>
-    Retrieves and locks files in Visual SourceSafe via a SourceOffSite server.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the comment to apply to all files being labelled;
- optional, only valid in SOSLabel
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the Filename to act upon; optional.
- If no file is specified then the tasks 
- act upon the project
-        </description>
-      
-        </attribute>
-      
-        <attribute name="label" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the labeled version to operate on in SourceSafe
-        </description>
-      
-        </attribute>
-      
-        <attribute name="localpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Override the working directory and get to the specified path; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nocache" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nocompress" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Flag that disables compression when set; optional, default
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe password; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="projectpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe project path without the "$" prefix; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recursive" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="soscmd" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="soshome" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The path to the SourceOffSite home directory
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sosserverpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="username" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe username; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Enable verbose output; optional, default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the a version number to get - 
- only works with the SOSGet on a file; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vssserverpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the path to the location of the ss.ini file; 
- required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="sosget">
-
-  
-    
-  
-    <description>
-    Retrieves a read-only copy of the specified project or file
- from Visual SourceSafe via a SourceOffSite server.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the comment to apply to all files being labelled;
- optional, only valid in SOSLabel
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the Filename to act upon; optional.
- If no file is specified then the tasks 
- act upon the project
-        </description>
-      
-        </attribute>
-      
-        <attribute name="label" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the labeled version to operate on in SourceSafe
-        </description>
-      
-        </attribute>
-      
-        <attribute name="localpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Override the working directory and get to the specified path; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nocache" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nocompress" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Flag that disables compression when set; optional, default
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe password; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="projectpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe project path without the "$" prefix; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recursive" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="soscmd" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="soshome" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The path to the SourceOffSite home directory
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sosserverpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="username" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe username; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Enable verbose output; optional, default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the a version number to get - 
- only works with the SOSGet on a file; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vssserverpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the path to the location of the ss.ini file; 
- required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="soslabel">
-
-  
-    
-  
-    <description>
-    Labels Visual SourceSafe files via a SourceOffSite server.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the comment to apply to all files being labelled;
- optional, only valid in SOSLabel
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the Filename to act upon; optional.
- If no file is specified then the tasks 
- act upon the project
-        </description>
-      
-        </attribute>
-      
-        <attribute name="label" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the labeled version to operate on in SourceSafe
-        </description>
-      
-        </attribute>
-      
-        <attribute name="localpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Override the working directory and get to the specified path; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nocache" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          flag to disable the cache when set;
- optional needed if SOSHOME is set as an environment variable.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="nocompress" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Flag that disables compression when set; optional, default
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe password; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="projectpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe project path without the "$" prefix; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recursive" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Flag to recursively apply the action (not valid
- on all SOS tasks ); optional, default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="soscmd" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the directory where soscmd(.exe) is located;
- optional, soscmd must be on the path if omitted.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="soshome" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The path to the SourceOffSite home directory
-        </description>
-      
-        </attribute>
-      
-        <attribute name="sosserverpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the address and port of SourceOffSite Server,
- eg. 192.168.0.1:8888 ; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="username" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the SourceSafe username; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="verbose" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Enable verbose output; optional, default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the a version number to get - 
- only works with the SOSGet on a file; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vssserverpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the path to the location of the ss.ini file; 
- required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="sound">
-
-  
-    
-  
-    <description>
-    Plays a sound file at the end of the build, according to whether the build failed or succeeded.
-
- There are three attributes to be set:
-
- &lt;code&gt;source&lt;/code&gt;: the location of the audio file to be played
- &lt;code&gt;duration&lt;/code&gt;: play the sound file continuously until "duration" milliseconds has expired
- &lt;code&gt;loops&lt;/code&gt;: the number of times the sound file should be played until stopped
-
- I have only tested this with .WAV and .AIFF sound file formats. Both seem
- to work fine.
-
- plans for the future:
- - use the midi api to define sounds (or drum beat etc) in xml and have
-   Ant play them back
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-    </attributes>
-
-    
-      <elements>
-      
-        <element name="fail" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add a sound when the build fails
-        </description>
-      
-        </element>
-
-      
-        <element name="success" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add a sound when the build succeeds
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="splash">
-
-  
-    
-  
-    <description>
-    Creates a splash screen. The splash screen is displayed
- for the duration of the build and includes a handy progress bar as
- well. Use in conjunction with the sound task to provide interest
- whilst waiting for your builds to complete...
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="imageurl" required="no">
-        
-          <description>
-          A URL pointing to an image to display; optional, default antlogo.gif
- from the classpath.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Proxy password; required if &lt;tt&gt;user&lt;/tt&gt; is set.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Proxy port; optional, default 80.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="proxy" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          name of proxy; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="showduration" required="no">
-        
-          
-
-        
-          <description>
-          how long to show the splash screen in milliseconds,
- optional; default 5000 ms.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Proxy user; optional, default =none.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="sql">
-
-  
-    
-  
-    <description>
-    Executes a series of SQL statements on a database using JDBC.
-
- &lt;p&gt;Statements can
- either be read in from a text file using the &lt;i&gt;src&lt;/i&gt; attribute or from 
- between the enclosing SQL tags.&lt;/p&gt;
- &lt;p&gt;Multiple statements can be provided, separated by semicolons (or the 
- defined &lt;i&gt;delimiter&lt;/i&gt;). Individual lines within the statements can be 
- commented using either --, // or REM at the start of the line.&lt;/p&gt;
- &lt;p&gt;The &lt;i&gt;autocommit&lt;/i&gt; attribute specifies whether auto-commit should be 
- turned on or off whilst executing the statements. If auto-commit is turned 
- on each statement will be executed and committed. If it is turned off the 
- statements will all be executed as one transaction.&lt;/p&gt;
- &lt;p&gt;The &lt;i&gt;onerror&lt;/i&gt; attribute specifies how to proceed when an error occurs 
- during the execution of one of the statements. 
- The possible values are: &lt;b&gt;continue&lt;/b&gt; execution, only show the error;
- &lt;b&gt;stop&lt;/b&gt; execution and commit transaction;
- and &lt;b&gt;abort&lt;/b&gt; execution and transaction and fail task.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="append" required="no">
-        
-          
-
-        
-          <description>
-          whether output should be appended to or overwrite
- an existing file.  Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="autocommit" required="no, default &quot;false&quot;">
-        
-          
-
-        
-          <description>
-          Auto commit flag for database connection;
- optional, default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="caching" required="no (default=true)">
-        
-          
-        
-          <description>
-          Caching loaders / driver. This is to avoid
- getting an OutOfMemoryError when calling this task
- multiple times in a row; default: true
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no (use system classpath)">
-        
-          
-        
-          <description>
-          Sets the classpath for loading the driver.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no (use system classpath)">
-        
-          
-
-        
-          <description>
-          Set the classpath for loading the driver 
- using the classpath reference.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="delimiter" required="no, default &quot;;&quot;">
-        
-          
- optional, default &amp;quot;;&amp;quot;
-
- &lt;p&gt;For example, set this to "go" and delimitertype to "ROW" for
-
-        
-          <description>
-          Set the delimiter that separates SQL statements; 
- optional, default &amp;quot;;&amp;quot;
-
- &lt;p&gt;For example, set this to "go" and delimitertype to "ROW" for
- Sybase ASE or MS SQL Server.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="delimitertype" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the delimiter type: "normal" or "row" (default "normal").
-
- &lt;p&gt;The delimiter type takes two values - normal and row. Normal
- means that any occurence of the delimiter terminate the SQL
- command whereas with row, only a line containing just the
- delimiter is recognized as the end of the command.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="driver" required="yes">
-        
-          
-        
-          <description>
-          Class name of the JDBC driver; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no - defaults to default jvm encoding">
-        
-          
-        
-          <description>
-          Set the file encoding to use on the SQL files read in
-        </description>
-      
-        </attribute>
-      
-        <attribute name="onerror" required="no, default &quot;abort&quot;">
-        
-          
-
-        
-          <description>
-          Action to perform when statement fails: continue, stop, or abort
- optional; default &amp;quot;abort&amp;quot;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="output" required="no (print to system.out by default)">
-        
-          
-
-        
-          <description>
-          Set the output file; 
- optional, defaults to the Ant log.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="yes">
-        
-          
-        
-          <description>
-          Sets the password; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="print" required="no, default &quot;false&quot;">
-        
-          
-
-        
-          <description>
-          Print result sets from the statements;
- optional, default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="rdbms" required="no (no restriction)">
-        
-          
-
-        
-          <description>
-          Execute task only if the lower case product name 
- of the DB matches this
-        </description>
-      
-        </attribute>
-      
-        <attribute name="showheaders" required="no, default &quot;true&quot;">
-        
-          
-
-        
-          <description>
-          Print headers for result sets from the 
- statements; optional, default true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="yes, unless statements enclosed within tags">
-        
-          
-        
-          <description>
-          Set the name of the SQL file to be run.
- Required unless statements are enclosed in the buildfile
-        </description>
-      
-        </attribute>
-      
-        <attribute name="url" required="yes">
-        
-          
-        
-          <description>
-          Sets the database connection URL; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="userid" required="yes">
-        
-          
-        
-          <description>
-          Set the user name for the connection; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="no (no restriction)">
-        
-          
-
-        
-          <description>
-          Sets the version string, execute task only if 
- rdbms version match; optional.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files (nested fileset attribute).
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a path to the classpath for loading the driver.
-        </description>
-      
-        </element>
-
-      
-        <element name="transaction" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a SQL transaction to execute
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-      
-      <body>
-        
-        <description>
-          Set an inline SQL command to execute. 
- NB: Properties are not expanded in this text.
-        </description>
-      
-      </body>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="stylebook">
-
-  
-    
-  
-    <description>
-    Executes the Apache Stylebook documentation generator.
- Unlike the commandline version of this tool, all three arguments
- are required to run stylebook.
- &lt;p&gt;
- Being extended from &amp;lt;Java&amp;gt;, all the parent's attributes
- and options are available. Do not set any apart from the &lt;tt&gt;classpath&lt;/tt&gt;
- as they are not guaranteed to be there in future.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="append" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, append output to existing file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="book" required="yes">
-        
-          
-
-        
-          <description>
-          The book xml file that the documentation generation starts from; 
- required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classname" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the Java class to execute.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the classpath to be used when running the Java class
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Classpath to use, by reference.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The working directory of the process
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          If true, then fail if the command exits with a
- returncode other than 0
-        </description>
-      
-        </attribute>
-      
-        <attribute name="fork" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, execute in a new VM.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jvmversion" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the JVM version.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jar" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The location of the JAR file to execute.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jvm" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the command used to start the VM (only if not forking).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jvmargs" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the command line arguments for the JVM.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="loaderconfig" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          A loader configuration to send to stylebook; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="maxmemory" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Corresponds to -mx or -Xmx depending on VM version.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="newenvironment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          If true, use a completely new environment.
-
- &lt;p&gt;Will be ignored if we are not forking a new VM.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="output" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          File the output of the process is redirected to.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="skindirectory" required="yes">
-        
-          
-
-        
-          <description>
-          the directory that contains the stylebook skin;
- required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="targetdirectory" required="yes">
-        
-          
-
-        
-          <description>
-          the destination directory where the documentation is generated;
- required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="timeout" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Timeout in milliseconds after which the process will be killed.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="env" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds an environment variable.
-
- &lt;p&gt;Will be ignored if we are not forking a new VM.
-        </description>
-      
-        </element>
-
-      
-        <element name="sysproperty" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a system property.
-        </description>
-      
-        </element>
-
-      
-        <element name="arg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a command-line argument.
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a path to the classpath.
-        </description>
-      
-        </element>
-
-      
-        <element name="jvmarg" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a JVM argument.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="tar">
-
-  <description>
-    Creates a tar archive.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="basedir" required="no">
-        
-          
-        
-          <description>
-          This is the base directory to look in for things to tar.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compression" required="no">
-        
-          
-        
-          <description>
-          Set compression method.
- Allowable values are
- &lt;ul&gt;
- &lt;li&gt;  none - no compression
- &lt;li&gt;  gzip - Gzip compression
- &lt;li&gt;  bzip2 - Bzip2 compression
- &lt;/ul&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destfile" required="yes">
-        
-          
-        
-          <description>
-          Set is the name/location of where to create the tar file.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="longfile" required="no">
-        
-          
-        
-          <description>
-          Set how to handle long files, those with a path&amp;gt;100 chars.
- Optional, default=warn.
- &lt;p&gt;
- Allowable values are
- &lt;ul&gt;
- &lt;li&gt;  truncate - paths are truncated to the maximum length
- &lt;li&gt;  fail - paths greater than the maximim cause a build exception
- &lt;li&gt;  warn - paths greater than the maximum cause a warning and GNU is used
- &lt;li&gt;  gnu - GNU extensions are used for any paths greater than the maximum.
- &lt;li&gt;  omit - paths greater than the maximum are omitted from the archive
- &lt;/ul&gt;
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="tarfileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a new fileset with the option to specify permissions
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="taskdef">
-
-  
-    
-  
-    <description>
-    Adds a task definition to the current project, such that this new task can be
- used in the current project. Two attributes are needed, the name that identifies
- this task uniquely, and the full name of the class (including the packages) that
- implements this task.&lt;/p&gt;
- &lt;p&gt;You can also define a group of tasks at once using the file or
- resource attributes.  These attributes point to files in the format of
- Java property files.  Each line defines a single task in the
- format:&lt;/p&gt;
- &lt;pre&gt;
- taskname=fully.qualified.java.classname
- &lt;/pre&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classname" required="yes, unless file or resource have      been specified.">
-        
-          
-        
-          <description>
-          the full class name of the object being defined.
- Required, unless file or resource have
- been specified.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath to be used when searching for component being defined
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-        
-          <description>
-          reference to a classpath to use when loading the files.
- To actually share the same loader, set loaderref as well
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="no">
-        
-          
-
-        
-          <description>
-          Name of the property file  to load
- ant name/classname pairs from.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="loaderref" required="no">
-        
-          
-        
-          <description>
-          Use the reference to locate the loader. If the loader is not
- found, taskdef will use the specified classpath and register it
- with the specified name.
- This allow multiple taskdef/typedef to use the same class loader,
- so they can be used together. It eliminate the need to
- put them in the CLASSPATH.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="name" required="yes, unless file or resource have      been specified.">
-        
-          
-
-        
-          <description>
-          Name of the property resource to load
- ant name/classname pairs from.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="resource" required="no">
-        
-          
-
-        
-          <description>
-          Name of the property resource to load
- ant name/classname pairs from.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create the classpath to be used when searching for component being defined
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="telnet">
-
-  
-    
-  
-    <description>
-    Automates the telnet protocol.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="initialcr" required="no">
-        
-          
-        
-          <description>
-          send a carriage return after connecting; optional, defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="only if userid is specified">
-        
-          
-
-        
-          <description>
-          Set the the login password to use
- required if &lt;tt&gt;userid&lt;/tt&gt; is set.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="port" required="no">
-        
-          
-        
-          <description>
-          Set the tcp port to connect to; default is 23.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="server" required="yes">
-        
-          
-        
-          <description>
-          Set the hostname or address of the remote server.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="timeout" required="no">
-        
-          
-
-        
-          <description>
-          set a default timeout in seconds to wait for a response, 
- zero means forever (the default)
-        </description>
-      
-        </attribute>
-      
-        <attribute name="userid" required="only if password is specified">
-        
-          
-
-        
-          <description>
-          Set the the login id to use on the server; 
- required if &lt;tt&gt;password&lt;/tt&gt; is set.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="read" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          A string to wait for from the server. 
-  A subTask &amp;lt;read&amp;gt; tag was found.  Create the object, 
-  Save it in our list, and return it.
-        </description>
-      
-        </element>
-
-      
-        <element name="write" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Add text to send to the server
-  A subTask &amp;lt;write&amp;gt; tag was found.  Create the object, 
-  Save it in our list, and return it.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="tempfile">
-
-  
-    
-  
-    <description>
-    This task sets a property to  the name of a temporary file. 
-  Unlike the Java1.2 method to create a temporary file, this task
-  does work on Java1.1. Also, it does not actually create the
-  temporary file, but it does guarantee that the file did not
-  exist when the task was executed. 
- &lt;p&gt;  
- Examples
- &lt;pre&gt;&amp;lt;tempfile property="temp.file" /&amp;gt;&lt;/pre&gt;
- create a temporary file
- &lt;pre&gt;&amp;lt;tempfile property="temp.file" suffix=".xml" /&amp;gt;&lt;/pre&gt;
- create a temporary file with the .xml suffix.
- &lt;pre&gt;&amp;lt;tempfile property="temp.file" destDir="build"/&amp;gt;&lt;/pre&gt;
- create a temp file in the build subdir
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="destdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          destination directory. If null, 
-the parent directory is used instead
-        </description>
-      
-        </attribute>
-      
-        <attribute name="prefix" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          optional prefix string
-        </description>
-      
-        </attribute>
-      
-        <attribute name="property" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The property you wish to assign the temporary file to
-        </description>
-      
-        </attribute>
-      
-        <attribute name="suffix" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Suffix string for the temp file (optional)
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="touch">
-
-  
-    
-  
-    <description>
-    Touch a file and/or fileset(s); corresponds to the Unix touch command.
-
- &lt;p&gt;If the file to touch doesn't exist, an empty one is
- created. &lt;/p&gt;
-
- &lt;p&gt;Note: Setting the modification time of files is not supported in
- JDK 1.1.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="datetime" required="no">
-          <description>
-          the new modification time of the file
- in the format MM/DD/YYYY HH:MM AM &lt;i&gt;or&lt;/i&gt; PM;
- Optional, default=now
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="unless a nested fileset element         has been specified.">
-        
-          
-        
-          <description>
-          Sets a single source file to touch.  If the file does not exist
- an empty file will be created.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="millis" required="no">
-        
-          
-
-        
-          <description>
-          the new modification time of the file
- in milliseconds since midnight Jan 1 1970.
- Optional, default=now
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a set of files to touch
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="translate">
-
-  
-    
-  
-    <description>
-    Translates text embedded in files using Resource Bundle files.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="bundle" required="yes">
-        
-          
-        
-          <description>
-          Sets Family name of resource bundle; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="bundlecountry" required="no">
-        
-          
-        
-          <description>
-          Sets locale specific country of resource bundle; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="bundleencoding" required="no">
-        
-          
-        
-          <description>
-          Sets Resource Bundle file encoding scheme; optional.  Defaults to source file
- encoding
-        </description>
-      
-        </attribute>
-      
-        <attribute name="bundlelanguage" required="no">
-        
-          
-        
-          <description>
-          Sets locale specific language of resource bundle; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="bundlevariant" required="no">
-        
-          
-        
-          <description>
-          Sets locale specific variant of resource bundle; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destencoding" required="no">
-        
-          
-        
-          <description>
-          Sets destination file encoding scheme; optional.  Defaults to source file
- encoding
-        </description>
-      
-        </attribute>
-      
-        <attribute name="endtoken" required="yes">
-        
-          
-        
-          <description>
-          Sets ending token to identify keys; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="forceoverwrite" required="no">
-        
-          
- whether it is newer than the source file as well as the
-
-        
-          <description>
-          Whether or not to overwrite existing file irrespective of
- whether it is newer than the source file as well as the
- resource bundle file.
- Defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcencoding" required="no">
-        
-          
-
-        
-          <description>
-          Sets source file encoding scheme; optional,
- defaults to encoding of local system.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="starttoken" required="yes">
-        
-          
-        
-          <description>
-          Sets starting token to identify keys; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="todir" required="yes">
-        
-          
-        
-          <description>
-          Sets Destination directory; required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files to translate as a nested fileset element.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="tstamp">
-
-  
-    
-  
-    <description>
-    Sets properties to the current time, or offsets from the current time.
- The default properties are TSTAMP, DSTAMP and TODAY;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="prefix" required="no">
-        
-          
-        
-          <description>
-          Set a prefix for the properties. If the prefix does not end with a "."
- one is automatically added
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="format" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          create a custom format with the the current prefix.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="typedef">
-
-  
-    
-  
-    <description>
-    Adds a data type definition to the current project.
- Two attributes are
- needed, the name that identifies this data type uniquely, and the full
- name of the class (including the packages) that implements this
- type.
- &lt;p&gt;You can also define a group of data types at once using the file or
- resource attributes.  These attributes point to files in the format of
- Java property files.   Each line defines a single data type in the
- format:&lt;/p&gt;
- &lt;pre&gt;
- typename=fully.qualified.java.classname
- &lt;/pre&gt;
- &lt;p&gt;Typedef should be used to add your own types to the system. Data
- types are things likepaths or filesets that can be defined at
- the project level and referenced via their ID attribute.&lt;/p&gt;
- &lt;p&gt;Custom data types usually need custom tasks to put them to good use.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classname" required="yes, unless file or resource have      been specified.">
-        
-          
-        
-          <description>
-          the full class name of the object being defined.
- Required, unless file or resource have
- been specified.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the classpath to be used when searching for component being defined
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          reference to a classpath to use when loading the files.
- To actually share the same loader, set loaderref as well
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="no">
-        
-          
-
-        
-          <description>
-          Name of the property file  to load
- ant name/classname pairs from.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="loaderref" required="no">
-        
-          
-        
-          <description>
-          Use the reference to locate the loader. If the loader is not
- found, taskdef will use the specified classpath and register it
- with the specified name.
- This allow multiple taskdef/typedef to use the same class loader,
- so they can be used together. It eliminate the need to
- put them in the CLASSPATH.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="name" required="yes, unless file or resource have      been specified.">
-        
-          
-
-        
-          <description>
-          Name of the property resource to load
- ant name/classname pairs from.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="resource" required="no">
-        
-          
-
-        
-          <description>
-          Name of the property resource to load
- ant name/classname pairs from.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create the classpath to be used when searching for component being defined
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="untar">
-
-  
-    
-  
-    <description>
-    Untar a file.
- &lt;p&gt;For JDK 1.1 &amp;quot;last modified time&amp;quot; field is set to current time instead of being
- carried from the archive file.&lt;/p&gt;
- &lt;p&gt;PatternSets are used to select files to extract
- &lt;I&gt;from&lt;/I&gt; the archive.  If no patternset is used, all files are extracted.
- &lt;/p&gt;
- &lt;p&gt;FileSet&gt;s may be used used to select archived files
- to perform unarchival upon.
- &lt;/p&gt;
- &lt;p&gt;File permissions will not be restored on extracted files.&lt;/p&gt;
- &lt;p&gt;The untar task recognizes the long pathname entries used by GNU tar.&lt;p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="compression" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set decompression algorithm to use; default=none.
-
- Allowable values are
- &lt;ul&gt;
-   &lt;li&gt;none - no compression
-   &lt;li&gt;gzip - Gzip compression
-   &lt;li&gt;bzip2 - Bzip2 compression
- &lt;/ul&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dest" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the destination directory. File will be unzipped into the
- destination directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="overwrite" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Should we overwrite files in dest, even if they are newer than
- the corresponding entries in the archive?
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the path to zip-file.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a fileset
-        </description>
-      
-        </element>
-
-      
-        <element name="patternset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a patternset
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="unzip">
-
-  
-    
-  
-    <description>
-    Unzip a file.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dest" required="yes">
-        
-          
-        
-          <description>
-          Set the destination directory. File will be unzipped into the
- destination directory.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="overwrite" required="no">
-        
-          
-
-        
-          <description>
-          Should we overwrite files in dest, even if they are newer than
- the corresponding entries in the archive?
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="yes, if filesets are not used.">
-        
-          
-        
-          <description>
-          Set the path to zip-file.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a fileset
-        </description>
-      
-        </element>
-
-      
-        <element name="patternset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a patternset
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="uptodate">
-
-  
-    
-  
-    <description>
-    Sets the given property if the specified target has a timestamp
- greater than all of the source files.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="property" required="yes">
-        
-          
-
-        
-          <description>
-          The property to set if the target file is more up-to-date than
- (each of) the source file(s).
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcfile" required="yes, unless a nested        &lt;srcfiles&gt; element is present.">
-        
-          
-
-        
-          <description>
-          The file that must be older than the target file
- if the property is to be set.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="targetfile" required="yes, unless a nested        &lt;mapper&gt; element is present.">
-        
-          
-
-        
-          <description>
-          The file which must be more up-to-date than (each of) the source file(s)
- if the property is to be set.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="value" required="no; defaults to true.">
-        
-          
-
-        
-          <description>
-          The value to set the named property to if the target file is more
- up-to-date than (each of) the source file(s). Defaults to 'true'.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="srcfiles" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Nested &amp;lt;srcfiles&amp;gt; element.
-        </description>
-      
-        </element>
-
-      
-        <element name="mapper" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Defines the FileNameMapper to use (nested mapper element).
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vajexport">
-
-  
-    
-  
-    <description>
-    Export packages from the Visual Age for Java workspace.
- The packages are specified similar to all other MatchingTasks.
- Since the VA Workspace is not file based, this task is simulating
- a directory hierarchy for the workspace:
- The 'root' contains all project 'dir's, and the projects contain
- their respective package 'dir's.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="defaultexcludes" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets whether default exclusions should be used or not; default true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destdir" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the destination directory into which the selected
- items should be exported; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="excludes" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the set of exclude patterns. Patterns may be separated by a comma
- or a space. Currently only patterns denoting packages are
- supported
-        </description>
-      
-        </attribute>
-      
-        <attribute name="exportclasses" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          optional flag to export the class files; default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="exportdebuginfo" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          optional flag to export the debug info; default false.
- debug info
-        </description>
-      
-        </attribute>
-      
-        <attribute name="exportresources" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          optional flag to export the resource file; default true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="exportsources" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          optional flag to export the Java files; default true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="includes" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the set of include patterns. Patterns may be separated by a comma
- or a space. Currently only patterns denoting packages are
- supported
-        </description>
-      
-        </attribute>
-      
-        <attribute name="overwrite" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          if Overwrite is set, files will be overwritten during export
-        </description>
-      
-        </attribute>
-      
-        <attribute name="remote" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Name and port of a remote tool server, optiona.
- Format: &amp;lt;servername&amp;gt;:&amp;lt;port no&amp;gt;.
- If this attribute is set, the tasks will be executed on the specified tool
- server.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="exclude" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add a name entry on the exclude list
-        </description>
-      
-        </element>
-
-      
-        <element name="include" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add a name entry on the include list
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vajimport">
-
-  
-    
-  
-    <description>
-    Import source, class files, and resources to the Visual Age for Java
- workspace.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="defaultexcludes" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets whether default exclusions should be used or not.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="importclasses" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Flag to import .class files; optional, default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="importresources" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Import resource files (anything that doesn't end in
- .class or .java); optional, default true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="importsources" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Import .java files; optional, default true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="project" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The VisualAge for Java Project name to import into.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="remote" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Name and port of a remote tool server, optiona.
- Format: &amp;lt;servername&amp;gt;:&amp;lt;port no&amp;gt;.
- If this attribute is set, the tasks will be executed on the specified tool
- server.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files (nested fileset attribute).
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vajload">
-
-  
-    
-  
-    <description>
-    Load specific project versions into the Visual Age for Java workspace.
- Each project and version name has to be specified completely.
- Example:  
- &lt;blockquote&gt; 
- &amp;lt;vajload&gt;
- &amp;nbsp;&amp;lt;project name="MyVAProject" version="2.1"/&gt;
- &amp;nbsp;&amp;lt;project name="Apache Xerces" version="1.2.0"/&gt;
- &amp;lt;/vajload&gt;
- &lt;/blockquote&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="remote" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Name and port of a remote tool server, optiona.
- Format: &amp;lt;servername&amp;gt;:&amp;lt;port no&amp;gt;.
- If this attribute is set, the tasks will be executed on the specified tool
- server.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="vajproject" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a project description entry on the project list.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vssadd">
-
-  
-    
-  
-    <description>
-    Performs Add commands to Microsoft Visual SourceSafe.
- Based on the VSS Checkin code by Martin Poeschl
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="autoresponse" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the comment to apply; optional.
- &lt;p&gt;
- If this is null or empty, it will be replaced with "-" which
- is what SourceSafe uses for an empty comment.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="localpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the local path.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="login" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- &lt;p&gt;
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recursive" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set behaviour recursive or non-recursive
-        </description>
-      
-        </attribute>
-      
-        <attribute name="serverpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where &lt;code&gt;srssafe.ini&lt;/code&gt; resides; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ssdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          directory where &lt;code&gt;ss.exe&lt;/code&gt; resides; optional.
- By default the task expects it to be in the PATH.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vsspath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- &lt;p&gt;
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        </description>
-      
-        </attribute>
-      
-        <attribute name="writable" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Leave added files writable? Default: false.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vsscheckin">
-
-  
-    
-  
-    <description>
-    Performs CheckIn commands to Microsoft Visual SourceSafe.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="autoresponse" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the comment to apply; optional.
- &lt;p&gt;
- If this is null or empty, it will be replaced with "-" which
- is what SourceSafe uses for an empty comment.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="localpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the local path.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="login" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- &lt;p&gt;
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recursive" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Flag to tell the task to recurse down the tree;
- optional, default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="serverpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where &lt;code&gt;srssafe.ini&lt;/code&gt; resides; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ssdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          directory where &lt;code&gt;ss.exe&lt;/code&gt; resides; optional.
- By default the task expects it to be in the PATH.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vsspath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- &lt;p&gt;
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        </description>
-      
-        </attribute>
-      
-        <attribute name="writable" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Leave checked in files writable? Default: false.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vsscheckout">
-
-  
-    
-  
-    <description>
-    Performs CheckOut commands to Microsoft Visual SourceSafe.
- &lt;p&gt;If you specify two or more attributes from version, date and 
- label only one will be used in the order version, date, label.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="autoresponse" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="date" required="NOTDEFINED">
-        
-          
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
-
-        
-          <description>
-          Set the date to get;
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
- allowed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="label" required="NOTDEFINED">
-        
-          
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
-
-        
-          <description>
-          Set the label to get;
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
- allowed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="localpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the local path.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="login" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- &lt;p&gt;
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recursive" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Flag to tell the task to recurse down the tree;
- optional, default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="serverpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where &lt;code&gt;srssafe.ini&lt;/code&gt; resides; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ssdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          directory where &lt;code&gt;ss.exe&lt;/code&gt; resides; optional.
- By default the task expects it to be in the PATH.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="NOTDEFINED">
-        
-          
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
-
-        
-          <description>
-          Set the version to get;
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
- allowed.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vsspath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- &lt;p&gt;
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vsscp">
-
-  
-    
-  
-    <description>
-    Performs CP (Change Project) commands to Microsoft Visual SourceSafe.
- &lt;p&gt;This task is typically used before a VssAdd in order to set the target project&lt;/p&gt;
- Based on the VSS Checkin code by Martin Poeschl
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="autoresponse" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="login" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- &lt;p&gt;
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="serverpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where &lt;code&gt;srssafe.ini&lt;/code&gt; resides; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ssdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          directory where &lt;code&gt;ss.exe&lt;/code&gt; resides; optional.
- By default the task expects it to be in the PATH.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vsspath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- &lt;p&gt;
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vsscreate">
-
-  
-    
-  
-    <description>
-    Creates a new project in Microsoft Visual SourceSafe.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="autoresponse" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the comment to apply in SourceSafe.
- &lt;p&gt;
- If this is null or empty, it will be replaced with "-" which
- is what SourceSafe uses for an empty comment.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Sets whether task should fail if there is an error creating the project;
- optional, default true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="login" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- &lt;p&gt;
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="quiet" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets/clears quiet mode; optional, default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="serverpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where &lt;code&gt;srssafe.ini&lt;/code&gt; resides; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ssdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          directory where &lt;code&gt;ss.exe&lt;/code&gt; resides; optional.
- By default the task expects it to be in the PATH.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vsspath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- &lt;p&gt;
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vssget">
-
-  
-    
-  
-    <description>
-    Perform Get commands to Microsoft Visual SourceSafe.
- &lt;p&gt;Note that only one of version, date or label should be specified&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="autoresponse" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="date" required="NOTDEFINED">
-        
-          
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
-
-        
-          <description>
-          Set the date to get;
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
- allowed.
- &lt;p&gt;
- ORIGINAL COMMENT THAT DOES NOT SEEM AT ALL VALID:
- Note we assume that if the supplied string has the value "null" that something
- went wrong and that the string value got populated from a null object. This
- happens if a ant variable is used e.g. date="${date}" when date
- has not been defined to ant!
-        </description>
-      
-        </attribute>
-      
-        <attribute name="label" required="NOTDEFINED">
-        
-          
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
-
-        
-          <description>
-          Set the label to get;
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
- allowed.
- &lt;p&gt;
- Note we assume that if the supplied string has the value "null" that something
- went wrong and that the string value got populated from a null object. This
- happens if a ant variable is used e.g. label="${label_server}" when label_server
- has not been defined to ant!
-        </description>
-      
-        </attribute>
-      
-        <attribute name="localpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Override the working directory and get to the specified path; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="login" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- &lt;p&gt;
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="quiet" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Flag to suppress output when true ; false by default.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recursive" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Flag to tell the task to recurse down the tree;
- optional, default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="serverpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where &lt;code&gt;srssafe.ini&lt;/code&gt; resides; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ssdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          directory where &lt;code&gt;ss.exe&lt;/code&gt; resides; optional.
- By default the task expects it to be in the PATH.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="NOTDEFINED">
-        
-          
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
-
-        
-          <description>
-          Set a version number to get; 
- optional, only one of &lt;tt&gt;version&lt;/tt&gt;, &lt;tt&gt;label&lt;/tt&gt;, or &lt;tt&gt;date&lt;/tt&gt;
- allowed.
- &lt;p&gt;
- ORIGINAL COMMENT THAT DOES NOT SEEM AT ALL VALID:
- Note we assume that if the supplied string has the value "null" that something
- went wrong and that the string value got populated from a null object. This
- happens if a ant variable is used e.g. version="${ver_server}" when ver_server
- has not been defined to ant!
- NO, in this case the version string is "${ver_server}".
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vsspath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- &lt;p&gt;
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        </description>
-      
-        </attribute>
-      
-        <attribute name="writable" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          make fetched files  writable; optional, default false.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vsshistory">
-
-  
-    
-  
-    <description>
-    Performs History commands to Microsoft Visual SourceSafe.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="dateformat" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Format of dates in fromDate and toDate; optional.
- Used when calculating dates with 
- the numdays attribute. 
- This string uses the formatting rules of SimpleDateFormat. 
-  Defaults to DateFormat.SHORT.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="fromdate" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the Start Date for the Comparison of two versions; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="fromlabel" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the Start Label; optional
-        </description>
-      
-        </attribute>
-      
-        <attribute name="login" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- &lt;p&gt;
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="numdays" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the number of days for comparison; 
- optional.
- &lt;p&gt;
- The default value is 2 days. (maybe)
-        </description>
-      
-        </attribute>
-      
-        <attribute name="output" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the output file name for the history; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="recursive" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Flag to tell the task to recurse down the tree;
- optional, default false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="serverpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where &lt;code&gt;srssafe.ini&lt;/code&gt; resides; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ssdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          directory where &lt;code&gt;ss.exe&lt;/code&gt; resides; optional.
- By default the task expects it to be in the PATH.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="style" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specify the output style; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="todate" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the End Date for the Comparison of two versions; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="tolabel" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the End Label ; optional
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Name the user whose changes we would like to see; optional
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vsspath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- &lt;p&gt;
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="vsslabel">
-
-  
-    
-  
-    <description>
-    Performs Label commands to Microsoft Visual SourceSafe.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="autoresponse" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          What to respond with (sets the -I option). By default, -I- is
- used; values of Y or N will be appended to this.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="comment" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The comment to use for this label; optional.
- Empty or '-' for no comment.
- &lt;p&gt;
- If this is null or empty, it will be replaced with "-" which
- is what SourceSafe uses for an empty comment.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="label" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the label to apply; required.
- &lt;p&gt;
- Note we assume that if the supplied string has the value "null" that something
- went wrong and that the string value got populated from a null object. This
- happens if a ant variable is used e.g. label="${label_server}" when label_server
- has not been defined to ant!
-        </description>
-      
-        </attribute>
-      
-        <attribute name="login" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The login to use when accessing VSS, formatted as "username,password";
- optional.
- &lt;p&gt;
- You can omit the password if your database is not password protected.
-  if you have a password and omit it, Ant/VSS will hang.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="serverpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the directory where &lt;code&gt;srssafe.ini&lt;/code&gt; resides; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="ssdir" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          directory where &lt;code&gt;ss.exe&lt;/code&gt; resides; optional.
- By default the task expects it to be in the PATH.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="version" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Name an existing file or project version to label; optional.
- By default the current version is labelled.
- &lt;p&gt;
- Note we assume that if the supplied string has the value "null" that something
- went wrong and that the string value got populated from a null object. This
- happens if a ant variable is used e.g. version="${ver_server}" when ver_server
- has not been defined to ant!
-        </description>
-      
-        </attribute>
-      
-        <attribute name="vsspath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          SourceSafe path which specifies the project/file(s) you wish to 
- perform the action on; required. You should not specify the leading dollar-sign - 
- it is prepended by Ant automatically.
- &lt;p&gt;
- Ant can't cope with a '$' sign in an attribute so we have to add it here.
- Also we strip off any 'vss://' prefix which is an XMS special and should probably be removed!
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="waitfor">
-
-  
-    
-  
-    <description>
-    Wait for an external event to occur.
-
- Wait for an external process to start or to complete some
- task. This is useful with the &lt;code&gt;parallel&lt;/code&gt; task to
- syncronize the execution of tests with server startup.
-
- The maxwaitunit and checkeveryunit are allowed to have the following values:
- millesond, second, minute, hour, day and week. The default is millisecond.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="checkevery" required="no">
-        
-          
-        
-          <description>
-          Set the time between each check
-        </description>
-      
-        </attribute>
-      
-        <attribute name="checkeveryunit" required="no">
-        
-          
-        
-          <description>
-          Set the check every time unit
-        </description>
-      
-        </attribute>
-      
-        <attribute name="maxwait" required="no">
-        
-          
-        
-          <description>
-          Set the maximum length of time to wait
-        </description>
-      
-        </attribute>
-      
-        <attribute name="maxwaitunit" required="no">
-        
-          
-        
-          <description>
-          Set the max wait time unit
-        </description>
-      
-        </attribute>
-      
-        <attribute name="timeoutproperty" required="no">
-        
-          
-        
-          <description>
-          Name the property to set after a timeout.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="and" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;and&amp;gt; condition "container".
-        </description>
-      
-        </element>
-
-      
-        <element name="available" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;available&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="checksum" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;checksum&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="contains" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a &amp;lt;contains&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="equals" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;equals&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="filesmatch" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a &amp;lt;filesmatch&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="http" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;http&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="isfalse" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a &amp;lt;isfalse&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="isset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;isset&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="istrue" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a &amp;lt;istrue&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="not" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;not&amp;gt; condition "container".
-        </description>
-      
-        </element>
-
-      
-        <element name="or" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;or&amp;gt; condition "container".
-        </description>
-      
-        </element>
-
-      
-        <element name="os" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;os&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="socket" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add a &amp;lt;socket&amp;gt; condition.
-        </description>
-      
-        </element>
-
-      
-        <element name="uptodate" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add an &amp;lt;uptodate&amp;gt; condition.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="war">
-
-  
-    
-  
-    <description>
-    An extension of &amp;lt;jar&amp;gt; to create a WAR archive.
- Contains special treatment for files that should end up in the
- &lt;code&gt;WEB-INF/lib&lt;/code&gt;, &lt;code&gt;WEB-INF/classes&lt;/code&gt; or
- &lt;code&gt;WEB-INF&lt;/code&gt; directories of the Web Application Archive.&lt;/p&gt;
- &lt;p&gt;(The War task is a shortcut for specifying the particular layout of a WAR file. 
- The same thing can be accomplished by using the &lt;i&gt;prefix&lt;/i&gt; and &lt;i&gt;fullpath&lt;/i&gt;
- attributes of zipfilesets in a Zip or Jar task.)&lt;/p&gt;
- &lt;p&gt;The extended zipfileset element from the zip task (with attributes &lt;i&gt;prefix&lt;/i&gt;, &lt;i&gt;fullpath&lt;/i&gt;, and &lt;i&gt;src&lt;/i&gt;) is available in the War task.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="basedir" required="no">
-        
-          
-        
-          <description>
-          Directory from which to archive files; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="compress" required="no">
-        
-          
-
-        
-          <description>
-          Whether we want to compress the files or only store them;
- optional, default=true;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destfile" required="yes">
-        
-          
-        
-          <description>
-          The file to create; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="duplicate" required="no">
-        
-          
-
-        
-          <description>
-          Sets behavior for when a duplicate file is about to be added -
- one of &lt;code&gt;keep&lt;/code&gt;, &lt;code&gt;skip&lt;/code&gt; or &lt;code&gt;overwrite&lt;/code&gt;.
- Possible values are: &lt;code&gt;keep&lt;/code&gt; (keep both
- of the files); &lt;code&gt;skip&lt;/code&gt; (keep the first version
- of the file found); &lt;code&gt;overwrite&lt;/code&gt; overwrite the file
- with the new file
- Default for zip tasks is &lt;code&gt;keep&lt;/code&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no">
-        
-          
-
-        
-          <description>
-          Encoding to use for filenames, defaults to the platform's
- default encoding.
-
- &lt;p&gt;For a list of possible values see &lt;a
- href="http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html"&gt;http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html&lt;/a&gt;.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filesonly" required="no">
-        
-          
-
-        
-          <description>
-          If true, emulate Sun's jar utility by not adding parent directories;
- optional, defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="index" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set whether or not to create an index list for classes.
- This may speed up classloading in some cases.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="manifest" required="no">
-        
-          
-        
-          <description>
-          The manifest file to use. This can be either the location of a manifest,
- or the name of a jar added through a fileset. If its the name of an added
- jar, the task expects the manifest to be in the jar at META-INF/MANIFEST.MF.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="update" required="no">
-        
-          
-
-        
-          <description>
-          If true, updates an existing file, otherwise overwrite
- any existing one; optional defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="webxml" required="yes, unless update is set to true">
-        
-          
-
-        
-          <description>
-          set the deployment descriptor to use (WEB-INF/web.xml);
- required unless &lt;tt&gt;update=true&lt;/tt&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="whenempty" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets behavior of the task when no files match.
- Possible values are: &lt;code&gt;fail&lt;/code&gt; (throw an exception
- and halt the build); &lt;code&gt;skip&lt;/code&gt; (do not create
- any archive, but issue a warning); &lt;code&gt;create&lt;/code&gt;
- (make an archive with no entries).
- Default for zip tasks is &lt;code&gt;skip&lt;/code&gt;;
- for jar tasks, &lt;code&gt;create&lt;/code&gt;.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classes" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add files under WEB-INF/classes
-        </description>
-      
-        </element>
-
-      
-        <element name="manifest" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Allows the manifest for the archive file to be provided inline
- in the buildfile rather than in an external file.
-        </description>
-      
-        </element>
-
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files.
-        </description>
-      
-        </element>
-
-      
-        <element name="lib" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add files under WEB-INF/lib/
-        </description>
-      
-        </element>
-
-      
-        <element name="metainf" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a zipfileset to include in the META-INF directory.
-        </description>
-      
-        </element>
-
-      
-        <element name="webinf" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          files to add under WEB-INF;
-        </description>
-      
-        </element>
-
-      
-        <element name="zipgroupfileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a group of zip files.
-        </description>
-      
-        </element>
-
-      
-        <element name="zipfileset" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Adds a set of files that can be
- read from an archive and be given a prefix/fullpath.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="wljspc">
-
-  
-    
-  
-    <description>
-    Precompiles JSP's using WebLogic's JSP compiler (weblogic.jspc).
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classpath" required="yes">
-        
-          
-        
-          <description>
-          Set the classpath to be used for this compilation.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="dest" required="yes">
-        
-          
-        
-          <description>
-          Set the directory containing the source jsp's
-        </description>
-      
-        </attribute>
-      
-        <attribute name="package" required="yes">
-        
-          
-        
-          <description>
-          Set the package under which the compiled classes go
-        </description>
-      
-        </attribute>
-      
-        <attribute name="src" required="yes">
-        
-          
-        
-          <description>
-          Set the directory containing the source jsp's
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Maybe creates a nested classpath element.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="wlrun">
-
-  
-    
-  
-    <description>
-    Starts a WebLogic server.
- A number of parameters are used to control the operation of the weblogic instance. Note that the task,
- and hence ant, will not complete until the weblogic instance is stopped.&lt;/p&gt;
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="args" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Additional argument string passed to the Weblogic instance;
- optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="beahome" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The location of the BEA Home; implicitly
- selects Weblogic 6.0; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The classpath to be used with the Java Virtual Machine that runs the Weblogic
- Server; required. Prior to Weblogic 6.0, this is typically set to the Weblogic
- boot classpath. Under Weblogic 6.0 this should include all the
- weblogic jars
-        </description>
-      
-        </attribute>
-      
-        <attribute name="domain" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the Domain to run in; required for WL6.0
-        </description>
-      
-        </attribute>
-      
-        <attribute name="home" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The location where weblogic lives.
- Required. This is the absolute location, not relative to
-  BEA home.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="jvmargs" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the additional arguments to pass to the weblogic JVM
-        </description>
-      
-        </attribute>
-      
-        <attribute name="name" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The name of the weblogic server within the weblogic home which is to be run.
- Optiona, defaults to &amp;quot;myserver&amp;quot;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="pkpassword" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the private key password so the server can decrypt the SSL private key file;
- optional and only applicable to WL6.0.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the management password of the server;
- optional and only applicable to WL6.0.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="policy" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The name of the security policy file within the weblogic home directory that
- is to be used. If not specified, the default policy file &lt;code&gt;weblogic.policy&lt;/code&gt;
- is used.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="properties" required="NOTDEFINED">
-        
-          
- used to control the weblogic instance;
-
-        
-          <description>
-          The name of the server's properties file within the weblogic home directory
- used to control the weblogic instance;
- required for WL4.5.1
-        </description>
-      
-        </attribute>
-      
-        <attribute name="username" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the management username to run the server;
- optional and only applicable to WL6.0.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="weblogicmainclass" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          name of the main class for weblogic; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="wlclasspath" required="NOTDEFINED">
-        
-          
- optional, and only applicable to WL4.5.1
-
-
-        
-          <description>
-          Set the weblogic classpath used by the Weblogic Server;
- optional, and only applicable to WL4.5.1
-
- The weblogic classpath is used by weblogic to support dynamic class loading.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add the classpath for the user classes
-        </description>
-      
-        </element>
-
-      
-        <element name="wlclasspath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Get the classpath to the weblogic classpaths
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="wlstop">
-
-  
-    
-  
-    <description>
-    Shuts down a WebLogic server.
- To shut down an instance you must supply both a username and
- a password.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="beahome" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The location of the BEA Home; implicitly
- selects Weblogic 6.0 shutdown; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The classpath to be used with the Java Virtual Machine that runs the Weblogic
- Shutdown command;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="delay" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the delay (in seconds) before shutting down the server;
- optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="password" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The password for the account specified in the
- user parameter; required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="url" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Set the URL to which the weblogic server is listening
- for T3 connections; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="user" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The username of the account which will be used to shutdown the server;
- required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          The classpath to be used with the Java Virtual Machine that runs the Weblogic
- Shutdown command;
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="wsdltodotnet">
-
-  
-    
-  
-    <description>
-    Converts a WSDL file or URL resource into a .NET language.
-
- See "Creating an XML Web Service Proxy", "wsdl.exe" docs in
- the framework SDK documentation
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="destfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Name of the file to generate. Required
-        </description>
-      
-        </attribute>
-      
-        <attribute name="extraoptions" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          Any extra WSDL.EXE options which aren't explicitly
-  supported by the ant wrapper task; optional
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Should failure halt the build? optional, default=true
-        </description>
-      
-        </attribute>
-      
-        <attribute name="language" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          set the language; one of "CS", "JS", or "VB"
- optional, default is CS for C# source
-        </description>
-      
-        </attribute>
-      
-        <attribute name="namespace" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          namespace to place  the source in.
- optional; default ""
-        </description>
-      
-        </attribute>
-      
-        <attribute name="server" required="NOTDEFINED">
-        
-          
-
-        
-          <description>
-          flag to enable server side code generation;
- optional, default=false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="srcfile" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          The local WSDL file to parse; either url or srcFile is required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="url" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Sets the URL to fetch. Fetching is by wsdl.exe; Ant proxy settings
- are ignored; either url or srcFile is required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="xmlproperty">
-
-  
-    
-  
-    <description>
-    Loads property values from a valid XML file,
- generating the property names from the file's element and attribute names.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="collapseattributes" required="no, default is false.">
-        
-          
-
-        
-          <description>
-          flag to treat attributes as nested elements;
- optional, default false
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="yes">
-        
-          
-        
-          <description>
-          The XML file to parse; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="keeproot" required="no, default is true.">
-        
-          
- first value in the property name; optional, 
-
-        
-          <description>
-          flag to include the xml root tag as a 
- first value in the property name; optional, 
- default is true
-        </description>
-      
-        </attribute>
-      
-        <attribute name="prefix" required="no">
-        
-          
-        
-          <description>
-          the prefix to prepend to each property
-        </description>
-      
-        </attribute>
-      
-        <attribute name="validate" required="no, default is false.">
-        
-          
-        
-          <description>
-          flag to validate the XML file; optional, default false
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-    </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="xmlvalidate">
-
-  
-    
-  
-    <description>
-    Checks XML files are valid (or only well formed). The
- task uses the SAX2 parser implementation provided by JAXP by default
- (probably the one that is used by Ant itself), but one can specify any
- SAX1/2 parser if needed
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="classname" required="no">
-        
-          
-        
-          <description>
-          Specify the class name of the SAX parser to be used. (optional)
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Specify the classpath to be searched to load the parser (optional)
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-        
-          <description>
-          Where to find the parser class; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="failonerror" required="no">
-        
-          
- optional, default=true
- &lt;p&gt;
-
-        
-          <description>
-          Specify how parser error are to be handled; 
- optional, default=true
- &lt;p&gt;
- If set to &lt;code&gt;true&lt;/code&gt; (default), throw a buildException if the parser yields an error.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="file" required="no">
-        
-          
-        
-          <description>
-          specify the file to be checked; optional.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="lenient" required="no">
-        
-          
-        
-          <description>
-          Specify whether the parser should be validating. Default is &lt;code&gt;true&lt;/code&gt;.
- &lt;p&gt;
- If set to false, the validation will fail only if the parsed document is not well formed XML.
- &lt;p&gt;
- this option is ignored if the specified class with {@link #setClassName(String)} is not a SAX2
- XMLReader.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="warn" required="no">
-        
-          
-        
-          <description>
-          Specify how parser error are to be handled.
- &lt;p&gt;
- If set to &lt;code&gt;true&lt;/true&gt; (default), log a warn message for each SAX warn event.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="xmlcatalog" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          add an XMLCatalog as a nested element; optional.
-        </description>
-      
-        </element>
-
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          specify a set of file to be checked
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          
-        </description>
-      
-        </element>
-
-      
-        <element name="dtd" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create a DTD location record; optional.
- This stores the location of a DTD. The DTD is identified
- by its public Id.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="xslt">
-
-  
-    
-  
-    <description>
-    Processes a set of XML documents via XSLT. This is
- useful for building views of XML based documentation.
-  </description>
-
-  
-    <structure>
-
-    
-      <attributes>
-      
-        <attribute name="basedir" required="no">
-        
-          
-
-        
-          <description>
-          Set the base directory; 
- optional, default is the project's basedir.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpath" required="no">
-        
-          
-        
-          <description>
-          Set the optional classpath to the XSL processor
-        </description>
-      
-        </attribute>
-      
-        <attribute name="classpathref" required="no">
-        
-          
-        
-          <description>
-          Set the reference to an optional classpath to the XSL processor
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destdir" required="yes, unless in and out have been        specified.">
-          <description>
-          Set the destination directory into which the XSL result
- files should be copied to; 
- required, unless &lt;tt&gt;in&lt;/tt&gt; and &lt;tt&gt;out&lt;/tt&gt; are
- specified.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="extension" required="no">
-        
-          
-
-        
-          <description>
-          Set the desired file extension to be used for the target;
- optional, default is html.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="force" required="no; default is false">
-        
-          
-
-        
-          <description>
-          Set whether to check dependencies, or always generate;
- optional, default is false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="in" required="no">
-        
-          
-        
-          <description>
-          specifies a single XML document to be styled. Should be used 
- with the &lt;tt&gt;out&lt;/tt&gt; attribute; ; required if &lt;tt&gt;out&lt;/tt&gt; is set
-        </description>
-      
-        </attribute>
-      
-        <attribute name="out" required="no">
-        
-          
-
-        
-          <description>
-          Specifies the output name for the styled result from the 
- &lt;tt&gt;in&lt;/tt&gt; attribute; required if &lt;tt&gt;in&lt;/tt&gt; is set
-        </description>
-      
-        </attribute>
-      
-        <attribute name="processor" required="no">
-        
-          
-        
-          <description>
-          Set the name of the XSL processor to use; optional, default trax.
- Other values are "xalan" for Xalan1 and "xslp" for XSL:P, though the
- later is strongly deprecated.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="scanincludeddirectories" required="no">
-        
-          
-
-        
-          <description>
-          Whether to style all files in the included directories as well;
- optional, default is true.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="style" required="yes">
-        
-          
-
-        
-          <description>
-          Name of the stylesheet to use - given either relative
- to the project's basedir or as an absolute path; required.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="xmlcatalog" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Add the catalog to our internal catalog
-        </description>
-      
-        </element>
-
-      
-        <element name="classpath" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Set the optional classpath to the XSL processor
-        </description>
-      
-        </element>
-
-      
-        <element name="outputproperty" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create an instance of an output property to be configured.
-        </description>
-      
-        </element>
-
-      
-        <element name="param" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Create an instance of an XSL parameter for configuration by Ant.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-
-
-  </task>
-
-
-
-  <task name="zip">
-    
-    <description>
-    Create a Zip file.
-  </description>
-    <structure>
-      <attributes>
-        <attribute name="basedir" required="no">
-          
-          <description>
-          Directory from which to archive files; optional.
-        </description>
-        </attribute>
-        <attribute name="compress" required="no">
-        
-          
-
-        
-          <description>
-          Whether we want to compress the files or only store them;
- optional, default=true;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="destfile" required="yes">
-        
-          
-        
-          <description>
-          The file to create; required.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="duplicate" required="no">
-        
-          
-
-        
-          <description>
-          Sets behavior for when a duplicate file is about to be added -
- one of &lt;code&gt;keep&lt;/code&gt;, &lt;code&gt;skip&lt;/code&gt; or &lt;code&gt;overwrite&lt;/code&gt;.
- Possible values are: &lt;code&gt;keep&lt;/code&gt; (keep both
- of the files); &lt;code&gt;skip&lt;/code&gt; (keep the first version
- of the file found); &lt;code&gt;overwrite&lt;/code&gt; overwrite the file
- with the new file
- Default for zip tasks is &lt;code&gt;keep&lt;/code&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="encoding" required="no">
-        
-          
-
-        
-          <description>
-          Encoding to use for filenames, defaults to the platform's
- default encoding.
-
- &lt;p&gt;For a list of possible values see &lt;a
- href="http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html"&gt;http://java.sun.com/products/jdk/1.2/docs/guide/internat/encoding.doc.html&lt;/a&gt;.&lt;/p&gt;
-        </description>
-      
-        </attribute>
-      
-        <attribute name="filesonly" required="no">
-		<description>
-          If true, emulate Sun's jar utility by not adding parent directories; defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="update" required="no">
-        
-          
-
-        
-          <description>
-          If true, updates an existing file, otherwise overwrite
- any existing one; defaults to false.
-        </description>
-      
-        </attribute>
-      
-        <attribute name="whenempty" required="no">
-        
-          
-        
-          <description>
-          Sets behavior of the task when no files match.
- Possible values are: &lt;code&gt;fail&lt;/code&gt; (throw an exception
- and halt the build); &lt;code&gt;skip&lt;/code&gt; (do not create
- any archive, but issue a warning); &lt;code&gt;create&lt;/code&gt;
- (make an archive with no entries).
- Default for zip tasks is &lt;code&gt;skip&lt;/code&gt;;
- for jar tasks, &lt;code&gt;create&lt;/code&gt;.
-        </description>
-      
-        </attribute>
-    
-      </attributes>
-
-    
-      <elements>
-      
-        <element name="fileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a set of files.
-        </description>
-      
-        </element>
-
-      
-        <element name="zipgroupfileset" required="NOTDEFINED">
-        
-          
-        
-          <description>
-          Adds a group of zip files.
-        </description>
-      
-        </element>
-
-      
-        <element name="zipfileset" required="NOTDEFINED">
-        <description>
-          Adds a set of files that can be
- read from an archive and be given a prefix/fullpath.
-        </description>
-      
-        </element>
-
-    
-      </elements>
-
-  
-    </structure>
-  </task>
-
-
-  <task name="target">
-    
-    <description>
-		Ant target that is executable and may depend on other targets. 
-	</description>
-	<structure>
-		<attributes>
-			<attribute name="name" required="yes">
-				
-				<description>the name of the target.</description>
-			</attribute>
-			<attribute name="depends" required="no">
-				
-				<description>a comma-separated list of names of targets on which this target depends.</description>
-			</attribute>
-			<attribute name="if" required="no">
-				
-				<description>the name of the property that must be set in order for this target to execute.</description>
-			</attribute>
-			<attribute name="unless" required="no">
-				
-				<description>the name of the property that must not be set in order for this target to execute.</description>
-			</attribute>
-			<attribute name="description" required="no">
-				
-				<description>a short description of this target's function.</description>
-			</attribute>
-		</attributes>
-	</structure>
-  </task>
-  
-  <task name="macrodef">
-    
-    <description>
-		This defines a new task using a sequential nested task as a template. Nested elements attribute and element are used to specify attributes and elements of the new task. These get substituted into the sequential task when the new task is run. 
-		Since Ant 1.6.0.
-	</description>
-	<structure>
-		<attributes>
-			<attribute name="name" required="yes">
-				
-				<description>The name of the new definition.</description>
-			</attribute>
-			<attribute name="uri" required="no">
-				
-				<description>The uri that this definition should live in.</description>
-			</attribute>
-		</attributes>
-		
-		<elements>
-      
-        <element name="attribute" required="NOTDEFINED">
-        
-          <description>
-          This is used to specify attributes of the new task. The values of the attributes get substituted into the templated task. The attributes will be required attributes unless a default value has been set. 
-
-This attribute is placed in the body of the templated task using a notation similar to the ant property notation - @{attribute name}. (May be remembered as "put the substitution AT this location"). The escape sequence @@{x} is used to allow @{x} to be placed in the text without substitution of x. This corresponds to the $${x} escape sequence for properties 
-
-
-        </description>
-      
-        </element>
-
-        <element name="element" required="NOTDEFINED">
-        
-          <description>
-          This is used to specify nested elements of the new task. The contents of the nested elements of the task instance are placed in the templated task at the tag name.
-        </description>
-      
-        </element>
-		</elements>
-	</structure>
-  </task>
-  
-  <task name="import">  
-    <description>
-		Imports another build file into the current project. 
-		Since Ant 1.6.0.
-	</description>
-	<structure>
-		<attributes>
-			<attribute name="file" required="yes">
-				<description>The file to import.</description>
-			</attribute>
-			<attribute name="optional" required="no">
-				<description>If true, do not issue stop the build if the file does not exist. Default is false.</description>
-			</attribute>
-		</attributes>
-	</structure>
-  </task>
-  
-   <task name="presetdef">  
-    <description>
-	The preset definition generates a new definition based on a current definition with some attributes or elements preset. 
-		Since Ant 1.6.0.
-	</description>
-	<structure>
-		<attributes>
-			<attribute name="name" required="yes">
-				<description>The name of the new definition.</description>
-			</attribute>
-			<attribute name="uri" required="no">
-				<description>The uri that this definition should live in.</description>
-			</attribute>
-		</attributes>
-	</structure>
-  </task>
-
-<task name="scp">  
-    <description>
-	Copies a file or FileSet to or from a remote machine running SSH daemon. FileSet only works for copying files from the local machine to a remote machine.
-	Note: This task depends on external libraries not included in the Ant distribution
-		Since Ant 1.6.
-	</description>
-	<structure>
-		<attributes>
-			<attribute name="file" required="yes">
-				<description>The file to copy. This can be a local path or a remote path of the form user[:password]@host:/directory/path. :password can be ommitted if you use key based authentication or specify the password attribute. The way remote path is recognized is whether it contains @ character or not. This will not work if your localPath contains @ character.</description>
-			</attribute>
-			<attribute name="localFile" required="no">
-				<description>This is an alternative to the file attribute. But this must always point to a local file. The reason this was added was that when you give file attribute it is treated as remote if it contains @ character. This character can exist also in local paths. since Ant 1.6.2</description>
-			</attribute>
-		    <attribute name="remoteFile" required="no">
-				<description>This is an alternative to the file attribute. But this must always point to a remote file. since Ant 1.6.2</description>
-			</attribute>
-			<attribute name="todir" required="yes">
-				<description>The directory to copy to. This can be a local path or a remote path of the form user[:password]@host:/directory/path. :password can be ommitted if you use key based authentication or specify the password attribute. The way remote path is recognized is whether it contains @ character or not. This will not work if your localPath contains @ character.</description>
-			</attribute>
-			<attribute name="localTodir" required="no">
-				<description>This is an alternative to the todir attribute. But this must always point to a local directory. The reason this was added was that when you give todir attribute it is treated as remote if it contains @ character. This character can exist also in local paths. since Ant 1.6.2</description>
-			</attribute>
-			<attribute name="localTofile" required="no">
-				<description>Changes the file name to the given name while receiving it, only useful if receiving a single file. since Ant 1.6.2</description>
-			</attribute>
-			<attribute name="remoteTodir" required="no">
-				<description>This is an alternative to the todir attribute. But this must always point to a remote directory. since Ant 1.6.2</description>
-			</attribute>
-			<attribute name="remoteTofile" required="no">
-				<description>Changes the file name to the given name while sending it, only useful if sending a single file. since Ant 1.6.2</description>
-			</attribute>
-			<attribute name="port" required="no">
-				<description>The port to connect to on the remote host..</description>
-			</attribute>
-			<attribute name="trust" required="no">
-				<description>This trusts all unknown hosts if set to yes/true.
-Note If you set this to false (the default), the host you connect to must be listed in your knownhosts file, this also implies that the file exists.</description>
-			</attribute>
-			<attribute name="knownhosts" required="no">
-				<description>This sets the known hosts file to use to validate the identity of the remote host. This must be a SSH2 format file. SSH1 format is not supported.</description>
-			</attribute>
-			<attribute name="failonerror" required="no">
-				<description>Whether to halt the build if the transfer fails. </description>
-			</attribute>
-			<attribute name="password" required="no">
-				<description>The password.</description>
-			</attribute>
-			<attribute name="keyfile" required="no">
-				<description>Location of the file holding the private key.</description>
-			</attribute>
-			<attribute name="passphrase" required="no">
-				<description>Passphrase for your private key.</description>
-			</attribute>
-			<attribute name="verbose" required="no">
-				<description>Determines whether SCP outputs verbosely to the user. Currently this means outputting dots/stars showing the progress of a file transfer. Since Ant 1.6.2.</description>
-			</attribute>
-		</attributes>
-	</structure>
-  </task>
-
-<task name="sshexec">  
-    <description>
-	Runs a command on a remote machine running SSH daemon. 
-Note: This task depends on external libraries not included in the Ant distribution. This task has been tested with jsch-0.1.7 to jsch-0.1.9 and won't work with versions of jsch earlier than 0.1.7.
-		Since Ant 1.6.
-	</description>
-	<structure>
-		<attributes>
-			<attribute name="host" required="yes">
-				<description>The hostname or IP address of the remote host to which you wish to connect.</description>
-			</attribute>
-			<attribute name="username" required="yes">
-				<description>The username on the remote host to which you are connecting.</description>
-			</attribute>
-		    <attribute name="command" required="yes">
-				<description>The command to run on the remote host.</description>
-			</attribute>
-			<attribute name="port" required="no">
-				<description>The port to connect to on the remote host. Defaults to 22</description>
-			</attribute>
-			<attribute name="trust" required="no">
-				<description>This trusts all unknown hosts if set to yes/true.
-Note If you set this to false (the default), the host you connect to must be listed in your knownhosts file, this also implies that the file exists.</description>
-			</attribute>
-			<attribute name="knownhosts" required="no">
-				<description>This sets the known hosts file to use to validate the identity of the remote host. This must be a SSH2 format file. SSH1 format is not supported. Defaults to ${user.home}/.ssh/known_hosts.</description>
-			</attribute>
-			<attribute name="failonerror" required="no">
-				<description>Whether to halt the build if the command does not complete successfully. Defaults to true</description>
-			</attribute>
-			<attribute name="password" required="no">
-				<description>The password.</description>
-			</attribute>
-			<attribute name="keyfile" required="no">
-				<description>Location of the file holding the private key.</description>
-			</attribute>
-			<attribute name="passphrase" required="no">
-				<description>Passphrase for your private key. Defaults to the empty string</description>
-			</attribute>
-			<attribute name="output" required="no">
-				<description>Name of a file to which to write the output.</description>
-			</attribute>
-			<attribute name="append" required="no">
-				<description>Whether output file should be appended to or overwritten. Defaults to false, meaning overwrite any existing file.</description>
-			</attribute>
-			<attribute name="outputproperty" required="no">
-				<description>The name of a property in which the output of the command should be stored.</description>
-			</attribute>
-			<attribute name="timeout" required="no">
-				<description>Stop the command if it doesn't finish within the specified time (given in milliseconds). Defaults to 0 which means &quot;wait forever&quot;.</description>
-			</attribute>
-		</attributes>
-	</structure>
-  </task>
-
-
-<task name="jjdoc">  
-    <description>
-	Invokes the JJDoc preprocessor for the JavaCC compiler compiler. It takes a JavaCC parser specification and produces documentation for the BNF grammar. It can operate in three modes, determined by command line options. 
-
-To use the jjdoc task, set the target attribute to the name of the JavaCC grammar file to process. You also need to specify the directory containing the JavaCC installation using the javacchome attribute, so that ant can find the JavaCC classes. Optionally, you can also set the outputfile to write the generated BNF documentation file to a specific (directory and) file. Otherwise jjdoc writes the generated BNF documentation file as the JavaCC grammar file with a suffix .txt or .html.
-
-This task only invokes JJDoc if the grammar file is newer than the generated BNF documentation file.
-
-		Since Ant 1.6.
-	</description>
-	<structure>
-		<attributes>
-			<attribute name="target" required="yes">
-				<description>The javacc grammar file to process.</description>
-			</attribute>
-			<attribute name="javacchome" required="yes">
-				<description>The directory containing the JavaCC distribution.</description>
-			</attribute>
-		    <attribute name="outputfile" required="no">
-				<description>The file to write the generated BNF documentation file to. If not set, the file is written with the same name as the JavaCC grammar file but with a the suffix .html or .txt.</description>
-			</attribute>
-			<attribute name="text" required="no">
-				<description>Sets the TEXT BNF documentation option. This is a boolean option.</description>
-			</attribute>
-			<attribute name="onetable" required="no">
-				<description>Sets the ONE_TABLE BNF documentation option. This is a boolean option.</description>
-			</attribute>
-		</attributes>
-	</structure>
-  </task>
-
-<task name="chgrp">  
-    <description>
-	Changes the group of a file or all files inside specified directories. Right now it has effect only under Unix. The group atribute is equivalent to the coresponding argument for the chgrp command.
-
-FileSets, DirSets or FileLists can be specified using nested &amp;lt;fileset&amp;gt;, &amp;lt;dirset&amp;gt; and &amp;lt;filelist&amp;gt; elements.
-
-		Since Ant 1.6.
-	</description>
-	<structure>
-		<attributes>
-			<attribute name="file" required="yes">
-				<description>The file or directory of which the group must be changed. Required if nested &amp;lt;fileset/list&amp;gt; elements not provided</description>
-			</attribute>
-			<attribute name="group" required="yes">
-				<description>The new group.</description>
-			</attribute>
-		    <attribute name="parallel" required="no">
-				<description>Process all specified files using a single chgrp command. Defaults to true.</description>
-			</attribute>
-			<attribute name="type" required="no">
-				<description>One of file, dir or both. If set to file, only the group of plain files are going to be changed. If set to dir, only the directories are considered.
-Note: The type attribute does not apply to nested dirsets - dirsets always implicitly assume type to be dir. Defaults to file</description>
-			</attribute>
-			<attribute name="maxparallel" required="no">
-				<description>Limit the amount of parallelism by passing at most this many sourcefiles at once. Set it to &amp;lt;= 0 for unlimited. Defaults to unlimited.</description>
-			</attribute>
-			<attribute name="verbose" required="no">
-				<description>Whether to print a summary after execution or not. Defaults to false.</description>
-			</attribute>
-		</attributes>
-	</structure>
-  </task>
-
-	<task name="chown">  
-    <description>
-	Changes the owner of a file or all files inside specified directories. Right now it has effect only under Unix. The owner atribute is equivalent to the coresponding argument for the chown command.
-
-FileSets, DirSets or FileLists can be specified using nested &amp;lt;fileset&amp;gt;, &amp;lt;dirset&amp;gt; and &amp;lt;filelist&amp;gt; elements.
-
-		Since Ant 1.6.
-	</description>
-	<structure>
-		<attributes>
-			<attribute name="file" required="yes">
-				<description>The file or directory of which the owner must be changed. Required if nested &amp;lt;fileset/list&amp;gt; elements not provided</description>
-			</attribute>
-			<attribute name="owner" required="yes">
-				<description>The new owner.</description>
-			</attribute>
-		    <attribute name="parallel" required="no">
-				<description>Process all specified files using a single chgrp command. Defaults to true.</description>
-			</attribute>
-			<attribute name="type" required="no">
-				<description>One of file, dir or both. If set to file, only the group of plain files are going to be changed. If set to dir, only the directories are considered.
-Note: The type attribute does not apply to nested dirsets - dirsets always implicitly assume type to be dir. Defaults to file</description>
-			</attribute>
-			<attribute name="maxparallel" required="no">
-				<description>Limit the amount of parallelism by passing at most this many sourcefiles at once. Set it to &amp;lt;= 0 for unlimited. Defaults to unlimited.</description>
-			</attribute>
-			<attribute name="verbose" required="no">
-				<description>Whether to print a summary after execution or not. Defaults to false.</description>
-			</attribute>
-		</attributes>
-	</structure>
-  </task>
-<task name="attrib">  
-    <description>
-	Changes the attributes of a file or all files inside specified directories. Right now it has effect only under Windows. Each of the 4 possible permissions has its own attribute, matching the arguments for the attrib command.
-
-FileSets, DirSets or FileLists can be specified using nested &amp;lt;fileset&amp;gt;, &amp;lt;dirset&amp;gt; and &amp;lt;filelist&amp;gt; elements.
-
-		Since Ant 1.6.
-	</description>
-	<structure>
-		<attributes>
-			<attribute name="file" required="yes">
-				<description>The file or directory of which the owner must be changed. Required if nested &amp;lt;fileset/list&amp;gt; elements not provided</description>
-			</attribute>
-			<attribute name="readonly" required="yes">
-				<description>The readonly permission</description>
-			</attribute>
-		    <attribute name="archive" required="no">
-				<description>The archive permission.</description>
-			</attribute>
-		    <attribute name="system" required="no">
-				<description>The system permission.</description>
-			</attribute>
-			<attribute name="hidden" required="no">
-				<description>The hidden permission.</description>
-			</attribute>
-			<attribute name="type" required="no">
-				<description>One of file, dir or both. If set to file, only the group of plain files are going to be changed. If set to dir, only the directories are considered.
-Note: The type attribute does not apply to nested dirsets - dirsets always implicitly assume type to be dir. Defaults to file</description>
-			</attribute>
-			<attribute name="verbose" required="no">
-				<description>Whether to print a summary after execution or not. Defaults to false.</description>
-			</attribute>
-		</attributes>
-	</structure>
-  </task>
- 
-</tasks>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/AntDTDMessages.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/AntDTDMessages.java
deleted file mode 100644
index eaea1b6..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/AntDTDMessages.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.ant.internal.ui.dtd;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntDTDMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.dtd.AntDTDMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntDTDMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/AntDTDMessages.properties b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/AntDTDMessages.properties
deleted file mode 100644
index 0e5cf69..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/AntDTDMessages.properties
+++ /dev/null
@@ -1,13 +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
-###############################################################################
-
-Parser.XML_parser_does_not_support_DeclHandler_1=XML parser does not support DeclHandler
-Parser.Error_parsing_XML_document_or_DTD_2=Error parsing XML document or DTD
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IAtom.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IAtom.java
deleted file mode 100644
index f199401..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IAtom.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd;
-
-/**
- * Schema atom interface.
- * @author Bob Foster
- */
-public interface IAtom {
-
-	public static final int ELEMENT = 0;
-	public static final int ATTRIBUTE = 1;
-	
-	/**
-	 * Return the atom name.
-	 */
-	public String getName();
-	
-	/**
-	 * Return the atom name.
-	 */
-	public String toString();
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IAttribute.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IAttribute.java
deleted file mode 100644
index f1cf4dc..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IAttribute.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd;
-
-/**
- * Schema attribute interface.
- * @author Bob Foster
- */
-public interface IAttribute extends IAtom {
-
-	public static final String CDATA = "CDATA"; //$NON-NLS-1$
-	public static final String ID = "ID"; //$NON-NLS-1$
-	public static final String IDREF = "IDREF"; //$NON-NLS-1$
-	public static final String IDREFS = "IDREFS"; //$NON-NLS-1$
-	public static final String NMTOKEN = "NMTOKEN"; //$NON-NLS-1$
-	public static final String NMTOKENS = "NMTOKENS"; //$NON-NLS-1$
-	public static final String ENTITY = "ENTITY"; //$NON-NLS-1$
-	public static final String ENTITIES = "ENTITIES"; //$NON-NLS-1$
-	public static final String NOTATION = "NOTATION"; //$NON-NLS-1$
-	public static final String ENUMERATION = "enumeration"; //$NON-NLS-1$
-	
-	/**
-	 * @return the attribute type. This will be one of "CDATA", "ID", "IDREF",
-	 * "IDREFS", "NMTOKEN", "NMTOKENS", "ENTITY", "ENTITIES", "NOTATION" or
-	 * "enumeration". The type is interned and may be compared to a constant
-	 * with ==. For "NOTATION" or "enumeration", <code>getEnum()</code> will
-	 * return a list of values.
-	 */
-	public String getType();
-	
-	/**
-	 * 
-	 * @return String[] or null if type is not "NOTATION" or "ENUMERATION".
-	 */
-	public String[] getEnum();
-	
-	/**
-	 * Return the element the attribute is defined in.
-	 */
-	public IElement getElement();
-	
-	/**
-	 * Return the default value or null if none.
-	 */
-	public String getDefault();
-	
-	/**
-	 * Return true if the default value is fixed.
-	 */
-	public boolean isFixed();
-	
-	/**
-	 * Return true if attribute is required, false if it is optional.
-	 */
-	public boolean isRequired();
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IDfm.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IDfm.java
deleted file mode 100644
index ee79243..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IDfm.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd;
-
-/**
- * A Dfm is an IModel converted to a form more appropriate for
- * validation. The whole point of a Dfm is to run fast.
- * @author Bob Foster
- */
-public interface IDfm {
-
-	/**
-	 * Return true if no further symbols are required.
-	 */
-	boolean isAccepting();
-	
-	/**
-	 * If the symbol represented by name is acceptable,
-	 * return the dfm to apply to the next (child) symbol.
-	 * Otherwise, return null.
-	 */
-	IDfm advance(String name);
-	
-	/**
-	 * If the symbol represented by the namespace,name pair is acceptable,
-	 * return the dfm to apply to the next (child) symbol. Otherwise, return
-	 * null.
-	 */
-	IDfm advance(String namespace, String localname);
-	
-	/**
-	 * If the symbol represented by name is acceptable
-	 * to <code>advance()</code>
-	 * return the corresponding atom.
-	 * Otherwise, return null.
-	 */
-	IAtom getAtom(String name);
-	
-	/**
-	 * Return the symbols for which <code>advance()</code>
-	 * will return a next dfm. If no symbols will
-	 * advance this dfm or if any symbol will, returns
-	 * an empty array. Use <code>isAny()</code> and
-	 * <code>isEmpty()</code> to disambiguate the
-	 * cases.
-	 */
-	String[] getAccepts();
-	
-	/**
-	 * Return the symbols for which <code>advance()</code>
-	 * will return a next dfm. If no symbols will
-	 * advance this dfm or if any symbol will, returns
-	 * null. Use <code>isAny()</code> and
-	 * <code>isEmpty()</code> to disambiguate the
-	 * cases.
-	 */
-	Object[] getKeys();
-	
-	/**
-	 * Return true if dfm will accept any symbol
-	 * and return itself; false otherwise.
-	 * This interface keeps the dfm from needing
-	 * schema knowledge, but a better way to
-	 * process an ANY dfm for elements is use the 
-	 * schema to look up the element and use its 
-	 * dfm instead of this one.
-	 */
-	boolean isAny();
-	
-	/**
-	 * Return true if dfm will reject every symbol
-	 * (<code>advance()</code> returns null);
-	 * false otherwise. Included for completeness,
-	 * so every element can have a dfm, regardless
-	 * of its type.
-	 */
-	boolean isEmpty();
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IElement.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IElement.java
deleted file mode 100644
index f42ce66..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IElement.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *		IBM Corporation - fix for Bug 40951
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd;
-
-import java.util.Map;
-
-/**
- * IElement interface.
- * @author Bob Foster
- */
-public interface IElement extends IAtom {
-
-	/**
-	 * @return true if the element has been referenced in a schema but is not
-	 * yet defined.
-	 */
-	public boolean isUndefined();
-	
-	/**
-	 * @return true if element model is <code>"(#PCDATA)"</code>.
-	 */
-	public boolean isText();
-	
-	/**
-	 * @return true if element model is EMPTY.
-	 */
-	public boolean isEmpty();
-	
-	/**
-	 * @return true if element model is ANY.
-	 */
-	public boolean isAny();
-	
-	/**
-	 * @return the element's content model. The content model will be empty
-	 * if <code>isText()</code>, <code>isAny()</code> or <code>isEmpty()</code>.
-	 * Note that the content model deals with child elements only; use
-	 * <code>isMixed()</code> to see if text is also allowed.
-	 */
-	public IModel getContentModel();
-	
-	/**
-	 * @return the DFM corresponding to the content model. Every element
-	 * has a DFM.
-	 */
-	public IDfm getDfm();
-	
-	/**
-	 * @return Map with attribute qname keys and IAttr values.
-	 * If element has no attributes, the map is empty.
-	 * Map must not be modified by caller; for performance reasons,
-	 * it is not a copy.
-	 */
-	public Map getAttributes();
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IModel.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IModel.java
deleted file mode 100644
index 7ed0911..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/IModel.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd;
-
-import org.eclipse.ant.internal.ui.dtd.schema.Nfm;
-
-
-/**
- * Content model.
- * This is the printable version of the model.
- * The walkable version is the IDfm.
- * @author Bob Foster
- */
-public interface IModel {
-
-	public static final int UNKNOWN = 0;
-	public static final int SEQUENCE = 1;
-	public static final int CHOICE = 2;
-	public static final int LEAF = 4;
-	
-	public static final int UNBOUNDED = Integer.MAX_VALUE;
-	
-	/**
-	 * @return one of SEQUENCE, CHOICE, LEAF
-	 */
-	public int getKind();
-	
-	/**
-	 * @return one of 0 or 1.
-	 */
-	public int getMinOccurs();
-	
-	/**
-	 * @return one of 1 or UNBOUNDED.
-	 */
-	public int getMaxOccurs();
-	
-	/**
-	 * @return if SEQUENCE or CHOICE return array of sub-models; otherwise
-	 * undefined.
-	 */
-	public IModel[] getContents();
-	
-	/**
-	 * @return if LEAF return atom; otherwise undefined.
-	 */
-	public IAtom getLeaf();
-	
-	/**
-	 * @return if SEQUENCE or CHOICE return "," and "|", respectively; otherwise
-	 * undefined. Useful when printing model.
-	 */
-	public String getOperator();
-	
-	/**
-	 * @return one of "", "?", "*" or "+". Useful when printing model.
-	 */
-	public String getQualifier();
-	
-	/**
-	 * Convert content model to string representation.
-	 */
-	public String stringRep();
-	
-	/**
-	 * Convert the model to an Nfm on demand.
-	 * @return Nfm
-	 */
-	public Nfm toNfm();
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/ISchema.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/ISchema.java
deleted file mode 100644
index 787b166..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/ISchema.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd;
-
-public interface ISchema {
-
-	/**
-	 * Find element by name.
-	 * @param qname Element name.
-	 * @return element or null if no such element.
-	 */
-	IElement getElement(String qname);
-	
-	/**
-	 * @return IElement[] of all visible elements.
-	 */
-	IElement[] getElements();
-	
-	/**
-	 * @return Exception thrown by parser when schema was built or <code>null</code> if none.
-	 * Note that the exception does not necessarily mean the schema is
-	 * incomplete.
-	 */
-	Exception getErrorException();
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/ParseError.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/ParseError.java
deleted file mode 100644
index c0ead48..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/ParseError.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *		IBM Corporation - serial version id
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd;
-
-/**
- * @author Bob Foster
- */
-public class ParseError extends Exception {
-	
-	private static final long serialVersionUID = 1L;
-
-	/**
-	 * Constructor for ParseError.
-	 * @param msg Message
-	 */
-	public ParseError(String msg) {
-		super(msg);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/Parser.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/Parser.java
deleted file mode 100644
index 3ff2ef8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/Parser.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.eclipse.ant.internal.ui.dtd.schema.SchemaFactory;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXNotRecognizedException;
-import org.xml.sax.SAXNotSupportedException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.ext.DeclHandler;
-
-
-/**
- * Simple parser for DTDs. Returns ISchema representing the DTD.
- * 
- * To parse a DTD, you must parse an XML document. The <code>parseDTD()</code>
- * method builds a temporary XML document in memory that refers to or includes
- * the DTD.
- * 
- * There is no dependency in this package on any code outside the package except
- * XMLReader.
- * 
- * To hide the underlying parser, XML parser exceptions are wrapped by a
- * ParseError. Unless debugging, the two string constants are sufficient to
- * determine the cause of the error.
- * @author Bob Foster
- */
-public class Parser {
-	
-	/** ParseError message when system parser doesn't do the job */
-	public static final String NOT_SUPPORTED = AntDTDMessages.getString("Parser.XML_parser_does_not_support_DeclHandler_1"); //$NON-NLS-1$
-	/** ParseError message for a well-formed or validation error in XML or DTD.
-	 *  Currently not returned. */
-	public static final String PARSE_ERROR = AntDTDMessages.getString("Parser.Error_parsing_XML_document_or_DTD_2"); //$NON-NLS-1$
-	
-	private static final String INTERNAL = "internal://usereader.objfac.com"; //$NON-NLS-1$
-	
-	/**
-	 * Parse the XML document at the input source and return a document walker
-	 * that can be used to validate any document with the same DTD (internal and
-	 * external) or provide user assistance for this document.
-	 * @param inputSource Source for XML document to start DTD parse. Must
-	 * contain a DOCTYPE declaration with internal or external subset, or both.
-	 * @param entityResolver EntityResolver or null.
-	 * @return schema for document.
-	 * @throws ParseError for NOT_SUPPORTED or PARSE_ERROR.
-	 * @throws IOException
-	 */
-	public ISchema parse(InputSource inputSource, EntityResolver entityResolver) throws ParseError, IOException {
-		XMLReader parser = null;
-		SchemaFactory factory = new SchemaFactory();
-		try {
-			parser = getXMLReader();
-			DeclHandler handler = factory;
-			parser.setProperty("http://xml.org/sax/properties/declaration-handler", handler); //$NON-NLS-1$
-			if (entityResolver != null) {
-				parser.setEntityResolver(entityResolver);
-			}
-			parser.parse(inputSource);
-		} catch (SAXNotRecognizedException e) {
-			throw new ParseError(NOT_SUPPORTED);
-		} catch (SAXNotSupportedException e) {
-			throw new ParseError(NOT_SUPPORTED);
-		} catch (SAXException e) {
-			// Don't care about errors in XML, so just fall thru.
-			// If parse failed in DTD, may have incomplete schema,
-			// but this is better than no schema.
-			factory.setErrorException(e);
-		}
-
-		return factory.getSchema();
-	}
-	
-	private XMLReader getXMLReader() throws ParseError {
-		SAXParser parser = null;
-		try {
-			parser = SAXParserFactory.newInstance().newSAXParser();
-			return parser.getXMLReader();
-		} catch (ParserConfigurationException e) {
-			throw new ParseError(e.getMessage());
-		} catch (SAXException e) {
-			throw new ParseError(e.getMessage());
-		}
-	}
-	
-	/**
-	 * Parse the XML document at the argument URL and return a document walker
-	 * that can be used to validate any document with the same DTD (internal
-	 * and external) or provide user assistance for this document.
-	 * @param url Of XML document to start DTD parse. Must contain a DOCTYPE
-	 * declaration with internal or external subset, or both.
-	 * @return IWalker that can be used to traverse document.
-	 * @throws ParseError for NOT_SUPPORTED or PARSE_ERROR.
-	 * @throws IOException
-	 */
-	public ISchema parse(String url) throws ParseError, IOException {
-		return parse(new InputSource(url), null);
-	}
-	
-	/**
-	 * Parse the XML document using the argument reader and return a document
-	 * walker that can be used to validate any document with the same DTD
-	 * (internal and external) or provide user assistance for this document.
-	 * @param reader Reader for XML document to start DTD parse. Must contain a
-	 * DOCTYPE declaration with internal or external subset, or both.
-	 * @return IWalker that can be used to traverse document.
-	 * @throws ParseError for NOT_SUPPORTED or PARSE_ERROR.
-	 * @throws IOException
-	 */
-	public ISchema parse(Reader reader) throws ParseError, IOException {
-		return parse(new InputSource(reader), null);
-	}
-	
-	/**
-	 * Parse the DTD with the given public and system ids and return a document
-	 * walker that can be used to validate or provide user assistance for any
-	 * document with the same external DTD and no internal subset.
-	 * @param pub PUBLIC id of DTD.
-	 * @param sys SYSTEM id of DTD.
-	 * @param root Plausible root element qname. Any name will do but a
-	 * name that will not cause a validation error is preferred.
-	 * @return IWalker that can be used to traverse document.
-	 * @throws ParseError for NOT_SUPPORTED or PARSE_ERROR.
-	 * @throws IOException
-	 */
-	public ISchema parseDTD(String pub, String sys, String root) throws ParseError, IOException {
-		return parse(new InputSource(new DTDReader(pub, sys, root)), null);
-	}
-	
-	/**
-	 * Parse the DTD from the reader and return a document walker that can be
-	 * used to validate or provide user assistance for any document with the
-	 * same external DTD and no internal subset.
-	 * @param reader Reader for external subset DTD
-	 * @param root Plausible root element qname. Any name will do but a
-	 * name that will not cause a validation error is preferred.
-	 * @return ISchema that can be used to traverse document.
-	 * @throws ParseError for NOT_SUPPORTED or PARSE_ERROR.
-	 * @throws IOException
-	 */
-	public ISchema parseDTD(Reader reader, String root) throws ParseError, IOException {
-		return parse(new InputSource(new DTDReader(INTERNAL, INTERNAL, root)), new DTDEntityResolver(reader));
-	}
-	
-	private static class DTDReader extends Reader {
-		private Reader fDelegate;
-		
-		public DTDReader(String pub, String sys, String root) {
-			String document = "<!DOCTYPE "+root+" PUBLIC '"+pub+"' '"+sys+"'><"+root+"/>"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-			fDelegate = new StringReader(document);
-		}
-		
-		/**
-		 * @see java.io.Reader#close()
-		 */
-		public void close() throws IOException {
-			fDelegate.close();
-		}
-
-		/* (non-Javadoc)
-		 * @see java.io.Reader#read(char[], int, int)
-		 */
-		public int read(char[] cbuf, int off, int len) throws IOException {
-			return fDelegate.read(cbuf, off, len);
-		}
-	}
-	
-	private static class DTDEntityResolver implements EntityResolver {
-		private Reader reader;
-		public DTDEntityResolver(Reader reader) {
-			this.reader = reader;
-		}
-		/**
-		 * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String, java.lang.String)
-		 */
-		public InputSource resolveEntity(String publicId, String systemId) {
-			if (publicId.equals(INTERNAL) && systemId.equals(INTERNAL))
-				return new InputSource(reader);
-			return null;
-		}
-	}	
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/AntDTDSchemaMessages.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/AntDTDSchemaMessages.java
deleted file mode 100644
index 71bed9f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/AntDTDSchemaMessages.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.ant.internal.ui.dtd.schema;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntDTDSchemaMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.dtd.schema.AntDTDSchemaMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntDTDSchemaMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/AntDTDSchemaMessages.properties b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/AntDTDSchemaMessages.properties
deleted file mode 100644
index 2d0c0b7..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/AntDTDSchemaMessages.properties
+++ /dev/null
@@ -1,18 +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
-###############################################################################
-
-Model.model_may_not_be_changed=model may not be changed once its contents have been requested
-Model.***UNKNOWN***_2=<UNKNOWN>
-NfmParser.Ambiguous=Ambiguous content model starting with {0}
-SchemaFactory.Doubly_defined=Element {0} is doubly defined
-SchemaFactory.Start_with_left_parenthesis=Element {0} model does not start with left parenthesis
-SchemaFactory.Expecting_operator_or_right_parenthesis=Expecting operator or right parenthesis in element {0} model {1}
-SchemaFactory.Unexpected_end=Unexpected end of content model for element {0}: {1}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Atom.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Atom.java
deleted file mode 100644
index a1bddc1..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Atom.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.schema;
-
-import org.eclipse.ant.internal.ui.dtd.IAtom;
-
-/**
- * Atom contains information common to elements and attributes.
- * @author Bob Foster
- */
-public class Atom implements IAtom {
-	
-	protected String fName;
-	protected int fKind;
-
-	protected Atom(int kind, String name) {
-		fKind = kind;
-		fName = name.intern();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IAtom#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return fName;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Attribute.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Attribute.java
deleted file mode 100644
index c582846..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Attribute.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.schema;
-
-import org.eclipse.ant.internal.ui.dtd.*;
-
-/**
- * Attr contains information about a single attribute.
- * @author Bob Foster
- */
-public class Attribute extends Atom implements IAttribute {
-	private String fType;
-	private String[] fEnum;
-	private IElement fElement;
-	private String fDefault;
-	private boolean fFixed;
-	private boolean fRequired;
-	
-	/**
-	 * Constructor.
-	 * @param name Attribute qname.
-	 * @param element Parent element.
-	 */
-	public Attribute(String name, IElement element) {
-		super(ATTRIBUTE, name);
-		fElement = element;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IAttribute#getType()
-	 */
-	public String getType() {
-		return fType;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IAttribute#getEnum()
-	 */
-	public String[] getEnum() {
-		return fEnum;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IAttribute#getElement()
-	 */
-	public IElement getElement() {
-		return fElement;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IAttribute#getDefault()
-	 */
-	public String getDefault() {
-		return fDefault;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IAttribute#isFixed()
-	 */
-	public boolean isFixed() {
-		return fFixed;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IAttribute#isRequired()
-	 */
-	public boolean isRequired() {
-		return fRequired;
-	}
-	
-	public void setType(String type) {
-		fType = type;
-	}
-	
-	/**
-	 * Sets the default value.
-	 * @param defaultValue Value
-	 */
-	public void setDefault(String defaultValue) {
-		fDefault = defaultValue;
-	}
-
-	/**
-	 * Sets the enumeration.
-	 * @param enumeration The enumeration to set
-	 */
-	public void setEnum(String[] enumeration) {
-		fEnum = enumeration;
-	}
-
-	/**
-	 * Sets the fixed.
-	 * @param fixed The fixed to set
-	 */
-	public void setFixed(boolean fixed) {
-		fFixed = fixed;
-	}
-
-	/**
-	 * Sets the required.
-	 * @param required The required to set
-	 */
-	public void setRequired(boolean required) {
-		fRequired = required;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Dfm.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Dfm.java
deleted file mode 100644
index cdd20ed..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Dfm.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.schema;
-
-import org.eclipse.ant.internal.ui.dtd.IAtom;
-import org.eclipse.ant.internal.ui.dtd.IDfm;
-import org.eclipse.ant.internal.ui.dtd.util.Factory;
-import org.eclipse.ant.internal.ui.dtd.util.FactoryObject;
-import org.eclipse.ant.internal.ui.dtd.util.MapHolder;
-import org.eclipse.ant.internal.ui.dtd.util.SortedMap;
-
-
-/**
- * Deterministic finite state machine.
- * Once constructed DFM is immutable and can be used by multiple threads.
- * A Dfm node is essentially an accepting flag and a hashtable mapping atoms to
- * Dfm nodes. (Almost of org.eclipse.ant.internal.ui.dtd.util is aimed at reducing the storage
- * overhead of hundreds of little hashtables.)
- * @author Bob Foster
- */
-public class Dfm extends MapHolder implements IDfm, FactoryObject {
-
-	public boolean accepting;
-	public boolean empty, any;
-	public int id;
-	private static int unique = 0;
-	private static Factory factory = new Factory();
-	private Dfm fNext;
-	
-	public static Dfm dfm(boolean accepting) {
-		Dfm dfm = free();
-		dfm.accepting = accepting;
-		return dfm;
-	}
-
-	protected Dfm() {
-	}
-	
-	private static Dfm free() {
-		Dfm dfm = (Dfm) factory.getFree();
-		if (dfm == null)
-			dfm = new Dfm();
-		dfm.accepting = dfm.empty = dfm.any = false;
-		dfm.id = unique++;
-		return dfm;
-	}
-
-	public static Dfm dfm(IAtom accept, Dfm follow) {
-		Dfm dfm = free();
-		dfm.keys = new Object[1];
-		dfm.keys[0] = accept;
-		dfm.values = new Object[1];
-		dfm.values[0] = follow;
-		return dfm;
-	}
-	
-	public static void free(Dfm dfm) {
-		dfm.setKeys(null);
-		dfm.setValues(null);
-		factory.setFree(dfm);
-	}
-	
-	public boolean isAccepting() {
-		return accepting;
-	}
-	
-	public IDfm advance(String name) {
-		if (any)
-			return this;
-		if (empty)
-			return null;
-		if (keys == null)
-			return null;
-		SortedMap map = getIndirectStringMap(this);
-		Dfm dfm = (Dfm) map.get(name);
-		freeMap(map);
-		return dfm;
-	}
-	
-	public String[] getAccepts() {
-		if (keys == null)
-			return new String[0];
-		String[] s = new String[keys.length];
-		for (int i = 0; i < s.length; i++) {
-			s[i] = keys[i].toString();
-		}
-		return s;
-	}
-
-	public Dfm[] getFollows() {
-		if (values == null)
-			return new Dfm[0];
-		Dfm[] s = new Dfm[values.length];
-		System.arraycopy(values,0,s,0,values.length);
-		return s;
-	}
-
-	public void merge(Dfm other) {
-		accepting |= other.accepting;
-		SortedMap map = getIndirectStringMap(this);
-		SortedMap othermap = getIndirectStringMap(other);
-		map.merge(othermap);
-		freeMap(map);
-		freeMap(othermap);
-	}
-	
-	public SortedMap getMap() {
-		return getIndirectStringMap(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.util.FactoryObject#next()
-	 */
-	public FactoryObject next() {
-		return fNext;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.util.FactoryObject#next(org.eclipse.ant.internal.ui.dtd.util.FactoryObject)
-	 */
-	public void next(FactoryObject obj) {
-		fNext = (Dfm) obj;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IDfm#isAny()
-	 */
-	public boolean isAny() {
-		return any;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IDfm#isEmpty()
-	 */
-	public boolean isEmpty() {
-		return empty;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IDfm#getAtom(java.lang.String)
-	 */
-	public IAtom getAtom(String name) {
-		Object[] allKeys = getKeys();
-		if (empty || allKeys == null){
-			return null;
-		}
-		SortedMap map = getIndirectStringMap(this);
-		int index = map.keyIndex(name);
-		if (index < 0) {
-			return null;
-		}
-		return (IAtom) allKeys[index];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IDfm#advance(java.lang.String, java.lang.String)
-	 */
-	public IDfm advance(String namespace, String localname) {
-		// no namespace support here
-		return advance(localname);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Element.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Element.java
deleted file mode 100644
index 3e66d05..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Element.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *		IBM Corporation - fix for Bug 40951
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.schema;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ant.internal.ui.dtd.IAttribute;
-import org.eclipse.ant.internal.ui.dtd.IDfm;
-import org.eclipse.ant.internal.ui.dtd.IElement;
-import org.eclipse.ant.internal.ui.dtd.IModel;
-import org.eclipse.ant.internal.ui.dtd.ParseError;
-
-public class Element extends Atom implements IElement {
-	private boolean fUndefined = true;
-	private boolean fText;
-	private IModel fModel;
-	private Map fMap = new HashMap(4); 
-	private Dfm fElementDfm;
-
-	/**
-	 * Constructor
-	 * @param name QName of element.
-	 */
-	public Element(String name) {
-		super(ELEMENT, name);
-	}
-
-	/**
-	 * Set undefined property.
-	 * @param undefined False if defined; otherwise true (default).
-	 */
-	public void setUndefined(boolean undefined) {
-		fUndefined = undefined;
-	}
-	
-	/**
-	 * Set text property.
-	 * @param text True if text only; otherwise false (default).
-	 */
-	public void setText(boolean text) {
-		fText = text;
-	}
-	
-	/**
-	 * Set model property.
-	 * @param model Dfm describing content model.
-	 */
-	public void setContentModel(IModel model) {
-		fModel = model;
-	}
-	
-	/**
-	 * Add an attribute to the attribute map.
-	 * @param attribute Attribute to add.
-	 */
-	public void addAttribute(IAttribute attribute) {
-		fMap.put(attribute.getName(), attribute);
-	}
-	
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IElement#getAttributes()
-	 */
-	public Map getAttributes() {
-		return fMap;
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IElement#isMixed()
-	 */
-	public IModel getContentModel() {
-		return fModel;
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IElement#isText()
-	 */
-	public boolean isText() {
-		return fText;
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IElement#isUndefined()
-	 */
-	public boolean isUndefined() {
-		return fUndefined;
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IElement#getDfm()
-	 */
-	public IDfm getDfm() {
-		Dfm dfm = fElementDfm;
-		if (dfm == null) {
-			dfm = parseElementDfm();
-			fElementDfm = dfm;
-		}
-		return dfm;
-	}
-	
-	private Dfm parseElementDfm() {
-		Dfm dfm;
-		if (fAny) {
-			dfm = Dfm.dfm(true);
-			dfm.any = true;
-		}
-		else if (fEmpty || fText) {
-			dfm = Dfm.dfm(true);
-			dfm.empty = true;
-		}
-		else {
-			dfm = parseModel(fModel);
-		}
-		return dfm;
-	}
-	
-	private Dfm parseModel(IModel model) {
-		Dfm dfm;
-		Nfm nfm = model.toNfm();
-		if (nfm != null) {
-			try {
-				dfm = fNfmParser.parse(nfm);
-			} catch (ParseError e) {
-				//??? this would be the place to log the error
-				dfm = Dfm.dfm(false);
-			}
-		}
-		else {
-			dfm = Dfm.dfm(false);
-		}
-		return dfm;
-	}
-	
-	private static final NfmParser fNfmParser = new NfmParser();
-	private boolean fAny;
-	private boolean fEmpty;
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IElement#isAny()
-	 */
-	public boolean isAny() {
-		return fAny;
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IElement#isEmpty()
-	 */
-	public boolean isEmpty() {
-		return fEmpty;
-	}
-
-	/**
-	 * Sets the any.
-	 * @param any The any to set
-	 */
-	public void setAny(boolean any) {
-		fAny = any;
-	}
-
-	/**
-	 * Sets the empty.
-	 * @param empty The empty to set
-	 */
-	public void setEmpty(boolean empty) {
-		fEmpty = empty;
-	}
-
-}
-
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Model.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Model.java
deleted file mode 100644
index babdddd..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Model.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.schema;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.dtd.IAtom;
-import org.eclipse.ant.internal.ui.dtd.IModel;
-
-/**
- * IModel implementation.
- * @author Bob Foster
- */
-public class Model implements IModel {
-	
-	protected int fKind;
-	protected int fMin = 1;
-	protected int fMax = 1;
-	protected int fNum = 0;
-	protected IModel[] fContents;
-	protected List fContentsList;
-	protected IAtom fLeaf;
-	protected boolean fMixed;
-	
-	private static final IModel[] fEmptyContents = new IModel[0];
-	
-	public Model(int kind) {
-		fKind = kind;
-	}
-	
-	public Model() {
-		fKind = UNKNOWN;
-	}
-	
-	public void setKind(int kind) {
-		fKind = kind;
-	}
-	
-	public void setMinOccurs(int min) {
-		fMin = min;
-	}
-	
-	public void setMaxOccurs(int max) {
-		fMax = max;
-	}
-	
-	public void setContents(IModel[] contents) {
-		fContents = contents;
-	}
-	
-	public void addModel(IModel model) {
-		if (fContents != null)
-			throw new IllegalStateException(AntDTDSchemaMessages.getString("Model.model_may_not_be_changed")); //$NON-NLS-1$
-			
-		if (fContentsList == null)
-			fContentsList = new LinkedList();
-			
-		fContentsList.add(model);
-	}
-	
-	public void setLeaf(IAtom leaf) {
-		fLeaf = leaf;
-	}
-
-	private static final String[] fOps = {"?",",","|","&","!!!"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-
-	private Nfm qualifyNfm(Nfm nfm) {
-		if (nfm == null)
-			return null;
-		if (fMin == 1 && fMax == 1)
-			return nfm;
-		if (fMin == 0 && fMax == 1) {
-			return Nfm.getQuestion(nfm);
-		}
-		if (fMin == 0 && fMax == UNBOUNDED) {
-			return Nfm.getStar(nfm);
-		}
-		if (fMin == 1 && fMax == UNBOUNDED) {
-			return Nfm.getPlus(nfm);
-		}
-		//the following cases cannot be reached by DTD models
-		if (fMax == 0)
-			return Nfm.getNfm(null);
-		if (fMax == UNBOUNDED) {
-			return Nfm.getUnbounded(nfm, fMin);
-		}
-		
-		return Nfm.getMinMax(nfm, fMin, fMax);
-	}
-
-	public Model shallowCopy() {
-		Model copy = new Model(getKind());
-		copy.fMixed = fMixed;
-		copy.fLeaf = fLeaf;
-		if (fContents != null) {
-			copy.fContentsList = new LinkedList();
-			for (int i = 0; i < fContents.length; i++) {
-				copy.fContentsList.add(fContents[i]);
-			}
-		}
-		else if (fContentsList != null) {
-			copy.fContentsList = new LinkedList();
-			Iterator it = fContentsList.iterator();
-			while (it.hasNext()) {
-				copy.fContentsList.add(it.next());
-			}
-		}
-		return copy;
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IModel#getKind()
-	 */
-	public int getKind() {
-		return 0;
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IModel#getMinOccurs()
-	 */
-	public int getMinOccurs() {
-		return fMin;
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IModel#getMaxOccurs()
-	 */
-	public int getMaxOccurs() {
-		return fMax;
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IModel#getContents()
-	 */
-	public IModel[] getContents() {
-		// A model contents may be referred to many times
-		// it would be inefficient to convert to array each time
-		if (fContents == null) {
-			if (fContentsList != null) {
-				fContents = (IModel[]) fContentsList.toArray(new IModel[fContentsList.size()]);
-				fContentsList = null;
-			}
-			else
-				fContents = fEmptyContents;
-		}
-		return fContents;
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IModel#getLeaf()
-	 */
-	public IAtom getLeaf() {
-		return fLeaf;
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IModel#getOperator()
-	 */
-	public String getOperator() {
-		return fOps[fKind];
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.IModel#stringRep()
-	 */
-	public String stringRep() {
-		StringBuffer buf = new StringBuffer();
-		stringRep(buf);
-		return buf.toString();
-	}
-	
-	private void stringRep(StringBuffer buf) {
-		switch (getKind()) {
-			case IModel.CHOICE:
-			case IModel.SEQUENCE:
-				buf.append('(');
-				Iterator it = fContentsList.iterator();
-				while (it.hasNext()) {
-					Model model = (Model) it.next();
-					model.stringRep(buf);
-					if (it.hasNext())
-						buf.append(getOperator());
-				}
-				buf.append(')');
-				buf.append(getQualifier());
-				break;
-			case IModel.LEAF:
-				IAtom atom = getLeaf();
-				buf.append(atom.getName());
-				break;
-			default:
-				buf.append(AntDTDSchemaMessages.getString("Model.***UNKNOWN***_2")); //$NON-NLS-1$
-				break;
-		}
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IModel#getQualifier()
-	 */
-	public String getQualifier() {
-		return fMin == 1 ? (fMax == UNBOUNDED ? "+" : "") : (fMax == UNBOUNDED ? "*" : "?"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	}
-	
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.IModel#toNfm()
-	 */
-	public Nfm toNfm() {
-		Nfm nfm = null;
-		switch (fKind) {
-			case CHOICE:
-			case SEQUENCE:
-			{
-				IModel[] contents = getContents();
-				if (contents == null || contents.length == 0)
-					nfm = null;
-				else {
-					nfm = contents[0].toNfm();
-					for (int i = 1; i < contents.length; i++) {
-						Nfm tmp = contents[i].toNfm();
-						if (fKind == SEQUENCE) {
-							nfm = Nfm.getComma(nfm, tmp);
-						} else {
-							nfm = Nfm.getOr(nfm, tmp);
-						}
-					}
-				}
-				break;
-			}
-			case LEAF:
-			{
-				nfm = Nfm.getNfm(fLeaf);
-				break;
-			}
-		}
-		return qualifyNfm(nfm);
-	}
-	
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Nfm.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Nfm.java
deleted file mode 100644
index f90588c..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Nfm.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.schema;
-
-import org.eclipse.ant.internal.ui.dtd.IAtom;
-import org.eclipse.ant.internal.ui.dtd.util.Factory;
-import org.eclipse.ant.internal.ui.dtd.util.FactoryObject;
-
-
-/**
- * Non-deterministic finite state machine.
- * @author Bob Foster
- */
-public class Nfm implements FactoryObject {
-	private NfmNode start;
-	private NfmNode stop;
-	
-	public NfmNode getStart() {
-		return start;
-	}
-	
-	public NfmNode getStop() {
-		return stop;
-	}
-	
-	/**
-	 * Construct an nfm such that:
-	 * <pre>
-	 * start  stop
-	 *   |      |
-	 * +---+  +---+
-	 * | s |->|   |
-	 * +---+  +---+
-	 * </pre>
-	 * In all pictures, boxes are NfmNodes.
-	 */
-	private static Nfm nfm(IAtom s) {
-		Nfm nfm = free();
-		nfm.stop = NfmNode.nfmNode();
-		nfm.start = NfmNode.nfmNode(s, nfm.stop);
-		return nfm;
-	}
-	
-	/**
-	 * Construct an nfm that "wraps" an existing nfm x such that:
-	 * <pre>
-	 * start                            stop
-	 *   |                                |
-	 * +---+  +---------+  +---------+  +---+
-	 * |   |->| x start |  | x stop  |->|   |
-	 * +---+  +---------+  +---------+  +---+
-	 * </pre>
-	 */
-	private static Nfm nfm(Nfm x) {
-		Nfm nfm = free();
-		nfm.start = NfmNode.nfmNode(x.start);
-		nfm.stop = NfmNode.nfmNode();
-		x.stop.next1 = nfm.stop;
-		return nfm;
-	}
-	
-	private static Nfm nfm() {
-		Nfm nfm = free();
-		nfm.start = NfmNode.nfmNode();
-		nfm.stop = NfmNode.nfmNode();
-		return nfm;
-	}
-
-	public static Nfm getNfm(IAtom s) {
-		return nfm(s);
-	}
-	
-	/**
-	 * "Star" an existing nfm x.
-	 * <pre>
-	 * start                            stop
-	 *   |                                |
-	 * +---+  +---------+  +---------+  +---+
-	 * |   |->| x start |  | x stop  |->|   |
-	 * +---+  +---------+  +---------+  +---+
-	 *   |         |            |         |
-	 *   |         +-----<------+         |
-	 *   +------>-------------------------+
-	 * </pre>
-	 * Frees x.
-	 */
-	public static Nfm getStar(Nfm x) {
-		// Make the back link
-		x.stop.next2 = x.start;
-		Nfm tmp = nfm(x);
-		// Make the forward link
-		tmp.start.next2 = tmp.stop;
-		free(x);
-		return tmp;
-	}
-	
-	/**
-	 * "Question" an existing nfm x: x => x?
-	 * <pre>
-	 * start                            stop
-	 *   |                                |
-	 * +---+  +---------+  +---------+  +---+
-	 * |   |->| x start |  | x stop  |->|   |
-	 * +---+  +---------+  +---------+  +---+
-	 *   |                                |
-	 *   +---------------->---------------+
-	 * </pre>
-	 * Frees x.
-	 */
-	public static Nfm getQuestion(Nfm x) {
-		Nfm tmp = nfm(x);
-		// Make the forward link
-		tmp.start.next2 = tmp.stop;
-		free(x);
-		return tmp;
-	}
-
-	/**
-	 * "Plus" an existing nfm x -> x+
-	 * <pre>
-	 * start                            stop
-	 *   |                                |
-	 * +---+  +---------+  +---------+  +---+
-	 * |   |->| x start |  | x stop  |->|   |
-	 * +---+  +---------+  +---------+  +---+
-	 *             |            |
-	 *             +-----<------+
-	 * </pre>
-	 * Frees x.
-	 */
-	public static Nfm getPlus(Nfm x) {
-		// Make the back link
-		x.stop.next2 = x.start;
-		Nfm tmp = nfm(x);
-		free(x);
-		return tmp;
-	}
-	
-	/**
-	 * "Or" two existing nfms x,y -> x|y
-	 * <pre>
-	 * start                            stop
-	 *   |                                |
-	 * +---+  +---------+  +---------+  +---+
-	 * |   |->| x start |  | x stop  |->|   |
-	 * +---+  +---------+  +---------+  +---+
-	 *   |                                |
-	 *   |    +---------+  +---------+    |
-	 *   +--->| y start |  | y stop  |-->-+
-	 *        +---------+  +---------+
-	 * </pre>
-	 * Frees x and y.
-	 */
-	public static Nfm getOr(Nfm x, Nfm y) {
-		Nfm tmp = nfm();
-		tmp.start.next1 = x.start;
-		tmp.start.next2 = y.start;
-		x.stop.next1 = tmp.stop;
-		y.stop.next1 = tmp.stop;
-		free(x);
-		free(y);
-		return tmp;
-	}
-	
-	/**
-	 * "Comma" two existing nfms x,y -> x,y
-	 * 
-	 * <p>Re-uses x so that x.stop is first
-	 * transformed to y.start and then
-	 * x.stop is reset to y.stop.
-	 * This is as efficient as possible.
-	 * <pre>
-	 * x start      former x stop   x stop
-	 *     |               |           |
-	 * +---------+  +----------+  +--------+
-	 * | x start |  | y start  |->| y stop |
-	 * +---------+  +----------+  +--------+
-	 * </pre>
-	 * Frees y, returns x modified.
-	 */
-	public static Nfm getComma(Nfm x, Nfm y) {
-		x.stop.next1 = y.start.next1;
-		x.stop.next2 = y.start.next2;
-		x.stop.symbol = y.start.symbol;
-		x.stop = y.stop;
-		free(y);
-		return x;
-	}
-	
-	/**
-	 * "{min,*}" an existing nfm x -> x[0],x[1],...,x[min-1],x[min]*
-	 * Frees x.
-	 */
-	public static Nfm getUnbounded(Nfm x, int min) {
-		if (min == 0)
-			return getStar(x);
-		if (min == 1)
-			return getPlus(x);
-		Nfm last1 = nfm(x), last2 = nfm(x);
-		for (int i = 2; i < min; i++) {
-			last1 = getComma(last1, last2);
-			free(last2);
-			last2 = nfm(x);
-		}
-		free(x);
-		return getComma(last1, getStar(last2));
-	}
-	
-	/**
-	 * "{min,max}" an existing nfm x -> x[0],x[1],...,x[min-1],x[min]?,...,x[max-1]?
-	 * Frees or returns x.
-	 */
-	public static Nfm getMinMax(Nfm x, int min, int max) {
-		if (max == Integer.MAX_VALUE)
-			return getUnbounded(x, min);
-		if (max == 0) {
-			free(x);
-			return nfm((IAtom)null);
-		}
-		if (max == 1) {
-			if (min == 0)
-				return getQuestion(x);
-			return x;
-		}
-		Nfm last = null;
-		int i = 0;
-		for (; i < min; i++) {
-			if (last == null)
-				last = nfm(x);
-			else {
-				Nfm tmp = nfm(x);
-				last = getComma(last, tmp);
-				free(tmp);
-			}
-		}
-		for (; i < max; i++) {
-			if (last == null)
-				last = getQuestion(x);
-			else {
-				Nfm tmp = getQuestion(x);
-				last = getComma(last, tmp);
-				free(tmp);
-				//??? this is inefficient since the first failure
-				//    in a sequence of x?,x?,...,x? can skip to
-				//    the end rather than keep trying to match x
-			}
-		}
-		free(x);
-		return last;
-	}
-	
-	// Below here is factory stuff
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.util.FactoryObject#next()
-	 */
-	public FactoryObject next() {
-		return fNext;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.util.FactoryObject#next(org.eclipse.ant.internal.ui.dtd.util.FactoryObject)
-	 */
-	public void next(FactoryObject obj) {
-		fNext = (Nfm) obj;
-	}
-	private Nfm fNext;
-	private static Factory fFactory = new Factory();
-	private static Nfm free() {
-		Nfm nfm = (Nfm) fFactory.getFree();
-		if (nfm == null)
-			return new Nfm();
-		return nfm;
-	}
-	public static void free(Nfm nfm) {
-		nfm.start = nfm.stop = null;
-		fFactory.setFree(nfm);
-	}
-	private Nfm() {
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/NfmNode.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/NfmNode.java
deleted file mode 100644
index 9fe7ab6..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/NfmNode.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.schema;
-
-import org.eclipse.ant.internal.ui.dtd.IAtom;
-import org.eclipse.ant.internal.ui.dtd.util.Factory;
-import org.eclipse.ant.internal.ui.dtd.util.FactoryObject;
-
-/**
- * Non-deterministic finite state machine node.<p>
- * 
- * Following Aho & Ullman, nfm nodes contain two
- * transition links. The graph is constructed so
- * that no node requires more than two links.
- * There are exactly these kinds of nodes:
- * <pre>
- *		Symbol	Next1	Next2	Meaning
- *		  "a"	 fwd	 null	Regexp "a"
- *		  null	 null	 null	Accepting node
- *		  null	 fwd1	 fwd2	Start node of ? and * regexp
- *								fwd2 points to stop node
- *		  null	 fwd	 bkw	Internal node of + and * regexp
- *								fwd points to stop node
- *								bkw points, e.g., in "a*" to start node of "a"
- *		  null	 fwd1	 fwd2	Start node of | regexp, e.g., "a|b",
- *								fwd nodes point to start nodes of "a" and "b".
- *		  null	 fwd	 null	Internal node of |.
- *								fwd points to stop node.
- * </pre>
- * See Nfm for pictures of how nodes are used.
- * @author Bob Foster
- */
-public class NfmNode implements FactoryObject {
-
-	public IAtom symbol;
-	public NfmNode next1;
-	public NfmNode next2;
-	public Dfm dfm;
-	public int mark;
-	
-	private NfmNode() {
-	}
-	
-	public static NfmNode nfmNode(IAtom symbol, NfmNode next) {
-		NfmNode nfm = getFree();
-		nfm.symbol = symbol;
-		nfm.next1 = next;
-		return nfm;
-	}
-	
-	public static NfmNode nfmNode(NfmNode next) {
-		NfmNode nfm = getFree();
-		nfm.next1 = next;
-		return nfm;
-	}
-	
-	public static NfmNode nfmNode() {
-		return getFree();
-	}
-	
-	/**
-	 * Free all NfmNodes in use.
-	 */
-	public static void freeAll() {
-		while (fUsed != null) {
-			FactoryObject nfm = fUsed;
-			fUsed = nfm.next();
-			setFree((NfmNode)nfm);
-		}
-	}
-	
-	// Below here is factory stuff
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.util.FactoryObject#next()
-	 */
-	public FactoryObject next() {
-		return next;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.util.FactoryObject#next(org.eclipse.ant.internal.ui.dtd.util.FactoryObject)
-	 */
-	public void next(FactoryObject obj) {
-		next = (NfmNode) obj;
-	}
-	private NfmNode next;
-	private static Factory fFactory = new Factory();
-	private static FactoryObject fUsed = null;
-	private static NfmNode getFree() {
-		NfmNode nfm = (NfmNode) fFactory.getFree();
-		if (nfm == null)
-			nfm = new NfmNode();
-		nfm.next(fUsed);
-		fUsed = nfm;
-		return nfm;
-	}
-	private static void setFree(NfmNode nfm) {
-		nfm.symbol = null;
-		nfm.next1 = nfm.next2 = null;
-		nfm.dfm = null;
-		nfm.mark = 0;
-		fFactory.setFree(nfm);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/NfmParser.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/NfmParser.java
deleted file mode 100644
index 3d8ef46..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/NfmParser.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.schema;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.dtd.ParseError;
-import org.eclipse.ant.internal.ui.dtd.util.SortedMap;
-import org.eclipse.ant.internal.ui.dtd.util.SortedMapFactory;
-
-/**
- * NfmParser parses an NFA and returns an equivalent DFA if it can do so in
- * linear time and space (in terms of the original NFA).<p>
- * 
- * As used here, NfmParser is called lazily when someone actually asks for a
- * Dfm. This is for performance reasons. Why go to the work of calculating all
- * those Dfms if nobody ever uses them?
- * 
- * Well-formed errors in content models have already been detected. The only
- * error that can arise in NfmParser is an ambiguity error.
- * 
- * Bruggemann-Klein showed that if an NFA is 1-unambiguous, an epsilon-free NFA
- * constructed from it in linear time is actually a DFA. This is obvious
- * in NfmParser. The algorithm works by removing all ambiguous transitions as
- * the graph is constructed, then proving that the reduced graph is equivalent
- * to the original in time linear in the number of ambiguous transitions.
- * 
- * An effort is made to keep the DFA small, but there is no optimization
- * step, as DFAs are small anyway, with some linear inflation around *.
- * In a pathological case, like the classical (a*,a*,a*,..., a*) the number
- * of transitions in the DFA can be quadratic but this algorithm will not blow
- * up exponentially.
- * 
- * @author Bob Foster
- */
-public class NfmParser {
-	
-	public Dfm parse(Nfm nfm) throws ParseError {
-		
-		// Parse nfm into dfm
-		
-		Dfm dfm = parseStart(nfm.getStart(), nfm.getStop());
-		
-		// Make list of dfms in graph
-		
-		ArrayList dfms = new ArrayList();
-		collect(dfm, dfms);
-		
-		// Detect accept conflicts
-		
-		HashMap duplicates = new HashMap();
-		detect(dfms, duplicates);
-		
-		// Replace duplicate dfms in graph
-		
-		replace(dfms, duplicates);
-		
-		// Allow nfm memory to be re-used
-		
-		Nfm.free(nfm);
-		NfmNode.freeAll();
-		
-		return dfm;
-	}
-	
-	private void reportError(String name) throws ParseError {
-		throw new ParseError(MessageFormat.format(AntDTDSchemaMessages.getString("NfmParser.Ambiguous"), new String[]{name})); //$NON-NLS-1$
-	}
-
-	public static void collect(Dfm dfm, List dfms) {
-		dfms.add(dfm);
-		collect1(dfm, dfms);
-	}
-	
-	private static void collect1(Dfm dfm, List dfms) {
-		Object[] follows = dfm.getValues();
-		if (follows != null) {
-			for (int i = 0; i < follows.length; i++) {
-				Dfm follow = (Dfm) follows[i];
-				if (!dfms.contains(follow)) {
-					dfms.add(follow);
-					collect1(follow, dfms);
-				}
-			}
-		}
-	}
-
-
-	/**
-	 * Replace duplicate dfms found during conflict resolution.
-	 */
-	private void replace(ArrayList dfms, HashMap removed) {
-		for (int i = 0; i < dfms.size(); i++) {
-			Dfm dfm = (Dfm) dfms.get(i);
-			Object[] follows = dfm.getValues();
-			if (follows != null) {
-				for (int j = 0; j < follows.length; j++) {
-					Dfm replacement, follow = (Dfm) follows[j];
-					while ((replacement = (Dfm) removed.get(follow)) != null)
-						follow = replacement;
-					follows[j] = follow;
-				}
-			}
-		}
-		
-		// release dfms so can be re-used
-		Iterator rit = removed.keySet().iterator();
-		while (rit.hasNext())
-			Dfm.free((Dfm)rit.next());
-	}
-
-
-	/**
-	 * Detect conflicts in each state. Two transitions are a potential conflict
-	 * if they accept the same string value. They are an actual conflict if
-	 * their follow dfms are not identical and they are an actual ambiguity if
-	 * the transition atoms of the follow dfms are not pairwise identical.
-	 * This is derived from the rule of Bruggemann-Klein, which determines
-	 * that (a|a)b is not ambiguous, but both (a,b)|(a,c) and (a,b)|(a,b) are.
-	 * The latter might be surprising, but that's committee work for you.
-	 * If two transitions are not ambiguous, one can be removed without
-	 * affecting the language accepted, and thus we have converted our
-	 * epsilon-free NFA into a DFA. If any two transitions are ambiguous,
-	 * we report an error and our responsibility ends. Note that no transitions
-	 * can be removed until all have been checked; this might disguise the
-	 * ambiguity in, e.g., ((a|a),b,(a|a))*.
-	 */
-	private void detect(ArrayList dfms, HashMap duplicates) throws ParseError {
-		for (Iterator iter = dfms.iterator(); iter.hasNext();) {
-			Dfm dfm = (Dfm) iter.next();
-			
-			Object[] accepts = dfm.getKeys();
-			Object[] follows = dfm.getValues();
-			if (accepts != null) {
-				String last = null;
-				for (int i = 0, lasti = -1; i < accepts.length; i++) {
-					String accept = accepts[i].toString();
-					// accepts strings are interned allowing identity comparison
-					
-					if (last != null && last == accept) {
-						if (follows[i] != follows[lasti])
-							checkConflict(new Conflict(accept, (Dfm)follows[lasti], (Dfm)follows[i]));
-					}
-					else {
-						last = accept;
-						lasti = i;
-					}
-				}
-			}
-		}
-		
-		// once more for removal
-		
-		for (Iterator iter = dfms.iterator(); iter.hasNext();) {
-			Dfm dfm = (Dfm) iter.next();
-			
-			// record conflicts
-			Object[] accepts = dfm.getKeys();
-			Object[] follows = dfm.getValues();
-			boolean remove = false;
-			if (accepts != null) {
-				boolean[] removes = new boolean[accepts.length];
-				String last = null;
-				for (int i = 0, lasti = -1; i < accepts.length; i++) {
-					String accept = accepts[i].toString();
-					
-					if (last != null && last == accept) {
-						remove = true;
-						removes[i] = true;
-						if (follows[i] != follows[lasti]) {
-							Dfm dfmhi = (Dfm) follows[i];
-							Dfm dfmlo = (Dfm) follows[lasti];
-							if (dfmhi.id < dfmlo.id) {
-								Dfm tmp = dfmhi;
-								dfmhi = dfmlo;
-								dfmlo = tmp;
-							}
-							Dfm dup = (Dfm) duplicates.get(dfmhi);
-							if (dup == null || dfmlo.id < dup.id) {
-								duplicates.put(dfmhi, dfmlo);
-							} else {
-								duplicates.put(dfmlo, dup);
-							}
-						}
-					}
-					else {
-						last = accept;
-						lasti = i;
-					}
-				}
-			
-				if (remove) {
-					SortedMap map = dfm.getMap();
-					int i = 0;
-					for (Iterator iterator = map.keyIterator(); iterator.hasNext(); i++) {
-						iterator.next();
-						if (removes[i])
-							iterator.remove();
-					}
-					SortedMapFactory.freeMap(map);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Check conflict and report ambiguity.
-	 * @param conflict Potential ambiguity
-	 */
-	private void checkConflict(Conflict conflict) throws ParseError {
-		if (conflict.dfm1.accepting != conflict.dfm2.accepting) {
-			reportError(conflict.name);
-		}
-		Object[] accept1 = conflict.dfm1.getKeys();
-		Object[] accept2 = conflict.dfm2.getKeys();
-		if ((accept1 == null) != (accept2 == null)) {
-			reportError(conflict.name);
-		}
-		if (accept1 != null) {
-			if (accept1.length != accept2.length) {
-				reportError(conflict.name);
-			}
-			for (int j = 0; j < accept2.length; j++) {
-				if (accept1[j] != accept2[j]) {
-					reportError(conflict.name);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Recursive parse that visits every node reachable from
-	 * the start symbol.
-	 */
-	private Dfm parseStart(NfmNode start, NfmNode accept) {
-		// mark the start node
-		Dfm result = Dfm.dfm(false);
-		start.dfm = result;
-
-		// we can minimize alias dfms by marking all starting transfer links
-		while (start.next1 != null && start.next2 == null && start.symbol == null) {
-			start = start.next1;
-			start.dfm = result;
-		}
-		
-		Dfm parsed = parse(1, start, accept);
-		result.merge(parsed);
-		
-		Dfm.free(parsed);
-		
-		return result;
-	}
-	
-	private void parseNext(int mark, Dfm result, NfmNode start, NfmNode accept) {
-		Dfm parsed = parse(mark+1, start, accept);
-		result.merge(parsed);
-		
-		Dfm.free(parsed);
-	}
-	
-	/**
-	 * Recursive parse that visits every node reachable from
-	 * the start symbol.
-	 */
-	private Dfm parse(int mark, NfmNode start, NfmNode accept) {
-		
-		// eliminate useless recursion (note that accept node has no branches)
-		while (start.next1 != null && start.next2 == null && start.symbol == null)
-			start = start.next1;
-			
-		// if we reached the accept node, return an empty dfm that accepts
-		if (start == accept)
-			return Dfm.dfm(true);
-		
-		// for a symbol, construct a dfm that accepts the symbol
-		if (start.symbol != null) {
-			Dfm nextdfm = null;
-			NfmNode next = start.next1, snext = next;
-			while (snext.dfm == null && snext.next1 != null && snext.next2 == null && snext.symbol == null)
-				snext = snext.next1;
-			if (snext.dfm != null) {
-				for (NfmNode n = next; n != snext; n = n.next1)
-					n.dfm = snext.dfm;
-				nextdfm = snext.dfm;
-			}
-			else {
-				nextdfm = Dfm.dfm(false);
-				snext.dfm = nextdfm;
-				for (NfmNode n = next; n != snext; n = n.next1)
-					n.dfm = nextdfm;
-				parseNext(mark, nextdfm, snext, accept);
-			}
-			Dfm dfm = Dfm.dfm(start.symbol, nextdfm);
-			return dfm;
-		}
-		
-		// otherwise, follow both branches and return the combined result
-		Dfm dfm1 = null, dfm2 = null;
-		int saveMark;
-		if (start.next1 != null && start.next1.mark != mark) {
-			saveMark = start.next1.mark;
-			start.next1.mark = mark;
-			dfm1 = parse(mark, start.next1, accept);
-			start.next1.mark = saveMark;
-		}
-		if (start.next2 != null && start.next2.mark != mark) {
-			saveMark = start.next2.mark;
-			start.next2.mark = mark;
-			dfm2 = parse(mark, start.next2, accept);
-			start.next2.mark = saveMark;
-		}
-			
-		if (dfm2 != null) {
-			if (dfm1 != null)
-				dfm1.merge(dfm2);
-			else
-				dfm1 = dfm2;
-		}
-		return dfm1;
-	}
-
-	private static class Conflict {
-		public String name;
-		public Dfm dfm1, dfm2;
-		public Conflict(String name, Dfm dfm1, Dfm dfm2) {
-			this.name = name;
-			this.dfm1 = dfm1;
-			this.dfm2 = dfm2;
-		}
-		public int hashCode() {
-			return dfm1.hashCode() + dfm2.hashCode();
-		}
-		public boolean equals(Object o) {
-			if (o == this)
-				return true;
-			if (!(o instanceof Conflict))
-				return false;
-			Conflict other = (Conflict) o;
-			return (dfm1 == other.dfm1 && dfm2 == other.dfm2)
-				|| (dfm1 == other.dfm2 && dfm2 == other.dfm1);
-		}
-	}
-	
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Schema.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Schema.java
deleted file mode 100644
index e9e5770..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/Schema.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.schema;
-
-import java.util.HashMap;
-
-import org.eclipse.ant.internal.ui.dtd.IElement;
-import org.eclipse.ant.internal.ui.dtd.ISchema;
-
-/**
- * This is a very simple schema suitable for DTDs.
- * Once constructed, a schema is immutable and could be
- * used by multiple threads. However, since in general
- * the schema will reflect the internal DTD subset,
- * re-use for multiple documents is problematic.
- * @author Bob Foster
- */
-public class Schema implements ISchema {
-	private HashMap fElementMap = new HashMap();
-	private Exception fErrorException;
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.ISchema#getElement(java.lang.String)
-	 */
-	public IElement getElement(String qname) {
-		return (IElement) fElementMap.get(qname);
-	}
-
-	/**
-	 * @see org.eclipse.ant.internal.ui.dtd.ISchema#getElements()
-	 */
-	public IElement[] getElements() {
-		return (IElement[]) fElementMap.entrySet().toArray(new IElement[fElementMap.entrySet().size()]);
-	}
-	
-	/**
-	 * Add a visible element to the schema.
-	 * @param element Element to add.
-	 */
-	public void addElement(IElement element) {
-		fElementMap.put(element.getName(), element);
-	}
-	
-	/**
-	 * Sets the exception thrown by then parser when the schema was built.
-	 * Note that the exception does not necessarily mean the schema is incomplete.
-	 * 
-	 * @param e the Exception
-	 */
-	public void setErrorException(Exception e) {
-		fErrorException = e;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.ISchema#getErrorException()
-	 */
-	public Exception getErrorException() {
-		return fErrorException;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/SchemaFactory.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/SchemaFactory.java
deleted file mode 100644
index 253e4a1..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/schema/SchemaFactory.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *      IBM Corporation - Fix for bug 40951
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.schema;
-
-import java.text.MessageFormat;
-import java.util.HashSet;
-import java.util.LinkedList;
-
-import org.eclipse.ant.internal.ui.dtd.IModel;
-import org.eclipse.ant.internal.ui.dtd.ISchema;
-import org.xml.sax.SAXException;
-import org.xml.sax.ext.DeclHandler;
-
-/**
- * SchemaFactory is a SAX DeclHandler that converts DTD ELEMENT and ATTLIST
- * declarations to schema form on the fly. The only two methods available to
- * external users of SchemaFactory are its constructor and
- * <code>getSchema()</code>. The latter returns the schema built by this process
- * and should not be called until the XML parser to which this handler is
- * attached has finished parsing.
- * @author Bob Foster
- */
-public class SchemaFactory implements DeclHandler {
-	// used for parsing models
-	private char[] fBuf;
-	private int fLen;
-	private int fPos;
-	private Element fElement;
-	
-	private Schema fSchema;
-	private static HashSet fTypes = new HashSet();
-	private Exception fErrorException;
-	static {
-		fTypes.add("CDATA"); //$NON-NLS-1$
-		fTypes.add("ID"); //$NON-NLS-1$
-		fTypes.add("IDREF"); //$NON-NLS-1$
-		fTypes.add("IDREFS"); //$NON-NLS-1$
-		fTypes.add("NMTOKEN"); //$NON-NLS-1$
-		fTypes.add("NMTOKENS"); //$NON-NLS-1$
-		fTypes.add("ENTITY"); //$NON-NLS-1$
-		fTypes.add("ENTITIES"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Constructor.
-	 */
-	public SchemaFactory() {
-		fSchema = new Schema();
-	}
-	
-	/**
-	 * @return ISchema produced from the DeclHandler. The schema is always
-	 * correct, though it may be incomplete if the parse was interrupted due to
-	 * validation or well-formed errors.
-	 */
-	public ISchema getSchema() {
-		fSchema.setErrorException(fErrorException);
-		return fSchema;
-	}
-	
-	/**
-	 * @see org.xml.sax.ext.DeclHandler#attributeDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public void attributeDecl(String eName, String aName, String type, String valueDefault, String value) {
-		Element element = getElement(eName);
-		Attribute attr = (Attribute) element.getAttributes().get(aName);
-		if (attr == null) {
-			attr = new Attribute(aName, element);
-			element.addAttribute(attr);
-			
-			String[] enumeration = null;
-			if (fTypes.contains(type))
-				attr.setType(type);
-			else if (type.startsWith("NOTATION")) //$NON-NLS-1$
-				enumeration = parseValues(type.substring("NOTATION".length()+1), ','); //$NON-NLS-1$
-			else {
-			    type = stripSurroundingParentheses(type);
-				enumeration = parseValues(type, '|');
-			}
-			attr.setEnum(enumeration);
-			
-			attr.setRequired(valueDefault == null || !valueDefault.equals("#IMPLIED")); //$NON-NLS-1$
-			attr.setFixed(valueDefault != null && valueDefault.equals("#FIXED")); //$NON-NLS-1$
-			attr.setDefault(value);
-		}
-	}
-	
-
-    /**
-     * Strips the surrounding parentheses from <code>aString</code>.
-     * <P>
-     * i.e.: (true|false) -> true|false
-     */
-    private String stripSurroundingParentheses(String aString) {
-        if(aString.startsWith("(")) { //$NON-NLS-1$
-            aString = aString.substring(1);
-        }
-        if(aString.endsWith(")")) { //$NON-NLS-1$
-            aString = aString.substring(0, aString.length()-1);
-        }
-        return aString;
-    }
-	
-	
-	/**
-	 * @param eName Element name
-	 * @return Element from schema or new element. Either way
-	 * the element is in the schema upon return.
-	 */
-	private Element getElement(String eName) {
-		Element element = (Element) fSchema.getElement(eName);
-		if (element == null) {
-			element = new Element(eName);
-			fSchema.addElement(element); 
-		}
-		return element;
-	}
-
-	private String[] parseValues(String type, char separator) {
-		int start = 0, pos, len = type.length();
-		LinkedList values = new LinkedList();
-		while (start < len) {
-			pos = type.indexOf(separator, start);
-			if (pos < 0) pos = len;
-			String term = type.substring(start, pos);
-			start = pos + 1;
-			values.add(term);
-		}
-		return (String[]) values.toArray(new String[values.size()]);
-	}
-
-	/**
-	 * @see org.xml.sax.ext.DeclHandler#elementDecl(java.lang.String, java.lang.String)
-	 */
-	public void elementDecl(String name, String model) throws SAXException {
-		Element element = getElement(name);
-		if (!element.isUndefined()) {
-			// if the element has already been defined, this is an error
-			throw new SAXException(MessageFormat.format(AntDTDSchemaMessages.getString("SchemaFactory.Doubly_defined"), new String[]{name})); //$NON-NLS-1$
-		}
-		
-		fElement = element;
-		if (model.equals("ANY")) { //$NON-NLS-1$
-			element.setAny(true);
-		} else if (model.equals("EMPTY")) { //$NON-NLS-1$
-			element.setEmpty(true);
-		} else if (model.equals("(#PCDATA)")) {//$NON-NLS-1$
-			element.setText(true);
-		} else {
-			element.setContentModel(parseModel(model));
-		}
-	}
-
-	/**
-	 * Convert model string to IModel. The <code>fElement</code>
-	 * variable is an implicit argument to this method, and it
-	 * sets <code>fBuf</code>, <code>fPos</code> and <code>fLen</code> for use
-	 * by other parser methods.
-	 * @param model String from DTD, with parameter entities replaced.
-	 * @return IModel
-	 * @throws SAXException if syntax error detected in model. This is a
-	 * validation error. Since the DTD is usually not read unless the parser is
-	 * validating, we may not ever be handed a bad content model, but we need to
-	 * check them, just the same.
-	 */
-	private IModel parseModel(String model) throws SAXException {
-		fBuf = model.toCharArray();
-		fLen = fBuf.length;
-		if (fBuf[0] != '(') {
-			throw new SAXException(
-				MessageFormat.format(AntDTDSchemaMessages.getString("SchemaFactory.Start_with_left_parenthesis"), new String[]{fElement.getName()})); //$NON-NLS-1$
-		}
-
-		boolean ortext = model.startsWith("(#PCDATA|"); //$NON-NLS-1$
-		if (ortext) {
-			fPos = 8; //"(#PCDATA".length()			
-		} else {
-			fPos = 0;
-		}
-		IModel emodel= scanExpr();
-		return emodel;
-	}
-
-	/**
-	 * Scan a parenthesized expression starting
-	 * from the left parenthesis or leftmost operator.
-	 * @return IModel
-	 */
-	private IModel scanExpr() throws SAXException {
-		// skip opening ( or |
-		fPos++;
-		return scanExpr(scanElement());
-	}
-	
-	/**
-	 * Scan a parenthesized expression with the
-	 * first term in hand.
-	 * @param term The first operand in the expression, pre-scanned.
-	 * @return IModel
-	 * @throws SAXException if errors are detected in the model.
-	 */
-	private IModel scanExpr(IModel term) throws SAXException {
-		checkLen();
-		if (fBuf[fPos] != ')') {
-			char op = fBuf[fPos];
-			if (op != '|' && op != ',') {
-				throw new SAXException(
-					MessageFormat.format(AntDTDSchemaMessages.getString("SchemaFactory.Expecting_operator_or_right_parenthesis"),  //$NON-NLS-1$
-						new String[]{fElement.getName(),String.valueOf(fBuf)}));
-			}
-			Model model = new Model(op == '|' ? IModel.CHOICE : IModel.SEQUENCE);
-			model.addModel(term);
-			term = model;
-			
-			while (fBuf[fPos] == op) {
-				fPos++;
-				IModel next = scanElement();
-				model.addModel(next);
-			}
-			if (fBuf[fPos] != ')') {
-				throw new SAXException(
-						MessageFormat.format(AntDTDSchemaMessages.getString("SchemaFactory.Expecting_operator_or_right_parenthesis"),  //$NON-NLS-1$
-						new String[]{fElement.getName(), String.valueOf(fBuf)}));					
-			}
-			fPos++;
-		}
-		return term;
-	}
-
-	/**
-	 * Scan an element name or a parenthesized sub-expression.
-	 * @return IModel
-	 * @throws SAXException
-	 */
-	private IModel scanElement() throws SAXException {
-		checkLen();
-		if (fBuf[fPos] == '(')
-			return scanExpr();
-		StringBuffer sb = new StringBuffer();
-		while (fBuf[fPos] != '|' && fBuf[fPos] != ',' && fBuf[fPos] != ')'
-		&& fBuf[fPos] != '*' && fBuf[fPos] != '+' && fBuf[fPos] != '?' ) {
-			sb.append(fBuf[fPos++]);
-			checkLen();
-		}
-		String name = sb.toString();
-		Element element = getElement(name);
-		Model model = new Model(IModel.LEAF);
-		model.setLeaf(element);
-		return model;
-	}
-
-	private void checkLen() throws SAXException {
-		if (fPos == fLen) {
-			throw new SAXException(
-				MessageFormat.format(AntDTDSchemaMessages.getString("SchemaFactory.Unexpected_end"),  //$NON-NLS-1$
-					new String[]{fElement.getName(),
-						String.valueOf(fBuf)}));
-		}	
-	}
-
-	/**
-	 * @see org.xml.sax.ext.DeclHandler#externalEntityDecl(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public void externalEntityDecl(String name, String publicId, String systemId) {
-	}
-
-	/**
-	 * @see org.xml.sax.ext.DeclHandler#internalEntityDecl(java.lang.String, java.lang.String)
-	 */
-	public void internalEntityDecl(String name, String value) {
-	}
-
-	public void setErrorException(Exception e) {
-		fErrorException = e;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/AntDTDUtilMessages.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/AntDTDUtilMessages.java
deleted file mode 100644
index 09b032a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/AntDTDUtilMessages.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.ant.internal.ui.dtd.util;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntDTDUtilMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.dtd.util.AntDTDUtilMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntDTDUtilMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/AntDTDUtilMessages.properties b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/AntDTDUtilMessages.properties
deleted file mode 100644
index 9f6b4ac..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/AntDTDUtilMessages.properties
+++ /dev/null
@@ -1,13 +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
-###############################################################################
-
-SortedMap.next()_called_for_empty_array_1=next() called for empty array
-SortedMap.remove({0})_in_empty_map_2=remove({0}) in empty map
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/Factory.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/Factory.java
deleted file mode 100644
index a1de9c9..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/Factory.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.util;
-
-import java.lang.ref.SoftReference;
-
-/**
- * Factory maintains a free list and, with FactoryObject,
- * serves as a basis for factories of all types.
- * Factory should only be subclassed in singleton classes;
- * for static factories, it may be instantiated as
- * a static object.
- * @author Bob Foster
- */
-public class Factory {
-	
-	/**
-	 * Return the first object on the free list
-	 * or null if none.
-	 */
-	public FactoryObject getFree() {
-		Head head = getHead();
-		FactoryObject obj = head.next;
-		if (obj != null) {
-			head.next = obj.next();
-			obj.next(null);
-		}
-		return obj;
-	}
-	
-	/**
-	 * Add an object to the free list.
-	 */
-	public void setFree(FactoryObject obj) {
-		Head head = getHead();
-		obj.next(head.next);
-		head.next = obj;
-	}
-	
-	private Head getHead() {
-		Head head = (Head) free.get();
-		if (head == null) {
-			// head is needed because you can't change
-			// the referent of a SoftReference.
-			// Without head, we would need to create
-			// a new SoftReference each time we remove
-			// a map from the list. With head, getting
-			// a free object only causes memory allocation
-			// when the list has been previously collected.
-			head = new Head();
-			free = new SoftReference(head);
-		}
-		return head;
-	}
-
-	private static class Head {
-		public FactoryObject next;
-	}
-	private SoftReference free = new SoftReference(new Head());
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/FactoryObject.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/FactoryObject.java
deleted file mode 100644
index b04c20b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/FactoryObject.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.util;
-
-/**
- * A FactoryObject must implement a simple linked list.
- * @author Bob Foster
- */
-public interface FactoryObject {
-
-	FactoryObject next();
-	
-	void next(FactoryObject obj);
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IKeyHolder.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IKeyHolder.java
deleted file mode 100644
index f029984..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IKeyHolder.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.util;
-
-/**
- * @author Bob Foster
- */
-public interface IKeyHolder {
-
-	Object[] getKeys();
-	
-	void setKeys(Object[] keys);
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IMapHolder.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IMapHolder.java
deleted file mode 100644
index 14c51a8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IMapHolder.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.util;
-
-/**
- * @author Bob Foster
- */
-public interface IMapHolder extends IKeyHolder, IValueHolder {
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IValueHolder.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IValueHolder.java
deleted file mode 100644
index 9ab42d8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/IValueHolder.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.util;
-
-/**
- * @author Bob Foster
- */
-public interface IValueHolder {
-
-	Object[] getValues();
-	
-	void setValues(Object[] values);
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/MapHolder.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/MapHolder.java
deleted file mode 100644
index 8093b8b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/MapHolder.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.util;
-
-/**
- * @author Bob Foster
- */
-public class MapHolder extends SortedMapFactory implements IMapHolder {
-
-	public Object[] keys;
-	public Object[] values;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.util.IKeyHolder#getKeys()
-	 */
-	public Object[] getKeys() {
-		return keys;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.util.IKeyHolder#setKeys(java.lang.Object[])
-	 */
-	public void setKeys(Object[] keys) {
-		this.keys = keys;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.util.IValueHolder#getValues()
-	 */
-	public Object[] getValues() {
-		return values;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.dtd.util.IValueHolder#setValues(java.lang.Object[])
-	 */
-	public void setValues(Object[] values) {
-		this.values = values;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedMap.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedMap.java
deleted file mode 100644
index 7dbc060..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedMap.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.util;
-
-import java.text.MessageFormat;
-import java.util.Comparator;
-import java.util.Iterator;
-
-/**
- * @author Bob Foster
- */
-public class SortedMap implements FactoryObject {
-
-	private SortedSet fSet;
-	private IMapHolder fHolder;
-	private SortedMap fNext;
-	
-	public SortedMap(IMapHolder holder, Comparator comp) {
-		fHolder = holder;
-		fSet = new SortedSet(holder, comp);
-	}
-	
-	public SortedMap(Comparator comp) {
-		fSet = new SortedSet(comp);
-	}
-	
-	public SortedMap(IMapHolder holder) {
-		fHolder = holder;
-		fSet = new SortedSet(holder);
-	}
-	
-	public SortedMap() {
-		fSet = new SortedSet();
-	}
-	
-	public void setMapHolder(IMapHolder holder) {
-		fHolder = holder;
-		fSet.setKeyHolder(holder);
-	}
-	
-	public void setComparator(Comparator comp) {
-		fSet.setComparator(comp);
-	}
-	
-	public boolean containsKey(Object key) {
-		return fSet.contains(key);
-	}
-	
-	public boolean containsKeyIdentity(Object key) {
-		return fSet.containsIdentity(key);
-	}
-	
-	public Object put(Object key, Object val) {
-		Object[] values = fHolder.getValues();
-		int index = fSet.indexOf(key);
-		Object result = index >= 0 && values != null ? values[index] : null;
-		
-		int i = fSet.internalAdd(key, false);
-		if (i >= 0)
-			internalPut(i, val);
-		return result;
-	}
-	
-	protected void internalPut(int i, Object val) {
-		Object[] values = fHolder.getValues();
-		if (values == null) {
-			values = new Object[1];
-			values[0] = val;
-			return;
-		}
-	
-		Object[] tmp = new Object[values.length+1];
-		System.arraycopy(values,0,tmp,0,i);
-		tmp[i] = val;
-		System.arraycopy(values,i,tmp,i+1,values.length-i);
-		fHolder.setValues(tmp);
-	}
-	
-	public int putAlways(Object key, Object val) {
-		int i = fSet.internalAdd(key, true);
-		internalPut(i, val);
-		return i;
-	}
-	
-	public void append(Object key, Object val) {
-		Object[] values = fHolder.getValues();
-		int len = values != null ? values.length : 0;
-		fSet.internalAdd(len, key);
-		internalPut(len, val);
-	}
-	
-	public Object get(Object key) {
-		Object[] values = fHolder.getValues();
-		if (values == null)
-			return null;
-		int i = fSet.indexOf(key);
-		if (i >= 0)
-			return values[i];
-		return null;
-	}
-	
-	public Object getIdentity(Object key) {
-		Object[] values = fHolder.getValues();
-		if (values == null)
-			return null;
-		int i = fSet.indexOfIdentity(key);
-		if (i >= 0)
-			return values[i];
-		return null;
-	}
-	
-	public Object[] keys() {
-		return fSet.members();
-	}
-	
-	public Object[] values() {
-		Object[] values = fHolder.getValues();
-		if (values == null)
-			return new Object[0];
-		return values;
-	}
-	
-	public Iterator keyIterator() {
-		return new ArrayIterator();
-	}
-
-	public Iterator valueIterator() {
-		return new ArrayIterator();
-	}
-	
-	private class ArrayIterator implements Iterator {
-		private int fIndex;
-		
-		public ArrayIterator() {
-			fIndex = -1;
-		}
-		/**
-		 * @see java.util.Iterator#hasNext()
-		 */
-		public boolean hasNext() {
-			Object[] array = SortedMap.this.fHolder.getKeys();
-			if (array == null)
-				return false;
-			return fIndex + 1 < array.length;
-		}
-
-		/**
-		 * @see java.util.Iterator#next()
-		 */
-		public Object next() {
-			Object[] array = SortedMap.this.fHolder.getKeys();
-			if (array == null)
-				throw new IllegalStateException(AntDTDUtilMessages.getString("SortedMap.next()_called_for_empty_array_1")); //$NON-NLS-1$
-			return array[++fIndex];
-		}
-
-		/**
-		 * @see java.util.Iterator#remove()
-		 */
-		public void remove() {
-			SortedMap.this.remove(fIndex);
-			--fIndex;
-		}
-
-	}
-	
-	public void remove(int i) {
-		Object[] values = fHolder.getValues();
-		if (values == null) {
-			throw new IllegalArgumentException(MessageFormat.format(AntDTDUtilMessages.getString("SortedMap.remove({0})_in_empty_map_2"), new String[]{Integer.toString(i)})); //$NON-NLS-1$
-		}
-		fSet.remove(i);
-		Object[] tmp = new Object[values.length-1];
-		System.arraycopy(values,0,tmp,0,i);
-		System.arraycopy(values,i+1,tmp,i,values.length-i-1);
-		fHolder.setValues(tmp);
-	}
-	
-	public Object remove(Object obj) {
-		Object[] values = fHolder.getValues();
-		if (values == null)
-			return null;
-		int i = fSet.indexOf(obj);
-		if (i >= 0) {
-			Object tmp = values[i];
-			fSet.remove(i);
-			remove(i);
-			return tmp;
-		}
-		return null;
-	}
-	public Object removeIdentity(Object obj) {
-		Object[] values = fHolder.getValues();
-		if (values == null)
-			return null;
-		int i = fSet.indexOfIdentity(obj);
-		if (i >= 0) {
-			Object tmp = values[i];
-			fSet.remove(i);
-			remove(i);
-			return tmp;
-		}
-		return null;
-	}
-
-	public int size() {
-		return fSet.size();
-	}
-	
-	public int keyIndex(Object key) {
-		return fSet.indexOf(key);
-	}
-	
-	public void merge(SortedMap other) {
-		Object[] values = fHolder.getValues();
-		Object[] keys = fHolder.getKeys();
-		Object[] othervalues = other.fHolder.getValues();
-		Object[] otherkeys = other.fHolder.getKeys();
-		if (otherkeys == null)
-			return;
-		if (keys == null) {
-			fHolder.setKeys(otherkeys);
-			fHolder.setValues(othervalues);
-			return;
-		}
-		int ithis = 0, iother = 0, i = 0;
-		int mthis = keys.length, mother = otherkeys.length;
-		Object[] ktmp = new Object[mthis+mother];
-		Object[] vtmp = new Object[mthis+mother];
-		while (ithis < mthis && iother < mother) {
-			int comp = fSet.fComp.compare(keys[ithis], otherkeys[iother]);
-			if (comp <= 0) {
-				vtmp[i] = values[ithis];
-				ktmp[i++] = keys[ithis++];
-			}
-			else {
-				vtmp[i] = othervalues[iother];
-				ktmp[i++] = otherkeys[iother++];
-			}
-		}
-		while (ithis < mthis) {
-			vtmp[i] = values[ithis];
-			ktmp[i++] = keys[ithis++];
-		}
-		while (iother < mother) {
-			vtmp[i] = othervalues[iother];
-			ktmp[i++] = otherkeys[iother++];
-		}
-		fHolder.setKeys(ktmp);
-		fHolder.setValues(vtmp);
-	}
-	
-	public FactoryObject next() {
-		return fNext;
-	}
-	
-	public void next(FactoryObject next) {
-		fNext = (SortedMap) next;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedMapFactory.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedMapFactory.java
deleted file mode 100644
index b887566..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedMapFactory.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.util;
-
-import java.util.Comparator;
-
-/**
- * Can be inherited or used statically.
- * @author Bob Foster
- */
-public class SortedMapFactory {
-	private static class StringComparator implements Comparator {
-		/**
-		 * @see java.util.Comparator#compare(Object, Object)
-		 */
-		public int compare(Object o1, Object o2) {
-			return ((String)o1).compareTo(o2);
-		}
-	}
-	private static class IndirectStringComparator implements Comparator {
-		/**
-		 * @see java.util.Comparator#compare(Object, Object)
-		 */
-		public int compare(Object o1, Object o2) {
-			return o1.toString().compareTo(o2.toString());
-		}
-	}
-	private static final StringComparator fStringComp = new StringComparator();
-	private static final IndirectStringComparator fIndirectStringComp = new IndirectStringComparator();
-	private static final Factory fFactory = new Factory();
-
-	public static SortedMap getMap(IMapHolder holder, Comparator comp) {
-		SortedMap map = (SortedMap) fFactory.getFree();
-		if (map == null)
-			map = new SortedMap();
-		map.setMapHolder(holder);
-		map.setComparator(comp);
-		return map;
-	}
-	
-	public static SortedMap getStringMap(IMapHolder holder) {
-		return getMap(holder, fStringComp);
-	}
-	
-	public static SortedMap getIndirectStringMap(IMapHolder holder) {
-		return getMap(holder, fIndirectStringComp);
-	}
-	
-	public static SortedMap getCaseInsensitiveStringMap(IMapHolder holder) {
-		return getMap(holder, String.CASE_INSENSITIVE_ORDER);
-	}
-	
-	public static void freeMap(SortedMap map) {
-		map.setComparator(null);
-		map.setMapHolder(null);
-		fFactory.setFree(map);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedSet.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedSet.java
deleted file mode 100644
index c1dfebe..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/dtd/util/SortedSet.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 Object Factory Inc.
- * 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:
- *		Object Factory Inc. - Initial implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.dtd.util;
-
-import java.util.Comparator;
-
-/**
- * SortedSet is a flyweight set implementation that uses
- * an external array provided by a KeyHolder.
- * SortedSet provides both equality/comparison operations
- * and identity operations.
- * @author Bob Foster
- */
-public class SortedSet {
-	protected Comparator fComp;
-	protected IKeyHolder fKeyHolder;
-	protected SortedSet fNext;
-	
-	public SortedSet(IKeyHolder holder, Comparator comp) {
-		fComp = comp;
-		fKeyHolder = holder;
-	}
-	/**
-	 * Constructor. A keyholder must be
-	 * supplied by <code>setKeyHolder()</code> prior ot
-	 * <i>any</i> operations.
-	 */
-	public SortedSet(Comparator comp) {
-		fComp = comp;
-	}
-	/**
-	 * Constructor, no comparator. Only identity operations
-	 * may be performed in this set.
-	 */
-	public SortedSet(IKeyHolder holder) {
-		fKeyHolder = holder;
-	}
-	/**
-	 * Constructor, no comparator. Only identity operations
-	 * may be performed in this set. A keyholder must be
-	 * supplied by <code>setKeyHolder()</code> prior ot
-	 * <i>any</i> operations.
-	 */
-	public SortedSet() {
-	}
-	public void setKeyHolder(IKeyHolder holder) {
-		fKeyHolder = holder;
-	}
-	public void setComparator(Comparator comp) {
-		fComp = comp;
-	}
-	/**
-	 * Add to set (no duplicates allowed).
-	 * @param obj Object to add
-	 * @return true if object was added; false
-	 * if object was already in the set.
-	 */
-	public boolean add(Object obj) {
-		return internalAdd(obj, false) >= 0;
-	}
-	protected int internalAdd(Object obj, boolean always) {
-		Object[] array = fKeyHolder.getKeys();
-		if (array == null) {
-			array = new Object[1];
-			fKeyHolder.setKeys(array);
-			array[0] = obj;
-			return 0;
-		}
-		int i = 0;
-		int comp = -1;
-		
-		for (; i < array.length; i++) {
-			if ((comp = fComp.compare(obj, array[i])) <= 0) {
-				break;
-			}
-		}
-		if (comp == 0 && !always)
-			return -1;
-		internalAdd(i, obj);
-		return i;
-	}
-	protected void internalAdd(int i, Object obj) {
-		Object[] array = fKeyHolder.getKeys();
-		if (array == null) {
-			array = new Object[1];
-			array[0] = obj;
-			fKeyHolder.setKeys(array);
-		}
-		else {
-			Object[] tmp = new Object[array.length+1];
-			System.arraycopy(array,0,tmp,0,i);
-			tmp[i] = obj;
-			System.arraycopy(array,i,tmp,i+1,array.length-i);
-			fKeyHolder.setKeys(tmp);
-		}
-	}
-	/**
-	 * Add allowing duplicates.
-	 * @param obj Object to add
-	 * @return index where object was added in sorted order.
-	 */
-	public int addAlways(Object obj) {
-		return internalAdd(obj, true);
-	}
-	/**
-	 * Append, a variant of add allowing duplicates that
-	 * always puts the new member at the end of the set.
-	 * Set can be used with identity operations only.
-	 */
-	public void append(Object obj) {
-		Object[] array = fKeyHolder.getKeys();
-		int len = array != null ? array.length : 0;
-		internalAdd(len, obj);
-	}
-	public boolean contains(Object obj) {
-		return indexOf(obj) >= 0;
-	}
-	public int indexOf(Object obj) {
-		Object[] array = fKeyHolder.getKeys();
-		if (array == null)
-			return -1;
-		for (int i = 0; i < array.length; i++) {
-			int comp = fComp.compare(obj, array[i]);
-			if (comp == 0)
-				return i;
-			if (comp < 0)
-				return -1;
-		}
-		return -1;
-	}
-	public boolean containsIdentity(Object obj) {
-		return indexOf(obj) >= 0;
-	}
-	public int indexOfIdentity(Object obj) {
-		Object[] array = fKeyHolder.getKeys();
-		if (array == null)
-			return -1;
-		for (int i = 0; i < array.length; i++) {
-			if (obj == array[i])
-				return i;
-		}
-		return -1;
-	}
-	public boolean equals(Object o) {
-		if (this == o)
-			return true;
-		if (!(o instanceof SortedSet))
-			return false;
-		SortedSet other = (SortedSet) o;
-		Object[] array = fKeyHolder.getKeys();
-		Object[] otherarray = other.fKeyHolder.getKeys();
-		if ((array == null) != (otherarray == null))
-			return false;
-		if (array == null)
-			return true;
-		if (array.length != otherarray.length)
-			return false;
-		for (int i = 0; i < array.length; i++) {
-			if (array[i] != otherarray[i])
-				return false;
-		}
-		return true;
-	}
-	public boolean equalsIdentify(Object o) {
-		if (this == o)
-			return true;
-		if (!(o instanceof SortedSet))
-			return false;
-		SortedSet other = (SortedSet) o;
-		Object[] array = fKeyHolder.getKeys();
-		Object[] otherarray = other.fKeyHolder.getKeys();
-		if ((array == null) != (otherarray == null))
-			return false;
-		if (array == null)
-			return true;
-		if (array.length != otherarray.length)
-			return false;
-		for (int i = 0; i < array.length; i++) {
-			if (fComp.compare(array[i], otherarray[i]) != 0)
-				return false;
-		}
-		return true;
-	}
-	public void merge(SortedSet other) {
-		Object[] array = fKeyHolder.getKeys();
-		Object[] otherarray = other.fKeyHolder.getKeys();
-		if (otherarray == null)
-			return;
-		if (array == null) {
-			array = otherarray;
-			return;
-		}
-		int ithis = 0, iother = 0, i = 0;
-		int mthis = array.length, mother = otherarray.length;
-		Object[] tmp = new Object[mthis+mother];
-		while (ithis < mthis && iother < mother) {
-			int comp = fComp.compare(array[ithis], otherarray[iother]);
-			if (comp <= 0) {
-				tmp[i++] = array[ithis++];
-			}
-			else {
-				tmp[i++] = otherarray[iother++];
-			}
-		}
-		while (ithis < mthis) {
-			tmp[i++] = array[ithis++];
-		}
-		while (iother < mother) {
-			tmp[i++] = otherarray[iother++];
-		}
-	}
-	public Object[] members() {
-		Object[] array = fKeyHolder.getKeys();
-		if (array == null)
-			return new Object[0];
-		return array;
-	}
-	public int size() {
-		Object[] array = fKeyHolder.getKeys();
-		return array == null ? 0 : array.length;
-	}
-	public void remove(int i) {
-		Object[] array = fKeyHolder.getKeys();
-		Object[] tmp = new Object[array.length-1];
-		System.arraycopy(array,0,tmp,0,i);
-		System.arraycopy(array,i+1,tmp,i,array.length-i-1);
-		fKeyHolder.setKeys(tmp);
-	}
-	public boolean remove(Object obj) {
-		int i = indexOf(obj);
-		if (i >= 0) {
-			remove(i);
-			return true;
-		}
-		return false;
-	}
-	public boolean removeIdentity(Object obj) {
-		int i = indexOfIdentity(obj);
-		if (i >= 0) {
-			remove(i);
-			return true;
-		}
-		return false;
-	}
-	public SortedSet getNextSet() {
-		return fNext;
-	}
-	public void setNextSet(SortedSet next) {
-		fNext = next;
-	}
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntAutoEditStrategy.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntAutoEditStrategy.java
deleted file mode 100644
index 87f2670..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntAutoEditStrategy.java
+++ /dev/null
@@ -1,315 +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.ant.internal.ui.editor;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.editor.formatter.XmlDocumentFormatter;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DefaultIndentLineAutoEditStrategy;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.DocumentCommand;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-
-/**
- * Auto edit strategy for Ant build files
- * Current does special indenting.
- */
-public class AntAutoEditStrategy extends DefaultIndentLineAutoEditStrategy {
-	
-	private AntModel fModel;
-	private int fAccumulatedChange= 0;
-	
-	public AntAutoEditStrategy(AntModel model) {
-		fModel= model;
-	}
-	
-	/**
-	 * Sets the indentation based on the Ant element node that contains the offset
-	 * of the document command.
-	 *
-	 * @param d the document to work on
-	 * @param c the command to deal with
-	 */
-	private synchronized void autoIndentAfterNewLine(IDocument d, DocumentCommand c) {
-		
-		if (c.offset == -1 || d.getLength() == 0 || fModel.getProjectNode(false) == null) {
-			return;
-		}
-		
-		int position= (c.offset == d.getLength() ? c.offset  - 1 : c.offset);
-		AntElementNode node= fModel.getProjectNode(false).getNode(position - fAccumulatedChange);
-		if (node == null) {
-			return;
-		}
-		
-		try {
-			StringBuffer correct= XmlDocumentFormatter.getLeadingWhitespace(node.getOffset(), d);
-			if (!nextNodeIsEndTag(c.offset, d)) {
-				correct.append(XmlDocumentFormatter.createIndent());
-			}
-			StringBuffer buf= new StringBuffer(c.text);
-			buf.append(correct);
-			fAccumulatedChange+= buf.length();
-			
-			int line= d.getLineOfOffset(position);
-			IRegion reg= d.getLineInformation(line);
-			int lineEnd= reg.getOffset() + reg.getLength();
-			int contentStart= findEndOfWhiteSpace(d, c.offset, lineEnd);
-			
-			c.length=  Math.max(contentStart - c.offset, 0);
-			c.caretOffset= c.offset + buf.length();
-			c.shiftsCaret= false;
-			c.text= buf.toString();
-	
-		} catch (BadLocationException e) {
-			AntUIPlugin.log(e);
-		}
-	}
-	
-	private boolean nextNodeIsEndTag(int offset, IDocument document) {
-		if (offset + 1 > document.getLength()) {
-			return false;
-		}
-		try {
-			IRegion lineRegion= document.getLineInformationOfOffset(offset);
-			offset= findEndOfWhiteSpace(document, offset, lineRegion.getOffset() + lineRegion.getLength());
-			String nextChars= document.get(offset, 2).trim();
-			if ("</".equals(nextChars) || "/>".equals(nextChars)) { //$NON-NLS-1$ //$NON-NLS-2$
-				return true;
-			}
-		} catch (BadLocationException e) {
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IAutoEditStrategy#customizeDocumentCommand(org.eclipse.jface.text.IDocument, org.eclipse.jface.text.DocumentCommand)
-	 */
-	public void customizeDocumentCommand(IDocument d, DocumentCommand c) {
-		
-		if (c.length == 0 && c.text != null && isLineDelimiter(d, c.text)) {
-			autoIndentAfterNewLine(d, c);
-		} else if (c.text.length() > 1) {
-			smartPaste(d, c);
-		}
-	}
-	
-	 private boolean isLineDelimiter(IDocument document, String text) {
-		String[] delimiters= document.getLegalLineDelimiters();
-		if (delimiters != null)
-			return TextUtilities.equals(delimiters, text) > -1;
-		return false;
-	}
-	
-	public synchronized void reconciled() {
-		fAccumulatedChange= 0;
-	}
-	
-	private void smartPaste(IDocument document, DocumentCommand command) {
-		try {
-			if (command.offset == -1 || document.getLength() == 0 || fModel.getProjectNode(false) == null) {
-				return;
-			}
-			String origChange= command.text;
-			int position= (command.offset == document.getLength() ? command.offset  - 1 : command.offset);
-			AntElementNode node= fModel.getProjectNode(false).getNode(position - fAccumulatedChange);
-			if (node == null) {
-				return;
-			}
-			
-			// eat any WS before the insertion to the beginning of the line
-			int firstLine= 1; // don't format the first line if it has other content before it
-			IRegion line= document.getLineInformationOfOffset(command.offset);
-			String notSelected= document.get(line.getOffset(), command.offset - line.getOffset());
-			if (notSelected.trim().length() == 0) {
-				command.length += notSelected.length();
-				command.offset= line.getOffset();
-				firstLine= 0;
-			}
-			
-			// handle the indentation computation inside a temporary document
-			Document temp= new Document(command.text);
-			
-			// indent the first and second line
-			// compute the relative indentation difference from the second line
-			// (as the first might be partially selected) and use the value to
-			// indent all other lines.
-			boolean isIndentDetected= false;
-			StringBuffer addition= new StringBuffer();
-			int insertLength= 0;
-			int lines= temp.getNumberOfLines();
-			for (int l= firstLine; l < lines; l++) { // we don't change the number of lines while adding indents
-				
-				IRegion r= temp.getLineInformation(l);
-				int lineOffset= r.getOffset();
-				int lineLength= r.getLength();
-				
-				if (lineLength == 0) { // don't modify empty lines
-					continue;
-				}
-				
-				if (!isIndentDetected){
-					
-					// indent the first pasted line
-					StringBuffer current= XmlDocumentFormatter.getLeadingWhitespace(lineOffset, temp);
-					StringBuffer correct= XmlDocumentFormatter.getLeadingWhitespace(node.getOffset(), document);
-					correct.append(XmlDocumentFormatter.createIndent());
-					
-					insertLength= subtractIndent(correct, current, addition);
-					isIndentDetected= true;
-				}
-				
-				// relatively indent all pasted lines 
-				if (insertLength > 0) {
-					addIndent(temp, l, addition);
-				} else if (insertLength < 0) {
-					cutIndent(temp, l, -insertLength);
-				}	
-			}
-			
-			// modify the command
-			if (!origChange.equals(temp.get())) {
-				fAccumulatedChange+=  temp.getLength();
-				command.text= temp.get();
-			}
-			
-		} catch (BadLocationException e) {
-			AntUIPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Indents line <code>line</code> in <code>document</code> with <code>indent</code>.
-	 * Leaves leading comment signs alone.
-	 * 
-	 * @param document the document
-	 * @param line the line
-	 * @param indent the indentation to insert
-	 * @throws BadLocationException on concurrent document modification
-	 */
-	private void addIndent(Document document, int line, CharSequence indent) throws BadLocationException {
-		IRegion region= document.getLineInformation(line);
-		int insert= region.getOffset();
-		
-		// insert indent
-		document.replace(insert, 0, indent.toString());
-	}
-	
-	/**
-	 * Cuts the visual equivalent of <code>toDelete</code> characters out of the
-	 * indentation of line <code>line</code> in <code>document</code>.
-	 * 
-	 * @param document the document
-	 * @param line the line
-	 * @param toDelete the number of space equivalents to delete.
-	 * @throws BadLocationException on concurrent document modification
-	 */
-	private void cutIndent(Document document, int line, int toDelete) throws BadLocationException {
-		IRegion region= document.getLineInformation(line);
-		int from= region.getOffset();
-		int endOffset= region.getOffset() + region.getLength();
-		
-		int to= from;
-		while (toDelete > 0 && to < endOffset) {
-			char ch= document.getChar(to);
-			if (!Character.isWhitespace(ch))
-				break;
-			toDelete -= computeVisualLength(ch);
-			if (toDelete >= 0) {
-				to++;
-			} else {
-				break;
-			}
-		}
-		
-		document.replace(from, to - from, null);
-	}
-	
-	/**
-	 * Returns the visual length of a given character taking into
-	 * account the visual tabulator length.
-	 * 
-	 * @param ch the character to measure
-	 * @return the visual length of <code>ch</code>
-	 */
-	private int computeVisualLength(char ch) {
-		if (ch == '\t') {
-			return getVisualTabLengthPreference();
-		} 
-			
-		return 1;
-	}
-	
-	/**
-	 * Returns the visual length of a given <code>CharSequence</code> taking into
-	 * account the visual tabulator length.
-	 * 
-	 * @param seq the string to measure
-	 * @return the visual length of <code>seq</code>
-	 */
-	private int computeVisualLength(CharSequence seq) {
-		int size= 0;
-		int tablen= getVisualTabLengthPreference();
-		
-		for (int i= 0; i < seq.length(); i++) {
-			char ch= seq.charAt(i);
-			if (ch == '\t') {
-				size += tablen - size % tablen;
-			} else {
-				size++;
-			}
-		}
-		return size;
-	}
-	
-	/**
-	 * Computes the difference of two indentations and returns the difference in
-	 * length of current and correct. If the return value is positive, <code>addition</code>
-	 * is initialized with a substring of that length of <code>correct</code>.
-	 * 
-	 * @param correct the correct indentation
-	 * @param current the current indentation (might contain non-whitespace)
-	 * @param difference a string buffer - if the return value is positive, it will be cleared and set to the substring of <code>current</code> of that length
-	 * @return the difference in length of <code>correct</code> and <code>current</code> 
-	 */
-	private int subtractIndent(CharSequence correct, CharSequence current, StringBuffer difference) {
-		int c1= computeVisualLength(correct);
-		int c2= computeVisualLength(current);
-		int diff= c1 - c2;
-		if (diff <= 0) {
-			return diff;
-		}
-		
-		difference.setLength(0);
-		int len= 0, i= 0;
-		while (len < diff) {
-			char c= correct.charAt(i++);
-			difference.append(c);
-			len += computeVisualLength(c);
-		}
-		
-		return diff;
-	}
-	
-	/**
-	 * The preference setting for the visual tabulator display.
-	 *  
-	 * @return the number of spaces displayed for a tabulator in the editor
-	 */
-	private int getVisualTabLengthPreference() {
-		return AntUIPlugin.getDefault().getCombinedPreferenceStore().getInt(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntCompletionProposal.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntCompletionProposal.java
deleted file mode 100644
index 22286e3..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntCompletionProposal.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.internal.ui.editor;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.ICompletionProposalExtension2;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-
-public class AntCompletionProposal implements ICompletionProposal, ICompletionProposalExtension2 {
-
-	public static final int TAG_CLOSING_PROPOSAL= 0;
-	public static final int TASK_PROPOSAL= 1;
-	public static final int PROPERTY_PROPOSAL= 2;
-	
-	/** The string to be displayed in the completion proposal popup */
-	private String fDisplayString;
-	/** The replacement string */
-	private String fReplacementString;
-	/** The replacement offset */
-	private int fReplacementOffset;
-	/** The replacement length */
-	private int fReplacementLength;
-	/** The cursor position after this proposal has been applied */
-	private int fCursorPosition;
-	/** The image to be displayed in the completion proposal popup */
-	private Image fImage;
-	/** The additional info of this proposal */
-	private String fAdditionalProposalInfo;
-	
-	private int fType;
-	
-	/**
-	 * Creates a new Ant completion proposal. All fields are initialized based on the provided information.
-	 *
-	 * @param replacementString the actual string to be inserted into the document
-	 * @param replacementOffset the offset of the text to be replaced
-	 * @param replacementLength the length of the text to be replaced
-	 * @param cursorPosition the position of the cursor following the insert relative to replacementOffset
-	 * @param image the image to display for this proposal
-	 * @param displayString the string to be displayed for the proposal
-	 * @param additionalProposalInfo the additional information associated with this proposal
-	 * @param type the type of this proposal
-	 */
-	public AntCompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, String additionalProposalInfo, int type) {
-		fReplacementString= replacementString;
-		fReplacementOffset= replacementOffset;
-		fReplacementLength= replacementLength;
-		fCursorPosition= cursorPosition;
-		fImage= image;
-		fDisplayString= displayString;
-		fAdditionalProposalInfo= additionalProposalInfo;
-		fType= type;
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#apply(org.eclipse.jface.text.ITextViewer, char, int, int)
-	 */
-	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-		apply(viewer.getDocument());
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#selected(org.eclipse.jface.text.ITextViewer, boolean)
-	 */
-	public void selected(ITextViewer viewer, boolean smartToggle) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#unselected(org.eclipse.jface.text.ITextViewer)
-	 */
-	public void unselected(ITextViewer viewer) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument, int, org.eclipse.jface.text.DocumentEvent)
-	 */
-	public boolean validate(IDocument document, int offset, DocumentEvent event) {
-		String enteredText= ""; //$NON-NLS-1$
-		try {
-			enteredText = document.get(fReplacementOffset, offset-fReplacementOffset);
-		} catch (BadLocationException e) {
-		}
-		int enteredLength= enteredText.length(); 
-		if (fType == TASK_PROPOSAL && enteredText.startsWith("<")) { //$NON-NLS-1$
-			enteredText= enteredText.substring(1);
-		} else if (fType == PROPERTY_PROPOSAL) {
-			if(enteredText.startsWith("${")) { //$NON-NLS-1$
-				enteredText= enteredText.substring(2);
-			}
-			if(enteredText.startsWith("$")) { //$NON-NLS-1$
-				enteredText= enteredText.substring(1);
-			}	
-		} else if (fType == TAG_CLOSING_PROPOSAL) {
-			if (enteredText.startsWith("</")) { //$NON-NLS-1$
-				enteredText= enteredText.substring(2);
-			} else if (enteredText.startsWith("/")) {  //$NON-NLS-1$
-				try {
-					if (document.getChar(fReplacementOffset - 1) == '<') {
-						enteredText= enteredText.substring(1);
-					}
-				} catch (BadLocationException e) {
-				}
-			} else if (enteredText.startsWith("<")) { //$NON-NLS-1$
-				enteredText= enteredText.substring(1);
-			}
-		}
-		boolean valid= fDisplayString.toLowerCase().startsWith(enteredText.toLowerCase());
-		if (valid) {
-			fReplacementLength= enteredLength;
-		}
-		return valid;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse.jface.text.IDocument)
-	 */
-	public void apply(IDocument document) {
-		try {
-			document.replace(fReplacementOffset, fReplacementLength, fReplacementString);
-		} catch (BadLocationException x) {
-			// ignore
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection(org.eclipse.jface.text.IDocument)
-	 */
-	public Point getSelection(IDocument document) {
-		return new Point(fReplacementOffset + fCursorPosition, 0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		return fAdditionalProposalInfo;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
-	 */
-	public String getDisplayString() {
-		if (fDisplayString != null){
-			return fDisplayString;
-		}
-		return fReplacementString;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
-	 */
-	public Image getImage() {
-		return fImage;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getContextInformation()
-	 */
-	public IContextInformation getContextInformation() {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getDisplayString();
-	}
-
-	/**
-	 * @return Returns the type of the completion proposal
-	 */
-	public int getType() {
-		return fType;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditor.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditor.java
deleted file mode 100644
index 0d2cef5..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditor.java
+++ /dev/null
@@ -1,1066 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug fixes
- * 	   John-Mason P. Shackelford - bug 40255
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor;
-
-import java.io.File;
-import java.util.ResourceBundle;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.editor.actions.FoldingActionGroup;
-import org.eclipse.ant.internal.ui.editor.actions.InformationDispatchAction;
-import org.eclipse.ant.internal.ui.editor.actions.OpenDeclarationAction;
-import org.eclipse.ant.internal.ui.editor.actions.RunToLineAdapter;
-import org.eclipse.ant.internal.ui.editor.actions.ToggleLineBreakpointAction;
-import org.eclipse.ant.internal.ui.editor.outline.AntEditorContentOutlinePage;
-import org.eclipse.ant.internal.ui.editor.text.AntEditorDocumentProvider;
-import org.eclipse.ant.internal.ui.editor.text.AntFoldingStructureProvider;
-import org.eclipse.ant.internal.ui.editor.text.IReconcilingParticipant;
-import org.eclipse.ant.internal.ui.editor.text.XMLTextHover;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.internal.ui.model.AntModelChangeEvent;
-import org.eclipse.ant.internal.ui.model.AntModelCore;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.IAntModelListener;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.ui.actions.IRunToLineTarget;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DefaultLineTracker;
-import org.eclipse.jface.text.DocumentCommand;
-import org.eclipse.jface.text.IAutoEditStrategy;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.ILineTracker;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ISynchronizable;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.source.IOverviewRuler;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRuler;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.text.source.projection.IProjectionListener;
-import org.eclipse.jface.text.source.projection.ProjectionSupport;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.IPostSelectionProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IPageLayout;
-import org.eclipse.ui.IPartService;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.editors.text.TextEditor;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-import org.eclipse.ui.texteditor.ContentAssistAction;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.IEditorStatusLine;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.texteditor.ResourceAction;
-import org.eclipse.ui.texteditor.TextOperationAction;
-import org.eclipse.ui.views.contentoutline.ContentOutline;
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * The actual editor implementation for Eclipse's Ant integration.
- */
-public class AntEditor extends TextEditor implements IReconcilingParticipant, IProjectionListener {
-	/**
-	 * Updates the Ant outline page selection and this editor's range indicator.
-	 * 
-	 * @since 3.0
-	 */
-	private class EditorSelectionChangedListener implements ISelectionChangedListener  {
-		
-		/**
-		 * Installs this selection changed listener with the given selection provider. If
-		 * the selection provider is a post selection provider, post selection changed
-		 * events are the preferred choice, otherwise normal selection changed events
-		 * are requested.
-		 * 
-		 * @param selectionProvider
-		 */
-		public void install(ISelectionProvider selectionProvider) {
-			if (selectionProvider == null) {
-				return;
-			}
-				
-			if (selectionProvider instanceof IPostSelectionProvider)  {
-				IPostSelectionProvider provider= (IPostSelectionProvider) selectionProvider;
-				provider.addPostSelectionChangedListener(this);
-			} else  {
-				selectionProvider.addSelectionChangedListener(this);
-			}
-		}
-
-		/**
-		 * Removes this selection changed listener from the given selection provider.
-		 * 
-		 * @param selectionProviderstyle
-		 */
-		public void uninstall(ISelectionProvider selectionProvider) {
-			if (selectionProvider == null) {
-				return;
-			}
-			
-			if (selectionProvider instanceof IPostSelectionProvider)  {
-				IPostSelectionProvider provider= (IPostSelectionProvider) selectionProvider;
-				provider.removePostSelectionChangedListener(this);
-			} else  {
-				selectionProvider.removeSelectionChangedListener(this);
-			}			
-		}
-		
-		/*
-		 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-		 */
-		public void selectionChanged(SelectionChangedEvent event) {
-			AntModel model= getAntModel();
-			if (model == null) { //external file
-				return;
-			}
-			ISelection selection= event.getSelection();
-			AntElementNode node= null;
-			if (selection instanceof ITextSelection) {
-				ITextSelection textSelection= (ITextSelection)selection;
-				int offset= textSelection.getOffset();
-				node= model.getNode(offset, false);
-			}
-		
-			if (AntUIPlugin.getDefault().getPreferenceStore().getBoolean(IAntUIPreferenceConstants.OUTLINE_LINK_WITH_EDITOR)) {
-				synchronizeOutlinePage(node, true);
-			}
-			setSelection(node, false);
-		}
-	}
-	
-	static class TabConverter {
-		
-		private int fTabRatio;
-		private ILineTracker fLineTracker;
-		
-		public void setNumberOfSpacesPerTab(int ratio) {
-			fTabRatio= ratio;
-		}
-		
-		public void setLineTracker(ILineTracker lineTracker) {
-			fLineTracker= lineTracker;
-		}
-		
-		private int insertTabString(StringBuffer buffer, int offsetInLine) {
-			
-			if (fTabRatio == 0) {
-				return 0;
-			}
-				
-			int remainder= offsetInLine % fTabRatio;
-			remainder= fTabRatio - remainder;
-			for (int i= 0; i < remainder; i++) {
-				buffer.append(' ');
-			}
-			return remainder;
-		}
-		
-		public void customizeDocumentCommand(IDocument document, DocumentCommand command) {
-			String text= command.text;
-			if (text == null) {
-				return;
-			}
-				
-			int index= text.indexOf('\t');
-			if (index > -1) {
-				
-				StringBuffer buffer= new StringBuffer();
-				
-				fLineTracker.set(command.text);
-				int lines= fLineTracker.getNumberOfLines();
-				
-				try {
-						
-					for (int i= 0; i < lines; i++) {
-						
-						int offset= fLineTracker.getLineOffset(i);
-						int endOffset= offset + fLineTracker.getLineLength(i);
-						String line= text.substring(offset, endOffset);
-						
-						int position= 0;
-						if (i == 0) {
-							IRegion firstLine= document.getLineInformationOfOffset(command.offset);
-							position= command.offset - firstLine.getOffset();	
-						}
-						
-						int length= line.length();
-						for (int j= 0; j < length; j++) {
-							char c= line.charAt(j);
-							if (c == '\t') {
-								position += insertTabString(buffer, position);
-							} else {
-								buffer.append(c);
-								++ position;
-							}
-						}
-						
-					}
-						
-					command.text= buffer.toString();
-						
-				} catch (BadLocationException x) {
-				}
-			}
-		}
-	}
-	
-	class StatusLineSourceViewer extends ProjectionViewer{
-		
-		private boolean fIgnoreTextConverters= false;
-		
-		public StatusLineSourceViewer(Composite composite, IVerticalRuler verticalRuler, IOverviewRuler overviewRuler, int styles) {
-			super(composite, verticalRuler, overviewRuler, isOverviewRulerVisible(), styles);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.ITextOperationTarget#doOperation(int)
-		 */
-		public void doOperation(int operation) {
-			if (getTextWidget() == null || !redraws()) {
-				return;
-			}
-
-			switch (operation) {
-				case CONTENTASSIST_PROPOSALS:
-					String msg= fContentAssistant.showPossibleCompletions();
-					setStatusLineErrorMessage(msg);
-					return;
-				case UNDO:
-					fIgnoreTextConverters= true;
-					break;
-				case REDO:
-					fIgnoreTextConverters= true;
-					break;
-			}
-			
-			super.doOperation(operation);
-		}
-		
-		public void setTextConverter(TabConverter tabConverter) {
-			fTabConverter= tabConverter;
-		}
-		
-		public void updateIndentationPrefixes() {
-			SourceViewerConfiguration configuration= getSourceViewerConfiguration();
-			String[] types= configuration.getConfiguredContentTypes(this);
-			for (int i= 0; i < types.length; i++) {
-				String[] prefixes= configuration.getIndentPrefixes(this, types[i]);
-				if (prefixes != null && prefixes.length > 0) {
-					setIndentPrefixes(prefixes, types[i]);
-				}
-			}
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.TextViewer#customizeDocumentCommand(org.eclipse.jface.text.DocumentCommand)
-		 */
-		protected void customizeDocumentCommand(DocumentCommand command) {
-			super.customizeDocumentCommand(command);
-			if (!fIgnoreTextConverters && fTabConverter != null) {
-				fTabConverter.customizeDocumentCommand(getDocument(), command);
-			}
-			fIgnoreTextConverters= false;
-		}
-	}
-
-	/**
-	 * Selection changed listener for the outline view.
-	 */
-    protected ISelectionChangedListener fSelectionChangedListener = new ISelectionChangedListener(){
-        public void selectionChanged(SelectionChangedEvent event) {
-        	fSelectionSetFromOutline= false;
-            doSelectionChanged(event);
-            fSelectionSetFromOutline= true;
-        }
-    };
-    
-    private IAntModelListener fAntModelListener= new IAntModelListener() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.ant.internal.ui.editor.outline.IDocumentModelListener#documentModelChanged(org.eclipse.ant.internal.ui.editor.outline.DocumentModelChangeEvent)
-		 */
-		public void antModelChanged(AntModelChangeEvent event) {
-			AntModel model= getAntModel();
-			if (event.getModel() == model) {
-				if (event.isPreferenceChange()) {
-					updateEditorImage(model);
-				}
-				if (fFoldingStructureProvider != null) {
-					fFoldingStructureProvider.updateFoldingRegions(model);
-				}
-			}
-		}
-	};
-    
-    /**
-     * The page that shows the outline.
-     */
-    protected AntEditorContentOutlinePage fOutlinePage;
-    
-    /** The editor's tab to spaces converter */
-	private TabConverter fTabConverter;
-	
-	private boolean fInitialReconcile= true;
-	
-	/**
-	 * The editor selection changed listener.
-	 * 
-	 * @since 3.0
-	 */
-	private EditorSelectionChangedListener fEditorSelectionChangedListener;
-
-	private ProjectionSupport fProjectionSupport;
-	
-	private AntFoldingStructureProvider fFoldingStructureProvider;
-	
-	private boolean fSelectionSetFromOutline= false;
-
-    private FoldingActionGroup fFoldingGroup;
-  
-    public AntEditor() {
-        super();
-		setSourceViewerConfiguration(new AntEditorSourceViewerConfiguration(this));
-		setDocumentProvider(AntUIPlugin.getDefault().getDocumentProvider());
-		AntModelCore.getDefault().addAntModelListener(fAntModelListener);
-		
-		if (isFoldingEnabled()) {
-			fFoldingStructureProvider= new AntFoldingStructureProvider(this);
-		}
-    }
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.texteditor.AbstractTextEditor#createActions()
-     */
-    protected void createActions() {
-        super.createActions();
-
-        ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.ant.internal.ui.editor.AntEditorMessages"); //$NON-NLS-1$
-        IAction action = new ContentAssistAction(bundle, "ContentAssistProposal.", this); //$NON-NLS-1$
-        
-        // This action definition is associated with the accelerator Ctrl+Space
-        action.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-        setAction("ContentAssistProposal", action); //$NON-NLS-1$
-        
-		action = new TextOperationAction(bundle, "ContentFormat.", this, ISourceViewer.FORMAT); //$NON-NLS-1$
-		action.setActionDefinitionId("org.eclipse.ant.ui.format"); //$NON-NLS-1$
-        setAction("ContentFormat", action); //$NON-NLS-1$
-        
-        action = new OpenDeclarationAction(this);
-        setAction("OpenDeclaration", action); //$NON-NLS-1$
-        
-        fFoldingGroup= new FoldingActionGroup(this, getViewer());
-        
-        ResourceAction resAction= new TextOperationAction(AntEditorMessages.getResourceBundle(), "ShowTooltip.", this, ISourceViewer.INFORMATION, true); //$NON-NLS-1$
-		resAction= new InformationDispatchAction(AntEditorMessages.getResourceBundle(), "ShowTooltip.", (TextOperationAction) resAction, this); //$NON-NLS-1$
-		resAction.setActionDefinitionId("org.eclipse.ant.ui.showTooltip"); //$NON-NLS-1$
-		setAction("ShowTooltip", resAction); //$NON-NLS-1$
-    }
-
-	/*
-	 *  (non-Javadoc)
-	 * @see org.eclipse.ui.editors.text.TextEditor#initializeEditor()
-	 * Called from TextEditor.<init>
-	 */
-    protected void initializeEditor() {
-		super.initializeEditor();
-		setPreferenceStore(AntUIPlugin.getDefault().getCombinedPreferenceStore());
-		setCompatibilityMode(false);
-		setHelpContextId(IAntUIHelpContextIds.ANT_EDITOR);	
-		setRulerContextMenuId("org.eclipse.ant.internal.ui.editor.AntEditor.RulerContext"); //$NON-NLS-1$
-        setEditorContextMenuId("org.eclipse.ant.internal.ui.editor.AntEditor"); //$NON-NLS-1$
-    }
-   
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-    public Object getAdapter(Class key) {
-        if (key.equals(IContentOutlinePage.class)) {
-			return getOutlinePage();
-        }
-        
-        if (fProjectionSupport != null) { 
-        	Object adapter= fProjectionSupport.getAdapter(getSourceViewer(), key); 
-        	if (adapter != null) {
-            	return adapter;
-            }
-        }
-
-        if (key == IShowInTargetList.class) {
-			return new IShowInTargetList() {
-				public String[] getShowInTargetIds() {
-					return new String[] { JavaUI.ID_PACKAGES, IPageLayout.ID_RES_NAV };
-				}
-			};
-		}
-        
-        if (key == IToggleBreakpointsTarget.class) {
-			return new ToggleLineBreakpointAction();
-		}
-        
-        if (key == IRunToLineTarget.class) {
-			return new RunToLineAdapter();
-		}
-        
-        return super.getAdapter(key);
-    }
-
-	private AntEditorContentOutlinePage getOutlinePage() {
-		if (fOutlinePage == null) {
-			fOutlinePage= new AntEditorContentOutlinePage(AntModelCore.getDefault(), this);
-			fOutlinePage.addPostSelectionChangedListener(fSelectionChangedListener);
-			setOutlinePageInput(getEditorInput());
-		}
-		return fOutlinePage;
-	}
-
-    private void doSelectionChanged(SelectionChangedEvent selectionChangedEvent) {
-        IStructuredSelection selection= (IStructuredSelection)selectionChangedEvent.getSelection();
-
-        if (!isActivePart() && AntUIPlugin.getActivePage() != null) {
-			AntUIPlugin.getActivePage().bringToTop(this);
-        }
-        
-        AntElementNode selectedXmlElement = (AntElementNode)selection.getFirstElement(); 
-        if(selectedXmlElement != null) {
-			setSelection(selectedXmlElement, !isActivePart());
-        }
-    }
-
-    private boolean isActivePart() {
-        IWorkbenchPart part= getActivePart();
-        return part != null && part.equals(this);
-    }
-    
-    public void setSelection(AntElementNode reference, boolean moveCursor) {
-    	if (fSelectionSetFromOutline) {
-    		//the work has all just been done via a selection setting in the outline
-    		fSelectionSetFromOutline= false;
-    		return;
-    	}
-        if (reference == null) {
-        	if (moveCursor) {
-        		 resetHighlightRange();
-                 markInNavigationHistory();
-        	}
-        	return;
-        } 
-    	while (reference.getImportNode() != null) {
-    		reference= reference.getImportNode();
-    	}
-    	if (reference.isExternal()) {
-    		return;
-    	}
-        
-        StyledText textWidget= null;
-        ISourceViewer sourceViewer= getSourceViewer();
-        if (sourceViewer != null) {
-            textWidget= sourceViewer.getTextWidget();
-        }
-        
-        if (textWidget == null) {
-            return;
-        }
-            
-        try {
-            int offset= reference.getOffset();
-            if (offset < 0) {
-                return;
-            }
-            int length= reference.getSelectionLength();
-            int highLightLength= reference.getLength();
-               
-            textWidget.setRedraw(false);
-            
-            if (highLightLength > 0) {
-                setHighlightRange(offset, highLightLength, moveCursor);
-            }
-            
-            if (!moveCursor) {
-                return;
-            }
-                                        
-            if (offset > -1 && length > 0) {
-                sourceViewer.revealRange(offset, length);
-                // Selected region begins one index after offset
-                sourceViewer.setSelectedRange(offset, length); 
-                markInNavigationHistory();
-            }
-        } catch (IllegalArgumentException x) {
-        	AntUIPlugin.log(x);
-        } finally {
-            if (textWidget != null) {
-                textWidget.setRedraw(true);
-            }
-        }
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#affectsTextPresentation(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	protected boolean affectsTextPresentation(PropertyChangeEvent event) {
-		return ((AntEditorSourceViewerConfiguration)getSourceViewerConfiguration()).affectsTextPresentation(event);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#handlePreferenceStoreChanged(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	protected void handlePreferenceStoreChanged(PropertyChangeEvent event) {
-		String property= event.getProperty();
-		
-		if (AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH.equals(property)) {
-			Object value= event.getNewValue();
-			StatusLineSourceViewer viewer= (StatusLineSourceViewer) getSourceViewer();
-			if (value instanceof Integer) {
-				viewer.getTextWidget().setTabs(((Integer) value).intValue());
-			} else if (value instanceof String) {
-				viewer.getTextWidget().setTabs(Integer.parseInt((String) value));
-			}
-			return;
-		}
-		
-		if (AntEditorPreferenceConstants.EDITOR_SPACES_FOR_TABS.equals(property)) {
-			if (isTabConversionEnabled()) {
-				startTabConversion();
-			} else {
-				stopTabConversion();
-			}
-			return;
-		}
-
-		AntEditorSourceViewerConfiguration sourceViewerConfiguration= (AntEditorSourceViewerConfiguration)getSourceViewerConfiguration();
-		if (affectsTextPresentation(event)) {
-			sourceViewerConfiguration.adaptToPreferenceChange(event);
-		}
-		
-		sourceViewerConfiguration.changeConfiguration(event);
-							
-		super.handlePreferenceStoreChanged(event);
-	}
-	
-	/*
-	 * @see org.eclipse.ui.editors.text.TextEditor#doSetInput(org.eclipse.ui.IEditorInput)
-	 */
-	protected void doSetInput(IEditorInput input) throws CoreException {
-		super.doSetInput(input);
-		setOutlinePageInput(input);
-		if (fFoldingStructureProvider != null) {
-			fFoldingStructureProvider.setDocument(getDocumentProvider().getDocument(input));
-		}
-	}
-
-	private void setOutlinePageInput(IEditorInput input) {
-		if (fOutlinePage != null) {
-			IDocumentProvider provider= getDocumentProvider();
-			if (provider instanceof AntEditorDocumentProvider) {
-				AntEditorDocumentProvider documentProvider= (AntEditorDocumentProvider) provider;
-				AntModel model= documentProvider.getAntModel(input);
-				fOutlinePage.setPageInput(model);
-			}
-		}
-	}
-	
-	/**
-	 * Returns the Ant model for the current editor input of this editor.
-	 * @return the Ant model for this editor or <code>null</code>
-	 */
-	public AntModel getAntModel() {
-		IDocumentProvider provider= getDocumentProvider();
-		if (provider instanceof AntEditorDocumentProvider) {
-			AntEditorDocumentProvider documentProvider= (AntEditorDocumentProvider) provider;
-			return documentProvider.getAntModel(getEditorInput());
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#createSourceViewer(org.eclipse.swt.widgets.Composite, org.eclipse.jface.text.source.IVerticalRuler, int)
-	 */
-	protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles) {
-		fOverviewRuler= createOverviewRuler(getSharedColors());
-		ISourceViewer viewer= new StatusLineSourceViewer(parent, ruler, getOverviewRuler(), styles);
-		//ensure decoration support has been created and configured.
-		getSourceViewerDecorationSupport(viewer);
-		return viewer;
-	}
-	
-	/**
-	 * Ses the given message as error message to this editor's status line.
-	 * @param msg message to be set
-	 */
-	protected void setStatusLineErrorMessage(String msg) {
-		IEditorStatusLine statusLine= (IEditorStatusLine) getAdapter(IEditorStatusLine.class);
-		if (statusLine != null)
-			statusLine.setMessage(true, msg, null);	
-	}
-
-	public void openReferenceElement() {
-		ISelection selection= getSelectionProvider().getSelection();
-		Object target= null;
-		if (selection instanceof ITextSelection) {
-			ITextSelection textSelection= (ITextSelection)selection;
-			ISourceViewer viewer= getSourceViewer();
-			int textOffset= textSelection.getOffset();
-			IRegion region= XMLTextHover.getRegion(viewer, textOffset);
-			target= findTarget(region);
-		}
-		
-		openTarget(target);
-	}
-	
-	protected void openTarget(Object node) {
-		String errorMessage= null;
-		if (node instanceof AntElementNode) {
-			errorMessage= openNode((AntElementNode) node);
-			if (errorMessage == null) {
-				return;
-			}
-		} else if (node instanceof String){
-			errorMessage= openInEditor((String) node, getAntModel().getEditedFile());
-			if (errorMessage == null) {
-				return;
-			}
-		}
-		if (errorMessage == null || errorMessage.length() == 0) {
-			errorMessage= AntEditorMessages.getString("AntEditor.3"); //$NON-NLS-1$
-		}
-		setStatusLineErrorMessage(errorMessage);
-		getSite().getShell().getDisplay().beep();
-	}
-
-	/**
-     * @param region The region to find the navigation target
-     * @return the navigation target at the specified region
-     */
-    public Object findTarget(IRegion region) {
-        ISourceViewer viewer = getSourceViewer();
-        AntElementNode node= null;
-       
-		if (region != null) {
-			IDocument document= viewer.getDocument();
-			String text= null;
-			try {
-				text= document.get(region.getOffset(), region.getLength());
-			} catch (BadLocationException e) {
-			}
-			if (text != null && text.length() > 0) {
-				AntModel model= getAntModel();
-				node= model.getReferenceNode(text);
-				if (node == null) {
-					node= model.getTargetNode(text);
-					if (node == null) {
-						node= model.getPropertyNode(text);
-						if (node == null) {
-							String path= model.getPath(text, region.getOffset());
-							if (path != null) {
-								return path;
-							}
-                            
-                            node= model.getDefininingTaskNode(text);
-                            if (node == null) {
-                                node= model.getMacroDefAttributeNode(text);
-                            }
-						}
-					} 
-				}
-			}
-		}
-		return node;
-    }
-
-
-    private String openNode(AntElementNode node) {
-		String errorMessage= null;
-		if (node.isExternal()) {
-			String path= node.getFilePath();
-			errorMessage= openInEditor(path, null);
-		} else {
-			setSelection(node, true);
-		}
-		return errorMessage;
-	}
-	
-	private String openInEditor(String path, File buildFile) {
-		File buildFileParent= null;
-		if (buildFile != null) {
-			buildFileParent= buildFile.getParentFile();
-		}
-		IFile file= AntUtil.getFileForLocation(path, buildFileParent);
-		if (file != null && file.exists()) {
-			try {
-				IWorkbenchPage p= getEditorSite().getPage();
-				if (p != null) {
-					IDE.openEditor(p, file, isActivePart());
-				}
-				return null;
-			} catch (PartInitException e) {
-				return e.getLocalizedMessage();
-			}
-		}
-		return ""; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#editorContextMenuAboutToShow(org.eclipse.jface.action.IMenuManager)
-	 */
-	public void editorContextMenuAboutToShow(IMenuManager menu) {
-		super.editorContextMenuAboutToShow(menu);
-		
-		IAction action= getAction("ContentFormat"); //$NON-NLS-1$
-		if (action != null && action.isEnabled()) {
-			menu.add(action);
-		}
-
-		action= getAction("OpenDeclaration"); //$NON-NLS-1$
-		if (action != null) {
-			String openGroup = "group.open"; //$NON-NLS-1$
-    	    menu.appendToGroup(ITextEditorActionConstants.GROUP_UNDO, new Separator(openGroup)); 
-			menu.appendToGroup(openGroup, action);
-		}
-	}
-	
-	private void startTabConversion() {
-		if (fTabConverter == null) {
-			fTabConverter= new TabConverter();
-			fTabConverter.setLineTracker(new DefaultLineTracker());
-			fTabConverter.setNumberOfSpacesPerTab(getTabSize());
-			StatusLineSourceViewer viewer= (StatusLineSourceViewer) getSourceViewer();
-			viewer.setTextConverter(fTabConverter);
-			// http://dev.eclipse.org/bugs/show_bug.cgi?id=19270
-			viewer.updateIndentationPrefixes();
-		}
-	}
-	
-	private void stopTabConversion() {
-		if (fTabConverter != null) {
-			StatusLineSourceViewer viewer= (StatusLineSourceViewer) getSourceViewer();
-			viewer.setTextConverter(null);
-			// http://dev.eclipse.org/bugs/show_bug.cgi?id=19270
-			viewer.updateIndentationPrefixes();
-			fTabConverter= null;
-		}
-	}
-	
-	protected int getTabSize() {
-		IPreferenceStore preferences= getPreferenceStore();
-		return preferences.getInt(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH);	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		super.createPartControl(parent);
-		
-		ProjectionViewer projectionViewer= (ProjectionViewer) getSourceViewer(); 
-        createFoldingSupport(projectionViewer);
-        if (isFoldingEnabled()) {
-        	projectionViewer.doOperation(ProjectionViewer.TOGGLE);
-        }
-        
-		if (isTabConversionEnabled()) {
-			startTabConversion();
-		}
-		
-		fEditorSelectionChangedListener= new EditorSelectionChangedListener();
-		fEditorSelectionChangedListener.install(getSelectionProvider());
-	}
-	
-	private void createFoldingSupport(ProjectionViewer projectionViewer) {
-		fProjectionSupport= new ProjectionSupport(projectionViewer, getAnnotationAccess(), getSharedColors());
-    	fProjectionSupport.setHoverControlCreator(new IInformationControlCreator() {
-			public IInformationControl createInformationControl(Shell shell) {
-				return new AntSourceViewerInformationControl(shell);
-			}
-		});
-        fProjectionSupport.install();
-		((ProjectionViewer)getViewer()).addProjectionListener(this);
-        
-	}
-
-
-	private boolean isFoldingEnabled() {
-		IPreferenceStore store= getPreferenceStore();
-		return store.getBoolean(AntEditorPreferenceConstants.EDITOR_FOLDING_ENABLED);
-	}
-
-	protected boolean isTabConversionEnabled() {
-		IPreferenceStore store= getPreferenceStore();
-		return store.getBoolean(AntEditorPreferenceConstants.EDITOR_SPACES_FOR_TABS);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		if (fEditorSelectionChangedListener != null)  {
-			fEditorSelectionChangedListener.uninstall(getSelectionProvider());
-			fEditorSelectionChangedListener= null;
-		}
-		
-		if (fProjectionSupport != null) {
-			fProjectionSupport.dispose();
-			fProjectionSupport= null;
-		}
-		
-		AntModelCore.getDefault().removeAntModelListener(fAntModelListener);
-		
-		super.dispose();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-		super.doSave(monitor);
-		AntModel model= getAntModel();
-		model.updateMarkers();
-		updateEditorImage(model);
-	}
-	
-	private void updateEditorImage(AntModel model) {
-		Image titleImage= getTitleImage();
-		if (titleImage == null) {
-			return;
-		}
-		AntProjectNode node= model.getProjectNode();
-		if (node != null) {
-			postImageChange(node);
-		}
-	}
-	
-	private void updateForInitialReconcile() {
-		IDocumentProvider provider=  getDocumentProvider();
-		if (provider == null) {//disposed
-			return;
-		}
-		ISynchronizable doc= (ISynchronizable) provider.getDocument(getEditorInput());
-		if (doc == null) {
-		    return; //disposed
-		}
-		//ensure to synchronize so that the AntModel is not nulled out underneath in the AntEditorDocumentProvider
-		//when the editor/doc provider are disposed
-	    synchronized (doc.getLockObject()) {
-	    	AntModel model= getAntModel();
-	    	if (model == null) {
-	    		return;
-	    	}
-
-	    	fInitialReconcile= false;
-	    	updateEditorImage(model);
-	    	model.updateForInitialReconcile();
-	    }
-	}
-	
-	private void postImageChange(final AntElementNode node) {
-		Shell shell= getSite().getShell();
-		if (shell != null && !shell.isDisposed()) {
-			shell.getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					if (getSite().getShell() == null || getSite().getShell().isDisposed()) {
-						return;
-					}
-					Image titleImage= getTitleImage();
-					Image newImage= node.getImage();
-					if (titleImage != newImage) {
-						setTitleImage(newImage);
-					}
-				}
-			});
-		}
-	}
-
-	public void synchronizeOutlinePage(boolean checkIfOutlinePageActive) {
-		if (getSelectionProvider() == null) {
-			return;
-		}
-		AntElementNode node= getNode();
-		synchronizeOutlinePage(node, checkIfOutlinePageActive);
-		
-	}
-	
-	protected void synchronize(boolean checkIfOutlinePageActive) {
-		if (getSelectionProvider() == null) {
-			return;
-		}
-		AntElementNode node= getNode();
-		if (AntUIPlugin.getDefault().getPreferenceStore().getBoolean(IAntUIPreferenceConstants.OUTLINE_LINK_WITH_EDITOR)) {
-			synchronizeOutlinePage(node, checkIfOutlinePageActive);
-		}
-		setSelection(node, false);
-		
-	}
-	
-	private AntElementNode getNode() {
-		AntModel model= getAntModel();
-		if (model == null) {
-			return null;
-		}
-		AntElementNode node= null;
-		ISelection selection= getSelectionProvider().getSelection();
-		if (selection instanceof ITextSelection) {
-			ITextSelection textSelection= (ITextSelection)selection;
-			int offset= textSelection.getOffset();
-			node= model.getNode(offset, false);
-		}
-		return node;
-	}
-	
-	protected void synchronizeOutlinePage(AntElementNode node, boolean checkIfOutlinePageActive) {
-		if (fOutlinePage != null && !(checkIfOutlinePageActive && isAntOutlinePageAction())) {
-			fOutlinePage.removePostSelectionChangedListener(fSelectionChangedListener);
-			fOutlinePage.select(node);
-			fOutlinePage.addPostSelectionChangedListener(fSelectionChangedListener);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.text.IReconcilingParticipant#reconciled()
-	 */
-	public void reconciled() {
-		if (fInitialReconcile) {
-			updateForInitialReconcile();
-		}
-		
-		SourceViewerConfiguration config= getSourceViewerConfiguration();
-		if (config == null) {
-			return; //editor has been disposed.
-		}
-		IAutoEditStrategy[] strategies= config.getAutoEditStrategies(getViewer(), null);
-		for (int i = 0; i < strategies.length; i++) {
-			IAutoEditStrategy strategy = strategies[i];
-			if (strategy instanceof AntAutoEditStrategy) {
-				((AntAutoEditStrategy)strategy).reconciled();
-			}
-		}
-		
-		Shell shell= getSite().getShell();
-		if (shell != null && !shell.isDisposed()) {
-			shell.getDisplay().asyncExec(new Runnable() {
-				public void run() {
-					if (getSite().getShell() == null || getSite().getShell().isDisposed()) {
-						return;
-					}
-					synchronize(true);
-				}
-			});
-		}
-	}
-	
-	private boolean isAntOutlinePageAction() {
-		IWorkbenchPart part= getActivePart();
-		return part instanceof ContentOutline && ((ContentOutline)part).getCurrentPage() == fOutlinePage;
-	}
-
-	private IWorkbenchPart getActivePart() {
-		IWorkbenchWindow window= getSite().getWorkbenchWindow();
-		IPartService service= window.getPartService();
-		return service.getActivePart();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#doSetSelection(org.eclipse.jface.viewers.ISelection)
-	 */
-	protected void doSetSelection(ISelection selection) {
-		super.doSetSelection(selection);
-		synchronizeOutlinePage(true);
-	}
-
-    /**
-     * Returns the viewer associated with this editor
-     * @return The viewer associated with this editor
-     */
-    public ISourceViewer getViewer() {
-        return getSourceViewer();
-    }
-
-    protected FoldingActionGroup getFoldingActionGroup() {
-        return fFoldingGroup;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.source.projection.IProjectionListener#projectionEnabled()
-     */
-    public void projectionEnabled() {
-        fFoldingStructureProvider= new AntFoldingStructureProvider(this);
-		fFoldingStructureProvider.setDocument(getDocumentProvider().getDocument(getEditorInput()));
-		fFoldingStructureProvider.updateFoldingRegions(getAntModel());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.source.projection.IProjectionListener#projectionDisabled()
-     */
-    public void projectionDisabled() {
-        fFoldingStructureProvider= null;
-    }
-    
-    /* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#initializeKeyBindingScopes()
-	 */
-	protected void initializeKeyBindingScopes() {
-		setKeyBindingScopes(new String[] { "org.eclipse.ant.ui.AntEditorScope" });  //$NON-NLS-1$
-	}
-	
-	protected IPreferenceStore getEditorPreferenceStore() {
-		return getPreferenceStore();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#collectContextMenuPreferencePages()
-	 * @since 3.1
-	 */
-	protected String[] collectContextMenuPreferencePages() {
-		String[] ids= super.collectContextMenuPreferencePages();
-		String[] more= new String[ids.length + 6];
-		more[0]= "org.eclipse.ant.ui.AntEditorPreferencePage"; //$NON-NLS-1$
-		more[1]= "org.eclipse.ant.ui.AntCodeFormatterPreferencePage"; //$NON-NLS-1$
-		more[2]= "org.eclipse.ant.ui.AntCodeAssistPreferencePage"; //$NON-NLS-1$
-		more[3]= "org.eclipse.ant.ui.TemplatesPreferencePage"; //$NON-NLS-1$
-		more[4]= "org.eclipse.ant.ui.AntPreferencePage"; //$NON-NLS-1$
-		more[5]= "org.eclipse.ant.ui.AntRuntimePreferencePage"; //$NON-NLS-1$
-		System.arraycopy(ids, 0, more, 6, ids.length);
-		return more;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorActionContributor.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorActionContributor.java
deleted file mode 100644
index e197625..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorActionContributor.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug fixes
- *     John-Mason P. Shackelford - bug 40255
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.ant.internal.ui.editor.actions.FoldingActionGroup;
-import org.eclipse.ant.internal.ui.editor.actions.OpenDeclarationAction;
-import org.eclipse.ant.internal.ui.editor.actions.OpenExternalDocAction;
-import org.eclipse.ant.internal.ui.editor.actions.TogglePresentationAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.editors.text.TextEditorActionContributor;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.texteditor.RetargetTextEditorAction;
-
-/**
- * Contributes interesting Ant Editor actions to the desktop's Edit menu and the toolbar.
- * 
- */
-public class AntEditorActionContributor extends TextEditorActionContributor {
-
-	protected RetargetTextEditorAction fContentAssistProposal;
-	protected RetargetTextEditorAction fContentFormat;
-	private OpenDeclarationAction fOpenDeclarationAction;
-	private TogglePresentationAction fTogglePresentation;
-	private OpenExternalDocAction fOpenExternalDocAction;
-
-	public AntEditorActionContributor() {
-		super();
-		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.ant.internal.ui.editor.AntEditorMessages"); //$NON-NLS-1$
-		fContentAssistProposal = new RetargetTextEditorAction(bundle, "ContentAssistProposal."); //$NON-NLS-1$
-		fContentFormat = new RetargetTextEditorAction(bundle, "ContentFormat."); //$NON-NLS-1$
-		fTogglePresentation= new TogglePresentationAction();
-	}
-	
-	protected void initializeActions(AntEditor editor) {	 
-		fOpenDeclarationAction= new OpenDeclarationAction(editor);
-		fOpenExternalDocAction= new OpenExternalDocAction(editor);
-	}
-	
-	private void doSetActiveEditor(IEditorPart part) {
-		super.setActiveEditor(part);
-
-		ITextEditor editor= null;
-		if (part instanceof ITextEditor) {
-			editor= (ITextEditor) part;
-		}
-
-		fContentAssistProposal.setAction(getAction(editor, "ContentAssistProposal")); //$NON-NLS-1$
-		fContentFormat.setAction(getAction(editor, "ContentFormat")); //$NON-NLS-1$
-		
-		if (editor instanceof AntEditor) {
-		    AntEditor antEditor= (AntEditor) part;
-			if (fOpenDeclarationAction == null) {
-				initializeActions(antEditor);
-				contributeToMenu(getActionBars().getMenuManager());
-			}
-			
-			FoldingActionGroup foldingActions= antEditor.getFoldingActionGroup();
-			if (foldingActions != null) {
-				foldingActions.updateActionBars();
-			}
-			if (fOpenDeclarationAction != null) {
-				fOpenDeclarationAction.setEditor(antEditor);		
-			}
-			if (fOpenExternalDocAction != null) {
-				fOpenExternalDocAction.setActiveEditor(null, antEditor);		
-			}
-		}
-		
-		if (fTogglePresentation != null) {
-		    fTogglePresentation.setEditor(editor);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.EditorActionBarContributor#contributeToMenu(org.eclipse.jface.action.IMenuManager)
-	 */
-	public void contributeToMenu(IMenuManager menu) {
-		if (fOpenDeclarationAction == null) {
-			return;
-		}
-		super.contributeToMenu(menu);
-		
-		IMenuManager navigateMenu= menu.findMenuUsingPath(IWorkbenchActionConstants.M_NAVIGATE);
-		if (navigateMenu != null) {
-			navigateMenu.appendToGroup(IWorkbenchActionConstants.OPEN_EXT, fOpenDeclarationAction);
-			navigateMenu.appendToGroup(IWorkbenchActionConstants.OPEN_EXT, fOpenExternalDocAction);
-			navigateMenu.setVisible(true);
-		}
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.part.EditorActionBarContributor#init(org.eclipse.ui.IActionBars)
-     */
-    public void init(IActionBars bars) {
-        super.init(bars);
-        
-        IMenuManager menuManager= bars.getMenuManager();
-        IMenuManager editMenu= menuManager.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT);
-        if (editMenu != null) {
-            editMenu.add(new Separator());
-            editMenu.add(fContentAssistProposal);
-            editMenu.add(fContentFormat);
-        }
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorActionBarContributor#setActiveEditor(org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IEditorPart part) {
-		doSetActiveEditor(part);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorActionBarContributor#dispose()
-	 */
-	public void dispose() {
-		doSetActiveEditor(null);
-		super.dispose();
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IEditorActionBarContributor#init(org.eclipse.ui.IActionBars, org.eclipse.ui.IWorkbenchPage)
-     */
-    public void init(IActionBars bars, IWorkbenchPage page) {
-        super.init(bars, page);
-        bars.setGlobalActionHandler(ITextEditorActionDefinitionIds.TOGGLE_SHOW_SELECTED_ELEMENT_ONLY, fTogglePresentation);
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorCompletionProcessor.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorCompletionProcessor.java
deleted file mode 100644
index 301b731..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorCompletionProcessor.java
+++ /dev/null
@@ -1,1644 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug fixes
- *     John-Mason P. Shackelford (john-mason.shackelford@pearson.com) - bug 49383, 56299, 59024
- *     Brock Janiczak (brockj_eclipse@ihug.com.au ) - bug 78028, 78030 
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.ComponentHelper;
-import org.apache.tools.ant.IntrospectionHelper;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.taskdefs.MacroDef;
-import org.apache.tools.ant.taskdefs.MacroInstance;
-import org.apache.tools.ant.types.EnumeratedAttribute;
-import org.apache.tools.ant.types.Reference;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.dtd.IAttribute;
-import org.eclipse.ant.internal.ui.dtd.IDfm;
-import org.eclipse.ant.internal.ui.dtd.IElement;
-import org.eclipse.ant.internal.ui.dtd.ISchema;
-import org.eclipse.ant.internal.ui.dtd.ParseError;
-import org.eclipse.ant.internal.ui.dtd.Parser;
-import org.eclipse.ant.internal.ui.editor.templates.AntContext;
-import org.eclipse.ant.internal.ui.editor.templates.AntTemplateAccess;
-import org.eclipse.ant.internal.ui.editor.templates.AntTemplateInformationControlCreator;
-import org.eclipse.ant.internal.ui.editor.templates.AntTemplateProposal;
-import org.eclipse.ant.internal.ui.editor.templates.BuildFileContextType;
-import org.eclipse.ant.internal.ui.editor.templates.TaskContextType;
-import org.eclipse.ant.internal.ui.model.AntDefiningTaskNode;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.internal.ui.model.AntTaskNode;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateCompletionProcessor;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.progress.IProgressService;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * The completion processor for the Ant Editor.
- */
-public class AntEditorCompletionProcessor  extends TemplateCompletionProcessor implements IContentAssistProcessor  {       
- 
- 	private Comparator proposalComparator= new Comparator() {
-		public int compare(Object o1, Object o2) {
-		    
-			int type1= getProposalType(o1);
-			int type2= getProposalType(o2);
-			if (type1 != type2) {
-				if (type1 > type2) {
-					return 1;
-				}  
-				return -1;
-			}
-			String string1 = ((ICompletionProposal)o1).getDisplayString();
-			String string2 = ((ICompletionProposal)o2).getDisplayString();
-			return string1.compareToIgnoreCase(string2);
-		}
-		private int getProposalType(Object o){
-		    if(o instanceof AntCompletionProposal){
-		        return ((AntCompletionProposal) o).getType();
-		    } 
-		    return AntCompletionProposal.TASK_PROPOSAL;    
-		}
- 	};
-	
-	protected final static int PROPOSAL_MODE_NONE = 0;
-	protected final static int PROPOSAL_MODE_BUILDFILE = 1;
-	protected final static int PROPOSAL_MODE_TASK_PROPOSAL = 2;
-	protected final static int PROPOSAL_MODE_PROPERTY_PROPOSAL = 3;
-	protected final static int PROPOSAL_MODE_ATTRIBUTE_PROPOSAL = 4;
-	protected final static int PROPOSAL_MODE_TASK_PROPOSAL_CLOSING = 5;
-	protected final static int PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL = 6;
-	protected final static int PROPOSAL_MODE_NESTED_ELEMENT_PROPOSAL = 7;
-	
-	private final static ICompletionProposal[] NO_PROPOSALS= new ICompletionProposal[0];
-	
-    /**
-     * The line where the cursor sits now.
-     * <P>
-     * The first line has index '1'.
-     */
-	protected int lineNumber = -1;
-
-    /**
-     * The startingColumn where the cursor sits now.
-     * <P>
-     * The first startingColumn has index '1'.
-     */
-	protected int columnNumber = -1;
-    
-	/**
-	 * The additional offset required from a required attribute to
-	 * place the cursor for the current proposal
-	 */
-	private int additionalProposalOffset = -1;
-    
-    private static final String ANT_DTD_FILENAME = "/ant1.6.2.dtd"; //$NON-NLS-1$
-
-    /**
-     * The dtd.
-     */
-	private static ISchema fgDtd;
-
-    /**
-     * Cursor position, counted from the beginning of the document.
-     * <P>
-     * The first position has index '0'.
-     */
-	protected int cursorPosition = -1;
-	
-    /**
-     * The text viewer.
-     */
-	private ITextViewer viewer;
-	
-	/**
-	 * The set of characters that will trigger the activation of the
-	 * completion proposal computation.
-	 */
-	private char[] autoActivationChars= null; 
-	
-	private String errorMessage;
-	
-	protected AntModel antModel;
-	
-	/**
-	 * The proposal mode for the current content assist
-     * @see determineProposalMode(IDocument, int, String)
-     */
-	private int currentProposalMode= -1;
-	
-	/**
-	 * The prefix for the current content assist
-     */
-	protected String currentPrefix= null;
-	
-	/**
-	 * The current task string for content assist
-	 * @see determineProposalMode(IDocument, int, String)
-	 */
-	protected String currentTaskString= null;
-	
-	public AntEditorCompletionProcessor(AntModel model) {
-		super();
-		antModel= model;
-	}
-
-    /**
-     * Parses the dtd.
-     */
-    private ISchema parseDtd() throws ParseError, IOException {
-        InputStream stream= null;
-        Reader reader= null;
-        try {
-        	stream= getClass().getResourceAsStream(ANT_DTD_FILENAME);
-        	reader=new InputStreamReader(stream, "UTF-8"); //$NON-NLS-1$
-        	Parser parser = new Parser();
-        	ISchema schema= parser.parseDTD(reader, "project"); //$NON-NLS-1$
-        	return schema;
-        } finally {
-        	if (reader != null) {
-        		reader.close();
-        	}
-        	if (stream != null) {
-        		stream.close();
-        	}
-        }
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeCompletionProposals(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer refViewer, int documentOffset) {
-        this.viewer = refViewer;   
-        ICompletionProposal[] matchingProposals= determineProposals();
-        ICompletionProposal[] matchingTemplateProposals = determineTemplateProposals(refViewer, documentOffset);
-        currentPrefix= null;
-        currentProposalMode= -1;
-        return mergeProposals(matchingProposals, matchingTemplateProposals);
-    }
-	
-	protected ICompletionProposal[] determineTemplateProposals(ITextViewer refViewer, int documentOffset) {
-		this.viewer= refViewer;
-        String prefix = getCurrentPrefix();
-        ICompletionProposal[] matchingTemplateProposals;
-        if (prefix.length() == 0) {
-            matchingTemplateProposals = super.computeCompletionProposals(refViewer, documentOffset);
-        } else {
-            ICompletionProposal[] templateProposals = super.computeCompletionProposals(refViewer, documentOffset);
-            List templateProposalList = new ArrayList(templateProposals.length);
-            for (int i = 0; i < templateProposals.length; i++) {
-                if (templateProposals[i].getDisplayString().toLowerCase().startsWith(prefix)) {
-                    templateProposalList.add(templateProposals[i]);
-                }
-            }
-            matchingTemplateProposals = 
-                (ICompletionProposal[]) templateProposalList.toArray(new ICompletionProposal[templateProposalList.size()]);
-        }
-		return matchingTemplateProposals;
-	}
-
-	private ICompletionProposal[] mergeProposals(ICompletionProposal[] proposals1, ICompletionProposal[] proposals2) {
-
-        ICompletionProposal[] combinedProposals = new ICompletionProposal[proposals1.length + proposals2.length];
-                
-		System.arraycopy(proposals1, 0, combinedProposals, 0, proposals1.length);
-		System.arraycopy(proposals2, 0, combinedProposals, proposals1.length, proposals2.length);		                
-
-		Arrays.sort(combinedProposals, proposalComparator);
-        return combinedProposals;
-    }
-
-    /**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeContextInformation(ITextViewer, int)
-	 */
-	public IContextInformation[] computeContextInformation(ITextViewer refViewer, int documentOffset) {
-		return new IContextInformation[0];
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getCompletionProposalAutoActivationCharacters()
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-        return autoActivationChars;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationAutoActivationCharacters()
-	 */
-	public char[] getContextInformationAutoActivationCharacters() {
-        return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationValidator()
-	 */
-	public IContextInformationValidator getContextInformationValidator() {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return errorMessage;
-	}
-	
-    /**
-     * Returns the new determined proposals.
-     */ 
-	private ICompletionProposal[] determineProposals() {
-		ITextSelection selection= (ITextSelection)viewer.getSelectionProvider().getSelection();
-		cursorPosition = selection.getOffset() + selection.getLength();
-        
-        IDocument doc = viewer.getDocument();
-        try {
-            lineNumber = doc.getLineOfOffset(cursorPosition);
-            columnNumber = cursorPosition - doc.getLineOffset(lineNumber);
-        } catch (BadLocationException e) {
-            AntUIPlugin.log(e);
-        }
-		
-		String prefix = getCurrentPrefix();
-		if (prefix == null || cursorPosition == -1) {
-			AntUIPlugin.getStandardDisplay().beep();
-			return NO_PROPOSALS;
-		}
-	
-		ICompletionProposal[] proposals = getProposalsFromDocument(doc, prefix);
-		currentTaskString= null;
-		return proposals;
-	}
-
-    /**
-     * Returns the proposals for the specified document.
-     */
-    protected ICompletionProposal[] getProposalsFromDocument(IDocument document, String prefix) {
-		ICompletionProposal[] proposals= null;
-		currentProposalMode= determineProposalMode(document, cursorPosition, prefix);
-        switch (currentProposalMode) {
-            case PROPOSAL_MODE_ATTRIBUTE_PROPOSAL:
-                proposals= getAttributeProposals(currentTaskString, prefix);
-                if (proposals.length == 0) {
-                	errorMessage= AntEditorMessages.getString("AntEditorCompletionProcessor.28"); //$NON-NLS-1$
-                }
-                break;
-            case PROPOSAL_MODE_TASK_PROPOSAL:
-            	String parentName= getParentName(document, lineNumber, columnNumber);
-            	if (parentName == null || parentName.length() == 0) { //outside of any parent element
-            		 proposals= NO_PROPOSALS;
-            		 currentProposalMode= PROPOSAL_MODE_NONE;
-            	} else {
-            		proposals= getTaskProposals(document, parentName, prefix);
-            	}
-            	if (proposals.length == 0) {
-        			errorMessage= AntEditorMessages.getString("AntEditorCompletionProcessor.29"); //$NON-NLS-1$
-        		}
-				break;
-            case PROPOSAL_MODE_BUILDFILE:
-				proposals= getBuildFileProposals(document, prefix);
-            	if (proposals.length == 0) {
-				   errorMessage= AntEditorMessages.getString("AntEditorCompletionProcessor.29"); //$NON-NLS-1$
-            	}
-				break;
-            case PROPOSAL_MODE_TASK_PROPOSAL_CLOSING:
-                ICompletionProposal proposal= getClosingTaskProposal(getOpenElementName(), prefix, true);
-            	if (proposal == null) {
-				   errorMessage= AntEditorMessages.getString("AntEditorCompletionProcessor.30"); //$NON-NLS-1$
-				   proposals= NO_PROPOSALS;
-            	} else {
-	            	proposals= new ICompletionProposal[]{proposal};
-            	}
-                break;
-            case PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL:
-            	String textToSearch= document.get().substring(0, cursorPosition-prefix.length());
-                String attributeString = getAttributeStringFromDocumentStringToPrefix(textToSearch);
-                if ("target".equalsIgnoreCase(currentTaskString)) { //$NON-NLS-1$
-                	proposals= getTargetAttributeValueProposals(document, textToSearch, prefix, attributeString);
-                } else if ("project".equalsIgnoreCase(currentTaskString)) { //$NON-NLS-1$
-                	proposals= getProjectAttributeValueProposals(prefix, attributeString);
-                } else if ("refid".equalsIgnoreCase(attributeString) || "classpathref".equalsIgnoreCase(attributeString)   //$NON-NLS-1$//$NON-NLS-2$
-                        || "sourcepathref".equalsIgnoreCase(attributeString) || "bootpathref".equalsIgnoreCase(attributeString)) { //$NON-NLS-1$ //$NON-NLS-2$
-                	proposals= getReferencesValueProposals(prefix);
-                } else {
-                	proposals= getAttributeValueProposals(currentTaskString, attributeString, prefix);
-                }
-				if (proposals.length == 0) {
-				   errorMessage= AntEditorMessages.getString("AntEditorCompletionProcessor.31"); //$NON-NLS-1$
-				}
-				break;
-            case PROPOSAL_MODE_PROPERTY_PROPOSAL:
-				proposals= getPropertyProposals(document, prefix, cursorPosition);
-            	if (proposals.length == 0) {
-				   errorMessage= AntEditorMessages.getString("AntEditorCompletionProcessor.32"); //$NON-NLS-1$
-            	}
-				break;
-			case PROPOSAL_MODE_NONE :
-            default :
-                proposals= NO_PROPOSALS;
-				errorMessage= AntEditorMessages.getString("AntEditorCompletionProcessor.33"); //$NON-NLS-1$
-        }
-        
-        if (proposals.length > 0) {
-        	errorMessage= ""; //$NON-NLS-1$
-        }
-        return proposals;
-
-    }
-    
-    private ICompletionProposal[] getProjectAttributeValueProposals(String prefix, String attributeName) {
-		if (attributeName.equalsIgnoreCase("default")) { //$NON-NLS-1$
-			return getDefaultValueProposals(prefix);
-		}
-
-		return NO_PROPOSALS;
-	}
-
-	private ICompletionProposal[] getDefaultValueProposals(String prefix) {
-		Map targets = getTargets();
-		List defaultProposals = new ArrayList(targets.size());
-		Iterator itr = targets.values().iterator();
-
-		Target target;
-		String targetName;
-		while (itr.hasNext()) {
-			target = (Target) itr.next();
-			targetName= target.getName();
-			if (targetName.toLowerCase().startsWith(prefix) && targetName.length() > 0) {
-				defaultProposals.add(new AntCompletionProposal(targetName, cursorPosition - prefix.length(), prefix.length(), targetName.length(), null, targetName, target.getDescription(), AntCompletionProposal.TASK_PROPOSAL));
-			}
-		}
-
-		ICompletionProposal[] proposals = new ICompletionProposal[defaultProposals.size()];
-		return (ICompletionProposal[])defaultProposals.toArray(proposals);
-	}
-    
-	private ICompletionProposal[] getReferencesValueProposals(String prefix) {
-		Project project= antModel.getProjectNode().getProject();
-		Map references= project.getReferences();
-		if (references.isEmpty()) {
-			return NO_PROPOSALS;
-		}
-		Set refIds= references.keySet();
-		AntElementNode node= antModel.getNode(cursorPosition, false);
-		while (node.getParentNode() instanceof AntTaskNode) {
-			node= node.getParentNode();
-		}
-		String id= null;
-		if (node instanceof AntTaskNode) {
-			id= ((AntTaskNode)node).getId();
-		}
-		List proposals= new ArrayList(refIds.size());
-		int i= 0;
-		String refId;
-		ICompletionProposal proposal;
-		int prefixLength= prefix.length();
-		int replacementOffset= cursorPosition - prefixLength;
-		for (Iterator iter = refIds.iterator(); iter.hasNext(); i++) {
-			refId= (String) iter.next();
-			if (!refId.equals(id) && (prefixLength == 0 || refId.toLowerCase().startsWith(prefix))) {
-				proposal= new AntCompletionProposal(refId, replacementOffset, prefixLength, refId.length(), null, refId, null, AntCompletionProposal.TASK_PROPOSAL);
-				proposals.add(proposal);
-			}
-		}
-		return (ICompletionProposal[])proposals.toArray(new ICompletionProposal[proposals.size()]);      
-	}
-
-	protected ICompletionProposal[] getTargetAttributeValueProposals(IDocument document, String textToSearch, String prefix, String attributeName) {
-		if (attributeName.equalsIgnoreCase("depends")) { //$NON-NLS-1$
-			return getDependsValueProposals(document, prefix);
-		} else if (attributeName.equalsIgnoreCase("if") || attributeName.equalsIgnoreCase("unless")) { //$NON-NLS-1$ //$NON-NLS-2$
-			if (!textToSearch.trim().endsWith(",")) { //$NON-NLS-1$
-				return getPropertyProposals(document, prefix, cursorPosition);
-			}
-		}
-		
-		return NO_PROPOSALS;
-	}
-
-	private ICompletionProposal[] getDependsValueProposals(IDocument document, String prefix) {
-		List possibleDependencies = new ArrayList();
-		String currentTargetName= getEnclosingTargetName(document, lineNumber, columnNumber);
-		if(currentTargetName == null) {
-			return NO_PROPOSALS;
-		}
-			
-		Map targets= getTargets();
-		Set targetNames= targets.keySet();
-		Iterator itr= targetNames.iterator();
-		Enumeration dependencies= null;
-		while (itr.hasNext()) {
-			String targetName = (String) itr.next();
-			if (targetName.equals(currentTargetName)) {
-				Target currentTarget= (Target)targets.get(targetName);
-				dependencies= currentTarget.getDependencies();
-				continue;
-			}
-			if (targetName.toLowerCase().startsWith(prefix) && targetName.length() > 0){
-				possibleDependencies.add(targetName);
-			}
-		}
-		
-		if (dependencies != null) {
-			while (dependencies.hasMoreElements()) {
-				possibleDependencies.remove(dependencies.nextElement());
-			}
-		}
-		
-		ICompletionProposal[] proposals= new ICompletionProposal[possibleDependencies.size()];
-		int i= 0;
-		for (Iterator iter = possibleDependencies.iterator(); iter.hasNext(); i++) {
-			String targetName = (String) iter.next();
-			ICompletionProposal proposal = new AntCompletionProposal(targetName, cursorPosition - prefix.length(), prefix.length(), targetName.length(), null, targetName, ((Target)targets.get(targetName)).getDescription(), AntCompletionProposal.TASK_PROPOSAL);
-			proposals[i]= proposal;
-		}
-		return proposals;
-	}
-
-	/**
-     * Returns all possible attributes for the specified task.
-     * 
-     * @param taskName the name of the task for that the attribute shall be 
-     * completed
-     * @param prefix prefix, that all proposals should start with. The prefix
-     * may be an empty string.
-     */
-    protected ICompletionProposal[] getAttributeProposals(String taskName, String prefix) {
-        List proposals = new ArrayList();
-        IElement element = getDtd().getElement(taskName);
-        if (element != null) {
-        	Iterator keys = element.getAttributes().keySet().iterator();
-        	while (keys.hasNext()) {
-        		String attrName = (String) keys.next();
-        		if (prefix.length() == 0 || attrName.toLowerCase().startsWith(prefix)) {
-        			IAttribute dtdAttributes = (IAttribute) element.getAttributes().get(attrName);
-					String replacementString = attrName+"=\"\""; //$NON-NLS-1$
-					String displayString = attrName;
-					String[] items = dtdAttributes.getEnum();
-					if (items != null) {					        			
-                        if(items.length > 1) {
-                            displayString += " - ("; //$NON-NLS-1$
-                        }
-                        for (int i = 0; i < items.length; i++) {
-                            displayString += items[i];
-                            if(i+1 < items.length) {
-                                displayString += " | "; //$NON-NLS-1$
-                            } else {
-                                displayString += ")"; //$NON-NLS-1$
-                            }
-                        }
-                    }
-                    
-                    addAttributeProposal(taskName, prefix, proposals, attrName, replacementString, displayString, true);
-                }       
-            }
-        } else { //possibly a user defined task or type
-        	Class taskClass= getTaskClass(taskName);
-        	if (taskClass != null) {
-        		if (taskClass == MacroInstance.class) {
-        			addMacroDefAttributeProposals(taskName, prefix, proposals);
-        		} else {
-	        		IntrospectionHelper helper= getIntrospectionHelper(taskClass);
-	        		if (helper != null) {
-		        		addAttributeProposals(helper, taskName, prefix, proposals);
-	        		}
-        		}
-        	} else { //nested user defined element
-        		Class nestedType= getNestedType();
-        		if (nestedType != null) {
-	    			IntrospectionHelper helper= getIntrospectionHelper(nestedType);
-	    			if (helper != null) {
-	    				addAttributeProposals(helper, taskName, prefix, proposals);
-	    			}
-	    		}
-        	}
-        }
-        return (ICompletionProposal[])proposals.toArray(new ICompletionProposal[proposals.size()]);
-    }
-    
-	private void addAttributeProposals(IntrospectionHelper helper, String taskName, String prefix, List proposals) {
-		Enumeration attributes= helper.getAttributes();
-		while (attributes.hasMoreElements()) {
-			String attribute = (String) attributes.nextElement();
-			if (prefix.length() == 0 || attribute.toLowerCase().startsWith(prefix)) {
-				String replacementString = attribute + "=\"\""; //$NON-NLS-1$
-				addAttributeProposal(taskName, prefix, proposals, attribute, replacementString, attribute, false);
-			}
-		}
-	}
-
-	private Class getNestedType() {
-    	AntElementNode currentNode= antModel.getNode(cursorPosition, false);
-		AntElementNode parent= currentNode.getParentNode();
-		if (parent instanceof AntTaskNode) {
-			String parentName= parent.getName();
-			if (hasNestedElements(parentName)) {
-				Class taskClass= getTaskClass(parentName);
-		    	if (taskClass != null) {
-		    		IntrospectionHelper helper= getIntrospectionHelper(taskClass);
-		    		if (helper != null) {
-		    			Class nestedType= null;
-		    			try {
-		    				nestedType= helper.getElementType(currentNode.getName());
-		    			} catch (BuildException be) {
-		    			}
-		    			return nestedType;
-		    		}
-				}
-			}
-		}
-		return null;
-    }
-    
-    private IntrospectionHelper getIntrospectionHelper(Class taskClass) {
-    	IntrospectionHelper helper= null;
-    	try {
-    		helper= IntrospectionHelper.getHelper(antModel.getProjectNode().getProject(), taskClass);
-    	} catch (NoClassDefFoundError e) {
-    		//ignore as a task may require additional classpath components
-		}
-    	return helper;
-    }
-
-    private void addMacroDefAttributeProposals(String taskName, String prefix, List proposals) {
-    	currentProposalMode= PROPOSAL_MODE_ATTRIBUTE_PROPOSAL;
-		AntDefiningTaskNode node= antModel.getDefininingTaskNode(taskName);
-		Object task= node.getRealTask();
-		if (!(task instanceof MacroDef)) {
-			return;
-		}
-		List attributes= ((MacroDef)task).getAttributes();
-		Iterator itr= attributes.iterator();
-		while (itr.hasNext()) {
-			MacroDef.Attribute attribute = (MacroDef.Attribute) itr.next();
-			String attributeName= attribute.getName();
-			if (!(prefix.length() == 0 || attributeName.toLowerCase().startsWith(prefix))) {
-				continue;
-			}
-			String replacementString = attributeName + "=\"\""; //$NON-NLS-1$
-			String proposalInfo = null;
-			
-			String description = attribute.getDescription();
-			if(description != null) {
-			    proposalInfo= description;
-			}
-			String deflt = attribute.getDefault();
-			if(deflt != null && deflt.length() > 0) {
-				proposalInfo= (proposalInfo == null ?  "<BR><BR>" : (proposalInfo += "<BR><BR>")); //$NON-NLS-1$ //$NON-NLS-2$
-				proposalInfo+= MessageFormat.format(AntEditorMessages.getString("AntEditorCompletionProcessor.59"), new String[]{deflt}); //$NON-NLS-1$
-			}
-			
-			ICompletionProposal proposal = new AntCompletionProposal(replacementString, cursorPosition - prefix.length(), prefix.length(), attributeName.length() + 2, null, attributeName, proposalInfo, AntCompletionProposal.TASK_PROPOSAL);
-			proposals.add(proposal);
-		}
-	}
-    
-    private void addMacroDefElementProposals(String taskName, String prefix, List proposals) {
-		AntDefiningTaskNode node= antModel.getDefininingTaskNode(taskName);
-		Object task= node.getRealTask();
-		if (!(task instanceof MacroDef)) {
-			return;
-		}
-		Map elements= ((MacroDef)task).getElements();
-		Iterator itr= elements.keySet().iterator();
-		int prefixLength= prefix.length();
-		int replacementOffset= cursorPosition - prefixLength;
-		while (itr.hasNext()) {
-			String elementName = (String) itr.next();
-			if (!(prefixLength == 0 || elementName.toLowerCase().startsWith(prefix))) {
-				continue;
-			}
-			MacroDef.TemplateElement element = (MacroDef.TemplateElement) elements.get(elementName);
-			String replacementString = MessageFormat.format("<{0}>\n</{1}>", new String[]{elementName, elementName}); //$NON-NLS-1$
-			String proposalInfo = null;
-			
-			String description = element.getDescription();
-			if(description != null) {
-			    proposalInfo= description;
-			}
-			proposalInfo= (proposalInfo == null ?  "<BR><BR>" : (proposalInfo += "<BR><BR>")); //$NON-NLS-1$ //$NON-NLS-2$
-			
-			if(element.isOptional()) {
-				proposalInfo+= AntEditorMessages.getString("AntEditorCompletionProcessor.1"); //$NON-NLS-1$
-			} else {
-				proposalInfo+= AntEditorMessages.getString("AntEditorCompletionProcessor.2"); //$NON-NLS-1$
-			}
-			
-			ICompletionProposal proposal = new AntCompletionProposal(replacementString, replacementOffset, prefixLength, elementName.length() + 2, null, elementName, proposalInfo, AntCompletionProposal.TASK_PROPOSAL);
-			proposals.add(proposal);
-		}
-	}
-
-	private void addAttributeProposal(String taskName, String prefix, List proposals, String attrName, String replacementString, String displayString, boolean lookupDescription) {
-    	
-		String proposalInfo = null;
-		if (lookupDescription) {
-			String required = getDescriptionProvider().getRequiredAttributeForTaskAttribute(taskName, attrName);
-			if(required != null && required.length() > 0) {
-			    proposalInfo = AntEditorMessages.getString("AntEditorCompletionProcessor.Required___4") + required; //$NON-NLS-1$
-			    proposalInfo += "<BR><BR>"; //$NON-NLS-1$
-			}
-			String description = getDescriptionProvider().getDescriptionForTaskAttribute(taskName, attrName);
-			if(description != null) {
-			    proposalInfo = (proposalInfo == null ? "" : proposalInfo); //$NON-NLS-1$
-			    proposalInfo += description;
-			}
-		}
-		
-		ICompletionProposal proposal = new AntCompletionProposal(replacementString, cursorPosition - prefix.length(), prefix.length(), attrName.length()+2, null, displayString, proposalInfo, AntCompletionProposal.TASK_PROPOSAL);
-		proposals.add(proposal);
-	}
-
-	/**
-     * Returns all possible values for the specified attribute of the specified 
-     * task.
-     * 
-     * @param aTaskName the name of the task that the specified attribute 
-     * belongs to.
-     * 
-     * @param anAttributeName the name of the attribute for that the value
-     * shall be completed
-     * 
-     * @param prefix the prefix that all proposals should start with. The prefix
-     * may be an empty string.
-     */
-    private ICompletionProposal[] getAttributeValueProposals(String taskName, String attributeName, String prefix) {
-        List proposals = new ArrayList();
-        IElement taskElement = getDtd().getElement(taskName);
-        if (taskElement != null) {
-        	IAttribute attribute = (IAttribute) taskElement.getAttributes().get(attributeName);
-        	if (attribute != null) {
-        		String[] items = attribute.getEnum();
-        		if (items != null) {
-					String item;
-                    for (int i = 0; i < items.length; i++) {
-                        item= items[i];
-                        if(prefix.length() ==0 || item.toLowerCase().startsWith(prefix)) { 
-                            proposals.add(
-                            	new AntCompletionProposal(item, cursorPosition - prefix.length(), prefix.length(), item.length(), null, item, null, AntCompletionProposal.TASK_PROPOSAL));
-                        }
-                    }
-        		}
-            }
-        } else { //possibly a user defined task or type
-        	Class taskClass= getTaskClass(taskName);
-        	if (taskClass != null) {
-        		IntrospectionHelper helper= getIntrospectionHelper(taskClass);
-        		if (helper != null) {
-        			addAttributeValueProposals(helper, attributeName, prefix, proposals);
-        		}
-        	} else { //nested user defined element
-        		Class nestedType= getNestedType();
-        		if (nestedType != null) {
-	    			IntrospectionHelper helper= getIntrospectionHelper(nestedType);
-	    			if (helper != null) {
-	    				addAttributeValueProposals(helper, attributeName, prefix, proposals);
-	    			}
-        		}
-        	}
-        }
-        return (ICompletionProposal[])proposals.toArray(new ICompletionProposal[proposals.size()]);
-    }
-
-	private void addAttributeValueProposals(IntrospectionHelper helper, String attributeName, String prefix, List proposals) {
-		Enumeration attributes= helper.getAttributes();
-		while (attributes.hasMoreElements()) {
-			String attribute= (String) attributes.nextElement();
-			if (attribute.equals(attributeName)) {
-				Class attributeType= helper.getAttributeType(attribute);
-				addAttributeValueProposalsForAttributeType(attributeType, prefix, proposals);
-				break;
-			}
-		}
-	}
-
-	private void addAttributeValueProposalsForAttributeType(Class attributeType, String prefix, List proposals) {
-		if ((attributeType == Boolean.TYPE || attributeType == Boolean.class) && prefix.length() <= 5) {
-			addBooleanAttributeValueProposals(prefix, proposals);
-		} else if (EnumeratedAttribute.class.isAssignableFrom(attributeType)) {
-			try {
-				addEnumeratedAttributeValueProposals(attributeType, prefix, proposals);
-			} catch (InstantiationException e) {
-			} catch (IllegalAccessException e) {
-			}
-		} else if (Reference.class == attributeType) {
-			proposals.addAll(Arrays.asList(getReferencesValueProposals(prefix)));
-		}
-	}
-	
-	private void addEnumeratedAttributeValueProposals(Class type, String prefix, List proposals) throws InstantiationException, IllegalAccessException { 
-		EnumeratedAttribute ea= (EnumeratedAttribute) type.newInstance();
-		String[] values = ea.getValues();
-		String enumerated;
-		for (int i = 0; i < values.length; i++) {
-			enumerated= values[i].toLowerCase();
-			if (prefix.length() == 0 || enumerated.startsWith(prefix)) {
-				proposals.add(new AntCompletionProposal(enumerated, cursorPosition - prefix.length(), prefix.length(), enumerated.length(), null, enumerated, null, AntCompletionProposal.TASK_PROPOSAL));
-			}
-		}
-	}
-
-	private void addBooleanAttributeValueProposals(String prefix, List proposals) {
-		String[] booleanValues = new String[]{"true","false","on","off","yes","no"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		String booleanAssist;
-		for (int i = 0; i < booleanValues.length; i++) {
-			booleanAssist= booleanValues[i].toLowerCase();
-			if (prefix.length() == 0 || booleanAssist.startsWith(prefix)) {
-				proposals.add(new AntCompletionProposal(booleanAssist, cursorPosition -prefix.length(),
-						prefix.length(), booleanAssist.length(), null, booleanAssist,
-						null, AntCompletionProposal.TASK_PROPOSAL));
-			}
-		}	    
-	}
-
-	/**
-     * Returns all possible properties for the specified prefix.
-     * <P>
-     * Note that the completion mode must be property mode, otherwise it is not
-     * safe to call this method.
-     */
-    protected ICompletionProposal[] getPropertyProposals(IDocument document, String prefix, int aCursorPosition) {
-        List proposals = new ArrayList();
-        Map displayStringToProposals= new HashMap();
-        Map properties = findPropertiesFromDocument();
-		
-		Image image = AntUIImages.getImage(IAntUIConstants.IMG_PROPERTY);
-		// Determine replacement length and offset
-	    // String from beginning to the beginning of the prefix
-	   int replacementLength = prefix.length();
-	   int replacementOffset = 0;
-	   String text= document.get();
-	   String stringToPrefix = text.substring(0, aCursorPosition - prefix.length());
-	   // Property proposal
-	   String lastTwoCharacters = stringToPrefix.substring(stringToPrefix.length()-2, stringToPrefix.length());
-	   boolean appendBraces= true;
-	   if(lastTwoCharacters.equals("${")) { //$NON-NLS-1$
-		   replacementLength += 2;
-		   replacementOffset = aCursorPosition - prefix.length() - 2;
-	   } else if(lastTwoCharacters.endsWith("$")) { //$NON-NLS-1$
-		   replacementLength += 1;
-		   replacementOffset = aCursorPosition - prefix.length() - 1;                
-	   } else {
-			//support for property proposals for the if/unless attributes of targets
-	   		replacementOffset= aCursorPosition - prefix.length();
-	   		appendBraces= false;
-	   }
-	   
-	   if(text.length() > aCursorPosition && text.charAt(aCursorPosition) == '}') {
-		   replacementLength += 1;
-	   }
-	   String propertyName;
-       for(Iterator i=properties.keySet().iterator(); i.hasNext(); ) {
-            propertyName= (String)i.next();
-            if(prefix.length() == 0 || propertyName.toLowerCase().startsWith(prefix)) {
-                String additionalPropertyInfo = (String)properties.get(propertyName);
-                
-                StringBuffer replacementString = new StringBuffer();
-                if (appendBraces) {
-                	replacementString.append("${"); //$NON-NLS-1$
-                }
-                replacementString.append(propertyName);
-                if (appendBraces) {
-                	replacementString.append('}');
-                }
-                
-				if (displayStringToProposals.get(propertyName) == null) {
-                	ICompletionProposal proposal = 
-		                new AntCompletionProposal(
-		                    replacementString.toString(), replacementOffset, replacementLength, 
-		                    replacementString.length(), image, propertyName,
-		                    additionalPropertyInfo, AntCompletionProposal.PROPERTY_PROPOSAL);
-					proposals.add(proposal);
-					displayStringToProposals.put(propertyName, proposal);
-				}
-            }
-        }      
-		return (ICompletionProposal[])proposals.toArray(new ICompletionProposal[proposals.size()]);          
-    }
-
-
-    /**
-     * Returns all possible proposals for the specified parent name.
-     * <P>
-     * No completions will be returned if <code>parentName</code> is 
-     * not known.
-     * 
-     * @param document the entire document 
-     * @param parentName name of the parent (surrounding) element.
-     * @param prefix the prefix that all proposals should start with. The prefix
-     * may be an empty string.
-     */
-    protected ICompletionProposal[] getTaskProposals(IDocument document, String parentName, String prefix) {
-       List proposals = new ArrayList(250);
-       ICompletionProposal proposal;
-       if (areTasksOrTypesValidChildren(parentName)) {
-        	//use the definitions in the project as that includes more than what is defined in the DTD
-			Project project= antModel.getProjectNode().getProject();
-			Map tasksAndTypes= ComponentHelper.getComponentHelper(project).getAntTypeTable();
-			createProposals(document, prefix, proposals, tasksAndTypes);
-			if (parentName.equals("project") && "target".startsWith(prefix)) { //$NON-NLS-1$ //$NON-NLS-2$
-				proposals.add(newCompletionProposal(document, prefix, "target")); //$NON-NLS-1$
-			}
-		} else {
-			IElement parent = getDtd().getElement(parentName);
-			if (parent != null) {
-				IDfm dfm = parent.getDfm();
-				String[] accepts = dfm.getAccepts();
-				if (accepts.length == 0) {
-					currentProposalMode= PROPOSAL_MODE_NONE;
-				}
-				String elementName;
-				for (int i = 0; i < accepts.length; i++) {
-					elementName = accepts[i];
-					if(prefix.length() == 0 || elementName.toLowerCase().startsWith(prefix)) {
-						proposal = newCompletionProposal(document, prefix, elementName);
-						proposals.add(proposal);
-					}
-				}
-			} else {
-				//a nested element of a user defined task/type?
-				Class taskClass= getTaskClass(parentName);
-	        	if (taskClass != null) {
-	        		if (taskClass == MacroInstance.class) {
-	        			currentProposalMode= PROPOSAL_MODE_ATTRIBUTE_PROPOSAL;
-	        			addMacroDefElementProposals(parentName, prefix, proposals);
-	        		} else {
-	        			currentProposalMode= PROPOSAL_MODE_NESTED_ELEMENT_PROPOSAL;
-		        		IntrospectionHelper helper= getIntrospectionHelper(taskClass);
-		        		if (helper != null) {
-			        		Enumeration nested= helper.getNestedElements();
-			        		String nestedElement;
-				        	while (nested.hasMoreElements()) {
-								nestedElement = (String) nested.nextElement();
-								if (prefix.length() == 0 || nestedElement.toLowerCase().startsWith(prefix)) {
-									proposal = newCompletionProposal(document, prefix, nestedElement);
-									proposals.add(proposal);
-								}
-					        }
-		        		}
-	        		}
-	        	}
-			}
-        }
-        
-        proposal= getClosingTaskProposal(getOpenElementName(), prefix, false);
-        if (proposal != null) {
-        	proposals.add(proposal);
-        }
-        
-        return (ICompletionProposal[])proposals.toArray(new ICompletionProposal[proposals.size()]);
-   }
-    
-    private boolean areTasksOrTypesValidChildren(String parentName) {
-		return parentName == "project" || parentName == "target" || parentName == "sequential" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			|| parentName == "presetdef" || parentName == "parallel" || parentName == "daemons"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	/** 
-    * Returns proposals that define the structure of a buildfile.
-    * 
-    * Note that template proposals which define the structure of a buildfile 
-    * are handled by {@link #determineTemplateProposals(ITextViewer, int)} 
-    * which limits proposals by context type.
-
-    * @param document the entire document 
-    * @param prefix the prefix that all proposals should start with. The prefix
-    * may be an empty string.
-    */
-   protected ICompletionProposal[] getBuildFileProposals(IDocument document, String prefix) {
-       String rootElementName= "project"; //$NON-NLS-1$
-       IElement rootElement = getDtd().getElement(rootElementName);
-       if (rootElement != null && rootElementName.toLowerCase().startsWith(prefix)) {
-       		ICompletionProposal proposal = newCompletionProposal(document, prefix, rootElementName);
-			return new ICompletionProposal[] {proposal};
-		}
-       
-       return NO_PROPOSALS;
-   } 
-
-    private void createProposals(IDocument document, String prefix, List proposals, Map tasks) {
-		Iterator keys= tasks.keySet().iterator();
-		ICompletionProposal proposal;
-		String key;
-		while (keys.hasNext()) {
-			key= (String) keys.next();
-			if (prefix.length() == 0 || key.toLowerCase().startsWith(prefix)) {
-				proposal = newCompletionProposal(document, prefix, key);
-				proposals.add(proposal);
-			}
-		}
-	}
-    
-    private ICompletionProposal newCompletionProposal(IDocument document, String aPrefix, String elementName) {
-		additionalProposalOffset= 0;
-		Image proposalImage = AntUIImages.getImage(IAntUIConstants.IMG_TASK_PROPOSAL);
-		String proposalInfo = getDescriptionProvider().getDescriptionForTask(elementName);
-		boolean hasNestedElements= hasNestedElements(elementName);
-		String replacementString = getTaskProposalReplacementString(elementName, hasNestedElements);
-		int replacementOffset = cursorPosition - aPrefix.length();
-		int replacementLength = aPrefix.length();
-		if (replacementOffset > 0 && document.get().charAt(replacementOffset - 1) == '<') {
-			replacementOffset--;
-			replacementLength++;
-		}
-		int proposalCursorPosition;
-		if (hasNestedElements) {
-			proposalCursorPosition= elementName.length() + 2 + additionalProposalOffset;
-		} else {
-			if (additionalProposalOffset > 0) {
-				additionalProposalOffset+=2; //<antstructure output="|"/>
-			} else {
-				additionalProposalOffset+=1; //<arg|/>
-			}
-			proposalCursorPosition= elementName.length() + additionalProposalOffset;
-		}
-		return new AntCompletionProposal(replacementString, replacementOffset, 
-			replacementLength, proposalCursorPosition, proposalImage, elementName, proposalInfo, AntCompletionProposal.TASK_PROPOSAL);
-	}
-
-	/**
-     * Returns the one possible completion for the specified unclosed task .
-     * 
-     * @param openElementName the task that hasn't been closed 
-     * last
-     * @param prefix The prefix that the one possible proposal should start 
-     * with. The prefix may be an empty string.
-     * @return the proposal or <code>null</code> if no closing proposal available
-     */
-    private ICompletionProposal getClosingTaskProposal(String openElementName, String prefix, boolean closingMode) {
-    	char previousChar = getPreviousChar();
-		ICompletionProposal proposal= null;
-        if(openElementName != null) {
-            if(prefix.length() == 0 || openElementName.toLowerCase().startsWith(prefix)) {
-                StringBuffer replaceString = new StringBuffer();
-                if (!closingMode) {
-                	if (previousChar != '/') {
-	                	if (previousChar != '<') {
-	                		replaceString.append('<');
-	                	}
-	                	replaceString.append('/');
-                	}
-                }
-                replaceString.append(openElementName);
-                replaceString.append('>');
-                StringBuffer displayString= new StringBuffer("</"); //$NON-NLS-1$
-                displayString.append(openElementName);
-                displayString.append('>');
-                proposal= new AntCompletionProposal(replaceString.toString(), cursorPosition - prefix.length(), prefix.length(), replaceString.length(), null, displayString.toString(), AntEditorMessages.getString("AntEditorCompletionProcessor.39"), AntCompletionProposal.TAG_CLOSING_PROPOSAL); //$NON-NLS-1$
-    		}
-        }
-
-        return proposal;
-    }
-
-	protected char getPreviousChar() {
-		ITextSelection selection = (ITextSelection)viewer.getSelectionProvider().getSelection();
-    	int offset= selection.getOffset();
-    	char previousChar= '?';
-    	try {
-			previousChar= viewer.getDocument().getChar(offset-1);
-		} catch (BadLocationException e) {
-			
-		}
-		return previousChar;
-	}
-
-    /**
-     * Returns the replacement string for the specified task name.
-     */
-    private String getTaskProposalReplacementString(String aTaskName, boolean hasNested) {
-        StringBuffer replacement = new StringBuffer("<"); //$NON-NLS-1$
-        replacement.append(aTaskName); 
-        Node attributeNode= getDescriptionProvider().getAttributesNode(aTaskName);
-		
-        if (attributeNode != null) {
-			appendRequiredAttributes(replacement, attributeNode);
-        } 
-        
-        if (hasNested) {
-        	replacement.append("></"); //$NON-NLS-1$
-            replacement.append(aTaskName);
-            replacement.append('>');
-        } else {
-        	replacement.append("/>"); //$NON-NLS-1$
-        }
-        return replacement.toString();               
-    }
-
-    private void appendRequiredAttributes(StringBuffer replacement, Node attributeNode) {
-		boolean requiredAdded= false;
-		NodeList attributes= attributeNode.getChildNodes();
-		String required;
-		Node attribute;
-		for (int i = 0; i < attributes.getLength(); i++) {
-			attribute = attributes.item(i);
-			required= getDescriptionProvider().getRequiredOfNode(attribute);
-			if (required.equalsIgnoreCase("yes")) { //$NON-NLS-1$
-				String attributeName= getDescriptionProvider().getTaskAttributeName(attribute);
-				replacement.append(' ');
-				replacement.append(attributeName);
-				replacement.append("=\"\""); //$NON-NLS-1$
-				if (!requiredAdded){
-					additionalProposalOffset= attributeName.length() + 2;
-					requiredAdded= true;
-				}	
-			}
-		}
-	}
-
-	/**
-     * Returns whether the named element supports nested elements.
-     */
-    private boolean hasNestedElements(String elementName) {
-        IElement element = getDtd().getElement(elementName);
-        if (element != null) {
-        	return !element.isEmpty();
-        } 
-        Class taskClass= getTaskClass(elementName);
-    	if (taskClass != null) {
-    		IntrospectionHelper helper= getIntrospectionHelper(taskClass);
-    		if (helper != null) {
-    			Enumeration nested= helper.getNestedElements();
-    			return nested.hasMoreElements();
-    		}
-		}
-        return false;
-    }
-    
-    /**
-     * Finds a direct child element with <code>aChildElementName</code> of 
-     * <code>anElement</code>.
-     * <P>
-     * The child will not be searched for in the whole hierarchy but only in
-     * the hierarchy step below.
-     * 
-     * @return the found child or <code>null</code> if not found.
-     */
-    protected Element findChildElementNamedOf(Element anElement, String aChildElementName) {
-        NodeList nodeList = anElement.getChildNodes();
-        for (int i = 0; i < nodeList.getLength(); i++) {
-            Node childNode = nodeList.item(i);
-            if(childNode.getNodeType() == Node.ELEMENT_NODE) {
-                if(childNode.getNodeName().equals(aChildElementName)) {
-                    return (Element)childNode;
-                }
-            }   
-        }
-        return null;
-    }
-
-	/**
-     * Determines the current prefix that should be used for completion.
-     */
-	private String getCurrentPrefix() {
-		if (currentPrefix != null) {
-        	return currentPrefix;
-        }
-		ITextSelection selection = (ITextSelection)viewer.getSelectionProvider().getSelection();
-		IDocument doc = viewer.getDocument();
-        return getPrefixFromDocument(doc.get(), selection.getOffset() + selection.getLength()).toLowerCase();
-	}
-
-
-    /**
-     * Returns the prefix in the specified document text with respect to the 
-     * specified offset.
-     * 
-     * @param aDocumentText the whole content of the edited file as String
-     * @param anOffset the cursor position
-     */
-    protected String getPrefixFromDocument(String aDocumentText, int anOffset) {
-        if (currentPrefix != null) {
-        	return currentPrefix;
-        }
-        int startOfWordToken = anOffset;
-        
-        char token= 'a';
-        if (startOfWordToken > 0) {
-			token= aDocumentText.charAt(startOfWordToken - 1);
-        }
-        
-        while (startOfWordToken > 0 
-                && (Character.isJavaIdentifierPart(token) 
-                    || '.' == token
-					|| '-' == token
-        			|| ';' == token)
-                && !('$' == token)) {
-            startOfWordToken--;
-            if (startOfWordToken == 0) {
-            	break; //word goes right to the beginning of the doc
-            }
-			token= aDocumentText.charAt(startOfWordToken - 1);
-        }
-        
-        if (startOfWordToken != anOffset) {
-            currentPrefix= aDocumentText.substring(startOfWordToken, anOffset).toLowerCase();
-        } else {
-            currentPrefix= ""; //$NON-NLS-1$
-        }
-        return currentPrefix;
-    }
- 
- 
-    /**
-     * Returns the current proposal mode.
-     */
-    protected int determineProposalMode(IDocument document, int aCursorPosition, String aPrefix) {
-    	if (currentProposalMode != -1) {
-    		return currentProposalMode;
-    	}
-    	if (document.getLength() == 0 || (document.getLength() == 1 && document.get().equals("<"))) { //$NON-NLS-1$
-    		return PROPOSAL_MODE_BUILDFILE;
-    	}
-    	
-    	//String from beginning of document to the beginning of the prefix
-    	String text= document.get();
-        String stringToPrefix = text.substring(0, aCursorPosition - aPrefix.length());
-        if (stringToPrefix.length() == 0) {
-        	return PROPOSAL_MODE_BUILDFILE;
-        }
-        //Is trimmable from behind
-        String trimmedString = stringToPrefix.trim();
-    	if (antModel != null && antModel.getProjectNode() == null) {
-    		currentTaskString= getTaskStringFromDocumentStringToPrefix(trimmedString);
-    		if ("project".equals(currentTaskString)) { //$NON-NLS-1$
-    			return PROPOSAL_MODE_ATTRIBUTE_PROPOSAL;
-    		}
-    		return PROPOSAL_MODE_BUILDFILE;
-    	}
-    	
-        char lastChar = 0;
-        if(trimmedString.length() > 0) {
-	        lastChar = trimmedString.charAt(trimmedString.length()-1);
-        } else {
-        	return PROPOSAL_MODE_TASK_PROPOSAL;
-        }
-        if(stringToPrefix.charAt(stringToPrefix.length()-1) != lastChar && lastChar != '>' && lastChar != ',') {
-            /*
-             * Substring must be trimmable from behind in case of attribute 
-             * proposal because a space or a new line must be used as delimiter 
-             * between task name and attribute or attribute and attribute.
-             * Example: '<property id="bla" name="hups"'
-             */
-             
-            // Attribute proposal
-            if(lastChar != '>' && lastChar != '<') {
-               currentTaskString= getTaskStringFromDocumentStringToPrefix(trimmedString);
-                if(currentTaskString != null && isKnownElement(currentTaskString)) {
-                    return PROPOSAL_MODE_ATTRIBUTE_PROPOSAL;
-                }
-            }                
-        } else if(stringToPrefix.charAt(stringToPrefix.length() - 1) == '"' || trimmedString.charAt(trimmedString.length() - 1) == ',') {
-			// Attribute value proposal
-        	currentTaskString= getTaskStringFromDocumentStringToPrefix(trimmedString);
-            if (currentTaskString != null && isKnownElement(currentTaskString)) {
-                return PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL;
-            }
-        } else {  // Possibly a Task proposal
-            int spaceIndex = stringToPrefix.lastIndexOf(' ');
-            int lessThanIndex = stringToPrefix.lastIndexOf('<');
-            int greaterThanIndex = stringToPrefix.lastIndexOf('>');
-            
-            // Task proposal
-            if(lessThanIndex > spaceIndex && greaterThanIndex < lessThanIndex) {
-                int slashIndex = stringToPrefix.lastIndexOf('/');
-                if(slashIndex == lessThanIndex +1) {
-                    return PROPOSAL_MODE_TASK_PROPOSAL_CLOSING; // ... </
-                }
-                return PROPOSAL_MODE_TASK_PROPOSAL;
-            }
-            if(lessThanIndex < greaterThanIndex) {
-            	if (isPropertyProposalMode(stringToPrefix)) {
-				   return PROPOSAL_MODE_PROPERTY_PROPOSAL;
-			   }
-               return PROPOSAL_MODE_TASK_PROPOSAL;
-            }
-        }
-
-        // Property proposal
-		if (isPropertyProposalMode(stringToPrefix)) {
-			return PROPOSAL_MODE_PROPERTY_PROPOSAL;
-        }
-        	            
-        return PROPOSAL_MODE_NONE;
-    }
-
-
-	private boolean isPropertyProposalMode(String stringToPrefix) {
-		if(stringToPrefix.length() >= 2) {
-			String lastTwoChars = stringToPrefix.substring(stringToPrefix.length()-2, stringToPrefix.length());
-			if(lastTwoChars.equals("${") || //$NON-NLS-1$
-				stringToPrefix.charAt(stringToPrefix.length()-1) == '$') {
-					return true;
-			}
-		}
-		return false;
-	}
-    /**
-     * Returns the last occuring task string in the specified string.
-     * <P>
-     * The returned string must not necessarily be a valid Ant task string.
-     * This can be tested with the method <code>inNamedTaskKnown(String)</code>
-     * after invoking this method.
-     * 
-     * @param aDocumentStringToPrefix the String that contains the whole string
-     * of the currently edited file from the beginning up to the prefix for code
-     * completion. Example: '<project default="name"><property '.
-     * 
-     * @return the extracted task string or <code>null</code> if no string could
-     * be extracted.
-     */
-    private String getTaskStringFromDocumentStringToPrefix(String aDocumentStringToPrefix) {
-            
-        int lessThanIndex = aDocumentStringToPrefix.lastIndexOf('<');
-
-        if(lessThanIndex > -1) {
-            String taskString = aDocumentStringToPrefix.trim();
-            taskString = taskString.substring(lessThanIndex+1, taskString.length());
-            int index = taskString.indexOf(' ');
-            if(index > 0) {
-                taskString = taskString.substring(0, index);
-            }
-            index = taskString.indexOf('\n');
-            if(index > 0) {
-                taskString = taskString.substring(0, index);
-            }
-            index = taskString.indexOf('\r');
-            if(index > 0) {
-                taskString = taskString.substring(0, index);
-            }
-            return taskString;
-        }
-        
-        return null;
-    }
-    
-
-    /**
-     * Returns the last occuring attribute string in the specified string.
-     * <code>null</code> is returned if no attribute string is available.
-     * <P>
-     * Calling this method is only safe if the current proposal mode is really
-     * <code>PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL</code>.
-     */
-    public static String getAttributeStringFromDocumentStringToPrefix(String docStringToPrefix) {
-        int index = docStringToPrefix.lastIndexOf('=');
-        if (index == -1) {
-        	return null;
-        }
-        String subString = docStringToPrefix.substring(0, index);
-        subString = subString.trim();
-        
-        index = subString.lastIndexOf(' ');
-        if(index > 0) {
-            subString = subString.substring(index+1, subString.length());
-        }
-        index = subString.lastIndexOf('\n');
-        if(index > 0) {
-            subString = subString.substring(index+1, subString.length());
-        }
-        index = subString.lastIndexOf('\r');
-        if(index > 0) {
-            subString = subString.substring(index+1, subString.length());
-        }
-        return trimBeginning(subString);
-    }
-    
-    private static String trimBeginning(String toBeTrimmed) {
-		int i= 0;
-		while ((i != toBeTrimmed.length()) && Character.isWhitespace(toBeTrimmed.charAt(i))) {
-			i++;
-		}
-		return toBeTrimmed.substring(i);
-	}
-
-
-    /**
-     * Returns whether the specified element name is known
-     */
-    protected boolean isKnownElement(String elementName) {
-    	if (elementName.equals("target") || elementName.equals("project")) { //$NON-NLS-1$ //$NON-NLS-2$
-    		return true;
-    	} 
-		AntProjectNode node= antModel.getProjectNode();
-    	if (node != null) {
-    		Project antProject= node.getProject();
-    		if (ComponentHelper.getComponentHelper(antProject).getDefinition(elementName) != null) {
-    			return true;
-    		}
-    		//not everything is a task or type (nested elements)
-    		if (getDtd().getElement(elementName) != null) {
-    			return true;
-    		}
-    		
-    		if (getNestedType() != null) {
-    			return true;
-    		}
-    	}
-    	
-        return false;
-    }
-
-    private Class getTaskClass(String taskName) {
-    	AntProjectNode node= antModel.getProjectNode();
-    	if (node != null) {
-    		Project antProject= node.getProject();
-    		Map tasksAndTypes= ComponentHelper.getComponentHelper(antProject).getAntTypeTable();
-    		return (Class)tasksAndTypes.get(taskName);
-    	}
-    	return null;
-    }
-
-    /**
-     * Finds the parent task element in respect to the cursor position.
-     * 
-     * @return the parent task element or <code>null</code> if not found.
-     */
-    protected String getParentName(IDocument document, int aLineNumber, int aColumnNumber) {
-    	if (document.getLength() == 0) {
-    		return null;
-    	}
-    	AntProjectNode project= antModel.getProjectNode();
-    	if (project == null) {
-    		return null;
-    	}
-    	int offset= getOffset(document, aLineNumber, aColumnNumber);
-    	if (offset == -1) {
-    		return null;
-    	}
-    	AntElementNode node= project.getNode(offset);
-    	if (node == null) {
-    		node= antModel.getOpenElement();
-    	}
-    	if (node == null) {
-    		return ""; //$NON-NLS-1$
-    	} else if (node instanceof AntTaskNode) {
-    		String name= node.getName();
-    		if (offset <= node.getOffset() + name.length() - 1) {
-    			//not really the enclosing node as the offset is within the name of the node
-    			node= node.getParentNode();
-    		} else {
-    			return name;
-    		}
-    	}
-    	if (node instanceof AntTaskNode) {
-    		return node.getName();
-    	} else if (node instanceof AntTargetNode) {
-    		return "target"; //$NON-NLS-1$
-    	} else {
-    		return "project"; //$NON-NLS-1$
-    	}
-    }
-
-    /**
-     * Return the properties as defined in the entire buildfile
-     * 
-     * @return a map with all the found properties
-     */
-    private Map findPropertiesFromDocument() {
-    	Project project= antModel.getProjectNode().getProject();
-        return project.getProperties();
-    }
-    
-    private Map getTargets() {
-    	Project project = antModel.getProjectNode().getProject();  
-    	return project.getTargets();
-    }
-
-    protected File getEditedFile() {
-    	IWorkbenchPage page= AntUIPlugin.getActivePage();
-    	if (page == null) {
-    		return null;
-    	}
-		IEditorPart editor= page.getActiveEditor();
-		if (editor == null) {
-			return null;
-		}
-        FileEditorInput input = (FileEditorInput) editor.getEditorInput();
-        String projectPath = input.getFile().getProject().getLocation().toFile().getAbsolutePath();
-        String  projectRelativeFilePath = input.getFile().getFullPath().removeFirstSegments(1).makeRelative().toString();
-        return new File(projectPath + File.separator + projectRelativeFilePath);
-    }
-    
-    private String getOpenElementName() {
-    	AntElementNode node= antModel.getOpenElement();
-    	if (node == null) {
-    		return null;
-    	}
-    	return node.getName();
-    }
-
-    /**
-     * Finds the enclosing target in respect to the cursor position and returns its name  
-     * 
-     * @return the name of the enclosing target or <code>null</code> if not found 
-	 * or the element is not contained in a target.
-     */
- 	private String getEnclosingTargetName(IDocument document, int aLineNumber, int aColumnNumber) {
-
-       AntProjectNode project= antModel.getProjectNode();
-       int offset= getOffset(document, aLineNumber, aColumnNumber);
-       if(offset == -1) {
-       		return null;
-       }
-       AntElementNode node= project.getNode(offset);
-       if (node instanceof AntTaskNode) {
-       		node= node.getParentNode();
-       		if (!(node instanceof AntTargetNode)) {
-       			//top level task
-       			node= null;
-       		}
-       } else if (node instanceof AntProjectNode) {
-       		node= null;
-       }
-       String targetName = null;
-       if(node == null 
-       		|| (targetName = ((AntTargetNode)node).getTarget().getName()) == null
-			|| targetName.length() == 0) {
-       		return null;
-       }
-       return targetName;
- 	}
- 	
- 	private int getOffset(IDocument document, int line, int column) {
- 		try {
-			return document.getLineOffset(line ) + column - 1;
-		} catch (BadLocationException e) {
-			return -1;
-		}
- 	}
-	
-	/**
-	 * Sets this processor's set of characters triggering the activation of the
-	 * completion proposal computation.
-	 * 
-	 * @param activationSet the activation set
-	 */
-	public void setCompletionProposalAutoActivationCharacters(char[] activationSet) {
-		autoActivationChars= activationSet;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#extractPrefix(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	protected String extractPrefix(ITextViewer textViewer, int offset) {
-		return getPrefixFromDocument(textViewer.getDocument().get(), offset);
-	}
-
-	/**
-	 * Cut out angular brackets for relevance sorting, since the template name
-	 * does not contain the brackets.
-	 */
-	protected int getRelevance(Template template, String prefix) {
-		if (prefix.startsWith("<")) //$NON-NLS-1$
-			prefix= prefix.substring(1);
-		if (template.getName().startsWith(prefix))
-			return 90; 
-		return 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getTemplates(java.lang.String)
-	 */
-	protected Template[] getTemplates(String contextTypeId) {
-		return AntTemplateAccess.getDefault().getTemplateStore().getTemplates(contextTypeId);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getContextType(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	protected TemplateContextType getContextType(ITextViewer textViewer, IRegion region) {
-		 switch (determineProposalMode(textViewer.getDocument(), cursorPosition, getCurrentPrefix())) {
-            case PROPOSAL_MODE_TASK_PROPOSAL:
-            	return AntTemplateAccess.getDefault().getContextTypeRegistry().getContextType(TaskContextType.TASK_CONTEXT_TYPE);
-            case PROPOSAL_MODE_BUILDFILE:
-            	return AntTemplateAccess.getDefault().getContextTypeRegistry().getContextType(BuildFileContextType.BUILDFILE_CONTEXT_TYPE);
-			case PROPOSAL_MODE_NONE:
-            case PROPOSAL_MODE_ATTRIBUTE_PROPOSAL:
-            case PROPOSAL_MODE_TASK_PROPOSAL_CLOSING:
-            case PROPOSAL_MODE_ATTRIBUTE_VALUE_PROPOSAL:
-            case PROPOSAL_MODE_PROPERTY_PROPOSAL:
-            case PROPOSAL_MODE_NESTED_ELEMENT_PROPOSAL:
-            default :
-            	return null;
-        }
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#getImage(org.eclipse.jface.text.templates.Template)
-     */
-    protected Image getImage(Template template) {
-        return AntUIImages.getImage(IAntUIConstants.IMG_TEMPLATE_PROPOSAL);
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#createContext(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	protected TemplateContext createContext(ITextViewer contextViewer, IRegion region) {
-		TemplateContextType contextType= getContextType(contextViewer, region);
-		if (contextType != null) {
-			IDocument document= contextViewer.getDocument();
-			return new AntContext(contextType, document, antModel, region.getOffset(), region.getLength());
-		}
-		return null;
-	}
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.templates.TemplateCompletionProcessor#createProposal(org.eclipse.jface.text.templates.Template, org.eclipse.jface.text.templates.TemplateContext, org.eclipse.jface.text.Region, int)
-	 */
-	protected ICompletionProposal createProposal(Template template,TemplateContext context, IRegion region, int relevance) {
-		AntTemplateProposal proposal= new AntTemplateProposal(template, context, region, getImage(template), relevance);
-		proposal.setInformationControlCreator(new AntTemplateInformationControlCreator());
-		return proposal;
-	}
-
-	protected ISchema getDtd() {
-		if (fgDtd == null) {
-			IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-						throws InvocationTargetException, InterruptedException {
-					try {
-						fgDtd= parseDtd();
-					} catch (IOException e) {
-			        	AntUIPlugin.log(e);
-			        } catch (ParseError e) {
-						AntUIPlugin.log(e);
-					}
-				}
-			};
-			
-			IProgressService service= PlatformUI.getWorkbench().getProgressService();
-			try {
-				service.busyCursorWhile(runnable);
-			} catch (InvocationTargetException e) {
-			} catch (InterruptedException e) {
-			}
-		}
-		return fgDtd;
-	}
-
-    /**
-     * The provider for all task and attribute descriptions.
-     */
-	private TaskDescriptionProvider getDescriptionProvider() {
-		return TaskDescriptionProvider.getDefault();
-	}
-	
-	protected static void resetCodeCompletionDataStructures() {
-		fgDtd= null;
-		TaskDescriptionProvider.reset();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorMessages.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorMessages.java
deleted file mode 100644
index 8661d5d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorMessages.java
+++ /dev/null
@@ -1,37 +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.ant.internal.ui.editor;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntEditorMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.editor.AntEditorMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle fgResourceBundle = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntEditorMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-
-	protected static ResourceBundle getResourceBundle() {
-		return fgResourceBundle;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorMessages.properties b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorMessages.properties
deleted file mode 100644
index 8ed6799..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorMessages.properties
+++ /dev/null
@@ -1,37 +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
-#     John-Mason P. Shackelford - bug 40255
-###############################################################################
-
-ContentAssistProposal.label=Content &Assist@Ctrl+Space
-ContentAssistProposal.tooltip=Content Assist
-ContentAssistProposal.image=
-ContentAssistProposal.description=Content Assist
-
-ContentFormat.label=F&ormat@Ctrl+Shift+F
-ContentFormat.tooltip=Format build file source
-ContentFormat.image=
-ContentFormat.description=Format build file source
-
-AntEditorCompletionProcessor.Required___4=Required:
-AntEditorCompletionProcessor.28=No attribute completions available
-AntEditorCompletionProcessor.29=No task completions available
-AntEditorCompletionProcessor.30=No task closing completions available
-AntEditorCompletionProcessor.31=No attribute value completions available
-AntEditorCompletionProcessor.32=No property completions available
-AntEditorCompletionProcessor.33=No completions available
-AntEditorCompletionProcessor.39=Closing tag
-AntEditorCompletionProcessor.59=Default: {0}
-AntEditorCompletionProcessor.1=Not required
-AntEditorCompletionProcessor.2=Required
-
-AntAnnotationHover.multipleMarkersAtThisLine=Multiple markers at this line
-
-AntEditor.3=Current text selection does not resolve to an Ant reference
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorSourceViewerConfiguration.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorSourceViewerConfiguration.java
deleted file mode 100644
index 45f34a7..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntEditorSourceViewerConfiguration.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug fixes
- *     John-Mason P. Shackelford - bug 40255
- *     Rob Dingwell - bug 68886
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.ant.internal.ui.AntSourceViewerConfiguration;
-import org.eclipse.ant.internal.ui.ColorManager;
-import org.eclipse.ant.internal.ui.editor.derived.HTMLTextPresenter;
-import org.eclipse.ant.internal.ui.editor.formatter.XmlDocumentFormattingStrategy;
-import org.eclipse.ant.internal.ui.editor.formatter.XmlElementFormattingStrategy;
-import org.eclipse.ant.internal.ui.editor.text.AntDocumentSetupParticipant;
-import org.eclipse.ant.internal.ui.editor.text.AntEditorPartitionScanner;
-import org.eclipse.ant.internal.ui.editor.text.AntInformationProvider;
-import org.eclipse.ant.internal.ui.editor.text.NotifyingReconciler;
-import org.eclipse.ant.internal.ui.editor.text.XMLAnnotationHover;
-import org.eclipse.ant.internal.ui.editor.text.XMLReconcilingStrategy;
-import org.eclipse.ant.internal.ui.editor.text.XMLTextHover;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.text.DefaultInformationControl;
-import org.eclipse.jface.text.IAutoEditStrategy;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.contentassist.ContentAssistant;
-import org.eclipse.jface.text.contentassist.IContentAssistant;
-import org.eclipse.jface.text.formatter.IContentFormatter;
-import org.eclipse.jface.text.formatter.MultiPassContentFormatter;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-import org.eclipse.jface.text.information.IInformationPresenter;
-import org.eclipse.jface.text.information.IInformationProvider;
-import org.eclipse.jface.text.information.InformationPresenter;
-import org.eclipse.jface.text.reconciler.IReconciler;
-import org.eclipse.jface.text.source.IAnnotationHover;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * The source viewer configuration for the Ant Editor.
- */
-public class AntEditorSourceViewerConfiguration extends AntSourceViewerConfiguration {
-    
-    private AntEditor fEditor;
-
-    private XMLTextHover fTextHover;
-    
-    private ContentAssistant fContentAssistant;
-    
-    private AntAutoEditStrategy[] fAutoEditorStategies;
-    
-    /**
-     * Creates an instance with the specified color manager.
-     */
-    public AntEditorSourceViewerConfiguration(AntEditor editor) {
-	    super();
-	    fEditor= editor;
-    }    
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getContentAssistant(ISourceViewer)
-     */
-    public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-        fContentAssistant= new ContentAssistant();
-        AntEditorCompletionProcessor processor = new AntEditorCompletionProcessor(fEditor.getAntModel()); 
-		fContentAssistant.setContentAssistProcessor(processor, IDocument.DEFAULT_CONTENT_TYPE);
-		fContentAssistant.setContentAssistProcessor(processor, AntEditorPartitionScanner.XML_TAG);
-        fContentAssistant.setDocumentPartitioning(AntDocumentSetupParticipant.ANT_PARTITIONING);
-		
-		String triggers= fPreferenceStore.getString(AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS);
-		if (triggers != null) {
-			processor.setCompletionProposalAutoActivationCharacters(triggers.toCharArray());
-		}
-				
-		fContentAssistant.enableAutoInsert(fPreferenceStore.getBoolean(AntEditorPreferenceConstants.CODEASSIST_AUTOINSERT));
-		fContentAssistant.enableAutoActivation(fPreferenceStore.getBoolean(AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION));
-		fContentAssistant.setAutoActivationDelay(fPreferenceStore.getInt(AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY));
-		fContentAssistant.setProposalPopupOrientation(IContentAssistant.PROPOSAL_OVERLAY);
-		fContentAssistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_ABOVE);
-		fContentAssistant.setInformationControlCreator(getInformationControlCreator(sourceViewer));
-
-		ColorManager manager= ColorManager.getDefault();	
-		Color background= getColor(AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, manager);			
-		fContentAssistant.setContextInformationPopupBackground(background);
-		fContentAssistant.setContextSelectorBackground(background);
-		fContentAssistant.setProposalSelectorBackground(background);
-
-		Color foreground= getColor(AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, manager);
-		fContentAssistant.setContextInformationPopupForeground(foreground);
-		fContentAssistant.setContextSelectorForeground(foreground);
-		fContentAssistant.setProposalSelectorForeground(foreground);
-			
-        IInformationControlCreator creator = getInformationControlCreator(true);
-		fContentAssistant.setInformationControlCreator(creator);
-
-        return fContentAssistant;
-    }
-
-    protected IInformationControlCreator getInformationControlCreator(final boolean cutDown) {
-        return new IInformationControlCreator() {
-            public IInformationControl createInformationControl(Shell parent) {
-                int style= cutDown ? SWT.NONE : (SWT.V_SCROLL | SWT.H_SCROLL);
-                return new DefaultInformationControl(parent, style, new HTMLTextPresenter(cutDown));
-            }
-        };
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getReconciler(org.eclipse.jface.text.source.ISourceViewer)
-     */
-    public IReconciler getReconciler(ISourceViewer sourceViewer) {
-	    NotifyingReconciler reconciler= new NotifyingReconciler(new XMLReconcilingStrategy(fEditor));
-	    reconciler.setDelay(XMLReconcilingStrategy.DELAY);
-	    reconciler.addReconcilingParticipant(fEditor);
-	    return reconciler;
-    }
-
-	/*
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getAnnotationHover(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
-		return new XMLAnnotationHover();
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getInformationControlCreator(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IInformationControlCreator getInformationControlCreator(ISourceViewer sourceViewer) {
-		return getInformationControlCreator(true);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getTextHover(org.eclipse.jface.text.source.ISourceViewer, java.lang.String)
-	 */
-	public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) {
-		if (fTextHover == null) {
-			fTextHover= new XMLTextHover(fEditor);
-		}
-		return fTextHover;
-	}
-
-	private Color getColor(String key, ColorManager manager) {
-		RGB rgb= PreferenceConverter.getColor(fPreferenceStore, key);
-		return manager.getColor(rgb);
-	}
-	
-	protected void changeConfiguration(PropertyChangeEvent event) {
-		String p= event.getProperty();
-
-		ColorManager manager= ColorManager.getDefault();
-		if (AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION.equals(p)) {
-			boolean enabled= fPreferenceStore.getBoolean(AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION);
-			fContentAssistant.enableAutoActivation(enabled);
-		} else if (AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY.equals(p) && fContentAssistant != null) {
-			int delay= fPreferenceStore.getInt(AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY);
-			fContentAssistant.setAutoActivationDelay(delay);
-		} else if (AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND.equals(p) && fContentAssistant != null) {
-			Color c= getColor(AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, manager);
-			fContentAssistant.setProposalSelectorForeground(c);
-		} else if (AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND.equals(p) && fContentAssistant != null) {
-			Color c= getColor(AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, manager);
-			fContentAssistant.setProposalSelectorBackground(c);
-		} else if (AntEditorPreferenceConstants.CODEASSIST_AUTOINSERT.equals(p) && fContentAssistant != null) {
-			boolean enabled= fPreferenceStore.getBoolean(AntEditorPreferenceConstants.CODEASSIST_AUTOINSERT);
-			fContentAssistant.enableAutoInsert(enabled);
-		} else if (AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS.equals(p)) {
-			changeContentAssistProcessor();
-		}
-	}
-	
-	private void changeContentAssistProcessor() {
-		String triggers= fPreferenceStore.getString(AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS);
-		if (triggers != null) {
-			AntEditorCompletionProcessor cp= (AntEditorCompletionProcessor)fContentAssistant.getContentAssistProcessor(IDocument.DEFAULT_CONTENT_TYPE);
-			if (cp != null) {
-				cp.setCompletionProposalAutoActivationCharacters(triggers.toCharArray());
-			}
-		}		
-	}
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getContentFormatter(org.eclipse.jface.text.source.ISourceViewer)
-     */
-	public IContentFormatter getContentFormatter(ISourceViewer sourceViewer) {
-		 
-		MultiPassContentFormatter formatter = new MultiPassContentFormatter(
-				getConfiguredDocumentPartitioning(sourceViewer),
-		         IDocument.DEFAULT_CONTENT_TYPE);
-		 
-		
-		formatter.setMasterStrategy(new XmlDocumentFormattingStrategy());
-		
-		formatter.setSlaveStrategy(new XmlElementFormattingStrategy(), AntEditorPartitionScanner.XML_TAG);
-		
-		//formatter.setSlaveStrategy(new XmlCommentFormattingStrategy(), AntEditorPartitionScanner.XML_COMMENT);
-		 
-		return formatter;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getInformationPresenter(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IInformationPresenter getInformationPresenter(ISourceViewer sourceViewer) {
-		InformationPresenter presenter= new InformationPresenter(getInformationPresenterControlCreator());
-		presenter.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-		IInformationProvider provider= new AntInformationProvider(new XMLTextHover(fEditor));
-		presenter.setInformationProvider(provider, IDocument.DEFAULT_CONTENT_TYPE);
-		presenter.setInformationProvider(provider, AntEditorPartitionScanner.XML_CDATA);
-		presenter.setInformationProvider(provider, AntEditorPartitionScanner.XML_COMMENT);
-		presenter.setInformationProvider(provider, AntEditorPartitionScanner.XML_DTD);
-		presenter.setInformationProvider(provider, AntEditorPartitionScanner.XML_TAG);
-		presenter.setSizeConstraints(60, 10, true, true);
-		return presenter;
-	}
-	
-	/**
-	 * Returns the information presenter control creator. The creator is a factory creating the
-	 * presenter controls for the given source viewer. This implementation always returns a creator
-	 * for <code>DefaultInformationControl</code> instances.
-	 * 
-	 * @return an information control creator
-	 * @since 3.1
-	 */
-	public static IInformationControlCreator getInformationPresenterControlCreator() {
-		return new IInformationControlCreator() {
-			public IInformationControl createInformationControl(Shell parent) {
-				int shellStyle= SWT.RESIZE;
-				int style= SWT.V_SCROLL | SWT.H_SCROLL;
-				return new DefaultInformationControl(parent, shellStyle, style, new HTMLTextPresenter(false));
-			}
-		};
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getIndentPrefixes(org.eclipse.jface.text.source.ISourceViewer, java.lang.String)
-	 */
-	public String[] getIndentPrefixes(ISourceViewer sourceViewer, String contentType) {
-		List list= new ArrayList();
-
-		// prefix[0] is either '\t' or ' ' x tabWidth, depending on useSpaces
-				
-		int tabWidth= fEditor.getTabSize();
-		boolean useSpaces= fEditor.isTabConversionEnabled();
-		
-		for (int i= 0; i <= tabWidth; i++) {
-		    StringBuffer prefix= new StringBuffer();
-			if (useSpaces) {
-			    for (int j= 0; j + i < tabWidth; j++) {
-			    	prefix.append(' ');
-			    }
-		    	
-				if (i != 0) {
-		    		prefix.append('\t');
-				}
-			} else {    
-			    for (int j= 0; j < i; j++) {
-			    	prefix.append(' ');
-			    }
-				if (i != tabWidth) {
-		    		prefix.append('\t');
-				}
-			}
-			
-			list.add(prefix.toString());
-		}
-
-		list.add(""); //$NON-NLS-1$
-		
-		return (String[]) list.toArray(new String[list.size()]);	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getAutoEditStrategies(org.eclipse.jface.text.source.ISourceViewer, java.lang.String)
-	 */
-	public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
-		if (AntEditorPartitionScanner.XML_COMMENT.equals(contentType)) {
-			return super.getAutoEditStrategies(sourceViewer, contentType);
-		} 
-		if (fAutoEditorStategies == null) {
-			fAutoEditorStategies= new AntAutoEditStrategy[] {new AntAutoEditStrategy(fEditor.getAntModel())};
-		}
-		return fAutoEditorStategies;
-	}
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getHyperlinkDetectors(org.eclipse.jface.text.source.ISourceViewer)
-     */
-    public IHyperlinkDetector[] getHyperlinkDetectors(ISourceViewer sourceViewer) {
-        IHyperlinkDetector[] inheritedDetectors= super.getHyperlinkDetectors(sourceViewer);
-		
-		if (fEditor == null) {
-			return inheritedDetectors;
-		}
-		
-		int inheritedDetectorsLength= inheritedDetectors != null ? inheritedDetectors.length : 0;
-		IHyperlinkDetector[] detectors= new IHyperlinkDetector[inheritedDetectorsLength + 1];
-		detectors[0]= new AntElementHyperlinkDetector(fEditor); 
-		for (int i= 0; i < inheritedDetectorsLength; i++) {
-            detectors[i+1]= inheritedDetectors[i];
-        }
-		
-		return detectors;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntElementHyperlink.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntElementHyperlink.java
deleted file mode 100644
index 689833f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntElementHyperlink.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.editor;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-
-public class AntElementHyperlink implements IHyperlink {
-
-    private IRegion fRegion= null;
-    private Object fLinkTarget= null;
-    private AntEditor fEditor= null;
-    
-    public AntElementHyperlink(AntEditor editor, IRegion region, Object linkTarget) {
-        
-       fRegion= region;
-       fLinkTarget= linkTarget;
-       fEditor= editor;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkRegion()
-     */
-    public IRegion getHyperlinkRegion() {
-        return fRegion;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-     */
-    public String getTypeLabel() {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-     */
-    public String getHyperlinkText() {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.hyperlink.IHyperlink#open()
-     */
-    public void open() {
-        fEditor.openTarget(fLinkTarget);
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntElementHyperlinkDetector.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntElementHyperlinkDetector.java
deleted file mode 100644
index a65071c..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntElementHyperlinkDetector.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.editor;
-
-import org.eclipse.ant.internal.ui.editor.text.XMLTextHover;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.IHyperlinkDetector;
-
-public class AntElementHyperlinkDetector implements IHyperlinkDetector {
-
-    private AntEditor fEditor;
-    
-    public AntElementHyperlinkDetector(AntEditor editor) {    
-        fEditor= editor;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlinkDetector#detectHyperlinks(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion, boolean)
-	 */
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		 if (region == null) {
-			return null;
-        }
-        region= XMLTextHover.getRegion(textViewer, region.getOffset());
-        Object linkTarget= fEditor.findTarget(region);
-		if (linkTarget == null) {
-			return null;
-		}
-        return new IHyperlink[] {new AntElementHyperlink(fEditor, region, linkTarget)};
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntSourceViewerInformationControl.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntSourceViewerInformationControl.java
deleted file mode 100644
index eaed6a1..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/AntSourceViewerInformationControl.java
+++ /dev/null
@@ -1,238 +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.ant.internal.ui.editor;
-
-import org.eclipse.ant.internal.ui.AntSourceViewerConfiguration;
-import org.eclipse.ant.internal.ui.editor.text.AntDocumentSetupParticipant;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlExtension;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-public class AntSourceViewerInformationControl implements IInformationControl, IInformationControlExtension, DisposeListener {
-	/** The control's shell */
-	private Shell fShell;
-	
-	/** Border thickness in pixels. */
-	private static final int BORDER= 1;
-	
-	/** The control's source viewer */
-	private SourceViewer fViewer;
-	
-	/** The control's text widget */
-	private StyledText fText;
-	
-	public AntSourceViewerInformationControl(Shell parent) {
-		GridLayout layout;
-		GridData gd;
-
-		fShell= new Shell(parent, SWT.NO_FOCUS | SWT.ON_TOP | SWT.NO_TRIM);
-		Display display= fShell.getDisplay();		
-		fShell.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
-
-		Composite composite= fShell;
-		layout= new GridLayout(1, false);
-		int border= ((SWT.NO_TRIM & SWT.NO_TRIM) == 0) ? 0 : BORDER;
-		layout.marginHeight= border;
-		layout.marginWidth= border;
-		composite.setLayout(layout);
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		composite.setLayoutData(gd);
-		fViewer= createViewer(composite);
-		
-		fText= fViewer.getTextWidget();
-		gd= new GridData(GridData.BEGINNING | GridData.FILL_BOTH);
-		fText.setLayoutData(gd);
-		fText.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_FOREGROUND));
-		fText.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-			
-		fText.addKeyListener(new KeyListener() {
-				
-			public void keyPressed(KeyEvent e)  {
-				if (e.character == 0x1B) // ESC
-					fShell.dispose();
-			}
-				
-			public void keyReleased(KeyEvent e) {}
-		});
-	}
-	
-	
-    private SourceViewer createViewer(Composite parent) {
-    	SourceViewer viewer = new SourceViewer(parent, null, SWT.NONE);
-          
-		SourceViewerConfiguration configuration = new AntSourceViewerConfiguration();
-		viewer.configure(configuration);
-		viewer.setEditable(false);	
-		Font font= JFaceResources.getFont(JFaceResources.TEXT_FONT);
-		viewer.getTextWidget().setFont(font);    
-		        
-		return viewer;
-    }
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setInformation(java.lang.String)
-	 */
-	public void setInformation(String content) {
-		if (content == null) {
-			fViewer.setInput(null);
-			return;
-		}
-		IDocument document = new Document(content);       
-		new AntDocumentSetupParticipant().setup(document);
-		fViewer.setDocument(document);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setSizeConstraints(int, int)
-	 */
-	public void setSizeConstraints(int maxWidth, int maxHeight) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#computeSizeHint()
-	 */
-	public Point computeSizeHint() {
-		return fShell.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		fShell.setVisible(visible);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setSize(int, int)
-	 */
-	public void setSize(int width, int height) {
-		fShell.setSize(width, height);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setLocation(org.eclipse.swt.graphics.Point)
-	 */
-	public void setLocation(Point location) {
-		Rectangle trim= fShell.computeTrim(0, 0, 0, 0);
-		Point textLocation= fText.getLocation();				
-		location.x += trim.x - textLocation.x;		
-		location.y += trim.y - textLocation.y;		
-		fShell.setLocation(location);		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#dispose()
-	 */
-	public void dispose() {
-		if (fShell != null && !fShell.isDisposed()) {
-			fShell.dispose();
-		} else {
-			widgetDisposed(null);
-		}
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#addDisposeListener(org.eclipse.swt.events.DisposeListener)
-	 */
-	public void addDisposeListener(DisposeListener listener) {
-		fShell.addDisposeListener(listener);
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#removeDisposeListener(org.eclipse.swt.events.DisposeListener)
-	 */
-	public void removeDisposeListener(DisposeListener listener) {
-		fShell.removeDisposeListener(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setForegroundColor(org.eclipse.swt.graphics.Color)
-	 */
-	public void setForegroundColor(Color foreground) {
-		fText.setForeground(foreground);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setBackgroundColor(org.eclipse.swt.graphics.Color)
-	 */
-	public void setBackgroundColor(Color background) {
-		fText.setBackground(background);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#isFocusControl()
-	 */
-	public boolean isFocusControl() {
-		return fText.isFocusControl();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#setFocus()
-	 */
-	public void setFocus() {
-		fShell.forceFocus();
-		fText.setFocus();
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#addFocusListener(org.eclipse.swt.events.FocusListener)
-	 */
-	public void addFocusListener(FocusListener listener) {
-		fText.addFocusListener(listener);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControl#removeFocusListener(org.eclipse.swt.events.FocusListener)
-	 */
-	public void removeFocusListener(FocusListener listener) {
-		fText.removeFocusListener(listener);
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControlExtension#hasContents()
-	 */
-	public boolean hasContents() {
-		return fText.getCharCount() > 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent)
-	 */
-	public void widgetDisposed(DisposeEvent e) {
-		fShell= null;
-		fText= null;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/DecayCodeCompletionDataStructuresThread.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/DecayCodeCompletionDataStructuresThread.java
deleted file mode 100644
index c0228a7..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/DecayCodeCompletionDataStructuresThread.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.editor;
-
-
-public class DecayCodeCompletionDataStructuresThread extends Thread {
-	
-	private static final int fgDelay= 6000 * 5; //5 minutes 
-	
-	private static DecayCodeCompletionDataStructuresThread fgInstance;
-	
-	public static DecayCodeCompletionDataStructuresThread getDefault() {
-		if (fgInstance == null) {
-			fgInstance= new DecayCodeCompletionDataStructuresThread();
-		}
-		return fgInstance;
-	}
-	
-	/**
-	 * Creates a new background thread. The thread 
-	 * runs with minimal priority.
-	 */
-	private DecayCodeCompletionDataStructuresThread() {
-		super("Decay Ant Data Structures"); //$NON-NLS-1$
-		setPriority(Thread.MIN_PRIORITY);
-		setDaemon(true);
-		fgInstance= this;
-	}
-	
-	/**
-	 * The background activity that is triggered when the last <code>AntModel</code> is disposed.
-	 * Waits for the required delay and then nulls out the memory expensive Ant code
-	 * completion data structures.
-	 * If an <code>AntModel</code> is created during the wait, the thread is
-	 * interrupted and no nulling out occurs.
-	 */
-	public void run() {
-		synchronized (this) {
-			try {
-				wait(fgDelay);
-				AntEditorCompletionProcessor.resetCodeCompletionDataStructures();
-			} catch (InterruptedException x) {
-			}
-		}
-	}
-	
-	/**
-	 * Cancels the background thread.
-	 */
-	public static void cancel() {
-		if (fgInstance != null) {
-			synchronized (fgInstance) {
-				fgInstance.interrupt();
-				fgInstance= null;
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/TaskDescriptionProvider.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/TaskDescriptionProvider.java
deleted file mode 100644
index 74cd203..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/TaskDescriptionProvider.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug fixes
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.IProgressService;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * The <code>TaskDescriptionProvider</code> provides the additional descriptions
- * for tasks and attributes for the code assist.
- * <P>
- * Descriptions for task are originally provided with the XML file
- * <code>TASKS_DESCRIPTION_XML_FILE_NAME</code>. This file is parsed by the
- * provider and requested descriptions are returned.
- * <P>
- */
-public class TaskDescriptionProvider {
-
-    /**
-     * The file that contains all task descriptions.
-     */
-    public static final String TASKS_DESCRIPTION_XML_FILE_NAME = "/anttasks_1.6.0.xml"; //$NON-NLS-1$
-
-    public static final String XML_TAG_TASKS = "tasks"; //$NON-NLS-1$
-    public static final String XML_TAG_TASK = "task"; //$NON-NLS-1$
-    public static final String XML_TAG_ELEMENTS = "elements"; //$NON-NLS-1$
-    public static final String XML_TAG_ATTRIBUTE = "attribute"; //$NON-NLS-1$
-    public static final String XML_TAG_ATTRIBUTES = "attributes"; //$NON-NLS-1$
-    public static final String XML_TAG_ELEMENT = "element"; //$NON-NLS-1$
-    public static final String XML_TAG_STRUCTURE = "structure"; //$NON-NLS-1$
-    public static final String XML_TAG_DESCRIPTION = "description"; //$NON-NLS-1$
-    public static final String XML_ATTRIBUTE_NAME = "name"; //$NON-NLS-1$
-    public static final String XML_ATTRIBUTE_REQUIRED = "required"; //$NON-NLS-1$
-    
-    private static TaskDescriptionProvider fgDefault;
-
-    private Map taskNodes= null;
-    
-    /**
-     * Meant to be a singleton
-     */
-    private TaskDescriptionProvider() {
-    }
-    
-    public static TaskDescriptionProvider getDefault() {
-    	if (fgDefault == null) {
-    		fgDefault= new TaskDescriptionProvider();
-    		IRunnableWithProgress runnable= new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor)
-									throws InvocationTargetException, InterruptedException {					
-						fgDefault.initialize();
-				}
-			};
-			
-			IProgressService service= PlatformUI.getWorkbench().getProgressService();
-			try {
-				service.busyCursorWhile(runnable);
-			} catch (InvocationTargetException e) {
-			} catch (InterruptedException e) {
-			}
-    	}
-    	return fgDefault;
-    }
-
-    /**
-     * Parses the task description xml file and stores the information.
-     */
-    protected void initialize() {
-    	taskNodes= new HashMap();
-        Document tempDocument = parseFile(TASKS_DESCRIPTION_XML_FILE_NAME);
-        Node tempRootNode = tempDocument.getDocumentElement();
-        NodeList tempChildNodes = tempRootNode.getChildNodes();
-        for(int i=0; i<tempChildNodes.getLength(); i++) {
-            Node tempNode = tempChildNodes.item(i);
-            if(tempNode.getNodeType() == Node.ELEMENT_NODE) {
-                String tempTagName = tempNode.getNodeName();
-                if(tempTagName.equals(XML_TAG_TASK)) {
-                    NamedNodeMap tempAttributes = tempNode.getAttributes();
-                    Node tempAttributeNode = tempAttributes.getNamedItem(XML_ATTRIBUTE_NAME);
-                    if(tempAttributeNode != null) {
-                        String tempTaskName = tempAttributeNode.getNodeValue();
-                        if(tempTaskName != null) {
-                            taskNodes.put(tempTaskName, tempNode);
-                        }
-                    }
-                }
-            }
-        }
-    }
-    
-
-    /**
-     * Returns the (DOM) document as a result of parsing the file with the 
-     * specified file name.
-     * <P>
-     * The file will be loaded as resource, thus must begin with '/' and must
-     * be relative to the classpath.
-     */
-    private Document parseFile(String aFileName) {
-        Document tempDocument = null;
-
-        DocumentBuilderFactory tempFactory = DocumentBuilderFactory.newInstance();
-        tempFactory.setIgnoringComments(true);
-        tempFactory.setIgnoringElementContentWhitespace(true);
-        tempFactory.setCoalescing(true);
-
-        try {
-            DocumentBuilder tempDocBuilder = tempFactory.newDocumentBuilder();
-            tempDocBuilder.setErrorHandler(new DefaultHandler());
-            URL tempURL = getClass().getResource(aFileName);
-            InputSource tempInputSource = new InputSource(tempURL.toExternalForm());
-            tempDocument = tempDocBuilder.parse(tempInputSource);
-        } catch (ParserConfigurationException e) {
-			AntUIPlugin.log(e);
-        }
-        catch (IOException ioException) {
-			AntUIPlugin.log(ioException);
-        }
-        catch (SAXException saxException) {
-			AntUIPlugin.log(saxException);
-        }
-
-        return tempDocument;
-    }
-
-    /**
-     * Returns the description string for the specified task.
-     * 
-     * @return description string or <code>null</code> if task not known or
-     * no description available.
-     */
-    public String getDescriptionForTask(String aTaskName) {
-        Element taskElement = (Element)taskNodes.get(aTaskName);
-        if(taskElement != null) {
-            return getDescriptionOfNode(taskElement);
-        }
-        return null;
-    }
-
-
-    /**
-     * Returns the description of the specified node.
-     * <P>
-     * The node must be either one of task node or attribute node.
-     */
-    private String getDescriptionOfNode(Node aNode) {
-        NodeList tempChildNodes = aNode.getChildNodes();
-        for (int i=0; i<tempChildNodes.getLength(); i++) {
-            Node tempNode = tempChildNodes.item(i);
-            if(tempNode instanceof Element && XML_TAG_DESCRIPTION.equals(tempNode.getNodeName())) {
-                Element tempDescriptionElement = (Element)tempNode;
-                Node tempChildNode = tempDescriptionElement.getFirstChild();
-                if(tempChildNode instanceof Text) {
-                    return ((Text)tempChildNode).getData();
-                }
-                break; 
-            }
-        }
-        return null;
-    }
-    
-    /**
-     * Returns the Required value of the specified node.
-     * <P>
-     * Currently the XML file has Required defined as NOTDEFINED in
-     * some cases. If so the value returned is an empty string
-     */
-    protected String getRequiredOfNode(Node aNode) {
-    	
-    	String tmpNodeName = aNode.getNodeName();
-    	String tmpRequiredValue = null;
-    	
-   		if(aNode.getNodeType() == Node.ELEMENT_NODE && 
-   			(XML_TAG_ATTRIBUTE.equals(tmpNodeName) || XML_TAG_ELEMENT.equals(tmpNodeName)) ) {
-        	  
-        	  tmpRequiredValue = aNode.getAttributes().getNamedItem(XML_ATTRIBUTE_REQUIRED).getNodeValue();
-   		}
-   		
-   		if(tmpRequiredValue == null || tmpRequiredValue.equals("NOTDEFINED")) { //$NON-NLS-1$
-   			return ""; //$NON-NLS-1$
-   		}
-   		
-   		return tmpRequiredValue;
-                   
-    }
-
-    
-    /**
-     * Returns the description string for the specified attribute of the 
-     * specified task.
-     * 
-     * @return description string or <code>null</code> if task or attribute 
-     * not known or no description available.
-     */
-    public String getDescriptionForTaskAttribute(String aTaskName, String anAttributeName) {
-        
-        String tmpDescription = null;	
-        	
-        Node tmpAttributesNode = getAttributesNode(aTaskName);
-        	
-        if(tmpAttributesNode != null) {
-        	
-        	tmpDescription = getDescriptionForNodeNamedWithNameInNodeList( XML_TAG_ATTRIBUTE, anAttributeName,
-        																tmpAttributesNode.getChildNodes());															
-    		//If Description is null we try the elements section else we're satisfied.
-    		if( tmpDescription != null ) {
-    			return tmpDescription;
-    		}
-        }
-        //Not yet found. Try the elements Node
-    	tmpAttributesNode = getElementsNode(aTaskName);
-    	if(tmpAttributesNode != null) {
-    		tmpDescription = getDescriptionForNodeNamedWithNameInNodeList( XML_TAG_ELEMENT, anAttributeName,
-            														   tmpAttributesNode.getChildNodes());
-            
-            return tmpDescription;  
-            
-        }
-        return null;
-    }
-    
-	/**
-     * Returns the required string value for the specified attribute of the
-     * specified task.
-     * 
-     * @return required string or <code>null</code> if task or attribute not 
-     * known or no description available.
-     */
-    public String getRequiredAttributeForTaskAttribute(String aTaskName, String anAttributeName) {
- 
-        String tmpRequired = null;	
-        	
-        Node tmpAttributesNode = getAttributesNode(aTaskName);
-        	
-        if(tmpAttributesNode != null) {
-        	
-        	tmpRequired = getRequiredForNodeNamedWithNameInNodeList( XML_TAG_ATTRIBUTE, anAttributeName,
-        																tmpAttributesNode.getChildNodes());															
-    		
-    		//If Required is null we try the elements section else we're satisfied.
-    		if( tmpRequired != null ) {
-    			return tmpRequired;
-    		}
-        }
-        
-        //Not yet found. Try the elements Node
-    	tmpAttributesNode = getElementsNode(aTaskName);
-    	if(tmpAttributesNode != null) {
-    		tmpRequired = getDescriptionForNodeNamedWithNameInNodeList( XML_TAG_ELEMENT, anAttributeName,
-            														   tmpAttributesNode.getChildNodes());
-            //Return it even if its null
-            return tmpRequired;  
-            
-        }
-        
-        //Not found return null
-        return null;
-    }
-    
-    /**
-     * Returns the Elements Node of the specified TaskName
-     * 
-     * @param aTaskName The name of the task
-     * @return The Elements Node of the Task.
-     */
-    private Node getElementsNode(String aTaskName) {
-    	
-    	Node tmpStructureNode = getStructureNode(aTaskName);
-    	if(tmpStructureNode != null) {
-    		return getChildNodeNamedOfTypeFromNode(XML_TAG_ELEMENTS, Node.ELEMENT_NODE,
-    												tmpStructureNode);
-    	}
-    	return null;
-    }
-    
-    /**
-     * Returns the Attributes Node of the specified TaskName
-     * 
-     * @param aTaskName The name of the task
-     * @return The Attributes Node of the Task or <code>null</code> if one
-     * does not exist.
-     */    
-    protected Node getAttributesNode(String aTaskName) {
-    	
-        Node tmpStructureNode = getStructureNode(aTaskName);
-        if(tmpStructureNode != null){
-        	return getChildNodeNamedOfTypeFromNode(XML_TAG_ATTRIBUTES, Node.ELEMENT_NODE,
-                                                             tmpStructureNode);
-    	} 
-        return null;
-    }
-
-    /**
-     * Returns the Structure Node of the specified TaskName
-     * 
-     * @param aTaskName The name of the task
-     * @return The Structure Node of the Task.
-     */        
-    private Node getStructureNode(String aTaskName) {	
-    	Element taskElement = (Element)taskNodes.get(aTaskName);
-        if(taskElement != null) {
-        	//Dig us down to the Structure node
-        	Node structureNode = getChildNodeNamedOfTypeFromNode(XML_TAG_STRUCTURE, Node.ELEMENT_NODE,
-        	                                                     taskElement);
-        	return structureNode;
-        }
-        return null;
-    }
-    
-    /**
-     * Returns the Description for a Node satisfying the criterias in the
-     * NodeList given as Argument.
-     * 
-     * @param aNodeName The Name of the Node
-     * @param anAttributeName The string of the Name value
-     * @param anAttributesNodeList The NodeList to search in.
-     * @return The Description found or null if none is found
-     */
-    private String getDescriptionForNodeNamedWithNameInNodeList( String aNodeName, String anAttributeName,
-    																 NodeList anAttributesNodeList) {
-    	for (int i=0; i<anAttributesNodeList.getLength(); i++) {
-                Node tempNode = anAttributesNodeList.item(i);
-                if(tempNode.getNodeType() == Node.ELEMENT_NODE && aNodeName.equals(tempNode.getNodeName())) {
-                	if( anAttributeName.equals(getTaskAttributeName(tempNode)) ) {
-                    	return getDescriptionOfNode(tempNode);
-                	}
-                }
-        }
-        
-        //Not found
-        return null;																 	
-	}
-	
-	
-    /**
-     * Returns the Name of Task Attribute.
-     * 
-     * @return The Name of the Attribute.
-     */
-    public String getTaskAttributeName(Node aTaskAttributeNode) {
-    	NamedNodeMap tmpNamedNodeMap = aTaskAttributeNode.getAttributes();	
-    	return tmpNamedNodeMap.getNamedItem(XML_ATTRIBUTE_NAME).getNodeValue();
-    }
-    
-    /**
-     * Returns the ChildNode of the node defined by the Arguments. The
-     * first child found matching the criterias is returned.
-     * 
-     * @param aNodeName The Name of the Node to return.
-     * @param aType The Type of the node @see Node
-     * @param aParentNode The Node to get the child from
-     * 
-     * @return The First Child Node found matching the criterias,
-     * or null if none is found.
-     */
-    private Node getChildNodeNamedOfTypeFromNode(String aNodeName, short aNodeType, Node aParentNode) {
-    
-    	NodeList tmpNodeList = aParentNode.getChildNodes();
-		for(int i=0; i<tmpNodeList.getLength(); ++i ) {
-			Node tmpNode = tmpNodeList.item(i);
-			if( (tmpNode.getNodeType() == aNodeType) && aNodeName.equals(tmpNode.getNodeName()) ) {
-				return tmpNode;
-			}
-		}
-		//Not found
-		return null;    	
-    }
-    
-     /**
-     * Returns the Required Field for a Node satisfying the criterias in the
-     * NodeList given as Argument.
-     * 
-     * @param aNodeName The Name of the Node
-     * @param anAttributeName The string of the Name value
-     * @param anAttributesNodeList The NodeList to search in.
-     * @return The Description found or null if none is found
-     */
-    private String getRequiredForNodeNamedWithNameInNodeList( String aNodeName, String anAttributeName,
-    																 NodeList anAttributesNodeList) {
-    	for (int i=0; i<anAttributesNodeList.getLength(); i++) {
-    		Node tempNode = anAttributesNodeList.item(i);
-            if(tempNode.getNodeType() == Node.ELEMENT_NODE && aNodeName.equals(tempNode.getNodeName())) {
-        		if( anAttributeName.equals(getTaskAttributeName(tempNode)) ) {
-                	return getRequiredOfNode(tempNode);
-            	}
-            }
-        }
-        
-        //Not found
-        return null;																 	
-    }
-    
-    protected static void reset() {
-    	fgDefault= null;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AbstractBreakpointRulerAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AbstractBreakpointRulerAction.java
deleted file mode 100644
index 4af987d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AbstractBreakpointRulerAction.java
+++ /dev/null
@@ -1,136 +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.ant.internal.ui.editor.actions;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.debug.IAntDebugConstants;
-import org.eclipse.ant.internal.ui.debug.model.AntLineBreakpoint;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.IUpdate;
-
-public abstract class AbstractBreakpointRulerAction extends Action implements IUpdate {
-
-	private IVerticalRulerInfo fInfo;
-
-	private ITextEditor fTextEditor;
-
-	private IBreakpoint fBreakpoint;
-
-	protected IBreakpoint determineBreakpoint() {
-		IBreakpoint[] breakpoints= DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IAntDebugConstants.ID_ANT_DEBUG_MODEL);
-		for (int i= 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint= breakpoints[i];
-			if (breakpoint instanceof AntLineBreakpoint) {
-				AntLineBreakpoint antBreakpoint= (AntLineBreakpoint)breakpoint;
-				try {
-					if (breakpointAtRulerLine(antBreakpoint)) {
-						return breakpoint;
-					}
-				} catch (CoreException ce) {
-					AntUIPlugin.log(ce);
-					continue;
-				}
-			}
-		}
-		return null;
-	}
-
-	protected IVerticalRulerInfo getInfo() {
-		return fInfo;
-	}
-
-	protected void setInfo(IVerticalRulerInfo info) {
-		fInfo = info;
-	}
-
-	protected ITextEditor getTextEditor() {
-		return fTextEditor;
-	}
-
-	protected void setTextEditor(ITextEditor textEditor) {
-		fTextEditor = textEditor;
-	}
-
-	/** 
-	 * Returns the resource for which to create the marker, 
-	 * or <code>null</code> if there is no applicable resource.
-	 *
-	 * @return the resource for which to create the marker or <code>null</code>
-	 */
-	protected IResource getResource() {
-		IEditorInput input= fTextEditor.getEditorInput();
-		IResource resource= (IResource) input.getAdapter(IFile.class);
-		if (resource == null) {
-			resource= (IResource) input.getAdapter(IResource.class);
-		}	
-		return resource;
-	}
-
-	protected boolean breakpointAtRulerLine(AntLineBreakpoint antBreakpoint) throws CoreException {
-		AbstractMarkerAnnotationModel model = getAnnotationModel();
-		if (model != null) {
-			Position position= model.getMarkerPosition(antBreakpoint.getMarker());
-			if (position != null) {
-				IDocumentProvider provider= getTextEditor().getDocumentProvider();
-				IDocument doc=  provider.getDocument(getTextEditor().getEditorInput());
-				try {
-					int markerLineNumber= doc.getLineOfOffset(position.getOffset());
-					int rulerLine= getInfo().getLineOfLastMouseButtonActivity();
-					if (rulerLine == markerLineNumber) {
-						if (getTextEditor().isDirty()) {
-							return antBreakpoint.getLineNumber() == markerLineNumber + 1;
-						}
-						return true;
-					}
-				} catch (BadLocationException x) {
-				}
-			}
-		}
-		
-		return false;
-	}
-		
-	protected IBreakpoint getBreakpoint() {
-		return fBreakpoint;
-	}
-
-	protected void setBreakpoint(IBreakpoint breakpoint) {
-		fBreakpoint = breakpoint;
-	}
-	
-	/**
-	 * Returns the <code>AbstractMarkerAnnotationModel</code> of the editor's input.
-	 *
-	 * @return the marker annotation model
-	 */
-	protected AbstractMarkerAnnotationModel getAnnotationModel() {
-		IDocumentProvider provider= fTextEditor.getDocumentProvider();
-		IAnnotationModel model= provider.getAnnotationModel(getTextEditor().getEditorInput());
-		if (model instanceof AbstractMarkerAnnotationModel) {
-			return (AbstractMarkerAnnotationModel) model;
-		}
-		return null;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AntEditorActionMessages.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AntEditorActionMessages.java
deleted file mode 100644
index a19e7f6..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AntEditorActionMessages.java
+++ /dev/null
@@ -1,36 +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.ant.internal.ui.editor.actions;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntEditorActionMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.editor.actions.AntEditorActionMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle fgResourceBundle = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntEditorActionMessages() {
-	}
-
-	public static ResourceBundle getResourceBundle() {
-		return fgResourceBundle;
-	}
-	public static String getString(String key) {
-		try {
-			return fgResourceBundle.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AntEditorActionMessages.properties b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AntEditorActionMessages.properties
deleted file mode 100644
index 4fc7c3e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/AntEditorActionMessages.properties
+++ /dev/null
@@ -1,40 +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
-#     John-Mason P. Shackelford - bug 40255
-###############################################################################
-
-OpenDeclarationAction.0=&Open Declaration@F3
-OpenDeclarationAction.1=Open an editor on the referenced element
-OpenExternalDocAction.0=Open External Ant Documentation
-OpenExternalDocAction.1=Open E&xternal Documentation
-OpenExternalDocAction.2=Opens an external browser on the referenced Ant element
-
-TogglePresentation.label=Show Source of Selected Element Only
-TogglePresentation.tooltip=Show Source of Selected Element Only
-
-Projection.Toggle.label= &Enable Folding
-Projection.Toggle.tooltip= Toggles Folding
-Projection.Toggle.description= Toggles folding for the current editor
-
-Projection.ExpandAll.label= Expand &All
-Projection.ExpandAll.tooltip= Expands All Folded Regions
-Projection.ExpandAll.description= Expands any folded regions in the current editor
-EnableDisableBreakpointRulerAction.0=&Enable Breakpoint
-EnableDisableBreakpointRulerAction.1=Enabling/Disabling Breakpoints
-EnableDisableBreakpointRulerAction.2=Exception(s) occurred enabling/disabling the breakpoint
-EnableDisableBreakpointRulerAction.3=&Disable Breakpoint
-EnableDisableBreakpointRulerAction.4=&Enable Breakpoint
-ManageBreakpointRulerAction.0=Toggle &Breakpoint
-ManageBreakpointRulerAction.1=Cannot add breakpoint
-
-RunToLineAdapter.0=Empty editor
-RunToLineAdapter.1=Missing document
-RunToLineAdapter.2=No file could be found
-RunToLineAdapter.3=Unable to locate debug target
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/EnableDisableBreakpointRulerAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/EnableDisableBreakpointRulerAction.java
deleted file mode 100644
index b84f942..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/EnableDisableBreakpointRulerAction.java
+++ /dev/null
@@ -1,60 +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.ant.internal.ui.editor.actions;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class EnableDisableBreakpointRulerAction extends AbstractBreakpointRulerAction {
-	
-	/**
-	 * Creates the action to enable/disable breakpoints
-	 */
-	public EnableDisableBreakpointRulerAction(ITextEditor editor, IVerticalRulerInfo info) {
-		setInfo(info);
-		setTextEditor(editor);
-		setText(AntEditorActionMessages.getString("EnableDisableBreakpointRulerAction.0")); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		if (getBreakpoint() != null) {
-			try {
-				getBreakpoint().setEnabled(!getBreakpoint().isEnabled());
-			} catch (CoreException e) {
-				ErrorDialog.openError(getTextEditor().getEditorSite().getShell(), AntEditorActionMessages.getString("EnableDisableBreakpointRulerAction.1"), AntEditorActionMessages.getString("EnableDisableBreakpointRulerAction.2"), e.getStatus()); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		setBreakpoint(determineBreakpoint());
-		if (getBreakpoint() == null) {
-			setEnabled(false);
-			return;
-		}
-		setEnabled(true);
-		try {
-			boolean enabled= getBreakpoint().isEnabled();
-			setText(enabled ? AntEditorActionMessages.getString("EnableDisableBreakpointRulerAction.3"): AntEditorActionMessages.getString("EnableDisableBreakpointRulerAction.4")); //$NON-NLS-1$ //$NON-NLS-2$
-		} catch (CoreException ce) {
-			AntUIPlugin.log(ce);
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/EnableDisableBreakpointRulerActionDelegate.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/EnableDisableBreakpointRulerActionDelegate.java
deleted file mode 100644
index d99e895..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/EnableDisableBreakpointRulerActionDelegate.java
+++ /dev/null
@@ -1,26 +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.ant.internal.ui.editor.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.texteditor.AbstractRulerActionDelegate;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class EnableDisableBreakpointRulerActionDelegate extends AbstractRulerActionDelegate {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractRulerActionDelegate#createAction(org.eclipse.ui.texteditor.ITextEditor, org.eclipse.jface.text.source.IVerticalRulerInfo)
-	 */
-	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		return new EnableDisableBreakpointRulerAction(editor, rulerInfo);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingActionGroup.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingActionGroup.java
deleted file mode 100644
index 60a5887..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingActionGroup.java
+++ /dev/null
@@ -1,123 +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.ant.internal.ui.editor.actions;
-
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.source.projection.IProjectionListener;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.ui.actions.ActionGroup;
-import org.eclipse.ui.editors.text.IFoldingCommandIds;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextOperationAction;
-
-
-/**
- * Groups the Ant folding actions.
- *  
- * @since 3.1
- */
-public class FoldingActionGroup extends ActionGroup {
-	private ProjectionViewer fViewer;
-	
-	private TextOperationAction fToggle;
-	private TextOperationAction fExpand;
-	private TextOperationAction fCollapse;
-	private TextOperationAction fExpandAll;
-
-	private IProjectionListener fProjectionListener;
-	
-	/**
-	 * Creates a new projection action group for <code>editor</code>. If the
-	 * supplied viewer is not an instance of <code>ProjectionViewer</code>, the
-	 * action group is disabled.
-	 * 
-	 * @param editor the text editor to operate on
-	 * @param viewer the viewer of the editor
-	 */
-	public FoldingActionGroup(ITextEditor editor, ITextViewer viewer) {
-		if (viewer instanceof ProjectionViewer) {
-			fViewer= (ProjectionViewer) viewer;
-			
-			fProjectionListener= new IProjectionListener() {
-
-				public void projectionEnabled() {
-					update();
-				}
-
-				public void projectionDisabled() {
-					update();
-				}
-			};
-			
-			fViewer.addProjectionListener(fProjectionListener);
-			
-			fToggle= new TextOperationAction(AntEditorActionMessages.getResourceBundle(), "Projection.Toggle.", editor, ProjectionViewer.TOGGLE, true); //$NON-NLS-1$
-			fToggle.setChecked(true);
-			fToggle.setActionDefinitionId(IFoldingCommandIds.FOLDING_TOGGLE);
-			editor.setAction("FoldingToggle", fToggle); //$NON-NLS-1$
-			
-			fExpandAll= new TextOperationAction(AntEditorActionMessages.getResourceBundle(), "Projection.ExpandAll.", editor, ProjectionViewer.EXPAND_ALL, true); //$NON-NLS-1$
-			fExpandAll.setActionDefinitionId(IFoldingCommandIds.FOLDING_EXPAND_ALL);
-			editor.setAction("FoldingExpandAll", fExpandAll); //$NON-NLS-1$
-			
-			fExpand= new TextOperationAction(AntEditorActionMessages.getResourceBundle(), "Projection.Expand.", editor, ProjectionViewer.EXPAND, true); //$NON-NLS-1$
-			fExpand.setActionDefinitionId(IFoldingCommandIds.FOLDING_EXPAND);
-			editor.setAction("FoldingExpand", fExpand); //$NON-NLS-1$
-			
-			fCollapse= new TextOperationAction(AntEditorActionMessages.getResourceBundle(), "Projection.Collapse.", editor, ProjectionViewer.COLLAPSE, true); //$NON-NLS-1$
-			fCollapse.setActionDefinitionId(IFoldingCommandIds.FOLDING_COLLAPSE);
-			editor.setAction("FoldingCollapse", fCollapse); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Returns <code>true</code> if the group is enabled. 
-	 * <pre>
-	 * Invariant: isEnabled() <=> fViewer and all actions are != null.
-	 * </pre>
-	 * 
-	 * @return <code>true</code> if the group is enabled
-	 */
-	private boolean isEnabled() {
-		return fViewer != null;
-	}
-	
-	/*
-	 * @see org.eclipse.ui.actions.ActionGroup#dispose()
-	 */
-	public void dispose() {
-		if (isEnabled()) {
-			fViewer.removeProjectionListener(fProjectionListener);
-			fViewer= null;
-		}
-		super.dispose();
-	}
-	
-	/**
-	 * Updates the actions.
-	 */
-	protected void update() {
-		if (isEnabled()) {
-			fToggle.update();
-			fToggle.setChecked(fViewer.getProjectionAnnotationModel() != null);
-			fExpand.update();
-			fExpandAll.update();
-			fCollapse.update();
-		}
-	}
-	
-	/*
-	 * @see org.eclipse.ui.actions.ActionGroup#updateActionBars()
-	 */
-	public void updateActionBars() {
-		update();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingExpandAllRulerAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingExpandAllRulerAction.java
deleted file mode 100644
index fefe83e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingExpandAllRulerAction.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.ant.internal.ui.editor.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-import org.eclipse.ui.editors.text.IFoldingCommandIds;
-import org.eclipse.ui.texteditor.AbstractRulerActionDelegate;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextOperationAction;
-
-public class FoldingExpandAllRulerAction extends AbstractRulerActionDelegate {
-
-	/*
-	 * @see org.eclipse.ui.texteditor.AbstractRulerActionDelegate#createAction(org.eclipse.ui.texteditor.ITextEditor, org.eclipse.jface.text.source.IVerticalRulerInfo)
-	 */
-	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		TextOperationAction action= new TextOperationAction(AntEditorActionMessages.getResourceBundle(), "Projection.ExpandAll.", editor, ProjectionViewer.EXPAND_ALL, true); //$NON-NLS-1$
-		action.setActionDefinitionId(IFoldingCommandIds.FOLDING_EXPAND_ALL);
-		return action;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingToggleRulerAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingToggleRulerAction.java
deleted file mode 100644
index 8b4b861..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/FoldingToggleRulerAction.java
+++ /dev/null
@@ -1,69 +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.ant.internal.ui.editor.actions;
-
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.jface.text.source.projection.ProjectionViewer;
-
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.editors.text.IFoldingCommandIds;
-import org.eclipse.ui.texteditor.AbstractRulerActionDelegate;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextOperationAction;
-
-public class FoldingToggleRulerAction extends AbstractRulerActionDelegate {
-
-	private IAction fUIAction;
-	private TextOperationAction fAction;
-	private ITextEditor fTextEditor;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractRulerActionDelegate#createAction(org.eclipse.ui.texteditor.ITextEditor, org.eclipse.jface.text.source.IVerticalRulerInfo)
-	 */
-	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		fTextEditor= editor;
-		fAction= new TextOperationAction(AntEditorActionMessages.getResourceBundle(), "Projection.Toggle.", editor, ProjectionViewer.TOGGLE, true); //$NON-NLS-1$
-		fAction.setActionDefinitionId(IFoldingCommandIds.FOLDING_TOGGLE);
-
-		return fAction;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction, org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IAction callerAction, IEditorPart targetEditor) {
-		fUIAction= callerAction;
-		super.setActiveEditor(callerAction, targetEditor);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IMenuListener#menuAboutToShow(org.eclipse.jface.action.IMenuManager)
-	 */
-	public void menuAboutToShow(IMenuManager manager) {
-		update();
-		super.menuAboutToShow(manager);
-	}
-	
-	private void update() {
-		if (fTextEditor instanceof AntEditor) {
-			ISourceViewer viewer= ((AntEditor) fTextEditor).getViewer();
-			if (viewer instanceof ProjectionViewer) {
-				boolean enabled= ((ProjectionViewer) viewer).getProjectionAnnotationModel() != null;
-				fUIAction.setChecked(enabled);
-			}
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/InformationDispatchAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/InformationDispatchAction.java
deleted file mode 100644
index 10c5289..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/InformationDispatchAction.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.editor.actions;
-
-import java.util.ResourceBundle;
-
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.ant.internal.ui.editor.AntEditorSourceViewerConfiguration;
-import org.eclipse.ant.internal.ui.editor.text.AntDocumentSetupParticipant;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.ITextViewerExtension2;
-import org.eclipse.jface.text.ITextViewerExtension4;
-import org.eclipse.jface.text.ITextViewerExtension5;
-import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.jface.text.information.IInformationProvider;
-import org.eclipse.jface.text.information.IInformationProviderExtension2;
-import org.eclipse.jface.text.information.InformationPresenter;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.texteditor.TextEditorAction;
-import org.eclipse.ui.texteditor.TextOperationAction;
-
-public class InformationDispatchAction extends TextEditorAction {
-
-	/** The wrapped text operation action. */
-	private TextOperationAction fTextOperationAction;
-	
-	 /** The information presenter that shows all information with scroll bars */
-	private InformationPresenter fInformationPresenter;
-	
-	/**
-	 * Creates a dispatch action.
-	 * 
-	 * @param resourceBundle the resource bundle
-	 * @param prefix the prefix
-	 * @param textOperationAction the text operation action
-	 */
-	public InformationDispatchAction(ResourceBundle resourceBundle, String prefix, TextOperationAction textOperationAction, AntEditor editor) {
-		super(resourceBundle, prefix, editor);
-		if (textOperationAction == null) {
-			throw new IllegalArgumentException();
-		}
-		fTextOperationAction= textOperationAction;
-	}
-	
-	/*
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-
-		/**
-		 * Information provider used to present the information.
-		 * 
-		 * @since 3.0
-		 */
-		class InformationProvider implements IInformationProvider, IInformationProviderExtension2 {
-
-			private IRegion fHoverRegion;
-			private String fHoverInfo;
-			private IInformationControlCreator fControlCreator;
-			
-			InformationProvider(IRegion hoverRegion, String hoverInfo, IInformationControlCreator controlCreator) {
-				fHoverRegion= hoverRegion;
-				fHoverInfo= hoverInfo;
-				fControlCreator= controlCreator;
-			}
-			/*
-			 * @see org.eclipse.jface.text.information.IInformationProvider#getSubject(org.eclipse.jface.text.ITextViewer, int)
-			 */
-			public IRegion getSubject(ITextViewer textViewer, int invocationOffset) {					
-				return fHoverRegion;
-			}
-			/*
-			 * @see org.eclipse.jface.text.information.IInformationProvider#getInformation(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-			 */
-			public String getInformation(ITextViewer textViewer, IRegion subject) {
-				return fHoverInfo;
-			}
-			/*
-			 * @see org.eclipse.jface.text.information.IInformationProviderExtension2#getInformationPresenterControlCreator()
-			 * @since 3.0
-			 */
-			public IInformationControlCreator getInformationPresenterControlCreator() {
-				return fControlCreator;
-			}
-		}
-
-		ISourceViewer sourceViewer= ((AntEditor)getTextEditor()).getViewer();
-		if (sourceViewer == null) {	
-			fTextOperationAction.run();
-			return;
-		}
-			
-		if (sourceViewer instanceof ITextViewerExtension4)  {
-			ITextViewerExtension4 extension4= (ITextViewerExtension4) sourceViewer;
-			if (extension4.moveFocusToWidgetToken()) {
-				return;
-			}
-		}
-		
-		if (! (sourceViewer instanceof ITextViewerExtension2)) {
-			fTextOperationAction.run();
-			return;
-		}
-			
-		ITextViewerExtension2 textViewerExtension2= (ITextViewerExtension2) sourceViewer;
-		
-		// does a text hover exist?
-		ITextHover textHover= textViewerExtension2.getCurrentTextHover();
-		if (textHover == null) {
-			fTextOperationAction.run();
-			return;				
-		}
-
-		Point hoverEventLocation= textViewerExtension2.getHoverEventLocation();
-		int offset= computeOffsetAtLocation(sourceViewer, hoverEventLocation.x, hoverEventLocation.y);
-		if (offset == -1) {
-			fTextOperationAction.run();
-			return;				
-		}				
-
-		try {
-			// get the text hover content
-			String contentType= TextUtilities.getContentType(sourceViewer.getDocument(), AntDocumentSetupParticipant.ANT_PARTITIONING, offset, true);
-
-			IRegion hoverRegion= textHover.getHoverRegion(sourceViewer, offset);						
-			if (hoverRegion == null)
-				return;
-			
-			String hoverInfo= textHover.getHoverInfo(sourceViewer, hoverRegion);
-
-			IInformationControlCreator controlCreator= null;				
-			if (textHover instanceof IInformationProviderExtension2)
-				controlCreator= ((IInformationProviderExtension2)textHover).getInformationPresenterControlCreator();
-
-			IInformationProvider informationProvider= new InformationProvider(hoverRegion, hoverInfo, controlCreator);
-			InformationPresenter presenter= getInformationPresenter();
-			presenter.setOffset(offset);	
-			presenter.setDocumentPartitioning(AntDocumentSetupParticipant.ANT_PARTITIONING);
-			presenter.setInformationProvider(informationProvider, contentType);
-			presenter.showInformation();
-
-		} catch (BadLocationException e) {				
-		}
-	}
-
-	// modified version from TextViewer
-	private int computeOffsetAtLocation(ITextViewer textViewer, int x, int y) {
-		
-		StyledText styledText= textViewer.getTextWidget();
-		IDocument document= textViewer.getDocument();
-		
-		if (document == null) {
-			return -1;		
-		}
-
-		try {
-			int widgetLocation= styledText.getOffsetAtLocation(new Point(x, y));
-			if (textViewer instanceof ITextViewerExtension5) {
-				ITextViewerExtension5 extension= (ITextViewerExtension5) textViewer;
-				return extension.widgetOffset2ModelOffset(widgetLocation);
-			} 
-			IRegion visibleRegion= textViewer.getVisibleRegion();
-			return widgetLocation + visibleRegion.getOffset();
-		} catch (IllegalArgumentException e) {
-			return -1;	
-		}
-	}
-	
-	private InformationPresenter getInformationPresenter() {
-		if (fInformationPresenter == null) {
-			IInformationControlCreator informationControlCreator= AntEditorSourceViewerConfiguration.getInformationPresenterControlCreator();
-			fInformationPresenter= new InformationPresenter(informationControlCreator);
-			fInformationPresenter.setSizeConstraints(60, 10, true, true);		
-			fInformationPresenter.install(((AntEditor)getTextEditor()).getViewer());
-		} 
-		return fInformationPresenter;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ManageBreakpointRulerAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ManageBreakpointRulerAction.java
deleted file mode 100644
index 8666b98..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ManageBreakpointRulerAction.java
+++ /dev/null
@@ -1,213 +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.ant.internal.ui.editor.actions;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class ManageBreakpointRulerAction extends Action {	
-	
-	private IVerticalRulerInfo fRuler;
-	private ITextEditor fTextEditor;
-	private ToggleLineBreakpointAction fBreakpointAdapter;
-
-	public ManageBreakpointRulerAction(IVerticalRulerInfo ruler, ITextEditor editor) {
-		super(AntEditorActionMessages.getString("ManageBreakpointRulerAction.0")); //$NON-NLS-1$
-		fRuler= ruler;
-		fTextEditor= editor;
-		fBreakpointAdapter = new ToggleLineBreakpointAction();
-	}
-	
-	/**
-	 * Disposes this action
-	 */
-	public void dispose() {
-		fTextEditor = null;
-		fRuler = null;
-	}
-		
-	/**
-	 * Returns this action's vertical ruler info.
-	 *
-	 * @return this action's vertical ruler
-	 */
-	protected IVerticalRulerInfo getVerticalRulerInfo() {
-		return fRuler;
-	}
-	
-	/**
-	 * Returns this action's editor.
-	 *
-	 * @return this action's editor
-	 */
-	protected ITextEditor getTextEditor() {
-		return fTextEditor;
-	}
-	
-	/**
-	 * Returns the <code>IDocument</code> of the editor's input.
-	 *
-	 * @return the document of the editor's input
-	 */
-	protected IDocument getDocument() {
-		IDocumentProvider provider= fTextEditor.getDocumentProvider();
-		return provider.getDocument(fTextEditor.getEditorInput());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		try {
-			List list = getMarkers();
-			if (list.isEmpty()) {
-				// create new markers
-				IDocument document= getDocument();
-				int lineNumber= getVerticalRulerInfo().getLineOfLastMouseButtonActivity();
-				if (lineNumber >= document.getNumberOfLines()) {
-					return;
-				}
-				try {
-					IRegion line= document.getLineInformation(lineNumber);
-					ITextSelection selection = new TextSelection(document, line.getOffset(), line.getLength());
-					fBreakpointAdapter.toggleLineBreakpoints(fTextEditor, selection);
-				} catch (BadLocationException e) {
-					//likely document is folded so you cannot get the line information of the folded line
-				}
-			} else {
-				// remove existing breakpoints of any type
-				IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager();
-				Iterator iterator = list.iterator();
-				while (iterator.hasNext()) {
-					IMarker marker = (IMarker) iterator.next();
-					IBreakpoint breakpoint = manager.getBreakpoint(marker);
-					if (breakpoint != null) {
-						breakpoint.delete();
-					}
-				}
-			}
-		} catch (CoreException e) {
-			AntUIPlugin.log(AntEditorActionMessages.getString("ManageBreakpointRulerAction.1"), e); //$NON-NLS-1$
-		}
-	}		
-	
-	/**
-	 * Returns a list of markers that exist at the current ruler location.
-	 * 
-	 * @return a list of markers that exist at the current ruler location
-	 */
-	protected List getMarkers() {
-		
-		List breakpoints= new ArrayList();
-		
-		IResource resource= getResource(fTextEditor);
-		IDocument document= getDocument();
-		AbstractMarkerAnnotationModel model= getAnnotationModel();
-		
-		if (model != null) {
-			try {
-				
-				IMarker[] markers= null;
-				if (resource instanceof IFile)
-					markers= resource.findMarkers(IBreakpoint.BREAKPOINT_MARKER, true, IResource.DEPTH_INFINITE);
-				else {
-					IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-					markers= root.findMarkers(IBreakpoint.BREAKPOINT_MARKER, true, IResource.DEPTH_INFINITE);
-				}
-				
-				if (markers != null) {
-					IBreakpointManager breakpointManager= DebugPlugin.getDefault().getBreakpointManager();
-					for (int i= 0; i < markers.length; i++) {
-						IBreakpoint breakpoint= breakpointManager.getBreakpoint(markers[i]);
-						if (breakpoint != null && breakpointManager.isRegistered(breakpoint) && 
-								includesRulerLine(model.getMarkerPosition(markers[i]), document))
-							breakpoints.add(markers[i]);
-					}
-				}
-			} catch (CoreException x) {
-				AntUIPlugin.log(x.getStatus());
-			}
-		}
-		return breakpoints;
-	}	
-	
-	private IResource getResource(ITextEditor textEditor) {
-		IResource resource= null;
-		IEditorInput editorInput = textEditor.getEditorInput();
-		if (editorInput instanceof IFileEditorInput) {
-			resource= ((IFileEditorInput)editorInput).getFile();
-		} 
-		return resource;
-	}
-
-	/**
-	 * Returns the <code>AbstractMarkerAnnotationModel</code> of the editor's input.
-	 *
-	 * @return the marker annotation model
-	 */
-	protected AbstractMarkerAnnotationModel getAnnotationModel() {
-		IDocumentProvider provider= fTextEditor.getDocumentProvider();
-		IAnnotationModel model= provider.getAnnotationModel(fTextEditor.getEditorInput());
-		if (model instanceof AbstractMarkerAnnotationModel) {
-			return (AbstractMarkerAnnotationModel) model;
-		}
-		return null;
-	}	
-	
-	/**
-	 * Checks whether a position includes the ruler's line of activity.
-	 *
-	 * @param position the position to be checked
-	 * @param document the document the position refers to
-	 * @return <code>true</code> if the line is included by the given position
-	 */
-	protected boolean includesRulerLine(Position position, IDocument document) {
-
-		if (position != null) {
-			try {
-				int markerLine= document.getLineOfOffset(position.getOffset());
-				int line= fRuler.getLineOfLastMouseButtonActivity();
-				if (line == markerLine) {
-					return true;
-				}
-			} catch (BadLocationException x) {
-			}
-		}
-		
-		return false;
-	}	
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ManageBreakpointRulerActionDelegate.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ManageBreakpointRulerActionDelegate.java
deleted file mode 100644
index ec06d59..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ManageBreakpointRulerActionDelegate.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.ant.internal.ui.editor.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.source.IVerticalRulerInfo;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.texteditor.AbstractRulerActionDelegate;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-public class ManageBreakpointRulerActionDelegate extends AbstractRulerActionDelegate {
-
-	private ManageBreakpointRulerAction targetAction;
-	private IEditorPart activeEditor;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.AbstractRulerActionDelegate#createAction(org.eclipse.ui.texteditor.ITextEditor, org.eclipse.jface.text.source.IVerticalRulerInfo)
-	 */
-	protected IAction createAction(ITextEditor editor, IVerticalRulerInfo rulerInfo) {
-		targetAction = new ManageBreakpointRulerAction(rulerInfo, editor);
-		return targetAction;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction, org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IAction callerAction, IEditorPart targetEditor) {
-		if (activeEditor != null) {
-			if (targetAction != null) {
-				targetAction.dispose();
-				targetAction = null;
-			}
-		}
-		activeEditor = targetEditor;
-		super.setActiveEditor(callerAction, targetEditor);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/OpenDeclarationAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/OpenDeclarationAction.java
deleted file mode 100644
index bee5ee9..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/OpenDeclarationAction.java
+++ /dev/null
@@ -1,55 +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.ant.internal.ui.editor.actions;
-
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.jdt.ui.actions.IJavaEditorActionDefinitionIds;
-import org.eclipse.jdt.ui.actions.OpenAction;
-import org.eclipse.jface.text.ITextSelection;
-
-public class OpenDeclarationAction extends OpenAction {
-	
-	private AntEditor fEditor;
-	
-	public OpenDeclarationAction(AntEditor antEditor) {
-		super(antEditor.getSite());
-		fEditor= antEditor;
-		setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_EDITOR);
-		antEditor.getSite().getKeyBindingService().registerAction(this);
-
-		setText(AntEditorActionMessages.getString("OpenDeclarationAction.0"));  //$NON-NLS-1$
-		setDescription(AntEditorActionMessages.getString("OpenDeclarationAction.1")); //$NON-NLS-1$
-		setToolTipText(AntEditorActionMessages.getString("OpenDeclarationAction.1")); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		if (fEditor == null) {
-			return;
-		}
-		
-		fEditor.openReferenceElement();		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.ui.actions.SelectionDispatchAction#selectionChanged(org.eclipse.jface.text.ITextSelection)
-	 */
-	public void selectionChanged(ITextSelection selection) {
-		setEnabled(fEditor != null);
-	}
-	
-	public void setEditor(AntEditor editor) {
-		fEditor= editor;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/OpenExternalDocAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/OpenExternalDocAction.java
deleted file mode 100644
index b9d95ff..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/OpenExternalDocAction.java
+++ /dev/null
@@ -1,195 +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.ant.internal.ui.editor.actions;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.apache.tools.ant.AntTypeDefinition;
-import org.apache.tools.ant.ComponentHelper;
-import org.apache.tools.ant.Project;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.internal.ui.model.AntTaskNode;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-
-/**
- * This action opens the selected tasks manual page in an external 
- * browser. 
- */
-public class OpenExternalDocAction extends Action implements IEditorActionDelegate {
-		
-	private AntEditor fEditor;
-	
-	public OpenExternalDocAction() {
-	}
-	
-	public OpenExternalDocAction(AntEditor antEditor) {
-		fEditor= antEditor;
-		setActionDefinitionId("org.eclipse.ant.ui.openExternalDoc"); //$NON-NLS-1$
-		antEditor.getSite().getKeyBindingService().registerAction(this);
-
-		setText(AntEditorActionMessages.getString("OpenExternalDocAction.1")); //$NON-NLS-1$
-		setDescription(AntEditorActionMessages.getString("OpenExternalDocAction.2")); //$NON-NLS-1$
-		setToolTipText(AntEditorActionMessages.getString("OpenExternalDocAction.2")); //$NON-NLS-1$
-	}
-	
-    private Shell getShell() {
-       return fEditor.getEditorSite().getShell();
-    }
-    
-	private void doAction(AntElementNode node) {
-		Shell shell= getShell();
-		try {
-			URL url= getExternalLocation(node);
-			if (url != null) {
-				AntUtil.openBrowser(url.toString(), shell, getTitle());
-			} 		
-		} catch (MalformedURLException e) {
-           AntUIPlugin.log(e);
-        }
-	}
-	
-	public URL getExternalLocation(AntElementNode node) throws MalformedURLException {
-		URL baseLocation= getBaseLocation();
-		if (baseLocation == null) {
-			return null;
-		}
-
-		String urlString= baseLocation.toExternalForm();
-
-		StringBuffer pathBuffer= new StringBuffer(urlString);
-		if (!urlString.endsWith("/")) { //$NON-NLS-1$
-			pathBuffer.append('/');
-		}
-
-		if (node instanceof AntProjectNode) {
-			pathBuffer.append("using.html#projects"); //$NON-NLS-1$
-		} else if (node instanceof AntTargetNode) {
-			pathBuffer.append("using.html#targets"); //$NON-NLS-1$
-		} else if (node instanceof AntTaskNode) {
-			appendTaskPath((AntTaskNode) node, pathBuffer);
-		} 
-
-		try {
-			return new URL(pathBuffer.toString());
-		} catch (MalformedURLException e) {
-			AntUIPlugin.log(e);
-		}
-		return null;
-	}
-
-	private void appendTaskPath(AntTaskNode node, StringBuffer buffer) {
-	    String taskName= node.getTask().getTaskName();
-	    String taskPart= null;
-	    if (taskName.equalsIgnoreCase("path")) {  //$NON-NLS-1$
-	        buffer.append("using.html#path"); //$NON-NLS-1$
-	        return;
-	    } 
-	    taskPart= getTaskTypePart(node);
-        if (taskPart == null) {
-            return;
-        }
-		buffer.append(taskPart);
-		buffer.append('/');
-		buffer.append(taskName);
-		buffer.append(".html"); //$NON-NLS-1$	
-	}
-
-	private URL getBaseLocation() throws MalformedURLException {
-		IPreferenceStore prefs = AntUIPlugin.getDefault().getPreferenceStore();
-		String base= prefs.getString(IAntUIPreferenceConstants.DOCUMENTATION_URL);
-		return new URL(base);
-	}
-	
-	private String getTitle() {
-		return AntEditorActionMessages.getString("OpenExternalDocAction.0"); //$NON-NLS-1$
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction, org.eclipse.ui.IEditorPart)
-     */
-    public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-        fEditor= (AntEditor) targetEditor;
-        if (fEditor != null) {
-        	fEditor.getSite().getKeyBindingService().registerAction(this);
-        }
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-     */
-    public void run(IAction action) {
-        ISelection selection= fEditor.getSelectionProvider().getSelection();
-		AntElementNode node= null;
-		if (selection instanceof ITextSelection) {
-			ITextSelection textSelection= (ITextSelection)selection;
-			int textOffset= textSelection.getOffset();
-			AntModel model= fEditor.getAntModel();
-			if (model != null) {
-				node= model.getNode(textOffset, false);
-			}
-			if (node != null) {
-				doAction(node);
-			}
-		}
-    }
-
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-     */
-    public void selectionChanged(IAction action, ISelection selection) {        
-    }
-    
-    
-    private String getTaskTypePart(AntTaskNode node) {
-		AntProjectNode projectNode= node.getProjectNode();
-    	if (projectNode != null) {
-    		Project antProject= projectNode.getProject();
-    		AntTypeDefinition definition= ComponentHelper.getComponentHelper(antProject).getDefinition(node.getTask().getTaskName());
-    		if (definition == null) {
-    			return null;
-    		}
-    		String className= definition.getClassName();
-    		if (className.indexOf("taskdef") != -1) { //$NON-NLS-1$
-    		    if (className.indexOf("optional") != -1) { //$NON-NLS-1$
-    		        return "OptionalTasks"; //$NON-NLS-1$
-    		    } 
-    		    return "CoreTasks"; //$NON-NLS-1$
-    		} else if (className.indexOf("optional") != -1) { //$NON-NLS-1$
-    		    return "OptionalTypes"; //$NON-NLS-1$
-    		} else {
-    		    return "CoreTypes"; //$NON-NLS-1$
-    		}
-    	}
-    	
-        return null;
-    }
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		run(null);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/RunToLineAdapter.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/RunToLineAdapter.java
deleted file mode 100644
index 2bbf7da..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/RunToLineAdapter.java
+++ /dev/null
@@ -1,104 +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.ant.internal.ui.editor.actions;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.debug.IAntDebugConstants;
-import org.eclipse.ant.internal.ui.debug.model.AntDebugElement;
-import org.eclipse.ant.internal.ui.debug.model.AntLineBreakpoint;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.ui.actions.IRunToLineTarget;
-import org.eclipse.debug.ui.actions.RunToLineHandler;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Run to line target for the Ant debugger
- */
-public class RunToLineAdapter implements IRunToLineTarget {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.IRunToLineTarget#runToLine(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection, org.eclipse.debug.core.model.ISuspendResume)
-	 */
-	public void runToLine(IWorkbenchPart part, ISelection selection, ISuspendResume target) throws CoreException {
-		IEditorPart editorPart = (IEditorPart)part;
-		IEditorInput input = editorPart.getEditorInput();
-		String errorMessage = null;
-		if (input == null) {
-			errorMessage = AntEditorActionMessages.getString("RunToLineAdapter.0"); //$NON-NLS-1$
-		} else {
-			ITextEditor textEditor = (ITextEditor)editorPart;
-			IDocumentProvider provider= textEditor.getDocumentProvider();
-			IDocument document= provider.getDocument(input);
-			
-			if (document == null) {
-				errorMessage = AntEditorActionMessages.getString("RunToLineAdapter.1"); //$NON-NLS-1$
-			} else {
-				
-				ITextSelection textSelection = (ITextSelection) selection;
-				int lineNumber = textSelection.getStartLine() + 1;
-				
-				IBreakpoint breakpoint= null;
-				Map attributes = getRunToLineAttributes();
-				IFile file = (IFile)input.getAdapter(IFile.class);
-				if (file == null) {
-				    errorMessage= AntEditorActionMessages.getString("RunToLineAdapter.2"); //$NON-NLS-1$
-				} else {
-				    breakpoint= new AntLineBreakpoint(file, lineNumber, attributes, false);
-                    breakpoint.setPersisted(false);
-				    errorMessage = AntEditorActionMessages.getString("RunToLineAdapter.3"); //$NON-NLS-1$
-				    if (target instanceof IAdaptable) {
-				        IDebugTarget debugTarget = (IDebugTarget) ((IAdaptable)target).getAdapter(IDebugTarget.class);
-				        if (debugTarget != null) {
-				            RunToLineHandler handler = new RunToLineHandler(debugTarget, target, breakpoint);
-                            handler.run(new NullProgressMonitor());
-				            return;
-				        }
-				    }
-				}
-			}
-		}
-		throw new CoreException(new Status(IStatus.ERROR, AntUIPlugin.getUniqueIdentifier(), AntUIPlugin.INTERNAL_ERROR,
-				errorMessage, null));
-	}
-
-    private Map getRunToLineAttributes() {
-        Map attributes = new HashMap();
-        attributes.put(IMarker.TRANSIENT, Boolean.TRUE);
-        attributes.put(IAntDebugConstants.ANT_RUN_TO_LINE, Boolean.TRUE); //$NON-NLS-1$
-        return attributes;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.IRunToLineTarget#canRunToLine(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection, org.eclipse.debug.core.model.ISuspendResume)
-	 */
-	public boolean canRunToLine(IWorkbenchPart part, ISelection selection, ISuspendResume target) {
-	    return target instanceof AntDebugElement;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ToggleLineBreakpointAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ToggleLineBreakpointAction.java
deleted file mode 100644
index 37a4fb7..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/ToggleLineBreakpointAction.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.editor.actions;
-
-import org.eclipse.ant.internal.ui.debug.IAntDebugConstants;
-import org.eclipse.ant.internal.ui.debug.model.AntLineBreakpoint;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class ToggleLineBreakpointAction implements IToggleBreakpointsTarget {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#toggleLineBreakpoints(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-		IEditorPart editorPart = (IEditorPart)part;
-		IEditorInput editorInput = editorPart.getEditorInput();
-		IResource resource= null;
-		if (editorInput instanceof IFileEditorInput) {
-			resource= ((IFileEditorInput)editorInput).getFile();
-		}
-		if (resource == null) {
-			Display.getCurrent().beep();
-            return;
-		}
-		
-		ITextSelection textSelection = (ITextSelection) selection;
-		int lineNumber = textSelection.getStartLine();
-		IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IAntDebugConstants.ID_ANT_DEBUG_MODEL);
-		for (int i = 0; i < breakpoints.length; i++) {
-			IBreakpoint breakpoint = breakpoints[i];
-			if (resource.equals(breakpoint.getMarker().getResource())) {
-				if (((ILineBreakpoint)breakpoint).getLineNumber() == (lineNumber + 1)) {
-					// remove
-					breakpoint.delete();
-					return;
-				}
-			}
-		}
-		// create line breakpoint (doc line numbers start at 0)
-		new AntLineBreakpoint(resource, lineNumber + 1);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#canToggleLineBreakpoints(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public boolean canToggleLineBreakpoints(IWorkbenchPart part, ISelection selection) {
-		return selection instanceof ITextSelection;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#toggleMethodBreakpoints(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#canToggleMethodBreakpoints(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#toggleWatchpoints(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.IToggleBreakpointsTarget#canToggleWatchpoints(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)
-	 */
-	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection) {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/TogglePresentationAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/TogglePresentationAction.java
deleted file mode 100644
index 53ea4d1..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/actions/TogglePresentationAction.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.ant.internal.ui.editor.actions;
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.TextEditorAction;
-
-/**
- * A tool bar action which toggles the presentation model of the
- * connected text editor. The editor shows either the highlight range
- * only or always the whole document.
- */
-public class TogglePresentationAction extends TextEditorAction implements IPropertyChangeListener {
-		
-	private IPreferenceStore fStore;
-
-	/**
-	 * Constructs and updates the action.
-	 */
-	public TogglePresentationAction() {
-		super(AntEditorActionMessages.getResourceBundle(), "TogglePresentation.", null, IAction.AS_CHECK_BOX); //$NON-NLS-1$
-		setImageDescriptor(AntUIImages.getImageDescriptor(IAntUIConstants.IMG_SEGMENT_EDIT));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		
-		ITextEditor editor= getTextEditor();
-		if (editor == null) {
-            return;
-        }
-		
-		IRegion remembered= editor.getHighlightRange();
-		editor.resetHighlightRange();
-		
-		boolean showAll= !editor.showsHighlightRangeOnly();
-		setChecked(showAll);
-		
-		editor.showHighlightRangeOnly(showAll);
-		if (remembered != null) {
-            editor.setHighlightRange(remembered.getOffset(), remembered.getLength(), true);
-        }
-		
-		fStore.removePropertyChangeListener(this);
-		fStore.setValue(AntEditorPreferenceConstants.EDITOR_SHOW_SEGMENTS, showAll);
-		fStore.addPropertyChangeListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		ITextEditor editor= getTextEditor();
-		boolean checked= (editor != null && editor.showsHighlightRangeOnly());
-		setChecked(checked);
-		setEnabled(editor != null);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.TextEditorAction#setEditor(org.eclipse.ui.texteditor.ITextEditor)
-	 */
-	public void setEditor(ITextEditor editor) {
-		
-		super.setEditor(editor);
-		
-		if (editor != null) {
-			
-			if (fStore == null) {
-				fStore= AntUIPlugin.getDefault().getPreferenceStore();
-				fStore.addPropertyChangeListener(this);
-			}
-			synchronizeWithPreference(editor);
-			
-		} else if (fStore != null) {
-			fStore.removePropertyChangeListener(this);
-			fStore= null;
-		}
-		
-		update();
-	}
-	
-	/**
-	 * Synchronizes the appearance of the editor with what the preference store indicates
-	 * 
-	 * @param editor the text editor
-	 */
-	private void synchronizeWithPreference(ITextEditor editor) {
-		
-		if (editor == null) {
-			return;
-		}
-		
-		boolean showSegments= fStore.getBoolean(AntEditorPreferenceConstants.EDITOR_SHOW_SEGMENTS);			
-		setChecked(showSegments);
-		
-		if (editor.showsHighlightRangeOnly() != showSegments) {
-			IRegion remembered= editor.getHighlightRange();
-			editor.resetHighlightRange();
-			editor.showHighlightRangeOnly(showSegments);
-			if (remembered != null) {
-				editor.setHighlightRange(remembered.getOffset(), remembered.getLength(), true);
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(AntEditorPreferenceConstants.EDITOR_SHOW_SEGMENTS)) {
-            synchronizeWithPreference(getTextEditor());
-        }
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTML2TextReader.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTML2TextReader.java
deleted file mode 100644
index 0ac1e02..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTML2TextReader.java
+++ /dev/null
@@ -1,295 +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.ant.internal.ui.editor.derived;
-
-
-import java.io.IOException;
-import java.io.PushbackReader;
-import java.io.Reader;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-
-/**
- * Reads the text contents from a reader of HTML contents and translates 
- * the tags or cut them out.
- * 
- * @see org.eclipse.jdt.internal.ui.text.HTML2TextReader
- */
-public class HTML2TextReader extends SubstitutionTextReader {
-	
-	private static final String EMPTY_STRING= ""; //$NON-NLS-1$
-	private static final Map fgEntityLookup;
-	private static final Set fgTags;
-	
-	static {
-		
-		fgTags= new HashSet();
-		fgTags.add("b"); //$NON-NLS-1$
-		fgTags.add("br"); //$NON-NLS-1$
-		fgTags.add("h5"); //$NON-NLS-1$
-		fgTags.add("p"); //$NON-NLS-1$
-		fgTags.add("dl"); //$NON-NLS-1$
-		fgTags.add("dt"); //$NON-NLS-1$
-		fgTags.add("dd"); //$NON-NLS-1$
-		fgTags.add("li"); //$NON-NLS-1$
-		fgTags.add("ul"); //$NON-NLS-1$
-		fgTags.add("pre"); //$NON-NLS-1$
-		
-		fgEntityLookup= new HashMap(7);
-		fgEntityLookup.put("lt", "<"); //$NON-NLS-1$ //$NON-NLS-2$
-		fgEntityLookup.put("gt", ">"); //$NON-NLS-1$ //$NON-NLS-2$
-		fgEntityLookup.put("nbsp", " "); //$NON-NLS-1$ //$NON-NLS-2$
-		fgEntityLookup.put("amp", "&"); //$NON-NLS-1$ //$NON-NLS-2$
-		fgEntityLookup.put("circ", "^"); //$NON-NLS-1$ //$NON-NLS-2$
-		fgEntityLookup.put("tilde", "~"); //$NON-NLS-2$ //$NON-NLS-1$
-		fgEntityLookup.put("quot", "\"");		 //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	private int fCounter= 0;
-	private TextPresentation fTextPresentation;
-	private int fBold= 0;
-	private int fStartOffset= -1;
-	private boolean fInParagraph= false;
-	private boolean fIsPreformattedText= false;
-	
-	/**
-	 * Transforms the html text from the reader to formatted text.
-	 * @param presentation If not <code>null</code>, formattings will be applied to 
-	 * the presentation.
-	*/
-	public HTML2TextReader(Reader reader, TextPresentation presentation) {
-		super(new PushbackReader(reader));
-		fTextPresentation= presentation;
-	}
-	
-	public int read() throws IOException {
-		int c= super.read();
-		if (c != -1)
-			++ fCounter;
-		return c;
-	}
-	
-	protected void startBold() {
-		if (fBold == 0)
-			fStartOffset= fCounter;
-		++ fBold;
-	}
-
-	protected void startPreformattedText() {
-		fIsPreformattedText= true;
-		setSkipWhitespace(false);
-	}
-
-	protected void stopPreformattedText() {
-		fIsPreformattedText= false;
-		setSkipWhitespace(true);
-	}
-	
-	protected void stopBold() {
-		-- fBold;
-		if (fBold == 0) {
-			if (fTextPresentation != null) {
-				fTextPresentation.addStyleRange(new StyleRange(fStartOffset, fCounter - fStartOffset, null, null, SWT.BOLD));
-			}
-			fStartOffset= -1;
-		}
-	}
-	
-	/**
-	 * @see SubstitutionTextReader#computeSubstitution(char)
-	 */
-	protected String computeSubstitution(int c) throws IOException {
-		
-		if (c == '<')
-			return  processHTMLTag();
-		else if (c == '&')
-			return processEntity();
-		else if (fIsPreformattedText)
-			return processPreformattedText(c);
-		
-		return null;
-	}
-
-	private String html2Text(String html) {
-		
-		String tag= html;
-		if ('/' == tag.charAt(0))
-			tag= tag.substring(1);
-			
-		if (!fgTags.contains(tag))
-			return EMPTY_STRING;
-
-
-		if ("pre".equals(html)) { //$NON-NLS-1$
-			startPreformattedText();
-			return EMPTY_STRING;
-		}
-
-		if ("/pre".equals(html)) { //$NON-NLS-1$
-			stopPreformattedText();
-			return EMPTY_STRING;
-		}
-
-		if (fIsPreformattedText)
-			return EMPTY_STRING;
-
-		if ("b".equals(html)) { //$NON-NLS-1$
-			startBold();
-			return EMPTY_STRING;
-		}
-				
-		if ("h5".equals(html) || "dt".equals(html)) { //$NON-NLS-1$ //$NON-NLS-2$
-			startBold();
-			return EMPTY_STRING;
-		}
-		
-		if ("dl".equals(html)) //$NON-NLS-1$
-			return LINE_DELIM;
-		
-		if ("dd".equals(html)) //$NON-NLS-1$
-			return "\t"; //$NON-NLS-1$
-		
-		if ("li".equals(html)) //$NON-NLS-1$
-			return LINE_DELIM + "\t-"; //$NON-NLS-1$
-					
-		if ("/b".equals(html)) { //$NON-NLS-1$
-			stopBold();
-			return EMPTY_STRING;
-		}
-
-		if ("p".equals(html))  { //$NON-NLS-1$
-			fInParagraph= true;
-			return LINE_DELIM;
-		}
-
-		if ("br".equals(html)) //$NON-NLS-1$
-			return LINE_DELIM;
-		
-		if ("/p".equals(html))  { //$NON-NLS-1$
-			boolean inParagraph= fInParagraph;
-			fInParagraph= false;
-			return inParagraph ? EMPTY_STRING : LINE_DELIM;
-		}
-			
-		if ("/h5".equals(html) || "/dt".equals(html)) { //$NON-NLS-1$ //$NON-NLS-2$
-			stopBold();
-			return LINE_DELIM;
-		}
-		
-		if ("/dd".equals(html)) //$NON-NLS-1$
-			return LINE_DELIM;
-				
-		return EMPTY_STRING;
-	}
-	
-	/*
-	 * A '<' has been read. Process a html tag
-	 */ 
-	private String processHTMLTag() throws IOException {
-		
-		StringBuffer buf= new StringBuffer();
-		int ch;
-		do {		
-			
-			ch= nextChar();
-			
-			while (ch != -1 && ch != '>') {
-				buf.append(Character.toLowerCase((char) ch));
-				ch= nextChar();
-				if (ch == '"'){
-					buf.append(Character.toLowerCase((char) ch));
-					ch= nextChar();
-					while (ch != -1 && ch != '"'){
-						buf.append(Character.toLowerCase((char) ch));
-						ch= nextChar();
-					}	
-				}
-				if (ch == '<'){
-					unread(ch);
-					return '<' + buf.toString();
-				}	
-			}
-			
-			if (ch == -1)
-				return null;
-			
-			int tagLen= buf.length();
-			// needs special treatment for comments 
-			if ((tagLen >= 3 && "!--".equals(buf.substring(0, 3))) //$NON-NLS-1$
-				&& !(tagLen >= 5 && "--!".equals(buf.substring(tagLen - 3)))) { //$NON-NLS-1$
-				// unfinished comment
-				buf.append(ch);
-			} else {
-				break;
-			}
-		} while (true);
-		 
-		return html2Text(buf.toString());
-	}
-
-	private String processPreformattedText(int c) {
-		if  (c == '\r' || c == '\n')
-			fCounter++;
-		return null;
-	}
-
-	
-	private void unread(int ch) throws IOException {
-		((PushbackReader) getReader()).unread(ch);
-	}
-	
-	protected String entity2Text(String symbol) {
-		if (symbol.length() > 1 && symbol.charAt(0) == '#') {
-			int ch;
-			try {
-				if (symbol.charAt(1) == 'x') {
-					ch= Integer.parseInt(symbol.substring(2), 16);
-				} else {
-					ch= Integer.parseInt(symbol.substring(1), 10);
-				}
-				return EMPTY_STRING + (char)ch;
-			} catch (NumberFormatException e) {
-			}
-		} else {
-			String str= (String) fgEntityLookup.get(symbol);
-			if (str != null) {
-				return str;
-			}
-		}
-		return "&" + symbol; // not found //$NON-NLS-1$
-	}
-	
-	/*
-	 * A '&' has been read. Process a entity
-	 */ 	
-	private String processEntity() throws IOException {
-		StringBuffer buf= new StringBuffer();
-		int ch= nextChar();
-		while (Character.isLetterOrDigit((char)ch) || ch == '#') {
-			buf.append((char) ch);
-			ch= nextChar();
-		}
-		
-		if (ch == ';') 
-			return entity2Text(buf.toString());
-		
-		buf.insert(0, '&');
-		if (ch != -1)
-			buf.append((char) ch);
-		return buf.toString();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTMLPrinter.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTMLPrinter.java
deleted file mode 100644
index fcf0d09..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTMLPrinter.java
+++ /dev/null
@@ -1,118 +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.ant.internal.ui.editor.derived;
-
-
-import java.io.IOException;
-import java.io.Reader;
-
-
-/**
- * Provides a set of convenience methods for creating HTML pages.
- * 
- * @see org.eclipse.jdt.internal.ui.text.HTMLPrinter
- */
-public class HTMLPrinter {
-			
-	private HTMLPrinter() {
-	}
-	
-	private static String replace(String text, char c, String s) {
-				
-		int previous= 0;
-		int current= text.indexOf(c, previous);
-		
-		if (current == -1)
-			return text;
-		
-		StringBuffer buffer= new StringBuffer();	
-		while (current > -1) {
-			buffer.append(text.substring(previous, current));
-			buffer.append(s);
-			previous= current + 1;
-			current= text.indexOf(c, previous);
-		}
-		buffer.append(text.substring(previous));
-		
-		return buffer.toString();
-	}
-	
-	public static String convertToHTMLContent(String content) {
-		content= replace(content, '<', "&lt;"); //$NON-NLS-1$
-		return replace(content, '>', "&gt;"); //$NON-NLS-1$
-	}
-	
-	public static String read(Reader rd) {
-		
-		StringBuffer buffer= new StringBuffer();
-		char[] readBuffer= new char[2048];
-		
-		try {
-			int n= rd.read(readBuffer);
-			while (n > 0) {
-				buffer.append(readBuffer, 0, n);
-				n= rd.read(readBuffer);
-			}
-			return buffer.toString();
-		} catch (IOException x) {
-		}
-		
-		return null;
-	}
-
-	public static void insertPageProlog(StringBuffer buffer, int position) {
-		buffer.insert(position, "<html><body text=\"#000000\" bgcolor=\"#FFFF88\"><font size=-1>"); //$NON-NLS-1$
-	}
-	
-	public static void addPageProlog(StringBuffer buffer) {
-		insertPageProlog(buffer, buffer.length());
-	}
-	
-	public static void addPageEpilog(StringBuffer buffer) {
-		buffer.append("</font></body></html>"); //$NON-NLS-1$
-	}
-	
-	public static void startBulletList(StringBuffer buffer) {
-		buffer.append("<ul>"); //$NON-NLS-1$
-	}
-	
-	public static void endBulletList(StringBuffer buffer) {
-		buffer.append("</ul>"); //$NON-NLS-1$
-	}
-	
-	public static void addBullet(StringBuffer buffer, String bullet) {
-		if (bullet != null) {
-			buffer.append("<li>"); //$NON-NLS-1$
-			buffer.append(bullet);
-			buffer.append("</li>"); //$NON-NLS-1$
-		}
-	}
-	
-	public static void addSmallHeader(StringBuffer buffer, String header) {
-		if (header != null) {
-			buffer.append("<h5>"); //$NON-NLS-1$
-			buffer.append(header);
-			buffer.append("</h5>"); //$NON-NLS-1$
-		}
-	}
-	
-	public static void addParagraph(StringBuffer buffer, String paragraph) {
-		if (paragraph != null) {
-			buffer.append("<p>"); //$NON-NLS-1$
-			buffer.append(paragraph);
-		}
-	}
-	
-	public static void addParagraph(StringBuffer buffer, Reader paragraphReader) {
-		if (paragraphReader != null)
-			addParagraph(buffer, read(paragraphReader));
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTMLTextPresenter.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTMLTextPresenter.java
deleted file mode 100644
index 6dc20c0..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/HTMLTextPresenter.java
+++ /dev/null
@@ -1,189 +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.ant.internal.ui.editor.derived;
-
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.Iterator;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.jface.text.DefaultInformationControl;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.TextPresentation;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * * @see org.eclipse.jdt.internal.ui.text.HTMLPresenter
- */
-public class HTMLTextPresenter implements DefaultInformationControl.IInformationPresenter {
-	
-	private static final String LINE_DELIM= System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	private int fCounter;
-	private boolean fEnforceUpperLineLimit;
-	
-	public HTMLTextPresenter(boolean enforceUpperLineLimit) {
-		super();
-		fEnforceUpperLineLimit= enforceUpperLineLimit;
-	}
-	
-	public HTMLTextPresenter() {
-		this(true);
-	}
-	
-	protected Reader createReader(String hoverInfo, TextPresentation presentation) {
-		return new HTML2TextReader(new StringReader(hoverInfo), presentation);
-	}
-	
-	protected void adaptTextPresentation(TextPresentation presentation, int offset, int insertLength) {
-				
-		int yoursStart= offset;
-		int yoursEnd=   offset + insertLength -1;
-		yoursEnd= Math.max(yoursStart, yoursEnd);
-		
-		Iterator e= presentation.getAllStyleRangeIterator();
-		while (e.hasNext()) {
-			
-			StyleRange range= (StyleRange) e.next();
-		
-			int myStart= range.start;
-			int myEnd=   range.start + range.length -1;
-			myEnd= Math.max(myStart, myEnd);
-			
-			if (myEnd < yoursStart)
-				continue;
-			
-			if (myStart < yoursStart)
-				range.length += insertLength;
-			else
-				range.start += insertLength;
-		}
-	}
-	
-	private void append(StringBuffer buffer, String string, TextPresentation presentation) {
-		
-		int length= string.length();
-		buffer.append(string);
-		
-		if (presentation != null)
-			adaptTextPresentation(presentation, fCounter, length);
-			
-		fCounter += length;
-	}
-	
-	private String getIndent(String line) {
-		int length= line.length();
-		
-		int i= 0;
-		while (i < length && Character.isWhitespace(line.charAt(i))) ++i;
-		
-		return (i == length ? line : line.substring(0, i)) + " "; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.DefaultInformationControl.IInformationPresenter#updatePresentation(org.eclipse.swt.widgets.Display, java.lang.String, org.eclipse.jface.text.TextPresentation, int, int)
-	 */
-	public String updatePresentation(Display display, String hoverInfo, TextPresentation presentation, int maxWidth, int maxHeight) {
-		
-		if (hoverInfo == null)
-			return null;
-			
-		GC gc= new GC(display);
-		try {
-			
-			StringBuffer buffer= new StringBuffer();
-			int maxNumberOfLines= Math.round(maxHeight / gc.getFontMetrics().getHeight());
-			
-			fCounter= 0;
-			LineBreakingReader reader= new LineBreakingReader(createReader(hoverInfo, presentation), gc, maxWidth);
-			
-			boolean lastLineFormatted= false;
-			String lastLineIndent= null;
-			
-			String line=reader.readLine();
-			boolean lineFormatted= reader.isFormattedLine();
-			boolean firstLineProcessed= false;
-			
-			while (line != null) {
-				
-				if (fEnforceUpperLineLimit && maxNumberOfLines <= 0)
-					break;
-				
-				if (firstLineProcessed) {
-					if (!lastLineFormatted)
-						append(buffer, LINE_DELIM, null);
-					else {
-						append(buffer, LINE_DELIM, presentation);
-						if (lastLineIndent != null)
-							append(buffer, lastLineIndent, presentation);
-					}
-				}
-				
-				append(buffer, line, null);
-				firstLineProcessed= true;
-				
-				lastLineFormatted= lineFormatted;
-				if (!lineFormatted)
-					lastLineIndent= null;
-				else if (lastLineIndent == null)
-					lastLineIndent= getIndent(line);
-					
-				line= reader.readLine();
-				lineFormatted= reader.isFormattedLine();
-				
-				maxNumberOfLines--;
-			}
-			
-			if (line != null) {
-				append(buffer, LINE_DELIM, lineFormatted ? presentation : null);
-				append(buffer, "...", presentation); //$NON-NLS-1$
-			}
-			
-			return trim(buffer, presentation);
-			
-		} catch (IOException e) {
-			AntUIPlugin.log(e);
-			return null;
-		} finally {
-			gc.dispose();
-		}
-	}
-	
-	private String trim(StringBuffer buffer, TextPresentation presentation) {
-		
-		int length= buffer.length();
-				
-		int end= length -1;
-		while (end >= 0 && Character.isWhitespace(buffer.charAt(end)))
-			-- end;
-		
-		if (end == -1)
-			return ""; //$NON-NLS-1$
-			
-		if (end < length -1)
-			buffer.delete(end + 1, length);
-		else
-			end= length;
-			
-		int start= 0;
-		while (start < end && Character.isWhitespace(buffer.charAt(start)))
-			++ start;
-			
-		buffer.delete(0, start);
-		presentation.setResultWindow(new Region(start, buffer.length()));
-		return buffer.toString();
-	}
-}
-
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/LineBreakingReader.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/LineBreakingReader.java
deleted file mode 100644
index f9e788a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/LineBreakingReader.java
+++ /dev/null
@@ -1,114 +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.ant.internal.ui.editor.derived;
-
- 
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.text.BreakIterator;
-
-import org.eclipse.swt.graphics.GC;
-
-/**
- * Not a real reader. Could change if requested
- * @see   org.eclipse.jdt.internal.ui.text.LineBreakingReader
- */
-public class LineBreakingReader {
-	
-	private BufferedReader fReader;
-	private GC fGC;
-	private int fMaxWidth;
-	
-	private String fLine;
-	private int fOffset;
-	
-	private BreakIterator fLineBreakIterator;
-
-	/**
-	 * Creates a reader that breaks an input text to fit in a given width.
-	 * @param reader Reader of the input text
-	 * @param gc The graphic context that defines the currently used font sizes
-	 * @param maxLineWidth The max width (pixes) where the text has to fit in 
-	 */
-	public LineBreakingReader(Reader reader, GC gc, int maxLineWidth) {
-		fReader= new BufferedReader(reader);
-		fGC= gc;
-		fMaxWidth= maxLineWidth;
-		fOffset= 0;
-		fLine= null;
-		fLineBreakIterator= BreakIterator.getLineInstance();
-	}
-	
-	public boolean isFormattedLine() {
-		return fLine != null;
-	}
-	
-	/**
-	 * Reads the next line. The lengths of the line will not exceed the gived maximum
-	 * width.
-	 */
-	public String readLine() throws IOException {
-		if (fLine == null) {
-			String line= fReader.readLine();
-			if (line == null)
-				return null;
-								
-			int lineLen= fGC.textExtent(line).x;
-			if (lineLen < fMaxWidth) {
-				return line;
-			}
-			fLine= line;
-			fLineBreakIterator.setText(line);
-			fOffset= 0;
-		}
-		int breakOffset= findNextBreakOffset(fOffset);
-		String res;
-		if (breakOffset != BreakIterator.DONE) {
-			res= fLine.substring(fOffset, breakOffset);
-			fOffset= findWordBegin(breakOffset);
-			if (fOffset == fLine.length()) {
-				fLine= null;
-			}
-		} else {
-			res= fLine.substring(fOffset);
-			fLine= null;
-		}
-		return res;
-	}
-	
-	private int findNextBreakOffset(int currOffset) {
-		int currWidth= 0;
-		int nextOffset= fLineBreakIterator.following(currOffset);
-		while (nextOffset != BreakIterator.DONE) {
-			String word= fLine.substring(currOffset, nextOffset);
-			int wordWidth= fGC.textExtent(word).x;
-			int nextWidth= wordWidth + currWidth;
-			if (nextWidth > fMaxWidth) {
-				if (currWidth > 0) {
-					return currOffset;
-				} 
-				return nextOffset;
-			}
-			currWidth= nextWidth;
-			currOffset= nextOffset;
-			nextOffset= fLineBreakIterator.next();
-		}
-		return nextOffset;
-	}
-	
-	private int findWordBegin(int idx) {
-		while (idx < fLine.length() && Character.isWhitespace(fLine.charAt(idx))) {
-			idx++;
-		}
-		return idx;
-	}	
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/SingleCharReader.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/SingleCharReader.java
deleted file mode 100644
index b914d0a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/SingleCharReader.java
+++ /dev/null
@@ -1,63 +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.ant.internal.ui.editor.derived;
-
-
-import java.io.IOException;
-import java.io.Reader;
-
-/**
- * @see org.eclipse.jdt.internal.corext.javadoc.SingleCharReader
- */
-public abstract class SingleCharReader extends Reader {
-	
-	/**
-	 * @see Reader#read()
-	 */
-	public abstract int read() throws IOException;
-
-	/**
-	 * @see Reader#read(char[],int,int)
-	 */
-	public int read(char cbuf[], int off, int len) throws IOException {
-		int end= off + len;
-		for (int i= off; i < end; i++) {
-			int ch= read();
-			if (ch == -1) {
-				if (i == off) {
-					return -1;
-				} 
-				return i - off;
-			}
-			cbuf[i]= (char)ch;
-		}
-		return len;
-	}		
-	
-	/**
-	 * @see Reader#ready()
-	 */		
-	public boolean ready() throws IOException {
-		return true;
-	}
-	
-	/**
-	 * Gets the content as a String
-	 */
-	public String getString() throws IOException {
-		StringBuffer buf= new StringBuffer();
-		int ch;
-		while ((ch= read()) != -1) {
-			buf.append((char)ch);
-		}
-		return buf.toString();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/SubstitutionTextReader.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/SubstitutionTextReader.java
deleted file mode 100644
index 1c5af69..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/derived/SubstitutionTextReader.java
+++ /dev/null
@@ -1,152 +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.ant.internal.ui.editor.derived;
-
-
-
-import java.io.IOException;
-import java.io.Reader;
-
-
-/**
- * Reads the text contents from a reader and computes for each character
- * a potential substitution. The substitution may eat more characters than 
- * only the one passed into the computation routine.
- * 
- * @see   org.eclipse.jdt.internal.ui.text.SubstitutionTextReader
- */
-public abstract class SubstitutionTextReader extends SingleCharReader {
-	
-	protected static final String LINE_DELIM= System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	private Reader fReader;
-	private boolean fWasWhiteSpace;
-	private int fCharAfterWhiteSpace;
-
-	/**
-	 * Tells whether white space characters are skipped.
-	 */
-	private boolean fSkipWhiteSpace= true;
-	
-	private boolean fReadFromBuffer;
-	private StringBuffer fBuffer;
-	private int fIndex;
-
-
-	protected SubstitutionTextReader(Reader reader) {
-		fReader= reader;
-		fBuffer= new StringBuffer();
-		fIndex= 0;
-		fReadFromBuffer= false;
-		fCharAfterWhiteSpace= -1;
-		fWasWhiteSpace= true;
-	}
-	
-	/**
-	 * Implement to compute the substitution for the given character and 
-	 * if necessary subsequent characters. Use <code>nextChar</code>
-	 * to read subsequent characters.
-	 */
-	protected abstract String computeSubstitution(int c) throws IOException;
-	
-	/**
-	 * Returns the internal reader.
-	 */
-	protected Reader getReader() {
-		return fReader;
-	}
-	 
-	/**
-	 * Returns the next character.
-	 */
-	protected int nextChar() throws IOException {
-		fReadFromBuffer= (fBuffer.length() > 0);
-		if (fReadFromBuffer) {
-			char ch= fBuffer.charAt(fIndex++);
-			if (fIndex >= fBuffer.length()) {
-				fBuffer.setLength(0);
-				fIndex= 0;
-			}
-			return ch;
-		} 
-		int ch= fCharAfterWhiteSpace;
-		if (ch == -1) {
-			ch= fReader.read();
-		}
-		if (fSkipWhiteSpace && Character.isWhitespace((char)ch)) {
-			do {
-				ch= fReader.read();
-			} while (Character.isWhitespace((char)ch));
-			if (ch != -1) {
-				fCharAfterWhiteSpace= ch;
-				return ' ';
-			}
-		} else {
-			fCharAfterWhiteSpace= -1;
-		}
-		return ch;
-	}
-	
-	/**
-	 * @see Reader#read()
-	 */
-	public int read() throws IOException {
-		int c;
-		do {
-			
-			c= nextChar();
-			while (!fReadFromBuffer) {
-				String s= computeSubstitution(c);
-				if (s == null)
-					break;
-				if (s.length() > 0)
-					fBuffer.insert(0, s);
-				c= nextChar();
-			}
-			
-		} while (fSkipWhiteSpace && fWasWhiteSpace && (c == ' '));
-		fWasWhiteSpace= (c == ' ' || c == '\r' || c == '\n');
-		return c;
-	}
-		
-	/**
-	 * @see Reader#ready()
-	 */		
-	public boolean ready() throws IOException {
-		return fReader.ready();
-	}
-		
-	/**
-	 * @see Reader#close()
-	 */		
-	public void close() throws IOException {
-		fReader.close();
-	}
-	
-	/**
-	 * @see Reader#reset()
-	 */		
-	public void reset() throws IOException {
-		fReader.reset();
-		fWasWhiteSpace= true;
-		fCharAfterWhiteSpace= -1;
-		fBuffer.setLength(0);
-		fIndex= 0;		
-	}
-
-	protected final void setSkipWhitespace(boolean state) {
-		fSkipWhiteSpace= state;
-	}
-
-	protected final boolean isSkippingWhitespace() {
-		return fSkipWhiteSpace;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/FormattingPreferences.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/FormattingPreferences.java
deleted file mode 100644
index cd43b4d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/FormattingPreferences.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- * 	   IBM Corporation - bug 52076
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.editor.formatter;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-public class FormattingPreferences {
-	
-	IPreferenceStore fPrefs= AntUIPlugin.getDefault().getPreferenceStore();
-   
-    public String getCanonicalIndent() {
-       String canonicalIndent;
-       if (!useSpacesInsteadOfTabs()) {
-            canonicalIndent = "\t"; //$NON-NLS-1$
-        } else {
-            String tab = ""; //$NON-NLS-1$
-            for (int i = 0; i < getTabWidth(); i++) {
-                tab = tab.concat(" "); //$NON-NLS-1$
-            }
-            canonicalIndent = tab;
-        }
-        
-        return canonicalIndent;
-    }
-    
-    public int getMaximumLineWidth() {
-        return fPrefs.getInt(AntEditorPreferenceConstants.FORMATTER_MAX_LINE_LENGTH);
-    }  
-    
-    public boolean wrapLongTags() {
-        return fPrefs.getBoolean(AntEditorPreferenceConstants.FORMATTER_WRAP_LONG);
-    }
-    
-    public boolean alignElementCloseChar() {
-        return fPrefs.getBoolean(AntEditorPreferenceConstants.FORMATTER_ALIGN);        
-    }
-
-	public int getTabWidth() {
-		return fPrefs.getInt(AntEditorPreferenceConstants.FORMATTER_TAB_SIZE);
-	}
-	
-	public boolean useSpacesInsteadOfTabs() {
-    	return ! fPrefs.getBoolean(AntEditorPreferenceConstants.FORMATTER_TAB_CHAR);
-    }
-	
-	public static boolean affectsFormatting(PropertyChangeEvent event) {
-		String property= event.getProperty();
-		return property.startsWith(AntEditorPreferenceConstants.FORMATTER_ALIGN) ||
-			property.startsWith(AntEditorPreferenceConstants.FORMATTER_MAX_LINE_LENGTH) ||
-			property.startsWith(AntEditorPreferenceConstants.FORMATTER_TAB_CHAR) ||
-			property.startsWith(AntEditorPreferenceConstants.FORMATTER_TAB_SIZE) ||
-			property.startsWith(AntEditorPreferenceConstants.FORMATTER_WRAP_LONG);
-	}
-	/**
-	 * Sets the preference store for these formatting preferences.
-	 * @param prefs the preference store to use as a reference for the formatting
-	 * preferences
-	 */
-	public void setPreferenceStore(IPreferenceStore prefs) {
-		fPrefs = prefs;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormatter.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormatter.java
deleted file mode 100644
index a29d34c..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormatter.java
+++ /dev/null
@@ -1,521 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- * 	   IBM Corporation - bug fixes
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.formatter;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-
-public class XmlDocumentFormatter {
-
-    private static class CommentReader extends TagReader {
-
-        private boolean complete = false;
-
-        protected void clear() {
-            this.complete = false;
-        }
-
-        public String getStartOfTag() {
-            return "<!--"; //$NON-NLS-1$
-        }
-
-        protected String readTag() throws IOException {
-            int intChar;
-            char c;
-            StringBuffer node = new StringBuffer();
-
-            while (!complete && (intChar = reader.read()) != -1) {
-                c = (char) intChar;
-
-                node.append(c);
-
-                if (c == '>' && node.toString().endsWith("-->")) { //$NON-NLS-1$
-                    complete = true;
-                }
-            }
-            return node.toString();
-        }
-    }
-
-    private static class DoctypeDeclarationReader extends TagReader {
-
-        private boolean complete = false;
-
-        protected void clear() {
-            this.complete = false;
-        }
-
-        public String getStartOfTag() {
-            return "<!"; //$NON-NLS-1$
-        }
-
-        protected String readTag() throws IOException {
-            int intChar;
-            char c;
-            StringBuffer node = new StringBuffer();
-
-            while (!complete && (intChar = reader.read()) != -1) {
-                c = (char) intChar;
-
-                node.append(c);
-
-                if (c == '>') {
-                    complete = true;
-                }
-            }
-            return node.toString();
-        }
-
-    }
-
-    private static class ProcessingInstructionReader extends TagReader {
-
-        private boolean complete = false;
-
-        protected void clear() {
-            this.complete = false;
-        }
-
-        public String getStartOfTag() {
-            return "<?"; //$NON-NLS-1$
-        }
-
-        protected String readTag() throws IOException {
-            int intChar;
-            char c;
-            StringBuffer node = new StringBuffer();
-
-            while (!complete && (intChar = reader.read()) != -1) {
-                c = (char) intChar;
-
-                node.append(c);
-
-                if (c == '>' && node.toString().endsWith("?>")) { //$NON-NLS-1$
-                    complete = true;
-                }
-            }
-            return node.toString();
-        }
-    }
-
-    private static abstract class TagReader {
-
-        protected Reader reader;
-
-        private String tagText;
-
-        protected abstract void clear();
-
-        public int getPostTagDepthModifier() {
-            return 0;
-        }
-
-        public int getPreTagDepthModifier() {
-            return 0;
-        }
-
-        abstract public String getStartOfTag();
-
-        public String getTagText() {
-            return this.tagText;
-        }
-
-        public boolean isTextNode() {
-            return false;
-        }
-
-        protected abstract String readTag() throws IOException;
-
-        public boolean requiresInitialIndent() {
-            return true;
-        }
-
-        public void setReader(Reader reader) throws IOException {
-            this.reader = reader;
-            this.clear();
-            this.tagText = readTag();
-        }
-
-        public boolean startsOnNewline() {
-            return true;
-        }
-    }
-
-    private static class TagReaderFactory {
-
-        // Warning: the order of the Array is important!
-        private static TagReader[] tagReaders = new TagReader[]{new CommentReader(),
-                                                                new DoctypeDeclarationReader(),
-                                                                new ProcessingInstructionReader(),
-                                                                new XmlElementReader()};
-
-        private static TagReader textNodeReader = new TextReader();
-
-        public static TagReader createTagReaderFor(Reader reader)
-                                                                 throws IOException {
-
-            char[] buf = new char[10];
-            reader.mark(10);
-            reader.read(buf, 0, 10);
-            reader.reset();
-
-            String startOfTag = String.valueOf(buf);
-
-            for (int i = 0; i < tagReaders.length; i++) {
-                if (startOfTag.startsWith(tagReaders[i].getStartOfTag())) {
-                    tagReaders[i].setReader(reader);
-                    return tagReaders[i];
-                }
-            }
-            // else
-            textNodeReader.setReader(reader);
-            return textNodeReader;
-        }
-    }
-
-    private static class TextReader extends TagReader {
-
-        private boolean complete;
-
-        private boolean isTextNode;
-
-        protected void clear() {
-            this.complete = false;
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.ant.internal.ui.editor.formatter.XmlDocumentFormatter.TagReader#getStartOfTag()
-         */
-        public String getStartOfTag() {
-            return ""; //$NON-NLS-1$
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.ant.internal.ui.editor.formatter.XmlDocumentFormatter.TagReader#isTextNode()
-         */
-        public boolean isTextNode() {
-            return this.isTextNode;
-        }
-
-        protected String readTag() throws IOException {
-
-            StringBuffer node = new StringBuffer();
-
-            while (!complete) {
-
-                reader.mark(1);
-                int intChar = reader.read();
-                if (intChar == -1) break;
-
-                char c = (char) intChar;
-                if (c == '<') {
-                    reader.reset();
-                    complete = true;
-                } else {
-                    node.append(c);
-                }
-            }
-
-            // if this text node is just whitespace
-            // remove it, except for the newlines.
-            if (node.length() < 1) {
-                this.isTextNode = false;
-
-            } else if (node.toString().trim().length() == 0) {
-                String whitespace = node.toString();
-                node = new StringBuffer();
-                for (int i = 0; i < whitespace.length(); i++) {
-                    char whitespaceCharacter = whitespace.charAt(i);
-                    if (whitespaceCharacter == '\n' || whitespaceCharacter == '\r') {
-                        node.append(whitespaceCharacter);
-                    }
-                }
-                this.isTextNode = false;
-
-            } else {
-                this.isTextNode = true;
-            }
-            return node.toString();
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.ant.internal.ui.editor.formatter.XmlDocumentFormatter.TagReader#requiresInitialIndent()
-         */
-        public boolean requiresInitialIndent() {
-            return false;
-        }
-
-        /* (non-Javadoc)
-         * @see org.eclipse.ant.internal.ui.editor.formatter.XmlDocumentFormatter.TagReader#startsOnNewline()
-         */
-        public boolean startsOnNewline() {
-            return false;
-        }
-    }
-
-    private static class XmlElementReader extends TagReader {
-
-        private boolean complete = false;
-
-        protected void clear() {
-            this.complete = false;
-        }
-
-        public int getPostTagDepthModifier() {
-            if (getTagText().endsWith("/>") || getTagText().endsWith("/ >")) { //$NON-NLS-1$ //$NON-NLS-2$
-                return 0;
-            } else if (getTagText().startsWith("</")) { //$NON-NLS-1$
-                return 0;
-            } else {
-                return +1;
-            }
-        }
-
-        public int getPreTagDepthModifier() {
-            if (getTagText().startsWith("</")) { //$NON-NLS-1$
-                return -1;
-            } 
-            return 0;
-        }
-
-        public String getStartOfTag() {
-            return "<"; //$NON-NLS-1$
-        }
-
-        protected String readTag() throws IOException {
-
-            StringBuffer node = new StringBuffer();
-
-            boolean insideQuote = false;
-            int intChar;
-
-            while (!complete && (intChar = reader.read()) != -1) {
-                char c = (char) intChar;
-
-                node.append(c);
-                // TODO logic incorrectly assumes that " is quote character
-                // when it could also be '
-                if (c == '"') {
-                    insideQuote = !insideQuote;
-                }
-                if (c == '>' && !insideQuote) {
-                    complete = true;
-                }
-            }
-            return node.toString();
-        }
-    }
-
-    private int depth;
-
-    private StringBuffer formattedXml;
-
-    private boolean lastNodeWasText;
-
-    public XmlDocumentFormatter() {
-		super();
-		depth= -1;
-	}
-
-    private void copyNode(Reader reader, StringBuffer out, FormattingPreferences prefs) throws IOException {
-
-        TagReader tag = TagReaderFactory.createTagReaderFor(reader);
-
-        depth = depth + tag.getPreTagDepthModifier();
-
-        if (!lastNodeWasText) {
-
-            if (tag.startsOnNewline() && !hasNewlineAlready(out)) {
-                out.append(System.getProperty("line.separator")); //$NON-NLS-1$
-            }
-
-            if (tag.requiresInitialIndent()) {
-                out.append(indent(prefs.getCanonicalIndent()));
-            }
-        }
-
-        out.append(tag.getTagText());
-
-        depth = depth + tag.getPostTagDepthModifier();
-
-        lastNodeWasText = tag.isTextNode();
-
-    }
-    
-    /**
-	 * Returns the indent of the given string.
-	 * 
-	 * @param line the text line
-	 * @param tabWidth the width of the '\t' character.
-	 */
-	public static int computeIndent(String line, int tabWidth) {
-		int result= 0;
-		int blanks= 0;
-		int size= line.length();
-		for (int i= 0; i < size; i++) {
-			char c= line.charAt(i);
-			if (c == '\t') {
-				result++;
-				blanks= 0;
-			} else if (isIndentChar(c)) {
-				blanks++;
-				if (blanks == tabWidth) {
-					result++;
-					blanks= 0;
-				}
-			} else {
-				return result;
-			}
-		}
-		return result;
-	}
-	
-	/**
-	 * Indent char is a space char but not a line delimiters.
-	 * <code>== Character.isWhitespace(ch) && ch != '\n' && ch != '\r'</code>
-	 */
-	public static boolean isIndentChar(char ch) {
-		return Character.isWhitespace(ch) && !isLineDelimiterChar(ch);
-	}
-	
-	/**
-	 * Line delimiter chars are '\n' and '\r'.
-	 */
-	public static boolean isLineDelimiterChar(char ch) {
-		return ch == '\n' || ch == '\r';
-	}	
-	
-    public String format(String documentText, FormattingPreferences prefs) {
-
-        Assert.isNotNull(documentText);
-        Assert.isNotNull(prefs);
-
-        Reader reader = new StringReader(documentText);
-        formattedXml = new StringBuffer();
-
-        if (depth == -1) {
-        	depth = 0;
-        }
-        lastNodeWasText = false;
-        try {
-            while (true) {
-                reader.mark(1);
-                int intChar = reader.read();
-                reader.reset();
-
-                if (intChar != -1) {
-                    copyNode(reader, formattedXml, prefs);
-                } else {
-                    break;
-                }
-            }
-            reader.close();
-        } catch (IOException e) {
-           AntUIPlugin.log(e);
-        }
-        return formattedXml.toString();
-    }
-
-    private boolean hasNewlineAlready(StringBuffer out) {
-        return out.lastIndexOf("\n") == formattedXml.length() - 1 //$NON-NLS-1$
-               || out.lastIndexOf("\r") == formattedXml.length() - 1; //$NON-NLS-1$
-    }
-
-    private String indent(String canonicalIndent) {
-        StringBuffer indent = new StringBuffer(30);
-        for (int i = 0; i < depth; i++) {
-            indent.append(canonicalIndent);
-        }
-        return indent.toString();
-    }
-    
-    public void setInitialIndent(int indent) {
-        depth= indent;
-    }
-   
-	/**
-	 * Returns the indentation of the line at <code>offset</code> as a
-	 * <code>StringBuffer</code>. If the offset is not valid, the empty string
-	 * is returned.
-	 * 
-	 * @param offset the offset in the document
-	 * @return the indentation (leading whitespace) of the line in which
-	 * 		   <code>offset</code> is located
-	 */
-	public static StringBuffer getLeadingWhitespace(int offset, IDocument document) {
-		StringBuffer indent= new StringBuffer();
-		try {
-			IRegion line= document.getLineInformationOfOffset(offset);
-			int lineOffset= line.getOffset();
-			int nonWS= findEndOfWhiteSpace(document, lineOffset, lineOffset + line.getLength());
-			indent.append(document.get(lineOffset, nonWS - lineOffset));
-			return indent;
-		} catch (BadLocationException e) {
-			return indent;
-		}
-	}
-	
-	/**
-	 * Returns the first offset greater than <code>offset</code> and smaller than 
-	 * <code>end</code> whose character is not a space or tab character. If no such
-	 * offset is found, <code>end</code> is returned.
-	 *
-	 * @param document the document to search in
-	 * @param offset the offset at which searching start
-	 * @param end the offset at which searching stops
-	 * @return the offset in the specifed range whose character is not a space or tab
-	 * @exception BadLocationException if position is an invalid range in the given document
-	 */
-	public static int findEndOfWhiteSpace(IDocument document, int offset, int end) throws BadLocationException {
-		while (offset < end) {
-			char c= document.getChar(offset);
-			if (c != ' ' && c != '\t') {
-				return offset;
-			}
-			offset++;
-		}
-		return end;
-	}
-	
-	/**
-	 * Creates a string that represents one indent (can be
-	 * spaces or tabs..)
-	 * 
-	 * @return one indentation
-	 */
-	public static StringBuffer createIndent() {
-		StringBuffer oneIndent= new StringBuffer();
-		IPreferenceStore pluginPrefs= AntUIPlugin.getDefault().getPreferenceStore();
-		pluginPrefs.getBoolean(AntEditorPreferenceConstants.FORMATTER_TAB_CHAR);
-		
-		if (!pluginPrefs.getBoolean(AntEditorPreferenceConstants.FORMATTER_TAB_CHAR)) {
-			int tabLen= pluginPrefs.getInt(AntEditorPreferenceConstants.FORMATTER_TAB_SIZE);
-			for (int i= 0; i < tabLen; i++) {
-				oneIndent.append(' ');
-			}
-		} else {
-			oneIndent.append('\t'); // default
-		}
-		
-		return oneIndent;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormattingStrategy.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormattingStrategy.java
deleted file mode 100644
index 9b756e4..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlDocumentFormattingStrategy.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- * 	   IBM Corporation - bug 52076
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.formatter;
-
-import java.util.LinkedList;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy;
-import org.eclipse.jface.text.formatter.FormattingContextProperties;
-import org.eclipse.jface.text.formatter.IFormattingContext;
-
-public class XmlDocumentFormattingStrategy extends ContextBasedFormattingStrategy {
- 
-	/** Documents to be formatted by this strategy */
-	private final LinkedList fDocuments= new LinkedList();
-    
-	/** access to the preferences store * */
-	private FormattingPreferences prefs; 
-	
-	private int indent= -1;
-	
-	public XmlDocumentFormattingStrategy() {
-	    this.prefs = new FormattingPreferences();
-    }
- 
-	public XmlDocumentFormattingStrategy(FormattingPreferences prefs, int indent) {
-	    Assert.isNotNull(prefs);
-	    this.prefs = prefs;
-	    this.indent= indent;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.formatter.IFormattingStrategyExtension#format()
-	 */
-	public void format() {
- 
-        super.format();
-     	final IDocument document= (IDocument)fDocuments.removeFirst();
-		if (document != null) {
-	        // TODO allow formatting of regions, not just the entire document; bug 75611
-	        String documentText = document.get();
-	        XmlDocumentFormatter formatter = new XmlDocumentFormatter();
-	        if (indent != -1) {
-	        	formatter.setInitialIndent(indent);
-	        }
-	        String formattedText = formatter.format(documentText, this.prefs);
-	        if (formattedText != null && !formattedText.equals(documentText)) {
-	        	document.set(formattedText);
-	        }
-		}
-     }
-     
-     /*
- 	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStarts(org.eclipse.jface.text.formatter.IFormattingContext)
- 	 */
- 	public void formatterStarts(final IFormattingContext context) {
- 		super.formatterStarts(context);
- 		
- 		fDocuments.addLast(context.getProperty(FormattingContextProperties.CONTEXT_MEDIUM));
- 	}
-
- 	/*
- 	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStops()
- 	 */
- 	public void formatterStops() {
- 		super.formatterStops();
-
- 		fDocuments.clear();
- 	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlElementFormattingStrategy.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlElementFormattingStrategy.java
deleted file mode 100644
index f9e621c..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlElementFormattingStrategy.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- * 	   IBM Corporation - bug 52076, bug 84342
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.formatter;
-
-import java.util.LinkedList;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.TypedPosition;
-import org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy;
-import org.eclipse.jface.text.formatter.FormattingContextProperties;
-import org.eclipse.jface.text.formatter.IFormattingContext;
-
-public class XmlElementFormattingStrategy extends ContextBasedFormattingStrategy {
-
-    /** access to the preferences store * */
-    private final FormattingPreferences prefs;
-    
-    /** Documents to be formatted by this strategy */
-	private final LinkedList fDocuments= new LinkedList();
-	/** Partitions to be formatted by this strategy */
-	private final LinkedList fPartitions= new LinkedList();
-
-    public XmlElementFormattingStrategy() {
-        this.prefs = new FormattingPreferences();
-    }
-
-    public XmlElementFormattingStrategy(FormattingPreferences prefs) {
-        Assert.isNotNull(prefs);
-        this.prefs=prefs;
-    }
-    
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.text.formatter.IFormattingStrategyExtension#format()
-     */
-    public void format() {
-
-        super.format();
-                
-    	final IDocument document= (IDocument)fDocuments.removeFirst();
-		final TypedPosition partition= (TypedPosition)fPartitions.removeFirst();
-		
-		if (document == null || partition == null) {
-			return;
-		}
-
-        try {
-            String formatted = formatElement(document, partition);
-            String partitionText = document.get(partition.getOffset(),
-                    partition.getLength());
-
-            if (formatted != null && !formatted.equals(partitionText)) {
-                document.replace(partition.getOffset(), partition.getLength(),
-                        formatted);
-            }
-
-        } catch (BadLocationException e) {
-        }
-    }
-
-    private String formatElement(IDocument document, TypedPosition partition)
-            throws BadLocationException {
-
-        String partitionText = document.get(partition.getOffset(), partition.getLength());
-
-        IRegion line = document.getLineInformationOfOffset(partition.getOffset());
-
-        int indentLength = partition.getOffset() - line.getOffset();
-        String lineDelimiter= document.getLineDelimiter(document.getLineOfOffset(line.getOffset()));
-        if (lineDelimiter == null) {
-            lineDelimiter= System.getProperty("line.separator"); //$NON-NLS-1$
-        }
-        return XmlTagFormatter.format(partitionText, prefs, document.get(line.getOffset(), indentLength), lineDelimiter);
-
-    }
-
-    /*
- 	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStarts(org.eclipse.jface.text.formatter.IFormattingContext)
- 	 */
- 	public void formatterStarts(final IFormattingContext context) {
- 		super.formatterStarts(context);
- 		
- 		fPartitions.addLast(context.getProperty(FormattingContextProperties.CONTEXT_PARTITION));
- 		fDocuments.addLast(context.getProperty(FormattingContextProperties.CONTEXT_MEDIUM));
- 	}
-
- 	/*
- 	 * @see org.eclipse.jface.text.formatter.ContextBasedFormattingStrategy#formatterStops()
- 	 */
- 	public void formatterStops() {
- 		super.formatterStops();
-
- 		fPartitions.clear();
- 		fDocuments.clear();
- 	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlFormatter.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlFormatter.java
deleted file mode 100644
index 68fd6a2..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlFormatter.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.editor.formatter;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.editor.templates.AntContext;
-import org.eclipse.ant.internal.ui.editor.text.AntDocumentSetupParticipant;
-import org.eclipse.ant.internal.ui.editor.text.AntEditorPartitionScanner;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.IAntModel;
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DefaultPositionUpdater;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.formatter.MultiPassContentFormatter;
-import org.eclipse.jface.text.templates.TemplateBuffer;
-import org.eclipse.jface.text.templates.TemplateVariable;
-
-/**
- * Utility class for using the ant code formatter in contexts where an IDocument
- * containing the text to format is not readily available.
- */
-public class XmlFormatter {
-
-	private static final String POS_CATEGORY= "tempAntFormatterCategory"; //$NON-NLS-1$
-	
-    /**
-     * Format the text using the ant code formatter.
-     * 
-     * @param text
-     *            The text to format. Must be a non-null value.
-     * @param prefs
-     *            Preferences to use for this format operation. If null, the
-     *            preferences currently set in the plug-in's preferences store
-     *            are used.
-     * @return The formatted text.
-     */
-    public static String format(String text, FormattingPreferences prefs) {
-        
-      return format(text, prefs, -1);
-    }
-    
-    private static String format(String text, FormattingPreferences prefs, int indent) {
-    	 Assert.isNotNull(text);
-         
-         FormattingPreferences applyPrefs;
-         if(prefs == null) {
-             applyPrefs = new FormattingPreferences();
-         } else {
-             applyPrefs = prefs;
-         }
-         
-         IDocument doc = new Document();
-         doc.set(text);
-         new AntDocumentSetupParticipant().setup(doc);
-
-         format(applyPrefs, doc, indent);
-
-         return doc.get();
-    }
-
-	private static void format(FormattingPreferences prefs, IDocument doc, int indent) {
-		MultiPassContentFormatter formatter = new MultiPassContentFormatter(
-                AntDocumentSetupParticipant.ANT_PARTITIONING,
-                IDocument.DEFAULT_CONTENT_TYPE);
-
-        formatter.setMasterStrategy(new XmlDocumentFormattingStrategy(prefs, indent));
-        formatter.setSlaveStrategy(new XmlElementFormattingStrategy(prefs),
-                AntEditorPartitionScanner.XML_TAG);
-        formatter.format(doc, new Region(0, doc.getLength()));
-	}
-
-	/**
-     * Format the text using the ant code formatter using the preferences
-     * settings in the plug-in preference store.
-     * 
-     * @param text
-     *            The text to format. Must be a non-null value.
-     * @return The formatted text.
-     */
-    public static String format(String text) {
-        return format(text,null);
-    }
-    
-    public static void format(TemplateBuffer templateBuffer, AntContext antContext, FormattingPreferences prefs) {	
-    	String templateString= templateBuffer.getString();
-    	IDocument fullDocument= new Document(antContext.getDocument().get());
-    	
-    	int completionOffset= antContext.getCompletionOffset();
-    	try {
-    		//trim any starting whitespace
-			IRegion lineRegion= fullDocument.getLineInformationOfOffset(completionOffset);
-			String lineString= fullDocument.get(lineRegion.getOffset(), lineRegion.getLength());
-			lineString= trimBegin(lineString);
-			fullDocument.replace(lineRegion.getOffset(), lineRegion.getLength(), lineString);
-		} catch (BadLocationException e1) {
-			return;
-		}
-    	TemplateVariable[] variables= templateBuffer.getVariables();
-		int[] offsets= variablesToOffsets(variables, completionOffset);
-		
-		IDocument origTemplateDoc= new Document(fullDocument.get());
-		try {
-			origTemplateDoc.replace(completionOffset, antContext.getCompletionLength(), templateString);
-		} catch (BadLocationException e) {
-			return; // don't format if the document has changed
-		}
-		
-    	IDocument templateDocument= createDocument(origTemplateDoc.get(), createPositions(offsets));
-    	
-    	String leadingText= getLeadingText(fullDocument, antContext.getAntModel(), completionOffset);
-    	String newTemplateString= leadingText + templateString;
-    	int indent= XmlDocumentFormatter.computeIndent(leadingText, prefs.getTabWidth());
-    	
-    	newTemplateString= format(newTemplateString, prefs, indent);
-    	
-    	try {
-    		templateDocument.replace(completionOffset, templateString.length(), newTemplateString);
-		} catch (BadLocationException e) {
-			return;
-		}
-		Position[] positions= null;
-		try {
-			positions= templateDocument.getPositions(POS_CATEGORY);
-		} catch (BadPositionCategoryException e2) {
-		}
-    	//offsetsToVariables(offsets, variables, completionOffset);
-		positionsToVariables(positions, variables, completionOffset);
-    	templateBuffer.setContent(newTemplateString, variables);
-    }
-    
-    private static void positionsToVariables(Position[] positions, TemplateVariable[] variables, int start) {
-		for (int i= 0; i != variables.length; i++) {
-		    TemplateVariable variable= variables[i];
-		    
-			int[] offsets= new int[variable.getOffsets().length];
-			for (int j= 0; j != offsets.length; j++) {
-				offsets[j]= positions[j].getOffset() - start;
-			}
-			
-		 	variable.setOffsets(offsets);   
-		}
-	}	
-    private static Document createDocument(String string, Position[] positions) throws IllegalArgumentException {
-		Document doc= new Document(string);
-		try {
-			if (positions != null) {
-				
-				doc.addPositionCategory(POS_CATEGORY);
-				doc.addPositionUpdater(new DefaultPositionUpdater(POS_CATEGORY) {
-					protected boolean notDeleted() {
-						if (fOffset < fPosition.offset && (fPosition.offset + fPosition.length < fOffset + fLength)) {
-							fPosition.offset= fOffset + fLength; // deleted positions: set to end of remove
-							return false;
-						}
-						return true;
-					}
-				});
-				for (int i= 0; i < positions.length; i++) {
-					try {
-						doc.addPosition(POS_CATEGORY, positions[i]);
-					} catch (BadLocationException e) {
-						throw new IllegalArgumentException("Position outside of string. offset: " + positions[i].offset + ", length: " + positions[i].length + ", string size: " + string.length());   //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
-					}
-				}
-			}
-		} catch (BadPositionCategoryException cannotHappen) {
-			// can not happen: category is correctly set up
-		}
-		return doc;
-	}
-    
-    public static String trimBegin(String toBeTrimmed) {
-		
-		int i= 0;
-		while ((i != toBeTrimmed.length()) && Character.isWhitespace(toBeTrimmed.charAt(i))) {
-			i++;
-		}
-
-		return toBeTrimmed.substring(i);
-	}
-    
-    private static int[] variablesToOffsets(TemplateVariable[] variables, int start) {
-		List list= new ArrayList();
-		for (int i= 0; i != variables.length; i++) {
-		    int[] offsets= variables[i].getOffsets();
-		    for (int j= 0; j != offsets.length; j++) {
-				list.add(new Integer(offsets[j]));
-		    }
-		}
-		
-		int[] offsets= new int[list.size()];
-		for (int i= 0; i != offsets.length; i++) {
-			offsets[i]= ((Integer) list.get(i)).intValue() + start;
-		}
-
-		Arrays.sort(offsets);
-
-		return offsets;	    
-	}
-	
-	/**
-	 * Returns the indentation level at the position of code completion.
-	 */
-	private static String getLeadingText(IDocument document, IAntModel model, int completionOffset) {
-		AntProjectNode project= model.getProjectNode(false);
-		if (project == null) {
-			return ""; //$NON-NLS-1$
-		}
-		AntElementNode node= project.getNode(completionOffset);// - fAccumulatedChange);
-		if (node == null) {
-			return ""; //$NON-NLS-1$
-		}
-		
-		StringBuffer buf= new StringBuffer();
-		buf.append(XmlDocumentFormatter.getLeadingWhitespace(node.getOffset(), document));
-		buf.append(XmlDocumentFormatter.createIndent());
-		return buf.toString();
-	}
-	
-	 private static Position[] createPositions(int[] positions) {
-    	Position[] p= null;
-		
-		if (positions != null) {
-			p= new Position[positions.length];
-			for (int i= 0; i < positions.length; i++) {
-				p[i]= new Position(positions[i], 0);
-			}
-		}
-		return p;
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlTagFormatter.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlTagFormatter.java
deleted file mode 100644
index 4201240..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/formatter/XmlTagFormatter.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- *     IBM Corporation - Bug 73411, 84342
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.editor.formatter;
-
-import java.text.CharacterIterator;
-import java.text.StringCharacterIterator;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class XmlTagFormatter {
-
-    protected static class AttributePair {
-
-        private String fAttribute;
-        private String fValue;
-        private char fQuote;
-
-        public AttributePair(String attribute, String value, char attributeQuote) {
-            fAttribute = attribute;
-            fValue = value;
-            fQuote= attributeQuote;
-        }
-
-        public String getAttribute() {
-            return fAttribute;
-        }
-
-        public String getValue() {
-            return fValue;
-        }
-        
-        public char getQuote() {
-            return fQuote;
-        }
-    }
-
-    protected static class ParseException extends Exception {
-    	
-		private static final long serialVersionUID = 1L;
-
-		public ParseException(String message) {
-            super(message);
-        }
-    }
-
-    protected static class Tag {
-
-        private List fAttributes = new ArrayList();
-
-        private boolean fClosed;
-
-        private String fElementName;
-
-        public void addAttribute(String attribute, String value, char quote) {
-            fAttributes.add(new AttributePair(attribute, value, quote));
-        }
-
-        public int attributeCount() {
-            return fAttributes.size();
-        }
-
-        public AttributePair getAttributePair(int i) {
-            return (AttributePair) fAttributes.get(i);
-        }
-
-        public String getElementName() {
-            return this.fElementName;
-        }
-
-        public boolean isClosed() {
-            return fClosed;
-        }
-
-        public int minimumLength() {
-            int length = 2; // for the < >
-            if (this.isClosed()) length++; // if we need to add an />
-            length += this.getElementName().length();
-            if (this.attributeCount() > 0 || this.isClosed()) length++;
-            for (int i = 0; i < this.attributeCount(); i++) {
-                AttributePair attributePair = this.getAttributePair(i);
-                length += attributePair.getAttribute().length();
-                length += attributePair.getValue().length();
-                length += 4; // equals sign, quote characters & trailing space
-            }
-            if (this.attributeCount() > 0 && !this.isClosed()) length--;
-            return length;
-        }
-
-        public void setAttributes(List attributePair) {
-            fAttributes.clear();
-            fAttributes.addAll(attributePair);
-        }
-
-        public void setClosed(boolean closed) {
-            fClosed = closed;
-        }
-
-        public void setElementName(String elementName) {
-            fElementName = elementName;
-        }
-
-        public String toString() {
-            StringBuffer sb = new StringBuffer(500);
-            sb.append('<');
-            sb.append(this.getElementName());
-            if (this.attributeCount() > 0 || this.isClosed()) sb.append(' ');
-
-            for (int i = 0; i < this.attributeCount(); i++) {
-                AttributePair attributePair = this.getAttributePair(i);
-                sb.append(attributePair.getAttribute());
-                sb.append('=');
-                sb.append(attributePair.getQuote());
-                sb.append(attributePair.getValue());
-                sb.append(attributePair.getQuote());
-                if (this.isClosed() || i != this.attributeCount() - 1)
-                        sb.append(' ');
-            }
-            if (this.isClosed()) sb.append('/');
-            sb.append('>');
-            return sb.toString();
-        }
-    }
-
-    protected static class TagFormatter {
-
-        private int countChar(char searchChar, String inTargetString) {
-            StringCharacterIterator iter = new StringCharacterIterator(
-                    inTargetString);
-            int i = 0;
-            if (iter.first() == searchChar) i++;
-            while (iter.getIndex() < iter.getEndIndex()) {
-                if (iter.next() == searchChar) {
-                    i++;
-                }
-            }
-            return i;
-        }
-
-        public String format(Tag tag, FormattingPreferences prefs, String indent, String lineDelimiter) {
-            if (prefs.wrapLongTags()
-                    && lineRequiresWrap(indent + tag.toString(), prefs
-                            .getMaximumLineWidth(), prefs.getTabWidth())) {
-                return wrapTag(tag, prefs, indent, lineDelimiter);
-            }
-            return tag.toString();
-        }
-
-        protected boolean lineRequiresWrap(String line, int lineWidth, int tabWidth) {
-            return tabExpandedLineWidth(line, tabWidth) > lineWidth;
-        }
-
-        /**
-         * @param line
-         *            the line in which spaces are to be expanded
-         * @param tabWidth
-         *            number of spaces to substitute for a tab
-         * @return length of the line with tabs expanded to spaces
-         */
-        protected int tabExpandedLineWidth(String line, int tabWidth) {
-            int tabCount = countChar('\t', line);
-            return (line.length() - tabCount) + (tabCount * tabWidth);
-        }
-
-        protected String wrapTag(Tag tag, FormattingPreferences prefs, String indent, String lineDelimiter) {
-            StringBuffer sb = new StringBuffer(1024);
-            sb.append('<');
-            sb.append(tag.getElementName());
-            sb.append(' ');
-
-            if (tag.attributeCount() > 0) {
-                AttributePair pair= tag.getAttributePair(0);
-                sb.append(pair.getAttribute());
-                sb.append('=');
-                sb.append(pair.getQuote());
-                sb.append(tag.getAttributePair(0).getValue());
-                sb.append(pair.getQuote());
-            }
-
-            if (tag.attributeCount() > 1) {
-                char[] extraIndent = new char[tag.getElementName().length() + 2];
-                Arrays.fill(extraIndent, ' ');
-                for (int i = 1; i < tag.attributeCount(); i++) {
-                    AttributePair pair= tag.getAttributePair(i);
-                    sb.append(lineDelimiter);
-                    sb.append(indent);
-                    sb.append(extraIndent);
-                    sb.append(pair.getAttribute());
-                    sb.append('=');
-                    sb.append(pair.getQuote());
-                    sb.append(pair.getValue());
-                    sb.append(pair.getQuote());
-                }
-            }
-
-            if (prefs.alignElementCloseChar()) {
-                sb.append(lineDelimiter);
-                sb.append(indent);
-            } else if (tag.isClosed()) {
-                sb.append(' ');
-            }
-
-            if (tag.isClosed()) sb.append('/');
-            sb.append('>');
-            return sb.toString();
-        }
-    }
-
-    // if object creation is an issue, use static methods or a flyweight
-    // pattern
-    protected static class TagParser {
-
-        private String fElementName;
-
-        private String fParseText;
-
-        protected List getAttibutes(String elementText)
-                throws ParseException {
-
-            class Mode {
-                private int mode;
-                public void setAttributeNameSearching() {mode = 0;}
-                public void setAttributeNameFound() {mode = 1;}
-                public void setAttributeValueSearching() {mode = 2;}
-                public void setAttributeValueFound() {mode = 3;}
-                public void setFinished() {mode = 4;}
-                public boolean isAttributeNameSearching() {return mode == 0;}
-                public boolean isAttributeNameFound() {return mode == 1;}
-                public boolean isAttributeValueSearching() {return mode == 2;}
-                public boolean isAttributeValueFound() {return mode == 3;}
-                public boolean isFinished() {return mode == 4;}
-            }
-
-            List attributePairs = new ArrayList();
-
-            CharacterIterator iter = new StringCharacterIterator(elementText
-                    .substring(getElementName(elementText).length() + 2));
-
-            // state for finding attributes
-            Mode mode = new Mode();
-            mode.setAttributeNameSearching();
-            char attributeQuote = '"';
-            StringBuffer currentAttributeName = null;
-            StringBuffer currentAttributeValue = null;
-
-            char c = iter.first();
-            while (iter.getIndex() < iter.getEndIndex()) {
-                
-                switch (c) {                
-                
-                case '"':
-                case '\'':
-
-                    if (mode.isAttributeValueSearching()) {
-
-                        // start of an attribute value
-                        attributeQuote = c;
-                        mode.setAttributeValueFound();
-                        currentAttributeValue = new StringBuffer(1024);
-
-                    } else if (mode.isAttributeValueFound()
-                            && attributeQuote == c) {
-
-                        // we've completed a pair!
-                        AttributePair pair = new AttributePair(
-                                currentAttributeName.toString(),
-                                currentAttributeValue.toString(), attributeQuote);
-
-                        attributePairs.add(pair);
-
-                        // start looking for another attribute
-                        mode.setAttributeNameSearching();
-
-                    } else if (mode.isAttributeValueFound()
-                            && attributeQuote != c) {
-
-                        // this quote character is part of the attribute value
-                        currentAttributeValue.append(c);
-
-                    } else {
-                        // this is no place for a quote!
-                        throw new ParseException("Unexpected '" + c //$NON-NLS-1$
-                                + "' when parsing:\n\t" + elementText); //$NON-NLS-1$
-                    }
-                    break;
-
-                case '=':
-                    
-                    if (mode.isAttributeValueFound()) {
-
-                        // this character is part of the attribute value
-                        currentAttributeValue.append(c);
-
-                    } else if (mode.isAttributeNameFound()) {
-
-                        // end of the name, now start looking for the value
-                        mode.setAttributeValueSearching();
-                        
-                    } else {
-                        // this is no place for an equals sign!
-                        throw new ParseException("Unexpected '" + c //$NON-NLS-1$
-                                + "' when parsing:\n\t" + elementText); //$NON-NLS-1$
-                    }
-                    break;
-
-                case '/':
-                case '>':
-                    if (mode.isAttributeValueFound()) {
-                        // attribute values are CDATA, add it all
-                        currentAttributeValue.append(c);
-                    } else if (mode.isAttributeNameSearching()) {
-                        mode.setFinished();
-					} else if (mode.isFinished()){
-						// consume the remaining characters
-                    } else {
-                        // we aren't ready to be done!
-                        throw new ParseException("Unexpected '" + c //$NON-NLS-1$
-                                + "' when parsing:\n\t" + elementText); //$NON-NLS-1$
-                    }
-                    break;
-
-                default:
-
-                    if (mode.isAttributeValueFound()) {
-                        // attribute values are CDATA, add it all
-                        currentAttributeValue.append(c);
-
-					} else if (mode.isFinished()) {
-						if (!Character.isWhitespace(c)) {
-								throw new ParseException("Unexpected '" + c //$NON-NLS-1$
-										+ "' when parsing:\n\t" + elementText); //$NON-NLS-1$
-						}
-                    } else {
-                        if (!Character.isWhitespace(c)) {
-                            if (mode.isAttributeNameSearching()) {
-                                // we found the start of an attribute name
-                                mode.setAttributeNameFound();
-                                currentAttributeName = new StringBuffer(255);
-                                currentAttributeName.append(c);
-                            } else if (mode.isAttributeNameFound()) {
-                                currentAttributeName.append(c);                            
-                            }
-                        }
-                    }
-                    break;
-                }
-                
-                c = iter.next();
-            }
-			if (!mode.isFinished()) {
-				throw new ParseException("Element did not complete normally."); //$NON-NLS-1$
-			}
-            return attributePairs;
-        }
-
-        /**
-         * @param tagText
-         *            text of an XML tag
-         * @return extracted XML element name
-         */
-        protected String getElementName(String tagText) throws ParseException {
-            if (!tagText.equals(this.fParseText) || this.fElementName == null) {
-                int endOfTag = tagEnd(tagText);
-                if ((tagText.length() > 2) && (endOfTag > 1)) {
-                    this.fParseText = tagText;
-                    this.fElementName = tagText.substring(1, endOfTag);
-                } else {
-                    throw new ParseException("No element name for the tag:\n\t" //$NON-NLS-1$
-                            + tagText);
-                }
-            }
-            return fElementName;
-        }
-
-        protected boolean isClosed(String tagText) {
-            return tagText.charAt(tagText.lastIndexOf('>') - 1) == '/';
-        }
-
-        /**
-         * @param tagText
-         * @return a fully populated tag
-         */
-        public Tag parse(String tagText) throws ParseException {
-            Tag tag = new Tag();
-            tag.setElementName(getElementName(tagText));
-            tag.setAttributes(getAttibutes(tagText));
-            tag.setClosed(isClosed(tagText));
-            return tag;
-        }
-
-        private int tagEnd(String text) {
-            // This is admittedly a little loose, but we don't want the
-            // formatter to be too strict...
-            // http://www.w3.org/TR/2000/REC-xml-20001006#NT-Name
-            for (int i = 1; i < text.length(); i++) {
-                char c = text.charAt(i);
-                if (!Character.isLetterOrDigit(c) && c != ':' && c != '.'
-                        && c != '-' && c != '_') { return i; }
-            }
-            return -1;
-        }
-    }
-
-    public static String format(String tagText, FormattingPreferences prefs, String indent, String lineDelimiter) {
-
-        Tag tag;
-        if (tagText.startsWith("</") || tagText.startsWith("<%") //$NON-NLS-1$ //$NON-NLS-2$
-                || tagText.startsWith("<?") || tagText.startsWith("<[")) { //$NON-NLS-1$ //$NON-NLS-2$
-            return tagText;
-        } 
-    	try {
-            tag = new TagParser().parse(tagText);
-        } catch (ParseException e) {
-            // if we can't parse the tag, give up and leave the text as is.
-            return tagText;
-        }
-        return new TagFormatter().format(tag, prefs, indent, lineDelimiter);
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntEditorContentOutlinePage.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntEditorContentOutlinePage.java
deleted file mode 100644
index d067c5e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntEditorContentOutlinePage.java
+++ /dev/null
@@ -1,508 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug fixes
- *     John-Mason P. Shackelford (john-mason.shackelford@pearson.com) - bug 49380, bug 34548, bug 53547
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.outline;
-
-import java.util.List;
-
-import org.apache.tools.ant.Target;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.ant.internal.ui.editor.actions.TogglePresentationAction;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntImportNode;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.internal.ui.model.AntModelChangeEvent;
-import org.eclipse.ant.internal.ui.model.AntModelContentProvider;
-import org.eclipse.ant.internal.ui.model.AntModelCore;
-import org.eclipse.ant.internal.ui.model.AntModelLabelProvider;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntPropertyNode;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.internal.ui.model.AntTaskNode;
-import org.eclipse.ant.internal.ui.model.IAntModel;
-import org.eclipse.ant.internal.ui.model.IAntModelListener;
-import org.eclipse.ant.internal.ui.views.actions.AntOpenWithMenu;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-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.util.ListenerList;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
-
-/**
- * Content outline page for the Ant Editor.
- */
-public class AntEditorContentOutlinePage extends ContentOutlinePage implements IShowInSource, IAdaptable {
-	
-	private static final int EXPAND_TO_LEVEL= 2;
-
-	private Menu fMenu;
-	private AntOpenWithMenu fOpenWithMenu;
-	
-	private IAntModelListener fListener;
-	private IAntModel fModel;
-	private AntModelCore fCore;
-	private ListenerList fPostSelectionChangedListeners= new ListenerList();
-	private boolean fIsModelEmpty= true;
-	private boolean fFilterInternalTargets;
-    private boolean fFilterImportedElements;   
-	private boolean fFilterProperties;
-	private boolean fFilterTopLevel;
-	private boolean fSort;
-
-	private ViewerSorter fSorter;
-	
-	private AntEditor fEditor;
-	
-	private TogglePresentationAction fTogglePresentation;
-	
-	/**
-	 * A viewer filter for the Ant Content Outline
-	 */
-	private class AntOutlineFilter extends ViewerFilter {
-		
-		public boolean select(Viewer viewer, Object parentElement, Object element) {
-            if (element instanceof AntElementNode) {
-                AntElementNode node = (AntElementNode) element;
-                if (fFilterTopLevel && (node instanceof AntTaskNode && parentElement instanceof AntProjectNode)) {
-					return false;
-				}
-			    if (fFilterImportedElements && (node.getImportNode() !=  null || node.isExternal())) {
-					if (node instanceof AntTargetNode && ((AntTargetNode)node).isDefaultTarget()) {
-						return true;
-					}
-					return false;
-				}
-			    if (fFilterInternalTargets && node instanceof AntTargetNode) {
-					Target target= ((AntTargetNode)node).getTarget();
-					if (target.getDescription() == null && !((AntTargetNode)node).isDefaultTarget()) {
-					    return false;
-					}
-					return true;
-				} 
-			    if (fFilterProperties && node instanceof AntPropertyNode) {
-					return false;
-				} 
-			    if (!node.isStructuralNode()) {
-			        return false;
-				} 
-			} 
-			return true;
-		}
-	}
-	
-	private class AntOutlineSorter extends ViewerSorter {
-		/**
-		 * @see org.eclipse.jface.viewers.ViewerSorter#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-		 */
-		public int compare(Viewer viewer, Object e1, Object e2) {
-			if (!(e1 instanceof AntElementNode && e2 instanceof AntElementNode)) {
-				return super.compare(viewer, e1, e2);
-			}
-			String name1= ((AntElementNode) e1).getLabel();
-			String name2= ((AntElementNode) e2).getLabel();
-			return getCollator().compare(name1, name2);
-		}
-	}
-
-	/**
-	 * Sets whether internal targets should be filtered out of the outline.
-	 * 
-	 * @param filter whether or not internal targets should be filtered out
-	 */
-	protected void setFilterInternalTargets(boolean filter) {
-		fFilterInternalTargets= filter;
-		setFilter(filter, IAntUIPreferenceConstants.ANTEDITOR_FILTER_INTERNAL_TARGETS);   
-	}
-	
-	/**
-	 * Sets whether imported elements should be filtered out of the outline.
-	 * 
-	 * @param filter whether or not imported elements should be filtered out
-	 */
-    protected void setFilterImportedElements(boolean filter) {
-		fFilterImportedElements= filter;
-		setFilter(filter, IAntUIPreferenceConstants.ANTEDITOR_FILTER_IMPORTED_ELEMENTS);        
-    }
-
-	private void setFilter(boolean filter, String name) {
-		if (name != null) {
-			AntUIPlugin.getDefault().getPreferenceStore().setValue(name, filter);
-		}
-		//filter has been changed
-		getTreeViewer().refresh();
-	}
-
-	/**
-	 * Sets whether properties should be filtered out of the outline.
-	 * 
-	 * @param filter whether or not properties should be filtered out
-	 */
-	protected void setFilterProperties(boolean filter) {
-		fFilterProperties= filter;
-		setFilter(filter, IAntUIPreferenceConstants.ANTEDITOR_FILTER_PROPERTIES);     
-	}
-	
-	/**
-	 * Sets whether internal targets should be filtered out of the outline.
-	 * 
-	 * @param filter whether or not internal targets should be filtered out
-	 */
-	protected void setFilterTopLevel(boolean filter) {
-		fFilterTopLevel= filter;
-		setFilter(filter, IAntUIPreferenceConstants.ANTEDITOR_FILTER_TOP_LEVEL);     
-	}
-	
-	/**
-	 * Returns whether internal targets are currently being filtered out of
-	 * the outline.
-	 * 
-	 * @return whether or not internal targets are being filtered out
-	 */
-	protected boolean filterInternalTargets() {
-		return fFilterInternalTargets;
-	}
-	
-	/**
-	 * Returns whether imported elements are currently being filtered out of
-	 * the outline.
-	 * 
-	 * @return whether or not imported elements are being filtered out
-	 */
-	protected boolean filterImportedElements() {
-		return fFilterImportedElements;
-	}
-
-	/**
-	 * Returns whether properties are currently being filtered out of
-	 * the outline.
-	 * 
-	 * @return whether or not properties are being filtered out
-	 */
-	protected boolean filterProperties() {
-		return fFilterProperties;
-	}
-	
-	/**
-	 * Returns whether top level tasks/types are currently being filtered out of
-	 * the outline.
-	 * 
-	 * @return whether or not top level tasks/types are being filtered out
-	 */
-	protected boolean filterTopLevel() {
-		return fFilterTopLevel;
-	}
-	
-	/**
-	 * Sets whether elements should be sorted in the outline.
-	 *  
-	 * @param sort whether or not elements should be sorted
-	 */
-	protected void setSort(boolean sort) {
-		fSort= sort;
-		if (sort) {
-			if (fSorter == null) {
-				fSorter= new AntOutlineSorter();
-			}
-			getTreeViewer().setSorter(fSorter);
-		} else {
-			getTreeViewer().setSorter(null);
-		}
-		AntUIPlugin.getDefault().getPreferenceStore().setValue(IAntUIPreferenceConstants.ANTEDITOR_SORT, sort);
-	}
-	
-	/**
-	 * Returns whether elements are currently being sorted.
-	 * 
-	 * @return whether elements are currently being sorted
-	 */
-	protected boolean isSort() {
-		return fSort;
-	}
-	
-	/**
-	 * Creates a new AntEditorContentOutlinePage.
-	 */
-	public AntEditorContentOutlinePage(AntModelCore core, AntEditor editor) {
-		super();
-		fCore= core;
-		fFilterInternalTargets= AntUIPlugin.getDefault().getPreferenceStore().getBoolean(IAntUIPreferenceConstants.ANTEDITOR_FILTER_INTERNAL_TARGETS);
-		fFilterImportedElements= AntUIPlugin.getDefault().getPreferenceStore().getBoolean(IAntUIPreferenceConstants.ANTEDITOR_FILTER_IMPORTED_ELEMENTS);
-		fFilterProperties= AntUIPlugin.getDefault().getPreferenceStore().getBoolean(IAntUIPreferenceConstants.ANTEDITOR_FILTER_PROPERTIES);
-		fFilterTopLevel= AntUIPlugin.getDefault().getPreferenceStore().getBoolean(IAntUIPreferenceConstants.ANTEDITOR_FILTER_TOP_LEVEL);
-		fSort= AntUIPlugin.getDefault().getPreferenceStore().getBoolean(IAntUIPreferenceConstants.ANTEDITOR_SORT);
-		fEditor= editor;
-		
-		fTogglePresentation= new TogglePresentationAction();
-		fTogglePresentation.setEditor(editor);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IPage#dispose()
-	 */
-	public void dispose() {
-		if (fMenu != null) {
-			fMenu.dispose();
-		}
-		if (fOpenWithMenu != null) {
-			fOpenWithMenu.dispose();
-		}
-		if (fListener != null) {
-			fCore.removeAntModelListener(fListener);
-			fListener= null;
-		}
-		fTogglePresentation.setEditor(null);
-		
-		super.dispose();
-	}
-	
-	/**  
-	 * Creates the control (outline view) for this page
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-    
-		TreeViewer viewer = getTreeViewer();
-        
-		viewer.setContentProvider(new AntModelContentProvider());
-		setSort(fSort);
-
-		viewer.setLabelProvider(new AntModelLabelProvider());
-		if (fModel != null) {
-			setViewerInput(fModel);
-		}
-		
-		MenuManager manager= new MenuManager("#PopUp"); //$NON-NLS-1$
-		manager.setRemoveAllWhenShown(true);
-		manager.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager menuManager) {
-				contextMenuAboutToShow(menuManager);
-			}
-		});
-		fMenu= manager.createContextMenu(viewer.getTree());
-		viewer.getTree().setMenu(fMenu);
-
-		IPageSite site= getSite();
-		site.registerContextMenu(IAntUIConstants.PLUGIN_ID + ".antEditorOutline", manager, viewer); //$NON-NLS-1$
-		
-		IToolBarManager tbm= site.getActionBars().getToolBarManager();
-		tbm.add(new ToggleSortAntOutlineAction(this));
-		tbm.add(new FilterInternalTargetsAction(this));
-		tbm.add(new FilterPropertiesAction(this));
-		tbm.add(new FilterImportedElementsAction(this));
-		tbm.add(new FilterTopLevelAction(this));
-		
-		IMenuManager viewMenu= site.getActionBars().getMenuManager();
-		viewMenu.add(new ToggleLinkWithEditorAction(fEditor));
-		
-		fOpenWithMenu= new AntOpenWithMenu(this.getSite().getPage());
-		
-		viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				firePostSelectionChanged(event.getSelection());
-			}
-		});
-		
-		viewer.addFilter(new AntOutlineFilter());
-		site.getActionBars().setGlobalActionHandler(ITextEditorActionDefinitionIds.TOGGLE_SHOW_SELECTED_ELEMENT_ONLY, fTogglePresentation);
-	}
-	
-	private void setViewerInput(Object newInput) {
-		TreeViewer tree= getTreeViewer();
-		Object oldInput= tree.getInput();
-		
-		boolean isAntModel= (newInput instanceof AntModel);
-		boolean wasAntModel= (oldInput instanceof AntModel);
-		
-		if (isAntModel && !wasAntModel) {
-			if (fListener == null) {
-				fListener= createAntModelChangeListener();
-			}
-			fCore.addAntModelListener(fListener);
-		} else if (!isAntModel && wasAntModel && fListener != null) {
-			fCore.removeAntModelListener(fListener);
-			fListener= null;
-		}
-
-		
-		tree.setInput(newInput);
-		
-		if (isAntModel) {
-			updateTreeExpansion();
-		}
-	}
-	
-	public void setPageInput(AntModel xmlModel) {
-		fModel= xmlModel;
-		if (getTreeViewer() != null) {
-			setViewerInput(fModel);
-		}
-	}
-		
-	private IAntModelListener createAntModelChangeListener() {
-		return new IAntModelListener() {
-			public void antModelChanged(final AntModelChangeEvent event) {
-				if (event.getModel() == fModel && !getControl().isDisposed()) {
-					getControl().getDisplay().asyncExec(new Runnable() {
-						public void run() {
-							Control ctrl= getControl();
-							if (ctrl != null && !ctrl.isDisposed()) {
-								getTreeViewer().refresh();
-								updateTreeExpansion();
-							}
-						}
-					});
-				}
-			}
-		};
-	}
-	
-	public void addPostSelectionChangedListener(ISelectionChangedListener listener) {
-		fPostSelectionChangedListeners.add(listener);
-	}
-	
-	public void removePostSelectionChangedListener(ISelectionChangedListener listener) {
-		fPostSelectionChangedListeners.remove(listener);
-	}
-	
-	private void updateTreeExpansion() {
-		boolean wasModelEmpty= fIsModelEmpty;
-		fIsModelEmpty= fModel == null || fModel.getProjectNode() == null;
-		if (wasModelEmpty && !fIsModelEmpty) {
-			getTreeViewer().expandToLevel(EXPAND_TO_LEVEL);
-		}
-	}
-	
-	private void firePostSelectionChanged(ISelection selection) {
-		// create an event
-		SelectionChangedEvent event= new SelectionChangedEvent(this, selection);
- 
-		// fire the event
-		Object[] listeners= fPostSelectionChangedListeners.getListeners();
-		for (int i= 0; i < listeners.length; ++i) {
-			((ISelectionChangedListener) listeners[i]).selectionChanged(event);
-		}
-	}
-	
-	private void contextMenuAboutToShow(IMenuManager menuManager) {	
-		if (shouldAddOpenWithMenu()) {
-			addOpenWithMenu(menuManager);
-		}
-		menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-	
-	private void addOpenWithMenu(IMenuManager menuManager) {
-		AntElementNode element= getSelectedNode();
-		IFile file = element.getIFile();
-		if (file != null) {
-			menuManager.add(new Separator("group.open")); //$NON-NLS-1$
-			IMenuManager submenu= new MenuManager(AntOutlineMessages.getString("AntEditorContentOutlinePage.Open_With_1"));  //$NON-NLS-1$
-			fOpenWithMenu.setNode(element);
-			submenu.add(fOpenWithMenu);
-			menuManager.appendToGroup("group.open", submenu); //$NON-NLS-1$
-		}
-	}
-	
-	private boolean shouldAddOpenWithMenu() {
-		AntElementNode node= getSelectedNode();
-		if (node instanceof AntImportNode) {
-			return true;
-		}
-		if (node != null && node.isExternal()) {
-			String path = node.getFilePath();
-			if (path != null && path.length() > 0) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private AntElementNode getSelectedNode() {
-		ISelection iselection= getSelection();
-		if (iselection instanceof IStructuredSelection) {
-			IStructuredSelection selection= (IStructuredSelection)iselection;
-			if (selection.size() == 1) {
-				Object selected= selection.getFirstElement();
-				if (selected instanceof AntElementNode) {
-					return (AntElementNode)selected;
-				}
-			}
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class key) {
-		if (key == IShowInSource.class) {
-			return this;
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IShowInSource#getShowInContext()
-	 */
-	public ShowInContext getShowInContext() {
-		IFile file= null;
-		if (fModel != null) {
-			AntElementNode node= getSelectedNode();
-			file= node.getIFile();
-		}
-		if (file != null) {
-			ISelection selection= new StructuredSelection(file);
-			return new ShowInContext(null, selection);
-		} 
-		return null;
-	}
-	
-	public void select(AntElementNode node) {
-		if (getTreeViewer() != null) {
-			ISelection s= getTreeViewer().getSelection();
-			if (s instanceof IStructuredSelection) {
-				IStructuredSelection ss= (IStructuredSelection) s;
-				List nodes= ss.toList();
-				if (!nodes.contains(node)) {
-					s= (node == null ? StructuredSelection.EMPTY : new StructuredSelection(node));
-					getTreeViewer().setSelection(s, true);
-				}
-			}
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntEditorMarkerUpdater.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntEditorMarkerUpdater.java
deleted file mode 100644
index d181fcc..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntEditorMarkerUpdater.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.editor.outline;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.model.IAntModel;
-import org.eclipse.ant.internal.ui.model.IProblem;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.resources.WorkspaceJob;
-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.content.IContentDescription;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-public class AntEditorMarkerUpdater {
-	
-	class AntEditorMarkerUpdaterJob extends WorkspaceJob {
-		
-		private final List fProblems;
-
-		public AntEditorMarkerUpdaterJob (List problems) {
-			super("Ant editor marker updater job"); //$NON-NLS-1$
-			fProblems= problems;
-			setSystem(true);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.internal.resources.WorkspaceJob#runInWorkspace(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		public IStatus runInWorkspace(IProgressMonitor monitor) {
-			updateMarkers0(fProblems);
-			return new Status(IStatus.OK, AntUIPlugin.getUniqueIdentifier(), IStatus.OK, "", null); //$NON-NLS-1$
-		}
-	}
-	
-	private IAntModel fModel= null;
-	private List fCollectedProblems= new ArrayList();
-	public static final String BUILDFILE_PROBLEM_MARKER = AntUIPlugin.PI_ANTUI + ".buildFileProblem"; //$NON-NLS-1$
-	private IFile fFile= null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblemRequestor#acceptProblem(org.eclipse.ant.internal.ui.editor.outline.IProblem)
-	 */
-	public synchronized void acceptProblem(IProblem problem) {
-		if (fCollectedProblems.contains(problem)) {
-			return;
-		}
-		fCollectedProblems.add(problem);
-	}
-	
-	public synchronized void beginReporting() {
-		fCollectedProblems.clear();
-	}
-	
-	private void removeProblems() {
-		IFile file= getFile();
-		if (file == null || !file.exists()) {
-			return;
-		}
-		try {
-			file.deleteMarkers(BUILDFILE_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE);
-		} catch (CoreException e) {
-			AntUIPlugin.log(e);
-		}
-	}
-	
-	private void createMarker(IProblem problem) {
-		IFile file = getFile();
-		Map attributes= getMarkerAttributes(problem);
-		try {
-			MarkerUtilities.createMarker(file, attributes, BUILDFILE_PROBLEM_MARKER);
-		} catch (CoreException e) {
-			AntUIPlugin.log(e);
-		} 
-	}
-	
-	public void setModel(IAntModel model) {
-		fModel= model;
-	}
-	
-	public synchronized void updateMarkers() {
-		IFile file = getFile();
-		if (file != null) {
-			List problems = new ArrayList(fCollectedProblems.size());
-			Iterator e= fCollectedProblems.iterator();
-			while (e.hasNext()) {
-				problems.add(e.next());
-			}
-			fCollectedProblems.clear();
-			AntEditorMarkerUpdaterJob job = new AntEditorMarkerUpdaterJob(problems);
-			job.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().markerRule(file));
-			job.schedule();
-		}
-	}
-	
-	private void updateMarkers0(List problems) {
-		removeProblems();
-		if (!shouldAddMarkers()) {
-			return;
-		}
-
-		if (problems.size() > 0) {
-			Iterator e= problems.iterator();
-			while (e.hasNext()) {
-				IProblem problem= (IProblem) e.next();
-				createMarker(problem);
-			}
-		}
-	}
-	
-	private IFile getFile() {
-		if (fFile == null) {
-			fFile= fModel.getFile();
-		}
-		return fFile;
-	}
-	
-	/**
-	 * Returns the attributes with which a newly created marker will be
-	 * initialized.
-	 *
-	 * @return the initial marker attributes
-	 */
-	private Map getMarkerAttributes(IProblem problem) {
-		
-		Map attributes= new HashMap(11);
-		int severity= IMarker.SEVERITY_ERROR;
-		if (problem.isWarning()) {
-			severity= IMarker.SEVERITY_WARNING;
-		}
-		// marker line numbers are 1-based
-		MarkerUtilities.setMessage(attributes, problem.getUnmodifiedMessage());
-		MarkerUtilities.setLineNumber(attributes, problem.getLineNumber());
-		MarkerUtilities.setCharStart(attributes, problem.getOffset());
-		MarkerUtilities.setCharEnd(attributes, problem.getOffset() + problem.getLength());
-		attributes.put(IMarker.SEVERITY, new Integer(severity));
-		return attributes;
-	}
-	
-	/**
-	 * Returns whether or not to add markers to the file based on the file's content type.
-	 * The content type is considered an Ant buildfile if the XML has a root &quot;project&quot; element.
-	 * Content type is defined in the org.eclipse.ant.core plugin.xml.
-	 * @return whether or not to add markers to the file based on the files content type
-	 */
-	private boolean shouldAddMarkers() {
-		IFile file= getFile();
-		if (file == null || !file.exists()) {
-			return false;
-		}
-		IContentDescription description;
-		try {
-			description = file.getContentDescription();
-		} catch (CoreException e) {
-			return false;
-		}
-		if (description != null) {
-			IContentType type= description.getContentType();
-			return type != null && AntCorePlugin.ANT_BUILDFILE_CONTENT_TYPE.equals(type.getId());
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntOutlineMessages.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntOutlineMessages.java
deleted file mode 100644
index 482e2c0..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntOutlineMessages.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.ant.internal.ui.editor.outline;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntOutlineMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.editor.outline.AntOutlineMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntOutlineMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntOutlineMessages.properties b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntOutlineMessages.properties
deleted file mode 100644
index 1508818..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/AntOutlineMessages.properties
+++ /dev/null
@@ -1,25 +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
-#     John-Mason P. Shackelford (john-mason.shackelford@pearson.com) - bug 53547
-###############################################################################
-
-AntEditorContentOutlinePage.Open_With_1=Open With
-
-FilterInternalTargetsAction.0=Hide Internal Targets
-FilterImportedElementsAction.0=Hide Imported Elements
-FilterPropertiesAction.0=Hide Properties
-
-FilterTopLevelAction.0=Hide Top Level Elements
-
-ToggleSortAntOutlineAction.0=Sort
-
-ToggleLinkWithEditorAction.0=Lin&k With Editor
-ToggleLinkWithEditorAction.1=Link with Editor
-ToggleLinkWithEditorAction.2=Link with active editor
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterImportedElementsAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterImportedElementsAction.java
deleted file mode 100644
index e393a92..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterImportedElementsAction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 John-Mason P. Shackelford 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:
- *     John-Mason P. Shackelford - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.editor.outline;
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/** 
- * An action which toggles filtering of imported elements from the Ant outline.
- */
-public class FilterImportedElementsAction extends Action {
-    
-	private AntEditorContentOutlinePage fPage;
-	
-	public FilterImportedElementsAction(AntEditorContentOutlinePage page) {
-		super(AntOutlineMessages.getString("FilterImportedElementsAction.0")); //$NON-NLS-1$
-		fPage = page;
-		setImageDescriptor(AntUIImages.getImageDescriptor(IAntUIConstants.IMG_FILTER_IMPORTED_ELEMENTS));
-		setToolTipText(AntOutlineMessages.getString("FilterImportedElementsAction.0")); //$NON-NLS-1$
-		setChecked(fPage.filterImportedElements());
-	}
-
-    /**
-	 * Toggles the filtering of imported elements from the Ant outline
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		BusyIndicator.showWhile(fPage.getControl().getDisplay(), new Runnable() {
-			public void run() {
-				fPage.setFilterImportedElements(isChecked());
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterInternalTargetsAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterInternalTargetsAction.java
deleted file mode 100644
index e4ebd3e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterInternalTargetsAction.java
+++ /dev/null
@@ -1,44 +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.ant.internal.ui.editor.outline;
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/** 
- * An action which toggles filtering of internal targets from the Ant outline.
- */
-public class FilterInternalTargetsAction extends Action {
-	
-	private AntEditorContentOutlinePage fPage;
-	
-	public FilterInternalTargetsAction(AntEditorContentOutlinePage page) {
-		super(AntOutlineMessages.getString("FilterInternalTargetsAction.0")); //$NON-NLS-1$
-		fPage = page;
-		setImageDescriptor(AntUIImages.getImageDescriptor(IAntUIConstants.IMG_FILTER_INTERNAL_TARGETS));
-		setToolTipText(AntOutlineMessages.getString("FilterInternalTargetsAction.0")); //$NON-NLS-1$
-		setChecked(fPage.filterInternalTargets());
-	}
-	
-	/**
-	 * Toggles the filtering of internal targets from the Ant outline
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		BusyIndicator.showWhile(fPage.getControl().getDisplay(), new Runnable() {
-			public void run() {
-				fPage.setFilterInternalTargets(isChecked());
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterPropertiesAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterPropertiesAction.java
deleted file mode 100644
index 2b68a14..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterPropertiesAction.java
+++ /dev/null
@@ -1,44 +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.ant.internal.ui.editor.outline;
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/** 
- * An action which toggles filtering of properties from the Ant outline.
- */
-public class FilterPropertiesAction extends Action {
-	
-	private AntEditorContentOutlinePage fPage;
-	
-	public FilterPropertiesAction(AntEditorContentOutlinePage page) {
-		super(AntOutlineMessages.getString("FilterPropertiesAction.0")); //$NON-NLS-1$
-		fPage = page;
-		setImageDescriptor(AntUIImages.getImageDescriptor(IAntUIConstants.IMG_FILTER_PROPERTIES));
-		setToolTipText(AntOutlineMessages.getString("FilterPropertiesAction.0")); //$NON-NLS-1$
-		setChecked(fPage.filterProperties());
-	}
-	
-	/**
-	 * Toggles the filtering of properties from the Ant outline
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		BusyIndicator.showWhile(fPage.getControl().getDisplay(), new Runnable() {
-			public void run() {
-				fPage.setFilterProperties(isChecked());
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterTopLevelAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterTopLevelAction.java
deleted file mode 100644
index eaa4503..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/FilterTopLevelAction.java
+++ /dev/null
@@ -1,44 +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.ant.internal.ui.editor.outline;
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.custom.BusyIndicator;
-
-/** 
- * An action which toggles filtering of properties from the Ant outline.
- */
-public class FilterTopLevelAction extends Action {
-	
-	private AntEditorContentOutlinePage fPage;
-	
-	public FilterTopLevelAction(AntEditorContentOutlinePage page) {
-		super(AntOutlineMessages.getString("FilterTopLevelAction.0")); //$NON-NLS-1$
-		fPage = page;
-		setImageDescriptor(AntUIImages.getImageDescriptor(IAntUIConstants.IMG_FILTER_TOP_LEVEL));
-		setToolTipText(AntOutlineMessages.getString("FilterTopLevelAction.0")); //$NON-NLS-1$
-		setChecked(fPage.filterTopLevel());
-	}
-	
-	/**
-	 * Toggles the filtering of top level tasks and types from the Ant outline
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		BusyIndicator.showWhile(fPage.getControl().getDisplay(), new Runnable() {
-			public void run() {
-				fPage.setFilterTopLevel(isChecked());
-			}
-		});
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/ToggleLinkWithEditorAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/ToggleLinkWithEditorAction.java
deleted file mode 100644
index dfa683c..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/ToggleLinkWithEditorAction.java
+++ /dev/null
@@ -1,46 +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.ant.internal.ui.editor.outline;
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.jface.action.Action;
-
-/**
- * This action toggles whether the Ant Outline page links its selection to the
- * active editor.
- * 
- * @since 3.0
- */
-public class ToggleLinkWithEditorAction extends Action {
-	
-	AntEditor fEditor;
-	
-	public ToggleLinkWithEditorAction(AntEditor editor) {
-		super(AntOutlineMessages.getString("ToggleLinkWithEditorAction.0")); //$NON-NLS-1$
-		boolean isLinkingEnabled = AntUIPlugin.getDefault().getPreferenceStore().getBoolean(IAntUIPreferenceConstants.OUTLINE_LINK_WITH_EDITOR);
-		setChecked(isLinkingEnabled);
-		fEditor = editor;
-		setToolTipText(AntOutlineMessages.getString("ToggleLinkWithEditorAction.1")); //$NON-NLS-1$
-		setDescription(AntOutlineMessages.getString("ToggleLinkWithEditorAction.2")); //$NON-NLS-1$
-		setImageDescriptor(AntUIImages.getImageDescriptor(IAntUIConstants.IMG_LINK_WITH_EDITOR));
-	}
-	
-	public void run() {
-		AntUIPlugin.getDefault().getPreferenceStore().setValue(IAntUIPreferenceConstants.OUTLINE_LINK_WITH_EDITOR, isChecked());
-		if (isChecked())
-			fEditor.synchronizeOutlinePage(false);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/ToggleSortAntOutlineAction.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/ToggleSortAntOutlineAction.java
deleted file mode 100644
index b44b87b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/outline/ToggleSortAntOutlineAction.java
+++ /dev/null
@@ -1,40 +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.ant.internal.ui.editor.outline;
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.jface.action.Action;
-
-/**
- * An action which toggles sorting in the Ant outline page.
- */
-public class ToggleSortAntOutlineAction extends Action {
-
-	private AntEditorContentOutlinePage fPage;
-	
-	public ToggleSortAntOutlineAction(AntEditorContentOutlinePage page) {
-		super(AntOutlineMessages.getString("ToggleSortAntOutlineAction.0")); //$NON-NLS-1$
-		fPage = page;
-		setImageDescriptor(AntUIImages.getImageDescriptor(IAntUIConstants.IMG_SORT_OUTLINE));
-		setToolTipText(AntOutlineMessages.getString("ToggleSortAntOutlineAction.0")); //$NON-NLS-1$
-		setChecked(fPage.isSort());
-	}
-	
-	/**
-	 * Toggles the sorting of targets in the Ant outline
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		fPage.setSort(isChecked());
-	}
-	
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntContext.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntContext.java
deleted file mode 100644
index 3153854..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntContext.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.editor.templates;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.editor.formatter.FormattingPreferences;
-import org.eclipse.ant.internal.ui.editor.formatter.XmlFormatter;
-import org.eclipse.ant.internal.ui.model.IAntModel;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.templates.DocumentTemplateContext;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateBuffer;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.jface.text.templates.TemplateException;
-
-public class AntContext extends DocumentTemplateContext {
-	
-	private IAntModel fAntModel;
-	
-	public AntContext(TemplateContextType type, IDocument document, IAntModel model, int completionOffset, int completionLength) {
-		super(type, document, completionOffset, completionLength);
-		fAntModel= model;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.templates.TemplateContext#evaluate(org.eclipse.jface.text.templates.Template)
-	 */
-	public TemplateBuffer evaluate(Template template) throws BadLocationException, TemplateException {
-
-		TemplateBuffer templateBuffer= super.evaluate(template);
-		
-		if (templateBuffer == null) {
-			return null;
-		}
-		//TODO Not enabled see bug 55356
-		if (false && AntUIPlugin.getDefault().getPreferenceStore().getBoolean(AntEditorPreferenceConstants.TEMPLATES_USE_CODEFORMATTER)) {
-			FormattingPreferences prefs = new FormattingPreferences();
-			XmlFormatter.format(templateBuffer, this, prefs);
-		}
-		return templateBuffer;
-	}
-	
-	/**
-	 * @return Returns the AntModel.
-	 */
-	public IAntModel getAntModel() {
-		return fAntModel;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.templates.DocumentTemplateContext#getEnd()
-	 */
-	public int getEnd() {
-		int replacementOffset = getCompletionOffset();
-		int replacementLength = getCompletionLength();
-		if (replacementOffset > 0 && getDocument().get().charAt(replacementOffset - 1) == '<') {
-			replacementLength++;
-		}
-		return replacementLength;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.templates.DocumentTemplateContext#getStart()
-	 */
-	public int getStart() {
-		int replacementOffset= getCompletionOffset();
-		if (replacementOffset > 0 && getDocument().get().charAt(replacementOffset - 1) == '<') {
-			replacementOffset--;
-		}
-		return replacementOffset;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateAccess.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateAccess.java
deleted file mode 100644
index 10df75f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateAccess.java
+++ /dev/null
@@ -1,81 +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.ant.internal.ui.editor.templates;
-
-import java.io.IOException;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.ui.editors.text.templates.ContributionContextTypeRegistry;
-import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
-
-
-public class AntTemplateAccess {
-	/** Key to store custom templates. */
-	private static final String CUSTOM_TEMPLATES_KEY= "org.eclipse.ant.ui.customtemplates"; //$NON-NLS-1$
-	
-	/** The shared instance. */
-	private static AntTemplateAccess fgInstance;
-	
-	/** The template store. */
-	private TemplateStore fStore;
-	
-	/** The context type registry. */
-	private ContributionContextTypeRegistry fRegistry;
-	
-	private AntTemplateAccess() {
-	}
-
-	/**
-	 * Returns the shared instance.
-	 * 
-	 * @return the shared instance
-	 */
-	public static AntTemplateAccess getDefault() {
-		if (fgInstance == null) {
-			fgInstance= new AntTemplateAccess();
-		}
-		return fgInstance;
-	}
-
-	/**
-	 * Returns this plug-in's template store.
-	 * 
-	 * @return the template store of this plug-in instance
-	 */
-	public TemplateStore getTemplateStore() {
-		if (fStore == null) {
-			fStore= new ContributionTemplateStore(getContextTypeRegistry(),AntUIPlugin.getDefault().getPreferenceStore(), CUSTOM_TEMPLATES_KEY);
-			try {
-				fStore.load();
-			} catch (IOException e) {
-				AntUIPlugin.log(e);
-			}
-		}
-		return fStore;
-	}
-
-	/**
-	 * Returns this plug-in's context type registry.
-	 * 
-	 * @return the context type registry for this plug-in instance
-	 */
-	public ContextTypeRegistry getContextTypeRegistry() {
-		if (fRegistry == null) {
-			// create and configure the contexts available in the template editor
-			fRegistry= new ContributionContextTypeRegistry();
-			fRegistry.addContextType(BuildFileContextType.BUILDFILE_CONTEXT_TYPE);
-			fRegistry.addContextType(TaskContextType.TASK_CONTEXT_TYPE);
-		}
-		return fRegistry;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateInformationControlCreator.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateInformationControlCreator.java
deleted file mode 100644
index 6be0d83..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateInformationControlCreator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**********************************************************************
-Copyright (c) 2000, 2004 IBM Corp. 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 implementation
-**********************************************************************/
-package org.eclipse.ant.internal.ui.editor.templates;
-
-import org.eclipse.ant.internal.ui.editor.AntSourceViewerInformationControl;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.IInformationControlCreatorExtension;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.widgets.Shell;
-
-
-public class AntTemplateInformationControlCreator implements IInformationControlCreator, IInformationControlCreatorExtension {
-	
-	private AntSourceViewerInformationControl fControl;
-	
-	public AntTemplateInformationControlCreator()  {
-	}
-	
-	/*
-	 * @see org.eclipse.jface.text.IInformationControlCreator#createInformationControl(org.eclipse.swt.widgets.Shell)
-	 */
-	public IInformationControl createInformationControl(Shell parent) {
-		fControl= new AntSourceViewerInformationControl(parent);
-		fControl.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				fControl= null;
-			}
-		});
-		return fControl;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IInformationControlCreatorExtension#canReuse(org.eclipse.jface.text.IInformationControl)
-	 */
-	public boolean canReuse(IInformationControl control) {
-		return fControl == control && fControl != null;
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.IInformationControlCreatorExtension#canReplace(org.eclipse.jface.text.IInformationControlCreator)
-	 */
-	public boolean canReplace(IInformationControlCreator creator) {
-		return (creator != null && getClass() == creator.getClass());
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplatePreferencePage.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplatePreferencePage.java
deleted file mode 100644
index 7a9c71d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplatePreferencePage.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004  John-Mason P. Shackelford 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:
- * 	   John-Mason P. Shackelford - initial API and implementation
- *     IBM Corporation - bug fixes
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.editor.templates;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.editor.formatter.FormattingPreferences;
-import org.eclipse.ant.internal.ui.editor.formatter.XmlFormatter;
-import org.eclipse.ant.internal.ui.editor.text.AntDocumentSetupParticipant;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.persistence.TemplatePersistenceData;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.texteditor.templates.TemplatePreferencePage;
-
-/**
- * @see org.eclipse.jface.preference.PreferencePage
- */
-public class AntTemplatePreferencePage extends TemplatePreferencePage {
-
-	private FormattingPreferences fFormattingPreferences= new FormattingPreferences();
-	
-    public AntTemplatePreferencePage() {
-        setPreferenceStore(AntUIPlugin.getDefault().getPreferenceStore());
-        setTemplateStore(AntTemplateAccess.getDefault().getTemplateStore());
-        setContextTypeRegistry(AntTemplateAccess.getDefault().getContextTypeRegistry());
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-     */
-    public boolean performOk() {
-    	  boolean ok = super.performOk();
-    	  AntUIPlugin.getDefault().savePluginPreferences();
-    	  return ok;
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#createViewer(org.eclipse.swt.widgets.Composite)
-     */
-    protected SourceViewer createViewer(Composite parent) {
-    	SourceViewer viewer = new SourceViewer(parent, null, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-          
-		SourceViewerConfiguration configuration = new AntTemplateViewerConfiguration();        
-		IDocument document = new Document();       
-		new AntDocumentSetupParticipant().setup(document);
-		viewer.configure(configuration);
-		viewer.setDocument(document);
-		viewer.setEditable(false);	
-		Font font= JFaceResources.getFont(JFaceResources.TEXT_FONT);
-		viewer.getTextWidget().setFont(font);    
-		        
-		return viewer;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#getFormatterPreferenceKey()
-     */
-    protected String getFormatterPreferenceKey() {
-		return AntEditorPreferenceConstants.TEMPLATES_USE_CODEFORMATTER;
-	}
-	
-	/*
-	 * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#updateViewerInput()
-	 */
-	protected void updateViewerInput() {
-		IStructuredSelection selection= (IStructuredSelection) getTableViewer().getSelection();
-		SourceViewer viewer= getViewer();
-		
-		if (selection.size() == 1 && selection.getFirstElement() instanceof TemplatePersistenceData) {
-			TemplatePersistenceData data= (TemplatePersistenceData) selection.getFirstElement();
-			Template template= data.getTemplate();
-			if (AntUIPlugin.getDefault().getPreferenceStore().getBoolean(getFormatterPreferenceKey())) {
-				String formatted= XmlFormatter.format(template.getPattern(), fFormattingPreferences);
-				viewer.getDocument().set(formatted);
-			} else {
-				viewer.getDocument().set(template.getPattern());
-			}
-		} else {
-			viewer.getDocument().set(""); //$NON-NLS-1$
-		}		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.templates.TemplatePreferencePage#isShowFormatterSetting()
-	 */
-	protected boolean isShowFormatterSetting() {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateProposal.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateProposal.java
deleted file mode 100644
index e03b9b2..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateProposal.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.editor.templates;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateProposal;
-import org.eclipse.swt.graphics.Image;
-
-public class AntTemplateProposal extends TemplateProposal {
-	
-	public AntTemplateProposal(Template template, TemplateContext context, IRegion region, Image image, int relevance) {
-		super(template, context, region, image, relevance);
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument, int, org.eclipse.jface.text.DocumentEvent)
-     */
-    public boolean validate(IDocument document, int offset, DocumentEvent event) {
-        try {
-			int replaceOffset= getReplaceOffset();
-			if (offset >= replaceOffset) {
-				String content= document.get(replaceOffset, offset - replaceOffset);
-                if (content.length() == 0) {
-                    return true;
-                }
-				if (content.charAt(0) == '<') {
-				    content= content.substring(1);
-				}
-				return getTemplate().getName().toLowerCase().startsWith(content.toLowerCase());
-			}
-		} catch (BadLocationException e) {
-			// concurrent modification - ignore
-		}
-		return false;
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateVariableTextHover.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateVariableTextHover.java
deleted file mode 100644
index 0b50e34..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateVariableTextHover.java
+++ /dev/null
@@ -1,63 +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.ant.internal.ui.editor.templates;
-
-import java.util.Iterator;
-import org.eclipse.ant.internal.ui.editor.text.XMLTextHover;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.jface.text.templates.TemplateVariableResolver;
-
-public class AntTemplateVariableTextHover implements ITextHover {
-
-	public AntTemplateVariableTextHover() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public String getHoverInfo(ITextViewer textViewer, IRegion subject) {
-		try {
-			IDocument doc= textViewer.getDocument();
-			int offset= subject.getOffset();
-			if (offset >= 2 && "${".equals(doc.get(offset-2, 2))) { //$NON-NLS-1$
-				String varName= doc.get(offset, subject.getLength());
-				TemplateContextType contextType= AntTemplateAccess.getDefault().getContextTypeRegistry().getContextType(TaskContextType.TASK_CONTEXT_TYPE);
-				if (contextType != null) {
-					Iterator iter= contextType.resolvers();
-					while (iter.hasNext()) {
-						TemplateVariableResolver var= (TemplateVariableResolver) iter.next();
-						if (varName.equals(var.getType())) {
-							return var.getDescription();
-						}
-					}
-				}
-			}				
-		} catch (BadLocationException e) {
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHover#getHoverRegion(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-		if (textViewer != null) {
-			return XMLTextHover.getRegion(textViewer, offset);
-		}
-		return null;	
-	}
-} 
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateViewerConfiguration.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateViewerConfiguration.java
deleted file mode 100644
index 3823be1..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntTemplateViewerConfiguration.java
+++ /dev/null
@@ -1,26 +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.ant.internal.ui.editor.templates;
-
-import org.eclipse.ant.internal.ui.AntSourceViewerConfiguration;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.source.ISourceViewer;
-
-public class AntTemplateViewerConfiguration extends AntSourceViewerConfiguration {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getTextHover(org.eclipse.jface.text.source.ISourceViewer, java.lang.String)
-	 */
-	public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) {
-		return new AntTemplateVariableTextHover();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntVariableResolver.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntVariableResolver.java
deleted file mode 100644
index 9e1b38f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/AntVariableResolver.java
+++ /dev/null
@@ -1,50 +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.ant.internal.ui.editor.templates;
-
-import java.util.Arrays;
-import java.util.Comparator;
-
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateVariableResolver;
-
-/**
- * Looks up existing ant variables and proposes them. The proposals are sorted by 
- * their prefix-likeness with the variable type.
- */
-public class AntVariableResolver extends TemplateVariableResolver {
-	/*
-	 * @see org.eclipse.jface.text.templates.TemplateVariableResolver#resolveAll(org.eclipse.jface.text.templates.TemplateContext)
-	 */
-	protected String[] resolveAll(TemplateContext context) {
-		String[] proposals= new String[] { "${srcDir}", "${dstDir}" }; //$NON-NLS-1$ //$NON-NLS-2$
-		
-		Arrays.sort(proposals, new Comparator() {
-
-			public int compare(Object o1, Object o2) {
-				return getCommonPrefixLength(getType(), (String) o2) - getCommonPrefixLength(getType(), (String) o1);
-			}
-
-			private int getCommonPrefixLength(String type, String var) {
-				int i= 0;
-				CharSequence vSeq= var.subSequence(2, var.length() - 1); // strip away ${}
-				while (i < type.length() && i < vSeq.length())
-					if (Character.toLowerCase(type.charAt(i)) == Character.toLowerCase(vSeq.charAt(i)))
-						i++;
-					else
-						break;
-				return i;
-			}
-		});
-		
-		return proposals;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/BuildFileContextType.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/BuildFileContextType.java
deleted file mode 100644
index f50cd11..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/BuildFileContextType.java
+++ /dev/null
@@ -1,42 +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.ant.internal.ui.editor.templates;
-
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.jface.text.templates.GlobalTemplateVariables;
-
-
-/**
- * A very simple context type.
- */
-public class BuildFileContextType extends TemplateContextType {
-
-	/** This context's id */
-	public static final String BUILDFILE_CONTEXT_TYPE= "org.eclipse.ant.ui.templateContextType.buildFile"; //$NON-NLS-1$
-
-	/**
-	 * Creates a new XML context type. 
-	 */
-	public BuildFileContextType() {
-		addGlobalResolvers();
-	}
-
-	private void addGlobalResolvers() {
-		addResolver(new GlobalTemplateVariables.Cursor());
-		addResolver(new GlobalTemplateVariables.WordSelection());
-		addResolver(new GlobalTemplateVariables.LineSelection());
-		addResolver(new GlobalTemplateVariables.Dollar());
-		addResolver(new GlobalTemplateVariables.Date());
-		addResolver(new GlobalTemplateVariables.Year());
-		addResolver(new GlobalTemplateVariables.Time());
-		addResolver(new GlobalTemplateVariables.User());
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/TaskContextType.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/TaskContextType.java
deleted file mode 100644
index 4c1f978..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/templates/TaskContextType.java
+++ /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
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.templates;
-
-public class TaskContextType extends BuildFileContextType {
-	public static final String TASK_CONTEXT_TYPE= "org.eclipse.ant.ui.templateContextType.task"; //$NON-NLS-1$
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AbstractAntEditorScanner.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AbstractAntEditorScanner.java
deleted file mode 100644
index 74ac13a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AbstractAntEditorScanner.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/**********************************************************************
-Copyright (c) 2000, 2004 IBM Corp. 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 implementation
-**********************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.text;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.ColorManager;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.StringConverter;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.RuleBasedScanner;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-
-public abstract class AbstractAntEditorScanner extends RuleBasedScanner {
-
-	protected void adaptToColorChange(PropertyChangeEvent event, Token token) {
-		RGB rgb= null;
-		
-		Object value= event.getNewValue();
-		if (value instanceof RGB) {
-			rgb= (RGB) value;
-		} else if (value instanceof String) {
-			rgb= StringConverter.asRGB((String) value);
-		}
-			
-		if (rgb != null) {
-			TextAttribute attr= (TextAttribute) token.getData();
-			token.setData(new TextAttribute(ColorManager.getDefault().getColor(rgb), attr.getBackground(), attr.getStyle()));
-		}
-	}
-
-	protected void adaptToStyleChange(PropertyChangeEvent event, Token token, int styleAttribute) {
-	 	if (token == null) {
-			return;
-		}
-		boolean eventValue= false;
-		Object value= event.getNewValue();
-		if (value instanceof Boolean) {
-			eventValue= ((Boolean) value).booleanValue();
-		} else if (IPreferenceStore.TRUE.equals(value)) {
-			eventValue= true;
-		}
-		
-		TextAttribute attr= (TextAttribute) token.getData();
-		boolean activeValue= (attr.getStyle() & styleAttribute) == styleAttribute;
-		if (activeValue != eventValue) { 
-			token.setData(new TextAttribute(attr.getForeground(), attr.getBackground(), eventValue ? attr.getStyle() | styleAttribute : attr.getStyle() & ~styleAttribute));
-		}
-	}
-
-	protected TextAttribute createTextAttribute(String colorID, String boldKey, String italicKey) {
-		Color color= null;
-		if (colorID != null) {
-			color= AntUIPlugin.getPreferenceColor(colorID);
-		}
-		IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();
-		int style= store.getBoolean(boldKey) ? SWT.BOLD : SWT.NORMAL;
-		if (store.getBoolean(italicKey)) {
-			style |= SWT.ITALIC;
-		}
-		
-		return new TextAttribute(color, null, style);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AnnotationModelFactory.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AnnotationModelFactory.java
deleted file mode 100644
index a64cfb4..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AnnotationModelFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.editor.text;
-
-import org.eclipse.core.filebuffers.FileBuffers;
-import org.eclipse.core.filebuffers.IAnnotationModelFactory;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.text.source.IAnnotationModel;
-
-public class AnnotationModelFactory implements IAnnotationModelFactory {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.core.filebuffers.IAnnotationModelFactory#createAnnotationModel(org.eclipse.core.runtime.IPath)
-     */
-    public IAnnotationModel createAnnotationModel(IPath location) {
-        IFile file = FileBuffers.getWorkspaceFileAtLocation(location);
-        if (file == null) {
-            return new AntExternalAnnotationModel();
-        }
-        return new AntAnnotationModel(file);
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntAnnotationModel.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntAnnotationModel.java
deleted file mode 100644
index a79d56d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntAnnotationModel.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.editor.text;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.debug.IAntDebugConstants;
-import org.eclipse.ant.internal.ui.editor.outline.AntEditorMarkerUpdater;
-import org.eclipse.ant.internal.ui.model.IProblem;
-import org.eclipse.ant.internal.ui.model.IProblemRequestor;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.AnnotationModelEvent;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.texteditor.MarkerAnnotation;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-import org.eclipse.ui.texteditor.ResourceMarkerAnnotationModel;
-
-public class AntAnnotationModel extends ResourceMarkerAnnotationModel implements IProblemRequestor {
-	
-	private List fGeneratedAnnotations= new ArrayList();
-	private List fCollectedProblems= new ArrayList();
-	
-	public AntAnnotationModel(IFile file) {
-		super(file);
-	}
-
-	/*
-	 * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#createMarkerAnnotation(org.eclipse.core.resources.IMarker)
-	 */
-	protected MarkerAnnotation createMarkerAnnotation(IMarker marker) {
-		String markerType= MarkerUtilities.getMarkerType(marker);
-		if (AntEditorMarkerUpdater.BUILDFILE_PROBLEM_MARKER.equals(markerType)) {
-		    //we currently do not show Ant buildfile problem markers in the Ant editor as we have no notion of 
-		    //annotation overlays
-		    //bug 
-			return null;
-		}
-		return new MarkerAnnotation(EditorsUI.getAnnotationTypeLookup().getAnnotationType(marker), marker);
-	}
-
-	protected Position createPositionFromProblem(IProblem problem) {
-		int start= problem.getOffset();
-		if (start >= 0) {
-			int length= problem.getLength();
-				
-			if (length >= 0)
-				return new Position(start, length);
-		}
-
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblemRequestor#acceptProblem(org.eclipse.ant.internal.ui.editor.outline.IProblem)
-	 */
-	public void acceptProblem(IProblem problem) {
-		fCollectedProblems.add(problem);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblemRequestor#acceptProblem(org.eclipse.ant.internal.ui.editor.outline.IProblem)
-	 */
-	public void beginReporting() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblemRequestor#acceptProblem(org.eclipse.ant.internal.ui.editor.outline.IProblem)
-	 */
-	public void endReporting() {
-		boolean temporaryProblemsChanged= false;
-			
-		synchronized (getAnnotationMap()) {
-				
-			if (fGeneratedAnnotations.size() > 0) {
-				temporaryProblemsChanged= true;	
-				removeAnnotations(fGeneratedAnnotations, false, true);
-				fGeneratedAnnotations.clear();
-			}
-				
-			if (fCollectedProblems != null && fCollectedProblems.size() > 0) {
-				Iterator e= fCollectedProblems.iterator();
-				while (e.hasNext()) {
-						
-					IProblem problem= (IProblem) e.next();
-						
-					Position position= createPositionFromProblem(problem);
-					if (position != null) {
-							
-						XMLProblemAnnotation annotation= new XMLProblemAnnotation(problem);
-						fGeneratedAnnotations.add(annotation);
-						try {
-							addAnnotation(annotation, position, false);
-						} catch (BadLocationException ex) {
-							AntUIPlugin.log(ex);
-						}
-							
-						temporaryProblemsChanged= true;
-					}
-				}
-					
-				fCollectedProblems.clear();
-			}
-		}
-				
-		if (temporaryProblemsChanged)
-			fireModelChanged(new AnnotationModelEvent(this));
-	}
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#isAcceptable(org.eclipse.core.resources.IMarker)
-     */
-    protected boolean isAcceptable(IMarker marker) {
-        if (super.isAcceptable(marker)) {
-          return !marker.getAttribute(IAntDebugConstants.ANT_RUN_TO_LINE, false);  
-        }
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntDocumentFactory.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntDocumentFactory.java
deleted file mode 100644
index 2059bbe..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntDocumentFactory.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
-Copyright (c) 2000, 2004 IBM Corp. 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 implementation
-**********************************************************************/
-package org.eclipse.ant.internal.ui.editor.text;
-
-import org.eclipse.core.filebuffers.IDocumentFactory;
-import org.eclipse.jface.text.IDocument;
-
-/**
- * The document factory for Ant UI
- */
-public class AntDocumentFactory  implements IDocumentFactory {
-
-	public AntDocumentFactory() {
-	}
-		
-	/*
-	 * @see org.eclipse.core.filebuffers.IDocumentFactory#createDocument()
-	 */
-	public IDocument createDocument() {
-		return new PartiallySynchronizedDocument();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntDocumentSetupParticipant.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntDocumentSetupParticipant.java
deleted file mode 100644
index a50b33a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntDocumentSetupParticipant.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
-Copyright (c) 2000, 2004 IBM Corp. 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 implementation
-**********************************************************************/
-package org.eclipse.ant.internal.ui.editor.text;
-
-import org.eclipse.core.filebuffers.IDocumentSetupParticipant;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.FastPartitioner;
-
-/**
- * The document setup participant for Ant.
- */
-public class AntDocumentSetupParticipant  implements IDocumentSetupParticipant {
-
-	/**
-	 * The name of the Ant partitioning.
-	 * @since 3.0
-	 */
-	public final static String ANT_PARTITIONING= "org.eclipse.ant.ui.antPartitioning";  //$NON-NLS-1$
-	
-	public AntDocumentSetupParticipant() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.filebuffers.IDocumentSetupParticipant#setup(org.eclipse.jface.text.IDocument)
-	 */
-	public void setup(IDocument document) {
-		if (document instanceof IDocumentExtension3) {
-			IDocumentExtension3 extension3= (IDocumentExtension3) document;
-			IDocumentPartitioner partitioner = createDocumentPartitioner();
-			extension3.setDocumentPartitioner(ANT_PARTITIONING, partitioner);
-			partitioner.connect(document);
-		} 
-	}
-	
-	private IDocumentPartitioner createDocumentPartitioner() {
-		return new FastPartitioner(
-				new AntEditorPartitionScanner(), new String[]{
-						AntEditorPartitionScanner.XML_TAG,
-						AntEditorPartitionScanner.XML_COMMENT, 
-						AntEditorPartitionScanner.XML_CDATA,
-						AntEditorPartitionScanner.XML_DTD});
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorDocumentProvider.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorDocumentProvider.java
deleted file mode 100644
index d47e299..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorDocumentProvider.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug fixes
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.text;
-
-
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.internal.ui.model.IProblemRequestor;
-import org.eclipse.ant.internal.ui.model.LocationProvider;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.jface.text.ISynchronizable;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.editors.text.TextFileDocumentProvider;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-public class AntEditorDocumentProvider extends TextFileDocumentProvider {
-
-	private final AntDocumentSetupParticipant fAntDocumentSetupParticipant;
-
-    /**
-	 * Remembers a Ant document model for each element.
-	 */
-	protected class AntFileInfo extends FileInfo {
-		
-		public AntModel fAntModel;
-		
-		public AntFileInfo() {
-		}
-	}
-	
-	public AntEditorDocumentProvider() {
-		IDocumentProvider provider= new TextFileDocumentProvider(new AntStorageDocumentProvider());
-		setParentDocumentProvider(provider);
-        fAntDocumentSetupParticipant = new AntDocumentSetupParticipant();
-	}
-
-    public AntModel getAntModel(Object element) {
-	    FileInfo info= getFileInfo(element);
-	    if (info instanceof AntFileInfo) {
-		    AntFileInfo xmlInfo= (AntFileInfo) info;
-		    return xmlInfo.fAntModel;
-	    }
-	    return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.editors.text.TextFileDocumentProvider#createAnnotationModel(org.eclipse.core.resources.IFile)
-     */
-    protected IAnnotationModel createAnnotationModel(IFile file) {
-		   return new AntAnnotationModel(file);
-    }
-
-    protected AntModel createAntModel(Object element, IDocument document, IAnnotationModel annotationModel) {
-	    IProblemRequestor requestor= annotationModel instanceof IProblemRequestor ? (IProblemRequestor) annotationModel : null;
-	    return new AntModel(document, requestor, new LocationProvider(element instanceof IEditorInput ? (IEditorInput) element : null));
-    }
-    
-    /*
-	 * @see org.eclipse.ui.editors.text.TextFileDocumentProvider#createFileInfo(java.lang.Object)
-	 */
-	protected FileInfo createFileInfo(Object element) throws CoreException {
-		FileInfo info= super.createFileInfo(element);
-		if (!(info instanceof AntFileInfo)) {
-			return null;
-		}
-	
-		//TODO: This is a required workaround for the disconnect between workbench file associations
-		//and content types based document setup and creation
-		//This ensures that a workbench file assciation for the AntEditor will have a document
-		//that is setup with the correct document setup participant since it was "missed" by the 
-		//document setup extensions (bug 72598).
-		IDocument document= info.fTextFileBuffer.getDocument();
-		if (document instanceof IDocumentExtension3) {
-			IDocumentExtension3 extension= (IDocumentExtension3) document;
-			if (extension.getDocumentPartitioner(AntDocumentSetupParticipant.ANT_PARTITIONING) == null)
-			    fAntDocumentSetupParticipant.setup(document);
-		}
-		
-		//Check if the annotation model has been set by the annotation model factory extension for Ant UI
-		//and is an annotation model that was specified by the extension (all are IProblemRequestors).
-		//If we do not have an annotation model or not a correct annotation model, defer to the annotation model
-		//created from this document provider. The document provider is only queried for an annotation model for workspace files.
-		//Therefore if the annotation model is still null we are dealing with an external file that is associated with
-		//the Ant editor from a user preference setting.
-		//In all cases the determined annotation model is set for the file info to be used in the editor. 
-		AntFileInfo xmlInfo= (AntFileInfo) info;
-		IAnnotationModel annotationModel= xmlInfo.fTextFileBuffer.getAnnotationModel();
-		if (annotationModel instanceof IProblemRequestor) {
-		    xmlInfo.fModel= annotationModel;
-		} else {
-		    annotationModel= xmlInfo.fModel;
-		}
-		
-		if (annotationModel == null) {
-            annotationModel= new AntExternalAnnotationModel();
-            xmlInfo.fModel= annotationModel;       
-        }
-		 
-		AntModel antModel= createAntModel(element, document, annotationModel);
-		antModel.install();
-		xmlInfo.fAntModel= antModel;
-		setUpSynchronization(xmlInfo);
-		
-		return xmlInfo;
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.editors.text.TextFileDocumentProvider#disposeFileInfo(java.lang.Object, org.eclipse.ui.editors.text.TextFileDocumentProvider.FileInfo)
-     */
-    protected void disposeFileInfo(Object element, FileInfo info) {
-	    if (info instanceof AntFileInfo) {
-		    AntFileInfo xmlInfo= (AntFileInfo) info;
-		    if (xmlInfo.fAntModel != null) {
-			    IDocument doc=  xmlInfo.fTextFileBuffer.getDocument();
-			    Object lock= null;
-			    if (doc instanceof ISynchronizable) {
-			    	lock= ((ISynchronizable) doc).getLockObject();
-			    } else {
-			    	lock= xmlInfo.fAntModel;
-			    }
-			    synchronized (lock) {	    	
-		    		xmlInfo.fAntModel.dispose();
-			    	xmlInfo.fAntModel= null;
-		    	}
-		    }
-	    }
-	    super.disposeFileInfo(element, info);	
-    }
-    
-    /*
-	 * @see org.eclipse.ui.editors.text.TextFileDocumentProvider#createEmptyFileInfo()
-	 */
-	protected FileInfo createEmptyFileInfo() {
-		return new AntFileInfo();
-	}
-	
-	 private void setUpSynchronization(AntFileInfo antInfo) {
-        IDocument document= antInfo.fTextFileBuffer.getDocument();
-        IAnnotationModel model= antInfo.fModel;
-        
-        if (document instanceof ISynchronizable && model instanceof ISynchronizable) {
-            Object lock= ((ISynchronizable) document).getLockObject();
-            ((ISynchronizable) model).setLockObject(lock);
-        }
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorPartitionScanner.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorPartitionScanner.java
deleted file mode 100644
index 5f3ee14..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorPartitionScanner.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug 32890, bug 24108
- *     John-Mason P. Shackelford - bug 57379
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.text;
-
-/*
- * This file originates from an internal package of Eclipse's 
- * Manifest Editor. It has been copied by GEBIT to here in order to
- * permanently use those features. It has been renamed and edited by GEBIT 
- * after copying.
- */
-
-import org.eclipse.jface.text.rules.IPredicateRule;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.MultiLineRule;
-import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
-import org.eclipse.jface.text.rules.Token;
-
-/**
- * Scanner that scans the document and partitions the document into the four 
- * supported content types:
- * <ul>
- * <li>XML_COMMENT</li>
- * <li>XML_TAG</li>
- * <li>XML_CDATA</li>
- * <li>XML_DTD</li>
- * </ul>
- */
-public class AntEditorPartitionScanner extends RuleBasedPartitionScanner {
-
-	public final static String XML_COMMENT = "__xml_comment"; //$NON-NLS-1$
-	public final static String XML_TAG = "__xml_tag"; //$NON-NLS-1$
-	public final static String XML_CDATA = "__xml_cdata"; //$NON-NLS-1$
-	public final static String XML_DTD = "__xml_dtd"; //$NON-NLS-1$
-	
-    /**
-     * Creates an instance.
-     */
-	public AntEditorPartitionScanner() {
-
-		IPredicateRule[] rules =new IPredicateRule[4];
-
-        IToken xmlCDATA = new Token(XML_CDATA);
-		rules[0]= new MultiLineRule("<![CDATA[", "]]>", xmlCDATA); //$NON-NLS-1$ //$NON-NLS-2$
-		
-        IToken xmlComment = new Token(XML_COMMENT);
-		rules[1]= new MultiLineRule("<!--", "-->", xmlComment, '\\', true); //$NON-NLS-1$ //$NON-NLS-2$
-
-        IToken tag = new Token(XML_TAG);
-		rules[2]= new TagRule(tag);
-	
-		IToken xmlDTD = new Token(XML_DTD);
-		rules[3]= new MultiLineRule("<!DOCTYPE", "]>", xmlDTD); //$NON-NLS-1$ //$NON-NLS-2$
-		
-		setPredicateRules(rules);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorProcInstrScanner.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorProcInstrScanner.java
deleted file mode 100644
index 0e1f8fa..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorProcInstrScanner.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug fixes
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.text;
-
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.SingleLineRule;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WhitespaceRule;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-
-/**
- * The scanner to tokenize for XML processing instructions and text
- */
-public class AntEditorProcInstrScanner extends AbstractAntEditorScanner {
-
-	Token fProcInstructionToken= null;
-	
-    public AntEditorProcInstrScanner() {
-		IRule[] rules =new IRule[2];
-        fProcInstructionToken =
-            new Token(createTextAttribute(IAntEditorColorConstants.PROCESSING_INSTRUCTIONS_COLOR, 
-					IAntEditorColorConstants.PROCESSING_INSTRUCTIONS_COLOR + AntEditorPreferenceConstants.EDITOR_BOLD_SUFFIX,
-					IAntEditorColorConstants.PROCESSING_INSTRUCTIONS_COLOR + AntEditorPreferenceConstants.EDITOR_ITALIC_SUFFIX));
-
-        //Add rule for processing instructions
-        rules[0]= new SingleLineRule("<?", "?>", fProcInstructionToken); //$NON-NLS-1$ //$NON-NLS-2$
-
-        // Add generic whitespace rule.
-        rules[1]= new WhitespaceRule(new AntEditorWhitespaceDetector());
-
-        setRules(rules);
-        
-        setDefaultReturnToken(new Token(createTextAttribute(IAntEditorColorConstants.TEXT_COLOR, 
-    							IAntEditorColorConstants.TEXT_COLOR + AntEditorPreferenceConstants.EDITOR_BOLD_SUFFIX,
-								IAntEditorColorConstants.TEXT_COLOR + AntEditorPreferenceConstants.EDITOR_ITALIC_SUFFIX)));
-    }
-
-	private Token getTokenAffected(PropertyChangeEvent event) {
-    	if (event.getProperty().startsWith(IAntEditorColorConstants.PROCESSING_INSTRUCTIONS_COLOR)) {
-    		return fProcInstructionToken;
-    	}
-    	return (Token)fDefaultReturnToken;
-    }
-    
-    public void adaptToPreferenceChange(PropertyChangeEvent event) {
-    	String property= event.getProperty();
-    	if (property.startsWith(IAntEditorColorConstants.TEXT_COLOR) || property.startsWith(IAntEditorColorConstants.PROCESSING_INSTRUCTIONS_COLOR)) {    		
-    		if (property.endsWith(AntEditorPreferenceConstants.EDITOR_BOLD_SUFFIX)) {
-	    		adaptToStyleChange(event, getTokenAffected(event), SWT.BOLD);
-	    	} else if (property.endsWith(AntEditorPreferenceConstants.EDITOR_ITALIC_SUFFIX)) {
-	    		adaptToStyleChange(event, getTokenAffected(event), SWT.ITALIC);
-	    	} else {
-	    		adaptToColorChange(event, getTokenAffected(event));
-	    	}
-    	}
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTagScanner.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTagScanner.java
deleted file mode 100644
index 545cfcb..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTagScanner.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug 31796, bug 24108, bug 47139
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.text;
-
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.MultiLineRule;
-import org.eclipse.jface.text.rules.SingleLineRule;
-import org.eclipse.jface.text.rules.Token;
-import org.eclipse.jface.text.rules.WhitespaceRule;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-
-/**
- * The scanner to tokenize for strings and tags
- */
-public class AntEditorTagScanner extends AbstractAntEditorScanner {
-
-	private Token fStringToken;
-	
-    public AntEditorTagScanner() {
-    	fStringToken= new Token(
-    			createTextAttribute(IAntEditorColorConstants.STRING_COLOR, 
-    					IAntEditorColorConstants.STRING_COLOR + AntEditorPreferenceConstants.EDITOR_BOLD_SUFFIX,
-						IAntEditorColorConstants.STRING_COLOR + AntEditorPreferenceConstants.EDITOR_ITALIC_SUFFIX));
-                    
-		IRule[] rules= new IRule[3];
-
-        // Add rule for single and double quotes
-        rules[0]= new MultiLineRule("\"", "\"", fStringToken, '\\'); //$NON-NLS-1$ //$NON-NLS-2$
-        rules[1]= new SingleLineRule("'", "'", fStringToken, '\\'); //$NON-NLS-1$ //$NON-NLS-2$
-
-        // Add generic whitespace rule.
-        rules[2]= new WhitespaceRule(new AntEditorWhitespaceDetector());
-
-        setRules(rules);
-        
-        setDefaultReturnToken(
-        		new Token(createTextAttribute(IAntEditorColorConstants.TAG_COLOR, 
-    					IAntEditorColorConstants.TAG_COLOR + AntEditorPreferenceConstants.EDITOR_BOLD_SUFFIX,
-						IAntEditorColorConstants.TAG_COLOR + AntEditorPreferenceConstants.EDITOR_ITALIC_SUFFIX)));
-    }
-    
-    public void adaptToPreferenceChange(PropertyChangeEvent event) {
-    	String property= event.getProperty();
-    	if (property.startsWith(IAntEditorColorConstants.TAG_COLOR) || property.startsWith(IAntEditorColorConstants.STRING_COLOR)) {
-    		if (property.endsWith(AntEditorPreferenceConstants.EDITOR_BOLD_SUFFIX)) {
-    			adaptToStyleChange(event, getTokenAffected(event), SWT.BOLD);
-    		} else if (property.endsWith(AntEditorPreferenceConstants.EDITOR_ITALIC_SUFFIX)) {
-    			adaptToStyleChange(event, getTokenAffected(event), SWT.ITALIC);
-    		} else {
-    			adaptToColorChange(event, getTokenAffected(event));
-    		}
-    	}
-    }
-    
-    private Token getTokenAffected(PropertyChangeEvent event) {
-    	String property= event.getProperty();
-    	if (property.startsWith(IAntEditorColorConstants.STRING_COLOR)) {
-    		return fStringToken;
-    	}// else if (property.startsWith(IAntEditorColorConstants.TAG_COLOR)) {
-    		return (Token)fDefaultReturnToken;
-    	//}
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTextMessages.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTextMessages.java
deleted file mode 100644
index b1574fd..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTextMessages.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.ant.internal.ui.editor.text;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntEditorTextMessages {
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.editor.text.AntEditorTextMessages";//$NON-NLS-1$
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
-			.getBundle(BUNDLE_NAME);
-	
-	private AntEditorTextMessages() {
-	
-	}
-	
-	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/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTextMessages.properties b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTextMessages.properties
deleted file mode 100644
index e4abbc2..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorTextMessages.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the 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
-###############################################################################
-
-XMLTextHover.4=Path Elements:
-XMLTextHover.5=Includes: 
-XMLTextHover.6=Excludes: 
-XMLTextHover.7=Press F2 for focus
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorWhitespaceDetector.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorWhitespaceDetector.java
deleted file mode 100644
index 4cba648..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntEditorWhitespaceDetector.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2003 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug 29148
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.text;
-
-/*
- * This file originates from an internal package of Eclipse's 
- * Manifest Editor. It has been copied by GEBIT to here in order to
- * permanently use those features. It has been renamed by GEBIT 
- * after copying.
- */
-
-import org.eclipse.jface.text.rules.IWhitespaceDetector;
-
-public class AntEditorWhitespaceDetector implements IWhitespaceDetector {
-
-	public boolean isWhitespace(char c) {
-		return (c == ' ' || c == '\t' || c == '\n' || c == '\r');
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntExternalAnnotationModel.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntExternalAnnotationModel.java
deleted file mode 100644
index d5ba2c1..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntExternalAnnotationModel.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.editor.text;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.model.IProblem;
-import org.eclipse.ant.internal.ui.model.IProblemRequestor;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.AnnotationModel;
-import org.eclipse.jface.text.source.AnnotationModelEvent;
-
-public class AntExternalAnnotationModel extends AnnotationModel implements IProblemRequestor {
-
-    private List fGeneratedAnnotations= new ArrayList();
-	private List fCollectedProblems= new ArrayList();
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblemRequestor#acceptProblem(org.eclipse.ant.internal.ui.editor.outline.IProblem)
-	 */
-	public void acceptProblem(IProblem problem) {
-		fCollectedProblems.add(problem);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblemRequestor#acceptProblem(org.eclipse.ant.internal.ui.editor.outline.IProblem)
-	 */
-	public void endReporting() {
-		boolean temporaryProblemsChanged= false;
-			
-		synchronized (getAnnotationMap()) {
-				
-			if (fGeneratedAnnotations.size() > 0) {
-				temporaryProblemsChanged= true;	
-				removeAnnotations(fGeneratedAnnotations, false, true);
-				fGeneratedAnnotations.clear();
-			}
-				
-			if (fCollectedProblems != null && fCollectedProblems.size() > 0) {
-				Iterator e= fCollectedProblems.iterator();
-				while (e.hasNext()) {
-						
-					IProblem problem= (IProblem) e.next();
-						
-					Position position= createPositionFromProblem(problem);
-					if (position != null) {
-							
-						XMLProblemAnnotation annotation= new XMLProblemAnnotation(problem);
-						fGeneratedAnnotations.add(annotation);
-						try {
-							addAnnotation(annotation, position, false);
-						} catch (BadLocationException ex) {
-							AntUIPlugin.log(ex);
-						}
-							
-						temporaryProblemsChanged= true;
-					}
-				}
-					
-				fCollectedProblems.clear();
-			}
-		}
-				
-		if (temporaryProblemsChanged)
-			fireModelChanged(new AnnotationModelEvent(this));
-	}
-					
-	protected Position createPositionFromProblem(IProblem problem) {
-		int start= problem.getOffset();
-		if (start >= 0) {
-			int length= problem.getLength();
-				
-			if (length >= 0)
-				return new Position(start, length);
-		}
-
-		return null;
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.IProblemRequestor#beginReporting()
-     */
-    public void beginReporting() {
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntFoldingStructureProvider.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntFoldingStructureProvider.java
deleted file mode 100644
index 87d9559..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntFoldingStructureProvider.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.editor.text;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotation;
-import org.eclipse.jface.text.source.projection.ProjectionAnnotationModel;
-
-public class AntFoldingStructureProvider {
-	
-	private AntEditor fEditor;
-	private IDocument fDocument;
-	
-	/**
-	 * A mapping of the foldable position to the <code>AntElementNode<code> that represent that region
-	 */
-	private Map fPositionToElement= new HashMap();
-	
-	public AntFoldingStructureProvider(AntEditor editor) {
-		super();
-		fEditor = editor;
-	}
-	
-	private void updateFoldingRegions(ProjectionAnnotationModel model, Set currentRegions) {
-		Annotation[] deletions = computeDifferences(model, currentRegions);
-
-		Map additionsMap = new HashMap();
-		for (Iterator iter = currentRegions.iterator(); iter.hasNext();) {
-			Object position= iter.next();
-			AntElementNode node= (AntElementNode)fPositionToElement.get(position);
-			additionsMap.put(new ProjectionAnnotation(node.collapseProjection()), position);
-		}
-
-		if ((deletions.length != 0 || additionsMap.size() != 0)) {
-			model.modifyAnnotations(deletions, additionsMap, new Annotation[] {});
-		}
-	}
-
-	private Annotation[] computeDifferences(ProjectionAnnotationModel model, Set additions) {
-		List deletions = new ArrayList();
-		for (Iterator iter = model.getAnnotationIterator(); iter.hasNext();) {
-			Object annotation = iter.next();
-			if (annotation instanceof ProjectionAnnotation) {
-				Position position = model.getPosition((Annotation) annotation);
-				if (additions.contains(position)) {
-					additions.remove(position);
-				} else {
-					deletions.add(annotation);
-				}
-			}
-		}
-		return (Annotation[]) deletions.toArray(new Annotation[deletions.size()]);
-	}
-
-	public void updateFoldingRegions(AntModel antModel) {
-		fPositionToElement= new HashMap();
-		try {
-			ProjectionAnnotationModel model = (ProjectionAnnotationModel) fEditor.getAdapter(ProjectionAnnotationModel.class);
-			if (model == null) {
-				return;
-			}
-	
-			Set currentRegions= new HashSet();
-			AntProjectNode node= antModel.getProjectNode();
-			if (node == null || node.getOffset() == -1 || node.getLength() == -1) {
-				return;
-			}
-			List root= new ArrayList(2);
-			root.add(node);
-			List nodes= antModel.getNonStructuralNodes();
-			root.addAll(nodes);
-			addFoldingRegions(currentRegions, root);
-			updateFoldingRegions(model, currentRegions);
-		} catch (BadLocationException be) {
-			AntUIPlugin.log(be);
-		}
-	}
-	
-	private void addFoldingRegions(Set regions, List children) throws BadLocationException  {
-		// add a Position to 'regions' for each foldable region
-		Iterator iter= children.iterator();
-		while (iter.hasNext()) {
-			AntElementNode element = (AntElementNode) iter.next();
-			if (element.getImportNode() !=  null || element.isExternal()) {
-				continue; //elements are not really in this document and therefore are not foldable
-			}
-			int startLine= fDocument.getLineOfOffset(element.getOffset());
-			int endLine= fDocument.getLineOfOffset(element.getOffset() + element.getLength());
-			if (startLine < endLine) {
-				int start= fDocument.getLineOffset(startLine);
-				int end= fDocument.getLineOffset(endLine) + fDocument.getLineLength(endLine);
-				Position position= new Position(start, end - start);
-				regions.add(position);
-				fPositionToElement.put(position, element);
-			}
-			
-			children= element.getChildNodes();
-			if (children != null) {
-				addFoldingRegions(regions, children);
-			}
-		}
-	}
-
-	public void setDocument(IDocument document) {
-		fDocument= document;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntInformationProvider.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntInformationProvider.java
deleted file mode 100644
index 3a81ea8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntInformationProvider.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.editor.text;
-
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.information.IInformationProvider;
-
-public class AntInformationProvider implements IInformationProvider {
-
-	XMLTextHover fTextHover;
-	
-	public AntInformationProvider(XMLTextHover hover) {
-		fTextHover= hover;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.information.IInformationProvider#getSubject(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IRegion getSubject(ITextViewer textViewer, int offset) {
-		return fTextHover.getHoverRegion(textViewer, offset);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.information.IInformationProvider#getInformation(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public String getInformation(ITextViewer textViewer, IRegion subject) {
-		return fTextHover.getHoverInfo(textViewer, subject);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntStorageDocumentProvider.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntStorageDocumentProvider.java
deleted file mode 100644
index a7ea57f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/AntStorageDocumentProvider.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- Copyright (c) 2000, 2004 IBM Corp. 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 implementation
- **********************************************************************/
-package org.eclipse.ant.internal.ui.editor.text;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentExtension3;
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.ui.editors.text.StorageDocumentProvider;
-
-/**
- * @since 3.0
- */
-public class AntStorageDocumentProvider extends StorageDocumentProvider {
-	
-	/*
-	 * @see org.eclipse.ui.editors.text.StorageDocumentProvider#setupDocument(java.lang.Object,
-	 *      org.eclipse.jface.text.IDocument)
-	 */
-	protected void setupDocument(Object element, IDocument document) {
-		if (document != null) {
-			IDocumentPartitioner partitioner= createDocumentPartitioner();
-			if (document instanceof IDocumentExtension3) {
-				IDocumentExtension3 extension3= (IDocumentExtension3) document;
-				extension3.setDocumentPartitioner(AntDocumentSetupParticipant.ANT_PARTITIONING, partitioner);
-			} else {
-				document.setDocumentPartitioner(partitioner);
-			}
-			partitioner.connect(document);
-		}
-	}
-	
-	private IDocumentPartitioner createDocumentPartitioner() {
-		return new FastPartitioner(
-				new AntEditorPartitionScanner(), new String[]{
-						AntEditorPartitionScanner.XML_TAG,
-						AntEditorPartitionScanner.XML_COMMENT,
-						AntEditorPartitionScanner.XML_CDATA,
-						AntEditorPartitionScanner.XML_DTD});
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/FileScanner.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/FileScanner.java
deleted file mode 100644
index 3fa44d4..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/FileScanner.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.editor.text;
-
-import org.apache.tools.ant.DirectoryScanner;
-
-
-public class FileScanner extends DirectoryScanner {
-	
-	public String[] getExcludesPatterns() {
-		return excludes;
-	}
-	
-	public String[] getIncludePatterns() {
-		return includes;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/IAntEditorColorConstants.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/IAntEditorColorConstants.java
deleted file mode 100644
index 4453a72..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/IAntEditorColorConstants.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug fixes
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.text;
-
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * The color constants used by the Ant Editor.
- */
-public interface IAntEditorColorConstants {
-	RGB XML_COMMENT =       new RGB(128,   0,   0);
-	RGB PROC_INSTR =        new RGB(128, 128, 128);
-	RGB STRING=             new RGB(  0, 128,   0);
-	RGB DEFAULT=            new RGB(  0,   0,   0);
-	RGB TAG=                new RGB(  0,   0, 128);
-	RGB XML_DTD =       	new RGB(128,   0,   0);
-	
-	/**
-	 * The symbolic names for colors used for the various text tokens in the Ant editor
-	 */
-	public static final String XML_COMMENT_COLOR = "org.eclipse.ant.ui.commentsColor"; //$NON-NLS-1$
-	public static final String PROCESSING_INSTRUCTIONS_COLOR = "org.eclipse.ant.ui.processingInstructionsColor"; //$NON-NLS-1$
-	public static final String STRING_COLOR = "org.eclipse.ant.ui.constantStringsColor"; //$NON-NLS-1$
-	public static final String TEXT_COLOR = "org.eclipse.ant.ui.textColor"; //$NON-NLS-1$
-	public static final String TAG_COLOR = "org.eclipse.ant.ui.tagsColor"; //$NON-NLS-1$
-	public static final String XML_DTD_COLOR = "org.eclipse.ant.ui.dtdColor"; //$NON-NLS-1$
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/IReconcilingParticipant.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/IReconcilingParticipant.java
deleted file mode 100644
index 4c8a8ff..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/IReconcilingParticipant.java
+++ /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
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.editor.text;
-
-
-
-/**
- * Interface of an object participating in reconciling.
- */
-public interface IReconcilingParticipant {
-	
-	/**
-	 * Called after reconciling has been finished.
-	 */
-	void reconciled();
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/MultilineDamagerRepairer.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/MultilineDamagerRepairer.java
deleted file mode 100644
index 6b4fb3f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/MultilineDamagerRepairer.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.ant.internal.ui.editor.text;
-
-/*******************************************************************************
- * 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
- *******************************************************************************/
-
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.rules.DefaultDamagerRepairer;
-import org.eclipse.jface.text.rules.ITokenScanner;
-
-/**
- * Considers multilines as damage regions even if the document partitioning has not changed.
- *
- * @see org.eclipse.jface.text.rules.DefaultDamagerRepairer
- */
-public class MultilineDamagerRepairer extends DefaultDamagerRepairer {
-
-	public MultilineDamagerRepairer(ITokenScanner scanner, TextAttribute defaultTextAttribute) {
-		super(scanner, defaultTextAttribute);
-	}
-	
-	public MultilineDamagerRepairer(ITokenScanner scanner) {
-		super(scanner);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.presentation.IPresentationDamager#getDamageRegion(org.eclipse.jface.text.ITypedRegion, org.eclipse.jface.text.DocumentEvent, boolean)
-	 */
-	public IRegion getDamageRegion(ITypedRegion partition, DocumentEvent e, boolean documentPartitioningChanged) {
-		return partition;
-	}
-
-	/**
-	 * Configures the scanner's default return token. This is the text attribute
-	 * which is returned when none is returned by the current token.
-	 */
-	public void setDefaultTextAttribute(TextAttribute defaultTextAttribute) {
-		fDefaultTextAttribute= defaultTextAttribute;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/NotifyingReconciler.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/NotifyingReconciler.java
deleted file mode 100644
index e64e999..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/NotifyingReconciler.java
+++ /dev/null
@@ -1,64 +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.ant.internal.ui.editor.text;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.MonoReconciler;
-
-
-public class NotifyingReconciler extends MonoReconciler {
-
-	private ArrayList fReconcilingParticipants= new ArrayList();
-	
-	/**
-	 * Constructor for NotifyingReconciler.
-	 * @param strategy
-	 */
-	public NotifyingReconciler(IReconcilingStrategy strategy) {
-		super(strategy, false);
-	}
-
-	/*
-	 * @see org.eclipse.jface.text.reconciler.AbstractReconciler#process(org.eclipse.jface.text.reconciler.DirtyRegion)
-	 */
-	protected void process(DirtyRegion dirtyRegion) {
-		super.process(dirtyRegion);
-		notifyReconcilingParticipants();
-	}
-
-	public void addReconcilingParticipant(IReconcilingParticipant participant) {
-		fReconcilingParticipants.add(participant);
-	}
-
-	public void removeReconcilingParticipant(IReconcilingParticipant participant) {
-		fReconcilingParticipants.remove(participant);
-	}
-
-	protected void notifyReconcilingParticipants() {
-		Iterator i= new ArrayList(fReconcilingParticipants).iterator();
-		while (i.hasNext()) {
-			((IReconcilingParticipant) i.next()).reconciled();
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.reconciler.AbstractReconciler#initialProcess()
-	 */
-	protected void initialProcess() {
-		super.initialProcess();
-		notifyReconcilingParticipants();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/PartiallySynchronizedDocument.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/PartiallySynchronizedDocument.java
deleted file mode 100644
index 590c2fb..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/PartiallySynchronizedDocument.java
+++ /dev/null
@@ -1,81 +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.ant.internal.ui.editor.text;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.ISynchronizable;
-
-/**
- * Document that can also be used by a background reconciler.
- */
-public class PartiallySynchronizedDocument extends Document implements ISynchronizable {
-    
-    private final Object fInternalLockObject= new Object();
-    private Object fLockObject;
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocumentExtension#startSequentialRewrite(boolean)
-	 */
-	synchronized public void startSequentialRewrite(boolean normalized) {
-		super.startSequentialRewrite(normalized);
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocumentExtension#stopSequentialRewrite()
-	 */
-	synchronized public void stopSequentialRewrite() {
-		super.stopSequentialRewrite();
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#get()
-	 */
-	synchronized public String get() {
-		return super.get();
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#get(int, int)
-	 */
-	synchronized public String get(int offset, int length) throws BadLocationException {
-		return super.get(offset, length);
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#getChar(int)
-	 */
-	synchronized public char getChar(int offset) throws BadLocationException {
-		return super.getChar(offset);
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IDocument#set(java.lang.String)
-	 */
-	synchronized public void set(String text) {
-		super.set(text);
-	}
-	
-	/*
-     * @see org.eclipse.jface.text.ISynchronizable#setLockObject(java.lang.Object)
-     */
-    public void setLockObject(Object lockObject) {
-        fLockObject= lockObject;
-    }
-
-    /*
-     * @see org.eclipse.jface.text.ISynchronizable#getLockObject()
-     */
-    public Object getLockObject() {
-        return fLockObject == null ? fInternalLockObject : fLockObject;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/TagRule.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/TagRule.java
deleted file mode 100644
index 2a22c88..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/TagRule.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2004 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug 24108
- *     John-Mason P. Shackelford - bug 51215
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.text;
-
-/*
- * This file originates from an internal package of Eclipse's 
- * Manifest Editor. It has been copied by GEBIT to here in order to
- * permanently use those features. It has been renamed and edited by GEBIT 
- * after copying.
- */
-
-import org.eclipse.jface.text.rules.ICharacterScanner;
-import org.eclipse.jface.text.rules.IToken;
-import org.eclipse.jface.text.rules.MultiLineRule;
-
-public class TagRule extends MultiLineRule {
-
-    public TagRule(IToken token) {
-        super("<", ">", token); //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-    protected boolean sequenceDetected(ICharacterScanner scanner, char[] sequence, boolean eofAllowed) {
-        int c = scanner.read();
-        if (sequence[0] == '<') {
-            if (c == '?') {
-                // processing instruction - abort
-                scanner.unread();
-                return false;
-            }
-            if (c == '!') {
-                scanner.unread();
-                // comment - abort
-                return false;
-            }
-        } else if (sequence[0] == '>') {
-            scanner.unread();
-        }
-
-        return super.sequenceDetected(scanner, sequence, eofAllowed);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.jface.text.rules.PatternRule#endSequenceDetected(org.eclipse.jface.text.rules.ICharacterScanner)
-     */
-    protected boolean endSequenceDetected(ICharacterScanner scanner) {
-        int c;
-        char[][] delimiters = scanner.getLegalLineDelimiters();
-        boolean previousWasEscapeCharacter = false;
-        while ((c = scanner.read()) != ICharacterScanner.EOF) {
-            if (c == fEscapeCharacter) {
-                // Skip the escaped character.
-                scanner.read();
-            } else if (fEndSequence.length > 0 && c == fEndSequence[0]) {
-                // Check if the specified end sequence has been found.
-                if (sequenceDetected(scanner, fEndSequence, true)) {
-                    if (fEndSequence[0] == '>') {
-                        return endOfTagDetected(scanner);
-                    } 
-                    return true;
-                }
-            } else if (fBreaksOnEOL) {
-                // Check for end of line since it can be used to terminate the
-                // pattern.
-                for (int i = 0; i < delimiters.length; i++) {
-                    if (c == delimiters[i][0]
-                            && sequenceDetected(scanner, delimiters[i], true)) {
-                        if (!fEscapeContinuesLine
-                                || !previousWasEscapeCharacter) return true;
-                    }
-                }
-            }
-            previousWasEscapeCharacter = (c == fEscapeCharacter);
-        }
-        if (fBreaksOnEOF) return true;
-        scanner.unread();
-        return false;
-    }
-
-    private boolean endOfTagDetected(ICharacterScanner scanner) {
-        int c;
-        int scanAhead = 0;
-        int endOfTagOffset = 0;
-        while ((c = scanner.read()) != ICharacterScanner.EOF && c != '<') {
-            scanAhead++;
-            if (c == '>') endOfTagOffset = scanAhead;
-        }
-
-        if (c == '<') {
-            int rewind = (scanAhead - endOfTagOffset) + 1;
-            for (int i = 0; i < rewind; i++) {
-                scanner.unread();
-            }
-        }
-        return true;
-    }    
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLAnnotationHover.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLAnnotationHover.java
deleted file mode 100644
index e081ed0..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLAnnotationHover.java
+++ /dev/null
@@ -1,184 +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.ant.internal.ui.editor.text;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationHover;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.ant.internal.ui.editor.AntEditorMessages;
-import org.eclipse.ant.internal.ui.editor.derived.HTMLPrinter;
-
-
-/**
- * Determines all markers for the given line and collects, concatenates, and formulates
- * their messages.
- */
-public class XMLAnnotationHover implements IAnnotationHover {
-	
-	/**
-	 * Returns the distance to the ruler line. 
-	 */
-	private int compareRulerLine(Position position, IDocument document, int line) {
-		
-		if (position.getOffset() > -1 && position.getLength() > -1) {
-			try {
-				int xmlAnnotationLine= document.getLineOfOffset(position.getOffset());
-				if (line == xmlAnnotationLine)
-					return 1;
-				if (xmlAnnotationLine <= line && line <= document.getLineOfOffset(position.getOffset() + position.getLength()))
-					return 2;
-			} catch (BadLocationException x) {
-			}
-		}
-		
-		return 0;
-	}
-	
-	/**
-	 * Returns one marker which includes the ruler's line of activity.
-	 */
-	private List getXMLAnnotationsForLine(ISourceViewer viewer, int line) {
-		
-		IDocument document= viewer.getDocument();
-		IAnnotationModel model= viewer.getAnnotationModel();
-		
-		if (model == null)
-			return null;
-			
-		List exact= new ArrayList();
-		
-		Iterator e= model.getAnnotationIterator();
-		Map messagesAtPosition= new HashMap();
-		while (e.hasNext()) {
-			Object o= e.next();
-			if (o instanceof Annotation) {
-				Annotation a= (Annotation)o;
-				Position position= model.getPosition(a);
-				if (position == null)
-					continue;
-
-				if (isDuplicateXMLAnnotation(messagesAtPosition, position, a.getText()))
-					continue;
-
-				switch (compareRulerLine(position, document, line)) {
-					case 1:
-						exact.add(a);
-						break;
-				}
-			}
-		}
-		
-		return exact;
-	}
-
-	private boolean isDuplicateXMLAnnotation(Map messagesAtPosition, Position position, String message) {
-		if (messagesAtPosition.containsKey(position)) {
-			Object value= messagesAtPosition.get(position);
-			if (message.equals(value))
-				return true;
-
-			if (value instanceof List) {
-				List messages= (List)value;
-				if  (messages.contains(message)) {
-					return true;
-				}
-				messages.add(message);
-			} else {
-				ArrayList messages= new ArrayList();
-				messages.add(value);
-				messages.add(message);
-				messagesAtPosition.put(position, messages);
-			}
-		} else
-			messagesAtPosition.put(position, message);
-		return false;
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.IAnnotationHover#getHoverInfo(org.eclipse.jface.text.source.ISourceViewer, int)
-	 */
-	public String getHoverInfo(ISourceViewer sourceViewer, int lineNumber) {
-		List xmlAnnotations= getXMLAnnotationsForLine(sourceViewer, lineNumber);
-		if (xmlAnnotations != null) {
-			
-			if (xmlAnnotations.size() == 1) {
-				
-				// optimization
-				Annotation xmlAnnotation= (Annotation)xmlAnnotations.get(0);
-				String message= xmlAnnotation.getText();
-				if (message != null && message.trim().length() > 0) {
-					return formatSingleMessage(message);
-				}
-					
-			} else {
-					
-				List messages= new ArrayList(xmlAnnotations.size());
-				Iterator e= xmlAnnotations.iterator();
-				while (e.hasNext()) {
-					Annotation xmlAnnotation= (Annotation)e.next();
-					String message= xmlAnnotation.getText();
-					if (message != null && message.trim().length() > 0) {
-						messages.add(message.trim());
-					}
-				}
-				
-				if (messages.size() == 1) {
-					return formatSingleMessage((String) messages.get(0));
-				}
-					
-				if (messages.size() > 1) {
-					return formatMultipleMessages(messages);
-				}
-			}
-		}
-		
-		return null;
-	}
-	
-	/*
-	 * Formats a message as HTML text.
-	 */
-	private String formatSingleMessage(String message) {
-		StringBuffer buffer= new StringBuffer();
-		HTMLPrinter.addPageProlog(buffer);
-		HTMLPrinter.addParagraph(buffer, HTMLPrinter.convertToHTMLContent(message));
-		HTMLPrinter.addPageEpilog(buffer);
-		return buffer.toString();
-	}
-	
-	/*
-	 * Formats several message as HTML text.
-	 */
-	private String formatMultipleMessages(List messages) {
-		StringBuffer buffer= new StringBuffer();
-		HTMLPrinter.addPageProlog(buffer);
-		HTMLPrinter.addParagraph(buffer, HTMLPrinter.convertToHTMLContent(AntEditorMessages.getString("AntAnnotationHover.multipleMarkersAtThisLine"))); //$NON-NLS-1$
-		
-		HTMLPrinter.startBulletList(buffer);
-		Iterator e= messages.iterator();
-		while (e.hasNext())
-			HTMLPrinter.addBullet(buffer, HTMLPrinter.convertToHTMLContent((String) e.next()));
-		HTMLPrinter.endBulletList(buffer);	
-		
-		HTMLPrinter.addPageEpilog(buffer);
-		return buffer.toString();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLProblemAnnotation.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLProblemAnnotation.java
deleted file mode 100644
index 63932e4..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLProblemAnnotation.java
+++ /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
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.editor.text;
-
-import org.eclipse.ant.internal.ui.model.IProblem;
-import org.eclipse.jface.text.source.Annotation;
-
-/**
- * Annotation representating an <code>IProblem</code>.
- */
-public class XMLProblemAnnotation extends Annotation {
-	
-	public static final String ERROR_ANNOTATION_TYPE= "org.eclipse.ui.workbench.texteditor.error"; //$NON-NLS-1$
-	public static final String WARNING_ANNOTATION_TYPE= "org.eclipse.ui.workbench.texteditor.warning"; //$NON-NLS-1$
-	public static final String INFO_ANNOTATION_TYPE= "org.eclipse.ui.workbench.texteditor.info"; //$NON-NLS-1$
-	
-	private IProblem fProblem;
-	
-	public XMLProblemAnnotation(IProblem problem) {
-		
-		fProblem= problem;
-		
-		if (fProblem.isError()) {
-			setType(ERROR_ANNOTATION_TYPE);
-		} else if (fProblem.isWarning()) {
-			setType(WARNING_ANNOTATION_TYPE);
-		} else {
-			setType(INFO_ANNOTATION_TYPE);
-		}	
-		
-		setText(fProblem.getMessage());
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLReconcilingStrategy.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLReconcilingStrategy.java
deleted file mode 100644
index b022642..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLReconcilingStrategy.java
+++ /dev/null
@@ -1,98 +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.ant.internal.ui.editor.text;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.internal.ui.model.IAntModel;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.reconciler.DirtyRegion;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategy;
-import org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-
-public class XMLReconcilingStrategy implements IReconcilingStrategy, IReconcilingStrategyExtension {
-
-	/**
-	 * How long the reconciler will wait for further text changes before
-	 * reconciling
-	 */
-	public static final int DELAY= 500;
-
-	private AntEditor fEditor;
-
-	public XMLReconcilingStrategy(AntEditor editor) {
-		fEditor= editor;
-	}
-
-	private void internalReconcile() {
-		try {
-			IDocumentProvider provider= fEditor.getDocumentProvider();
-			if (provider instanceof AntEditorDocumentProvider) {
-				AntEditorDocumentProvider documentProvider= (AntEditorDocumentProvider) provider;
-				IAntModel model= documentProvider.getAntModel(fEditor.getEditorInput());
-				if (model != null && model instanceof AntModel) {
-					((AntModel)model).reconcile();
-				}
-			}
-		} catch (Exception e) {
-			AntUIPlugin.log(e);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#reconcile(org.eclipse.jface.text.IRegion)
-	 */
-	public void reconcile(IRegion partition) {
-		internalReconcile();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#reconcile(org.eclipse.jface.text.reconciler.DirtyRegion,
-	 *      org.eclipse.jface.text.IRegion)
-	 */
-	public void reconcile(DirtyRegion dirtyRegion, IRegion subRegion) {
-		internalReconcile();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#setDocument(org.eclipse.jface.text.IDocument)
-	 */
-	public void setDocument(IDocument document) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension#setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void setProgressMonitor(IProgressMonitor monitor) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension#initialReconcile()
-	 */
-	public void initialReconcile() {
-		internalReconcile();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLTextHover.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLTextHover.java
deleted file mode 100644
index cd92d79..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/text/XMLTextHover.java
+++ /dev/null
@@ -1,344 +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.ant.internal.ui.editor.text;
-
-import java.util.Iterator;
-import java.util.StringTokenizer;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.types.AbstractFileSet;
-import org.apache.tools.ant.types.Path;
-import org.apache.tools.ant.types.PatternSet;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.debug.model.AntProperty;
-import org.eclipse.ant.internal.ui.debug.model.AntStackFrame;
-import org.eclipse.ant.internal.ui.debug.model.AntValue;
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.ant.internal.ui.editor.derived.HTMLPrinter;
-import org.eclipse.ant.internal.ui.editor.derived.HTMLTextPresenter;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.internal.ui.model.AntPropertyNode;
-import org.eclipse.ant.internal.ui.model.IAntModel;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DefaultInformationControl;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextHoverExtension;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.text.source.Annotation;
-import org.eclipse.jface.text.source.IAnnotationModel;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-
-
-public class XMLTextHover implements ITextHover, ITextHoverExtension {
-
-	private AntEditor fEditor;
-	
-	public XMLTextHover(AntEditor editor) {
-		super();
-		fEditor = editor;
-	}
-	
-	/*
-	 * Formats a message as HTML text.
-	 */
-	private String formatMessage(String message) {
-		StringBuffer buffer= new StringBuffer();
-		HTMLPrinter.addPageProlog(buffer);
-		HTMLPrinter.addParagraph(buffer, HTMLPrinter.convertToHTMLContent(message));
-		HTMLPrinter.addPageEpilog(buffer);
-		return buffer.toString();
-	}
-	
-	/*
-	 * Formats a message as HTML text.
-	 */
-	private String formatPathMessage(String[] list) {
-		StringBuffer buffer= new StringBuffer();
-		HTMLPrinter.addPageProlog(buffer);
-		HTMLPrinter.addSmallHeader(buffer, AntEditorTextMessages.getString("XMLTextHover.4")); //$NON-NLS-1$
-		HTMLPrinter.startBulletList(buffer);
-		for (int i = 0; i < list.length; i++) {
-			HTMLPrinter.addBullet(buffer, list[i]);
-		}
-		HTMLPrinter.endBulletList(buffer);
-		HTMLPrinter.addPageEpilog(buffer);
-		return buffer.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
-		
-		if (!(textViewer instanceof ISourceViewer)) {
-			return null;
-		}
-		
-		ISourceViewer sourceViewer= (ISourceViewer) textViewer;
-		IAnnotationModel model= sourceViewer.getAnnotationModel();
-		
-		if (model != null) {
-			String message= getAnnotationModelHoverMessage(model, hoverRegion);
-			if (message != null) {
-				return message;
-			}
-		}
-        
-		AntModel antModel= fEditor.getAntModel();
-		if (antModel == null) { //the ant model has not been created yet
-			return null;
-		}
-		
-		return getAntModelHoverMessage(antModel, hoverRegion, textViewer);
-		
-	}
-	
-	private String getAntModelHoverMessage(AntModel antModel, IRegion hoverRegion, ITextViewer textViewer){
-		try {
-			IDocument document= textViewer.getDocument();
-			int offset= hoverRegion.getOffset();
-			int length= hoverRegion.getLength();
-			String text= document.get(offset, length);
-			String value;
-			AntElementNode node= antModel.getNode(offset, false);
-			if (document.get(offset - 2, 2).equals("${") || node instanceof AntPropertyNode) { //$NON-NLS-1$
-                AntStackFrame frame= getFrame();
-                if (frame != null) {//active Ant debug session
-                    AntProperty property= frame.findProperty(text);
-                    if (property != null) {
-                        return ((AntValue)property.getValue()).getValueString();
-                    }
-                }
-				value= antModel.getPropertyValue(text);
-				if (value != null) {
-					return formatMessage(value);
-				}
-			}
-			value= antModel.getTargetDescription(text);
-			if (value != null) {
-				return formatMessage(value);
-			}
-			Object referencedObject= antModel.getReferenceObject(text);
-			if (referencedObject != null) {
-				if (referencedObject instanceof Path) {
-					return formatPathMessage(((Path)referencedObject).list());
-				} else if (referencedObject instanceof PatternSet) {
-					return formatPatternSetMessage((PatternSet) referencedObject);
-				} else if (referencedObject instanceof AbstractFileSet) {
-					return formatFileSetMessage((AbstractFileSet)referencedObject);
-				}
-			}
-		} catch (BadLocationException e) {
-		} catch (BuildException be) {
-			return be.getMessage();
-		}
-		
-		return null;
-	}
-	
-	private String getAnnotationModelHoverMessage(IAnnotationModel model, IRegion hoverRegion) {
-		Iterator e= model.getAnnotationIterator();
-		while (e.hasNext()) {
-			Annotation a= (Annotation) e.next();
-			if (a instanceof XMLProblemAnnotation) {
-				Position p= model.getPosition(a);
-				if (p.overlapsWith(hoverRegion.getOffset(), hoverRegion.getLength())) {
-					String msg= a.getText();
-					if (msg != null && msg.trim().length() > 0) {
-						return formatMessage(msg);
-					}
-				}
-			}
-		}
-		return null;
-	}
-	
-	private String formatFileSetMessage(AbstractFileSet set) {
-		FileScanner fileScanner= new FileScanner();
-		IAntModel antModel= fEditor.getAntModel();
-		Project project= antModel.getProjectNode().getProject();
-		set.setupDirectoryScanner(fileScanner, project);
-		String[] excludedPatterns= fileScanner.getExcludesPatterns();
-		String[] includesPatterns= fileScanner.getIncludePatterns();
-		return formatSetMessage(includesPatterns, excludedPatterns);
-	}
-
-	private String formatPatternSetMessage(PatternSet set) {
-		IAntModel antModel= fEditor.getAntModel();
-		Project project= antModel.getProjectNode().getProject();
-		String[] includes= set.getIncludePatterns(project);
-		String[] excludes= set.getExcludePatterns(project);
-		return formatSetMessage(includes, excludes);
-	}
-
-	private String formatSetMessage(String[] includes, String[] excludes) {
-		StringBuffer buffer= new StringBuffer();
-		HTMLPrinter.addPageProlog(buffer);
-		if (includes != null && includes.length > 0) {
-			HTMLPrinter.addSmallHeader(buffer, AntEditorTextMessages.getString("XMLTextHover.5")); //$NON-NLS-1$
-			for (int i = 0; i < includes.length; i++) {
-				HTMLPrinter.addBullet(buffer, includes[i]);
-			}
-		}
-		HTMLPrinter.addParagraph(buffer, ""); //$NON-NLS-1$
-		HTMLPrinter.addParagraph(buffer, ""); //$NON-NLS-1$
-		if (excludes != null && excludes.length > 0) {
-			HTMLPrinter.addSmallHeader(buffer, AntEditorTextMessages.getString("XMLTextHover.6")); //$NON-NLS-1$
-			for (int i = 0; i < excludes.length; i++) {
-				HTMLPrinter.addBullet(buffer, excludes[i]);
-			}
-		}
-		HTMLPrinter.addPageEpilog(buffer);
-		return buffer.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHover#getHoverRegion(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-		if (textViewer != null) {
-			return getRegion(textViewer, offset);
-		}
-		return null;	
-	}
-
-	public static IRegion getRegion(ITextViewer textViewer, int offset) {
-		IDocument document= textViewer.getDocument();
-		
-		int start= -1;
-		int end= -1;
-	    IRegion region= null;
-		try {	
-			int pos= offset;
-			char c;
-			
-			while (pos >= 0) {
-				c= document.getChar(pos);
-				if (c != '.' && c != '-' && c != '/' &&  c != '\\' && c != ' ' && !Character.isJavaIdentifierPart(c))
-					break;
-				--pos;
-			}
-			
-			start= pos;
-			
-			pos= offset;
-			int length= document.getLength();
-			
-			while (pos < length) {
-				c= document.getChar(pos);
-				if (c != '.' && c != '-' && c != '/' &&  c != '\\' && c != ' ' && !Character.isJavaIdentifierPart(c))
-					break;
-				++pos;
-			}
-			
-			end= pos;
-			
-		} catch (BadLocationException x) {
-		}
-		
-		if (start > -1 && end > -1) {
-			if (start == offset && end == offset) {
-				return new Region(offset, 0);
-			} else if (start == offset) {
-				return new Region(start, end - start);
-			} else {
-                try { //correct for spaces at beginning or end
-                    while(document.getChar(start + 1) == ' ') {
-                        start++;
-                    }
-                    while(document.getChar(end - 1) == ' ') {
-                        end--;
-                    }
-                } catch (BadLocationException e) {
-                }
-                region= new Region(start + 1, end - start - 1);
-            }
-        }
-        
-        if (region != null) {
-            try {
-                char c= document.getChar(region.getOffset() - 1);
-                if (c != '{') {
-                	region = cleanRegionForNonProperty(offset, document, region);
-                }
-            } catch (BadLocationException e) {
-            }
-        }
-            
-		return region;
-	}
-
-	private static IRegion cleanRegionForNonProperty(int offset, IDocument document, IRegion region) throws BadLocationException {
-		//do not allow spaces in region that is not a property
-		String text= document.get(region.getOffset(), region.getLength());
-		if (text.startsWith("/")) { //$NON-NLS-1$
-			text= text.substring(1);
-			region= new Region(region.getOffset() + 1, region.getLength() - 1);
-		}
-		StringTokenizer tokenizer= new StringTokenizer(text, " "); //$NON-NLS-1$
-		if (tokenizer.countTokens() != 1) {
-		    while(tokenizer.hasMoreTokens()) {
-		        String token= tokenizer.nextToken();
-		        int index= text.indexOf(token);
-		        if (region.getOffset() + index <= offset && region.getOffset() + index + token.length() >= offset) {
-		            region= new Region(region.getOffset() + index, token.length());
-		            break;
-		        }
-		    }
-		}
-		
-		return region;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHoverExtension#getHoverControlCreator()
-	 */
-	public IInformationControlCreator getHoverControlCreator() {
-		if (AntUIPlugin.getDefault().getPreferenceStore().getBoolean(AntEditorPreferenceConstants.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE)) {
-			return new IInformationControlCreator() {
-				public IInformationControl createInformationControl(Shell parent) {
-	  				return new DefaultInformationControl(parent, SWT.NONE, 
-	  					new HTMLTextPresenter(true),
-				   		AntEditorTextMessages.getString("XMLTextHover.7")); //$NON-NLS-1$
-			 	}
-  			};
-		}
-		return null;
-	}
-    
-    /**
-     * Returns the stack frame in which to search for properties, or <code>null</code>
-     * if none.
-     * 
-     * @return the stack frame in which to search for properties, or <code>null</code>
-     * if none
-     */
-    private AntStackFrame getFrame() {
-        IAdaptable adaptable = DebugUITools.getDebugContext();
-        if (adaptable != null) {
-            return (AntStackFrame)adaptable.getAdapter(AntStackFrame.class); 
-        }
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelper.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelper.java
deleted file mode 100644
index 0c0a9c5..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelper.java
+++ /dev/null
@@ -1,678 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * Portions Copyright  2000-2004 The Apache Software Foundation
- * All rights reserved.  This program and the accompanying materials are made 
- * available under the terms of the Apache Software License v2.0 which 
- * accompanies this distribution and is available at 
- * http://www.apache.org/licenses/LICENSE-2.0.
- * 
- * Contributors:
- *     IBM Corporation - derived implementation
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.editor.utils;
-  
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.StringReader;
-import java.io.UnsupportedEncodingException;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Location;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.RuntimeConfigurable;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.UnknownElement;
-import org.apache.tools.ant.helper.AntXMLContext;
-import org.apache.tools.ant.helper.ProjectHelper2;
-import org.apache.tools.ant.util.FileUtils;
-import org.apache.tools.ant.util.JAXPUtils;
-import org.eclipse.ant.internal.ui.model.IAntModel;
-import org.eclipse.jface.text.BadLocationException;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.Locator;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.ext.LexicalHandler;
-
-/**
- * Derived from the original Ant ProjectHelper2 with help from the JAXPUtils class.
- * This class provides parsing for using a String as a source and provides
- * handlers that will continue parsing to completion upon hitting errors.
- */
-public class ProjectHelper extends ProjectHelper2 {
-
-	/**
-	 * helper for path -> URI and URI -> path conversions.
-	 */
-	private static FileUtils fu= null;
-	
-	/**
-	 * The buildfile that is to be parsed. Must be set if parsing is to
-	 * be successful.
-	 */
-	private File buildFile= null;
-	
-	private static String currentEntityName= null;
-	private static String currentEntityPath= null;
-	
-	private static int currentImportStackSize= 1;
-	
-	/**
-	 * The Ant Model
-	 */
-	private static IAntModel fgAntModel;
-
-	/**
-	 * The current Ant parsing context
-	 */
-	private static AntXMLContext fgAntContext;
-	
-	private static AntHandler elementHandler= new ElementHandler();
-	private static AntHandler projectHandler= new ProjectHandler();
-	private static AntHandler targetHandler= new TargetHandler();
-	private static AntHandler mainHandler= new MainHandler();
-	private static LexicalHandler lexicalHandler= new LexHandler();
-	
-	public static class ElementHandler extends ProjectHelper2.ElementHandler {
-		
-		private UnknownElement task= null;
-		private Task currentTask= null;
-		
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#onStartChild(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public AntHandler onStartChild(String uri, String tag, String qname, Attributes attrs, AntXMLContext context) {
-			return ProjectHelper.elementHandler;
-		}
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#onStartElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public void onStartElement(String uri, String tag, String qname, Attributes attrs, AntXMLContext context) {
-			try {
-				RuntimeConfigurable wrapper= context.currentWrapper();
-				currentTask= null;
-				task= null;
-				if (wrapper != null) {
-					currentTask= (Task)wrapper.getProxy();
-				}
-				onStartElement0(uri, tag, qname, attrs, context);
-				
-				Locator locator= context.getLocator();
-				getAntModel().addTask(task, currentTask, attrs, locator.getLineNumber(), locator.getColumnNumber());
-				
-			} catch (BuildException be) {
-				Locator locator= context.getLocator();
-				getAntModel().addTask(task, currentTask, attrs, locator.getLineNumber(), locator.getColumnNumber());
-				getAntModel().error(be);
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#onEndElement(java.lang.String, java.lang.String, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public void onEndElement(String uri, String tag, AntXMLContext context) {
-			super.onEndElement(uri, tag, context);
-			
-			Locator locator= context.getLocator();
-			if (getAntModel().canGetTaskInfo()) {
-			    getAntModel().setCurrentElementLength(locator.getLineNumber(), locator.getColumnNumber());
-			}
-		}
-		
-		private void onStartElement0(String uri, String tag, String qname, Attributes attrs, AntXMLContext context) {
-			
-			RuntimeConfigurable parentWrapper = context.currentWrapper();
-            Object parent = null;
-
-            if (parentWrapper != null) {
-                parent = parentWrapper.getProxy();
-            }
-
-            /* UnknownElement is used for tasks and data types - with
-               delayed eval */
-            task = new UnknownElement(tag);
-            task.setProject(context.getProject());
-            task.setNamespace(uri);
-            task.setQName(qname);
-            task.setTaskType(org.apache.tools.ant.ProjectHelper.genComponentName(task.getNamespace(), tag));
-            task.setTaskName(qname);
-
-            Location location = new Location(context.getLocator().getSystemId(),
-                    context.getLocator().getLineNumber(),
-                    context.getLocator().getColumnNumber());
-            task.setLocation(location);
-            task.setOwningTarget(context.getCurrentTarget());
-
-            context.configureId(task, attrs);
-
-            if (parent != null) {
-                // Nested element
-                ((UnknownElement) parent).addChild(task);
-            }  else {
-                // Task included in a target ( including the default one ).
-                context.getCurrentTarget().addTask(task);
-            }
-
-            // container.addTask(task);
-            // This is a nop in UE: task.init();
-
-            RuntimeConfigurable wrapper
-                = new RuntimeConfigurable(task, task.getTaskName());
-
-            for (int i = 0; i < attrs.getLength(); i++) {
-                String attrUri = attrs.getURI(i);
-                if (attrUri != null
-                    && attrUri.length() != 0 
-                    && !attrUri.equals(uri)) {
-                    continue; // Ignore attributes from unknown uris
-                }
-                String name = attrs.getLocalName(i);
-                String value = attrs.getValue(i);
-                // PR: Hack for ant-type value
-                //  an ant-type is a component name which can
-                // be namespaced, need to extract the name
-                // and convert from qualified name to uri/name
-                if (name.equals("ant-type")) { //$NON-NLS-1$
-                    int index = value.indexOf(':');
-                    if (index != -1) {
-                        String prefix = value.substring(0, index);
-                        String mappedUri = context.getPrefixMapping(prefix);
-                        if (mappedUri == null) {
-                            throw new BuildException(
-                                "Unable to find XML NS prefix " + prefix); //$NON-NLS-1$
-                        }
-                        value = org.apache.tools.ant.ProjectHelper.genComponentName(mappedUri, value.substring(index + 1));
-                    }
-                }
-                wrapper.setAttribute(name, value);
-            }
-
-            if (parentWrapper != null) {
-                parentWrapper.addChild(wrapper);
-            }
-
-            context.pushWrapper(wrapper);
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#characters(char[], int, int, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public void characters(char[] buf, int start, int count, AntXMLContext context) {
-			try {
-				super.characters(buf, start, count, context);
-			} catch (SAXParseException e) {
-				ErrorHelper.handleErrorFromElementText(start, count, context, e);
-			} catch (BuildException be) {
-				ErrorHelper.handleErrorFromElementText(start, count, context, be);
-			}
-		}
-		
-		public void reset() {
-			task= null;
-			currentTask= null;
-		}
-	}
-	
-	public static class MainHandler extends ProjectHelper2.MainHandler {
-		
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#onStartChild(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public AntHandler onStartChild(String uri, String name, String qname, Attributes attrs, AntXMLContext context) throws SAXParseException {
-			if (name.equals("project") //$NON-NLS-1$
-					&& (uri.length() == 0 || uri.equals(ANT_CORE_URI))) {
-				return ProjectHelper.projectHandler;
-			} 
-			try {
-				return super.onStartChild(uri, name, qname, attrs, context);
-			} catch (SAXParseException e) {
-				getAntModel().error(e);
-				throw e;
-			}
-		}
-	}
-	
-	public static class ProjectHandler extends ProjectHelper2.ProjectHandler {
-		
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#onStartChild(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public AntHandler onStartChild(String uri, String name, String qname, Attributes attrs, AntXMLContext context) {
-			if (name.equals("target") //$NON-NLS-1$
-					&& (uri.length() == 0 || uri.equals(ANT_CORE_URI))) {
-				return ProjectHelper.targetHandler;
-			} 
-			return ProjectHelper.elementHandler;
-		}
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#onEndElement(java.lang.String, java.lang.String, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public void onEndElement(String uri, String tag, AntXMLContext context) {
-			super.onEndElement(uri, tag, context);
-			if (currentImportStackSize == 1) {
-				Locator locator= context.getLocator();
-				getAntModel().setCurrentElementLength(locator.getLineNumber(), locator.getColumnNumber());
-			}
-		}
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#onStartElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public void onStartElement(String uri, String tag, String qname, Attributes attrs, AntXMLContext context) {
-			try {
-				super.onStartElement(uri, tag, qname, attrs, context);
-			} catch (SAXParseException e) {
-				getAntModel().error(e);
-			} catch (BuildException be) {
-				getAntModel().error(be);
-			}
-            if (context.getCurrentTarget() == null) {
-                //exception occurred creating the project
-                context.getProject().addTarget("", context.getImplicitTarget()); //$NON-NLS-1$
-                context.setCurrentTarget(context.getImplicitTarget());
-            }
-			if (currentImportStackSize == 1) {
-				Locator locator= context.getLocator();
-				getAntModel().addProject(context.getProject(), locator.getLineNumber(), locator.getColumnNumber());
-			}
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#characters(char[], int, int, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public void characters(char[] buf, int start, int count, AntXMLContext context) {
-			try {
-				super.characters(buf, start, count, context);
-			} catch (SAXParseException e) {
-				ErrorHelper.handleErrorFromElementText(start, count, context, e);
-			} catch (BuildException be) {
-				ErrorHelper.handleErrorFromElementText(start, count, context, be);
-			}
-		}
-	}
-	
-	public static class TargetHandler extends ProjectHelper2.TargetHandler {
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#onStartChild(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public AntHandler onStartChild(String uri, String name, String qname, Attributes attrs, AntXMLContext context) {
-			return ProjectHelper.elementHandler;
-		}
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#onStartElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public void onStartElement(String uri, String tag, String qname, Attributes attrs, AntXMLContext context) {
-			try {
-				super.onStartElement(uri, tag, qname, attrs, context);
-				Target newTarget= context.getCurrentTarget();
-				Locator locator= context.getLocator();
-				getAntModel().addTarget(newTarget, locator.getLineNumber(), locator.getColumnNumber());
-			} catch (SAXParseException e) {
-				handleErrorInTarget(context, e);
-			} catch (BuildException be) {
-				handleErrorInTarget(context, be);
-			}
-		}
-		
-		private void handleErrorInTarget(AntXMLContext context, Exception e) {
-			Target newTarget= context.getCurrentTarget();
-			Locator locator= context.getLocator();
-			getAntModel().addTarget(newTarget, locator.getLineNumber(), locator.getColumnNumber());
-			getAntModel().errorFromElement(e, null, locator.getLineNumber(), locator.getColumnNumber());
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#onEndElement(java.lang.String, java.lang.String, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public void onEndElement(String uri, String tag, AntXMLContext context) {
-			super.onEndElement(uri, tag, context);
-			Locator locator= context.getLocator();
-			getAntModel().setCurrentElementLength(locator.getLineNumber(), locator.getColumnNumber());
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.apache.tools.ant.helper.ProjectHelper2.AntHandler#characters(char[], int, int, org.apache.tools.ant.helper.AntXMLContext)
-		 */
-		public void characters(char[] buf, int start, int count, AntXMLContext context) {
-			try {
-				super.characters(buf, start, count, context);
-			} catch (SAXParseException e) {
-				ErrorHelper.handleErrorFromElementText(start, count, context, e);
-			} catch (BuildException be) {
-				ErrorHelper.handleErrorFromElementText(start, count, context, be);
-			}
-		}
-	}
-	
-	 public static class RootHandler extends ProjectHelper2.RootHandler {
-
-		public RootHandler(AntXMLContext context, AntHandler rootHandler) {
-			super(context, rootHandler);
-		}
-	
-		/* (non-Javadoc)
-		 * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException)
-		 */
-		public void error(SAXParseException e) {
-			getAntModel().error(e);
-		}
-		/* (non-Javadoc)
-		 * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException)
-		 */
-		public void fatalError(SAXParseException e) {
-			getAntModel().fatalError(e);
-		}
-		/* (non-Javadoc)
-		 * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException)
-		 */
-		public void warning(SAXParseException e) {
-			getAntModel().warning(e);
-		}
-		/* (non-Javadoc)
-		 * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String, java.lang.String)
-		 */
-		public InputSource resolveEntity(String publicId, String systemId) {
-			InputSource source= super.resolveEntity(publicId, systemId);
-			if (source != null) {
-				String path = getFileUtils().fromURI(source.getSystemId());
-				if (currentEntityName == null) {
-					currentEntityPath= path;
-				} else {
-					getAntModel().addEntity(currentEntityName, path);
-					currentEntityName= null;
-				}
-			}
-			return source;
-		}
-	 }
-	 
-	 private static class ErrorHelper {
- 		public static void handleErrorFromElementText(int start, int count, AntXMLContext context, Exception e) {
- 			Locator locator= context.getLocator();
-			int columnNumber= locator.getColumnNumber();
-			if (columnNumber > -1) {
-				int offset= start;
-				try {
-					offset= getAntModel().getOffset(locator.getLineNumber(), 1);
-				} catch (BadLocationException e1) {
-				}
-				getAntModel().errorFromElementText(e, offset, locator.getColumnNumber());
-			} else {
-				getAntModel().errorFromElementText(e, start, count);
-			}
-		}
-	 }
-	 
-	 private static class LexHandler implements LexicalHandler {
-	 	/* (non-Javadoc)
-		 * @see org.xml.sax.ext.LexicalHandler#endCDATA()
-		 */
-		public void endCDATA() throws SAXException {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.xml.sax.ext.LexicalHandler#endDTD()
-		 */
-		public void endDTD() throws SAXException {
-		    if (getAntModel().canGetLexicalInfo()) {
-				AntXMLContext context= getContext();
-				Locator locator= context.getLocator();
-				getAntModel().setCurrentElementLength(locator.getLineNumber(), locator.getColumnNumber());
-		    }
-		}
-
-		/* (non-Javadoc)
-		 * @see org.xml.sax.ext.LexicalHandler#startCDATA()
-		 */
-		public void startCDATA() throws SAXException {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.xml.sax.ext.LexicalHandler#comment(char[], int, int)
-		 */
-		public void comment(char[] ch, int start, int length) throws SAXException {
-		    if (getAntModel().canGetLexicalInfo()) {
-				AntXMLContext context= getContext();
-				Locator locator= context.getLocator();
-				if (locator != null) {
-					getAntModel().addComment(locator.getLineNumber(), locator.getColumnNumber(), length);
-				}
-		    }
-		}
-
-		/* (non-Javadoc)
-		 * @see org.xml.sax.ext.LexicalHandler#endEntity(java.lang.String)
-		 */
-		public void endEntity(String name) throws SAXException {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.xml.sax.ext.LexicalHandler#startEntity(java.lang.String)
-		 */
-		public void startEntity(String name) throws SAXException {
-			if (currentEntityPath == null) {
-				currentEntityName= name;
-			} else {
-				getAntModel().addEntity(name, currentEntityPath);
-				currentEntityPath= null;
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.xml.sax.ext.LexicalHandler#startDTD(java.lang.String, java.lang.String, java.lang.String)
-		 */
-		public void startDTD(String name, String publicId, String systemId) throws SAXException {
-		    if (getAntModel().canGetLexicalInfo()) {
-		        AntXMLContext context= getContext();
-		        Locator locator= context.getLocator();
-		        getAntModel().addDTD(name, locator.getLineNumber(), locator.getColumnNumber());
-		    }
-		}
-	 }
-	
-	public ProjectHelper(IAntModel model) {
-		setAntModel(model);
-	}
-	
-	/**
-     * Parses the project file, configuring the project as it goes.
-     *
-     * @param project the current project
-     * @param source  the xml source
-     * @param handler the root handler to use (contains the current context)
-     * @exception BuildException if the configuration is invalid or cannot
-     *                           be read
-     */
-    public void parse(Project project, Object source, org.apache.tools.ant.helper.ProjectHelper2.RootHandler handler) throws BuildException {
-    	
-    	if (!(source instanceof String)) {
-    		super.parse(project, source, handler);
-    		return;
-    	}
-    	
-    	AntXMLContext context= (AntXMLContext)project.getReference("ant.parsing.context"); //$NON-NLS-1$
-		//switch to using "our" handler so parsing will continue on hitting errors.
-    	handler= new RootHandler(context, mainHandler);
-    	
-        Reader stream= new StringReader((String)source);
-             
-        InputSource inputSource = null;
-        try {
-            /**
-             * SAX 2 style parser used to parse the given file.
-             */
-            
-        	//We cannot use the JAXPUtils support here as the underlying parser factory is cached and 
-        	//will not reflect classpath changes that effect which XML parser will be returned.
-        	//see bug 59764
-        	//XMLReader parser = JAXPUtils.getNamespaceXMLReader();
-        	XMLReader parser= getNamespaceXMLReader();
-        	if (parser == null) {
-        		throw new BuildException(ProjectHelperMessages.getString("ProjectHelper.0")); //$NON-NLS-1$
-        	}
-            String uri = null;
-            if (buildFile != null) {
-                uri = getFileUtils().toURI(buildFile.getAbsolutePath());
-            }
-
-            inputSource = new InputSource(stream);
-            if (uri != null) {
-                inputSource.setSystemId(uri);
-            }
-
-            context.setBuildFile(buildFile);
-            
-            parser.setContentHandler(handler);
-            parser.setEntityResolver(handler);
-            parser.setErrorHandler(handler);
-            parser.setDTDHandler(handler);
-            parser.setProperty("http://xml.org/sax/properties/lexical-handler", lexicalHandler); //$NON-NLS-1$
-          
-            parser.parse(inputSource);
-        } catch (SAXParseException exc) {
-        	getAntModel().fatalError(exc);
-        } catch (SAXException exc) {
-        	//ignore as we will be parsing incomplete source
-        } catch (FileNotFoundException exc) {
-            throw new BuildException(exc);
-        } catch (UnsupportedEncodingException exc) {
-              throw new BuildException(exc);
-        } catch (IOException exc) {
-            throw new BuildException(exc);
-        } finally {
-            if (stream != null) {
-                try {
-                	stream.close();
-                } catch (IOException ioe) {
-                    // ignore this
-                }
-            }
-        }
-    }
-
-	/**
-	 * Sets the buildfile that is about to be parsed or <code>null</code> if
-	 * parsing has completed.
-	 * 
-	 * @param file The buildfile about to be parsed
-	 */
-	public void setBuildFile(File file) {
-		buildFile= file;
-		currentImportStackSize= 1;
-	}
-	
-	/* (non-Javadoc)
-	 * We override this method from ProjectHelper2 as we do not want to execute the implicit target or
-	 * any other target for that matter as it could hang Eclipse.
-	 * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=50795 for more details.
-	 * 
-	 * @see org.apache.tools.ant.ProjectHelper#parse(org.apache.tools.ant.Project, java.lang.Object)
-	 */
-	public void parse(Project project, Object source) throws BuildException {
-		AntXMLContext context = (AntXMLContext) project.getReference("ant.parsing.context"); //$NON-NLS-1$
-        if (context == null) {
-        	getImportStack().removeAllElements();
-            context = new AntXMLContext(project);
-            project.addReference("ant.parsing.context", context); //$NON-NLS-1$
-            project.addReference("ant.targets", context.getTargets()); //$NON-NLS-1$
-            fgAntContext= context;
-        }
-        getImportStack().addElement(source);
-		currentImportStackSize= getImportStack().size();
-        if (getImportStack().size() > 1) {
-            // we are in an imported file.
-            context.setIgnoreProjectTag(true);
-            Target currentTarget = context.getCurrentTarget();
-            try {
-                Target newCurrent = new Target();
-                newCurrent.setProject(project);
-                newCurrent.setName(""); //$NON-NLS-1$
-                context.setCurrentTarget(newCurrent);
-                parse(project, source, new RootHandler(context, mainHandler));
-            } finally {
-                context.setCurrentTarget(currentTarget);
-            }
-        } else {
-            // top level file
-            parse(project, source, new RootHandler(context, mainHandler));
-        }
-	}
-
-	public static void setAntModel(IAntModel antModel) {
-		fgAntModel= antModel;
-		((ProjectHelper.ElementHandler)elementHandler).reset();
-		fu= null;
-		fgAntContext= null;
-	}
-
-	public static IAntModel getAntModel() {
-		return fgAntModel;
-	}
-	
-	public static AntXMLContext getContext() {
-		return fgAntContext;
-	}
-	
-	private static FileUtils getFileUtils() {
-		if (fu == null) {
-			fu= FileUtils.newFileUtils();
-		}
-		return fu;
-	}
-	
-	 /**
-     * Returns a newly created SAX 2 XMLReader, which is namespace aware
-     *
-     * @return a SAX 2 XMLReader.
-     * @since Ant 1.6 from org.apache.tools.ant.util.JAXPUtils
-     */
-    private XMLReader getNamespaceXMLReader() throws BuildException {
-        try {
-            return newSAXParser(getNSParserFactory()).getXMLReader();
-        } catch (SAXException e) {
-        }
-        return null;
-    }
-    
-    /**
-     * Returns the parser factory to use to create namespace aware parsers.
-     *
-     * @return a SAXParserFactory to use which supports manufacture of
-     * namespace aware parsers
-     *
-     * @since Ant 1.6 from org.apache.tools.ant.util.JAXPUtils
-     */
-    private SAXParserFactory getNSParserFactory() throws BuildException {
-
-    	SAXParserFactory nsParserFactory = JAXPUtils.newParserFactory();
-        nsParserFactory.setNamespaceAware(true);
-        
-        return nsParserFactory;
-    }
-    
-    /**
-     * @return a new SAXParser instance as helper for getParser and
-     * getXMLReader.
-     *
-     * @since Ant 1.5 from org.apache.tools.ant.util.JAXPUtils
-     */
-    private SAXParser newSAXParser(SAXParserFactory factory) {
-        try {
-            return factory.newSAXParser();
-        } catch (ParserConfigurationException e) {
-          
-        } catch (SAXException e) {
-           
-        }
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelperMessages.java b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelperMessages.java
deleted file mode 100644
index 7809c44..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelperMessages.java
+++ /dev/null
@@ -1,30 +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.ant.internal.ui.editor.utils;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ProjectHelperMessages {
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.editor.utils.ProjectHelperMessages";//$NON-NLS-1$
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-	private ProjectHelperMessages() {
-	}
-	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/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelperMessages.properties b/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelperMessages.properties
deleted file mode 100644
index 61c1d27..0000000
--- a/ant/org.eclipse.ant.ui/Ant Editor/org/eclipse/ant/internal/ui/editor/utils/ProjectHelperMessages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the 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
-###############################################################################
-ProjectHelper.0=XML Parser could not be created
diff --git a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/AntSupportMessages.java b/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/AntSupportMessages.java
deleted file mode 100644
index 53d65f9..0000000
--- a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/AntSupportMessages.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.ant.internal.ui.antsupport;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntSupportMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.antsupport.AntSupportMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntSupportMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/AntSupportMessages.properties b/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/AntSupportMessages.properties
deleted file mode 100644
index d113d10..0000000
--- a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/AntSupportMessages.properties
+++ /dev/null
@@ -1,23 +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
-###############################################################################
-
-AntInputHandler.Ant_Input_Request_1=Ant Input Request
-AntInputHandler.Invalid_input_2=Input does not match validargs attribute
-AntInputHandler.Unable_to_respond_to_<input>_request_4=Unable to respond to <input> request
-AntInputHandler.5=Unable to respond to input request as a result of the user specified -noinput command
-
-NullBuildLogger.1=BUILD FAILED
-AntProcessBuildLogger.Total_time=Total time: 
-AntProcessBuildLogger._minutes_2=\ minutes
-AntProcessBuildLogger._minute_3=\ minute
-AntProcessBuildLogger._seconds_4=\ seconds
-AntProcessBuildLogger._second_5=\ second
-AntProcessBuildLogger._milliseconds_6=\ milliseconds
diff --git a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/AntInputHandler.java b/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/AntInputHandler.java
deleted file mode 100644
index 6558708..0000000
--- a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/AntInputHandler.java
+++ /dev/null
@@ -1,74 +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.ant.internal.ui.antsupport.inputhandler;
-
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.input.DefaultInputHandler;
-import org.apache.tools.ant.input.InputRequest;
-import org.eclipse.ant.internal.ui.antsupport.AntSupportMessages;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * The default input handler when using Ant within Eclipse.
- * This is the class that will respond to <input> requests from
- * within an Ant build file.
- * If the build is occurring in Ant 1.6.0 and the -noinput option has been specified
- * this input handler will fail.
- */
-public class AntInputHandler extends DefaultInputHandler {
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.input.InputHandler#handleInput(org.apache.tools.ant.input.InputRequest)
-	 */
-	public void handleInput(InputRequest request) throws BuildException {
-		if (System.getProperty("eclipse.ant.noInput") != null) { //$NON-NLS-1$
-			throw new BuildException(AntSupportMessages.getString("AntInputHandler.5")); //$NON-NLS-1$
-		}
-		BuildException[] problem= new BuildException[1];
-		Runnable runnable= getHandleInputRunnable(request, problem);
-		Display.getDefault().syncExec(runnable);
-		if (problem[0] != null) {
-			throw problem[0];
-		}
-	}
-	
-	protected Runnable getHandleInputRunnable(final InputRequest request, final BuildException[] problem) {
-		return new Runnable() {
-			public void run() {
-				String prompt = getPrompt(request);
-		       	String title= AntSupportMessages.getString("AntInputHandler.Ant_Input_Request_1"); //$NON-NLS-1$
-				IInputValidator validator= new IInputValidator() {
-					private boolean fFirstValidation =true;
-                    public String isValid(String value) {
-						request.setInput(value);
-						if (request.isInputValid()) {
-							return null;
-						} 
-						if (fFirstValidation) {
-						    fFirstValidation= false;
-						    return ""; //$NON-NLS-1$
-						}
-						return AntSupportMessages.getString("AntInputHandler.Invalid_input_2"); //$NON-NLS-1$
-					}
-				};
-		
-				InputDialog dialog= new InputDialog(null, title, prompt, null, validator);
-				if (dialog.open() != Window.OK) {
-					problem[0]= new BuildException(AntSupportMessages.getString("AntInputHandler.Unable_to_respond_to_<input>_request_4")); //$NON-NLS-1$
-				}
-			}
-		};
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/AntProcessBuildLogger.java b/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/AntProcessBuildLogger.java
deleted file mode 100644
index b5c219f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/AntProcessBuildLogger.java
+++ /dev/null
@@ -1,293 +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
- *     Matt Conway - Patch for Bug 28052
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.antsupport.logger;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.StringReader;
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.Location;
-import org.apache.tools.ant.Project;
-import org.eclipse.ant.internal.core.AbstractEclipseBuildLogger;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.antsupport.AntSupportMessages;
-import org.eclipse.ant.internal.ui.launchConfigurations.AntProcess;
-import org.eclipse.ant.internal.ui.launchConfigurations.AntStreamMonitor;
-import org.eclipse.ant.internal.ui.launchConfigurations.AntStreamsProxy;
-import org.eclipse.ant.internal.ui.launchConfigurations.TaskLinkManager;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.ui.console.IHyperlink;
-	
-public class AntProcessBuildLogger extends NullBuildLogger {
-	
-	private File fBuildFileParent= null;
-	private long fStartTime;
-
-	/**
-	 * Associated process - discovered as needed to log messages
-	 */
-	private AntProcess fProcess = null;
-	
-	protected void logMessage(String message, BuildEvent event, int overridePriority) {
-		int priority= overridePriority;
-		if (priority == -1) {
-			priority= event.getPriority();
-		} 
-		
-		if (priority > getMessageOutputLevel()) {
-			return;
-		}
-		AntProcess antProcess = getAntProcess(fProcessId);
-		if (antProcess == null) {
-			return;
-		}
-		
-		StringBuffer fullMessage= new StringBuffer();
-		 if (!loggingToLogFile()) {
-			fullMessage.append(System.getProperty("line.separator")); //$NON-NLS-1$
-		}
-		if (event.getException() == null && event.getTask() != null && !fEmacsMode) {
-			adornMessage(event, fullMessage);
-		} else {
-			fullMessage.append(message);
-		}
-		message= fullMessage.toString();
-		
-		if (loggingToLogFile()) {
-			logMessageToLogFile(message, priority);
-		} else {
-			AntStreamMonitor monitor = getMonitor(priority);
-			monitor.append(message);
-		}
-	}
-
-	/**
-	 * Builds a right justified task prefix for the given build event, placing it
-	 * in the given string buffer. Creates the hyperlinks for the task prefix. 
-	 *  
-	 * @param event build event
-	 * @param fullMessage buffer to place task prefix in
-	 */
-	private void adornMessage(BuildEvent event, StringBuffer fullMessage) {
-		String name = event.getTask().getTaskName();
-		if (name == null) {
-			name = "null"; //$NON-NLS-1$
-		}
-		Location location = event.getTask().getLocation();
-		StringBuffer column= new StringBuffer();
-		int size = IAntUIConstants.LEFT_COLUMN_SIZE - (name.length() + 3);
-		for (int i = 0; i < size; i++) {
-			column.append(' ');
-		}
-		StringBuffer labelBuff= new StringBuffer();
-		labelBuff.append('[');
-		labelBuff.append(name);
-		labelBuff.append("] "); //$NON-NLS-1$
-		
-		int offset = Math.max(size, 0) + 1;
-		String label= labelBuff.toString();
-		if (event.getMessage() == null) {
-			return;
-		}
-		try {
-			BufferedReader r = new BufferedReader(new StringReader(event.getMessage()));
-			String line = r.readLine();
-			fullMessage.append(column);
-			appendAndLink(fullMessage, location, label, offset, line);
-			line = r.readLine();
-			while (line != null) {
-				fullMessage.append(System.getProperty("line.separator")); //$NON-NLS-1$
-				fullMessage.append(column);
-				appendAndLink(fullMessage, location, label, offset, line);
-				line = r.readLine();
-			}
-		} catch (IOException e) {
-			if (event.getMessage() != null) {
-				fullMessage.append(label).append(event.getMessage());
-			}
-		}
-	}
-	
-	private void appendAndLink(StringBuffer fullMessage, Location location, String label, int offset, String line) {
-		fullMessage.append(label);
-		fullMessage.append(line);
-		if (location != null) {
-			String newLine= (label + line).trim();
-			IRegion region= new Region(offset, label.length() - 3); // only want the name length "[name] "
-			IHyperlink link= getTaskLink(location);
-			if (link != null) {
-				TaskLinkManager.addTaskHyperlink(getAntProcess(fProcessId), link, region, newLine);
-			}
-		}
-	}
-
-	private AntStreamMonitor getMonitor(int priority) {
-		AntStreamsProxy proxy = (AntStreamsProxy)fProcess.getStreamsProxy();
-		AntStreamMonitor monitor = null;
-		switch (priority) {
-			case Project.MSG_INFO:
-				monitor = (AntStreamMonitor)proxy.getOutputStreamMonitor();
-				break;
-			case Project.MSG_ERR:
-				monitor = (AntStreamMonitor)proxy.getErrorStreamMonitor();
-				break;
-			case Project.MSG_DEBUG:
-				monitor = (AntStreamMonitor)proxy.getDebugStreamMonitor();
-				break;
-			case Project.MSG_WARN:
-				monitor = (AntStreamMonitor)proxy.getWarningStreamMonitor();
-				break;
-			case Project.MSG_VERBOSE:
-				monitor = (AntStreamMonitor)proxy.getVerboseStreamMonitor();
-				break;
-		}
-		return monitor;
-	}
-
-	private void logMessageToLogFile(String message, int priority) {
-		if (priority == Project.MSG_ERR) {
-			getErrorPrintStream().println(message);
-		} else {
-			getOutputPrintStream().println(message);
-		}
-	}
-	
-	/**
-	 * Returns a hyperlink for the given task, or <code>null</code> if unable to
-	 * parse a valid location for the task. The link is set to exist at the specified
-	 * offset and length.
-	 * 
-	 * @return hyper link, or <code>null</code>
-	 */
-	private IHyperlink getTaskLink(Location location) {
-		if (location != null) {
-			return AntUtil.getTaskLink(location.toString(), fBuildFileParent);
-		}
-		return null;
-	}	
-	
-	/**
-	 * Returns the associated Ant process, finding it if necessary, if not
-	 * already found.
-	 */
-	protected AntProcess getAntProcess(String processId) {
-		if (fProcess == null && processId != null) {
-			IProcess[] all = DebugPlugin.getDefault().getLaunchManager().getProcesses();
-			for (int i = 0; i < all.length; i++) {
-				IProcess process = all[i];
-				if (process instanceof AntProcess && processId.equals(process.getAttribute(AbstractEclipseBuildLogger.ANT_PROCESS_ID))) {
-					fProcess = (AntProcess)process;
-					break;
-				}
-			}
-		}
-		return fProcess;
-	}
-
-	/* (non-Javadoc)
-	 * Set the start time.
-	 * 
-	 * @see org.apache.tools.ant.BuildListener#buildStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildStarted(BuildEvent event) {
-		fStartTime= System.currentTimeMillis();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#buildFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildFinished(BuildEvent event) {
-        String message= handleException(event);
-        if (message != null) {
-            logMessage(message, event, Project.MSG_ERR);
-        }
-		fHandledException= null;
-		fBuildFileParent= null;
-		if (!(event.getException() instanceof OperationCanceledException)) {
-			logMessage(getTimeString(System.currentTimeMillis() - fStartTime), event, fMessageOutputLevel);
-		}
-		fProcess= null;
-		event.getProject().removeBuildListener(this);
-	}
-	
-	private String getTimeString(long milliseconds) {
-			long seconds = milliseconds / 1000;
-			long minutes = seconds / 60;
-			seconds= seconds % 60;
-		
-			StringBuffer result= new StringBuffer(AntSupportMessages.getString("AntProcessBuildLogger.Total_time")); //$NON-NLS-1$
-			if (minutes > 0) {
-				result.append(minutes);
-				if (minutes > 1) {
-					result.append(AntSupportMessages.getString("AntProcessBuildLogger._minutes_2")); //$NON-NLS-1$
-				} else {
-					result.append(AntSupportMessages.getString("AntProcessBuildLogger._minute_3")); //$NON-NLS-1$
-				}
-			}
-			if (seconds > 0) {
-				if (minutes > 0) {
-					result.append(' ');
-				}
-				result.append(seconds);
-			
-				if (seconds > 1) {
-					result.append(AntSupportMessages.getString("AntProcessBuildLogger._seconds_4")); //$NON-NLS-1$
-				} else {
-					result.append(AntSupportMessages.getString("AntProcessBuildLogger._second_5")); //$NON-NLS-1$
-				} 
-			}
-			if (seconds == 0 && minutes == 0) {
-				result.append(milliseconds);
-				result.append(AntSupportMessages.getString("AntProcessBuildLogger._milliseconds_6"));		 //$NON-NLS-1$
-			}
-			
-			result.append(System.getProperty("line.separator")); //$NON-NLS-1$
-			return result.toString();
-		}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#messageLogged(org.apache.tools.ant.BuildEvent)
-	 */
-	public void messageLogged(BuildEvent event) {
-		if (event.getPriority() > getMessageOutputLevel()) {
-			return;
-		}
-		if (event.getMessage() != null && event.getMessage().length() > 0) {
-			logMessage(event.getMessage(), event, -1);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetStarted(BuildEvent event) {
-		if (Project.MSG_INFO > getMessageOutputLevel()) {
-			return;
-		}
-		StringBuffer msg= new StringBuffer(System.getProperty("line.separator")); //$NON-NLS-1$
-		msg.append(event.getTarget().getName());
-		msg.append(':');
-		logMessage(msg.toString(), event, Project.MSG_INFO);
-	}
-	
-	private boolean loggingToLogFile() {
-		//check if user has designated to log to a logfile
-		return getErrorPrintStream() != null && getErrorPrintStream() != System.err;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/AntProcessDebugBuildLogger.java b/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/AntProcessDebugBuildLogger.java
deleted file mode 100644
index 0f88ce9..0000000
--- a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/AntProcessDebugBuildLogger.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.antsupport.logger;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
-import java.util.Vector;
-
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.Location;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.Task;
-import org.eclipse.ant.internal.ui.antsupport.logger.util.AntDebugUtil;
-import org.eclipse.ant.internal.ui.debug.IAntDebugController;
-import org.eclipse.ant.internal.ui.debug.model.AntDebugTarget;
-import org.eclipse.ant.internal.ui.debug.model.AntThread;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.core.model.IProcess;
-
-public class AntProcessDebugBuildLogger extends AntProcessBuildLogger implements IAntDebugController {
-	
-	private boolean fStepOverSuspend= false;
-	private boolean fStepIntoSuspend= false;
-	private boolean fClientSuspend= false;
-	private boolean fShouldSuspend= false;
-	
-	private Stack fTasks= new Stack();
-	private Task fCurrentTask;
-	private Task fStepOverTask;
-	private Task fLastTaskFinished;
-	
-	private List fBreakpoints= null;
-    
-	//properties set before execution
-    private Map fInitialProperties= null;
-	private Map fProperties= null;
-    
-    private Map fTargetToBuildSequence= null;
-    private Target fTargetToExecute= null;
-    private Target fTargetExecuting= null;
-	
-	private AntDebugTarget fAntDebugTarget;
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#buildStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildStarted(BuildEvent event) {
-		super.buildStarted(event);
-		IProcess process= getAntProcess(fProcessId);
-		ILaunch launch= process.getLaunch();
-		fAntDebugTarget= new AntDebugTarget(launch, process, this);
-		launch.addDebugTarget(fAntDebugTarget);
-        
-        fAntDebugTarget.buildStarted();
-	}
-
-    private void initializeBuildSequenceInformation(BuildEvent event) {
-        fTargetToBuildSequence= new HashMap();
-        fTargetToExecute= AntDebugUtil.initializeBuildSequenceInformation(event, fTargetToBuildSequence);
-    }
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#taskFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskFinished(BuildEvent event) {
-		super.taskFinished(event);
-		fLastTaskFinished= (Task)fTasks.pop();
-		fCurrentTask= null;
-		waitIfSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#taskStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskStarted(BuildEvent event) {
-        if (fInitialProperties == null) {//implicit or top level target does not fire targetStarted()
-            fInitialProperties= event.getProject().getProperties();
-        }
-		super.taskStarted(event);
-		fCurrentTask= event.getTask();
-		fTasks.push(fCurrentTask);
-		waitIfSuspended();
-	}
-	
-	private synchronized void waitIfSuspended() {
-	    if (fCurrentTask != null) {
-            int detail= -1;
-	        boolean shouldSuspend= true;
-	        IBreakpoint breakpoint= breakpointAtLineNumber(fCurrentTask.getLocation());
-	        if (breakpoint != null) {
-                detail= -2;
-	            fAntDebugTarget.breakpointHit(breakpoint);
-	        } else if (fStepIntoSuspend) {
-	            detail= DebugEvent.STEP_END;
-	            fStepIntoSuspend= false;               
-	        } else if (fStepOverSuspend) {
-	            if (fLastTaskFinished == fStepOverTask) {
-	                detail= DebugEvent.STEP_END;
-	                fStepOverSuspend= false;
-	                fStepOverTask= null;
-	            } else {
-	                shouldSuspend= false;
-	            }
-	        } else if (fClientSuspend) {
-	            detail= DebugEvent.CLIENT_REQUEST;
-	            fClientSuspend= false;
-	        } else {
-	            shouldSuspend= false;
-	        }
-	        if (shouldSuspend) {
-                if (detail != -2) { //not already notified of hitting breakpoint
-                    fAntDebugTarget.suspended(detail);
-                }
-	            try {
-	                wait();
-	            } catch (InterruptedException e) {
-	            }
-	        }
-	    } else if (fShouldSuspend) {
-	        try {
-	            fShouldSuspend= false;
-	            wait();
-	        } catch (InterruptedException e) {
-	        }
-	    }
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#resume()
-	 */
-	public synchronized void resume() {
-        notifyAll();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#suspend()
-	 */
-	public synchronized void suspend() {
-		fClientSuspend= true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#stepInto()
-	 */
-	public synchronized void stepInto() {
-		fStepIntoSuspend= true;
-		notifyAll();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#stepOver()
-	 */
-	public synchronized void stepOver() {
-		fStepOverSuspend= true;
-		fStepOverTask= fCurrentTask;
-		notifyAll();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#handleBreakpoint(org.eclipse.debug.core.model.IBreakpoint, boolean)
-	 */
-	public void handleBreakpoint(IBreakpoint breakpoint, boolean added) {
-		if (added) {
-			if (fBreakpoints == null) {
-				fBreakpoints= new ArrayList();
-			}
-			if (!fBreakpoints.contains(breakpoint)) {
-				fBreakpoints.add(breakpoint);
-			}
-		} else {
-			fBreakpoints.remove(breakpoint);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#getProperties()
-	 */
-	public void getProperties() {
-	    StringBuffer propertiesRepresentation= new StringBuffer();
-	    if (!fTasks.isEmpty()) {
-	        AntDebugUtil.marshallProperties(propertiesRepresentation, ((Task)fTasks.peek()).getProject(), fInitialProperties, fProperties, true);
-	        fProperties= ((Task)fTasks.peek()).getProject().getProperties();
-	    }
-	    
-	    ((AntThread) fAntDebugTarget.getThreads()[0]).newProperties(propertiesRepresentation.toString());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#getStackFrames()
-	 */
-	public void getStackFrames() {
-		StringBuffer stackRepresentation= new StringBuffer();
-		AntDebugUtil.marshalStack(stackRepresentation, fTasks, fTargetToExecute, fTargetExecuting, fTargetToBuildSequence);
-		((AntThread) fAntDebugTarget.getThreads()[0]).buildStack(stackRepresentation.toString());
-	}
-    
-    private IBreakpoint breakpointAtLineNumber(Location location) {
-        if (fBreakpoints == null) {
-            return null;
-        }
-        int lineNumber= AntDebugUtil.getLineNumber(location);
-        File locationFile= new File(AntDebugUtil.getFileName(location));
-        for (int i = 0; i < fBreakpoints.size(); i++) {
-            ILineBreakpoint breakpoint = (ILineBreakpoint) fBreakpoints.get(i);
-            int breakpointLineNumber;
-            try {
-            	if (!breakpoint.isEnabled()) {
-                	continue;
-                }
-            	breakpointLineNumber = breakpoint.getLineNumber();
-            } catch (CoreException e) {
-               return null;
-            }
-            IFile resource= (IFile) breakpoint.getMarker().getResource();
-            if (breakpointLineNumber == lineNumber && resource.getLocation().toFile().equals(locationFile)) {
-                return breakpoint;
-            }
-        }
-        return null;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
-     */
-    public void targetStarted(BuildEvent event) {
-        if (fInitialProperties == null) {
-            fInitialProperties= event.getProject().getProperties();
-        }
-        if (fTargetToBuildSequence == null) {
-        	initializeBuildSequenceInformation(event);
-        }
-        super.targetStarted(event);
-        fTargetExecuting= event.getTarget();
-        if (event.getTarget().equals(fTargetToExecute)) {
-            //the dependancies of the target to execute have been met
-            //prepare for the next target
-            Vector targets= (Vector) event.getProject().getReference("eclipse.ant.targetVector"); //$NON-NLS-1$
-            if (!targets.isEmpty()) {
-                fTargetToExecute= (Target) event.getProject().getTargets().get(targets.remove(0));
-            } else {
-                fTargetToExecute= null;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/NullBuildLogger.java b/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/NullBuildLogger.java
deleted file mode 100644
index 70c9f4d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Runner Support/org/eclipse/ant/internal/ui/antsupport/logger/NullBuildLogger.java
+++ /dev/null
@@ -1,180 +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.ant.internal.ui.antsupport.logger;
-
-
-import java.io.PrintStream;
-
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildLogger;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.util.StringUtils;
-import org.eclipse.ant.core.AntSecurityException;
-import org.eclipse.ant.internal.core.AbstractEclipseBuildLogger;
-import org.eclipse.ant.internal.ui.antsupport.AntSupportMessages;
-import org.eclipse.core.runtime.OperationCanceledException;
-
-public class NullBuildLogger extends AbstractEclipseBuildLogger implements BuildLogger{
-
-	protected int fMessageOutputLevel = Project.MSG_INFO;
-	private PrintStream fErr= null;
-	private PrintStream fOut= null;
-	protected boolean fEmacsMode= false;
-	
-	/**
-	 * An exception that has already been logged.
-	 */
-	protected Throwable fHandledException= null;
-	
-	/**
-	 * @see org.apache.tools.ant.BuildLogger#setMessageOutputLevel(int)
-	 */
-	public void setMessageOutputLevel(int level) {
-		fMessageOutputLevel= level;
-	}
-	
-	protected int getMessageOutputLevel() {
-		return fMessageOutputLevel;
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildLogger#setEmacsMode(boolean)
-	 */
-	public void setEmacsMode(boolean emacsMode) {
-		fEmacsMode= emacsMode;
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#buildStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildStarted(BuildEvent event) {
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#buildFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildFinished(BuildEvent event) {
-		String message= handleException(event);
-        if (message != null) {
-            logMessage(message, getMessageOutputLevel());
-        }
-		fHandledException= null;
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetStarted(BuildEvent event) {
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#targetFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetFinished(BuildEvent event) {
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#taskStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskStarted(BuildEvent event) {
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildListener#taskFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskFinished(BuildEvent event) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#messageLogged(org.apache.tools.ant.BuildEvent)
-	 */
-	public void messageLogged(BuildEvent event) {
-		logMessage(event.getMessage(), event.getPriority());
-	}
-
-	protected PrintStream getErrorPrintStream() {
-		return fErr;
-	}
-	
-	protected PrintStream getOutputPrintStream() {
-		return fOut;
-	}
-	
-	/**
-	 * @see org.apache.tools.ant.BuildLogger#setErrorPrintStream(java.io.PrintStream)
-	 */
-	public void setErrorPrintStream(PrintStream err) {
-		//this build logger logs to "null" unless
-		//the user has explicitly set a logfile to use
-		if (err == System.err) {
-			fErr= null;
-		} else {
-			fErr= err;
-		}
-	}
-
-	/**
-	 * @see org.apache.tools.ant.BuildLogger#setOutputPrintStream(java.io.PrintStream)
-	 */
-	public void setOutputPrintStream(PrintStream output) {
-		//this build logger logs to "null" unless
-		//the user has explicitly set a logfile to use
-		if (output == System.out) {
-			fOut= null;
-		} else {
-			fOut= output;
-		}
-	}
-	
-	protected void logMessage(String message, int priority) {
-		if (priority > getMessageOutputLevel()) {
-			return;
-		}
-		
-		if (priority == Project.MSG_ERR) {
-			if (getErrorPrintStream() != null && getErrorPrintStream() != System.err) {
-				//user has designated to log to a logfile
-				getErrorPrintStream().println(message);
-			}
-		} else {
-			if (getOutputPrintStream() != null && getOutputPrintStream() != System.out) {
-				//user has designated to log to a logfile
-				getOutputPrintStream().println(message);
-			} 
-		}
-	}
-	
-	protected String handleException(BuildEvent event) {
-		Throwable exception = event.getException();
-		if (exception == null || exception == fHandledException
-		|| exception instanceof OperationCanceledException
-		|| exception instanceof AntSecurityException) {
-			return null;
-		}
-		fHandledException= exception;
-        StringBuffer message= new StringBuffer();
-        message.append(StringUtils.LINE_SEP);
-        message.append(AntSupportMessages.getString("NullBuildLogger.1")); //$NON-NLS-1$
-        message.append(StringUtils.LINE_SEP);
-        if (Project.MSG_VERBOSE <= fMessageOutputLevel || !(exception instanceof BuildException)) {
-            message.append(StringUtils.getStackTrace(exception));
-        } else {
-            if (exception instanceof BuildException) {
-                message.append(exception.toString()).append(StringUtils.LINE_SEP);
-            } else {
-                message.append(exception.getMessage()).append(StringUtils.LINE_SEP);
-            }
-        }
-        
-		return message.toString();	
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntImageDescriptor.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntImageDescriptor.java
deleted file mode 100644
index 0a1228e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntImageDescriptor.java
+++ /dev/null
@@ -1,135 +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
- *     John-Mason P. Shackelford (john-mason.shackelford@pearson.com) - bug 49445
- *******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.Point;
-
-/**
- * A image descriptor consisting of a main icon and several adornments. The adornments
- * are computed according to flags set on creation of the descriptor.
- */
-public class AntImageDescriptor extends CompositeImageDescriptor {
-	
-	/** Flag to render an error adornment */
-	public final static int HAS_ERRORS= 0x0001;
-
-	/** Flag to render an imported adornment */
-	public final static int IMPORTED= 0x0002;
-	
-	/** Flag to render an warning adornment */
-	public final static int HAS_WARNINGS= 0x0004;
-	
-	private ImageDescriptor fBaseImage;
-	private int fFlags;
-	private Point fSize;
-
-	/**
-	 * Create a new AntImageDescriptor.
-	 * 
-	 * @param baseImage an image descriptor used as the base image
-	 * @param flags flags indicating which adornments are to be rendered
-	 * 
-	 */
-	public AntImageDescriptor(ImageDescriptor baseImage, int flags) {
-		setBaseImage(baseImage);
-		setFlags(flags);
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#getSize()
-	 */
-	protected Point getSize() {
-		if (fSize == null) {
-			ImageData data= getBaseImage().getImageData();
-			setSize(new Point(data.width, data.height));
-		}
-		return fSize;
-	}
-	
-	/**
-	 * @see Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof AntImageDescriptor)){
-			return false;
-		}
-			
-		AntImageDescriptor other= (AntImageDescriptor)object;
-		return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags());
-	}
-	
-	/**
-	 * @see Object#hashCode()
-	 */
-	public int hashCode() {
-		return getBaseImage().hashCode() | getFlags();
-	}
-	
-	/**
-	 * @see CompositeImageDescriptor#drawCompositeImage(int, int)
-	 */
-	protected void drawCompositeImage(int width, int height) {
-		ImageData bg= getBaseImage().getImageData();
-		if (bg == null) {
-			bg= DEFAULT_IMAGE_DATA;
-		}
-		drawImage(bg, 0, 0);
-		drawOverlays();
-	}
-
-	/**
-	 * Add any overlays to the image as specified in the flags.
-	 */
-	protected void drawOverlays() {
-		int flags= getFlags();
-		int y= 0;
-		ImageData data= null;
-		if ((flags & IMPORTED) != 0) {
-			data= AntUIImages.getImageDescriptor(IAntUIConstants.IMG_OVR_IMPORT).getImageData();
-			drawImage(data, 0, 0);
-		}
-		if ((flags & HAS_ERRORS) != 0) {
-			y= getSize().y;
-			data= AntUIImages.getImageDescriptor(IAntUIConstants.IMG_OVR_ERROR).getImageData();
-			y -= data.height;
-			drawImage(data, 0, y);
-		} else if ((flags & HAS_WARNINGS) != 0) {
-			y= getSize().y;
-			data= AntUIImages.getImageDescriptor(IAntUIConstants.IMG_OVR_WARNING).getImageData();
-			y -= data.height;
-			drawImage(data, 0, y);
-		}
-	}
-	
-	protected ImageDescriptor getBaseImage() {
-		return fBaseImage;
-	}
-
-	protected void setBaseImage(ImageDescriptor baseImage) {
-		fBaseImage = baseImage;
-	}
-
-	protected int getFlags() {
-		return fFlags;
-	}
-
-	protected void setFlags(int flags) {
-		fFlags = flags;
-	}
-
-	protected void setSize(Point size) {
-		fSize = size;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntPropertyValueProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntPropertyValueProvider.java
deleted file mode 100644
index 6de3129..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntPropertyValueProvider.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.ant.internal.ui;
-
-import org.eclipse.ant.core.IAntPropertyValueProvider;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.JavaCore;
-
-/**
- * Dynamic provider for Ant properties.
- * 
- * Provides the dynamic values for the following Ant properties:
- * 
- * <ul>
- * <li><code>eclipse.target</code> - set to the Eclipse target platform location</li>
- * </ul>
- * 
- * @since 3.1
- */
-public class AntPropertyValueProvider implements IAntPropertyValueProvider {
-	/**
-	 * Returns the dynamic property values for Ant properties.
-	 * 
-	 * @param propertyName The name of the property to resovle the value for
-	 * @return The resolved value for the property
-	 * @see org.eclipse.ant.core.IAntPropertyValueProvider#getAntPropertyValue(String)
-	 */
-	public String getAntPropertyValue(String propertyName) {
-		String value = null;
-		if ("eclipse.target".equals(propertyName)) { //$NON-NLS-1$
-			try {
-			    IPath home= JavaCore.getClasspathVariable("ECLIPSE_HOME"); //$NON-NLS-1$
-				value = home.toFile().getAbsolutePath();
-				if (value.endsWith("/")) { //$NON-NLS-1$
-				    value = value.substring(0, value.length() - 1);
-				}
-			} catch (Exception e) {
-				AntUIPlugin.log(e);
-			}
-		}
-		return value;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntSourceViewerConfiguration.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntSourceViewerConfiguration.java
deleted file mode 100644
index 52963bd..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntSourceViewerConfiguration.java
+++ /dev/null
@@ -1,202 +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.ant.internal.ui;
-
-import org.eclipse.ant.internal.ui.editor.text.AntDocumentSetupParticipant;
-import org.eclipse.ant.internal.ui.editor.text.AntEditorPartitionScanner;
-import org.eclipse.ant.internal.ui.editor.text.AntEditorProcInstrScanner;
-import org.eclipse.ant.internal.ui.editor.text.AntEditorTagScanner;
-import org.eclipse.ant.internal.ui.editor.text.IAntEditorColorConstants;
-import org.eclipse.ant.internal.ui.editor.text.MultilineDamagerRepairer;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.StringConverter;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.text.presentation.IPresentationReconciler;
-import org.eclipse.jface.text.presentation.PresentationReconciler;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.editors.text.TextSourceViewerConfiguration;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-
-public class AntSourceViewerConfiguration extends TextSourceViewerConfiguration {
-
-	private AntEditorTagScanner tagScanner;
-    private AntEditorProcInstrScanner instructionScanner;
-	private MultilineDamagerRepairer damageRepairer;
-	private MultilineDamagerRepairer dtdDamageRepairer;
-	private TextAttribute xmlCommentAttribute;
-	private TextAttribute xmlDtdAttribute;
-	
-    public AntSourceViewerConfiguration() {
-        super(AntUIPlugin.getDefault().getCombinedPreferenceStore());
-    }
-
-    private AntEditorProcInstrScanner getDefaultScanner() {
-	    if (instructionScanner == null) {
-	        instructionScanner = new AntEditorProcInstrScanner();
-	    }
-	    return instructionScanner;
-	}
-
-	private AntEditorTagScanner getTagScanner() {
-	    if (tagScanner == null) {
-	        tagScanner = new AntEditorTagScanner();
-	    }
-	    return tagScanner;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getPresentationReconciler(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
-	    PresentationReconciler reconciler = new PresentationReconciler();
-	    reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-	    
-		MultilineDamagerRepairer dr = new MultilineDamagerRepairer(getDefaultScanner());
-	    reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
-	    reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
-	
-	    dr = new MultilineDamagerRepairer(getTagScanner());
-	    reconciler.setDamager(dr, AntEditorPartitionScanner.XML_TAG);
-	    reconciler.setRepairer(dr, AntEditorPartitionScanner.XML_TAG);
-	
-	    int style= getStyle(IAntEditorColorConstants.XML_COMMENT_COLOR);
-	    xmlCommentAttribute=  new TextAttribute(AntUIPlugin.getPreferenceColor(IAntEditorColorConstants.XML_COMMENT_COLOR), null, style);
-		damageRepairer= new MultilineDamagerRepairer(null, xmlCommentAttribute);
-	    reconciler.setDamager(damageRepairer, AntEditorPartitionScanner.XML_COMMENT);
-	    reconciler.setRepairer(damageRepairer, AntEditorPartitionScanner.XML_COMMENT);
-	    
-	    style= getStyle(IAntEditorColorConstants.XML_DTD_COLOR);
-	    xmlDtdAttribute=  new TextAttribute(AntUIPlugin.getPreferenceColor(IAntEditorColorConstants.XML_DTD_COLOR), null, style);
-		dtdDamageRepairer= new MultilineDamagerRepairer(null, xmlDtdAttribute);
-	    reconciler.setDamager(dtdDamageRepairer, AntEditorPartitionScanner.XML_DTD);
-	    reconciler.setRepairer(dtdDamageRepairer, AntEditorPartitionScanner.XML_DTD);
-	
-	    return reconciler;
-	}
-
-	private int getStyle(String pref) {
-		int style= SWT.NORMAL;
-	    if (fPreferenceStore.getBoolean(pref + AntEditorPreferenceConstants.EDITOR_BOLD_SUFFIX)) {
-	    	style |= SWT.BOLD;
-	    }
-	    if (fPreferenceStore.getBoolean(pref + AntEditorPreferenceConstants.EDITOR_ITALIC_SUFFIX)) {
-	    	style |= SWT.ITALIC;
-	    }
-		return style;
-	}
-
-	/**
-	 * Preference colors have changed.  
-	 * Update the default tokens of the scanners.
-	 */
-	public void adaptToPreferenceChange(PropertyChangeEvent event) {
-		if (tagScanner == null) {
-			return; //property change before the editor is fully created
-		}
-		tagScanner.adaptToPreferenceChange(event);
-		instructionScanner.adaptToPreferenceChange(event);
-		String property= event.getProperty();
-		if (property.startsWith(IAntEditorColorConstants.XML_COMMENT_COLOR)) {
-			xmlCommentAttribute= adaptTextAttribute(event, property, xmlCommentAttribute, damageRepairer);
-		} else if (property.startsWith(IAntEditorColorConstants.XML_DTD_COLOR)) {
-			xmlDtdAttribute= adaptTextAttribute(event, property, xmlDtdAttribute, dtdDamageRepairer);
-		} 
-	}
-	
-	private TextAttribute adaptTextAttribute(PropertyChangeEvent event, String property, TextAttribute textAttribute, MultilineDamagerRepairer repairer) {
-		if (property.endsWith(AntEditorPreferenceConstants.EDITOR_BOLD_SUFFIX)) {
-			textAttribute= adaptToStyleChange(event, SWT.BOLD, textAttribute);
-		} else if (property.endsWith(AntEditorPreferenceConstants.EDITOR_ITALIC_SUFFIX)) {
-			textAttribute= adaptToStyleChange(event, SWT.ITALIC, textAttribute);
-		} else {
-			textAttribute= adaptToColorChange(event, textAttribute);
-		}
-		repairer.setDefaultTextAttribute(textAttribute);
-		return textAttribute;
-	}
-
-	private TextAttribute adaptToStyleChange(PropertyChangeEvent event, int styleAttribute, TextAttribute textAttribute) {
-		boolean eventValue= false;
-		Object value= event.getNewValue();
-		if (value instanceof Boolean) {
-			eventValue= ((Boolean) value).booleanValue();
-		} else if (IPreferenceStore.TRUE.equals(value)) {
-			eventValue= true;
-		}
-		
-		boolean activeValue= (textAttribute.getStyle() & styleAttribute) == styleAttribute;
-		if (activeValue != eventValue) { 
-			textAttribute= new TextAttribute(textAttribute.getForeground(), textAttribute.getBackground(), eventValue ? textAttribute.getStyle() | styleAttribute : textAttribute.getStyle() & ~styleAttribute);
-		}	
-		return textAttribute;
-	}
-	
-	 /**
-     * Update the text attributes associated with the tokens of this scanner as a color preference has been changed. 
-     */
-    private TextAttribute adaptToColorChange(PropertyChangeEvent event, TextAttribute textAttribute) {
-    	RGB rgb= null;
-		
-		Object value= event.getNewValue();
-		if (value instanceof RGB) {
-			rgb= (RGB) value;
-		} else if (value instanceof String) {
-			rgb= StringConverter.asRGB((String) value);
-		}
-			
-		if (rgb != null) {
-			textAttribute= new TextAttribute(ColorManager.getDefault().getColor(rgb), textAttribute.getBackground(), textAttribute.getStyle());
-		}
-		return textAttribute;
-    }
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getConfiguredContentTypes(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-	    return new String[] {
-	        IDocument.DEFAULT_CONTENT_TYPE,
-	        AntEditorPartitionScanner.XML_COMMENT,
-	        AntEditorPartitionScanner.XML_TAG,
-			AntEditorPartitionScanner.XML_CDATA,
-			AntEditorPartitionScanner.XML_DTD};
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getTabWidth(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public int getTabWidth(ISourceViewer sourceViewer) {
-		return fPreferenceStore.getInt(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH);
-	}
-	
-	public boolean affectsTextPresentation(PropertyChangeEvent event) {
-		String property= event.getProperty();
-		return property.startsWith(IAntEditorColorConstants.TEXT_COLOR) ||
-			property.startsWith(IAntEditorColorConstants.PROCESSING_INSTRUCTIONS_COLOR) ||
-			property.startsWith(IAntEditorColorConstants.STRING_COLOR) ||
-			property.startsWith(IAntEditorColorConstants.TAG_COLOR) ||
-			property.startsWith(IAntEditorColorConstants.XML_COMMENT_COLOR) || 
-			property.startsWith(IAntEditorColorConstants.XML_DTD_COLOR);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getConfiguredDocumentPartitioning(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public String getConfiguredDocumentPartitioning(ISourceViewer sourceViewer) {
-		return AntDocumentSetupParticipant.ANT_PARTITIONING;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIImages.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIImages.java
deleted file mode 100644
index 6f2d55f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIImages.java
+++ /dev/null
@@ -1,265 +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
- *     John-Mason P. Shackelford (john-mason.shackelford@pearson.com) - bug 49380, 49445, 53547
- *******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-
-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 AntUIImages {
-
-	/** 
-	 * 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= AntUIPlugin.getDefault().getBundle().getEntry(pathSuffix);
-	}
-
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	private final static String LOCALTOOL= "elcl16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	private final static String OBJECT= "obj16/"; //basic colors - size 16x16 //$NON-NLS-1$
-	private final static String OVR= "ovr16/"; //basic colors - size 7x8 //$NON-NLS-1$
-	private final static String WIZ= "wizban/"; //$NON-NLS-1$
-	private static final String T_ETOOL= "etool16"; 	//$NON-NLS-1$
-	
-	/**
-	 * Declare all images
-	 */
-	private static void declareImages() {
-		// Ant Editor images
-		declareRegistryImage(IAntUIConstants.IMG_PROPERTY, OBJECT + "property_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_TASK_PROPOSAL, OBJECT + "task_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_TEMPLATE_PROPOSAL, OBJECT + "template_obj.gif"); //$NON-NLS-1$
-		
-		declareRegistryImage(IAntUIConstants.IMG_SEGMENT_EDIT, T_ETOOL + "segment_edit.gif"); //$NON-NLS-1$
-		
-		// Ant View Actions
-		declareRegistryImage(IAntUIConstants.IMG_ANT, OBJECT + "ant.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_REMOVE, LOCALTOOL + "remove_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_REMOVE_ALL, LOCALTOOL + "removeall_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_ADD, LOCALTOOL + "add_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_RUN, LOCALTOOL + "run_tool.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_SEARCH, LOCALTOOL + "search.gif"); //$NON-NLS-1$
-		
-		declareRegistryImage(IAntUIConstants.IMG_FILTER_INTERNAL_TARGETS, LOCALTOOL + "filter_internal_targets.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_FILTER_IMPORTED_ELEMENTS, LOCALTOOL + "filter_imported_elements.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_FILTER_PROPERTIES, LOCALTOOL + "filter_properties.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_FILTER_TOP_LEVEL, LOCALTOOL + "filter_top_level.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_LINK_WITH_EDITOR, LOCALTOOL + "synced.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_SORT_OUTLINE, LOCALTOOL + "alpha_mode.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_REFRESH, LOCALTOOL + "refresh.gif"); //$NON-NLS-1$
-		
-		// Ant View Labels
-		declareRegistryImage(IAntUIConstants.IMG_ANT_PROJECT, OBJECT + "ant_buildfile.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_ANT_TARGET, OBJECT + "targetpublic_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_ANT_TARGET_INTERNAL, OBJECT + "targetinternal_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_ANT_DEFAULT_TARGET, OBJECT + "defaulttarget_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_ANT_TARGET_ERROR, OBJECT + "ant_target_err.gif"); //$NON-NLS-1$
-
-		//ANT objects
-		declareRegistryImage(IAntUIConstants.IMG_TAB_CLASSPATH, OBJECT + "classpath.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_ANT_TYPE, OBJECT + "type.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_ANT_TASKDEF, OBJECT + "taskdef_obj.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_ANT_MACRODEF, OBJECT + "macrodef_obj.gif"); //$NON-NLS-1$
-        declareRegistryImage(IAntUIConstants.IMG_ANT_IMPORT, OBJECT + "import_obj.gif"); //$NON-NLS-1$
-        declareRegistryImage(IAntUIConstants.IMG_ANT_ECLIPSE_RUNTIME_OBJECT, OBJECT + "eclipse_obj.gif"); //$NON-NLS-1$
-        
-		declareRegistryImage(IAntUIConstants.IMG_IMPORT_WIZARD_BANNER, WIZ + "importbuildfile_wiz.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_TAB_ANT_TARGETS, LOCALTOOL + "ant_targets.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_ANT_BUILD_TAB, OBJECT + "build_tab.gif"); //$NON-NLS-1$
-		
-		// Overlays
-		declareRegistryImage(IAntUIConstants.IMG_OVR_ERROR, OVR + "error_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_OVR_WARNING, OVR + "warning_co.gif"); //$NON-NLS-1$
-		declareRegistryImage(IAntUIConstants.IMG_OVR_IMPORT, OVR + "import_co.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(AntUIPlugin.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) {
-			AntUIPlugin.log(e);
-		}
-
-		try {
-			ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("c" + type, relPath)); //$NON-NLS-1$
-			if (id != null)
-				action.setHoverImageDescriptor(id);
-		} catch (MalformedURLException e) {
-			AntUIPlugin.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) {
-			AntUIPlugin.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/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIModelMessages.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIModelMessages.java
deleted file mode 100644
index 17f725e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIModelMessages.java
+++ /dev/null
@@ -1,32 +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.ant.internal.ui;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntUIModelMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.AntUIModelMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntUIModelMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIModelMessages.properties b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIModelMessages.properties
deleted file mode 100644
index b556eb8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIModelMessages.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
-###############################################################################
-
-ImageDescriptorRegistry.Allocating_image_for_wrong_display_1=Allocating image for wrong display
-
-AntUtil.6=Invalid property file entry: {0}
-AntUtil.7=Unable to generate Ant classpath
-AntUtil.0=Editor failed to open for {0}
-AntUtil.1=External Browser could not be opened
-AntUtil.2=Error reading launch configuration
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIPlugin.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIPlugin.java
deleted file mode 100644
index 21bb176..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIPlugin.java
+++ /dev/null
@@ -1,226 +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
- *     John-Mason P. Shackelford (john-mason.shackelford@pearson.com) - bug 53547
- *******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-
-import java.util.Locale;
-
-import org.eclipse.ant.internal.ui.editor.DecayCodeCompletionDataStructuresThread;
-import org.eclipse.ant.internal.ui.editor.text.AntEditorDocumentProvider;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.texteditor.ChainedPreferenceStore;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.osgi.framework.BundleContext;
-
-/**
- * The plug-in runtime class for the Ant UI plug-in.
- */
-public class AntUIPlugin extends AbstractUIPlugin {
-
-	/**
-	 * Status code indicating an unexpected internal error.
-	 * @since 2.1
-	 */
-	public static final int INTERNAL_ERROR = 120;		
-	
-	/**
-	 * The single instance of this plug-in runtime class.
-	 */
-	private static AntUIPlugin plugin;
-
-	/**
-	 * Unique identifier constant (value <code>"org.eclipse.ant.ui"</code>)
-	 * for the Ant UI plug-in.
-	 */
-	public static final String PI_ANTUI = "org.eclipse.ant.ui"; //$NON-NLS-1$
-	
-	private static final String EMPTY_STRING= ""; //$NON-NLS-1$
-	
-	/**
-	 * The combined preference store.
-	 * @since 3.1
-	 */
-	private IPreferenceStore fCombinedPreferenceStore;
-
-    private IDocumentProvider fDocumentProvider;
-
-	/** 
-	 * 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 Ant Core plug-in are required.
-	 * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
-	 * </p>
-	 */
-	public AntUIPlugin() {
-		super();
-		plugin = this;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		try {
-			AntUIImages.disposeImageDescriptorRegistry();
-			DecayCodeCompletionDataStructuresThread.cancel();
-		} finally {
-			super.stop(context);
-		}
-	}
-
-	/**
-	 * Returns this plug-in instance.
-	 *
-	 * @return the single instance of this plug-in runtime class
-	 */
-	public static AntUIPlugin getDefault() {
-		return plugin;
-	}
-	
-	/**
-	 * Convenience method which returns the unique identifier of this plugin.
-	 */
-	public static String getUniqueIdentifier() {
-		return PI_ANTUI;
-	}
-	
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		IStatus status= new Status(IStatus.ERROR, PI_ANTUI, INTERNAL_ERROR, "Error logged from Ant UI: ", t); //$NON-NLS-1$
-		log(status);
-	}
-	
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status 
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-	
-	/**
-	 * Writes the message to the plug-in's log
-	 * 
-	 * @param message the text to write to the log
-	 */
-	public static void log(String message, Throwable exception) {
-		IStatus status = newErrorStatus(message, exception);
-		log(status);
-	}
-	
-	/**
-	 * 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, IAntUIConstants.PLUGIN_ID, 0, message, exception);
-	}
-		
-	/**
-	 * 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 AntUIImages.initializeImageRegistry();
-	}
-	
-	/**
-	 * Returns the preference color, identified by the given preference.
-	 */
-	public static Color getPreferenceColor(String pref) {
-		return ColorManager.getDefault().getColor(PreferenceConverter.getColor(getDefault().getCombinedPreferenceStore(), pref));
-	}	
-	
-	/**
-	* 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 window or <code>null</code> if none
-	*/
-   public static IWorkbenchWindow getActiveWorkbenchWindow() {
-	   return getDefault().getWorkbench().getActiveWorkbenchWindow();
-   }
-   
-   /**
-	* Returns whether the current OS claims to be Mac
-	*/
-   public static boolean isMacOS() {
-		String osname= System.getProperty("os.name").toLowerCase(Locale.US); //$NON-NLS-1$
-		return osname.indexOf("mac") != -1; //$NON-NLS-1$
-   }
-   
-   /**
-	 * Returns a combined preference store, this store is read-only.
-	 * 
-	 * @return the combined preference store
-	 * 
-	 * @since 3.1
-	 */
-	public IPreferenceStore getCombinedPreferenceStore() {
-		if (fCombinedPreferenceStore == null) {
-			IPreferenceStore generalTextStore= EditorsUI.getPreferenceStore(); 
-			fCombinedPreferenceStore= new ChainedPreferenceStore(new IPreferenceStore[] { getPreferenceStore(), generalTextStore });
-		}
-		return fCombinedPreferenceStore;
-	}
-    
-   /**
-	 * Returns the document provider for use in the Ant editor.
-     *
-	 * @return the Ant editor document provider
-	 * 
-	 * @since 3.1
-	 */
-    public synchronized IDocumentProvider getDocumentProvider() {
-        if (fDocumentProvider == null)
-            fDocumentProvider= new AntEditorDocumentProvider();
-        return fDocumentProvider;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIPreferenceInitializer.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIPreferenceInitializer.java
deleted file mode 100644
index 7ee2d03..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUIPreferenceInitializer.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui;
-
-import org.eclipse.ant.internal.ui.editor.text.IAntEditorColorConstants;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.editors.text.EditorsUI;
-
-public class AntUIPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	public AntUIPreferenceInitializer() {
-		super();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore prefs = AntUIPlugin.getDefault().getPreferenceStore();
-		prefs.setDefault(IAntUIPreferenceConstants.ANT_FIND_BUILD_FILE_NAMES, "build.xml"); //$NON-NLS-1$
-		
-		prefs.setDefault(IAntUIPreferenceConstants.DOCUMENTATION_URL, "http://ant.apache.org/manual"); //$NON-NLS-1$
-		
-		EditorsUI.useAnnotationsPreferencePage(prefs);
-		EditorsUI.useQuickDiffPreferencePage(prefs);
-		if (AntUIPlugin.isMacOS()) {
-			//the mac does not have a tools.jar Bug 40778
-			prefs.setDefault(IAntUIPreferenceConstants.ANT_TOOLS_JAR_WARNING, false);
-		} else {
-			prefs.setDefault(IAntUIPreferenceConstants.ANT_TOOLS_JAR_WARNING, true);
-		}
-		
-		prefs.setDefault(IAntUIPreferenceConstants.ANT_ERROR_DIALOG, true);
-		
-		prefs.setDefault(IAntUIPreferenceConstants.ANTEDITOR_FILTER_INTERNAL_TARGETS, false);
-		prefs.setDefault(IAntUIPreferenceConstants.ANTEDITOR_FILTER_IMPORTED_ELEMENTS, false);
-		prefs.setDefault(IAntUIPreferenceConstants.ANTEDITOR_FILTER_PROPERTIES, false);
-		prefs.setDefault(IAntUIPreferenceConstants.ANTEDITOR_FILTER_TOP_LEVEL, false);
-
-		// Ant Editor color preferences
-		PreferenceConverter.setDefault(prefs, IAntEditorColorConstants.TEXT_COLOR, IAntEditorColorConstants.DEFAULT);
-		PreferenceConverter.setDefault(prefs, IAntEditorColorConstants.PROCESSING_INSTRUCTIONS_COLOR, IAntEditorColorConstants.PROC_INSTR);
-		PreferenceConverter.setDefault(prefs, IAntEditorColorConstants.STRING_COLOR, IAntEditorColorConstants.STRING);
-		PreferenceConverter.setDefault(prefs, IAntEditorColorConstants.TAG_COLOR, IAntEditorColorConstants.TAG);
-		PreferenceConverter.setDefault(prefs, IAntEditorColorConstants.XML_COMMENT_COLOR, IAntEditorColorConstants.XML_COMMENT);
-		PreferenceConverter.setDefault(prefs, IAntEditorColorConstants.XML_DTD_COLOR, IAntEditorColorConstants.XML_DTD);
-		
-		PreferenceConverter.setDefault(prefs, IAntUIPreferenceConstants.CONSOLE_ERROR_COLOR, new RGB(255, 0, 0)); // red - exactly the same as debug Console
-		PreferenceConverter.setDefault(prefs, IAntUIPreferenceConstants.CONSOLE_WARNING_COLOR, new RGB(250, 100, 0)); // orange
-		PreferenceConverter.setDefault(prefs, IAntUIPreferenceConstants.CONSOLE_INFO_COLOR, new RGB(0, 0, 255)); // blue
-		PreferenceConverter.setDefault(prefs, IAntUIPreferenceConstants.CONSOLE_VERBOSE_COLOR, new RGB(0, 200, 125)); // green
-		PreferenceConverter.setDefault(prefs, IAntUIPreferenceConstants.CONSOLE_DEBUG_COLOR, new RGB(0, 0, 0)); // black
-		
-		AntEditorPreferenceConstants.initializeDefaultValues(prefs);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUtil.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUtil.java
deleted file mode 100644
index 5985ff2..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/AntUtil.java
+++ /dev/null
@@ -1,731 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.net.MalformedURLException;
-import java.net.URL;
-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 java.util.StringTokenizer;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.util.FileUtils;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.internal.core.AntCoreUtil;
-import org.eclipse.ant.internal.ui.editor.AntEditor;
-import org.eclipse.ant.internal.ui.launchConfigurations.AntHomeClasspathEntry;
-import org.eclipse.ant.internal.ui.launchConfigurations.IAntLaunchConfigurationConstants;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntModel;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.internal.ui.model.IAntModel;
-import org.eclipse.ant.internal.ui.model.LocationProvider;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-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.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.console.FileLink;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry2;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.console.IHyperlink;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * General utility class dealing with Ant build files
- */
-public final class AntUtil {
-	public static final String ATTRIBUTE_SEPARATOR = ","; //$NON-NLS-1$;
-	public static final char ANT_CLASSPATH_DELIMITER= '*';
-	public static final String ANT_HOME_CLASSPATH_PLACEHOLDER= "G"; //$NON-NLS-1$
-	public static final String ANT_GLOBAL_USER_CLASSPATH_PLACEHOLDER= "UG"; //$NON-NLS-1$
-	/**
-	 * No instances allowed
-	 */
-	private AntUtil() {
-		super();
-	}
-	
-	/**
-	 * Returns a single-string of the strings for storage.
-	 * 
-	 * @param strings the array of strings
-	 * @return a single-string representation of the strings or
-	 * <code>null</code> if the array is empty.
-	 */
-	public static String combineStrings(String[] strings) {
-		if (strings.length == 0)
-			return null;
-
-		if (strings.length == 1)
-			return strings[0];
-
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < strings.length - 1; i++) {
-			buf.append(strings[i]);
-			buf.append(ATTRIBUTE_SEPARATOR);
-		}
-		buf.append(strings[strings.length - 1]);
-		return buf.toString();
-	}
-
-	/**
-	 * Returns an array of targets to be run, or <code>null</code> if none are
-	 * specified (indicating the default target or implicit target should be run).
-	 *
-	 * @param configuration launch configuration
-	 * @return array of target names, or <code>null</code>
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static String[] getTargetNames(ILaunchConfiguration configuration) throws CoreException {
-        String attribute= null;
-        if (IAntLaunchConfigurationConstants.ID_ANT_BUILDER_LAUNCH_CONFIGURATION_TYPE.equals(configuration.getType().getIdentifier())) {
-            attribute= getTargetNamesForAntBuilder(configuration);
-        }
-        if (attribute == null) {
-            attribute = configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, (String) null);
-            if (attribute == null) {
-                return null;
-            } 
-        }
-		
-		return AntUtil.parseRunTargets(attribute);
-	}
-	
-	private static String getTargetNamesForAntBuilder(ILaunchConfiguration configuration) throws CoreException {
-        String buildType= ExternalToolBuilder.getBuildType();
-        String targets= null;
-        if (IExternalToolConstants.BUILD_TYPE_AUTO.equals(buildType)) {
-            targets= configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_AUTO_TARGETS, (String)null);
-        } else if (IExternalToolConstants.BUILD_TYPE_CLEAN.equals(buildType)) {
-            targets = configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_CLEAN_TARGETS, (String) null);
-        } else if (IExternalToolConstants.BUILD_TYPE_FULL.equals(buildType)) {
-            targets = configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_AFTER_CLEAN_TARGETS, (String) null);
-        } else if (IExternalToolConstants.BUILD_TYPE_INCREMENTAL.equals(buildType)) {
-            targets = configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_MANUAL_TARGETS, (String) null);
-        }
-       
-        return targets;
-    }
-
-    /**
-	 * Returns a map of properties to be defined for the build, or
-	 * <code>null</code> if none are specified (indicating no additional
-	 * properties specified for the build).
-	 *
-	 * @param configuration launch configuration
-	 * @return map of properties (name --> value), or <code>null</code>
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static Map getProperties(ILaunchConfiguration configuration) throws CoreException {
-		Map map = configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTIES, (Map) null);
-		return map;
-	}
-	
-	/**
-	 * Returns a String specifying the Ant home to use for the build.
-	 *
-	 * @param configuration launch configuration
-	 * @return String specifying Ant home to use
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static String getAntHome(ILaunchConfiguration configuration) throws CoreException {
-		IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedRuntimeClasspath(configuration);
-		for (int i = 0; i < entries.length; i++) {
-			IRuntimeClasspathEntry entry = entries[i];
-			if (entry.getType() == IRuntimeClasspathEntry.OTHER) {
-				IRuntimeClasspathEntry2 entry2 = (IRuntimeClasspathEntry2)entry;
-				if (entry2.getTypeId().equals(AntHomeClasspathEntry.TYPE_ID)) {
-					return ((AntHomeClasspathEntry)entry2).getAntHome();
-				}
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns an array of property files to be used for the build, or
-	 * <code>null</code> if none are specified (indicating no additional
-	 * property files specified for the build).
-	 *
-	 * @param configuration launch configuration
-	 * @return array of property file names, or <code>null</code>
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static String[] getPropertyFiles(ILaunchConfiguration configuration) throws CoreException {
-		String attribute = configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTY_FILES, (String) null);
-		if (attribute == null) {
-			return null;
-		}
-		String[] propertyFiles= AntUtil.parseString(attribute, ","); //$NON-NLS-1$
-		for (int i = 0; i < propertyFiles.length; i++) {
-			String propertyFile = propertyFiles[i];
-			propertyFile= expandVariableString(propertyFile, AntUIModelMessages.getString("AntUtil.6")); //$NON-NLS-1$ //$NON-NLS-2$
-			propertyFiles[i]= propertyFile;
-		}
-		return propertyFiles;
-	}
-	
-	public static AntTargetNode[] getTargets(String path, ILaunchConfiguration config) throws CoreException {
-		File buildfile= getBuildFile(path);
-		if (buildfile == null) {
-		    return null;
-		}
-		URL[] urls= getCustomClasspath(config);
-		//no lexical, no position, no task
-		IAntModel model= getAntModel(buildfile, urls, false, false, false);
-		
-		model.setProperties(getAllProperties(config));
-		model.setPropertyFiles(getPropertyFiles(config));
-		AntProjectNode project= model.getProjectNode(); //forces a reconcile
-		model.dispose();
-		return getTargets(project);
-	}
-	
-    private static Map getAllProperties(ILaunchConfiguration config) throws CoreException {
-        String[] arguments = ExternalToolsUtil.getArguments(config);
-		Map properties= new HashMap();
-		if (arguments != null) {
-		    AntCoreUtil.processMinusDProperties(AntCoreUtil.getArrayList(arguments), properties);
-		}
-		Map configProperties= getProperties(config);
-		if (configProperties != null) {
-		    Iterator keys= configProperties.keySet().iterator();
-		    while (keys.hasNext()) {
-		        String name = (String) keys.next();
-		        if (properties.get(name) == null) {
-		            properties.put(name, configProperties.get(name));
-		        }
-		    }
-		}
-		return properties;
-    }
-
-    private static AntTargetNode[] getTargets(AntProjectNode project) {
-        if (project == null || !project.hasChildren()) {
-		    return null;
-		}
-		List targets= new ArrayList();
-		Iterator possibleTargets= project.getChildNodes().iterator();
-		while (possibleTargets.hasNext()) {
-			AntElementNode node= (AntElementNode)possibleTargets.next();
-			if (node instanceof AntTargetNode) {
-				targets.add(node);
-			}
-		}
-		if (targets.size() == 0) {
-		    return null;
-		}
-		return (AntTargetNode[])targets.toArray(new AntTargetNode[targets.size()]);
-    }
-
-    public static AntTargetNode[] getTargets(String path) {
-		File buildfile= getBuildFile(path);
-		if (buildfile == null) {
-		    return null;
-		}
-		//tasks and position info but no lexical info
-		IAntModel model= getAntModel(buildfile, null, false, true, true);
-		AntProjectNode project= model.getProjectNode();
-		if (project == null) {
-			model.dispose();
-			return null;
-		}
-		return getTargets(project);
-	}
-	
-	public static IAntModel getAntModel(String buildFilePath, boolean needsLexicalResolution, boolean needsPositionResolution, boolean needsTaskResolution) {
-	    IAntModel model= getAntModel(getBuildFile(buildFilePath), null, needsLexicalResolution, needsPositionResolution, needsTaskResolution);
-	    return model;   
-	}
-	
-	/**
-	 * Return a buildfile from the specified location.
-	 * If there isn't one return null.
-	 */
-	private static File getBuildFile(String path) {
-		File buildFile = new File(path);
-		if (!buildFile.isFile() || !buildFile.exists()) { 
-			return null;
-		}
-
-		return buildFile;
-	}
-	
-	private static IAntModel getAntModel(final File buildFile, URL[] urls, boolean needsLexical, boolean needsPosition, boolean needsTask) {
-	    if (buildFile == null || !buildFile.exists()) {
-	        return null;
-	    }
-		IDocument doc= getDocument(buildFile);
-		if (doc == null) {
-			return null;
-		}
-		final IFile file= getFileForLocation(buildFile.getAbsolutePath(), null);
-		LocationProvider provider= new LocationProvider(null) {
-		    /* (non-Javadoc)
-		     * @see org.eclipse.ant.internal.ui.model.LocationProvider#getFile()
-		     */
-		    public IFile getFile() {
-		        return file;
-		    }
-			/* (non-Javadoc)
-			 * @see org.eclipse.ant.internal.ui.model.LocationProvider#getLocation()
-			 */
-			public IPath getLocation() {
-			    if (file == null) {
-			        return new Path(buildFile.getAbsolutePath());   
-			    } 
-			    return file.getLocation();
-			}
-		};
-		IAntModel model= new AntModel(doc, null, provider, needsLexical, needsPosition, needsTask);
-		
-		if (urls != null) {
-		    model.setClassLoader(AntCorePlugin.getPlugin().getNewClassLoader(urls));
-		}
-		return model;
-	}
-	
-	private static IDocument getDocument(File buildFile) {
-	    InputStream in= null;
-	    try {
-            in = new FileInputStream(buildFile);
-            String content= getStreamContentAsString(in);
-            if (content != null) {
-                return new Document(content);
-            }
-            return null;
-        } catch (FileNotFoundException e) {
-            return null;
-        } finally {
-	        if (in != null) {
-	            try {
-					in.close();
-				} catch (IOException x) {
-				}
-	        }
-        }
-	}
-	
-	private static String getStreamContentAsString(InputStream inputStream) {
-		InputStreamReader reader;
-		try {
-			reader = new InputStreamReader(inputStream, ResourcesPlugin.getEncoding());
-		} catch (UnsupportedEncodingException e) {
-			AntUIPlugin.log(e);
-			return ""; //$NON-NLS-1$
-		}
-		BufferedReader bufferedReader= null;
-		try {
-		    bufferedReader= new BufferedReader(reader);
-		    return getReaderContentAsString(bufferedReader);
-		} finally {
-		    try {
-                bufferedReader.close();
-            } catch (IOException e1) {
-            }
-		}
-	}
-	
-	private static String getReaderContentAsString(BufferedReader bufferedReader) {
-		StringBuffer result = new StringBuffer();
-		try {
-		    char[] readBuffer= new char[2048];
-			int n= bufferedReader.read(readBuffer);
-			while (n > 0) {
-			    result.append(readBuffer, 0, n);
-				n= bufferedReader.read(readBuffer);
-			}
-		} catch (IOException e) {
-			AntUIPlugin.log(e);
-			return null;
-		}
-
-		return result.toString();
-	}
-	
-	/**
-	 * Returns the list of urls that define the custom classpath for the Ant
-	 * build, or <code>null</code> if the global classpath is to be used.
-	 *
-	 * @param config launch configuration
-	 * @return a list of <code>URL</code>
-	 *
-	 * @throws CoreException if file does not exist, IO problems, or invalid format.
-	 */
-	public static URL[] getCustomClasspath(ILaunchConfiguration config) throws CoreException {
-		boolean useDefault = config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, true);
-		if (useDefault) {
-			return null;
-		}
-		IRuntimeClasspathEntry[] unresolved = JavaRuntime.computeUnresolvedRuntimeClasspath(config);
-		// don't consider bootpath entries
-		List userEntries = new ArrayList(unresolved.length);
-		for (int i = 0; i < unresolved.length; i++) {
-			IRuntimeClasspathEntry entry = unresolved[i];
-			if (entry.getClasspathProperty() == IRuntimeClasspathEntry.USER_CLASSES) {
-				userEntries.add(entry);
-			}
-		}
-		IRuntimeClasspathEntry[] entries = JavaRuntime.resolveRuntimeClasspath((IRuntimeClasspathEntry[])userEntries.toArray(new IRuntimeClasspathEntry[userEntries.size()]), config);
-		URL[] urls = new URL[entries.length];
-		for (int i = 0; i < entries.length; i++) {
-			IRuntimeClasspathEntry entry = entries[i];
-			try {
-				urls[i] = new URL("file:"+entry.getLocation()); //$NON-NLS-1$
-			} catch (MalformedURLException e) {
-				throw new CoreException(new Status(IStatus.ERROR, AntUIPlugin.getUniqueIdentifier(), AntUIPlugin.INTERNAL_ERROR, AntUIModelMessages.getString("AntUtil.7"), e)); //$NON-NLS-1$
-			}
-		}
-		return urls;		
-	}
-
-	private static String expandVariableString(String variableString, String invalidMessage) throws CoreException {
-		String expandedString = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(variableString);
-		if (expandedString == null || expandedString.length() == 0) {
-			String msg = MessageFormat.format(invalidMessage, new String[] {variableString});
-			throw new CoreException(new Status(IStatus.ERROR, IAntUIConstants.PLUGIN_ID, 0, msg, null));
-		} 
-		
-		return expandedString;
-	}
-	
-	/**
-	 * Returns the list of target names to run
-	 * 
-	 * @param extraAttibuteValue the external tool's extra attribute value
-	 * 		for the run targets key.
-	 * @return a list of target names
-	 */
-	public static String[] parseRunTargets(String extraAttibuteValue) {
-		return parseString(extraAttibuteValue, ATTRIBUTE_SEPARATOR);
-	}
-	
-	/**
-	 * Returns the list of Strings that were delimiter separated.
-	 * 
-	 * @param delimString the String to be tokenized based on the delimiter
-	 * @return a list of Strings
-	 */
-	public static String[] parseString(String delimString, String delim) {
-		if (delimString == null) {
-			return new String[0];
-		}
-		
-		// Need to handle case where separator character is
-		// actually part of the target name!
-		StringTokenizer tokenizer = new StringTokenizer(delimString, delim);
-		String[] results = new String[tokenizer.countTokens()];
-		for (int i = 0; i < results.length; i++) {
-			results[i] = tokenizer.nextToken();
-		}
-		
-		return results;
-	}
-	
-	/**
-	 * Returns an IFile with the given fully qualified path (relative to the workspace root).
-	 * The returned IFile may or may not exist.
-	 */
-	public static IFile getFile(String fullPath) {
-		IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-		return root.getFile(new Path(fullPath));
-	}
-
-	public static IHyperlink getTaskLink(String path, File buildFileParent) {
-		path = path.trim();
-		if (path.length() == 0) {
-			return null;
-		}
-		if (path.startsWith("file:")) { //$NON-NLS-1$
-			// remove "file:"
-			path= path.substring(5, path.length());
-		}
-		// format is file:F:L: where F is file path, and L is line number
-		int index = path.lastIndexOf(':');
-		if (index == path.length() - 1) {
-			// remove trailing ':'
-			path = path.substring(0, index);
-			index = path.lastIndexOf(':');
-		}
-		// split file and line number
-		String fileName = path.substring(0, index);
-		IFile file = getFileForLocation(fileName, buildFileParent);
-		if (file != null) {
-			try {
-				String lineNumber = path.substring(index + 1);
-				int line = Integer.parseInt(lineNumber);
-				return new FileLink(file, null, -1, -1, line);
-			} catch (NumberFormatException e) {
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the workspace file associated with the given path in the
-	 * local file system, or <code>null</code> if none.
-	 * If the path happens to be a relative path, then the path is interpreted as
-	 * relative to the specified parent file.
-	 * 
-	 * Attempts to handle linked files; the first found linked file with the correct
-	 * path is returned.
-	 *   
-	 * @param path
-	 * @param buildFileParent
-	 * @return file or <code>null</code>
-	 * @see org.eclipse.core.resources.IWorkspaceRoot#findFilesForLocation(IPath)
-	 */
-	public static IFile getFileForLocation(String path, File buildFileParent) {
-		IPath filePath= new Path(path);
-		IFile file = null;
-		IFile[] files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(filePath);
-		if (files.length > 0) {
-			file= files[0];
-		}
-		if (file == null) {
-			//relative path
-			File relativeFile= null;
-			try {
-				//this call is ok if buildFileParent is null
-				relativeFile= FileUtils.newFileUtils().resolveFile(buildFileParent, path);
-				filePath= new Path(relativeFile.getAbsolutePath());
-				files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(filePath);
-				if (files.length > 0) {
-					file= files[0];
-				} else {
-					return null;
-				}
-			} catch (BuildException be) {
-				return null;
-			}
-		}
-		
-		if (file.exists()) {
-			return file;
-		} 
-		File ioFile= file.getLocation().toFile();
-		if (ioFile.exists()) {//needs to handle case insensitivity on WINOS
-			try {
-				files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(ioFile.getCanonicalPath()));
-				if (files.length > 0) {
-					return files[0];
-				}
-			} catch (IOException e) {
-			}			
-		}
-			
-		return null;
-	}
-
-	/**
-	 * Migrates the classpath in the given configuration from the old format
-	 * to the new foramt. The old format is not preserved. Instead, the default
-	 * classpath will be used. However, ANT_HOME settings are preserved.
-	 * 
-	 * @param configuration a configuration to migrate
-	 * @throws CoreException if unable to migrate
-	 * @since 3.0
-	 */
-	public static void migrateToNewClasspathFormat(ILaunchConfiguration configuration) throws CoreException {
-		String oldClasspath = configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_CUSTOM_CLASSPATH, (String)null);
-		String oldAntHome = configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_HOME, (String)null);
-		String provider = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER, (String)null);
-		if (oldClasspath != null || oldAntHome != null || provider == null) {
-			ILaunchConfigurationWorkingCopy workingCopy = null;
-			if (configuration.isWorkingCopy()) {
-				workingCopy = (ILaunchConfigurationWorkingCopy) configuration;
-			} else {
-				workingCopy = configuration.getWorkingCopy();
-			}
-			workingCopy.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_CUSTOM_CLASSPATH, (String)null);
-			workingCopy.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_HOME, (String)null);
-			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER, "org.eclipse.ant.ui.AntClasspathProvider"); //$NON-NLS-1$
-			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, true);
-			if (oldAntHome != null) {
-				IRuntimeClasspathEntry[] entries = JavaRuntime.computeUnresolvedRuntimeClasspath(workingCopy);
-				List mementos = new ArrayList(entries.length);
-				for (int i = 0; i < entries.length; i++) {
-					IRuntimeClasspathEntry entry = entries[i];
-					if (entry.getType() == IRuntimeClasspathEntry.OTHER) {
-						IRuntimeClasspathEntry2 entry2 = (IRuntimeClasspathEntry2) entry;
-						if (entry2.getTypeId().equals(AntHomeClasspathEntry.TYPE_ID)) {
-							AntHomeClasspathEntry homeEntry = new AntHomeClasspathEntry(oldAntHome);
-							mementos.add(homeEntry.getMemento());
-							continue;
-						}
-					}
-					mementos.add(entry.getMemento());
-				}
-				workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
-				workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, mementos);
-			}
-			workingCopy.doSave();
-		}
-	}
-
-    private static int getOffset(int line, int column, ITextEditor editor) {
-    	IDocumentProvider provider= editor.getDocumentProvider();
-    	IEditorInput input= editor.getEditorInput();
-    	try {
-    		provider.connect(input);
-    	} catch (CoreException e) {
-    		return -1;
-    	}
-    	try {
-    		IDocument document= provider.getDocument(input);
-    		if (document != null) {
-    			if (column > -1) {
-    				 //column marks the length..adjust to 0 index and to be within the element's source range
-    				return document.getLineOffset(line - 1) + column - 1 - 2;
-    			} 
-    			return document.getLineOffset(line - 1);
-    		}
-    	} catch (BadLocationException e) {
-    	} finally {
-    		provider.disconnect(input);
-    	}
-    	return -1;
-    }
-
-    /**
-     * Opens the given editor on the buildfile of the provided node and selects that node in the editor.
-     *
-     * @param page the page to open the editor in
-     * @param editor the editor descriptor, or <code>null</code> for the system editor
-     * @param node the node from the buildfile to open and then select in the editor
-     */
-    public static void openInEditor(IWorkbenchPage page, IEditorDescriptor editorDescriptor, AntElementNode node) {
-    	IEditorPart editorPart= null;
-    	IFile fileResource = node.getIFile();
-    	try {
-    		if (editorDescriptor == null) {
-    			editorPart= page.openEditor(new FileEditorInput(fileResource), IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-    		} else {
-    			editorPart= page.openEditor(new FileEditorInput(fileResource), editorDescriptor.getId());
-    		}
-    	} catch (PartInitException e) {
-    		AntUIPlugin.log(MessageFormat.format(AntUIModelMessages.getString("AntUtil.0"), new String[]{fileResource.getLocation().toOSString()}), e); //$NON-NLS-1$
-    	}
-    	
-    	if (editorPart instanceof AntEditor) {
-    	    AntEditor editor= (AntEditor)editorPart;
-    		if (node.getImportNode() != null) {	
-    			AntModel model= editor.getAntModel();
-    			AntProjectNode project= model.getProjectNode();
-    			if (project == null) {
-    				return;
-    			}
-    			int[] info= node.getExternalInfo();
-    			int offset= getOffset(info[0], info[1], editor);
-    			node= project.getNode(offset);
-    		}
-    		editor.setSelection(node, true);
-    	}
-    }
-
-    /**
-     * Opens an editor on the buildfile of the provided node and selects that node in the editor.
-     * 
-     * @param page the page to open the editor in
-     * @param node the node from the buildfile to open and then select in the editor
-     */
-    public static void openInEditor(IWorkbenchPage page, AntElementNode node) {
-    	IFile file= node.getIFile();
-    	IEditorDescriptor editorDesc;
-        try {
-            editorDesc = IDE.getEditorDescriptor(file);
-        } catch (PartInitException e) {
-           return;
-        }
-        openInEditor(page, editorDesc, node);
-    }
-    
-    /**
-     * Opens an external browser on the provided <code>urlString</code>
-     * @param urlString The url to open
-     * @param shell the shell
-     * @param errorDialogTitle the title of any error dialog
-     */
-    public static void openBrowser(final String  urlString, final Shell shell, final String errorDialogTitle) {
-    	shell.getDisplay().syncExec(new Runnable() {
-    		public void run() {
-    			String platform= SWT.getPlatform();
-    			boolean succeeded= true;
-    			if ("motif".equals(platform) || "gtk".equals(platform)) { //$NON-NLS-1$ //$NON-NLS-2$
-    				Program program= Program.findProgram("html"); //$NON-NLS-1$
-    				if (program == null) {
-    					program= Program.findProgram("htm"); //$NON-NLS-1$
-    				}
-    				if (program != null) {
-    					succeeded= program.execute(urlString.toString());
-    				}
-    			} else {
-    				succeeded= Program.launch(urlString.toString());
-    			}
-    			if (!succeeded) {
-    				MessageDialog.openInformation(shell, errorDialogTitle, AntUIModelMessages.getString("AntUtil.1")); //$NON-NLS-1$
-    			}
-    		}
-    	});
-	}
-    
-    public static boolean isSeparateJREAntBuild(ILaunchConfiguration configuration) {
-    	boolean separateJRE= true;
-		try {
-			//always null for same JRE
-			separateJRE = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, (String)null) != null;
-		} catch (CoreException e) {
-			AntUIPlugin.log(AntUIModelMessages.getString("AntUtil.2"), e); //$NON-NLS-1$
-		}
-    	
-		return separateJRE;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/ColorManager.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/ColorManager.java
deleted file mode 100644
index 72c4ef1..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/ColorManager.java
+++ /dev/null
@@ -1,58 +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.ant.internal.ui;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.jface.text.source.ISharedTextColors;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-
-/**
- * Generic color manager.
- */
-public class ColorManager implements ISharedTextColors {	
-	
-	private static ColorManager fgColorManager;
-	
-	private ColorManager() {
-	}
-	
-	public static ColorManager getDefault() {
-		if (fgColorManager == null) {
-			fgColorManager= new ColorManager();
-		}
-		return fgColorManager;
-	}
-	
-	protected Map fColorTable= new HashMap(10);
-	
-	public Color getColor(RGB rgb) {
-		Color color= (Color) fColorTable.get(rgb);
-		if (color == null) {
-			color= new Color(Display.getCurrent(), rgb);
-			fColorTable.put(rgb, color);
-		}
-		return color;
-	}
-	
-	public void dispose() {
-		Iterator e= fColorTable.values().iterator();
-		while (e.hasNext()) {
-			((Color) e.next()).dispose();
-		}
-	}
-}
-
-
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIConstants.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIConstants.java
deleted file mode 100644
index 8e27861..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIConstants.java
+++ /dev/null
@@ -1,128 +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
- *     John-Mason P. Shackelford (john-mason.shackelford@pearson.com) - bug 49380, 49445, bug 53547
- *******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-/**
- * Defines the constants available for client use.
- * <p>
- * This interface is not intended to be extended or implemented by clients.
- * </p>
- */
-public interface IAntUIConstants {
-	/**
-	 * Plugin identifier for Ant ui(value <code>org.eclipse.ant.ui</code>).
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.ant.ui"; //$NON-NLS-1$;
-	
-
-	// ------- Views -------
-
-	/**
-	 * Ant View identifier (value <code>org.eclipse.ant.ui.AntView</code>).
-	 */
-	public static final String ANT_VIEW_ID = PLUGIN_ID + ".AntView"; //$NON-NLS-1$
-
-	// ------- Images -------
-	/**
-	 * Main tab image.
-	 */
-	public static final String IMG_TAB_MAIN = PLUGIN_ID + ".IMG_TAB_MAIN"; //$NON-NLS-1$
-
-	public static final String IMG_PROPERTY = PLUGIN_ID + ".IMG_PROPERTY"; //$NON-NLS-1$
-	
-	public static final String IMG_TAB_ANT_TARGETS = PLUGIN_ID + ".IMG_TAB_ANT_TARGETS"; //$NON-NLS-1$
-	public static final String IMG_TAB_CLASSPATH = PLUGIN_ID + ".IMG_TAB_CLASSPATH"; //$NON-NLS-1$;
-	
-	//	Label images
-	 public static final String IMG_ANT= PLUGIN_ID + ".ant"; //$NON-NLS-1$
-	 public static final String IMG_ANT_PROJECT= PLUGIN_ID + ".antProject"; //$NON-NLS-1$
-	 public static final String IMG_ANT_TARGET= PLUGIN_ID + ".antTarget"; //$NON-NLS-1$
-	 public static final String IMG_ANT_TARGET_INTERNAL = PLUGIN_ID + ".antPrivateTarget"; //$NON-NLS-1$
-	 public static final String IMG_ANT_DEFAULT_TARGET= PLUGIN_ID + ".antDefaultTarget"; //$NON-NLS-1$
-	 public static final String IMG_ANT_TARGET_ERROR = PLUGIN_ID + ".antTargetError"; //$NON-NLS-1$
-	 public static final String IMG_ANT_MACRODEF = PLUGIN_ID + ".antMacrodef"; //$NON-NLS-1$
-     public static final String IMG_ANT_IMPORT = PLUGIN_ID + ".antImport"; //$NON-NLS-1$
-     public static final String IMG_ANT_TASKDEF = PLUGIN_ID + ".antTaskdef"; //$NON-NLS-1$
-     public static final String IMG_ANT_ECLIPSE_RUNTIME_OBJECT = PLUGIN_ID + ".antEclipse"; //$NON-NLS-1$
-     
-     //editor toolbar
-     public static final String IMG_SEGMENT_EDIT = PLUGIN_ID + ".segmentEdit"; //$NON-NLS-1$
-     
-	/**
-	 * Icon for task proposal.
-	 */
-	public static final String IMG_TASK_PROPOSAL = PLUGIN_ID + ".html_tab_obj"; //$NON-NLS-1$
-	public static final String IMG_TEMPLATE_PROPOSAL= PLUGIN_ID + ".template_obj"; //$NON-NLS-1$
-	
-	// Action images
-	public static final String IMG_REMOVE= PLUGIN_ID + ".remove"; //$NON-NLS-1$
-	public static final String IMG_REMOVE_ALL= PLUGIN_ID + ".removeAll"; //$NON-NLS-1$
-	public static final String IMG_ADD= PLUGIN_ID + ".add"; //$NON-NLS-1$
-	public static final String IMG_RUN= PLUGIN_ID + ".run"; //$NON-NLS-1$
-	public static final String IMG_SEARCH= PLUGIN_ID + ".search"; //$NON-NLS-1$
-	public static final String IMG_FILTER_INTERNAL_TARGETS= PLUGIN_ID + ".filterInternalTargets"; //$NON-NLS-1$
-	public static final String IMG_FILTER_IMPORTED_ELEMENTS= PLUGIN_ID + ".filterImportedElements"; //$NON-NLS-1$
-	public static final String IMG_FILTER_PROPERTIES= PLUGIN_ID + ".filterProperties"; //$NON-NLS-1$
-	public static final String IMG_FILTER_TOP_LEVEL= PLUGIN_ID + ".filterTopLevel"; //$NON-NLS-1$
-	public static final String IMG_SORT_OUTLINE= PLUGIN_ID + ".sortOutline"; //$NON-NLS-1$
-	public static final String IMG_LINK_WITH_EDITOR= PLUGIN_ID + ".linkWithEditor"; //$NON-NLS-1$
-	public static final String IMG_REFRESH = PLUGIN_ID + ".IMG_REFRESH"; //$NON-NLS-1$
-	public static final String IMG_ANT_BUILD_TAB = PLUGIN_ID + ".IMG_BUILD_TAB"; //$NON-NLS-1$
-	
-	public static final String IMG_IMPORT_WIZARD_BANNER = PLUGIN_ID + ".IMG_IMPORT_WIZARD_BANNER"; //$NON-NLS-1$
-	 
-	//	Overlays
-	public static final String IMG_OVR_ERROR = PLUGIN_ID + ".ovrError";  //$NON-NLS-1$
-	public static final String IMG_OVR_WARNING = PLUGIN_ID + ".ovrWarning";  //$NON-NLS-1$
-	public static final String IMG_OVR_IMPORT = PLUGIN_ID + ".ovrImport"; //$NON-NLS-1$
-	
-	public static final String IMG_ANT_TYPE= PLUGIN_ID + ".type"; //$NON-NLS-1$
-
-	// -------- Status Codes -------------
-	
-	/**
-	 * Status code used by the 'Run Ant' status handler which is invoked when
-	 * the launch dialog is opened by the 'Run Ant' action.
-	 */
-	public static final int STATUS_INIT_RUN_ANT = 1000;
-	
-	public static final String DIALOGSTORE_LASTEXTJAR= PLUGIN_ID + ".lastextjar"; //$NON-NLS-1$
-	public static final String DIALOGSTORE_LASTEXTFILE= PLUGIN_ID + ".lastextfile"; //$NON-NLS-1$
-	public static final String DIALOGSTORE_LASTFOLDER= PLUGIN_ID + ".lastfolder"; //$NON-NLS-1$
-	public static final String DIALOGSTORE_LASTANTHOME= PLUGIN_ID + ".lastanthome"; //$NON-NLS-1$
-	
-	/**
-	 * Size of left-hand column for right-justified task name.
-	 * Used for Ant Build logging.
-	 * @see org.eclipse.ant.internal.ui.antsupport.logger.AntProcessBuildLogger#logMessage(String, BuildEvent, int)
-	  */
-	public static final int LEFT_COLUMN_SIZE = 15;
-	
-	/**
-	 * Id of the IProcessFactory to use when creating processes for remote Ant builds.
-	 */
-	public static final String REMOTE_ANT_PROCESS_FACTORY_ID= "org.eclipse.ant.ui.remoteAntProcessFactory"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean attribute indicating if an input handler should be supplied for the build
-	 * Default value is <code>true</code>.
-	 */
-	public static final String SET_INPUTHANDLER= PLUGIN_ID + "SET_INPUTHANDLER"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean attribute indicating if the default VM install should be used for the separate JRE build
-	 * Default value is <code>false</code> for backwards compatibility
-	 * 
-	 * @since 3.1
-	 */
-	public static final String ATTR_DEFAULT_VM_INSTALL= PLUGIN_ID + ".DEFAULT_VM_INSTALL"; //$NON-NLS-1$
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIHelpContextIds.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIHelpContextIds.java
deleted file mode 100644
index 0ab0346..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIHelpContextIds.java
+++ /dev/null
@@ -1,72 +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.ant.internal.ui;
-
-
-/**
- * Help context ids for the Ant ui
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- */
-public interface IAntUIHelpContextIds {
-	public static final String PREFIX = "org.eclipse.ant.ui."; //$NON-NLS-1$
-
-	// Actions
-	public static final String REMOVE_ALL_ACTION = PREFIX + "remove_all_action_context"; //$NON-NLS-1$
-	public static final String TARGET_MOVE_UP_ACTION = PREFIX + "target_move_up_action_context"; //$NON-NLS-1$
-	public static final String TARGET_MOVE_DOWN_ACTION = PREFIX + "target_move_down_action_context"; //$NON-NLS-1$
-	public static final String SEARCH_FOR_BUILDFILES_ACTION = PREFIX + "search_for_buildfiles_action_context"; //$NON-NLS-1$
-
-	public static final String EDIT_LAUNCH_CONFIGURATION_ACTION = PREFIX + "edit_launch_configuration_action_context"; //$NON-NLS-1$
-	public static final String RUN_TARGET_ACTION = PREFIX + "run_target_action_context"; //$NON-NLS-1$
-	public static final String REMOVE_PROJECT_ACTION = PREFIX + "remove_project_action_context"; //$NON-NLS-1$
-	public static final String ADD_BUILDFILE_ACTION = PREFIX + "add_buildfile_action_context"; //$NON-NLS-1$
-	public static final String REFRESH_BUILDFILE_ACTION = PREFIX + "refresh_buildfile_action_context"; //$NON-NLS-1$
-
-	// Dialogs
-	public static final String ADD_TYPE_DIALOG = PREFIX + "add_type_dialog_context"; //$NON-NLS-1$
-	public static final String EDIT_TYPE_DIALOG = PREFIX + "edit_type_dialog_context"; //$NON-NLS-1$
-	public static final String ADD_TASK_DIALOG = PREFIX + "add_task_dialog_context"; //$NON-NLS-1$
-	public static final String EDIT_TASK_DIALOG = PREFIX + "edit_task_dialog_context"; //$NON-NLS-1$
-	public static final String ADD_PROPERTY_DIALOG = PREFIX + "add_property_dialog_context"; //$NON-NLS-1$
-	public static final String EDIT_PROPERTY_DIALOG = PREFIX + "edit_property_dialog_context"; //$NON-NLS-1$
-	public static final String SEARCH_FOR_BUILDFILES_DIALOG = PREFIX + "search_for_buildfiles_dialog_context"; //$NON-NLS-1$
-	public static final String STATUS_DIALOG = PREFIX + "status_dialog_context"; //$NON-NLS-1$
-	public static final String MESSAGE_WITH_TOGGLE_DIALOG = PREFIX + "message_with_toggle_dialog_context"; //$NON-NLS-1$
-	public static final String TARGET_ORDER_DIALOG = PREFIX + "target_order_dialog_context"; //$NON-NLS-1$
-	
-	// Preference Pages
-	public static final String ANT_PREFERENCE_PAGE = PREFIX + "ant_preference_page_context"; //$NON-NLS-1$
-	public static final String ANT_RUNTIME_PREFERENCE_PAGE = PREFIX + "ant_runtime_preference_page_context"; //$NON-NLS-1$
-	public static final String ANT_EDITOR_PREFERENCE_PAGE = PREFIX + "ant_editor_preference_page_context"; //$NON-NLS-1$
-	public static final String ANT_TYPES_PAGE = PREFIX + "ant_types_page_context"; //$NON-NLS-1$
-	public static final String ANT_CLASSPATH_PAGE = PREFIX + "ant_classpath_page_context"; //$NON-NLS-1$
-	public static final String ANT_JRE_PAGE = PREFIX + "ant_jre_page_context"; //$NON-NLS-1$
-	
-	public static final String ANT_PROPERTIES_PAGE = PREFIX + "ant_properties_page_context"; //$NON-NLS-1$
-	public static final String ANT_TASKS_PAGE = PREFIX + "ant_tasks_page_context"; //$NON-NLS-1$
-	
-	// Views
-	public static final String ANT_VIEW = PREFIX + "ant_view_context"; //$NON-NLS-1$
-	
-	// Editor
-	public static final String ANT_EDITOR = PREFIX + "ant_editor_context"; //$NON-NLS-1$
-
-	//Launch configuration dialog tabs
-	public static final String ANT_MAIN_TAB = PREFIX + "ant_main_tab_context"; //$NON-NLS-1$
-	public static final String ANT_TARGETS_TAB = PREFIX + "ant_targets_tab_context"; //$NON-NLS-1$
-	public static final String ANT_PROPERTIES_TAB = PREFIX + "ant_properties_tab_context"; //$NON-NLS-1$
-	public static final String ANT_CLASSPATH_TAB = PREFIX + "ant_classpath_tab_context"; //$NON-NLS-1$
-	public static final String ANT_JRE_TAB = "ant_jre_tab_context"; //$NON-NLS-1$
-	public static final String ANT_BUILD_TAB = PREFIX + "ant_build_tab_context"; //$NON-NLS-1$
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIPreferenceConstants.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIPreferenceConstants.java
deleted file mode 100644
index 78ee53e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/IAntUIPreferenceConstants.java
+++ /dev/null
@@ -1,81 +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
- *     John-Mason P. Shackelford (john-mason.shackelford@pearson.com) - bug 53547
- *******************************************************************************/
-package org.eclipse.ant.internal.ui;
-
-/**
- * Constants used to identify user preferences.
- */
-public interface IAntUIPreferenceConstants {
-
-	public static final String ANTVIEW_INCLUDE_ERROR_SEARCH_RESULTS = "antview.includeErrorSearchResults"; //$NON-NLS-1$
-	public static final String ANTVIEW_LAST_SEARCH_STRING = "antview.lastSearchString"; //$NON-NLS-1$
-	public static final String ANTVIEW_LAST_WORKINGSET_SEARCH_SCOPE = "antview.lastSearchScope"; //$NON-NLS-1$
-	public static final String ANTVIEW_USE_WORKINGSET_SEARCH_SCOPE = "antview.useWorkingSetSearchScope"; //$NON-NLS-1$
-	
-	public static final String ANT_FIND_BUILD_FILE_NAMES = "ant.findBuildFileNames"; //$NON-NLS-1$
-	
-	/**
-	 * The symbolic names for colors for displaying the content in the Console
-	 * @see org.eclipse.jface.resource.ColorRegistry
-	 */
-	public static final String CONSOLE_ERROR_COLOR = "org.eclipse.ant.ui.errorColor"; //$NON-NLS-1$
-	public static final String CONSOLE_WARNING_COLOR = "org.eclipse.ant.ui.warningColor"; //$NON-NLS-1$
-	public static final String CONSOLE_INFO_COLOR = "org.eclipse.ant.ui.informationColor"; //$NON-NLS-1$
-	public static final String CONSOLE_VERBOSE_COLOR = "org.eclipse.ant.ui.verboseColor"; //$NON-NLS-1$
-	public static final String CONSOLE_DEBUG_COLOR = "org.eclipse.ant.ui.debugColor"; //$NON-NLS-1$	
-	
-	public static final String ANT_TOOLS_JAR_WARNING= "toolsJAR"; //$NON-NLS-1$
-	
-	public static final String ANT_ERROR_DIALOG= "errorDialog"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference identifier constant which specifies whether the Ant editor should
-	 * show internal targets in the Outline.
-	 */
-	public static final String ANTEDITOR_FILTER_INTERNAL_TARGETS= "anteditor.filterInternalTargets"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference identifier constant which specifies whether the Ant editor should
-	 * show imported elements in the Outline.
-	 */
-	public static final String ANTEDITOR_FILTER_IMPORTED_ELEMENTS = "anteditor.filterImportedElements"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference identifier constant which specifies whether the Ant editor should
-	 * show properties in the Outline.
-	 */
-	public static final String ANTEDITOR_FILTER_PROPERTIES= "anteditor.filterProperties"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference identifier constant which specifies whether the Ant editor should
-	 * show top level tasks/types in the Outline.
-	 */
-	public static final String ANTEDITOR_FILTER_TOP_LEVEL= "anteditor.filterTopLevel"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference identifier constant which specifies whether the Ant editor should
-	 * sort elements in the Outline.
-	 */
-	public static final String ANTEDITOR_SORT= "anteditor.sort"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference identifier constant which specifies whether the Ant Outline page 
-	 * links its selection to the active Ant editor.
-	 */
-	public static final String OUTLINE_LINK_WITH_EDITOR= "outline.linkWithEditor"; //$NON-NLS-1$
-	
-	/**
-	 * String preference identifier constant which specifies the URL for the location of the 
-	 * Ant documentation.
-	 */
-	public static final String DOCUMENTATION_URL = "documentation.url"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/ImageDescriptorRegistry.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/ImageDescriptorRegistry.java
deleted file mode 100644
index 107255b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/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.ant.internal.ui;
-
- 
-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(AntUIPlugin.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 == AntUIPlugin.getStandardDisplay(), AntUIModelMessages.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/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/AntConsoleColorProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/AntConsoleColorProvider.java
deleted file mode 100644
index ceeca46..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/AntConsoleColorProvider.java
+++ /dev/null
@@ -1,120 +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.ant.internal.ui.console;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.launchConfigurations.AntProcess;
-import org.eclipse.ant.internal.ui.launchConfigurations.AntStreamsProxy;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.console.ConsoleColorProvider;
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.console.IOConsoleOutputStream;
-
-
-public class AntConsoleColorProvider extends ConsoleColorProvider implements IPropertyChangeListener {
-
-    
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#getColor(java.lang.String)
-	 */
-	public Color getColor(String streamIdentifer) {
-		if (streamIdentifer.equals(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM)) {
-			return AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_INFO_COLOR);
-		}
-		if (streamIdentifer.equals(IDebugUIConstants.ID_STANDARD_ERROR_STREAM)) {
-			return AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_ERROR_COLOR);
-		}				
-		if (streamIdentifer.equals(AntStreamsProxy.ANT_DEBUG_STREAM)) {
-			return AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_DEBUG_COLOR);
-		}
-		if (streamIdentifer.equals(AntStreamsProxy.ANT_VERBOSE_STREAM)) {
-			return AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_VERBOSE_COLOR);
-		}
-		if (streamIdentifer.equals(AntStreamsProxy.ANT_WARNING_STREAM)) {
-			return AntUIPlugin.getPreferenceColor(IAntUIPreferenceConstants.CONSOLE_WARNING_COLOR);
-		}
-		return super.getColor(streamIdentifer);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#connect(org.eclipse.debug.core.model.IProcess, org.eclipse.debug.ui.console.IConsole)
-	 */
-	public void connect(IProcess process, IConsole console) {
-		//Both remote and local Ant builds are guaranteed to have
-		//an AntStreamsProxy. The remote Ant builds make use of the
-		// org.eclipse.debug.core.processFactories extension point
-		AntStreamsProxy proxy = (AntStreamsProxy)process.getStreamsProxy();
-		if (process instanceof AntProcess) {
-			((AntProcess)process).setConsole(console);
-		}
-		if (proxy != null) {
-			console.connect(proxy.getDebugStreamMonitor(), AntStreamsProxy.ANT_DEBUG_STREAM);
-			console.connect(proxy.getWarningStreamMonitor(), AntStreamsProxy.ANT_WARNING_STREAM);
-			console.connect(proxy.getVerboseStreamMonitor(), AntStreamsProxy.ANT_VERBOSE_STREAM);
-		}
-		
-		AntUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this);
-		super.connect(process, console);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#isReadOnly()
-	 */
-	public boolean isReadOnly() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-	    final String streamId = getStreamId(event.getProperty());
-		if (streamId != null) {
-			AntUIPlugin.getStandardDisplay().asyncExec(new Runnable() {
-				public void run() {
-				    IOConsoleOutputStream stream = getConsole().getStream(streamId);
-				    if (stream != null) {
-				        stream.setColor(getColor(streamId));
-				    }
-				}
-			});
-		}
-	}
-
-	private String getStreamId(String colorId) {
-		if (IAntUIPreferenceConstants.CONSOLE_DEBUG_COLOR.equals(colorId)) {
-			return AntStreamsProxy.ANT_DEBUG_STREAM;
-		} else if (IAntUIPreferenceConstants.CONSOLE_ERROR_COLOR.equals(colorId)) {
-			return IDebugUIConstants.ID_STANDARD_ERROR_STREAM;
-		} else if (IAntUIPreferenceConstants.CONSOLE_INFO_COLOR.equals(colorId)) {
-			return IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM;
-		} else if (IAntUIPreferenceConstants.CONSOLE_VERBOSE_COLOR.equals(colorId)) {
-			return AntStreamsProxy.ANT_VERBOSE_STREAM;
-		} else if (IAntUIPreferenceConstants.CONSOLE_WARNING_COLOR.equals(colorId)) {
-			return AntStreamsProxy.ANT_WARNING_STREAM;
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleColorProvider#disconnect()
-	 */
-	public void disconnect() {
-		AntUIPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(this);
-		super.disconnect();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/BuildFailedTracker.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/BuildFailedTracker.java
deleted file mode 100644
index 3d2fb8e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/BuildFailedTracker.java
+++ /dev/null
@@ -1,107 +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.ant.internal.ui.console;
-
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.ui.console.FileLink;
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.debug.ui.console.IConsoleLineTracker;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-
-/**
- * Generates hyperlinks for build failures
- */
-public class BuildFailedTracker implements IConsoleLineTracker {
-	
-	private IConsole fConsole;
-    private Pattern fErrorPattern;
-    private Pattern fErrorPattern2;
-	private boolean fBuildFailed= false;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#init(org.eclipse.debug.ui.console.IConsole)
-	 */
-	public void init(IConsole console) {
-		fConsole = console;
-		//BUILD FAILED: file:c:/1115/test/buildFiles/23638.xml:12:
-        fErrorPattern = Pattern.compile(".*BUILD FAILED"); //$NON-NLS-1$
-        fErrorPattern2 = Pattern.compile(".*\\.xml.*"); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#lineAppended(org.eclipse.jface.text.IRegion)
-	 */
-	public void lineAppended(IRegion line) {
-		try {
-			int lineOffset = line.getOffset();
-			int lineLength = line.getLength();
-			String text = fConsole.getDocument().get(lineOffset, lineLength);
-			String fileName = null;
-			String lineNumber = ""; //$NON-NLS-1$
-			int fileStart = -1;
-			int index= -1;
-            
-            Matcher errorMatcher = fErrorPattern.matcher(text);            
-            Matcher errorMatcher2 = fErrorPattern2.matcher(text);
-			if (errorMatcher.find()) {
-				fBuildFailed= true;
-			} else if (fBuildFailed && errorMatcher2.find()) {
-				index= 0;
-				fileStart= 0;
-			}
-			if (index > -1) {
-				index = text.indexOf("xml", index); //$NON-NLS-1$
-				if (index > 0) {
-					int numberStart= index + 4;
-					int numberEnd= text.indexOf(':', numberStart);
-					int fileEnd = index + 3;
-					if (numberStart > 0 && fileEnd > 0) {
-						fileName = text.substring(fileStart, fileEnd).trim();
-						if (numberEnd > 0) {
-							lineNumber = text.substring(numberStart, numberEnd).trim();
-						}
-					}
-				}
-			} 
-			if (fileName != null) {
-				int num = -1;
-				try {
-					num = Integer.parseInt(lineNumber);
-				} catch (NumberFormatException e) {
-				}
-				IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(fileName));
-				IFile file= null;
-				if (files.length > 0) {
-					file= files[0];
-				}
-				if (file != null && file.exists()) {
-					FileLink link = new FileLink(file, null, -1, -1, num);
-					fConsole.addLink(link, lineOffset + fileStart, lineLength - fileStart);
-				}
-			}
-		} catch (BadLocationException e) {
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#dispose()
-	 */
-	public void dispose() {
-		fConsole = null;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/EclipseJavacPatternMatcher.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/EclipseJavacPatternMatcher.java
deleted file mode 100644
index c94ce93..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/EclipseJavacPatternMatcher.java
+++ /dev/null
@@ -1,113 +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.ant.internal.ui.console;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.ui.console.FileLink;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.ui.console.IPatternMatchListenerDelegate;
-import org.eclipse.ui.console.PatternMatchEvent;
-import org.eclipse.ui.console.TextConsole;
-
-public class EclipseJavacPatternMatcher implements IPatternMatchListenerDelegate {
-
-    private TextConsole fConsole;
-
-    private Pattern fFileNamePattern = Pattern.compile("\\S+\\.java"); //$NON-NLS-1$
-
-    private Pattern fLineNumberPattern = Pattern.compile("\\d+"); //$NON-NLS-1$
-
-    public void connect(TextConsole console) {
-        fConsole = console;
-    }
-
-    public void disconnect() {
-        fConsole = null;
-    }
-
-    
-    /* [javac] 1. ERROR in /Users/kevinbarnes/Eclipse/runtime-workspace/org.eclipse.ant.core/src_ant/org/eclipse/ant/internal/core/ant/InternalAntRunner.java
-     * [javac]  (at line 66)
-     */
-    public void matchFound(PatternMatchEvent event) {
-        int eventOffset = event.getOffset();
-        int eventLength = event.getLength();
-        IDocument document = fConsole.getDocument();
-        String matchedText;
-        try {
-            matchedText = document.get(eventOffset, eventLength);
-        } catch (BadLocationException e) {
-            AntUIPlugin.log(e);
-            return;
-        }
-
-        Matcher matcher = null;
-        synchronized (fFileNamePattern) {
-            matcher = fFileNamePattern.matcher(matchedText);
-        }
-        String filePath = null;
-        if (matcher.find()) {
-            filePath = matcher.group();
-            eventOffset += matcher.start();
-            eventLength -= matcher.start();
-        }
-        if (filePath == null) {
-            return; 
-        }
-
-        IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(filePath));
-        IFile file = null;
-        if (files.length > 0) {
-            file = files[0];
-        }
-        if (file == null) {
-            return; 
-        }
-        
-        int lineNumber = getLineNumber(document, eventOffset);
-        
-        FileLink link = new FileLink(file, null, -1, -1, lineNumber);
-        try {
-            fConsole.addHyperlink(link, eventOffset, eventLength);
-        } catch (BadLocationException e) {
-            AntUIPlugin.log(e);
-        }
-    }
-
-    private int getLineNumber(IDocument document, int eventOffset) {
-        try {
-            int fileLine = document.getLineOfOffset(eventOffset);
-            IRegion region = document.getLineInformation(++fileLine);
-            String lineLine = document.get(region.getOffset(), region.getLength());
-            Matcher matcher = null;
-            synchronized (fLineNumberPattern) {
-                matcher = fLineNumberPattern.matcher(lineLine);
-            }
-            if (matcher.find()) {
-                String lineString = matcher.group();
-                return Integer.parseInt(lineString);
-            }
-            
-        } catch (BadLocationException e) {
-            AntUIPlugin.log(e);
-        }
-        return -1;
-    }
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/JavacPatternMatcher.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/JavacPatternMatcher.java
deleted file mode 100644
index 526b8a7..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/JavacPatternMatcher.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.ant.internal.ui.console;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.ui.console.FileLink;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.ui.console.IPatternMatchListenerDelegate;
-import org.eclipse.ui.console.PatternMatchEvent;
-import org.eclipse.ui.console.TextConsole;
-
-public class JavacPatternMatcher implements IPatternMatchListenerDelegate {
-
-    private TextConsole fConsole;
-    private Pattern fFilePattern = Pattern.compile("\\S+\\.java"); //$NON-NLS-1$
-
-    public void connect(TextConsole console) {
-        fConsole = console;
-    }
-
-    public void disconnect() {
-        fConsole = null;
-    }
-
-    /*
-     *     [javac] /Users/kevinbarnes/Eclipse/runtime-workspace/Foo/src/CarriageReturn.java:4: ';' expected
-     */
-    public void matchFound(PatternMatchEvent event) {
-        int eventOffset = event.getOffset();
-        int eventLength = event.getLength();
-        IDocument document = fConsole.getDocument();
-        String matchedText;
-        try {
-            matchedText = document.get(eventOffset, eventLength);
-        } catch (BadLocationException e) {
-            AntUIPlugin.log(e);
-            return;
-        }
-        
-        Matcher matcher = null;
-        synchronized (fFilePattern) {
-            matcher = fFilePattern.matcher(matchedText);
-        }
-        String filePath = null;
-        int lineNumber = -1;
-        if (matcher.find()) {
-            filePath = matcher.group();
-            int matchStart = matcher.start();
-            eventOffset += matchStart;
-            int matchEnd = matcher.end();
-            eventLength = matchEnd - matchStart;
-            
-            int numStart = matchEnd + 1;
-            int numEnd = matchedText.indexOf(':', numStart);
-            lineNumber = Integer.parseInt(matchedText.substring(numStart, numEnd));
-        }
-        if (filePath == null) {
-            return; 
-        }
-
-        IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(filePath));
-        IFile file = null;
-        if (files.length > 0) {
-            file = files[0];
-        }
-        if (file == null) {
-            return; 
-        }
-        
-        FileLink link = new FileLink(file, null, -1, -1, lineNumber);
-        try {
-            fConsole.addHyperlink(link, eventOffset, eventLength);
-        } catch (BadLocationException e) {
-            AntUIPlugin.log(e);
-        }
-        
-    }
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/JikesJavacPatternMatcher.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/JikesJavacPatternMatcher.java
deleted file mode 100644
index 6a6893a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/JikesJavacPatternMatcher.java
+++ /dev/null
@@ -1,114 +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.ant.internal.ui.console;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.ui.console.FileLink;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.ui.console.IPatternMatchListenerDelegate;
-import org.eclipse.ui.console.PatternMatchEvent;
-import org.eclipse.ui.console.TextConsole;
-
-public class JikesJavacPatternMatcher implements IPatternMatchListenerDelegate {
-
-    private TextConsole fConsole;
-    private Pattern fFilePattern = Pattern.compile("\\S*\\.java"); //$NON-NLS-1$
-    private Pattern fLineNumberPattern = Pattern.compile("\\d+"); //$NON-NLS-1$
-
-    public void connect(TextConsole console) {
-        fConsole = console;
-    }
-
-    public void disconnect() {
-        fConsole = null;
-    }
-
-    /*
-     *     [javac] Found 1 semantic error compiling "/Users/kevinbarnes/Eclipse/runtime-workspace/Foo/src/CarriageReturn.java":
-     *     [javac] 3.         System.out.printer("\r");
-     */
-    public void matchFound(PatternMatchEvent event) {
-        int eventOffset = event.getOffset();
-        int eventLength = event.getLength();
-        IDocument document = fConsole.getDocument();
-        String matchedText;
-        try {
-            matchedText = document.get(eventOffset, eventLength);
-        } catch (BadLocationException e) {
-            AntUIPlugin.log(e);
-            return;
-        }
-
-        Matcher matcher = null;
-        synchronized (fFilePattern) {
-            matcher = fFilePattern.matcher(matchedText);
-        }
-        String filePath = null;
-        if (matcher.find()) {
-            filePath = matcher.group();
-            filePath = filePath.substring(1); // pattern returns the first "
-            int matchStart = matcher.start() + 1;
-            eventOffset += matchStart;
-            eventLength = matcher.end() - matchStart;
-        }
-        if (filePath == null) {
-            return; 
-        }
-
-        IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(filePath));
-        IFile file = null;
-        if (files.length > 0) {
-            file = files[0];
-        }
-        if (file == null) {
-            return; 
-        }
-        
-        int lineNumber = getLineNumber(document, eventOffset);
-        
-        FileLink link = new FileLink(file, null, -1, -1, lineNumber);
-        try {
-            fConsole.addHyperlink(link, eventOffset, eventLength);
-        } catch (BadLocationException e) {
-            AntUIPlugin.log(e);
-        }
-    }
-
-    private int getLineNumber(IDocument document, int eventOffset) {
-        try {
-            int fileLine = document.getLineOfOffset(eventOffset);
-            IRegion region = document.getLineInformation(++fileLine);
-            String lineLine = document.get(region.getOffset(), region.getLength());
-            Matcher matcher = null;
-            synchronized (fLineNumberPattern) {
-                matcher = fLineNumberPattern.matcher(lineLine);
-            }
-            if (matcher.find()) {
-                String lineString = matcher.group();
-                return Integer.parseInt(lineString);
-            }
-            
-        } catch (BadLocationException e) {
-            AntUIPlugin.log(e);
-        }
-        return -1;
-    }
-
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/TaskLineTracker.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/TaskLineTracker.java
deleted file mode 100644
index 5ff6826..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/console/TaskLineTracker.java
+++ /dev/null
@@ -1,59 +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.ant.internal.ui.console;
- 
-import org.eclipse.ant.internal.ui.launchConfigurations.TaskLinkManager;
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.debug.ui.console.IConsoleLineTrackerExtension;
-import org.eclipse.jface.text.IRegion;
-
-/**
- * Processes task hyperlinks as lines are appended to the console
- */
-public class TaskLineTracker implements IConsoleLineTrackerExtension {
-	
-	private IConsole fConsole;
-
-	/**
-	 * Constructor for TaskLineTracker.
-	 */
-	public TaskLineTracker() {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#init(org.eclipse.debug.ui.console.IConsole)
-	 */
-	public void init(IConsole console) {
-		fConsole = console;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#lineAppended(org.eclipse.jface.text.IRegion)
-	 */
-	public void lineAppended(IRegion line) {
-		TaskLinkManager.processNewLine(fConsole, line);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTracker#dispose()
-	 */
-	public void dispose() {
-		fConsole = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.console.IConsoleLineTrackerExtension#consoleClosed()
-	 */
-	public void consoleClosed() {
-		TaskLinkManager.dispose(fConsole.getProcess());
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/AntBuildfileImportWizard.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/AntBuildfileImportWizard.java
deleted file mode 100644
index dfe8f40..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/AntBuildfileImportWizard.java
+++ /dev/null
@@ -1,58 +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.ant.internal.ui.datatransfer;
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.IImportWizard;
-import org.eclipse.ui.IWorkbench;
-
-public class AntBuildfileImportWizard extends Wizard implements IImportWizard {
-
-	private ExternalAntBuildfileImportPage mainPage;
-
-	public AntBuildfileImportWizard() {
-		super();
-	}
-
-	/* (non-Javadoc)
-	* Method declared on IWizard.
-	*/
-	public void addPages() {
-		super.addPages();
-		mainPage = new ExternalAntBuildfileImportPage();
-		addPage(mainPage);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench, org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection currentSelection) {
-		setWindowTitle(DataTransferMessages.getString("AntBuildfileImportWizard.0")); //$NON-NLS-1$
-		setDefaultPageImageDescriptor(AntUIImages.getImageDescriptor(IAntUIConstants.IMG_IMPORT_WIZARD_BANNER));
-		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#performCancel()
-	 */
-	public boolean performCancel() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.wizard.IWizard#performFinish()
-	 */
-	public boolean performFinish() {
-		return (mainPage.createProject() != null);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/DataTransferMessages.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/DataTransferMessages.java
deleted file mode 100644
index 89c72a4..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/DataTransferMessages.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.datatransfer;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class DataTransferMessages {
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.datatransfer.DataTransferMessages";//$NON-NLS-1$
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-	
-	private DataTransferMessages() {
-	}
-	
-	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/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/DataTransferMessages.properties b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/DataTransferMessages.properties
deleted file mode 100644
index bc6f46d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/DataTransferMessages.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the 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
-###############################################################################
-
-AntBuildfileImportWizard.0=Import project from existing Ant buildfile
-ExternalAntBuildfileImportPage.9=Import a Project from an Ant Buildfile
-ExternalAntBuildfileImportPage.0=Specified buildfile does not exist
-ExternalAntBuildfileImportPage.10=Creates a new project based on the specification in the javac task of the Ant buildfile. This does not copy the source contents to the workspace.
-ExternalAntBuildfileImportPage.11=&Ant Buildfile:
-ExternalAntBuildfileImportPage.12=&Project Name:
-ExternalAntBuildfileImportPage.13=B&rowse...
-ExternalAntBuildfileImportPage.14=Ant Project
-ExternalAntBuildfileImportPage.15=No buildfile selected
-ExternalAntBuildfileImportPage.16=Location error
-ExternalAntBuildfileImportPage.17=Specified buildfile could not be parsed successfully
-ExternalAntBuildfileImportPage.18=Project name must be specified
-ExternalAntBuildfileImportPage.19=A project with the specified name already exists
-ExternalAntBuildfileImportPage.1=Specified buildfile does not contain a javac task
-ExternalAntBuildfileImportPage.20=Currently only supports creating a project from a single javac declaration
-ExternalAntBuildfileImportPage.21=Error occurred creating project
-ExternalAntBuildfileImportPage.22=Error occurred importing buildfile
-ExternalAntBuildfileImportPage.2=The file selected is not a valid Ant buildfile
-ProjectCreator.0=Problem setting the classpath of the project from the javac classpath: {0}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/ExternalAntBuildfileImportPage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/ExternalAntBuildfileImportPage.java
deleted file mode 100644
index 6ee8d08..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/ExternalAntBuildfileImportPage.java
+++ /dev/null
@@ -1,474 +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.ant.internal.ui.datatransfer;
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.UnknownElement;
-import org.apache.tools.ant.taskdefs.Javac;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.internal.ui.model.AntTaskNode;
-import org.eclipse.ant.internal.ui.model.IAntModel;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-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.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-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.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.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
-
-public class ExternalAntBuildfileImportPage extends WizardPage {
-	
-	private static class ImportOverwriteQuery implements IOverwriteQuery {
-		public String queryOverwrite(String file) {
-			return ALL;
-		}	
-	}	
-
-	private Text fProjectNameField;
-	private Text fLocationPathField;
-	private Button fBrowseButton;
-	
-	private IAntModel fAntModel;
-
-	private ModifyListener fLocationModifyListener = new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-		    //no lexical or position, has task info
-			fAntModel= AntUtil.getAntModel(getProjectLocationFieldValue(), false, false, true);
-			if (fAntModel != null && fAntModel.getProjectNode() != null) {
-			    setProjectName(); // page will be validated on setting the project name
-			} else {
-				setPageComplete(validatePage());
-			}
-		}
-	};
-	
-	private ModifyListener fNameModifyListener = new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			setPageComplete(validatePage());
-		}
-	};
-
-	private static final int SIZING_TEXT_FIELD_WIDTH = 250;
-	
-	public ExternalAntBuildfileImportPage() {
-		super("externalAntBuildfilePage"); //$NON-NLS-1$
-		setPageComplete(false);
-		setTitle(DataTransferMessages.getString("ExternalAntBuildfileImportPage.9")); //$NON-NLS-1$
-		setDescription(DataTransferMessages.getString("ExternalAntBuildfileImportPage.10")); //$NON-NLS-1$
-
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		
-		initializeDialogUnits(parent);
-		
-		Composite composite = new Composite(parent, SWT.NULL);
-
-		// TODO: help context
-		//WorkbenchHelp.setHelp(composite, IIDEHelpContextIds.NEW_PROJECT_WIZARD_PAGE);
-
-		composite.setLayout(new GridLayout());
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		composite.setFont(parent.getFont());
-
-		createProjectNameGroup(composite);
-		createProjectLocationGroup(composite);
-		validatePage();
-		// Show description on opening
-		setErrorMessage(null);
-		setMessage(null);
-		setControl(composite);
-	}
-
-	/**
-	 * Creates the project location specification controls.
-	 *
-	 * @param parent the parent composite
-	 */
-	private final void createProjectLocationGroup(Composite parent) {
-
-		// project specification group
-		Composite projectGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		projectGroup.setLayout(layout);
-		projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		projectGroup.setFont(parent.getFont());
-
-		// new project label
-		Label projectContentsLabel = new Label(projectGroup, SWT.NONE);
-		projectContentsLabel.setText(DataTransferMessages.getString("ExternalAntBuildfileImportPage.11")); //$NON-NLS-1$
-		projectContentsLabel.setFont(parent.getFont());
-
-		createUserSpecifiedProjectLocationGroup(projectGroup);
-	}
-	/**
-	 * Creates the project name specification controls.
-	 *
-	 * @param parent the parent composite
-	 */
-	private final void createProjectNameGroup(Composite parent) {
-		
-		Font dialogFont = parent.getFont();
-		
-		// project specification group
-		Composite projectGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		projectGroup.setFont(dialogFont);
-		projectGroup.setLayout(layout);
-		projectGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// new project label
-		Label projectLabel = new Label(projectGroup, SWT.NONE);
-		projectLabel.setText(DataTransferMessages.getString("ExternalAntBuildfileImportPage.12")); //$NON-NLS-1$
-		projectLabel.setFont(dialogFont);
-
-		// new project name entry field
-		fProjectNameField = new Text(projectGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		fProjectNameField.setLayoutData(data);
-		fProjectNameField.setFont(dialogFont);
-		
-		fProjectNameField.addModifyListener(fNameModifyListener);
-	}
-	/**
-	 * Creates the project location specification controls.
-	 *
-	 * @param projectGroup the parent composite
-	 * @param boolean - the initial enabled state of the widgets created
-	 */
-	private void createUserSpecifiedProjectLocationGroup(Composite projectGroup) {
-		
-		Font dialogFont = projectGroup.getFont();
-
-		// project location entry field
-		fLocationPathField = new Text(projectGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = SIZING_TEXT_FIELD_WIDTH;
-		fLocationPathField.setLayoutData(data);
-		fLocationPathField.setFont(dialogFont);
-
-		// browse button
-		fBrowseButton = new Button(projectGroup, SWT.PUSH);
-		fBrowseButton.setText(DataTransferMessages.getString("ExternalAntBuildfileImportPage.13")); //$NON-NLS-1$
-		fBrowseButton.setFont(dialogFont);
-		setButtonLayoutData(fBrowseButton);
-		
-		fBrowseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				handleBrowseButtonPressed();
-			}
-		});
-
-		fLocationPathField.addModifyListener(fLocationModifyListener);
-	}
-
-	/**
-	 * Returns the current project name
-	 *
-	 * @return the project name
-	 */
-	private String getProjectName(AntProjectNode projectNode) {
-		String projectName= projectNode.getLabel();
-		if (projectName == null) {
-			projectName= DataTransferMessages.getString("ExternalAntBuildfileImportPage.14"); //$NON-NLS-1$
-		}
-		return projectName;
-	}
-	/**
-	 * Returns the value of the project name field
-	 * with leading and trailing spaces removed.
-	 * 
-	 * @return the project name in the field
-	 */
-	private String getProjectNameFieldValue() {
-		if (fProjectNameField == null) {
-			return ""; //$NON-NLS-1$
-		} 
-		return fProjectNameField.getText().trim();
-	}
-	/**
-	 * Returns the value of the project location field
-	 * with leading and trailing spaces removed.
-	 * 
-	 * @return the project location directory in the field
-	 */
-	private String getProjectLocationFieldValue() {
-		return fLocationPathField.getText().trim();
-	}
-	
-	/**
-	 * Determine the buildfile the user wishes to operate from
-	 */
-	private void handleBrowseButtonPressed() {
-		
-			String lastUsedPath= null;
-			//lastUsedPath= dialogSettings.get(IAntUIConstants.DIALOGSTORE_LASTEXTFILE);
-			if (lastUsedPath == null) {
-				lastUsedPath= ""; //$NON-NLS-1$
-			}
-			FileDialog dialog = new FileDialog(getShell(), SWT.SINGLE);
-			dialog.setFilterExtensions(new String[] { "*.xml" }); //$NON-NLS-1$;
-			dialog.setFilterPath(lastUsedPath);
-
-			String result = dialog.open();
-			if (result == null) {
-				return;
-			}
-			IPath filterPath= new Path(dialog.getFilterPath());
-			String buildFileName= dialog.getFileName();
-			IPath path= filterPath.append(buildFileName).makeAbsolute();	
-			
-			fLocationPathField.setText(path.toOSString());
-	}
-
-	/**
-	 * Returns whether this page's controls currently all contain valid 
-	 * values.
-	 *
-	 * @return <code>true</code> if all controls are valid, and
-	 *   <code>false</code> if at least one is invalid
-	 */
-	private boolean validatePage() {
-
-		String locationFieldContents = getProjectLocationFieldValue();
-
-		if (locationFieldContents.equals("")) { //$NON-NLS-1$
-			setErrorMessage(null);
-			setMessage(DataTransferMessages.getString("ExternalAntBuildfileImportPage.15")); //$NON-NLS-1$
-			return false;
-		}
-
-		IPath path = new Path(""); //$NON-NLS-1$
-		if (!path.isValidPath(locationFieldContents)) {
-			setErrorMessage(DataTransferMessages.getString("ExternalAntBuildfileImportPage.16")); //$NON-NLS-1$
-			return false;
-		}
-
-		if (fAntModel == null) {
-			if (getBuildFile(locationFieldContents) == null) {
-				setErrorMessage(DataTransferMessages.getString("ExternalAntBuildfileImportPage.0")); //$NON-NLS-1$
-				return false;
-			} 
-			setErrorMessage(DataTransferMessages.getString("ExternalAntBuildfileImportPage.17")); //$NON-NLS-1$
-			return false;
-		}
-		
-		if (fAntModel.getProjectNode() == null) {
-		    setErrorMessage(DataTransferMessages.getString("ExternalAntBuildfileImportPage.2")); //$NON-NLS-1$
-		    return false;
-		}
-		
-		if (getProjectNameFieldValue().length() == 0) {
-			setErrorMessage(DataTransferMessages.getString("ExternalAntBuildfileImportPage.18")); //$NON-NLS-1$
-			return false;
-		} 
-		IProject existingProject= ResourcesPlugin.getWorkspace().getRoot().getProject(getProjectNameFieldValue());
-		if (existingProject.exists()) {
-			setErrorMessage(DataTransferMessages.getString("ExternalAntBuildfileImportPage.19")); //$NON-NLS-1$
-			return false;
-		}
-
-		setErrorMessage(null);
-		setMessage(null);
-		return true;
-	}
-
-	/**
-	 * Set the project name using either the name of the
-	 * parent of the file or the name entry in the xml for 
-	 * the file
-	 */
-	private void setProjectName() {
-		AntProjectNode node= fAntModel.getProjectNode();
-		String projectName= getProjectName(node);
-		
-		fProjectNameField.setText(projectName);
-	}
-
-	/**
-	 * Return a .xml file from the specified location.
-	 * If there isn't one return null.
-	 */
-	private File getBuildFile(String locationFieldContents) {
-		File buildFile = new File(locationFieldContents);
-		if (!buildFile.isFile() || !buildFile.exists()) { 
-			return null;
-		}
-
-		return buildFile;
-	}
-
-	/**
-	 * Creates a new project resource based on the Ant buildfile.
-	 * The classpath is configured based on the classpath of the javac declaration in the buildfile.
-	 *
-	 * @return the created project resource, or <code>null</code> if the project
-	 *    was not created
-	 */
-	protected IJavaProject createProject() {
-
-		AntProjectNode projectNode= fAntModel.getProjectNode();
-		
-		final List javacNodes= new ArrayList();
-		getJavacNodes(javacNodes, projectNode);
-		if (javacNodes.size() > 1) {
-			setErrorMessage(DataTransferMessages.getString("ExternalAntBuildfileImportPage.20")); //$NON-NLS-1$
-			setPageComplete(false);
-			return null;
-		} else if (javacNodes.size() == 0) {
-			setErrorMessage(DataTransferMessages.getString("ExternalAntBuildfileImportPage.1")); //$NON-NLS-1$
-			setPageComplete(false);
-			return null;
-		}
-		final IJavaProject[] result= new IJavaProject[1];
-		final String projectName= getProjectNameFieldValue();
-		final File buildFile= getBuildFile(getProjectLocationFieldValue());
-		
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			protected void execute(IProgressMonitor monitor) throws CoreException {
-				List javacTasks= resolveJavacTasks(javacNodes);
-				ProjectCreator creator= new ProjectCreator();
-				Iterator iter= javacTasks.iterator();
-				while (iter.hasNext()) {
-					Javac javacTask = (Javac) iter.next();
-					IJavaProject javaProject= creator.createJavaProjectFromJavacNode(projectName, javacTask, monitor);
-					importBuildFile(monitor, javaProject.getPath(), buildFile);
-					result[0]= javaProject;
-				}
-			}
-		};
-		
-		//run the new project creation operation
-		try {
-			getContainer().run(true, true, op);
-		} catch (InterruptedException e) {
-			return null;
-		} catch (InvocationTargetException e) {
-			// ie.- one of the steps resulted in a core exception	
-			Throwable t = e.getTargetException();
-			IStatus status= null;
-			if (t instanceof CoreException) {	
-				status= ((CoreException) t).getStatus();
-			} else {
-			    status= new Status(IStatus.ERROR, AntUIPlugin.PI_ANTUI, IStatus.OK, "Error occurred. Check log for details ", t); //$NON-NLS-1$
-			    AntUIPlugin.log(t);
-			}
-			ErrorDialog.openError(getShell(), DataTransferMessages.getString("ExternalAntBuildfileImportPage.21"), //$NON-NLS-1$
-					null, status);
-		}
-		
-		return result[0];
-	}
-	
-	protected void importBuildFile(IProgressMonitor monitor, IPath destPath, File buildFile) {
-		IImportStructureProvider structureProvider = FileSystemStructureProvider.INSTANCE;
-		List files = new ArrayList(1);
-		
-		files.add(buildFile);
-		File rootDir= buildFile.getParentFile();
-		try {
-			ImportOperation op= new ImportOperation(destPath, rootDir, structureProvider, new ImportOverwriteQuery(), files);
-			op.setCreateContainerStructure(false);
-			op.run(monitor);
-		} catch (InterruptedException e) {
-			// should not happen
-		} catch (InvocationTargetException e) {
-			Throwable t = e.getTargetException();
-			if (t instanceof CoreException) {	
-				ErrorDialog.openError(getShell(), DataTransferMessages.getString("ExternalAntBuildfileImportPage.22"), //$NON-NLS-1$
-				null, ((CoreException) t).getStatus());
-			}
-		}
-	}
-
-	private List resolveJavacTasks(List javacNodes) {
-		List resolvedJavacTasks= new ArrayList(javacNodes.size());
-		Iterator nodes= javacNodes.iterator();
-		while (nodes.hasNext()) {
-			AntTaskNode taskNode = (AntTaskNode) nodes.next();
-			Task javacTask= taskNode.getTask();
-			if (javacTask instanceof UnknownElement) {
-				if (((UnknownElement)javacTask).getRealThing() == null) {
-					javacTask.maybeConfigure();
-				}
-				
-				resolvedJavacTasks.add(((UnknownElement)javacTask).getRealThing());
-			} else {
-				resolvedJavacTasks.add(javacTask);
-			}	
-		}
-		return resolvedJavacTasks;
-	}
-	
-	private void getJavacNodes(List javacNodes, AntElementNode parent) {
-		if (!parent.hasChildren()) {
-			return;
-		}
-		List children= parent.getChildNodes();
-		for (Iterator iter = children.iterator(); iter.hasNext();) {
-			AntElementNode node = (AntElementNode) iter.next();
-			if (node instanceof AntTargetNode) {
-				getJavacNodes(javacNodes, node);
-			} else if (node instanceof AntTaskNode) {
-				AntTaskNode task= (AntTaskNode)node;
-				if ("javac".equals(task.getName())) { //$NON-NLS-1$
-					javacNodes.add(task);
-				}
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if(visible) {
-			fLocationPathField.setFocus();
-		}
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/ProjectCreator.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/ProjectCreator.java
deleted file mode 100644
index 9fd9f08..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/datatransfer/ProjectCreator.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.datatransfer;
-
-import java.io.File;
-import java.text.MessageFormat;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.taskdefs.Javac;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.resources.IContainer;
-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.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-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.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.launching.JavaRuntime;
-
-public class ProjectCreator {
-		
-	public IJavaProject createJavaProjectFromJavacNode(String projectName, Javac javacTask, IProgressMonitor monitor) throws CoreException {
-		try {
-			IJavaProject javaProject = createJavaProject(projectName, monitor);
-			
-			File destDir= javacTask.getDestdir();
-			String destDirName= destDir == null ? null : destDir.getName();
-			org.apache.tools.ant.types.Path sourceDirs= javacTask.getSrcdir();
-			createSourceDirectories(destDir, destDirName, sourceDirs, javaProject, monitor);
-			
-			// add rt.jar
-			addVariableEntry(javaProject, new Path(JavaRuntime.JRELIB_VARIABLE), new Path(JavaRuntime.JRESRC_VARIABLE), new Path(JavaRuntime.JRESRCROOT_VARIABLE), monitor);
-			
-			setClasspath(javacTask, javaProject, monitor);
-			
-			javaProject.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
-			return javaProject;
-		} catch (BuildException be) {
-			IStatus status= new Status(IStatus.ERROR, AntUIPlugin.PI_ANTUI, IStatus.OK, be.getLocalizedMessage(), be);
-			throw new CoreException(status);
-		}
-	}
-	
-	private void setClasspath(Javac javacTask, IJavaProject javaProject, IProgressMonitor monitor) throws CoreException {
-		try {
-			org.apache.tools.ant.types.Path classpath= javacTask.getClasspath();
-			if (classpath == null) {
-				return;
-			}
-			String[] classpaths= classpath.list();
-			for (int i = 0; i < classpaths.length; i++) {
-				String cp = classpaths[i];
-				File classpathEntry= new File(cp);
-				if (classpathEntry.isFile()) {
-					addLibrary(javaProject, new Path(classpathEntry.getAbsolutePath()), monitor);
-				} else {
-					addContainer(javaProject, new Path(classpathEntry.getAbsolutePath()), monitor);
-				}
-			}
-		} catch (BuildException be) {
-			IStatus status= new Status(IStatus.ERROR, AntUIPlugin.PI_ANTUI, IStatus.OK, MessageFormat.format(DataTransferMessages.getString("ProjectCreator.0"), new String[]{be.getLocalizedMessage()}), null); //$NON-NLS-1$
-			throw new CoreException(status);
-		}
-	}
-
-	private void createSourceDirectories(File destDir, String destDirName, org.apache.tools.ant.types.Path sourceDirs, IJavaProject javaProject, IProgressMonitor monitor) throws CoreException {
-		String[] sourceDirectories= sourceDirs.list();
-		for (int i = 0; i < sourceDirectories.length; i++) {
-			String srcDir = sourceDirectories[i];
-			File srcDirectory= new File(srcDir);
-			String srcDirectoryName= srcDirectory.getName();
-			String destDirPath= destDir == null ? srcDir : destDir.getAbsolutePath();
-			if (destDirName == null) {
-			    destDirName= srcDirectoryName;
-			}
-			addSourceContainer(javaProject, srcDirectoryName, srcDir, destDirName, destDirPath, monitor);
-		}
-	}
-
-	private IJavaProject createJavaProject(String projectName, IProgressMonitor monitor) throws CoreException {
-		IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
-		IProject project= root.getProject(projectName);
-		if (!project.exists()) {
-			project.create(monitor);
-		} else {
-			project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
-		}
-		
-		if (!project.isOpen()) {
-			project.open(monitor);
-		}
-		
-		if (!project.hasNature(JavaCore.NATURE_ID)) {
-			addNatureToProject(project, JavaCore.NATURE_ID, monitor);
-		}
-		
-		IJavaProject jproject= JavaCore.create(project);
-		
-		jproject.setRawClasspath(new IClasspathEntry[0], monitor);
-		
-		return jproject;	
-	}
-	
-	private void addNatureToProject(IProject proj, String natureId, IProgressMonitor monitor) throws CoreException {
-		IProjectDescription description = proj.getDescription();
-		String[] prevNatures= description.getNatureIds();
-		String[] newNatures= new String[prevNatures.length + 1];
-		System.arraycopy(prevNatures, 0, newNatures, 0, prevNatures.length);
-		newNatures[prevNatures.length]= natureId;
-		description.setNatureIds(newNatures);
-		proj.setDescription(description, monitor);
-	}
-	
-	/**
-	 * Adds a source container to a IJavaProject.
-	 */		
-	private void addSourceContainer(IJavaProject jproject, String srcName, String srcPath, String outputName, String outputPath, IProgressMonitor monitor) throws CoreException {
-		IProject project= jproject.getProject();
-		IContainer container= null;
-		if (srcName == null || srcName.length() == 0) {
-			container= project;
-		} else {
-			IFolder folder= project.getFolder(srcName);
-			if (!folder.exists()) {
-				folder.createLink(new Path(srcPath), IResource.ALLOW_MISSING_LOCAL, monitor);
-			}
-			container= folder;
-		}
-		IPackageFragmentRoot root= jproject.getPackageFragmentRoot(container);
-
-		IPath output= null;
-		if (outputName!= null) {
-			IFolder outputFolder = project.getFolder(outputName);
-			if (!outputFolder.exists()) {
-			    outputFolder.createLink(new Path(outputPath), IResource.ALLOW_MISSING_LOCAL, monitor);
-			}
-			output= outputFolder.getFullPath();
-		}
-				
-		IClasspathEntry cpe= JavaCore.newSourceEntry(root.getPath(), new IPath[0], output);
-		
-		addToClasspath(jproject, cpe, monitor);		
-	}	
-	
-	private void addToClasspath(IJavaProject jproject, IClasspathEntry cpe, IProgressMonitor monitor) throws JavaModelException {
-		IClasspathEntry[] oldEntries= jproject.getRawClasspath();
-		for (int i= 0; i < oldEntries.length; i++) {
-			if (oldEntries[i].equals(cpe)) {
-				return;
-			}
-		}
-		int nEntries= oldEntries.length;
-		IClasspathEntry[] newEntries= new IClasspathEntry[nEntries + 1];
-		System.arraycopy(oldEntries, 0, newEntries, 0, nEntries);
-		newEntries[nEntries]= cpe;
-		jproject.setRawClasspath(newEntries, monitor);
-	}
-	
-	/**
-	 * Adds a variable entry with source attachment to a IJavaProject if the path can be resolved.
-	 */			
-	private void addVariableEntry(IJavaProject jproject, IPath path, IPath sourceAttachPath, IPath sourceAttachRoot, IProgressMonitor monitor) throws JavaModelException {
-		IClasspathEntry cpe= JavaCore.newVariableEntry(path, sourceAttachPath, sourceAttachRoot);
-		addToClasspath(jproject, cpe, monitor);
-	}
-	
-	/**
-	 * Adds a library entry to an IJavaProject.
-	 */			
-	private void addLibrary(IJavaProject jproject, IPath path, IProgressMonitor monitor) throws JavaModelException {
-		IClasspathEntry cpe= JavaCore.newLibraryEntry(path, null, null);
-		addToClasspath(jproject, cpe, monitor);
-	}
-	
-	/**
-	 * Adds a container entry to an IJavaProject.
-	 */			
-	private void addContainer(IJavaProject jproject, IPath path, IProgressMonitor monitor) throws JavaModelException {
-		IClasspathEntry cpe= JavaCore.newContainerEntry(path);
-		addToClasspath(jproject, cpe, monitor);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourceLookupDirector.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourceLookupDirector.java
deleted file mode 100644
index f47cfeb..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourceLookupDirector.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug;
-
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant;
-
-/**
- * Ant source lookup director. For Ant source lookup there is one source
- * lookup participant. 
- */
-public class AntSourceLookupDirector extends AbstractSourceLookupDirector {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#initializeParticipants()
-	 */
-	public void initializeParticipants() {
-		addParticipants(new ISourceLookupParticipant[]{new AntSourceLookupParticipant()});
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourceLookupParticipant.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourceLookupParticipant.java
deleted file mode 100644
index 9ddf56a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourceLookupParticipant.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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.ant.internal.ui.debug;
-
-import org.eclipse.ant.internal.ui.debug.model.AntStackFrame;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant;
-
-/**
- * The Ant source lookup participant knows how to translate a 
- * Ant stack frame into a source file name 
- */
-public class AntSourceLookupParticipant extends AbstractSourceLookupParticipant {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#getSourceName(java.lang.Object)
-	 */
-	public String getSourceName(Object object) throws CoreException {
-		if (object instanceof AntStackFrame) {
-			return ((AntStackFrame)object).getSourceName();
-		}
-        if (object instanceof String) {
-            // assume it's a file name
-            return (String)object;
-        }
-		return null;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourcePathComputerDelegate.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourcePathComputerDelegate.java
deleted file mode 100644
index 069a9cf..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/AntSourcePathComputerDelegate.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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.ant.internal.ui.debug;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.WorkspaceSourceContainer;
-import org.eclipse.jdt.launching.sourcelookup.containers.JavaSourcePathComputer;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Computes the default source lookup path for an Ant launch configuration.
- * The default source lookup path contains the folder or project containing 
- * the Ant buildfile. If the folder or project cannot be determined, the workspace
- * is searched by default. The classpath entries for the Ant build are also added as 
- * containers for source lookup.
- */
-public class AntSourcePathComputerDelegate extends JavaSourcePathComputer {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
-		String path = configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, (String)null);
-		path= VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(path);
-        List sourceContainers= new ArrayList();
-		ISourceContainer folderContainer = null;
-		IProject project= null;
-		if (path != null) {
-			IResource resource = AntUtil.getFileForLocation(path, null);
-			if (resource != null) {
-				IContainer container = resource.getParent();
-				if (container.getType() == IResource.PROJECT) {
-					project= (IProject)container;
-				} else if (container.getType() == IResource.FOLDER) {
-					folderContainer = new FolderSourceContainer(container, true);
-					project= container.getProject();
-				}
-			}
-		}
-		
-		if (folderContainer != null) {
-			sourceContainers.add(folderContainer);
-		}
-		if (project != null) {
-			sourceContainers.add(new ProjectSourceContainer(project, false));
-		}
-        sourceContainers.add(new WorkspaceSourceContainer());
-        
-        ISourceContainer[] classpathContainers= super.computeSourceContainers(configuration, monitor);
-        sourceContainers.addAll(Arrays.asList(classpathContainers));
-        
-		return (ISourceContainer[]) sourceContainers.toArray(new ISourceContainer[sourceContainers.size()]);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/IAntDebugConstants.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/IAntDebugConstants.java
deleted file mode 100644
index a0c4513..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/IAntDebugConstants.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug;
-
-public interface IAntDebugConstants {
-	
-	/**
-	 * Unique identifier for the Ant debug model (value 
-	 * <code>org.eclipse.ant.ui.debug</code>).
-	 */
-	public static final String ID_ANT_DEBUG_MODEL = "org.eclipse.ant.ui.debug"; //$NON-NLS-1$
-	
-	/**
-	 * Unique identifier for the Ant line breakpoint markers 
-	 * (value <code>org.eclipse.ant.ui.antLineBreakpointMarker</code>).
-	 */
-	public static final String ID_ANT_LINE_BREAKPOINT_MARKER= "org.eclipse.ant.ui.antLineBreakpointMarker"; //$NON-NLS-1$
-    
-    /**
-     * Unique identifier for the Ant run to line breakpoints 
-     * (value <code>org.eclipse.ant.ui.runToLineBreakpoint</code>).
-     */
-    public static final String ANT_RUN_TO_LINE= "org.eclipse.ant.ui.runToLineBreakpoint"; //$NON-NLS-1$
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/IAntDebugController.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/IAntDebugController.java
deleted file mode 100644
index 4841f2f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/IAntDebugController.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug;
-
-import org.eclipse.debug.core.model.IBreakpoint;
-
-public interface IAntDebugController {
-	
-    /**
-     * Resume the Ant build
-     */
-	public void resume();
-    
-    /**
-     * Suspend the Ant build
-     */
-	public void suspend();
-    
-     /**
-     * Step into the current Ant task
-     */
-	public void stepInto();
-    
-     /**
-     * Step over the current Ant task
-     */
-	public void stepOver();
-    
-    /**
-     * The provided breakpoint has been added or removed depending on the <code>added</code> parameter.
-     * Updates the controller for this change.
-     * 
-     * @param breakpoint the breakpoint that has been added or removed
-     * @param added whether or not the breakpoint has been added 
-     */
-	public void handleBreakpoint(IBreakpoint breakpoint, boolean added);
-    
-     /**
-     * Retrieve the properties of the Ant build.
-     * May occur asynchronously depending on implementation.
-     */
-	public void getProperties();
-    
-    /**
-     * Retrieve the stack frames of the Ant build.
-     * May occur asynchronously depending on implementation.
-     */
-	public void getStackFrames();
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugElement.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugElement.java
deleted file mode 100644
index 4152cff..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugElement.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug.model;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.debug.IAntDebugConstants;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-
-/**
- * Common function of Ant debug model elements
- */
-public abstract class AntDebugElement extends PlatformObject implements IDebugElement {
-	
-	protected AntDebugTarget fTarget;
-	
-	/**
-	 * Constructs a new debug element contained in the given
-	 * debug target.
-	 * 
-	 * @param target debug target
-	 */
-	public AntDebugElement(AntDebugTarget target) {
-		fTarget = target;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
-	 */
-	public String getModelIdentifier() {
-		return IAntDebugConstants.ID_ANT_DEBUG_MODEL;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		return fTarget;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return getDebugTarget().getLaunch();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IDebugElement.class) {
-			return this;
-		}
-		if (adapter == IDebugTarget.class) {
-			return getDebugTarget();
-		}
-		return super.getAdapter(adapter);
-	}
-	
-	protected void abort(String message, Throwable e) throws DebugException {
-		throw new DebugException(new Status(IStatus.ERROR, AntUIPlugin.getUniqueIdentifier(), 
-				DebugPlugin.INTERNAL_ERROR, message, e));
-	}
-	
-	/**
-	 * Fires a debug event
-	 * 
-	 * @param event the event to be fired
-	 */
-	protected void fireEvent(DebugEvent event) {
-		DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {event});
-	}
-	
-	/**
-	 * Fires a <code>CREATE</code> event for this element.
-	 */
-	protected void fireCreationEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.CREATE));
-	}	
-	
-	/**
-	 * Fires a <code>CHANGE</code> event for this element.
-	 */
-	protected void fireChangeEvent(int detail) {
-		fireEvent(new DebugEvent(this, DebugEvent.CHANGE, detail));
-	}	
-	
-	/**
-	 * Fires a <code>RESUME</code> event for this element with
-	 * the given detail.
-	 * 
-	 * @param detail event detail code
-	 */
-	public void fireResumeEvent(int detail) {
-		fireEvent(new DebugEvent(this, DebugEvent.RESUME, detail));
-	}
-
-	/**
-	 * Fires a <code>SUSPEND</code> event for this element with
-	 * the given detail.
-	 * 
-	 * @param detail event detail code
-	 */
-	public void fireSuspendEvent(int detail) {
-		fireEvent(new DebugEvent(this, DebugEvent.SUSPEND, detail));
-	}
-	
-	/**
-	 * Fires a <code>TERMINATE</code> event for this element.
-	 */
-	protected void fireTerminateEvent() {
-		fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
-	}	
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugModelPresentation.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugModelPresentation.java
deleted file mode 100644
index de9f14b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugModelPresentation.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug.model;
-
-import java.text.MessageFormat;
-
-import org.eclipse.ant.internal.ui.preferences.AntObjectLabelProvider;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.part.FileEditorInput;
-
-/**
- * Renders Ant debug elements
- */
-public class AntDebugModelPresentation extends LabelProvider implements IDebugModelPresentation {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugModelPresentation#setAttribute(java.lang.String, java.lang.Object)
-	 */
-	public void setAttribute(String attribute, Object value) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		if (element instanceof AntProperty) {
-			return AntObjectLabelProvider.getPropertyImage();
-		} else if (element instanceof AntProperties) {
-			return AntObjectLabelProvider.getPropertyImage();
-        }
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		if (element instanceof AntStackFrame) {
-			AntStackFrame frame= (AntStackFrame) element;
-			return getStackFrameText(frame);
-		} else if (element instanceof AntThread) {
-			AntThread thread= (AntThread) element;
-			return getThreadText(thread);
-		} else if (element instanceof AntProperty) {
-		    AntProperty property= (AntProperty) element;
-		    return property.getText();  
-        } else if (element instanceof AntProperties) {
-		   return ((AntProperties)element).getName();
-        }
-		
-		return null;
-	}
-
-    private String getThreadText(AntThread thread) {
-        String name= thread.getName();
-        if (name != null) {
-            StringBuffer text= new StringBuffer(name);
-            if (thread.isSuspended()) {
-                IBreakpoint[] breakpoints= thread.getBreakpoints();
-                if (breakpoints.length > 0) {
-                    AntLineBreakpoint breakpoint= (AntLineBreakpoint) breakpoints[0];
-                    IMarker marker= breakpoint.getMarker();
-                    String fileName= marker.getResource().getFullPath().lastSegment();
-                    String lineNumber= Integer.toString(marker.getAttribute(IMarker.LINE_NUMBER, -1));
-                    String breakpointString= null;
-                    if (breakpoint.isRunToLine()) {
-                        breakpointString= MessageFormat.format(DebugModelMessages.getString("AntDebugModelPresentation.5"), new String[] {lineNumber, fileName}); //$NON-NLS-1$
-                    } else {
-                        breakpointString= MessageFormat.format(DebugModelMessages.getString("AntDebugModelPresentation.2"), new String[]{lineNumber, fileName}); //$NON-NLS-1$                            
-                    }
-                    text.append(MessageFormat.format(DebugModelMessages.getString("AntDebugModelPresentation.3"), new String[]{breakpointString})); //$NON-NLS-1$
-                } else {
-                    text.append(DebugModelMessages.getString("AntDebugModelPresentation.4")); //$NON-NLS-1$
-                }
-            }
-            
-            return text.toString();
-        }
-        return null;
-    }
-
-    private String getStackFrameText(AntStackFrame frame) {
-        String name= frame.getName();
-        if (name != null) {
-            StringBuffer text= new StringBuffer(name);
-            int lineNumber= frame.getLineNumber();
-            String lineNumberString= null;
-            if (lineNumber == 0) {
-                lineNumberString= DebugModelMessages.getString("AntDebugModelPresentation.0"); //$NON-NLS-1$
-            } else {
-                lineNumberString= Integer.toString(lineNumber);
-            }
-            text.append(MessageFormat.format(DebugModelMessages.getString("AntDebugModelPresentation.1"), new String[]{lineNumberString})); //$NON-NLS-1$
-            return text.toString();
-        }
-        return null;
-    }
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.IDebugModelPresentation#computeDetail(org.eclipse.debug.core.model.IValue, org.eclipse.debug.ui.IValueDetailListener)
-	 */
-	public void computeDetail(IValue value, IValueDetailListener listener) {
-		String detail = ""; //$NON-NLS-1$
-		try {
-			detail = value.getValueString();
-		} catch (DebugException e) {
-		}
-		listener.detailComputed(value, detail);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ISourcePresentation#getEditorInput(java.lang.Object)
-	 */
-	public IEditorInput getEditorInput(Object element) {
-		if (element instanceof IFile) {
-			return new FileEditorInput((IFile)element);
-		}
-		if (element instanceof ILineBreakpoint) {
-			return new FileEditorInput((IFile)((ILineBreakpoint)element).getMarker().getResource());
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ISourcePresentation#getEditorId(org.eclipse.ui.IEditorInput, java.lang.Object)
-	 */
-	public String getEditorId(IEditorInput input, Object element) {
-		if (element instanceof IFile || element instanceof ILineBreakpoint) {
-			return "org.eclipse.ant.ui.internal.editor.AntEditor"; //$NON-NLS-1$
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugTarget.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugTarget.java
deleted file mode 100644
index 0afc112..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntDebugTarget.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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.ant.internal.ui.debug.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.debug.IAntDebugConstants;
-import org.eclipse.ant.internal.ui.debug.IAntDebugController;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointManagerListener;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Ant Debug Target
- */
-public class AntDebugTarget extends AntDebugElement implements IDebugTarget, IDebugEventSetListener, IBreakpointManagerListener {
-	
-	// associated system process (Ant Build)
-	private IProcess fProcess;
-	
-	// containing launch object
-	private ILaunch fLaunch;
-	
-	// Build file name
-	private String fName;
-
-	// suspend state
-	private boolean fSuspended= false;
-	
-	// terminated state
-	private boolean fTerminated= false;
-	
-	// threads
-	private AntThread fThread;
-	private IThread[] fThreads;
-	
-	private IAntDebugController fController;
-    
-    private List fRunToLineBreakpoints;
-
-	/**
-	 * Constructs a new debug target in the given launch for the 
-	 * associated Ant build process.
-	 * 
-	 * @param launch containing launch
-	 * @param process Ant build process
-	 * @param controller the controller to communicate to the Ant build
-	 */
-	public AntDebugTarget(ILaunch launch, IProcess process, IAntDebugController controller) {
-		super(null);
-		fLaunch = launch;
-		fTarget = this;
-		fProcess = process;
-		
-		fController= controller;
-		
-		fThread = new AntThread(this);
-		fThreads = new IThread[] {fThread};
-        
-        DebugPlugin.getDefault().getBreakpointManager().addBreakpointManagerListener(this);
-		DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-        DebugPlugin.getDefault().addDebugEventListener(this);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugTarget#getProcess()
-	 */
-	public IProcess getProcess() {
-		return fProcess;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugTarget#getThreads()
-	 */
-	public IThread[] getThreads() {
-		return fThreads;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugTarget#hasThreads()
-	 */
-	public boolean hasThreads() throws DebugException {
-		return !fTerminated && fThreads.length > 0;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugTarget#getName()
-	 */
-	public String getName() throws DebugException {
-		if (fName == null) {
-			try {
-				fName= getLaunch().getLaunchConfiguration().getAttribute(IExternalToolConstants.ATTR_LOCATION, DebugModelMessages.getString("AntDebugTarget.0")); //$NON-NLS-1$
-				fName= VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(fName);
-			} catch (CoreException e) {
-				fName = DebugModelMessages.getString("AntDebugTarget.0"); //$NON-NLS-1$
-			}
-		}
-		return fName;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugTarget#supportsBreakpoint(org.eclipse.debug.core.model.IBreakpoint)
-	 */
-	public boolean supportsBreakpoint(IBreakpoint breakpoint) {
-		if (breakpoint.getModelIdentifier().equals(IAntDebugConstants.ID_ANT_DEBUG_MODEL)) {
-		    //need to consider all breakpoints as no way to tell which set
-		    //of buildfiles will be executed (ant task)
-		    return true;
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		return this;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return fLaunch;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		return !fTerminated;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
-	public boolean isTerminated() {
-		return fTerminated;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
-	 */
-	public void terminate() throws DebugException {
-	    terminated();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#canResume()
-	 */
-	public boolean canResume() {
-		return !isTerminated() && isSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#canSuspend()
-	 */
-	public boolean canSuspend() {
-		return !isTerminated() && !isSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#isSuspended()
-	 */
-	public boolean isSuspended() {
-		return fSuspended;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#resume()
-	 */
-	public void resume() throws DebugException {
-	    fSuspended= false;
-	    fController.resume();
-	}
-	
-	/**
-	 * Notification the target has suspended for the given reason
-	 * 
-	 * @param detail reason for the suspend
-	 */
-	public void suspended(int detail) {
-		fSuspended = true;
-		fThread.setStepping(false);
-		fThread.fireSuspendEvent(detail);
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#suspend()
-	 */
-	public void suspend() throws DebugException {
-		fController.suspend();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointListener#breakpointAdded(org.eclipse.debug.core.model.IBreakpoint)
-	 */
-	public void breakpointAdded(IBreakpoint breakpoint) {
-		fController.handleBreakpoint(breakpoint, true);
-        if (breakpoint instanceof AntLineBreakpoint) {
-            if (((AntLineBreakpoint) breakpoint).isRunToLine()) {
-                if (fRunToLineBreakpoints == null) {
-                    fRunToLineBreakpoints= new ArrayList();
-                }
-                fRunToLineBreakpoints.add(breakpoint);
-            }
-        }
-	}
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointListener#breakpointRemoved(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.resources.IMarkerDelta)
-	 */
-	public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta) {
-		fController.handleBreakpoint(breakpoint, false);
-        if (fRunToLineBreakpoints != null) {
-            if (fRunToLineBreakpoints.remove(breakpoint) && fRunToLineBreakpoints.isEmpty()) {
-                fRunToLineBreakpoints= null;
-            }
-        }
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IBreakpointListener#breakpointChanged(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.resources.IMarkerDelta)
-	 */
-	public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta) {
-		if (supportsBreakpoint(breakpoint)) {
-			try {
-				if (breakpoint.isEnabled() && DebugPlugin.getDefault().getBreakpointManager().isEnabled()) {
-					breakpointAdded(breakpoint);
-				} else {
-					breakpointRemoved(breakpoint, null);
-				}
-			} catch (CoreException e) {
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDisconnect#canDisconnect()
-	 */
-	public boolean canDisconnect() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDisconnect#disconnect()
-	 */
-	public void disconnect() throws DebugException {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDisconnect#isDisconnected()
-	 */
-	public boolean isDisconnected() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlockRetrieval#supportsStorageRetrieval()
-	 */
-	public boolean supportsStorageRetrieval() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IMemoryBlockRetrieval#getMemoryBlock(long, long)
-	 */
-	public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException {
-		return null;
-	}
-
-	/**
-	 * Notification we have connected to the Ant build logger and it has started.
-	 * Resume the build.
-	 */
-	public void buildStarted() {
-		fireCreationEvent();
-		installDeferredBreakpoints();
-		try {
-			resume();
-		} catch (DebugException e) {
-		}
-	}
-	
-	/**
-	 * Install breakpoints that are already registered with the breakpoint
-	 * manager if the breakpoint manager is enabled and the breakpoint is enabled.
-	 */
-	private void installDeferredBreakpoints() {
-		IBreakpointManager manager= DebugPlugin.getDefault().getBreakpointManager();
-		if (!manager.isEnabled()) {
-			return;
-		}
-		IBreakpoint[] breakpoints = manager.getBreakpoints(IAntDebugConstants.ID_ANT_DEBUG_MODEL);
-		for (int i = 0; i < breakpoints.length; i++) {
-            IBreakpoint breakpoint= breakpoints[i];
-            try {
-                if (breakpoint.isEnabled()) {
-                    breakpointAdded(breakpoints[i]);
-                }
-            } catch (CoreException e) {
-            }
-		}
-	}
-	
-	/**
-	 * Called when this debug target terminates.
-	 */
-	protected void terminated() {
-		fThreads= new IThread[0];
-		fTerminated = true;
-		fSuspended = false;
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
-        DebugPlugin.getDefault().removeDebugEventListener(this);
-        DebugPlugin.getDefault().getBreakpointManager().removeBreakpointManagerListener(this);
-		if (!getProcess().isTerminated()) {
-		    try {
-                fProcess.terminate();
-                resume();
-		    } catch (DebugException e) {       
-		    }
-		}
-		fireTerminateEvent();
-	}
-	
-	/**
-	 * Single step the Ant build.
-	 * 
-	 * @throws DebugException if the request fails
-	 */
-	protected void stepOver() {
-	    fSuspended= false;
-		fController.stepOver();
-	}
-	
-	/**
-	 * Step-into the Ant build.
-	 * 
-	 * @throws DebugException if the request fails
-	 */
-	protected void stepInto() {
-	    fSuspended= false;
-	    fController.stepInto();
-	}
-	
-	/**
-	 * Notification a breakpoint was encountered. Determine
-	 * which breakpoint was hit and fire a suspend event.
-	 * 
-	 * @param event debug event
-	 */
-	protected void breakpointHit(String event) {
-		// determine which breakpoint was hit, and set the thread's breakpoint
-		String[] datum= event.split(DebugMessageIds.MESSAGE_DELIMITER);
-		String fileName= datum[1];
-		int lineNumber = Integer.parseInt(datum[2]);
-		IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IAntDebugConstants.ID_ANT_DEBUG_MODEL);
-        boolean found= false;
-		for (int i = 0; i < breakpoints.length; i++) {
-           ILineBreakpoint lineBreakpoint = (ILineBreakpoint)breakpoints[i];
-           if (setThreadBreakpoint(lineBreakpoint, lineNumber, fileName)) {
-               found= true;
-               break;
-           }
-		}
-        if (!found && fRunToLineBreakpoints != null) {
-            Iterator iter= fRunToLineBreakpoints.iterator();
-            while (iter.hasNext()) {
-                ILineBreakpoint lineBreakpoint = (ILineBreakpoint) iter.next();
-                if (setThreadBreakpoint(lineBreakpoint, lineNumber, fileName)) {
-                    break;
-                }
-            }
-        }
-		suspended(DebugEvent.BREAKPOINT);
-	}	
-    
-    private boolean setThreadBreakpoint(ILineBreakpoint lineBreakpoint, int lineNumber, String fileName) {
-        try {
-            if (lineBreakpoint.getLineNumber() == lineNumber && 
-                    fileName.equals(lineBreakpoint.getMarker().getResource().getLocation().toOSString())) {
-                fThread.setBreakpoints(new IBreakpoint[]{lineBreakpoint});
-                return true;
-            }
-        } catch (CoreException e) {
-        }
-        return false;
-    }
-	
-    public void breakpointHit (IBreakpoint breakpoint) {
-        fThread.setBreakpoints(new IBreakpoint[]{breakpoint});
-        suspended(DebugEvent.BREAKPOINT);
-    }
-    
-	protected void getStackFrames() {
-		fController.getStackFrames();
-	}
-	
-	protected void getProperties() {
-		fController.getProperties();
-	}
-
-    /* (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.getKind() == DebugEvent.TERMINATE && event.getSource().equals(fProcess)) {
-                terminated();
-            }
-        }
-    }
-    
-    /**
-     * When the breakpoint manager disables, remove all registered breakpoints
-     * requests from the VM. When it enables, reinstall them.
-     *
-     * @see org.eclipse.debug.core.IBreakpointManagerListener#breakpointManagerEnablementChanged(boolean)
-     */
-    public void breakpointManagerEnablementChanged(boolean enabled) {
-        IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IAntDebugConstants.ID_ANT_DEBUG_MODEL);
-        for (int i = 0; i < breakpoints.length; i++) {
-            IBreakpoint breakpoint = breakpoints[i];
-            if (enabled) {
-                breakpointAdded(breakpoint);
-            } else {
-                breakpointRemoved(breakpoint, null);
-            }
-        }
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntLineBreakpoint.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntLineBreakpoint.java
deleted file mode 100644
index 0340060..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntLineBreakpoint.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug.model;
-
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ant.internal.ui.debug.IAntDebugConstants;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.LineBreakpoint;
-
-/**
- * Ant line breakpoint
- */
-public class AntLineBreakpoint extends LineBreakpoint {
-	
-	/**
-	 * Default constructor is required for the breakpoint manager
-	 * to re-create persisted breakpoints. After instantiating a breakpoint,
-	 * the <code>setMarker(...)</code> method is called to restore
-	 * this breakpoint's attributes.
-	 */
-	public AntLineBreakpoint() {
-	}
-	
-	/**
-	 * Constructs a line breakpoint on the given resource at the given
-	 * line number. The line number is 1-based (i.e. the first line of a
-	 * file is line number 1).
-	 * 
-	 * @param resource file on which to set the breakpoint
-	 * @param lineNumber 1-based line number of the breakpoint
-	 * @throws CoreException if unable to create the breakpoint
-	 */
-	public AntLineBreakpoint(IResource resource, int lineNumber) throws CoreException {
-	    this(resource, lineNumber, new HashMap(), true);
-	}
-	
-	/**
-	 * Constructs a line breakpoint on the given resource at the given
-	 * line number. The line number is 1-based (i.e. the first line of a
-	 * file is line number 1).
-	 * 
-	 * @param resource file on which to set the breakpoint
-	 * @param lineNumber 1-based line number of the breakpoint
-	 * @param attributes the marker attributes to set
-	 * @param register whether to add this breakpoint to the breakpoint manager
-	 * @throws CoreException if unable to create the breakpoint
-	 */
-	public AntLineBreakpoint(final IResource resource, final int lineNumber, final Map attributes, final boolean register) throws CoreException {
-	    IWorkspaceRunnable wr= new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-			    IMarker marker = resource.createMarker(IAntDebugConstants.ID_ANT_LINE_BREAKPOINT_MARKER);
-			    setMarker(marker);
-			    attributes.put(IBreakpoint.ENABLED, Boolean.TRUE);
-			    attributes.put(IMarker.LINE_NUMBER, new Integer(lineNumber));
-			    attributes.put(IBreakpoint.ID, IAntDebugConstants.ID_ANT_DEBUG_MODEL);
-                attributes.put(IMarker.MESSAGE, MessageFormat.format(DebugModelMessages.getString("AntLineBreakpoint.0"), new String[] {Integer.toString(lineNumber)})); //$NON-NLS-1$
-			    ensureMarker().setAttributes(attributes);
-                
-                register(register);
-			}
-	    };
-	    run(getMarkerRule(resource), wr);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IBreakpoint#getModelIdentifier()
-	 */
-	public String getModelIdentifier() {
-		return IAntDebugConstants.ID_ANT_DEBUG_MODEL;
-	}
-
-    /**
-     * @return whether this breakpoint is a run to line breakpoint
-     */
-    public boolean isRunToLine() {
-        try {
-            return ensureMarker().getAttribute(IAntDebugConstants.ANT_RUN_TO_LINE, false);
-        } catch (DebugException e) {
-           return false;
-        }
-    }
-    
-    /**
-     * Add this breakpoint to the breakpoint manager,
-     * or sets it as unregistered.
-     */
-    private void register(boolean register) throws CoreException {
-        if (register) {
-            DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(this);
-        } else {
-            setRegistered(false);
-        }
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntProperties.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntProperties.java
deleted file mode 100644
index e7a2e57..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntProperties.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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.ant.internal.ui.debug.model;
-
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-
-public class AntProperties extends AntDebugElement implements IVariable {
-	
-	private IValue fValue;
-	private String fName;
-    private boolean fValid= true;
-
-	public AntProperties(AntDebugTarget target, String name) {
-		super(target);
-		fName= name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#getValue()
-	 */
-	public synchronized IValue getValue() {
-        while (!fValid) {
-            try {
-                wait();
-            } catch (InterruptedException e) {
-            }
-        }
- 		return fValue;
-	}
-    
-    protected IValue getLastValue() {
-        return fValue;
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#getReferenceTypeName()
-	 */
-	public String getReferenceTypeName() {
-		return ""; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#hasValueChanged()
-	 */
-	public boolean hasValueChanged() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#setValue(java.lang.String)
-	 */
-	public void setValue(String expression) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#setValue(org.eclipse.debug.core.model.IValue)
-	 */
-	public void setValue(IValue value) {
-		fValue= value;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#supportsValueModification()
-	 */
-	public boolean supportsValueModification() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#verifyValue(java.lang.String)
-	 */
-	public boolean verifyValue(String expression) {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#verifyValue(org.eclipse.debug.core.model.IValue)
-	 */
-	public boolean verifyValue(IValue value) {
-		return false;
-	}
-
-    protected synchronized void setValid(boolean valid) {
-        fValid= valid;        
-        notifyAll();
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntPropertiesValue.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntPropertiesValue.java
deleted file mode 100644
index a1c4073..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntPropertiesValue.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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.ant.internal.ui.debug.model;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-
-public class AntPropertiesValue extends AntDebugElement implements IValue {
-	
-	List fProperties= new ArrayList();
-	
-	public AntPropertiesValue(AntDebugTarget target) {
-		super(target);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValue#getReferenceTypeName()
-	 */
-	public String getReferenceTypeName() {
-		return ""; //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValue#getValueString()
-	 */
-	public String getValueString() {
-		return ""; //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValue#isAllocated()
-	 */
-	public boolean isAllocated() {
-		return true;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValue#getVariables()
-	 */
-	public IVariable[] getVariables() {
-		return (IVariable[])fProperties.toArray(new IVariable[fProperties.size()]);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValue#hasVariables()
-	 */
-	public boolean hasVariables() {
-		return true;
-	}
-	
-	protected void addProperties(List properties) {
-		fProperties.addAll(properties);
-	}
-
-	protected List getProperties() {
-		return fProperties;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntProperty.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntProperty.java
deleted file mode 100644
index 3c1621c..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntProperty.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug.model;
-
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-
-/**
- * A property in an Ant build
- */
-public class AntProperty extends AntDebugElement implements IVariable {
-
-	private String fName;
-	private AntValue fValue;
-    private String fLabel;
-	
-	/**
-	 * Constructs a variable associated with the debug target
-	 * with the given name and value.
-	 * 
-	 * @param target the debug target
-	 * @param name property name
-	 * @param value property value
-	 */
-	public AntProperty(AntDebugTarget target, String name, String value) {
-		super(target);
-		fName = name;
-		fValue= new AntValue(target, value);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#getValue()
-	 */
-	public IValue getValue() {
-		return fValue;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#getReferenceTypeName()
-	 */
-	public String getReferenceTypeName() {
-		return ""; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IVariable#hasValueChanged()
-	 */
-	public boolean hasValueChanged() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#setValue(java.lang.String)
-	 */
-	public void setValue(String expression) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#setValue(org.eclipse.debug.core.model.IValue)
-	 */
-	public void setValue(IValue value) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#supportsValueModification()
-	 */
-	public boolean supportsValueModification() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#verifyValue(java.lang.String)
-	 */
-	public boolean verifyValue(String expression) {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IValueModification#verifyValue(org.eclipse.debug.core.model.IValue)
-	 */
-	public boolean verifyValue(IValue value) {
-		return false;
-	}
-
-    /**
-     * @return the text used to render this property
-     */
-    public String getText() {
-        if (fLabel == null) {
-            StringBuffer buffer= new StringBuffer(getName());
-            buffer.append("= "); //$NON-NLS-1$
-            buffer.append(fValue.getValueString());          
-            fLabel=  buffer.toString();
-        } 
-        return fLabel;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntStackFrame.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntStackFrame.java
deleted file mode 100644
index ee97ca8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntStackFrame.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug.model;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IRegisterGroup;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IVariable;
-
-/**
- * Ant stack frame.
- */
-public class AntStackFrame extends AntDebugElement implements IStackFrame {
-	
-	private AntThread fThread;
-	private String fName;
-	private int fLineNumber;
-	private String fFileName;
-	private String fFilePath;
-	private int fId;
-	
-	/**
-	 * Constructs a stack frame in the given thread with the given id.
-	 * 
-	 * @param thread
-	 * @param id stack frame id (0 is the top of the stack)
-	 */
-	public AntStackFrame(AntThread thread, int id, String name, String filePath, int lineNumber) {
-		super((AntDebugTarget) thread.getDebugTarget());
-		fId = id;
-		fThread = thread;
-		fLineNumber= lineNumber;
-		fName= name;
-		setFilePath(filePath);
-	}
-	
-	protected void setId(int id) {
-		fId= id;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStackFrame#getThread()
-	 */
-	public IThread getThread() {
-		return fThread;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStackFrame#getVariables()
-	 */
-	public IVariable[] getVariables() {
-	   return fThread.getVariables();
-	}
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStackFrame#hasVariables()
-	 */
-	public boolean hasVariables() {
-		return isSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStackFrame#getLineNumber()
-	 */
-	public int getLineNumber() {
-		return fLineNumber;
-	}
-	
-	protected void setLineNumber(int lineNumber) {
-		fLineNumber= lineNumber;
-	}
-	
-	protected void setFilePath(String filePath) {
-		fFilePath= filePath;
-		fFileName= new Path(fFilePath).lastSegment();
-	}
-	
-	protected String getFilePath() {
-		return fFilePath;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStackFrame#getCharStart()
-	 */
-	public int getCharStart() {
-		return -1;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStackFrame#getCharEnd()
-	 */
-	public int getCharEnd() {
-		return -1;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStackFrame#getName()
-	 */
-	public String getName() {
-		return fName;
-	}
-	
-	protected void setName(String name) {
-		fName= name;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStackFrame#getRegisterGroups()
-	 */
-	public IRegisterGroup[] getRegisterGroups() {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStackFrame#hasRegisterGroups()
-	 */
-	public boolean hasRegisterGroups() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#canStepInto()
-	 */
-	public boolean canStepInto() {
-		return getThread().canStepInto();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#canStepOver()
-	 */
-	public boolean canStepOver() {
-		return getThread().canStepOver();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#canStepReturn()
-	 */
-	public boolean canStepReturn() {
-		return getThread().canStepReturn();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#isStepping()
-	 */
-	public boolean isStepping() {
-		return getThread().isStepping();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#stepInto()
-	 */
-	public void stepInto() throws DebugException {
-		getThread().stepInto();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#stepOver()
-	 */
-	public void stepOver() throws DebugException {
-		getThread().stepOver();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#stepReturn()
-	 */
-	public void stepReturn() throws DebugException {
-		getThread().stepReturn();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#canResume()
-	 */
-	public boolean canResume() {
-		return getThread().canResume();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#canSuspend()
-	 */
-	public boolean canSuspend() {
-		return getThread().canSuspend();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#isSuspended()
-	 */
-	public boolean isSuspended() {
-		return getThread().isSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#resume()
-	 */
-	public void resume() throws DebugException {
-		getThread().resume();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#suspend()
-	 */
-	public void suspend() throws DebugException {
-		getThread().suspend();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		return getThread().canTerminate();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
-	public boolean isTerminated() {
-		return getThread().isTerminated();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
-	 */
-	public void terminate() throws DebugException {
-		getThread().terminate();
-	}
-	
-	/**
-	 * Returns the name of the buildfile this stack frame is associated
-	 * with.
-	 * 
-	 * @return the name of the buildfile this stack frame is associated
-	 * with
-	 */
-	public String getSourceName() {
-		return fFileName;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof AntStackFrame) {
-			AntStackFrame sf = (AntStackFrame)obj;
-			if (getSourceName() != null) {
-				return getSourceName().equals(sf.getSourceName()) &&
-					sf.getLineNumber() == getLineNumber() &&
-					sf.fId == fId;
-			} 
-			return sf.fId == fId;
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-	    if (getSourceName() == null) {
-	        return fId;
-	    }
-	    return getSourceName().hashCode() + fId;
-	}
-	
-	/**
-	 * Returns this stack frame's unique identifier within its thread
-	 * 
-	 * @return this stack frame's unique identifier within its thread
-	 */
-	protected int getIdentifier() {
-		return fId;
-	}
-    
-    /**
-     * Returns the system, user or runtime property
-     * name, or <code>null</code> if unable to resolve a property with the name.
-     *
-     * @param propertyName the name of the variable to search for
-     * @return a property, or <code>null</code> if none
-     */
-    public AntProperty findProperty(String propertyName) {
-        IVariable[] groups= getVariables();
-        for (int i = 0; i < groups.length; i++) {
-            AntProperties propertiesGrouping = (AntProperties) groups[i];
-            AntPropertiesValue value= (AntPropertiesValue) propertiesGrouping.getValue();
-            IVariable[] properties= value.getVariables();
-            for (int j = 0; j < properties.length; j++) {
-                AntProperty property = (AntProperty) properties[j];
-                if (property.getName().equals(propertyName)) {
-                    return property;
-                }
-            }
-        }
-        return null;
-    } 
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntThread.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntThread.java
deleted file mode 100644
index f2de731..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntThread.java
+++ /dev/null
@@ -1,443 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug.model;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IVariable;
-
-/**
- * An Ant build thread.
- */
-public class AntThread extends AntDebugElement implements IThread {
-	
-	/**
-	 * Breakpoints this thread is suspended at or <code>null</code>
-	 * if none.
-	 */
-	private IBreakpoint[] fBreakpoints;
-	
-	/**
-	 * The stackframes associated with this thread
-	 */
-	private List fFrames= new ArrayList(1);
-	
-	/**
-	 * The stackframes to be reused on suspension
-	 */
-	private List fOldFrames;
-	
-	/**
-	 * Whether this thread is stepping
-	 */
-	private boolean fStepping = false;
-	
-	private boolean fRefreshProperties= true;
-	
-	/**
-	 * The user properties associated with this thread
-	 */
-	private AntProperties fUserProperties;
-	
-	/**
-	 * The system properties associated with this thread
-	 */
-	private AntProperties fSystemProperties;
-	
-	/**
-	 * The properties set during the build associated with this thread
-	 */
-	private AntProperties fRuntimeProperties;
-	
-	/**
-	 * Constructs a new thread for the given target
-	 * 
-	 * @param target the Ant Build
-	 */
-	public AntThread(AntDebugTarget target) {
-		super(target);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IThread#getStackFrames()
-	 */
-	public synchronized IStackFrame[] getStackFrames() {
-		if (isSuspended()) {
-			if (fFrames.size() == 0) {
-				getStackFrames0();
-			}
-		} 
-		
-		return (IStackFrame[]) fFrames.toArray(new IStackFrame[fFrames.size()]);
-	}
-	
-	/**
-	 * Returns the current stack frames in the thread
-	 * possibly waiting until the frames are populated
-     * 
-	 * @return the current stack frames in the thread
-	 */
-	private synchronized void getStackFrames0() {
-		fTarget.getStackFrames();
-        if (fFrames.size() > 0) {
-            //frames set..no need to wait
-            return;
-        }
-		try {
-		    wait();
-		} catch (InterruptedException e) {
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IThread#hasStackFrames()
-	 */
-	public boolean hasStackFrames() throws DebugException {
-		return isSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IThread#getPriority()
-	 */
-	public int getPriority() throws DebugException {
-		return 0;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IThread#getTopStackFrame()
-	 */
-	public synchronized IStackFrame getTopStackFrame() {
-		if (isSuspended()) {
-			if (fFrames.size() == 0) {
-				getStackFrames0();
-			}
-			return (IStackFrame)fFrames.get(0);
-		} 
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IThread#getName()
-	 */
-	public String getName() {
-		return "Thread [Ant Build]"; //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IThread#getBreakpoints()
-	 */
-	public IBreakpoint[] getBreakpoints() {
-		if (fBreakpoints == null) {
-			return new IBreakpoint[0];
-		}
-		return fBreakpoints;
-	}
-	
-	/**
-	 * Sets the breakpoints this thread is suspended at, or <code>null</code>
-	 * if none.
-	 * 
-	 * @param breakpoints the breakpoints this thread is suspended at, or <code>null</code>
-	 * if none
-	 */
-	protected void setBreakpoints(IBreakpoint[] breakpoints) {
-		fBreakpoints = breakpoints;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#canResume()
-	 */
-	public boolean canResume() {
-		return isSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#canSuspend()
-	 */
-	public boolean canSuspend() {
-		return !isSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#isSuspended()
-	 */
-	public boolean isSuspended() {
-		return getDebugTarget().isSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#resume()
-	 */
-	public synchronized void resume() throws DebugException {
-		aboutToResume(DebugEvent.CLIENT_REQUEST, false);
-		getDebugTarget().resume();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ISuspendResume#suspend()
-	 */
-	public synchronized void suspend() throws DebugException {
-		getDebugTarget().suspend();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#canStepInto()
-	 */
-	public boolean canStepInto() {
-	    return isSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#canStepOver()
-	 */
-	public boolean canStepOver() {
-		return isSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#canStepReturn()
-	 */
-	public boolean canStepReturn() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#isStepping()
-	 */
-	public boolean isStepping() {
-		return fStepping;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#stepInto()
-	 */
-	public synchronized void stepInto() throws DebugException {
-	    aboutToResume(DebugEvent.STEP_INTO, true);
-		((AntDebugTarget)getDebugTarget()).stepInto();
-	}
-	
-	private void aboutToResume(int detail, boolean stepping) {
-	    fRefreshProperties= true;
-	    fOldFrames= new ArrayList(fFrames);
-        fFrames.clear();
-        setPropertiesValid(false);
-	    setStepping(stepping);
-	    setBreakpoints(null);
-		fireResumeEvent(detail);
-    }
-
-    private void setPropertiesValid(boolean valid) {
-        if (fUserProperties != null) {
-            fUserProperties.setValid(valid);
-            fSystemProperties.setValid(valid);
-            fRuntimeProperties.setValid(valid);
-        }
-    }
-
-    /* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#stepOver()
-	 */
-	public synchronized void stepOver() throws DebugException {
-	    aboutToResume(DebugEvent.STEP_OVER, true);
-		((AntDebugTarget)getDebugTarget()).stepOver();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IStep#stepReturn()
-	 */
-	public synchronized void stepReturn() throws DebugException {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		return !isTerminated();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
-	public boolean isTerminated() {
-		return getDebugTarget().isTerminated();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
-	 */
-	public void terminate() throws DebugException {
-		fFrames.clear();
-		getDebugTarget().terminate();
-	}
-	
-	/**
-	 * Sets whether this thread is stepping
-	 * 
-	 * @param stepping whether stepping
-	 */
-	protected void setStepping(boolean stepping) {
-		fStepping = stepping;
-	}
-
-    public synchronized void buildStack(String data) {
-		String[] strings= data.split(DebugMessageIds.MESSAGE_DELIMITER);
-		//0 STACK message
-		//1 targetName
-		//2 taskName
-		//3 filePath
-		//4 lineNumber
-		//5 ...
-		if (fOldFrames != null && (strings.length - 1)/ 4 != fOldFrames.size()) {
-			fOldFrames= null; //stack size changed..do not preserve
-		}
-		StringBuffer name;
-		String filePath;
-		int lineNumber;
-		int stackFrameId= 0;
-        String taskName;
-		for (int i = 1; i < strings.length; i++) {
-			if (strings[i].length() > 0) {
-                name= new StringBuffer(strings[i]);
-                taskName= strings[++i];
-                if (taskName.length() > 0) {
-                     name.append(": "); //$NON-NLS-1$
-                     name.append(taskName);
-                }
-			} else {
-				name= new StringBuffer(strings[++i]);
-			}
-			filePath= strings[++i];
-			lineNumber= Integer.parseInt(strings[++i]);
-			addFrame(stackFrameId++, name.toString(), filePath, lineNumber);
-		}
-		//wake up the call from getStackFrames
-		notifyAll();
-    }
-    
-    private void addFrame(int stackFrameId, String name, String filePath, int lineNumber) {
-    	AntStackFrame frame= getOldFrame();
-    	
-    	if (frame == null || !frame.getFilePath().equals(filePath)) {
-    		frame= new AntStackFrame(this, stackFrameId, name, filePath, lineNumber);
-    	} else {
-    		frame.setFilePath(filePath);
-    		frame.setId(stackFrameId);
-    		frame.setLineNumber(lineNumber);
-    		frame.setName(name);
-    	}
-		fFrames.add(frame);
-    }
-    
-    private AntStackFrame getOldFrame() {
-    	if (fOldFrames == null) {
-    		return null;
-    	}
-    	AntStackFrame frame= (AntStackFrame) fOldFrames.remove(0);
-    	if (fOldFrames.isEmpty()) {
-    		fOldFrames= null;
-    	}
-    	return frame;
-    }
-    
-    public synchronized void newProperties(String data) {
-	    try {
-	    	String[] datum= data.split(DebugMessageIds.MESSAGE_DELIMITER);
-	    	if (fUserProperties == null) {
-	    		initializePropertyGroups();
-	    	}
-	    	
-	    	List userProperties= ((AntPropertiesValue)fUserProperties.getLastValue()).getProperties();
-	    	List systemProperties= ((AntPropertiesValue)fSystemProperties.getLastValue()).getProperties();
-	    	List runtimeProperties= ((AntPropertiesValue)fRuntimeProperties.getLastValue()).getProperties();
-	    	//0 PROPERTIES message
-	    	//1 propertyName length
-	    	//2 propertyName
-	    	//3 propertyValue length
-	    	//3 propertyValue
-	    	//4 propertyType
-	    	//5 ...
-	    	if (datum.length > 1) { //new properties
-	    		String propertyName;
-	    		String propertyValue;
-	    		int propertyNameLength;
-	    		int propertyValueLength;
-	    		for (int i = 1; i < datum.length; i++) {
-	    			propertyNameLength= Integer.parseInt(datum[i]);
-	    			propertyName= datum[++i];
-	    			while (propertyName.length() != propertyNameLength) {
-	    				propertyName+= DebugMessageIds.MESSAGE_DELIMITER + datum[++i];
-	    			}
-	    			propertyValueLength= Integer.parseInt(datum[++i]);
-	    			if (propertyValueLength == 0 && i + 1 == datum.length) { //bug 81299
-	    				propertyValue= ""; //$NON-NLS-1$
-	    			} else {
-	    				propertyValue= datum[++i];
-	    			}
-	    			while (propertyValue.length() != propertyValueLength) {
-	    				propertyValue+= DebugMessageIds.MESSAGE_DELIMITER + datum[++i];
-	    			}
-	    			
-	    			int propertyType= Integer.parseInt(datum[++i]);
-	    			addProperty(userProperties, systemProperties, runtimeProperties, propertyName, propertyValue, propertyType);
-	    		}
-	    	}
-	    } finally {
-            fRefreshProperties= false;
-            setPropertiesValid(true);
-	        //wake up the call from getVariables
-	    	notifyAll();
-	    }
-	}
-
-	private void addProperty(List userProperties, List systemProperties, List runtimeProperties, String propertyName, String propertyValue, int propertyType) {
-		AntProperty property= new AntProperty((AntDebugTarget) getDebugTarget(), propertyName, propertyValue);
-		switch (propertyType) {
-			case DebugMessageIds.PROPERTY_SYSTEM:
-				systemProperties.add(property);
-				break;
-			case DebugMessageIds.PROPERTY_USER:
-				userProperties.add(property);
-				break;
-			case DebugMessageIds.PROPERTY_RUNTIME:
-				runtimeProperties.add(property);
-				break;
-		}
-	}
-
-	private void initializePropertyGroups() {
-		fUserProperties= new AntProperties(fTarget, DebugModelMessages.getString("AntThread.0")); //$NON-NLS-1$
-		fUserProperties.setValue(new AntPropertiesValue(fTarget));
-		fSystemProperties= new AntProperties(fTarget, DebugModelMessages.getString("AntThread.1")); //$NON-NLS-1$
-		fSystemProperties.setValue(new AntPropertiesValue(fTarget));
-		fRuntimeProperties= new AntProperties(fTarget, DebugModelMessages.getString("AntThread.2")); //$NON-NLS-1$
-		fRuntimeProperties.setValue(new AntPropertiesValue(fTarget));
-	}
-    
-    protected synchronized IVariable[] getVariables() {
-        if (fRefreshProperties) {
-            fTarget.getProperties();
-            if (fRefreshProperties) { 
-            //properties have not been set; need to wait
-                try {
-                    wait();
-                } catch (InterruptedException ie) {
-                }
-            }
-        }
-        return new IVariable[]{fSystemProperties, fUserProperties, fRuntimeProperties};
-      }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntValue.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntValue.java
deleted file mode 100644
index a9d5e3e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/AntValue.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.debug.model;
-
-import org.eclipse.ant.internal.ui.debug.IAntDebugConstants;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-
-public class AntValue extends AntDebugElement implements IValue  {
-
-    private String fValueString;
-    
-    /**
-     * @param target
-     */
-    public AntValue(AntDebugTarget target, String value) {
-        super(target);
-        fValueString= value;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IValue#getReferenceTypeName()
-     */
-    public String getReferenceTypeName() {
-        return ""; //$NON-NLS-1$
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IValue#getValueString()
-     */
-    public String getValueString() {
-        return fValueString;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IValue#isAllocated()
-     */
-    public boolean isAllocated() {
-        return true;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IValue#getVariables()
-     */
-    public IVariable[] getVariables() {
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IValue#hasVariables()
-     */
-    public boolean hasVariables() {
-        return false;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
-     */
-    public String getModelIdentifier() {
-        return IAntDebugConstants.ID_ANT_DEBUG_MODEL;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugMessageIds.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugMessageIds.java
deleted file mode 100644
index 8b4e482..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugMessageIds.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug.model;
-
-public class DebugMessageIds {
-	
-	public final static String MESSAGE_DELIMITER= ","; //$NON-NLS-1$
-	
-	public final static String BUILD_STARTED=   "build_started"; //$NON-NLS-1$
-	public final static String TARGET_STARTED= "target_started"; //$NON-NLS-1$
-	public final static String TARGET_FINISHED= "target_finished"; //$NON-NLS-1$
-	public final static String TASK_STARTED= "task_started"; //$NON-NLS-1$
-	public final static String TASK_FINISHED= "task_finished"; //$NON-NLS-1$
-	
-	public final static String STEP= "step"; //$NON-NLS-1$
-	public final static String STEP_OVER= "step_over"; //$NON-NLS-1$
-	public final static String STEP_INTO= "step_into"; //$NON-NLS-1$
-	
-	public final static String TERMINATE= "terminate"; //$NON-NLS-1$
-	public final static String TERMINATED= "terminated"; //$NON-NLS-1$
-	
-	public final static String SUSPEND= "suspend"; //$NON-NLS-1$
-	public final static String SUSPENDED= "suspended"; //$NON-NLS-1$
-	
-	public final static String RESUME= "resume"; //$NON-NLS-1$
-	
-	public final static String STACK= "stack"; //$NON-NLS-1$
-	
-	public final static String ADD_BREAKPOINT= "add"; //$NON-NLS-1$
-	public final static String REMOVE_BREAKPOINT= "remove"; //$NON-NLS-1$
-	
-	public final static String CLIENT_REQUEST= "client"; //$NON-NLS-1$
-	public final static String BREAKPOINT= "breakpoint"; //$NON-NLS-1$
-	
-	public final static String PROPERTIES= "prop"; //$NON-NLS-1$
-	public final static String PROPERTY_VALUE= "value"; //$NON-NLS-1$
-	public final static int PROPERTY_USER= 0;
-	public final static int PROPERTY_SYSTEM= 1;
-	public final static int PROPERTY_RUNTIME= 2;
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugModelMessages.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugModelMessages.java
deleted file mode 100644
index 589f2c4..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugModelMessages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.debug.model;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class DebugModelMessages {
-	
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.debug.model.DebugModelMessages";//$NON-NLS-1$
-	
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-	
-	private DebugModelMessages() {
-	}
-	
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugModelMessages.properties b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugModelMessages.properties
deleted file mode 100644
index c7a2263..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/DebugModelMessages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2004, 2005 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
-###############################################################################
-
-AntDebugTarget.0=Ant Build
-
-AntDebugModelPresentation.0=<not available>
-AntDebugModelPresentation.1=\ line: {0}
-AntDebugModelPresentation.2=(breakpoint at line {0} in {1})
-AntDebugModelPresentation.3=\ (Suspended {0})
-AntDebugModelPresentation.4=\ (Suspended)
-AntDebugModelPresentation.5=(run to line {0} in {1})
-
-AntLineBreakpoint.0=Ant breakpoint [line: {0}]
-AntThread.0=User Properties
-AntThread.1=System Properties
-AntThread.2=Runtime Properties
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/RemoteAntDebugBuildListener.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/RemoteAntDebugBuildListener.java
deleted file mode 100644
index fcd321d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/debug/model/RemoteAntDebugBuildListener.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.internal.ui.debug.model;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.net.Socket;
-import java.net.UnknownHostException;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.debug.IAntDebugController;
-import org.eclipse.ant.internal.ui.launchConfigurations.RemoteAntBuildListener;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.core.model.IProcess;
-
-public class RemoteAntDebugBuildListener extends RemoteAntBuildListener implements IAntDebugController {
-	
-	// sockets to communicate with the remote Ant debug build logger
-	private Socket fRequestSocket;
-	private PrintWriter fRequestWriter;
-	private BufferedReader fResponseReader;
-	
-	private int fRequestPort= -1;
-	private Thread fReaderThread;
-	
-	private AntDebugTarget fTarget;
-	
-	/**
-	 * Reader thread that processes request responses from the remote Ant debug build logger
-	 */
-	private class ReaderThread extends Thread {
-		public ReaderThread() {
-			super("Ant Request Response Reader Thread"); //$NON-NLS-1$
-			setDaemon(true);
-		}
-
-		public void run(){
-			try { 
-				String message= null; 
-				while (fResponseReader != null) { 
-				    synchronized (RemoteAntDebugBuildListener.this) {
-				        if (fResponseReader != null && (message= fResponseReader.readLine()) != null) {
-				            receiveMessage(message);
-				        }
-				    }
-				} 
-			} catch (IOException ie) { //the other end has shutdown
-				RemoteAntDebugBuildListener.this.shutDown();
-			} catch (Exception e) {
-				AntUIPlugin.log("Internal error processing remote response", e); //$NON-NLS-1$
-				RemoteAntDebugBuildListener.this.shutDown();
-			}
-		}
-	}	
-	
-	public RemoteAntDebugBuildListener(ILaunch launch) {
-		super(launch);
-		//fDebug= true;
-	}
-	
-	protected void receiveMessage(String message) {
-		if (fDebug) {
-			System.out.println(message);
-		}
-		if (message.startsWith(DebugMessageIds.BUILD_STARTED)) {
-			buildStarted();
-		} else if (message.startsWith(DebugMessageIds.SUSPENDED)){
-			handleSuspendMessage(message);
-		} else if (message.startsWith(DebugMessageIds.TERMINATED)){
-			fTarget.terminated();
-		} else if (message.startsWith(DebugMessageIds.STACK)){
-			AntThread thread= (AntThread) fTarget.getThreads()[0];
-			thread.buildStack(message);
-		} else if (message.startsWith(DebugMessageIds.PROPERTIES)){
-		    AntThread thread= (AntThread) fTarget.getThreads()[0];
-		    thread.newProperties(message);
-		} else {
-			super.receiveMessage(message);
-		}
-	}
-
-    private void handleSuspendMessage(String message) {
-        if (message.endsWith(DebugMessageIds.CLIENT_REQUEST)) {
-        	fTarget.suspended(DebugEvent.CLIENT_REQUEST);
-        } else if (message.endsWith(DebugMessageIds.STEP)) {
-        	fTarget.suspended(DebugEvent.STEP_END);
-        } else if (message.indexOf(DebugMessageIds.BREAKPOINT) >= 0) {
-        	fTarget.breakpointHit(message);
-        }
-    }
-
-    private void buildStarted() {
-        IProcess process= getProcess();
-        while(process == null) {
-        	try {
-        		synchronized (this) {
-        			wait(400);
-        		}
-        		process= getProcess();
-        	} catch (InterruptedException ie) {
-        	}
-        }
-        fTarget= new AntDebugTarget(fLaunch, process, this);
-        fLaunch.addDebugTarget(fTarget);
-        
-        if (!connectRequest()) {
-			RemoteAntDebugBuildListener.this.shutDown();
-			return;
-        }
-        
-        fTarget.buildStarted();
-    }
-
-    private boolean connectRequest() {
-    	Exception exception= null;
-    	for (int i= 1; i < 20; i++) {
-    		try {
-    			fRequestSocket = new Socket("localhost", fRequestPort); //$NON-NLS-1$
-    			fRequestWriter = new PrintWriter(fRequestSocket.getOutputStream(), true);
-    			fResponseReader = new BufferedReader(new InputStreamReader(fRequestSocket.getInputStream()));
-    			
-    			fReaderThread= new ReaderThread();
-    			fReaderThread.start();
-    			return true;
-    		} catch (UnknownHostException e) {
-    			exception= e;
-    			break;
-    		} catch (IOException e) {
-    			exception= e;
-    		}
-    		try {
-				Thread.sleep(500);
-			} catch(InterruptedException e) {
-			}
-    	}
-    	AntUIPlugin.log("Internal error attempting to connect to debug target", exception); //$NON-NLS-1$
-    	return false;
-	}
-
-	/**
-	 * Start listening to an Ant build. Start a server connection that
-	 * the RemoteAntDebugBuildLogger can connect to.
-	 * 
-	 * @param port The port number to create the server connection on
-	 */
-	public synchronized void startListening(int eventPort, int requestPort) {
-		super.startListening(eventPort);
-		fRequestPort= requestPort;
-	}
-	
-	/**
-	 * Sends a request to the Ant build
-	 * 
-	 * @param request debug command
-	 */
-	protected void sendRequest(String request) {
-		if (fRequestSocket == null) {
-			return;
-		}
-		synchronized (fRequestSocket) {
-			fRequestWriter.println(request);
-		}		
-	}
-	
-	protected synchronized void shutDown() {
-		if (fDebug) {
-			System.out.println("shutdown " + fRequestPort); //$NON-NLS-1$
-		}
-        if (fTarget != null) {
-            fTarget.terminated();
-            fTarget= null;
-        }
-		fLaunch= null;
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
-		try {
-			if (fReaderThread != null)   {
-				// interrupt reader thread so that we don't block on close
-				// on a lock held by the BufferedReader
-				// see bug: 38955
-				fReaderThread.interrupt();
-			}
-			if (fResponseReader != null) {
-				fResponseReader.close();
-				fResponseReader= null;
-			}
-		} catch(IOException e) {
-		}	
-		if (fRequestWriter != null) {
-			fRequestWriter.close();
-			fRequestWriter= null;
-		}
-		try{
-			if(fRequestSocket != null) {
-				fRequestSocket.close();
-				fRequestSocket= null;
-			}
-		} catch(IOException e) {
-		}
-		super.shutDown();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#resume()
-	 */
-	public void resume() {
-		sendRequest(DebugMessageIds.RESUME);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#suspend()
-	 */
-	public void suspend() {
-		sendRequest(DebugMessageIds.SUSPEND);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#stepInto()
-	 */
-	public void stepInto() {
-		sendRequest(DebugMessageIds.STEP_INTO);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#stepOver()
-	 */
-	public void stepOver() {
-		sendRequest(DebugMessageIds.STEP_OVER);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#handleBreakpoint(IBreakpoint, boolean)
-	 */
-	public void handleBreakpoint(IBreakpoint breakpoint, boolean add) {
-		if (fTarget == null || !fTarget.supportsBreakpoint(breakpoint)) {
-			return;
-		}
-		StringBuffer message= new StringBuffer();
-		if (add) {
-			try {
-				if (!breakpoint.isEnabled()) {
-					return;
-				}
-			} catch (CoreException e) {
-				AntUIPlugin.log(e);
-				return;
-			}
-			message.append(DebugMessageIds.ADD_BREAKPOINT);
-		} else {
-			message.append(DebugMessageIds.REMOVE_BREAKPOINT);
-		}
-		message.append(DebugMessageIds.MESSAGE_DELIMITER);
-		message.append(breakpoint.getMarker().getResource().getLocation().toOSString());
-		message.append(DebugMessageIds.MESSAGE_DELIMITER);
-		try {
-			message.append(((ILineBreakpoint)breakpoint).getLineNumber());
-			sendRequest(message.toString());
-		} catch (CoreException ce) {
-			AntUIPlugin.log(ce);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#getProperties()
-	 */
-	public void getProperties() {
-		sendRequest(DebugMessageIds.PROPERTIES);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.debug.IAntDebugController#getStackFrames()
-	 */
-	public void getStackFrames() {
-		sendRequest(DebugMessageIds.STACK);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AddVariableStringAction.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AddVariableStringAction.java
deleted file mode 100644
index a028b47..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AddVariableStringAction.java
+++ /dev/null
@@ -1,43 +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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.jdt.internal.debug.ui.actions.RuntimeClasspathAction;
-import org.eclipse.jdt.internal.debug.ui.launcher.IClasspathViewer;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-
-public class AddVariableStringAction extends RuntimeClasspathAction {
-	
-	public AddVariableStringAction(IClasspathViewer viewer) {
-		super(AntLaunchConfigurationMessages.getString("AddVariableStringAction.1"), viewer); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.debug.ui.actions.RuntimeClasspathAction#getActionType()
-	 */
-	protected int getActionType() {
-		return ADD;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		VariableInputDialog inputDialog = new VariableInputDialog(getShell());
-		inputDialog.open();
-		String variableString= inputDialog.getVariableString();
-		if (variableString != null && variableString.trim().length() > 0) {
-			IRuntimeClasspathEntry newEntry = JavaRuntime.newStringVariableClasspathEntry(variableString);
-			getViewer().addEntries(new IRuntimeClasspathEntry[] {newEntry});
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuildTab.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuildTab.java
deleted file mode 100644
index caeb638..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuildTab.java
+++ /dev/null
@@ -1,427 +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.ant.internal.ui.launchConfigurations;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-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.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.Group;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.ListSelectionDialog;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-/**
- * A launch configuration tab which allows the user to specify
- * which resources should be built before the Ant build (a build scope)
- * <p>
- * This class may be instantiated; this class is not intended
- * to be subclassed.
- * </p>
- * @since 3.0
- */
-public class AntBuildTab extends AbstractLaunchConfigurationTab {
-
-	/**
-	 * String attribute identifying the build scope for this launch configuration.
-	 * <code>null</code> indicates the default workspace build.
-	 */
-	public static final String ATTR_BUILD_SCOPE = AntUIPlugin.getUniqueIdentifier() + ".ATTR_BUILD_SCOPE"; //$NON-NLS-1$
-
-	/**
-	 * Attribute identifier specifying whether referenced projects should be 
-	 * considered when computing the projects to build. Default value is
-	 * <code>true</code>.
-	 */
-	public static final String ATTR_INCLUDE_REFERENCED_PROJECTS = AntUIPlugin.getUniqueIdentifier() + ".ATTR_INCLUDE_REFERENCED_PROJECTS"; //$NON-NLS-1$
-	
-	// Check Buttons
-	private Button fBuildButton;
-	
-	// Group box
-	private Group fGroup;
-	
-	// Radio Buttons
-	private Button fProjectButton;
-	private Button fSpecificProjectsButton;
-	private Button fWorkspaceButton;
-	
-	// Push Button
-	private Button fSelectButton;
-	
-	// whether to include referenced projects
-	private Button fReferencedProjects;
-	
-	// projects to build (empty if none)
-	private List fProjects = new ArrayList();
-	
-	class ProjectsContentProvider implements IStructuredContentProvider {
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return ((IWorkspace)inputElement).getRoot().getProjects();
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-		
-	}
-	/**
-	 * @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);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IAntUIHelpContextIds.ANT_BUILD_TAB);
-		
-		GridLayout layout = new GridLayout();
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gd);
-		mainComposite.setFont(parent.getFont());
-		
-		fBuildButton = createCheckButton(mainComposite, AntLaunchConfigurationMessages.getString("AntBuildTab.1")); //$NON-NLS-1$
-		fBuildButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateEnabledState();
-				updateLaunchConfigurationDialog();
-			}
-		});
-		
-		fGroup = new Group(mainComposite, SWT.NONE);
-		fGroup.setFont(mainComposite.getFont());
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = false;
-		fGroup.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fGroup.setLayoutData(gd);
-
-		SelectionAdapter adapter = new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (((Button)e.getSource()).getSelection()) {
-					updateEnabledState();
-					updateLaunchConfigurationDialog();
-				}
-			}
-		};
-		
-		fWorkspaceButton = createRadioButton(fGroup, AntLaunchConfigurationMessages.getString("AntBuildTab.2")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fWorkspaceButton.setLayoutData(gd);
-		fWorkspaceButton.addSelectionListener(adapter);
-		
-		fProjectButton = createRadioButton(fGroup, AntLaunchConfigurationMessages.getString("AntBuildTab.3")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		fProjectButton.setLayoutData(gd);		
-		fProjectButton.addSelectionListener(adapter);
-				
-		fSpecificProjectsButton = createRadioButton(fGroup, AntLaunchConfigurationMessages.getString("AntBuildTab.4")); //$NON-NLS-1$
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 1;
-		fSpecificProjectsButton.setLayoutData(gd);
-		fSpecificProjectsButton.addSelectionListener(adapter);		
-		
-		fSelectButton = createPushButton(fGroup, AntLaunchConfigurationMessages.getString("AntBuildTab.5"), null); //$NON-NLS-1$
-		gd = (GridData)fSelectButton.getLayoutData();
-		gd.horizontalAlignment = GridData.HORIZONTAL_ALIGN_END;
-		fSelectButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectResources();
-			}
-		});
-		
-		createVerticalSpacer(mainComposite, 1);
-		fReferencedProjects = createCheckButton(mainComposite, AntLaunchConfigurationMessages.getString("AntBuildTab.6")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Prompts the user to select the projects to build.
-	 */
-	private void selectResources() {
-		ListSelectionDialog dialog = new ListSelectionDialog(getShell(), ResourcesPlugin.getWorkspace(), new ProjectsContentProvider(), new WorkbenchLabelProvider(), AntLaunchConfigurationMessages.getString("AntBuildTab.7")); //$NON-NLS-1$
-		dialog.setInitialElementSelections(fProjects);
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-		Object[] res = dialog.getResult();
-		fProjects = new ArrayList(res.length);
-		for (int i = 0; i < res.length; i++) {
-			fProjects.add(res[i]);
-		}
-		updateLaunchConfigurationDialog();
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		updateScope(configuration);
-		updateReferencedProjects(configuration);
-		updateEnabledState();		
-	}
-	
-	private void updateReferencedProjects(ILaunchConfiguration configuration) {
-		boolean ref = false;
-		try {
-			ref = configuration.getAttribute(ATTR_INCLUDE_REFERENCED_PROJECTS, true);
-		} catch (CoreException e) {
-			AntUIPlugin.log(AntUIPlugin.newErrorStatus("Exception reading launch configuration", e)); //$NON-NLS-1$
-		}
-		fReferencedProjects.setSelection(ref);
-	}
-
-	/**
-	 * Updates the tab to display the build scope specified by the launch config
-	 */
-	private void updateScope(ILaunchConfiguration configuration) {
-		String scope = null;
-		try {
-			scope= configuration.getAttribute(ATTR_BUILD_SCOPE, (String)null);
-		} catch (CoreException ce) {
-			AntUIPlugin.log(AntUIPlugin.newErrorStatus("Exception reading launch configuration", ce)); //$NON-NLS-1$
-		}
-		fBuildButton.setSelection(scope != null);
-		fWorkspaceButton.setSelection(false);
-		fProjectButton.setSelection(false);
-		fSpecificProjectsButton.setSelection(false);
-		fProjects.clear();
-		if (scope == null) {
-			// select the workspace by default
-			fBuildButton.setSelection(true);
-			fWorkspaceButton.setSelection(true);
-		} else {
-			if (scope.equals("${none}")) { //$NON-NLS-1$
-				fBuildButton.setSelection(false);
-			} else if (scope.equals("${project}")) { //$NON-NLS-1$
-				fProjectButton.setSelection(true);
-			} else if (scope.startsWith("${projects:")) { //$NON-NLS-1$
-				fSpecificProjectsButton.setSelection(true);
-				IProject[] projects = getBuildProjects(scope);
-				fProjects = new ArrayList(projects.length);
-				for (int i = 0; i < projects.length; i++) {
-					fProjects.add(projects[i]);
-				}
-			}
-		}
-	}
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		String scope = generateScopeMemento();
-		configuration.setAttribute(ATTR_BUILD_SCOPE, scope);
-		if (fReferencedProjects.getSelection()) {
-			// default is true
-			configuration.setAttribute(ATTR_INCLUDE_REFERENCED_PROJECTS, (String)null);
-		} else {
-			configuration.setAttribute(ATTR_INCLUDE_REFERENCED_PROJECTS, false);
-		}
-	}
-
-	/**
-	 * Generates a memento for the build scope.
-	 */
-	private String generateScopeMemento() {
-		if (fBuildButton.getSelection()) {
-			if (fWorkspaceButton.getSelection()) {
-				return null;
-			}
-			if (fProjectButton.getSelection()) {
-				return "${project}"; //$NON-NLS-1$
-			}
-			if (fSpecificProjectsButton.getSelection()) {
-				return getBuildScopeAttribute(fProjects);
-			}
-			return null;
-			
-		}
-		return "${none}"; //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return AntLaunchConfigurationMessages.getString("AntBuildTab.8"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Updates the enablement state of the fields.
-	 */
-	private void updateEnabledState() {
-		boolean enabled= fBuildButton.getSelection();
-		fGroup.setEnabled(enabled);
-		fWorkspaceButton.setEnabled(enabled);
-		fProjectButton.setEnabled(enabled);
-		fSpecificProjectsButton.setEnabled(enabled);
-		fSelectButton.setEnabled(enabled && fSpecificProjectsButton.getSelection());
-		if (!enabled) {
-			super.setErrorMessage(null);
-		}
-		if (enabled) {
-			if (!fWorkspaceButton.getSelection() && !fProjectButton.getSelection() &&
-					!fSpecificProjectsButton.getSelection()) {
-				fWorkspaceButton.setSelection(true);
-			}
-		}
-		fReferencedProjects.setEnabled(fBuildButton.getSelection() && (fProjectButton.getSelection() || fSpecificProjectsButton.getSelection()));
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return AntUIImages.getImage(IAntUIConstants.IMG_ANT_BUILD_TAB);
-	}
-
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		setErrorMessage(null);
-		setMessage(null);
-		if (fBuildButton.getSelection() && fSpecificProjectsButton.getSelection() && fProjects.isEmpty()) {
-			setErrorMessage(AntLaunchConfigurationMessages.getString("AntBuildTab.9")); //$NON-NLS-1$
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns a collection of projects referenced by a build scope attribute.
-	 * 
-	 * @param scope build scope attribute (<code>ATTR_BUILD_SCOPE</code>)
-	 * @return collection of porjects referred to by the scope attribute
-	 */
-	public static IProject[] getBuildProjects(String scope) {
-		if (scope.startsWith("${projects:")) { //$NON-NLS-1$
-			String pathString = scope.substring(11, scope.length() - 1);
-			if (pathString.length() > 1) {
-				String[] names = pathString.split(","); //$NON-NLS-1$
-				IProject[] projects = new IProject[names.length];
-				IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-				for (int i = 0; i < names.length; i++) {
-					projects[i] = root.getProject(names[i]);
-				}
-				return projects;
-			}
-		} else if (scope.equals("${project}")) { //$NON-NLS-1$
-			IResource resource = DebugUITools.getSelectedResource();
-			if (resource != null) {
-				return new IProject[]{resource.getProject()};
-			}
-		}
-		return new IProject[0];
-	}
-	
-	/**
-	 * Returns the build scope attribute specified by the given launch configuration
-	 * or <code>null</code> if none.
-	 * 
-	 * @param configuration launch configuration
-	 * @return build scope attribute (<code>ATTR_BUILD_SCOPE</code>)
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static String getBuildScope(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(ATTR_BUILD_SCOPE, (String) null);
-	}
-	
-	/**
-	 * Whether referenced projects should be considered when building. Only valid
-	 * when a set of projects is to be built.
-	 * 
-	 * @param configuration
-	 * @return whether referenced projects should be considerd when building
-	 * @throws CoreException if unable to access the associated attribute
-	 */
-	public static boolean isIncludeReferencedProjects(ILaunchConfiguration configuration) throws CoreException {
-		return configuration.getAttribute(ATTR_INCLUDE_REFERENCED_PROJECTS, true);
-	}
-	
-	/**
-	 * Creates and returns a memento for the given project set, to be used as a
-	 * build scope attribute.
-	 * 
-	 * @param projects list of projects
-	 * @return an equivalent refresh attribute
-	 */
-	public static String getBuildScopeAttribute(List projects) {
-		StringBuffer buf = new StringBuffer();
-		buf.append("${projects:"); //$NON-NLS-1$
-		Iterator iterator = projects.iterator();
-		while (iterator.hasNext()) {
-			IProject project = (IProject) iterator.next();
-			buf.append(project.getName());
-			if (iterator.hasNext()) {
-				buf.append(","); //$NON-NLS-1$
-			}
-		}
-		buf.append("}"); //$NON-NLS-1$
-		return buf.toString();
-	}
-	
-	/* (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
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuilderTabGroup.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuilderTabGroup.java
deleted file mode 100644
index 67a7bf8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuilderTabGroup.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-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 AntBuilderTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/* (non-Javadoc)
-	 * @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 AntMainTab(),
-			new RefreshTab(),	
-            new AntBuilderTargetsTab(),
-			new AntClasspathTab(),
-			new AntPropertiesTab(),
-			new AntJRETab(),
-			new AntEnvironmentTab(),
-			new ExternalToolsBuilderTab(false)
-		};
-		setTabs(tabs);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuilderTargetsTab.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuilderTargetsTab.java
deleted file mode 100644
index 9e98de7..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntBuilderTargetsTab.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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.ant.internal.ui.launchConfigurations;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.IDialogConstants;
-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.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.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.externaltools.internal.model.BuilderUtils;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-
-public class AntBuilderTargetsTab extends AbstractLaunchConfigurationTab {
-	
-    private ILaunchConfiguration fConfiguration;
-    
-	private Button fAfterCleanTarget;
-	private Button fManualBuildTarget;
-	private Button fAutoBuildTarget;
-	private Button fDuringCleanTarget;
-    
-    private Text fAfterCleanTargetText;
-    private Text fManualBuildTargetText;
-    private Text fAutoBuildTargetText;
-    private Text fDuringCleanTargetText;
-    
-    private Map fAttributeToTargets= new HashMap();
-    
-    private static final String NO_TARGETS_SELECTED= AntLaunchConfigurationMessages.getString("AntBuilderTargetsTab.0");  //$NON-NLS-1$
-    
-	private SelectionListener fSelectionListener= new SelectionAdapter() {
-		/* (non-Javadoc)
-		 * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-            String attribute= null;
-			Object source = e.getSource();
-            Text text= null;
-			if (source == fAfterCleanTarget) {
-                attribute= IAntLaunchConfigurationConstants.ATTR_ANT_AFTER_CLEAN_TARGETS;
-                text= fAfterCleanTargetText;
-			} else if (source == fManualBuildTarget) {
-                attribute= IAntLaunchConfigurationConstants.ATTR_ANT_MANUAL_TARGETS;
-                text= fManualBuildTargetText;
-			} else if (source == fAutoBuildTarget) {
-                attribute= IAntLaunchConfigurationConstants.ATTR_ANT_AUTO_TARGETS;
-                text= fAutoBuildTargetText;
-			} else if (source == fDuringCleanTarget) {
-                attribute= IAntLaunchConfigurationConstants.ATTR_ANT_CLEAN_TARGETS;
-                text= fDuringCleanTargetText;
-			}
-			
-            setTargets(attribute, text);
-            updateLaunchConfigurationDialog();
-		}
-	};
-	
-	public AntBuilderTargetsTab() {
-		super();
-	}
-	
-	protected void createTargetsComponent(Composite parent) {
-	    createLabel(AntLaunchConfigurationMessages.getString("AntBuilderTargetsTab.1"), parent); //$NON-NLS-1$
-	    fAfterCleanTargetText= createText(parent);
-		fAfterCleanTarget = createPushButton(parent, AntLaunchConfigurationMessages.getString("AntBuilderTargetsTab.2"), null); //$NON-NLS-1$
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		fAfterCleanTarget.setLayoutData(gd);
-		fAfterCleanTarget.addSelectionListener(fSelectionListener);
-		
-		createLabel(AntLaunchConfigurationMessages.getString("AntBuilderTargetsTab.3"), parent); //$NON-NLS-1$
-        fManualBuildTargetText = createText(parent);
-		fManualBuildTarget = createPushButton(parent, AntLaunchConfigurationMessages.getString("AntBuilderTargetsTab.4"), null); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		fManualBuildTarget.setLayoutData(gd);
-		fManualBuildTarget.addSelectionListener(fSelectionListener);
-        
-        createLabel(AntLaunchConfigurationMessages.getString("AntBuilderTargetsTab.5"), parent); //$NON-NLS-1$
-        fAutoBuildTargetText = createText(parent);
-		fAutoBuildTarget = createPushButton(parent, AntLaunchConfigurationMessages.getString("AntBuilderTargetsTab.6"), null); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		fAutoBuildTarget.setLayoutData(gd);
-		fAutoBuildTarget.addSelectionListener(fSelectionListener);
-        
-        createLabel(AntLaunchConfigurationMessages.getString("AntBuilderTargetsTab.7"), parent); //$NON-NLS-1$
-        fDuringCleanTargetText = createText(parent);
-		fDuringCleanTarget = createPushButton(parent, AntLaunchConfigurationMessages.getString("AntBuilderTargetsTab.8"), null); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		fDuringCleanTarget.setLayoutData(gd);
-		fDuringCleanTarget.addSelectionListener(fSelectionListener);
-	}
-
-    private Label createLabel(String text, Composite parent) {
-        Label newLabel= new Label(parent, SWT.NONE);
-        newLabel.setText(text);
-        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.horizontalSpan = 2;
-        newLabel.setLayoutData(gd);
-        newLabel.setFont(parent.getFont());
-        return newLabel;
-    }
-    private Text createText(Composite parent) {
-        GridData gd;
-        Text newText = new Text(parent, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL | SWT.READ_ONLY);
-        newText.setFont(parent.getFont());
-        gd = new GridData(GridData.FILL_HORIZONTAL);
-        gd.heightHint = 40;
-        gd.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-        newText.setLayoutData(gd);
-        return newText;
-    }
-    
-	protected void setTargets(String attribute, Text text) {
-        ILaunchConfigurationWorkingCopy copy= null;
-        try {
-            copy = fConfiguration.getWorkingCopy();
-        } catch (CoreException e) {
-           return;
-        }
-        copy.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, (String)fAttributeToTargets.get(attribute));
-		SetTargetsDialog dialog= new SetTargetsDialog(getShell(), copy);
-        String targetsSelected= null;
-		if (dialog.open() == Window.OK) {
-		    targetsSelected= dialog.getTargetsSelected();
-        }
-        if (targetsSelected == null) {
-            return; //user cancelled
-        }
-       
-        if (targetsSelected.length() == 0) {
-            fAttributeToTargets.remove(attribute);
-            text.setText(NO_TARGETS_SELECTED);
-            text.setEnabled(false);
-         } else {
-             text.setEnabled(true);
-             fAttributeToTargets.put(attribute, targetsSelected);
-             setTargetsForUser(text, targetsSelected, null);
-         }
-	}
-
-    private void setTargetsForUser(Text text, String targetsSelected, String configTargets) {
-        if (targetsSelected == null) {
-            if (configTargets == null) {
-                text.setText(NO_TARGETS_SELECTED);
-                return;
-            } 
-            targetsSelected= configTargets;
-        }
-        String[] targets= AntUtil.parseRunTargets(targetsSelected);
-        StringBuffer result= new StringBuffer(targets[0]);
-        for (int i = 1; i < targets.length; i++) {
-             result.append(", "); //$NON-NLS-1$
-             result.append(targets[i]);
-        }
-        text.setText(result.toString());
-    }
-
-    public void createControl(Composite parent) {
-        Composite mainComposite = new Composite(parent, SWT.NONE);
-        setControl(mainComposite);
-        PlatformUI.getWorkbench().getHelpSystem().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;
-        layout.horizontalSpacing=0;
-        layout.verticalSpacing=0;
-        mainComposite.setLayout(layout);
-        mainComposite.setLayoutData(gridData);
-        mainComposite.setFont(parent.getFont());
-        createTargetsComponent(mainComposite);
-    }
-
-    public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-        configuration.setAttribute(IExternalToolConstants.ATTR_TRIGGERS_CONFIGURED, true);
-    }
-
-    public void initializeFrom(ILaunchConfiguration configuration) {
-        fConfiguration= configuration;
-        
-        fAfterCleanTargetText.setEnabled(false);
-        fManualBuildTargetText.setEnabled(false);
-        fAutoBuildTargetText.setEnabled(false);
-        fDuringCleanTargetText.setEnabled(false);
-
-        initializeBuildKinds(configuration);
-        intializeTargets(configuration);
-    }
-
-    private void intializeTargets(ILaunchConfiguration configuration) {
-        String configTargets= null;
-        String autoTargets= null;
-        String manualTargets= null;
-        String afterCleanTargets= null;
-        String duringCleanTargets= null;
-        try {
-            configTargets= configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, (String)null);
-            autoTargets= configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_AUTO_TARGETS, (String)null);
-            manualTargets= configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_MANUAL_TARGETS, (String)null);
-            afterCleanTargets= configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_AFTER_CLEAN_TARGETS, (String)null);
-            duringCleanTargets= configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_CLEAN_TARGETS, (String)null);
-            fAttributeToTargets.put(IAntLaunchConfigurationConstants.ATTR_ANT_AUTO_TARGETS, autoTargets);
-            fAttributeToTargets.put(IAntLaunchConfigurationConstants.ATTR_ANT_MANUAL_TARGETS, manualTargets);
-            fAttributeToTargets.put(IAntLaunchConfigurationConstants.ATTR_ANT_AFTER_CLEAN_TARGETS, afterCleanTargets);
-            fAttributeToTargets.put(IAntLaunchConfigurationConstants.ATTR_ANT_CLEAN_TARGETS, duringCleanTargets);
-        } catch (CoreException ce) {
-            AntUIPlugin.log("Error reading configuration", ce); //$NON-NLS-1$
-        }
-        
-        setTargetsForUser(fManualBuildTargetText, manualTargets, configTargets);
-        setTargetsForUser(fAfterCleanTargetText, afterCleanTargets, configTargets);
-        setTargetsForUser(fDuringCleanTargetText, duringCleanTargets, configTargets);
-        setTargetsForUser(fAutoBuildTargetText, autoTargets, configTargets);
-    }
-
-    private void initializeBuildKinds(ILaunchConfiguration configuration) {
-        String buildKindString= null;
-        try {
-            buildKindString= configuration.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, ""); //$NON-NLS-1$
-        } catch (CoreException e) {
-            AntUIPlugin.log("Error reading configuration", e); //$NON-NLS-1$
-        }
-        int buildTypes[]= BuilderUtils.buildTypesToArray(buildKindString);
-        for (int i = 0; i < buildTypes.length; i++) {
-            switch (buildTypes[i]) {
-                case IncrementalProjectBuilder.FULL_BUILD:
-                    fAfterCleanTargetText.setEnabled(true);
-                    break;
-                case IncrementalProjectBuilder.INCREMENTAL_BUILD:
-                    fManualBuildTargetText.setEnabled(true);
-                    break;
-                case IncrementalProjectBuilder.AUTO_BUILD:
-                    fAutoBuildTargetText.setEnabled(true);
-                    break;
-                case IncrementalProjectBuilder.CLEAN_BUILD:
-                    fDuringCleanTargetText.setEnabled(true);
-                    break;
-            }
-        }
-    }
-
-    public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-        StringBuffer buffer= new StringBuffer();
-        if (!fAfterCleanTargetText.getText().equals(NO_TARGETS_SELECTED)) {
-            buffer.append(IExternalToolConstants.BUILD_TYPE_FULL).append(',');
-        } 
-        if (!fManualBuildTargetText.getText().equals(NO_TARGETS_SELECTED)){
-            buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL).append(','); 
-        } 
-        if (!fAutoBuildTargetText.getText().equals(NO_TARGETS_SELECTED)) {
-            buffer.append(IExternalToolConstants.BUILD_TYPE_AUTO).append(',');
-        }
-        if (!fDuringCleanTargetText.getText().equals(NO_TARGETS_SELECTED)) {
-            buffer.append(IExternalToolConstants.BUILD_TYPE_CLEAN);
-        }
-        configuration.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-        
-        
-        String targets= (String) fAttributeToTargets.get(IAntLaunchConfigurationConstants.ATTR_ANT_AFTER_CLEAN_TARGETS);
-        configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_AFTER_CLEAN_TARGETS, targets);
-        targets= (String) fAttributeToTargets.get(IAntLaunchConfigurationConstants.ATTR_ANT_AUTO_TARGETS);
-        configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_AUTO_TARGETS, targets);
-        targets= (String) fAttributeToTargets.get(IAntLaunchConfigurationConstants.ATTR_ANT_MANUAL_TARGETS);
-        configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_MANUAL_TARGETS, targets);
-        targets= (String) fAttributeToTargets.get(IAntLaunchConfigurationConstants.ATTR_ANT_CLEAN_TARGETS);
-        configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_CLEAN_TARGETS, targets);
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-     */
-    public String getName() {
-        return AntLaunchConfigurationMessages.getString("AntTargetsTab.Tar&gets_14"); //$NON-NLS-1$
-    }
-        
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-     */
-    public Image getImage() {
-        return AntUIImages.getImage(IAntUIConstants.IMG_TAB_ANT_TARGETS);
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntClasspathProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntClasspathProvider.java
deleted file mode 100644
index 71c5846..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntClasspathProvider.java
+++ /dev/null
@@ -1,54 +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.ant.internal.ui.launchConfigurations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.StandardClasspathProvider;
-
-public class AntClasspathProvider extends StandardClasspathProvider {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathProvider#computeUnresolvedClasspath(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] computeUnresolvedClasspath(ILaunchConfiguration configuration) throws CoreException {
-		boolean useDefault = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, true);
-		if (useDefault) {
-			List rtes = new ArrayList(10);
-			IVMInstall vm= null;
-			try {
-				vm= JavaRuntime.computeVMInstall(configuration);
-			} catch (CoreException ce) {
-				//likely in a non-Java project
-				vm= JavaRuntime.getDefaultVMInstall();
-			}
-			IPath containerPath = new Path(JavaRuntime.JRE_CONTAINER);
-			containerPath = containerPath.append(new Path(vm.getVMInstallType().getId()));
-			containerPath = containerPath.append(new Path(vm.getName()));
-			
-			rtes.add(JavaRuntime.newRuntimeContainerClasspathEntry(containerPath, IRuntimeClasspathEntry.STANDARD_CLASSES));
-			rtes.add(new AntHomeClasspathEntry());
-			rtes.add(new ContributedClasspathEntriesEntry());
-			return (IRuntimeClasspathEntry[]) rtes.toArray(new IRuntimeClasspathEntry[rtes.size()]);
-		}
-		return super.computeUnresolvedClasspath(configuration);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntClasspathTab.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntClasspathTab.java
deleted file mode 100644
index 6da0e33..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntClasspathTab.java
+++ /dev/null
@@ -1,135 +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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
-import org.eclipse.jdt.internal.debug.ui.actions.AddExternalJarAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddFolderAction;
-import org.eclipse.jdt.internal.debug.ui.actions.AddJarAction;
-import org.eclipse.jdt.internal.debug.ui.actions.MoveDownAction;
-import org.eclipse.jdt.internal.debug.ui.actions.MoveUpAction;
-import org.eclipse.jdt.internal.debug.ui.actions.RemoveAction;
-import org.eclipse.jdt.internal.debug.ui.actions.RestoreDefaultEntriesAction;
-import org.eclipse.jdt.internal.debug.ui.actions.RuntimeClasspathAction;
-import org.eclipse.jdt.internal.debug.ui.classpath.ClasspathEntry;
-import org.eclipse.jdt.internal.debug.ui.classpath.ClasspathModel;
-import org.eclipse.jdt.internal.debug.ui.classpath.IClasspathEntry;
-import org.eclipse.jdt.internal.debug.ui.launcher.IClasspathViewer;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * The Ant classpath tab
- */
-public class AntClasspathTab extends JavaClasspathTab {
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab#isShowBootpath()
-	 */
-	public boolean isShowBootpath() {
-		return false;
-	}
-	
-	/**
-	 * Creates actions to manipulate the classpath.
-	 * 
-	 * @param pathButtonComp composite buttons are contained in
-	 * @since 3.0
-	 */
-	protected void createPathButtons(Composite pathButtonComp) {		
-		createButton(pathButtonComp, new MoveUpAction(fClasspathViewer));
-		createButton(pathButtonComp, new MoveDownAction(fClasspathViewer));
-		createButton(pathButtonComp, new RemoveAction(fClasspathViewer));
-		createButton(pathButtonComp, new AddJarAction(fClasspathViewer));
-		createButton(pathButtonComp, new AddExternalJarAction(fClasspathViewer, DIALOG_SETTINGS_PREFIX));
-		Button button = createButton(pathButtonComp, new AddFolderAction(fClasspathViewer));
-		button.setText(AntLaunchConfigurationMessages.getString("AntClasspathTab.0")); //$NON-NLS-1$
-		createButton(pathButtonComp, new AddVariableStringAction(fClasspathViewer));
-		RuntimeClasspathAction action= new RestoreDefaultEntriesAction(fClasspathViewer, this);
-		createButton(pathButtonComp, action);
-		action.setEnabled(true);
-		
-		action= new EditAntHomeEntryAction(fClasspathViewer, this);
-		createButton(pathButtonComp, action);
-		action.setEnabled(true);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#setDirty(boolean)
-	 */
-	public void setDirty(boolean dirty) {
-		super.setDirty(dirty);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		try {
-			AntUtil.migrateToNewClasspathFormat(configuration);
-		} catch (CoreException e) {
-		}
-		super.initializeFrom(configuration);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.debug.ui.launcher.IEntriesChangedListener#entriesChanged(org.eclipse.jdt.internal.debug.ui.launcher.IClasspathViewer)
-	 */
-	public void entriesChanged(IClasspathViewer viewer) {
-		super.entriesChanged(viewer);
-		ILaunchConfigurationTab[] tabs = getLaunchConfigurationDialog().getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			ILaunchConfigurationTab tab = tabs[i];
-			if (tab instanceof AntTargetsTab) {
-				((AntTargetsTab)tab).setDirty(true);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		
-		boolean valid= super.isValid(launchConfig);
-		if (!valid) {
-			return false;
-		}
-		
-		return validateAntHome();
-	}
-	
-	private boolean validateAntHome() {
-		ClasspathModel model= getModel();
-		IClasspathEntry userEntry= model.getUserEntry();
-		IClasspathEntry[] entries= userEntry.getEntries();
-		for (int i = 0; i < entries.length; i++) {
-			ClasspathEntry entry = (ClasspathEntry) entries[i];
-			IRuntimeClasspathEntry runtimeEntry= entry.getDelegate();
-			if (runtimeEntry instanceof AntHomeClasspathEntry) {
-				try {
-					((AntHomeClasspathEntry)runtimeEntry).resolveAntHome();
-				} catch (CoreException ce) {
-					setErrorMessage(ce.getStatus().getMessage());
-					return false;
-				}
-				break;
-			}
-		}
-		return true;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntEnvironmentTab.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntEnvironmentTab.java
deleted file mode 100644
index 7e5087d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntEnvironmentTab.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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 implementation
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.EnvironmentTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-
-/**
- * An environment tab for Ant launch configurations.
- * Environment variables are only supported when Ant is
- * run in a separate VM, so this tab adds a warning message
- * at the top and disables the widgets if the config isn't
- * set to run in a separate VM.
- */
-public class AntEnvironmentTab extends EnvironmentTab {
-	
-	protected Composite wrappingComposite;
-	protected Label warningLabel;
-	
-	public void createControl(Composite parent) {
-		wrappingComposite= new Composite(parent, SWT.NONE);
-		wrappingComposite.setLayout(new GridLayout());
-		wrappingComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		wrappingComposite.setFont(parent.getFont());
-		
-		warningLabel= new Label(wrappingComposite, SWT.NONE);
-		warningLabel.setText(AntLaunchConfigurationMessages.getString("AntEnvironmentTab.0")); //$NON-NLS-1$
-		
-		super.createControl(wrappingComposite);
-		setControl(wrappingComposite); // Overwrite setting in super method
-		Dialog.applyDialogFont(parent);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		updateWidgetsEnabled(workingCopy);
-	}
-	
-	protected void updateWidgetsEnabled(ILaunchConfigurationWorkingCopy workingCopy) {
-		if (wrappingComposite == null) {
-			return;
-		}
-		boolean isSeparateJREBuild= AntUtil.isSeparateJREAntBuild(workingCopy);
-		
-		Color tableColor= isSeparateJREBuild ? null : Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
-		Color labelColor= isSeparateJREBuild ? null : Display.getDefault().getSystemColor(SWT.COLOR_RED);
-		Table table = environmentTable.getTable();
-		table.setEnabled(isSeparateJREBuild);
-		table.setBackground(tableColor);
-		warningLabel.setForeground(labelColor);
-		envAddButton.setEnabled(isSeparateJREBuild);
-		envSelectButton.setEnabled(isSeparateJREBuild);
-		updateAppendReplace();
-		//update the enabled state of the edit and remove buttons
-		environmentTable.setSelection(environmentTable.getSelection());
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntHomeClasspathEntry.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntHomeClasspathEntry.java
deleted file mode 100644
index 03aa08f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntHomeClasspathEntry.java
+++ /dev/null
@@ -1,209 +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.ant.internal.ui.launchConfigurations;
-
-import java.io.File;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.internal.launching.AbstractRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * A classpath entry that contains a set of archives for a particular
- * ANT_HOME.
- * 
- * @since 3.0 
- */
-public class AntHomeClasspathEntry extends AbstractRuntimeClasspathEntry {
-	
-	public static final String TYPE_ID = "org.eclipse.ant.ui.classpathentry.antHome"; //$NON-NLS-1$
-	
-	/**
-	 * Local path on disk where Ant Home is located or <code>null</code>
-	 * to indicate the use of the default Ant Home.
-	 */
-	private String antHomeLocation = null;
-	
-	/**
-	 * Creates an AntHome entry for the default AntHome installation.
-	 */
-	public AntHomeClasspathEntry() {
-		antHomeLocation = null;
-	}
-	
-	/**
-	 * Constructs an AntHome entry for the Ant installed at the specified
-	 * root directory.
-	 * 
-	 * @param antHome path in the local file system to an Ant installation
-	 */
-	public AntHomeClasspathEntry(String antHome) {
-		antHomeLocation = antHome;
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.launching.AbstractRuntimeClasspathEntry#buildMemento(org.w3c.dom.Document, org.w3c.dom.Element)
-	 */
-	protected void buildMemento(Document document, Element memento) throws CoreException {
-		if (antHomeLocation == null) {
-			memento.setAttribute("default", "true");  //$NON-NLS-1$//$NON-NLS-2$
-		} else {
-			memento.setAttribute("antHome", new Path(antHomeLocation).toString()); //$NON-NLS-1$
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.launching.IRuntimeClasspathEntry2#initializeFrom(org.w3c.dom.Element)
-	 */
-	public void initializeFrom(Element memento) throws CoreException {
-		String antHome = memento.getAttribute("antHome"); //$NON-NLS-1$
-		if (antHome != null && (antHome.length() > 0)) {
-			IPath path = new Path(antHome);
-			antHomeLocation = path.toOSString();
-		} else {
-			antHomeLocation = null;
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#getTypeId()
-	 */
-	public String getTypeId() {
-		return TYPE_ID;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#getRuntimeClasspathEntries(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] getRuntimeClasspathEntries(ILaunchConfiguration configuration) throws CoreException {
-		List libs = new ArrayList(40);
-		AntCorePreferences preferences = AntCorePlugin.getPlugin().getPreferences();
-		if (antHomeLocation == null) {
-			IAntClasspathEntry[] entries = preferences.getAntHomeClasspathEntries();
-			for (int i = 0; i < entries.length; i++) {
-				IAntClasspathEntry entry = entries[i];
-				libs.add(JavaRuntime.newStringVariableClasspathEntry(entry.getLabel()));
-			}
-		} else {
-			File lib= resolveAntHome();
-			IPath libDir = new Path(antHomeLocation).append("lib"); //$NON-NLS-1$
-			String[] fileNames = lib.list();
-			for (int i = 0; i < fileNames.length; i++) {
-				String name = fileNames[i];
-				IPath path = new Path(name);
-				String fileExtension = path.getFileExtension();
-				if ("jar".equalsIgnoreCase(fileExtension)) { //$NON-NLS-1$
-					libs.add(JavaRuntime.newArchiveRuntimeClasspathEntry(libDir.append(path)));
-				}
-			}
-		}
-		return (IRuntimeClasspathEntry[]) libs.toArray(new IRuntimeClasspathEntry[libs.size()]);
-	}
-	
-	public File resolveAntHome() throws CoreException {
-		if (antHomeLocation == null) { //using the default ant home
-			return null;
-		}
-		IPath libDir= new Path(antHomeLocation).append("lib"); //$NON-NLS-1$
-		File lib= libDir.toFile();
-		File parentDir= lib.getParentFile();
-		if (parentDir == null || !parentDir.exists()) {
-			abort(MessageFormat.format(AntLaunchConfigurationMessages.getString("AntHomeClasspathEntry.10"), new String[] {antHomeLocation}), null); //$NON-NLS-1$
-		}
-		if (!lib.exists() || !lib.isDirectory()) {
-			abort(MessageFormat.format(AntLaunchConfigurationMessages.getString("AntHomeClasspathEntry.11"), new String[] {antHomeLocation}), null); //$NON-NLS-1$
-		}
-		return lib;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#getName()
-	 */
-	public String getName() {
-		if (antHomeLocation == null) {
-			return AntLaunchConfigurationMessages.getString("AntHomeClasspathEntry.8"); //$NON-NLS-1$
-		}
-		return MessageFormat.format(AntLaunchConfigurationMessages.getString("AntHomeClasspathEntry.9"), new String[]{antHomeLocation}); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry#getType()
-	 */
-	public int getType() {
-		return IRuntimeClasspathEntry.OTHER;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#isComposite()
-	 */
-	public boolean isComposite() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof AntHomeClasspathEntry &&
-		  equalsOrNull(antHomeLocation, ((AntHomeClasspathEntry)obj).antHomeLocation);
-	}
-	
-	/**
-	 * Return whether s1 is equivalent to s2.
-	 * 
-	 * @param s1
-	 * @param s2
-	 * @return whether s1 is equivalent to s2
-	 */
-	private boolean equalsOrNull(String s1, String s2) {
-		if (s1 == null || s2 == null) {
-			return s1 == s2;
-		} 
-		return s1.equalsIgnoreCase(s2);
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getClass().hashCode();
-	}	
-	
-	/**
-	 * Sets the ant home to use.
-	 * 
-	 * @param path path to toor of an ant home installation
-	 */
-	protected void setAntHome(String path) {
-		antHomeLocation = path;
-	}
-	
-	/**
-	 * Returns the ant home location
-	 * 
-	 * @return path to root ant installation directory
-	 */
-	public String getAntHome() {
-		if (antHomeLocation == null) {
-			return AntCorePlugin.getPlugin().getPreferences().getAntHome();
-		}
-		return antHomeLocation;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntJRETab.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntJRETab.java
deleted file mode 100644
index c8aa3ad..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntJRETab.java
+++ /dev/null
@@ -1,258 +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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab;
-import org.eclipse.jdt.internal.debug.ui.jres.JREDescriptor;
-import org.eclipse.jdt.internal.debug.ui.launcher.VMArgumentsBlock;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-
-public class AntJRETab extends JavaJRETab {
-
-	private static final String MAIN_TYPE_NAME= "org.eclipse.ant.internal.ui.antsupport.InternalAntRunner"; //$NON-NLS-1$
-	
-	private VMArgumentsBlock fVMArgumentsBlock=  new VMArgumentsBlock();
-	private AntWorkingDirectoryBlock fWorkingDirectoryBlock= new AntWorkingDirectoryBlock();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IAntUIHelpContextIds.ANT_JRE_TAB);
-		Composite comp= (Composite)fJREBlock.getControl();
-		((GridData)comp.getLayoutData()).grabExcessVerticalSpace= true;
-		((GridData)comp.getLayoutData()).verticalAlignment= SWT.FILL;
-		
-		fVMArgumentsBlock.createControl(comp);
-		((GridData)fVMArgumentsBlock.getControl().getLayoutData()).horizontalSpan= 2;
-						
-		fWorkingDirectoryBlock.createControl(comp);		
-		((GridData)fWorkingDirectoryBlock.getControl().getLayoutData()).horizontalSpan= 2;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab#getDefaultJREDescriptor()
-	 */
-	protected JREDescriptor getDefaultJREDescriptor() {
-		return new JREDescriptor() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.jdt.internal.debug.ui.jres.JREDescriptor#getDescription()
-			 */
-			public String getDescription() {
-				return AntLaunchConfigurationMessages.getString("AntJRETab.2"); //$NON-NLS-1$
-			}
-		};
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab#getSpecificJREDescriptor()
-	 */
-	protected JREDescriptor getSpecificJREDescriptor() {
-		return new JREDescriptor() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.jdt.internal.debug.ui.jres.JREDescriptor#getDescription()
-			 */
-			public String getDescription() {
-				return AntLaunchConfigurationMessages.getString("AntJRETab.3"); //$NON-NLS-1$
-			}
-		};
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		fWorkingDirectoryBlock.setEnabled(!fJREBlock.isDefaultJRE());
-		fVMArgumentsBlock.setEnabled(!fJREBlock.isDefaultJRE());
-		if (fJREBlock.isDefaultJRE()) {
-			configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, (String)null);
-			configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
-			configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, (String)null);
-			configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String)null);
-			configuration.setAttribute(IAntUIConstants.ATTR_DEFAULT_VM_INSTALL, false);
-		} else {
-			super.performApply(configuration);
-			
-			if (useDefaultSeparateJRE(configuration)) {
-				configuration.setAttribute(IAntUIConstants.ATTR_DEFAULT_VM_INSTALL, true);
-			} else {
-				configuration.setAttribute(IAntUIConstants.ATTR_DEFAULT_VM_INSTALL, false);
-			}
-			
-			applySeparateVMAttributes(configuration);
-			fVMArgumentsBlock.performApply(configuration);
-			fWorkingDirectoryBlock.performApply(configuration);
-		}
-		setLaunchConfigurationWorkingCopy(configuration);
-	}
-	
-	private boolean useDefaultSeparateJRE(ILaunchConfigurationWorkingCopy configuration) {
-		boolean deflt= false;
-		String vmInstallType= null;
-		try {
-			vmInstallType= configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
-		} catch (CoreException e) {
-		}
-		if (vmInstallType != null) {
-			configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
-		}
-		IVMInstall defaultVMInstall= getDefaultVMInstall(configuration);
-		if (defaultVMInstall != null) {
-			IVMInstall vm= fJREBlock.getJRE();
-			deflt= defaultVMInstall.equals(vm);
-		}
-		
-		if (vmInstallType != null) {
-			configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, vmInstallType);
-		}
-		return deflt;
-	}
-	
-	private void applySeparateVMAttributes(ILaunchConfigurationWorkingCopy configuration) {
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, MAIN_TYPE_NAME);
-		configuration.setAttribute(DebugPlugin.ATTR_PROCESS_FACTORY_ID, IAntUIConstants.REMOTE_ANT_PROCESS_FACTORY_ID);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		try {
-			 boolean isDefaultVMInstall= configuration.getAttribute(IAntUIConstants.ATTR_DEFAULT_VM_INSTALL, false);
-			 if (isDefaultVMInstall) {
-			 	boolean needsSaving= false;
-			 	ILaunchConfigurationWorkingCopy copy;
-			 	if (configuration instanceof ILaunchConfigurationWorkingCopy) {
-			 		copy= (ILaunchConfigurationWorkingCopy) configuration;
-			 	} else {
-			 		copy= configuration.getWorkingCopy();
-			 		needsSaving= true;
-			 	}
-			 	
-			 	//null out the vm type to get the default vm install from JavaRuntime
-			 	copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
-			 	IVMInstall defaultVMInstall= getDefaultVMInstall(copy);
-			 	//update if required
-				setDefaultVMInstallAttributes(defaultVMInstall, copy);
-				if (needsSaving) {
-					configuration= copy.doSave();
-				}
-			 }
-        } catch (CoreException ce) {
-        	AntUIPlugin.log(ce);
-        }
-		super.initializeFrom(configuration);
-		fVMArgumentsBlock.initializeFrom(configuration);
-		fWorkingDirectoryBlock.initializeFrom(configuration);
-		boolean separateVM= !fJREBlock.isDefaultJRE();
-		fWorkingDirectoryBlock.setEnabled(separateVM);
-		fVMArgumentsBlock.setEnabled(separateVM);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		return super.isValid(config) && fWorkingDirectoryBlock.isValid(config);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setLaunchConfigurationDialog(org.eclipse.debug.ui.ILaunchConfigurationDialog)
-	 */
-	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) {
-		super.setLaunchConfigurationDialog(dialog);
-		fWorkingDirectoryBlock.setLaunchConfigurationDialog(dialog);
-		fVMArgumentsBlock.setLaunchConfigurationDialog(dialog);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		String m = super.getErrorMessage();
-		if (m == null) {
-			return fWorkingDirectoryBlock.getErrorMessage();
-		}
-		return m;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getMessage()
-	 */
-	public String getMessage() {
-		String m = super.getMessage();
-		if (m == null) {
-			return fWorkingDirectoryBlock.getMessage();
-		}
-		return m;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		setLaunchConfigurationWorkingCopy(workingCopy);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy config) {
-		super.setDefaults(config);
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_SOURCE_PATH_PROVIDER, "org.eclipse.ant.ui.AntClasspathProvider"); //$NON-NLS-1$
-		IVMInstall defaultVMInstall= getDefaultVMInstall(config);
-		if (defaultVMInstall != null) {
-			config.setAttribute(IAntUIConstants.ATTR_DEFAULT_VM_INSTALL, true);
-			setDefaultVMInstallAttributes(defaultVMInstall, config);
-			applySeparateVMAttributes(config);
-		} 
-	}
-
-	private IVMInstall getDefaultVMInstall(ILaunchConfiguration config) {
-		IVMInstall defaultVMInstall;
-		try {
-			defaultVMInstall = JavaRuntime.computeVMInstall(config);
-		} catch (CoreException e) {
-			//core exception thrown for non-Java project
-			defaultVMInstall= JavaRuntime.getDefaultVMInstall();
-		}
-		return defaultVMInstall;
-	}
-
-	private void setDefaultVMInstallAttributes(IVMInstall defaultVMInstall, ILaunchConfigurationWorkingCopy config) {
-		String vmName = defaultVMInstall.getName();
-		String vmTypeID = defaultVMInstall.getVMInstallType().getId();
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, vmName);
-		config.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, vmTypeID);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntJavaLaunchDelegate.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntJavaLaunchDelegate.java
deleted file mode 100644
index 9fb1307..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntJavaLaunchDelegate.java
+++ /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
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.internal.launching.JavaLocalApplicationLaunchConfigurationDelegate;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-
-/**
- * Used by the AntLaunchDelegate for Ant builds in a separate VM
- * The subclassing is needed to be able to launch an Ant build from a non-Java project
- */
-public class AntJavaLaunchDelegate extends JavaLocalApplicationLaunchConfigurationDelegate {
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#preLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean preLaunchCheck(ILaunchConfiguration configuration,String mode, IProgressMonitor monitor) throws CoreException {
-		try {
-			return super.preLaunchCheck(configuration, mode, monitor);
-		} catch (CoreException ce) {
-			//likely dealing with a non-Java project
-		}
-		//no need to check for breakpoints as always in run mode
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.AbstractJavaLaunchConfigurationDelegate#getProgramArguments(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public String getProgramArguments(ILaunchConfiguration configuration) throws CoreException {
-		try {
-			return super.getProgramArguments(configuration);
-		} catch (CoreException ce) {
-		}
-		return configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, ""); //$NON-NLS-1$
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchConfigurationMessages.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchConfigurationMessages.java
deleted file mode 100644
index bdfe3de..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchConfigurationMessages.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.ant.internal.ui.launchConfigurations;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntLaunchConfigurationMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchConfigurationMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntLaunchConfigurationMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchConfigurationMessages.properties b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchConfigurationMessages.properties
deleted file mode 100644
index 411948b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchConfigurationMessages.properties
+++ /dev/null
@@ -1,103 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the 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
-###############################################################################
-
-AddVariableStringAction.1=Add Varia&ble...
-AddVariableStringAction.2=&Classpath Entry Value:
-AddVariableStringAction.3=&Variables...
-AddVariableStringAction.4=Add Variable Classpath Entry
-
-AntBuildTab.1=&Build before launch
-AntBuildTab.2=The &entire workspace
-AntBuildTab.3=The &project containing the selected resource
-AntBuildTab.4=&Specific projects
-AntBuildTab.5=P&rojects...
-AntBuildTab.6=Include referenced pro&jects
-AntBuildTab.7=Select &Projects:
-AntBuildTab.8=Build
-AntBuildTab.9=No projects specified
-
-AntLaunchDelegate.Launching_{0}_1=Launching {0}
-AntLaunchDelegate.Running_{0}_2=Running {0}
-AntLaunchDelegate.Build_In_Progress=Ant build {0} already in progress. Concurrent Ant builds are possible if you specify to build in a separate JRE.
-AntLaunchDelegate.Failure=Failure of Background Ant Build
-AntLaunchDelegate.22=&Do not show error dialog when Ant build fails
-AntLaunchDelegate.23=Ant Build Failed
-AntLaunchDelegate.28=Waiting for virtual machine to exit...
-AntLaunchShortcut.0=A location could not be resolved for buildfile
-
-AntLaunchShortcut.Unable=Unable to find an Ant file to run.
-AntLaunchShortcut.2=An exception occurred while creating a default Ant launch configuration for {0}
-AntLaunchShortcut.3=An exception occurred while retrieving Ant launch configurations.
-AntLaunchShortcut.4=Ant Configuration Selection
-AntLaunchShortcut.5=&Choose an Ant configuration to run:
-AntLaunchShortcut.Error_7=Error
-AntLaunchShortcut.Build_Failed_2=Build Failed
-AntLaunchShortcut.Exception_launching=An exception occurred while launching {0}
-
-AntPropertiesTab.&Properties__6=&Properties:
-AntPropertiesTab.Property_f&iles__7=P&roperty files:
-AntPropertiesTab.P&roperties_8=Properties
-AntPropertiesTab.Error_reading_configuration_9=Error reading configuration
-AntPropertiesTab.6=Use &global properties as specified in the Ant runtime preferences
-
-AntJRETab.2=&Run in the same JRE as the workspace
-AntJRETab.3=Separate &JRE:
-
-AntHomeClasspathEntry.8=Ant Home (Default)
-AntHomeClasspathEntry.9=Ant Home ({0})
-AntBuilderTargetsTab.0=<Builder is not set to run for this build kind>
-AntBuilderTargetsTab.1=After a "Clean":
-AntBuilderTargetsTab.2=&Set Targets...
-AntBuilderTargetsTab.3=Manual Build:
-AntBuilderTargetsTab.4=Set &Targets...
-AntBuilderTargetsTab.5=Auto Build:
-AntBuilderTargetsTab.6=Set T&argets...
-AntBuilderTargetsTab.7=During a "Clean":
-AntBuilderTargetsTab.8=Set Tar&gets...
-AntHomeClasspathEntry.10=Ant Home {0} does not exist
-AntHomeClasspathEntry.11=Ant Home {0} does not contain a "lib" directory
-
-AntMainTab.&Select_a_build_file__1=&Select a buildfile:
-AntMainTab.3=Base Direct&ory:
-AntMainTab.6=Buildfi&le:
-AntMainTab.0=Set an Input &handler
-AntMainTab.1=Error reading configuration
-
-AntTargetsTab.Check_targets_to_e&xecute__1=Check targets to e&xecute:
-AntTargetsTab.0_out_of_0_selected_2=0 out of 0 selected
-AntTargetsTab.Target_execution_order__3=Target execution order:
-AntTargetsTab.&Order..._4=&Order...
-AntTargetsTab.Name_5=Name
-AntTargetsTab.Description_6=Description
-AntTargetsTab.{0}_out_of_{1}_selected_7={0} out of {1} selected
-AntTargetsTab.Tar&gets_14=Targets
-AntTargetsTab.Error_reading_configuration_12=Error reading configuration
-AntTargetsTab.12=&Hide internal targets not selected for execution
-AntTargetsTab.13={0} out of {1} selected ({2} internal target(s) hidden)
-AntTargetsTab.14=&Sort targets
-AntTargetsTab.15=Buildfile does not exist
-AntTargetsTab.16=Buildfile specified is not a file
-AntTargetsTab.17=Target selection is not possible as buildfile location contains variable(s) that cannot be resolved until runtime.
-AntTargetsTab.0=Buildfile contains errors/problems. Check syntax and classpath
-AntTargetsTab.1=No targets could be determined for the buildfile
-AntClasspathTab.0=Add F&olders...
-
-ContributedClasspathEntriesEntry.1=Additional Tasks & Support
-
-EditAntHomeEntryAction.1=Ant &Home...
-
-TargetOrderDialog.Order_Targets_1=Order Targets
-TargetOrderDialog.&Specify_target_execution_order__2=&Specify target execution order:
-TargetOrderDialog.&Up_3=&Up
-TargetOrderDialog.&Down_4=&Down
-
-AntEnvironmentTab.0=An environment can only be used when running in a separate JRE.\nThis setting can be configured on the JRE tab.
-SetTargetsDialog.0=Set Targets
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchDelegate.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchDelegate.java
deleted file mode 100644
index 3bd0128..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchDelegate.java
+++ /dev/null
@@ -1,656 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.launchConfigurations;
-
-
-import java.io.File;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.AntRunner;
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.core.Task;
-import org.eclipse.ant.core.Type;
-import org.eclipse.ant.internal.core.AbstractEclipseBuildLogger;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.debug.IAntDebugConstants;
-import org.eclipse.ant.internal.ui.debug.model.RemoteAntDebugBuildListener;
-import org.eclipse.core.resources.IProject;
-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.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.LaunchConfigurationDelegate;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.SocketUtil;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.osgi.service.datalocation.Location;
-import org.eclipse.swt.SWT;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.program.launchConfigurations.BackgroundResourceRefresher;
-import org.osgi.framework.Bundle;
-
-/**
- * Launch delegate for Ant builds
- */
-public class AntLaunchDelegate extends LaunchConfigurationDelegate  {
-	
-	private static final String ANT_LOGGER_CLASS = "org.eclipse.ant.internal.ui.antsupport.logger.AntProcessBuildLogger"; //$NON-NLS-1$
-	private static final String ANT_DEBUG_LOGGER_CLASS = "org.eclipse.ant.internal.ui.antsupport.logger.AntProcessDebugBuildLogger"; //$NON-NLS-1$
-	private static final String NULL_LOGGER_CLASS = "org.eclipse.ant.internal.ui.antsupport.logger.NullBuildLogger"; //$NON-NLS-1$
-	private static final String REMOTE_ANT_LOGGER_CLASS = "org.eclipse.ant.internal.ui.antsupport.logger.RemoteAntBuildLogger"; //$NON-NLS-1$
-	private static final String REMOTE_ANT_DEBUG_LOGGER_CLASS = "org.eclipse.ant.internal.ui.antsupport.logger.debug.RemoteAntDebugBuildLogger"; //$NON-NLS-1$
-	private static final String BASE_DIR_PREFIX = "-Dbasedir="; //$NON-NLS-1$
-	private static final String INPUT_HANDLER_CLASS = "org.eclipse.ant.internal.ui.antsupport.inputhandler.AntInputHandler"; //$NON-NLS-1$
-	private static final String REMOTE_INPUT_HANDLER_CLASS = "org.eclipse.ant.internal.ui.antsupport.inputhandler.ProxyInputHandler"; //$NON-NLS-1$
-	
-	private String fMode;
-	
-	/**
-	 * @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;
-		}
-		
-		fMode= mode;
-		
-		// migrate the config to the new classpath format if required
-		AntUtil.migrateToNewClasspathFormat(configuration);
-		
-		boolean isSeparateJRE= AntUtil.isSeparateJREAntBuild(configuration);
-		
-		if (CommonTab.isLaunchInBackground(configuration)) {
-			monitor.beginTask(MessageFormat.format(AntLaunchConfigurationMessages.getString("AntLaunchDelegate.Launching_{0}_1"), new String[] {configuration.getName()}), 10); //$NON-NLS-1$
-		} else {
-			monitor.beginTask(MessageFormat.format(AntLaunchConfigurationMessages.getString("AntLaunchDelegate.Running_{0}_2"), new String[] {configuration.getName()}), 100); //$NON-NLS-1$
-		}
-		
-		// resolve location
-		IPath location = ExternalToolsUtil.getLocation(configuration);
-		monitor.worked(1);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-		
-		if (!isSeparateJRE && AntRunner.isBuildRunning()) {
-			IStatus status= new Status(IStatus.ERROR, IAntUIConstants.PLUGIN_ID, 1, MessageFormat.format(AntLaunchConfigurationMessages.getString("AntLaunchDelegate.Build_In_Progress"), new String[]{location.toOSString()}), null); //$NON-NLS-1$
-			throw new CoreException(status);
-		}		
-		
-		// resolve working directory
-		IPath workingDirectory = ExternalToolsUtil.getWorkingDirectory(configuration);
-		String basedir = null;
-		if (workingDirectory != null) {
-			basedir= workingDirectory.toOSString();
-		}
-		monitor.worked(1);
-		
-		if (monitor.isCanceled()) {
-			return;
-		}
-
-		// link the process to its build logger via a timestamp
-		long timeStamp = System.currentTimeMillis();
-		String idStamp = Long.toString(timeStamp);
-		StringBuffer idProperty = new StringBuffer("-D"); //$NON-NLS-1$
-		idProperty.append(AbstractEclipseBuildLogger.ANT_PROCESS_ID);
-		idProperty.append('=');
-		idProperty.append(idStamp);
-		
-		// resolve arguments
-		String[] arguments = ExternalToolsUtil.getArguments(configuration);
-		
-		Map userProperties= AntUtil.getProperties(configuration);
-		if (userProperties != null) {//create a copy so as to not affect the configuration with transient properties
-			userProperties= new HashMap(userProperties);
-		}
-		String[] propertyFiles= AntUtil.getPropertyFiles(configuration);
-		String[] targets = AntUtil.getTargetNames(configuration);
-		URL[] customClasspath= AntUtil.getCustomClasspath(configuration);
-		String antHome= AntUtil.getAntHome(configuration);
-		
-		boolean setInputHandler= true;
-		try {
-			//check if set specify inputhandler
-			setInputHandler = configuration.getAttribute(IAntUIConstants.SET_INPUTHANDLER, true);
-		} catch (CoreException ce) {
-			AntUIPlugin.log(ce);			
-		}
-		
-		AntRunner runner= null;
-		if (!isSeparateJRE) {
-			runner = configureAntRunner(configuration, location, basedir, idProperty, arguments, userProperties, propertyFiles, targets, customClasspath, antHome, setInputHandler);
-		}
-		 
-		monitor.worked(1);
-								
-		if (monitor.isCanceled()) {
-			return;
-		}
-		boolean captureOutput= ExternalToolsUtil.getCaptureOutput(configuration);
-		int port= -1;
-		int requestPort= -1;
-		if (isSeparateJRE && captureOutput) {
-			if (userProperties == null) {
-				userProperties= new HashMap();
-			}
-			port= SocketUtil.findFreePort();
-			userProperties.put(AbstractEclipseBuildLogger.ANT_PROCESS_ID, idStamp);
-			userProperties.put("eclipse.connect.port", Integer.toString(port)); //$NON-NLS-1$
-			if (fMode.equals(ILaunchManager.DEBUG_MODE)) {
-				requestPort= SocketUtil.findFreePort();
-				userProperties.put("eclipse.connect.request_port", Integer.toString(requestPort)); //$NON-NLS-1$
-			}
-		}
-		
-		StringBuffer commandLine= generateCommandLine(location, arguments, userProperties, propertyFiles, targets, antHome, basedir, isSeparateJRE, captureOutput, setInputHandler);
-		
-		if (isSeparateJRE) {
-			monitor.beginTask(MessageFormat.format(AntLaunchConfigurationMessages.getString("AntLaunchDelegate.Launching_{0}_1"), new String[] {configuration.getName()}), 10); //$NON-NLS-1$
-			runInSeparateVM(configuration, launch, monitor, idStamp, antHome, port, requestPort, commandLine, captureOutput, setInputHandler);
-		} else {
-			runInSameVM(configuration, launch, monitor, location, idStamp, runner, commandLine, captureOutput);
-		}
-		
-		monitor.done();	
-	}
-	
-	private void runInSameVM(ILaunchConfiguration configuration, ILaunch launch, IProgressMonitor monitor, IPath location, String idStamp, AntRunner runner, StringBuffer commandLine, boolean captureOutput) throws CoreException {
-		Map attributes= new HashMap(2);
-		attributes.put(IProcess.ATTR_PROCESS_TYPE, IAntLaunchConfigurationConstants.ID_ANT_PROCESS_TYPE);
-		attributes.put(AbstractEclipseBuildLogger.ANT_PROCESS_ID, idStamp);
-				
-		final AntProcess process = new AntProcess(location.toOSString(), launch, attributes);
-		setProcessAttributes(process, idStamp, commandLine, captureOutput);
-		boolean debug= fMode.equals(ILaunchManager.DEBUG_MODE);
-		if (debug || CommonTab.isLaunchInBackground(configuration)) {
-			final AntRunner finalRunner= runner;
-			Runnable r = new Runnable() {
-				public void run() {
-					try {
-						finalRunner.run(process);
-					} catch (CoreException e) {
-						handleException(e, AntLaunchConfigurationMessages.getString("AntLaunchDelegate.Failure")); //$NON-NLS-1$
-					}
-					process.terminated();
-				}
-			};
-			Thread background = new Thread(r);
-			background.start();
-			monitor.worked(1);
-			//refresh resources after process finishes
-			if (RefreshTab.getRefreshScope(configuration) != null) {
-				BackgroundResourceRefresher refresher = new BackgroundResourceRefresher(configuration, process);
-				refresher.startBackgroundRefresh();
-			}	
-		} else {
-			// execute the build 
-			try {
-				runner.run(monitor);
-			} catch (CoreException e) {
-				process.terminated();
-				monitor.done();
-				handleException(e, AntLaunchConfigurationMessages.getString("AntLaunchDelegate.23")); //$NON-NLS-1$
-				return;
-			}
-			process.terminated();
-			
-			// refresh resources
-			RefreshTab.refreshResources(configuration, monitor);
-		}
-	}
-
-	private AntRunner configureAntRunner(ILaunchConfiguration configuration, IPath location, String baseDir, StringBuffer idProperty, String[] arguments, Map userProperties, String[] propertyFiles, String[] targets, URL[] customClasspath, String antHome, boolean setInputHandler) throws CoreException {
-		int argLength = 1; // at least one user property - timestamp
-		if (arguments != null) {
-			argLength += arguments.length;
-		}		
-		if (baseDir != null && baseDir.length() > 0) {
-			argLength++;
-		}
-		String[] runnerArgs = new String[argLength];
-		if (arguments != null) {
-			System.arraycopy(arguments, 0, runnerArgs, 0, arguments.length);
-		}
-		if (baseDir != null && baseDir.length() > 0) {
-			runnerArgs[runnerArgs.length - 2] = BASE_DIR_PREFIX + baseDir;
-		}
-		runnerArgs[runnerArgs.length -1] = idProperty.toString();
-		
-		AntRunner runner= new AntRunner();
-		runner.setBuildFileLocation(location.toOSString());
-        if (fMode.equals(ILaunchManager.DEBUG_MODE)) {
-            runner.addBuildLogger(ANT_DEBUG_LOGGER_CLASS);
-        } else if (ExternalToolsUtil.getCaptureOutput(configuration)) {
-			runner.addBuildLogger(ANT_LOGGER_CLASS);
-		} else {
-			runner.addBuildLogger(NULL_LOGGER_CLASS);
-		}
-		if (setInputHandler) {
-			runner.setInputHandler(INPUT_HANDLER_CLASS);
-		} else {
-			runner.setInputHandler(""); //$NON-NLS-1$
-		}
-		runner.setArguments(runnerArgs);
-		if (userProperties != null) {
-			runner.addUserProperties(userProperties);
-		}
-
-		if (propertyFiles != null) {
-			runner.setPropertyFiles(propertyFiles);
-		}
-
-		if (targets != null) {
-			runner.setExecutionTargets(targets);
-		}
-
-		if (customClasspath != null) {
-			runner.setCustomClasspath(customClasspath);
-		}
-
-		if (antHome != null) {
-			runner.setAntHome(antHome);
-		}
-		return runner;
-	}
-
-	private void handleException(final CoreException e, final String title) {
-		IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();
-		if (store.getBoolean(IAntUIPreferenceConstants.ANT_ERROR_DIALOG)) {
-			AntUIPlugin.getStandardDisplay().asyncExec(new Runnable() {
-				public void run() {
-					MessageDialogWithToggle.openError(null, title, e.getMessage(), AntLaunchConfigurationMessages.getString("AntLaunchDelegate.22"), false, AntUIPlugin.getDefault().getPreferenceStore(), IAntUIPreferenceConstants.ANT_ERROR_DIALOG); //$NON-NLS-1$
-				}
-			});
-		}
-	}
-
-	private void setProcessAttributes(IProcess process, String idStamp, StringBuffer commandLine, boolean captureOutput) {
-		// link the process to its build logger via a timestamp
-		process.setAttribute(AbstractEclipseBuildLogger.ANT_PROCESS_ID, idStamp);
-		
-		// create "fake" command line for the process
-		if (commandLine != null) {
-			process.setAttribute(IProcess.ATTR_CMDLINE, commandLine.toString());
-		}
-		if (captureOutput) {
-			TaskLinkManager.registerAntBuild(process);
-		}
-	}
-
-	private StringBuffer generateCommandLine(IPath location, String[] arguments, Map userProperties, String[] propertyFiles, String[] targets, String antHome, String basedir, boolean separateVM, boolean captureOutput, boolean setInputHandler) {
-		StringBuffer commandLine= new StringBuffer();
-
-		if (!separateVM) {
-			commandLine.append("ant"); //$NON-NLS-1$
-		}
-		
-		if (arguments != null) {
-			for (int i = 0; i < arguments.length; i++) {
-				String arg = arguments[i];
-				commandLine.append(' ');
-				commandLine.append(arg);
-			}
-		}
-		
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		if (propertyFiles == null) { //global
-			String[] files= prefs.getCustomPropertyFiles();
-			for (int i = 0; i < files.length; i++) {
-				String path = files[i];
-				commandLine.append(" -propertyfile \""); //$NON-NLS-1$
-				commandLine.append(path);
-				commandLine.append('\"');
-			}
-		} else {//"local" configuration
-			for (int i = 0; i < propertyFiles.length; i++) {
-				String path = propertyFiles[i];
-				commandLine.append(" -propertyfile \""); //$NON-NLS-1$
-				commandLine.append(path);
-				commandLine.append('\"');
-			}
-		}
-		//"local" configuration
-		if (userProperties != null) {
-			Iterator keys = userProperties.keySet().iterator();
-			String key;
-			while (keys.hasNext()) {
-				key= (String)keys.next();
-				appendProperty(commandLine, key, (String)userProperties.get(key));
-			}
-		}
-		
-		//global
-		List properties= null;
-		if (!separateVM) {
-			properties= prefs.getProperties();
-		} else {
-			properties= prefs.getRemoteAntProperties();
-		}
-		
-		String key;
-		//if we have user properties this means that the user has chosen to override the global properties
-		//if in a separate VM and have only two user properties these are really only Eclipse generated properties
-		//and the user is still using the global properties
-		boolean useGlobalProperties = userProperties == null || (separateVM && userProperties.size() == 2);
-		if (useGlobalProperties) {
-			for (Iterator iter = properties.iterator(); iter.hasNext();) {
-				Property property = (Property) iter.next();
-				key= property.getName();
-				String value= property.getValue(false);
-				if (value != null) {
-					appendProperty(commandLine, key, value);
-				}
-			}
-		}
-		
-		if (basedir != null && basedir.length() > 0) {
-			appendProperty(commandLine, "basedir", basedir); //$NON-NLS-1$
-		}
-		
-		if (antHome != null) {
-			commandLine.append(" \"-Dant.home="); //$NON-NLS-1$
-			commandLine.append(antHome);
-			commandLine.append('\"');
-		}
-		
-		if (separateVM) { 
-			if (commandLine.indexOf("-logger") == -1) { //$NON-NLS-1$
-				commandLine.append(" -logger "); //$NON-NLS-1$
-				if (fMode.equals(ILaunchManager.DEBUG_MODE)) {
-					commandLine.append(REMOTE_ANT_DEBUG_LOGGER_CLASS);
-				} else if (captureOutput) {
-					commandLine.append(REMOTE_ANT_LOGGER_CLASS);
-				}
-			}
-			if (commandLine.indexOf("-inputhandler") == -1 && setInputHandler) { //$NON-NLS-1$
-				commandLine.append(" -inputhandler "); //$NON-NLS-1$
-				commandLine.append(REMOTE_INPUT_HANDLER_CLASS);
-			}
-		} else {
-			if (setInputHandler) {
-				commandLine.append(" -inputhandler "); //$NON-NLS-1$
-				commandLine.append(INPUT_HANDLER_CLASS);
-			}
-		
-			commandLine.append(" -logger "); //$NON-NLS-1$
-			if (fMode.equals(ILaunchManager.DEBUG_MODE)) {
-				commandLine.append(ANT_DEBUG_LOGGER_CLASS);
-			} else if (captureOutput) {
-				commandLine.append(ANT_LOGGER_CLASS);
-			} else {
-				commandLine.append(NULL_LOGGER_CLASS);
-			}
-		}
-		
-		if (separateVM) {
-			appendTaskAndTypes(prefs, commandLine);
-		}
-		commandLine.append(" -buildfile \""); //$NON-NLS-1$
-		commandLine.append(location.toOSString());
-		commandLine.append('\"');
-		
-		if (targets != null) {
-			for (int i = 0; i < targets.length; i++) {
-				commandLine.append(" \""); //$NON-NLS-1$
-				commandLine.append(targets[i]);
-				commandLine.append('\"');
-			}
-		}
-		return commandLine;
-	}
-	
-	private void appendTaskAndTypes(AntCorePreferences prefs, StringBuffer commandLine) {
-		List tasks= prefs.getRemoteTasks();
-		Iterator itr= tasks.iterator();
-		while (itr.hasNext()) {
-			Task task = (Task) itr.next();
-			commandLine.append(" -eclipseTask "); //$NON-NLS-1$
-			commandLine.append(task.getTaskName());
-			commandLine.append(',');
-			commandLine.append(task.getClassName());
-		}
-		
-		List types= prefs.getRemoteTypes();
-		itr= types.iterator();
-		while (itr.hasNext()) {
-			Type type = (Type) itr.next();
-			commandLine.append(" -eclipseType "); //$NON-NLS-1$
-			commandLine.append(type.getTypeName());
-			commandLine.append(',');
-			commandLine.append(type.getClassName());
-		}
-	}
-
-	private void appendProperty(StringBuffer commandLine, String name, String value) {
-		commandLine.append(" \"-D"); //$NON-NLS-1$
-		commandLine.append(name);
-		commandLine.append('='); 
-		commandLine.append(value);
-		commandLine.append(" \""); //$NON-NLS-1$
-	}
-	
-	private void runInSeparateVM(ILaunchConfiguration configuration, ILaunch launch, IProgressMonitor monitor, String idStamp, String antHome, int port, int requestPort, StringBuffer commandLine, boolean captureOutput, boolean setInputHandler) throws CoreException {
-        boolean debug= fMode.equals(ILaunchManager.DEBUG_MODE);
-		if (debug) {
-			RemoteAntDebugBuildListener listener= new RemoteAntDebugBuildListener(launch);
-			if (requestPort != -1) {
-				listener.startListening(port, requestPort);
-			}
-		} else if (captureOutput) {
-			RemoteAntBuildListener client= new RemoteAntBuildListener(launch);
-			if (port != -1) {
-				client.startListening(port);
-			}
-		}
-		
-		ILaunchConfigurationWorkingCopy copy= configuration.getWorkingCopy();
-		copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, commandLine.toString());
-		StringBuffer vmArgs= generateVMArguments(copy, setInputHandler, antHome);
-		copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, vmArgs.toString());
-        copy.setAttribute(IDebugUIConstants.ATTR_PRIVATE, true);
-        if (copy.getAttribute(IAntUIConstants.ATTR_DEFAULT_VM_INSTALL, false)) {
-        	setDefaultVM(configuration, copy);
-        }
-        if (debug) { //do not allow launch in foreground bug 83254
-            copy.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, true);
-        }
-        
-        //set the ANT_HOME environment variable
-		Map vars= new HashMap(1);
-		vars.put("ANT_HOME", antHome); //$NON-NLS-1$
-		copy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, vars);
-
-		//copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000"); //$NON-NLS-1$
-		IProgressMonitor subMonitor= new SubProgressMonitor(monitor, 10);
-		AntJavaLaunchDelegate delegate= new AntJavaLaunchDelegate();
-		delegate.preLaunchCheck(copy, ILaunchManager.RUN_MODE, subMonitor);
-		delegate.launch(copy, ILaunchManager.RUN_MODE, launch, subMonitor);
-		final IProcess[] processes= launch.getProcesses();
-		for (int i = 0; i < processes.length; i++) {
-			setProcessAttributes(processes[i], idStamp, null, captureOutput);
-		}
-
-		if (CommonTab.isLaunchInBackground(copy)) {
-			// refresh resources after process finishes
-			if (RefreshTab.getRefreshScope(configuration) != null) {
-				BackgroundResourceRefresher refresher = new BackgroundResourceRefresher(configuration, processes[0]);
-				refresher.startBackgroundRefresh();
-			}
-		} else {
-			final boolean[] terminated= new boolean[1];
-			terminated[0]= launch.isTerminated();
-			IDebugEventSetListener listener= new IDebugEventSetListener() {
-				public void handleDebugEvents(DebugEvent[] events) {
-					for (int i = 0; i < events.length; i++) {
-						DebugEvent event = events[i];
-						for (int j= 0, numProcesses= processes.length; j < numProcesses; j++) {
-							if (event.getSource() == processes[j] && event.getKind() == DebugEvent.TERMINATE) {
-								terminated[0]= true;
-								break;
-							}
-						}
-					}
-				}
-			};
-			DebugPlugin.getDefault().addDebugEventListener(listener);
-			monitor.subTask(AntLaunchConfigurationMessages.getString("AntLaunchDelegate.28")); //$NON-NLS-1$
-			while (!monitor.isCanceled() && !terminated[0]) {
-				try {
-					Thread.sleep(50);
-				} catch (InterruptedException e) {
-				}
-			}
-			DebugPlugin.getDefault().removeDebugEventListener(listener);
-			if (!monitor.isCanceled()) {
-				// refresh resources
-				RefreshTab.refreshResources(configuration, monitor);
-			}
-		}
-	}
-
-	private void setDefaultVM(ILaunchConfiguration configuration, ILaunchConfigurationWorkingCopy copy) {
-		try {
-			JavaRuntime.getJavaProject(configuration);
-			//remove the vm name and install type for the Java launching concept of default VM
-			copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, (String)null);
-			copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, (String)null);
-		} catch (CoreException ce) {
-			//not in a Java project
-			IVMInstall defaultVMInstall= JavaRuntime.getDefaultVMInstall();
-			copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_NAME, defaultVMInstall.getName());
-			copy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_INSTALL_TYPE, defaultVMInstall.getVMInstallType().getId());
-		}
-	}
-	
-	private StringBuffer generateVMArguments(ILaunchConfiguration config, boolean setInputHandler, String antHome) {
-		StringBuffer vmArgs= new StringBuffer();
-		try {
-			String configArgs= config.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, (String)null);
-			if (configArgs != null) {
-				vmArgs.append(configArgs);
-				vmArgs.append(' ');
-			}
-		} catch (CoreException e) {
-		}
-	
-		vmArgs.append("-Dant.home=\""); //$NON-NLS-1$
-		vmArgs.append(antHome);
-		vmArgs.append("\" "); //$NON-NLS-1$
-		File antLibDir= new File(antHome, "lib"); //$NON-NLS-1$
-		vmArgs.append("-Dant.library.dir=\""); //$NON-NLS-1$
-		vmArgs.append(antLibDir.getAbsolutePath());
-		vmArgs.append('\"');
-
-		if (setInputHandler) {
-			String swtLocation= getSWTLibraryLocation();
-			if (swtLocation != null) {
-				vmArgs.append(" -Djava.library.path=\""); //$NON-NLS-1$
-				vmArgs.append(swtLocation);
-				vmArgs.append('\"');
-			}
-		}
-		return vmArgs;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.LaunchConfigurationDelegate#getBuildOrder(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String)
-	 */
-	protected IProject[] getBuildOrder(ILaunchConfiguration configuration, String mode) throws CoreException {
-		String scope = null;
-		try {
-			scope = configuration.getAttribute(AntBuildTab.ATTR_BUILD_SCOPE, (String)null);
-		} catch (CoreException e) {
-			return null;
-		}
-		if (scope == null) {
-			return null;
-		}
-		IProject[] projects = AntBuildTab.getBuildProjects(scope);
-		boolean isRef = AntBuildTab.isIncludeReferencedProjects(configuration);
-		if (isRef) {
-			return computeReferencedBuildOrder(projects);
-		}
-		return computeBuildOrder(projects);
-	}
-
-	private String getSWTLibraryLocation() {
-		IPath path= getSWTPath();
-		if (path == null) {
-			return null;
-		}
-		
-		path= path.append("os"); //$NON-NLS-1$
-		path= path.append(Platform.getOS());
-		path= path.append(Platform.getOSArch());
-		return path.toOSString();
-	}
-	
-	protected static IPath getSWTPath() {
-		Location eclipseHome= Platform.getInstallLocation();
-		if (eclipseHome == null) {
-			return null;
-		}
-		
-		Bundle bundle= Platform.getBundle("org.eclipse.swt"); //$NON-NLS-1$
-		String eclipseVersion = (String) bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION);
-		
-		String platform= SWT.getPlatform();
-
-		IPath path= new Path(new File(eclipseHome.getURL().getPath()).getAbsolutePath());
-		path= path.append("plugins"); //$NON-NLS-1$
-		path= path.append("org.eclipse.swt." + platform + '_' + eclipseVersion); //$NON-NLS-1$
-		return path;
-	}
-    
-     /* (non-Javadoc)
-     * @see org.eclipse.debug.core.model.LaunchConfigurationDelegate#getBreakpoints(org.eclipse.debug.core.ILaunchConfiguration)
-     */
-    protected IBreakpoint[] getBreakpoints(ILaunchConfiguration configuration) {
-         IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
-         if (!breakpointManager.isEnabled()) {
-             // no need to check breakpoints individually.
-             return null;
-         }
-         return breakpointManager.getBreakpoints(IAntDebugConstants.ID_ANT_DEBUG_MODEL);
-     }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchShortcut.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchShortcut.java
deleted file mode 100644
index a6acb5b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchShortcut.java
+++ /dev/null
@@ -1,545 +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
- *     John-Mason P. Shackelford - bug 34548
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.launchConfigurations;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.internal.ui.model.AntTaskNode;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-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.CommonTab;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchShortcut;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.ui.editors.text.ILocationProvider;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-
-public class AntLaunchShortcut implements ILaunchShortcut {
-
-	private boolean fShowDialog= false;
-	private static final int MAX_TARGET_APPEND_LENGTH = 30;
-
-	/**
-	 * Constructor for AntLaunchShortcut.
-	 */
-	public AntLaunchShortcut() {
-		super();
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.jface.viewers.ISelection, java.lang.String)
-	 */
-	public void launch(ISelection selection, String mode) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection structuredSelection = (IStructuredSelection)selection;
-			Object object = structuredSelection.getFirstElement();
-			if (object instanceof IAdaptable) {
-				IResource resource = (IResource)((IAdaptable)object).getAdapter(IResource.class);
-				if (resource != null) {
-					launch(resource, mode);
-					return;
-				} else if (object instanceof AntElementNode){
-					launch((AntElementNode) object, mode);
-					return;
-				}
-			}
-		}
-		antFileNotFound();
-	}
-	
-	/**
-	 * Launches the given Ant node.
-	 * <ul><li>AntProjectNodes: the default target is executed</li>
-	 * <li>AntTargetNodes: that target is executed</li>
-	 * <li>AntTaskNodes: the owning target is executed</li>
-	 * </ul>
-	 * @param node the Ant node to use as the context for the launch
-	 */
-	public void launch(AntElementNode node, String mode) {
-		String selectedTargetName= null;
-		if (node instanceof AntTargetNode) {
-			AntTargetNode targetNode= (AntTargetNode) node;
-			if (targetNode.isDefaultTarget()) {
-				selectedTargetName= ""; //$NON-NLS-1$
-			} else {
-				selectedTargetName= targetNode.getTarget().getName();
-			}
-		} else if (node instanceof AntProjectNode) {
-			selectedTargetName = ""; //$NON-NLS-1$
-		} else if (node instanceof AntTaskNode) {
-		    AntTaskNode taskNode= (AntTaskNode) node;
-		    selectedTargetName= taskNode.getTask().getOwningTarget().getName();
-		}
-	
-		if (selectedTargetName == null) {
-			return;
-		}
-		IFile file= node.getBuildFileResource();
-		if (file != null) {
-			launch(file, mode, selectedTargetName);
-			return;
-		} 
-		//external buildfile
-		IPath filePath= getExternalBuildFilePath();
-		if (filePath != null) {
-			launch(filePath, mode, selectedTargetName);
-			return;
-		}
-		
-		antFileNotFound();
-	}
-	
-	private IPath getExternalBuildFilePath() {
-		IWorkbenchPage page= AntUIPlugin.getActiveWorkbenchWindow().getActivePage();
-		IPath filePath= null;
-		IEditorPart editor= page.getActiveEditor();
-		if (editor != null) {
-		    IEditorInput editorInput= editor.getEditorInput();
-		    if (editorInput instanceof ILocationProvider) {
-		        filePath= ((ILocationProvider)editorInput).getPath(editorInput);
-		    }
-		}
-		return filePath;
-	}
-	
-	/**
-	 * Inform the user that an ant file was not found to run.
-	 */
-	private void antFileNotFound() {
-		reportError(AntLaunchConfigurationMessages.getString("AntLaunchShortcut.Unable"), null); //$NON-NLS-1$	
-	}
-	
-	/**
-	 * Launch the given file in the specified mode.
-	 * 
-	 * @param resource either a build file (*.xml file) to execute or a resource
-	 * from whose location a build file should be searched for. If the given
-	 * resource is a file that does not end in ".xml", a search will begin at
-	 * the resource's enclosing folder. The given resource must be of type IFile
-	 * or IContainer.
-	 * @param mode the mode in which the build file should be executed
-	 */
-	protected void launch(IResource resource, String mode) {
-		if (!("xml".equalsIgnoreCase(resource.getFileExtension()))) { //$NON-NLS-1$
-			if (resource.getType() == IResource.FILE) {
-				resource= resource.getParent();
-			}
-			resource= findBuildFile((IContainer)resource);
-		} 
-		if (resource != null) {
-			launch((IFile)resource, mode, null);
-		} else {
-		 	antFileNotFound();
-		 }
-	}
-	
-	/**
-	 * Launch the given targets in the given build file. The targets are
-	 * launched in the given mode.
-	 * 
-	 * @param file the build file to launch
-	 * @param mode the mode in which the build file should be executed
-	 * @param targetAttribute the targets to launch, in the form of the launch
-	 * configuration targets attribute.
-	 */
-	public void launch(IFile file, String mode, String targetAttribute) {
-		ILaunchConfiguration configuration= null;
-		
-		List configurations = findExistingLaunchConfigurations(file);
-		if (configurations.isEmpty()) {
-			configuration = createDefaultLaunchConfiguration(file);
-		} else {
-			if (configurations.size() == 1) {
-				configuration= (ILaunchConfiguration)configurations.get(0);
-			} else {
-				configuration= chooseConfig(configurations);
-				if (configuration == null) {
-					// User cancelled selection
-					return;
-				}
-			}
-		}
-
-		if (configuration == null) {
-			antFileNotFound();
-		}
-		// ensure that the targets are selected in the launch configuration
-		try {
-			if (targetAttribute != null && ! targetAttribute.equals(configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, ""))) { //$NON-NLS-1$
-				String projectName= null;
-				try {
-					projectName= configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String) null);
-				} catch (CoreException e) {
-				}
-				String newName= getNewLaunchConfigurationName(file.getFullPath(), projectName, targetAttribute);        
-				configuration= configuration.copy(newName);
-				((ILaunchConfigurationWorkingCopy) configuration).setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, targetAttribute);
-				if (fShowDialog) {
-					configuration= ((ILaunchConfigurationWorkingCopy) configuration).doSave();
-				}
-			}
-		} catch (CoreException exception) {
-			reportError(MessageFormat.format(AntLaunchConfigurationMessages.getString("AntLaunchShortcut.Exception_launching"), new String[] {file.getName()}), exception); //$NON-NLS-1$
-			return;
-		}
-		launch(mode, configuration);
-	}
-	
-	/**
-	 * Returns a unique name for a copy of the given launch configuration with the given
-	 * targets. The name seed is the same as the name for a new launch configuration with
-	 *   " [targetList]" appended to the end.
-	 * @param config
-	 * @param targetAttribute
-	 * @return
-	 */
-	public static String getNewLaunchConfigurationName(IPath filePath, String projectName, String targetAttribute) {
-		StringBuffer buffer = new StringBuffer();
-		if (projectName != null) {
-			buffer.append(projectName);
-			buffer.append(' ');
-			buffer.append(filePath.lastSegment());
-		} else {
-			buffer.append(filePath.toOSString());
-		}
-		
-		if (targetAttribute != null) {
-			buffer.append(" ["); //$NON-NLS-1$
-			if (targetAttribute.length() > MAX_TARGET_APPEND_LENGTH + 3) {
-				// The target attribute can potentially be a long, comma-separated list
-				// of target. Make sure the generated name isn't extremely long.
-				buffer.append(targetAttribute.substring(0, MAX_TARGET_APPEND_LENGTH));
-				buffer.append("..."); //$NON-NLS-1$
-			} else {
-				buffer.append(targetAttribute);
-			}
-			buffer.append(']');
-		}
-		
-		String name= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(buffer.toString());
-		return name;
-	}
-	
-	/**
-	 * Launch the given targets in the given build file. The targets are
-	 * launched in the given mode.
-	 * 
-	 * @param filePath the path to the build file to launch
-	 * @param mode the mode in which the build file should be executed
-	 * @param targetAttribute the targets to launch, in the form of the launch
-	 * configuration targets attribute.
-	 */
-	public void launch(IPath filePath, String mode, String targetAttribute) {
-		ILaunchConfiguration configuration= null;
-		
-		List configurations = findExistingLaunchConfigurations(filePath);
-		if (configurations.isEmpty()) {
-			configuration = createDefaultLaunchConfiguration(filePath, null);
-		} else {
-			if (configurations.size() == 1) {
-				configuration= (ILaunchConfiguration)configurations.get(0);
-			} else {
-				configuration= chooseConfig(configurations);
-				if (configuration == null) {
-					// User cancelled selection
-					return;
-				}
-			}
-		}
-		
-		if (configuration == null) {
-			antFileNotFound();
-		}
-		// ensure that the targets are selected in the launch configuration
-		try {
-			if (targetAttribute != null && ! targetAttribute.equals(configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, ""))) { //$NON-NLS-1$
-				String projectName= null;
-				try {
-					projectName= configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, (String) null);
-				} catch (CoreException e) {
-				}
-				String newName= getNewLaunchConfigurationName(filePath, projectName, targetAttribute);		        
-				configuration= configuration.copy(newName);
-				((ILaunchConfigurationWorkingCopy) configuration).setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, targetAttribute);
-				if (fShowDialog) {
-					configuration= ((ILaunchConfigurationWorkingCopy) configuration).doSave();
-				}
-			}
-		} catch (CoreException exception) {
-			reportError(MessageFormat.format(AntLaunchConfigurationMessages.getString("AntLaunchShortcut.Exception_launching"), new String[] {filePath.toFile().getName()}), exception); //$NON-NLS-1$
-			return;
-		}
-		launch(mode, configuration);
-	}
-	
-	private void launch(String mode, ILaunchConfiguration configuration) {
-        if (fShowDialog) {
-			// Offer to save dirty editors before opening the dialog as the contents
-			// of an Ant editor often affect the contents of the dialog.
-			if (!DebugUITools.saveBeforeLaunch()) {
-				return;
-			}
-			IStatus status = new Status(IStatus.INFO, IAntUIConstants.PLUGIN_ID, IAntUIConstants.STATUS_INIT_RUN_ANT, "", null); //$NON-NLS-1$
-			String groupId;
-			if (mode.equals(ILaunchManager.DEBUG_MODE)) {
-			    groupId= IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP;
-			} else {
-			    groupId= IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_GROUP;
-			}
-			DebugUITools.openLaunchConfigurationDialog(AntUIPlugin.getActiveWorkbenchWindow().getShell(), configuration, groupId, status);
-		} else {
-			DebugUITools.launch(configuration, mode);
-		}
-    }
-
-    /**
-	 * Walks the file hierarchy looking for a build file.
-	 * Returns the first build file found that matches the 
-	 * search criteria.
-	 */
-	private IFile findBuildFile(IContainer parent) {
-		String[] names= getBuildFileNames();
-		if (names == null) {
-			return null;
-		}
-		IResource file= null;
-		while (file == null || file.getType() != IResource.FILE) {		
-			for (int i = 0; i < names.length; i++) {
-				String string = names[i];
-				file= parent.findMember(string);
-				if (file != null && file.getType() == IResource.FILE) {
-					break;
-				}
-			}
-			parent = parent.getParent();
-			if (parent == null) {
-				return null;
-			}
-		}
-		return (IFile)file;
-	}
-	
-	private String[] getBuildFileNames() {
-		IPreferenceStore prefs= AntUIPlugin.getDefault().getPreferenceStore();
-		String buildFileNames= prefs.getString(IAntUIPreferenceConstants.ANT_FIND_BUILD_FILE_NAMES);
-		if (buildFileNames.length() == 0) {
-			//the user has not specified any names to look for
-			return null;
-		}
-		return AntUtil.parseString(buildFileNames, ","); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Creates and returns a default launch configuration for the given file.
-	 * 
-	 * @param file
-	 * @return default launch configuration
-	 */
-	public static ILaunchConfiguration createDefaultLaunchConfiguration(IFile file) {
-		return createDefaultLaunchConfiguration(file.getFullPath(), file.getProject());
-	}
-
-	/**
-	 * Creates and returns a default launch configuration for the given file path
-	 * and project.
-	 * 
-	 * @param filePath the path to the buildfile
-	 * @param project the project containing the buildfile or <code>null</code> if the
-	 * buildfile is not contained in a project (is external).
-	 * @return default launch configuration or <code>null</code> if one could not be created
-	 */
-	public static ILaunchConfiguration createDefaultLaunchConfiguration(IPath filePath, IProject project) {
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType type = manager.getLaunchConfigurationType(IAntLaunchConfigurationConstants.ID_ANT_LAUNCH_CONFIGURATION_TYPE);
-				
-		String projectName= project != null ? project.getName() : null;
-		String name = getNewLaunchConfigurationName(filePath, projectName, null);
-		try {
-			ILaunchConfigurationWorkingCopy workingCopy = type.newInstance(null, name);
-			if (project != null) {
-				workingCopy.setAttribute(IExternalToolConstants.ATTR_LOCATION,
-						VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", filePath.toString())); //$NON-NLS-1$
-			} else {
-				workingCopy.setAttribute(IExternalToolConstants.ATTR_LOCATION, filePath.toString());
-			}
-			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER, "org.eclipse.ant.ui.AntClasspathProvider"); //$NON-NLS-1$
-			// set default for common settings
-			CommonTab tab = new CommonTab();
-			tab.setDefaults(workingCopy);
-			tab.dispose();
-			
-			//set the project name so that the correct default VM install can be determined
-			if (project != null) {
-				workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, project.getName());
-			}
-			AntJRETab jreTab = new AntJRETab();
-			jreTab.setDefaults(workingCopy);
-			jreTab.dispose();
-			
-			return workingCopy.doSave();
-		} catch (CoreException e) {
-			reportError(MessageFormat.format(AntLaunchConfigurationMessages.getString("AntLaunchShortcut.2"), new String[]{filePath.toString()}), e); //$NON-NLS-1$
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns a list of existing launch configuration for the given file.
-	 * 
-	 * @param file the buildfile resource
-	 * @return list of launch configurations
-	 */
-	public static List findExistingLaunchConfigurations(IFile file) {
-		IPath filePath = file.getLocation();
-		return findExistingLaunchConfigurations(filePath);
-	}
-	
-	/**
-	 * Returns a list of existing launch configuration for the given file.
-	 * 
-	 * @param filePath the fully qualified path for the buildfile
-	 * @return list of launch configurations
-	 */
-	public static List findExistingLaunchConfigurations(IPath filePath) {
-		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType type = manager.getLaunchConfigurationType(IAntLaunchConfigurationConstants.ID_ANT_LAUNCH_CONFIGURATION_TYPE);
-		List validConfigs= new ArrayList();
-		if (type != null) {
-			ILaunchConfiguration[] configs = null;
-			try {
-				configs = manager.getLaunchConfigurations(type);
-			} catch (CoreException e) {
-				reportError(AntLaunchConfigurationMessages.getString("AntLaunchShortcut.3"), e); //$NON-NLS-1$
-			}
-			if (configs != null && configs.length > 0) {
-				if (filePath == null) {
-					reportError(AntLaunchConfigurationMessages.getString("AntLaunchShortcut.0"), null); //$NON-NLS-1$
-				} else {
-					for (int i = 0; i < configs.length; i++) {
-						ILaunchConfiguration configuration = configs[i];
-						IPath location;
-						try {
-							location = ExternalToolsUtil.getLocation(configuration);
-							if (filePath.equals(location)) {
-								validConfigs.add(configuration);
-							}
-						} catch (CoreException e) {
-							// error occurred in variable expand - ignore
-						}
-					}
-				}
-			}
-		}
-		return validConfigs;
-	}
-	
-	/**
-	 * Prompts the user to choose from the list of given launch configurations
-	 * and returns the config the user choose or <code>null</code> if the user
-	 * pressed Cancel or if the given list is empty.
-	 */
-	public static ILaunchConfiguration chooseConfig(List configs) {
-		if (configs.isEmpty()) {
-			return null;
-		}
-		ILabelProvider labelProvider = DebugUITools.newDebugModelPresentation();
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(Display.getDefault().getActiveShell(), labelProvider);
-		dialog.setElements(configs.toArray(new ILaunchConfiguration[configs.size()]));
-		dialog.setTitle(AntLaunchConfigurationMessages.getString("AntLaunchShortcut.4")); //$NON-NLS-1$
-		dialog.setMessage(AntLaunchConfigurationMessages.getString("AntLaunchShortcut.5")); //$NON-NLS-1$
-		dialog.setMultipleSelection(false);
-		int result = dialog.open();
-		labelProvider.dispose();
-		if (result == Window.OK) {
-			return (ILaunchConfiguration) dialog.getFirstResult();
-		}
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.ui.IEditorPart, java.lang.String)
-	 */
-	public void launch(IEditorPart editor, String mode) {
-		IEditorInput input = editor.getEditorInput();
-		IFile file = (IFile)input.getAdapter(IFile.class);
-		if (file != null) {
-			launch(file, mode);
-			return;
-		}
-		if (input instanceof ILocationProvider) {
-			IPath filePath= ((ILocationProvider)input).getPath(input);
-			if ("xml".equals(filePath.getFileExtension())) { //$NON-NLS-1$
-				launch(filePath, mode, null);
-				return;
-			}
-		}
-	
-		antFileNotFound();
-	}
-	
-	protected static void reportError(String message, Throwable throwable) {
-		IStatus status = null;
-		if (throwable instanceof CoreException) {
-			status = ((CoreException)throwable).getStatus();
-		} else {
-			status = new Status(IStatus.ERROR, IAntUIConstants.PLUGIN_ID, 0, message, throwable);
-		}
-		ErrorDialog.openError(AntUIPlugin.getActiveWorkbenchWindow().getShell(), AntLaunchConfigurationMessages.getString("AntLaunchShortcut.Error_7"), AntLaunchConfigurationMessages.getString("AntLaunchShortcut.Build_Failed_2"), status); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * Sets whether to show the external tools launch configuration dialog
-	 * 
-	 * @param showDialog If true the launch configuration dialog will always be
-	 * 			shown
-	 */
-	public void setShowDialog(boolean showDialog) {
-		fShowDialog = showDialog;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchShortcutWithDialog.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchShortcutWithDialog.java
deleted file mode 100644
index a6db727..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntLaunchShortcutWithDialog.java
+++ /dev/null
@@ -1,23 +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.ant.internal.ui.launchConfigurations;
-
-public class AntLaunchShortcutWithDialog extends AntLaunchShortcut {
-	
-	/**
-	 * Creates a new Ant launch shortcut that will open the
-	 * launch configuration dialog.
-	 */
-	public AntLaunchShortcutWithDialog() {
-		super();
-		setShowDialog(true);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntMainTab.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntMainTab.java
deleted file mode 100644
index 100c4bb..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntMainTab.java
+++ /dev/null
@@ -1,169 +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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.ui.PlatformUI;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.ui.FileSelectionDialog;
-
-public class AntMainTab extends ExternalToolsMainTab {
-
-	private String fCurrentLocation= null;
-	private Button fSetInputHandlerButton;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		super.initializeFrom(configuration);
-		try {
-			fCurrentLocation= configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, (String)null);
-		} catch (CoreException e) {
-		}
-		updateCheckButtons(configuration);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		super.performApply(configuration);
-		try {
-			//has the location changed
-			String newLocation= configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, (String)null);
-			if (newLocation != null) {
-				if (!newLocation.equals(fCurrentLocation)) {
-					updateTargetsTab();
-					fCurrentLocation= newLocation;
-				}
-			} else if (fCurrentLocation != null){
-				updateTargetsTab();
-				fCurrentLocation= newLocation;
-			}
-		} catch (CoreException e) {
-		}
-		setAttribute(IAntUIConstants.SET_INPUTHANDLER, configuration, fSetInputHandlerButton.getSelection(), true);
-	}
-
-	/* (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);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(mainComposite, IAntUIHelpContextIds.ANT_MAIN_TAB);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		mainComposite.setLayout(layout);
-		mainComposite.setLayoutData(gridData);
-		mainComposite.setFont(parent.getFont());
-		createLocationComponent(mainComposite);
-		createWorkDirectoryComponent(mainComposite);
-		createArgumentComponent(mainComposite);
-		createVerticalSpacer(mainComposite, 2);
-		createSetInputHandlerComponent(mainComposite);
-		Dialog.applyDialogFont(parent);
-	}
-	
-	/**
-	 * Creates the controls needed to edit the set input handler attribute of an
-	 * Ant build
-	 *
-	 * @param parent the composite to create the controls in
-	 */
-	private void createSetInputHandlerComponent(Composite parent) {
-		fSetInputHandlerButton = createCheckButton(parent, AntLaunchConfigurationMessages.getString("AntMainTab.0")); //$NON-NLS-1$
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		data.horizontalSpan = 2;
-		fSetInputHandlerButton.setLayoutData(data);
-		fSetInputHandlerButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-	}
-	
-	private void updateCheckButtons(ILaunchConfiguration configuration) {
-		boolean setInputHandler= true;
-		try {
-			setInputHandler= configuration.getAttribute(IAntUIConstants.SET_INPUTHANDLER, true);
-		} catch (CoreException ce) {
-			AntUIPlugin.log(AntLaunchConfigurationMessages.getString("AntMainTab.1"), ce); //$NON-NLS-1$
-		}
-		fSetInputHandlerButton.setSelection(setInputHandler);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab#handleWorkspaceLocationButtonSelected()
-	 */
-	protected void handleWorkspaceLocationButtonSelected() {
-		FileSelectionDialog dialog;
-		dialog = new FileSelectionDialog(getShell(), ResourcesPlugin.getWorkspace().getRoot(), AntLaunchConfigurationMessages.getString("AntMainTab.&Select_a_build_file__1")); //$NON-NLS-1$
-		dialog.setFileFilter(".*\\.xml", true); //$NON-NLS-1$
-		dialog.open();
-		IStructuredSelection result = dialog.getResult();
-		if (result == null) {
-			return;
-		}
-		Object file= result.getFirstElement();
-		if (file instanceof IFile) {
-			locationField.setText(VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", ((IFile)file).getFullPath().toString())); //$NON-NLS-1$
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab#getWorkingDirectoryLabel()
-	 */
-	protected String getWorkingDirectoryLabel() {
-		return AntLaunchConfigurationMessages.getString("AntMainTab.3"); //$NON-NLS-1$
-	}
-	
-	private void updateTargetsTab() {
-		//the location has changed...set the targets tab to 
-		//need to be recomputed
-		ILaunchConfigurationTab[] tabs=  getLaunchConfigurationDialog().getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			ILaunchConfigurationTab tab = tabs[i];
-			if (tab instanceof AntTargetsTab) {
-				((AntTargetsTab)tab).setDirty(true);
-				break;
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsMainTab#getLocationLabel()
-	 */
-	protected String getLocationLabel() {
-		return AntLaunchConfigurationMessages.getString("AntMainTab.6"); //$NON-NLS-1$
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntProcess.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntProcess.java
deleted file mode 100644
index 0ca0d0c..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntProcess.java
+++ /dev/null
@@ -1,195 +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.ant.internal.ui.launchConfigurations;
-
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.debug.ui.console.IConsole;
-
-public class AntProcess implements IProcess, IProgressMonitor {
-	
-	private AntStreamsProxy fProxy = new AntStreamsProxy();
-	private String fLabel = null;
-	private ILaunch fLaunch = null;
-	private Map fAttributes = null;
-	private boolean fTerminated = false;
-	private boolean fCancelled = false;
-	private IConsole fConsole = null;
-	
-	public AntProcess(String label, ILaunch launch, Map attributes) {
-		fLabel = label;
-		fLaunch = launch;
-		if (attributes == null) {
-			fAttributes = new HashMap();
-		} else {
-			fAttributes = attributes;
-		}
-		launch.addProcess(this);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IProcess#getLabel()
-	 */
-	public String getLabel() {
-		return fLabel;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IProcess#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return fLaunch;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IProcess#getStreamsProxy()
-	 */
-	public IStreamsProxy getStreamsProxy() {
-		return fProxy;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IProcess#setAttribute(java.lang.String, java.lang.String)
-	 */
-	public void setAttribute(String key, String value) {
-		fAttributes.put(key, value);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IProcess#getAttribute(java.lang.String)
-	 */
-	public String getAttribute(String key) {
-		return (String)fAttributes.get(key);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IProcess#getExitValue()
-	 */
-	public int getExitValue() {
-		return 0;
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		return !isCanceled() && !isTerminated();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
-	public boolean isTerminated() {
-		return fTerminated;
-	}
-	
-	protected void terminated() {
-		if (!fTerminated) {
-			fTerminated = true;
-			if (DebugPlugin.getDefault() != null) {
-				DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {new DebugEvent(this, DebugEvent.TERMINATE)});
-			}
-		}
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
-	 */
-	public void terminate() {
-		setCanceled(true);
-	}
-
-	/**
-	 * Returns the console associated with this process, or <code>null</code> if
-	 * none.
-	 * 
-	 * @return console, or <code>null</code>
-	 */
-	public IConsole getConsole() {
-		return fConsole;
-	}
-	
-	/**
-	 * Sets the console associated with this process.
-	 * 
-	 * @param console
-	 */
-	public void setConsole(IConsole console) {
-		fConsole = console;
-	}
-	
-	// IProgressMontior implemented to support termination.
-	
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#beginTask(java.lang.String, int)
-	 */
-	public void beginTask(String name, int totalWork) {
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#done()
-	 */
-	public void done() {
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#internalWorked(double)
-	 */
-	public void internalWorked(double work) {
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#isCanceled()
-	 */
-	public boolean isCanceled() {
-		return fCancelled;
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#setCanceled(boolean)
-	 */
-	public void setCanceled(boolean value) {
-		fCancelled = value;
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#setTaskName(java.lang.String)
-	 */
-	public void setTaskName(String name) {
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#subTask(java.lang.String)
-	 */
-	public void subTask(String name) {
-	}
-
-	/**
-	 * @see org.eclipse.core.runtime.IProgressMonitor#worked(int)
-	 */
-	public void worked(int work) {
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntPropertiesTab.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntPropertiesTab.java
deleted file mode 100644
index 12a90e7..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntPropertiesTab.java
+++ /dev/null
@@ -1,256 +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.ant.internal.ui.launchConfigurations;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.preferences.AntPropertiesBlock;
-import org.eclipse.ant.internal.ui.preferences.IAntBlockContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-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.ui.PlatformUI;
-
-/**
- * Tab for setting Ant user properties per launch configuration. All properties
- * specified here will be set as user properties on the project for the
- * specified Ant build
- */
-public class AntPropertiesTab extends AbstractLaunchConfigurationTab implements IAntBlockContainer {
-	
-	private Button fUseDefaultButton;
-	private AntPropertiesBlock fAntPropertiesBlock= new AntPropertiesBlock(this);
-    private boolean fSeparateJRE= true;
-	
-	public void createControl(Composite parent) {
-		Composite top = new Composite(parent, SWT.NONE);
-		top.setFont(parent.getFont());
-		setControl(top);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IAntUIHelpContextIds.ANT_PROPERTIES_TAB);
-
-		top.setLayout(new GridLayout());
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		top.setLayoutData(gridData);
-		
-		createChangeProperties(top);
-		
-		Composite propertiesBlockComposite= new Composite(top, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns= 2;
-		propertiesBlockComposite.setLayout(layout);
-		propertiesBlockComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		fAntPropertiesBlock.createControl(propertiesBlockComposite, AntLaunchConfigurationMessages.getString("AntPropertiesTab.&Properties__6"), AntLaunchConfigurationMessages.getString("AntPropertiesTab.Property_f&iles__7")); //$NON-NLS-1$ //$NON-NLS-2$
-		
-		Dialog.applyDialogFont(top);
-	}
-	
-	private void createChangeProperties(Composite top) {
-		fUseDefaultButton= createCheckButton(top, AntLaunchConfigurationMessages.getString("AntPropertiesTab.6")); //$NON-NLS-1$
-		fUseDefaultButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				toggleUseDefaultProperties();
-				updateLaunchConfigurationDialog();
-			}
-		});
-	}		
-		
-	private void toggleUseDefaultProperties() {
-		boolean enable= !fUseDefaultButton.getSelection();
-		fAntPropertiesBlock.setEnabled(enable);
-        if (!enable) {
-            initializeAsGlobal(fSeparateJRE);
-        }
-	}
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return AntUIImages.getImage(IAntUIConstants.IMG_PROPERTY);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return AntLaunchConfigurationMessages.getString("AntPropertiesTab.P&roperties_8"); //$NON-NLS-1$
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-        fSeparateJRE= AntUtil.isSeparateJREAntBuild(configuration);
-		setErrorMessage(null);
-		setMessage(null);
-		Map properties= null;
-		try {
-			properties= configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTIES, (Map)null);
-		} catch (CoreException ce) {
-			AntUIPlugin.log(AntLaunchConfigurationMessages.getString("AntPropertiesTab.Error_reading_configuration_9"), ce); //$NON-NLS-1$
-		}
-		
-		String propertyFiles= null;
-		try {
-			propertyFiles= configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTY_FILES, (String)null);
-		} catch (CoreException ce) {
-			AntUIPlugin.log(AntLaunchConfigurationMessages.getString("AntPropertiesTab.Error_reading_configuration_9"), ce); //$NON-NLS-1$
-		}
-		
-		if (properties == null && propertyFiles == null) {
-		    initializeAsGlobal(fSeparateJRE);
-		} else {
-			fUseDefaultButton.setSelection(false);
-			fAntPropertiesBlock.populatePropertyViewer(properties);
-		
-			String[] files= AntUtil.parseString(propertyFiles, ","); //$NON-NLS-1$
-			fAntPropertiesBlock.setPropertyFilesInput(files);
-		}
-		
-		toggleUseDefaultProperties();
-	}
-
-    private void initializeAsGlobal(boolean separateVM) {
-        AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
-        List prefProperties;
-        if (separateVM) {
-            prefProperties= prefs.getRemoteAntProperties();
-        } else {
-            prefProperties= prefs.getProperties();
-        }
-        fAntPropertiesBlock.setPropertiesInput((Property[]) prefProperties.toArray(new Property[prefProperties.size()]));
-        fAntPropertiesBlock.setPropertyFilesInput(AntCorePlugin.getPlugin().getPreferences().getCustomPropertyFiles(false));
-        fAntPropertiesBlock.setTablesEnabled(false);
-        fUseDefaultButton.setSelection(true);
-    }
-	
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		if (fUseDefaultButton.getSelection()) {
-			configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTIES, (Map)null);
-			configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTY_FILES, (String)null);
-			return;
-		}
-				
-		Object[] items= fAntPropertiesBlock.getProperties();
-		Map properties= null;
-		if (items.length > 0) {
-			properties= new HashMap(items.length);
-			for (int i = 0; i < items.length; i++) {
-				Property property = (Property)items[i];
-				properties.put(property.getName(), property.getValue(false));
-			}
-		}
-		
-		configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTIES, properties);
-		
-		items= fAntPropertiesBlock.getPropertyFiles();
-		String files= null;
-		if (items.length > 0) {
-			StringBuffer buff= new StringBuffer();
-			for (int i = 0; i < items.length; i++) {
-				String path = (String)items[i];
-				buff.append(path);
-				buff.append(',');
-			}
-			files= buff.toString();
-		}
-		
-		configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_PROPERTY_FILES, files);
-	}
-
-	/**
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#createPushButton(org.eclipse.swt.widgets.Composite, java.lang.String)
-	 */
-	public void setMessage(String message) {
-		super.setMessage(message);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#createPushButton(org.eclipse.swt.widgets.Composite, java.lang.String)
-	 */
-	public void setErrorMessage(String message) {
-		super.setErrorMessage(message);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#createPushButton(org.eclipse.swt.widgets.Composite, java.lang.String)
-	 */
-	public Button createPushButton(Composite parent, String buttonText) {
-		return super.createPushButton(parent, buttonText, null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#createPushButton(org.eclipse.swt.widgets.Composite, java.lang.String)
-	 */
-	public void update() {
-		updateTargetsTab();
-		updateLaunchConfigurationDialog();
-	}
-	
-	private void updateTargetsTab() {
-		//the properties have changed...set the targets tab to 
-		//need to be recomputed
-		ILaunchConfigurationTab[] tabs=  getLaunchConfigurationDialog().getTabs();
-		for (int i = 0; i < tabs.length; i++) {
-			ILaunchConfigurationTab tab = tabs[i];
-			if (tab instanceof AntTargetsTab) {
-				((AntTargetsTab)tab).setDirty(true);
-				break;
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-        if (fSeparateJRE != AntUtil.isSeparateJREAntBuild(workingCopy)) {
-            //update the properties if changed whether build is in separate JRE
-            initializeFrom(workingCopy);
-        }
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntStreamMonitor.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntStreamMonitor.java
deleted file mode 100644
index d2d1d4d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntStreamMonitor.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.debug.core.IStreamListener;
-import org.eclipse.debug.core.model.IFlushableStreamMonitor;
-import org.eclipse.jface.util.ListenerList;
-
-/**
- * Stream monitor implementation for an Ant build process.
- */
-public class AntStreamMonitor implements IFlushableStreamMonitor {
-
-	private StringBuffer fContents = new StringBuffer();
-	private ListenerList fListeners = new ListenerList(1);
-	private boolean fBuffered = true;
-	
-	/**
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#addListener(org.eclipse.debug.core.IStreamListener)
-	 */
-	public void addListener(IStreamListener listener) {
-		fListeners.add(listener);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#getContents()
-	 */
-	public String getContents() {
-		return fContents.toString();
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IStreamMonitor#removeListener(org.eclipse.debug.core.IStreamListener)
-	 */
-	public void removeListener(IStreamListener listener) {
-		fListeners.remove(listener);
-	}
-
-	/**
-	 * Appends the given message to this stream, and notifies listeners.
-	 * 
-	 * @param message
-	 */
-	public void append(String message) {
-		if (isBuffered()) {
-			fContents.append(message);
-		}
-		Object[] listeners = fListeners.getListeners();
-		for (int i = 0; i < listeners.length; i++) {
-			IStreamListener listener = (IStreamListener)listeners[i];
-			listener.streamAppended(message, this);
-		}
-	}
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#flushContents()
-	 */
-	public void flushContents() {
-		fContents.setLength(0);
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#isBuffered()
-	 */
-	public boolean isBuffered() {
-		return fBuffered;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#setBuffered(boolean)
-	 */
-	public void setBuffered(boolean buffer) {
-		fBuffered = buffer;
-	}
-}
-
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntStreamsProxy.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntStreamsProxy.java
deleted file mode 100644
index 66dca45..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntStreamsProxy.java
+++ /dev/null
@@ -1,65 +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.ant.internal.ui.launchConfigurations;
-
-
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy;
-
-/**
- * 
- */
-public class AntStreamsProxy implements IStreamsProxy {
-	
-	private AntStreamMonitor fErrorMonitor = new AntStreamMonitor();
-	private AntStreamMonitor fOutputMonitor = new AntStreamMonitor();
-	
-	public static final String ANT_DEBUG_STREAM = IAntUIConstants.PLUGIN_ID + ".ANT_DEBUG_STREAM"; //$NON-NLS-1$
-	public static final String ANT_VERBOSE_STREAM = IAntUIConstants.PLUGIN_ID + ".ANT_VERBOSE_STREAM"; //$NON-NLS-1$
-	public static final String ANT_WARNING_STREAM = IAntUIConstants.PLUGIN_ID + ".ANT_WARNING_STREAM"; //$NON-NLS-1$
-	
-	private AntStreamMonitor fDebugMonitor = new AntStreamMonitor();
-	private AntStreamMonitor fVerboseMonitor = new AntStreamMonitor();
-	private AntStreamMonitor fWarningMonitor = new AntStreamMonitor();
-
-	/**
-	 * @see org.eclipse.debug.core.model.IStreamsProxy#getErrorStreamMonitor()
-	 */
-	public IStreamMonitor getErrorStreamMonitor() {
-		return fErrorMonitor;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IStreamsProxy#getOutputStreamMonitor()
-	 */
-	public IStreamMonitor getOutputStreamMonitor() {
-		return fOutputMonitor;
-	}
-
-	/**
-	 * @see org.eclipse.debug.core.model.IStreamsProxy#write(java.lang.String)
-	 */
-	public void write(String input) {
-	}
-
-	public IStreamMonitor getWarningStreamMonitor() {
-		return fWarningMonitor;
-	}
-	
-	public IStreamMonitor getDebugStreamMonitor() {
-		return fDebugMonitor;
-	}	
-	
-	public IStreamMonitor getVerboseStreamMonitor() {
-		return fVerboseMonitor;
-	}	
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntTabGroup.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntTabGroup.java
deleted file mode 100644
index 298e763..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntTabGroup.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-public class AntTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-    /* (non-Javadoc)
-     * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-     */
-    public void initializeFrom(ILaunchConfiguration configuration) {
-        try {
-            boolean captureOutput = configuration.getAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, true);
-            if (!captureOutput && configuration instanceof ILaunchConfigurationWorkingCopy) {
-                ILaunchConfigurationWorkingCopy copy = (ILaunchConfigurationWorkingCopy) configuration;
-                copy.setAttribute(IExternalToolConstants.ATTR_CAPTURE_OUTPUT, (String)null);
-                copy.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, false);
-                copy.setAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, false);
-            }
-        } catch (CoreException e) {
-        }
-        super.initializeFrom(configuration);
-    }
-    
-	/* (non-Javadoc)
-	 * @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 AntMainTab(),
-			new RefreshTab(),
-			new AntBuildTab(),
-			new AntTargetsTab(),
-			new AntClasspathTab(),
-			new AntPropertiesTab(),
-			new AntJRETab(),
-			new AntEnvironmentTab(),
-			new CommonTab()
-		};
-		setTabs(tabs);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		//set default name for script
-		IResource resource = DebugUITools.getSelectedResource();
-		if (resource != null && resource instanceof IFile) {
-			IFile file = (IFile)resource;
-			String extension = file.getFileExtension();
-			if (extension != null && extension.equalsIgnoreCase("xml")) { //$NON-NLS-1$
-				String projectName= file.getProject().getName();
-				StringBuffer buffer = new StringBuffer(projectName);
-				buffer.append(' ');
-				buffer.append(file.getName());
-				String name = buffer.toString().trim();
-				name= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(name);
-				configuration.rename(name);
-				//set the project name so that the correct default VM install can be determined
-				configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME, projectName);
-				configuration.setAttribute(IExternalToolConstants.ATTR_LOCATION,
-						VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", file.getFullPath().toString())); //$NON-NLS-1$
-			}		
-		}
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH_PROVIDER, "org.eclipse.ant.ui.AntClasspathProvider"); //$NON-NLS-1$
-		super.setDefaults(configuration);
-	}	
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntTargetsTab.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntTargetsTab.java
deleted file mode 100644
index 4893647..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntTargetsTab.java
+++ /dev/null
@@ -1,814 +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.ant.internal.ui.launchConfigurations;
-
-
-import java.io.File;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntModelContentProvider;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.internal.ui.model.InternalTargetFilter;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-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.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-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.graphics.Font;
-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.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Launch configuration tab which allows the user to choose the targets
- * from an Ant buildfile that will be executed when the configuration is
- * launched.
- */
-public class AntTargetsTab extends AbstractLaunchConfigurationTab {
-	
-	private AntTargetNode fDefaultTarget = null;
-	private AntTargetNode[] fAllTargets= null;
-	private List fOrderedTargets = null;
-	
-	private CheckboxTableViewer fTableViewer = null;
-	private Label fSelectionCountLabel = null;
-	private Text fTargetOrderText = null;
-	private Button fOrderButton = null;
-	private Button fFilterInternalTargets;
-	private InternalTargetFilter fInternalTargetFilter= null;
-	private Button fSortButton;
-	
-	private ILaunchConfiguration fLaunchConfiguration;
-	private int fSortDirection= 0;
-	private boolean fInitializing= false;
-	
-	/**
-	 * Sort direction constants.
-	 */
-	public final static int SORT_NONE= 0;
-	public final static int SORT_NAME= 1;
-	public final static int SORT_NAME_REVERSE= -1;
-	public final static int SORT_DESCRIPTION= 2;
-	public final static int SORT_DESCRIPTION_REVERSE= -2;
-	
-	/**
-	 * A sorter which can sort targets by name or description, in
-	 * forward or reverse order.
-	 */
-	private class AntTargetsSorter extends ViewerSorter {
-		/**
-		 * @see org.eclipse.jface.viewers.ViewerSorter#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-		 */
-		public int compare(Viewer viewer, Object e1, Object e2) {
-			if (!(e1 instanceof AntTargetNode && e2 instanceof AntTargetNode)) {
-				return super.compare(viewer, e1, e2);
-			}
-			if (fSortDirection == SORT_NONE) {
-				return 0;
-			}
-			String string1, string2;
-			int result= 0;
-			if (fSortDirection == SORT_NAME || fSortDirection == SORT_NAME_REVERSE) {
-				string1= ((AntTargetNode) e1).getLabel();
-				string2= ((AntTargetNode) e2).getLabel();
-			} else {
-				string1= ((AntTargetNode) e1).getTarget().getDescription();
-				string2= ((AntTargetNode) e2).getTarget().getDescription();
-			}
-			if (string1 != null && string2 != null) {
-				result= getCollator().compare(string1, string2);
-			} else if (string1 == null) {
-				result= 1;
-			} else if (string2 == null) {
-				result= -1;
-			}
-			if (fSortDirection < 0) { // reverse sort
-				if (result == 0) {
-					result= -1;
-				} else {
-					result= -result;
-				}
-			}
-			return result;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite comp = new Composite(parent, SWT.NONE);
-		setControl(comp);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IAntUIHelpContextIds.ANT_TARGETS_TAB);
-		GridLayout topLayout = new GridLayout();
-		comp.setLayout(topLayout);		
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		comp.setLayoutData(gd);
-		comp.setFont(font);
-		
-		createTargetsTable(comp);
-		createSelectionCount(comp);
-		
-		Composite buttonComposite= new Composite(comp, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.verticalSpacing = 0;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonComposite.setLayout(layout);
-		buttonComposite.setFont(font);
-		
-		createSortTargets(buttonComposite);
-		createFilterInternalTargets(buttonComposite);
-		
-		createVerticalSpacer(comp, 1);
-		createTargetOrder(comp);
-		Dialog.applyDialogFont(parent);
-	}
-	
-	/**
-	 * Creates the selection count widget
-	 * @param parent the parent composite
-	 */
-	private void createSelectionCount(Composite parent) {
-		fSelectionCountLabel = new Label(parent, SWT.NONE);
-		fSelectionCountLabel.setFont(parent.getFont());
-		fSelectionCountLabel.setText(AntLaunchConfigurationMessages.getString("AntTargetsTab.0_out_of_0_selected_2")); //$NON-NLS-1$
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		fSelectionCountLabel.setLayoutData(gd);
-	}
-
-	/**
-	 * Creates the widgets that display the target order
-	 * @param parent the parent composite
-	 */
-	private void createTargetOrder(Composite parent) {
-		Font font= parent.getFont();
-		
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(AntLaunchConfigurationMessages.getString("AntTargetsTab.Target_execution_order__3")); //$NON-NLS-1$
-		label.setFont(font);
-		
-		Composite orderComposite = new Composite(parent, SWT.NONE);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		orderComposite.setLayoutData(gd);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		orderComposite.setLayout(layout);
-		orderComposite.setFont(font);
-				
-		fTargetOrderText = new Text(orderComposite, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL | SWT.READ_ONLY);
-		fTargetOrderText.setFont(font);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.heightHint = 40;
-		gd.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		fTargetOrderText.setLayoutData(gd);
-
-		fOrderButton = createPushButton(orderComposite, AntLaunchConfigurationMessages.getString("AntTargetsTab.&Order..._4"), null); //$NON-NLS-1$
-		gd = (GridData)fOrderButton.getLayoutData();
-		gd.verticalAlignment = GridData.BEGINNING;
-		fOrderButton.setFont(font);
-		fOrderButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleOrderPressed();
-			}
-		});
-	}
-
-	/**
-	 * Creates the toggle to filter internal targets from the table
-	 * @param parent the parent composite
-	 */
-	private void createFilterInternalTargets(Composite parent) {
-		fFilterInternalTargets= createCheckButton(parent, AntLaunchConfigurationMessages.getString("AntTargetsTab.12")); //$NON-NLS-1$
-		fFilterInternalTargets.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleFilterTargetsSelected();
-			}
-		});
-	}
-	
-	/**
-	 * Creates the toggle to sort targets in the table
-	 * @param parent the parent composite
-	 */
-	private void createSortTargets(Composite parent) {
-		fSortButton= createCheckButton(parent, AntLaunchConfigurationMessages.getString("AntTargetsTab.14")); //$NON-NLS-1$
-		fSortButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleSortTargetsSelected();
-			}
-		});
-	}
-	
-	/**
-	 * The filter targets button has been toggled. If it's been
-	 * turned on, filter out internal targets. Else, restore internal
-	 * targets to the table.
-	 */
-	private void handleFilterTargetsSelected() {
-		boolean filter= fFilterInternalTargets.getSelection();
-		if (filter) {
-			fTableViewer.addFilter(getInternalTargetsFilter());
-		} else {
-			fTableViewer.removeFilter(getInternalTargetsFilter());
-		}
-		
-		// Must refresh before updating selection count because the selection
-		// count's "hidden" reporting needs the content provider to be queried
-		// first to count how many targets are hidden.
-		updateSelectionCount();
-		if (!fInitializing) {
-		    updateLaunchConfigurationDialog();
-		}
-	}
-	
-	private ViewerFilter getInternalTargetsFilter() {
-		if (fInternalTargetFilter == null) {
-			fInternalTargetFilter= new InternalTargetFilter();
-		}
-		return fInternalTargetFilter;
-	}
-	
-	/**
-	 * The button to sort targets has been toggled.
-	 * Set the tab's sorting as appropriate.
-	 */
-	private void handleSortTargetsSelected() {
-		setSort(fSortButton.getSelection() ? SORT_NAME : SORT_NONE);
-	}
-	
-	/**
-	 * Sets the sorting of targets in this tab. See the sort constants defined
-	 * above.
-	 * 
-	 * @param column the column which should be sorted on
-	 */
-	private void setSort(int column) {
-		fSortDirection= column;
-		fTableViewer.refresh();
-		if (!fInitializing) {
-			updateLaunchConfigurationDialog();
-		}
-	}
-
-	/**
-	 * The target order button has been pressed. Prompt the
-	 * user to reorder the selected targets. 
-	 */
-	private void handleOrderPressed() {
-		TargetOrderDialog dialog = new TargetOrderDialog(getShell(), fOrderedTargets.toArray());
-		int ok = dialog.open();
-		if (ok == Window.OK) {
-			fOrderedTargets.clear();
-			Object[] targets = dialog.getTargets();
-			for (int i = 0; i < targets.length; i++) {
-				fOrderedTargets.add(targets[i]);
-				updateSelectionCount();
-				updateLaunchConfigurationDialog();
-			}
-		}
-	}
-	
-	/**
-	 * Creates the table which displays the available targets
-	 * @param parent the parent composite
-	 */
-	private void createTargetsTable(Composite parent) {
-		Font font= parent.getFont();
-		Label label = new Label(parent, SWT.NONE);
-		label.setFont(font);
-		label.setText(AntLaunchConfigurationMessages.getString("AntTargetsTab.Check_targets_to_e&xecute__1")); //$NON-NLS-1$
-				
-		Table table= new Table(parent, SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION | SWT.RESIZE);
-		
-		GridData data= new GridData(GridData.FILL_BOTH);
-		int availableRows= availableRows(parent);
-		data.heightHint = table.getItemHeight() * (availableRows / 20);
-		data.widthHint= 250;
-		table.setLayoutData(data);
-		table.setFont(font);
-				
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);		
-
-		TableLayout tableLayout= new TableLayout();
-		ColumnWeightData weightData = new ColumnWeightData(30, true);
-		tableLayout.addColumnData(weightData);
-		weightData = new ColumnWeightData(70, true);
-		tableLayout.addColumnData(weightData);		
-		table.setLayout(tableLayout);
-
-		TableColumn column1= new TableColumn(table, SWT.NULL);
-		column1.setText(AntLaunchConfigurationMessages.getString("AntTargetsTab.Name_5")); //$NON-NLS-1$
-			
-		TableColumn column2= new TableColumn(table, SWT.NULL);
-		column2.setText(AntLaunchConfigurationMessages.getString("AntTargetsTab.Description_6")); //$NON-NLS-1$
-		
-		fTableViewer = new CheckboxTableViewer(table);
-		fTableViewer.setLabelProvider(new TargetTableLabelProvider());
-		fTableViewer.setContentProvider(new AntModelContentProvider());
-		fTableViewer.setSorter(new AntTargetsSorter());
-		
-		fTableViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				ISelection selection= event.getSelection();
-				if (!selection.isEmpty() && selection instanceof IStructuredSelection) {
-					IStructuredSelection ss= (IStructuredSelection)selection;
-					Object element= ss.getFirstElement();
-					boolean checked= !fTableViewer.getChecked(element);
-					fTableViewer.setChecked(element, checked);
-					updateOrderedTargets(element, checked);
-				}
-			}
-		});
-		
-		fTableViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				updateOrderedTargets(event.getElement(), event.getChecked());
-			}
-		});
-		
-		TableColumn[] columns= fTableViewer.getTable().getColumns();
-		for (int i = 0; i < columns.length; i++) {
-			final int index= i;
-			columns[index].addSelectionListener(new SelectionAdapter() {
-				public void widgetSelected(SelectionEvent e) {
-					if (fSortButton.getSelection()) {
-						// index 0 => sort_name (1)
-						// index 1 => sort_description (2)
-						int column= index + 1;
-						if (column == fSortDirection) {
-							column= -column; // invert the sort when the same column is selected twice in a row
-						}
-						setSort(column);
-					}
-				}
-			});
-		}
-	}
-	
-	/**
-	 * Return the number of rows available in the current display using the
-	 * current font.
-	 * @param parent The Composite whose Font will be queried.
-	 * @return int The result of the display size divided by the font size.
-	 */
-	private int availableRows(Composite parent) {
-
-		int fontHeight = (parent.getFont().getFontData())[0].getHeight();
-		int displayHeight = parent.getDisplay().getClientArea().height;
-
-		return displayHeight / fontHeight;
-	}
-	
-	/**
-	 * Updates the ordered targets list in response to an element being checked
-	 * or unchecked. When the element is checked, it's added to the list. When
-	 * unchecked, it's removed.
-	 * 
-	 * @param element the element in question
-	 * @param checked whether the element has been checked or unchecked
-	 */
-	private void updateOrderedTargets(Object element , boolean checked) {
-		if (checked) {
-			 fOrderedTargets.add(element);
-		} else {
-			fOrderedTargets.remove(element);
-		}	 
-		updateSelectionCount();
-		updateLaunchConfigurationDialog();	
-	}
-	
-	/**
-	 * Updates the selection count widget to display how many targets are
-	 * selected (example, "1 out of 6 selected") and filtered.
-	 */
-	private void updateSelectionCount() {
-		Object[] checked = fTableViewer.getCheckedElements();
-		String numSelected = Integer.toString(checked.length);
-	
-		int all= fAllTargets == null ? 0 : fAllTargets.length;
-		int visible= fTableViewer.getTable().getItemCount();
-		String total = Integer.toString(visible);
-		int numHidden= all - visible;
-		if (numHidden > 0) {
-			fSelectionCountLabel.setText(MessageFormat.format(AntLaunchConfigurationMessages.getString("AntTargetsTab.13"), new String[]{numSelected, String.valueOf(all), String.valueOf(numHidden)})); //$NON-NLS-1$
-		} else {
-			fSelectionCountLabel.setText(MessageFormat.format(AntLaunchConfigurationMessages.getString("AntTargetsTab.{0}_out_of_{1}_selected_7"), new String[]{numSelected, total})); //$NON-NLS-1$
-		}
-		
-		fOrderButton.setEnabled(checked.length > 1);
-		
-		StringBuffer buffer = new StringBuffer();
-		Iterator iter = fOrderedTargets.iterator();
-		while (iter.hasNext()) {
-			buffer.append(((AntTargetNode)iter.next()).getTargetName());
-			buffer.append(", "); //$NON-NLS-1$
-		}
-		if (buffer.length() > 2) {
-			// remove trailing comma
-			buffer.setLength(buffer.length() - 2);
-		}
-		fTargetOrderText.setText(buffer.toString());
-	}
-	
-	/**
-	 * Returns all targets in the buildfile.
-	 * @return all targets in the buildfile
-	 */
-	private AntTargetNode[] getTargets() {
-		if (fAllTargets == null || isDirty()) {
-			fAllTargets= null;
-			fDefaultTarget= null;
-			setDirty(false);
-			setErrorMessage(null);
-			setMessage(null);
-			
-			final String expandedLocation= validateLocation();
-			if (expandedLocation == null) {
-				return fAllTargets;
-			}
-			final CoreException[] exceptions= new CoreException[1];
-			try {
-				IRunnableWithProgress operation= new IRunnableWithProgress() {
-					/* (non-Javadoc)
-					 * @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
-					 */
-					public void run(IProgressMonitor monitor) {
-						try {
-							fAllTargets = AntUtil.getTargets(expandedLocation, fLaunchConfiguration);
-						} catch (CoreException ce) {
-							exceptions[0]= ce;
-						}
-					}
-				};
-				
-				IRunnableContext context= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-				if (context == null) {
-				    context= getLaunchConfigurationDialog();
-				}
-
-				ISchedulingRule rule= null;
-				if (!ResourcesPlugin.getWorkspace().isTreeLocked()) {
-					//only set a scheduling rule if not in a resource change callback
-					rule= AntUtil.getFileForLocation(expandedLocation, null);
-				}
-				PlatformUI.getWorkbench().getProgressService().runInUI(context, operation, rule);
-			} catch (InvocationTargetException e) {
-			    AntUIPlugin.log("Internal error occurred retrieving targets", e.getTargetException()); //$NON-NLS-1$
-			    setErrorMessage(AntLaunchConfigurationMessages.getString("AntTargetsTab.1")); //$NON-NLS-1$
-			    fAllTargets= null;
-			    return null;
-			} catch (InterruptedException e) {
-			    AntUIPlugin.log("Internal error occurred retrieving targets", e); //$NON-NLS-1$
-			    setErrorMessage(AntLaunchConfigurationMessages.getString("AntTargetsTab.1")); //$NON-NLS-1$
-			    fAllTargets= null;
-			    return null;
-			}
-			
-			if (exceptions[0] != null) {
-				IStatus exceptionStatus= exceptions[0].getStatus();
-				IStatus[] children= exceptionStatus.getChildren();
-				StringBuffer message= new StringBuffer(exceptions[0].getMessage());
-				for (int i = 0; i < children.length; i++) {
-					message.append(' ');
-					IStatus childStatus = children[i];
-					message.append(childStatus.getMessage());
-				}
-				setErrorMessage(message.toString());
-				fAllTargets= null;
-				return fAllTargets;
-			}
-			
-			if (fAllTargets == null) {
-			    //if an error was not thrown during parsing then having no targets is valid (Ant 1.6.*)
-			    return fAllTargets;
-			}
-			
-			AntTargetNode target= fAllTargets[0];
-			AntProjectNode projectNode= target.getProjectNode();
-			setErrorMessageFromNode(projectNode);
-			for (int i=0; i < fAllTargets.length; i++) {
-			    target= fAllTargets[i];
-				if (target.isDefaultTarget()) {
-					fDefaultTarget= target;
-				}
-				setErrorMessageFromNode(target);
-			}
-		}
-		
-		return fAllTargets;
-	}
-	
-	private void setErrorMessageFromNode(AntElementNode node) {
-		if (getErrorMessage() != null) {
-			return;
-		}
-		if (node.isErrorNode() || node.isWarningNode()) {
-			String message= node.getProblemMessage();
-		    if (message != null) {
-		        setErrorMessage(message);
-		    } else {
-		        setErrorMessage(AntLaunchConfigurationMessages.getString("AntTargetsTab.0")); //$NON-NLS-1$
-		    }
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		fInitializing= true;
-		fLaunchConfiguration= configuration;
-		fOrderedTargets = new ArrayList();
-		setErrorMessage(null);
-		setMessage(null);
-		setDirty(true);
-		boolean hideInternal= false;
-		try {
-			hideInternal = fLaunchConfiguration.getAttribute(IAntLaunchConfigurationConstants.ATTR_HIDE_INTERNAL_TARGETS, false);
-		} catch (CoreException e) {
-			AntUIPlugin.log(e);
-		}
-		fFilterInternalTargets.setSelection(hideInternal);
-		handleFilterTargetsSelected();
-		int sort= SORT_NONE;
-		try {
-			sort = fLaunchConfiguration.getAttribute(IAntLaunchConfigurationConstants.ATTR_SORT_TARGETS, sort);
-		} catch (CoreException e) {
-			AntUIPlugin.log(e);
-		}
-		fSortButton.setSelection(sort != SORT_NONE);
-		setSort(sort);
-		String configTargets= null;
-		String newLocation= null;
-		
-		try {
-			configTargets= configuration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, (String)null);
-			newLocation= configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, (String)null);
-		} catch (CoreException ce) {
-			AntUIPlugin.log(AntLaunchConfigurationMessages.getString("AntTargetsTab.Error_reading_configuration_12"), ce); //$NON-NLS-1$
-		}
-		
-		if (newLocation == null) {
-			fAllTargets= null;
-			initializeForNoTargets();
-			return; 
-		}
-		
-		AntTargetNode[] allTargetNodes= getTargets();
-		if (allTargetNodes == null) {
-			initializeForNoTargets();
-			return; 
-		}
-		
-		String[] targetNames= AntUtil.parseRunTargets(configTargets);
-		if (targetNames.length == 0) {
-			fTableViewer.setAllChecked(false);
-			setExecuteInput(allTargetNodes);
-			if (fDefaultTarget != null) {
-				fOrderedTargets.add(fDefaultTarget);
-				fTableViewer.setChecked(fDefaultTarget, true);
-				updateSelectionCount();
-				updateLaunchConfigurationDialog();
-			}
-			fInitializing= false;
-			return;
-		}
-		
-		setExecuteInput(allTargetNodes);
-		fTableViewer.setAllChecked(false);
-		for (int i = 0; i < targetNames.length; i++) {
-			for (int j = 0; j < fAllTargets.length; j++) {
-				if (targetNames[i].equals(fAllTargets[j].getTargetName())) {
-					fOrderedTargets.add(fAllTargets[j]);
-					fTableViewer.setChecked(fAllTargets[j], true);
-				}
-			}
-		}
-		updateSelectionCount();
-		fInitializing= false;
-	}
-	
-	private void initializeForNoTargets() {
-		setExecuteInput(new AntTargetNode[0]);
-		fTableViewer.setInput(new AntTargetNode[0]);
-		fInitializing= false;
-	}
-
-	/**
-	 * Sets the execute table's input to the given input.
-	 */
-	private void setExecuteInput(Object input) {
-		fTableViewer.setInput(input);
-		updateSelectionCount();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		//	attribute added in 3.0, so null must be used instead of false for backwards compatibility
-		if (fFilterInternalTargets.getSelection()) {
-			configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_HIDE_INTERNAL_TARGETS, true);
-		} else {
-			configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_HIDE_INTERNAL_TARGETS, (String)null);
-		}
-		//attribute added in 3.0, so null must be used instead of 0 for backwards compatibility
-		if (fSortDirection != SORT_NONE) {
-			configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_SORT_TARGETS, fSortDirection);
-		} else {
-			configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_SORT_TARGETS, (String)null);
-		}
-		
-		if (fOrderedTargets.size() == 1) {
-			AntTargetNode item = (AntTargetNode)fOrderedTargets.get(0);
-			if (item.isDefaultTarget()) {
-				configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, (String)null);
-				return;
-			}
-		} else if (fOrderedTargets.size() == 0) {
-			configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, (String)null);
-			return;
-		}
-		
-		StringBuffer buff= new StringBuffer();
-		Iterator iter = fOrderedTargets.iterator();
-		String targets = null;
-		while (iter.hasNext()) {
-			AntTargetNode item = (AntTargetNode)iter.next();
-			buff.append(item.getTargetName());
-			buff.append(',');
-		}
-		if (buff.length() > 0) {
-			targets= buff.toString();
-		}  
-
-		configuration.setAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, targets);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return AntLaunchConfigurationMessages.getString("AntTargetsTab.Tar&gets_14"); //$NON-NLS-1$
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return AntUIImages.getImage(IAntUIConstants.IMG_TAB_ANT_TARGETS);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		if (fAllTargets == null || isDirty()) {
-			if (getErrorMessage() != null && !isDirty()) {
-				//error in parsing;
-				return false;
-			} 
-			//targets not up to date and no error message...we have not parsed recently
-			initializeFrom(launchConfig);
-			if (getErrorMessage() != null) {
-				//error in parsing;
-				return false;
-			}
-		}
-		
-		setErrorMessage(null);
-		return super.isValid(launchConfig);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#setDirty(boolean)
-	 */
-	protected void setDirty(boolean dirty) {
-		//provide package visibility
-		super.setDirty(dirty);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
-		if (isDirty()) {
-			super.activated(workingCopy);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
-		if (fOrderedTargets.size() == 0) {
-			//set the dirty flag so that the state will be reinitialized on activation
-			setDirty(true);
-		}
-	}
-	
-	private String validateLocation() {
-		String expandedLocation= null;
-		String location= null;
-		IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-		try {
-			location= fLaunchConfiguration.getAttribute(IExternalToolConstants.ATTR_LOCATION, (String)null);
-			if (location == null) {
-				return null;
-			}
-			
-			expandedLocation= manager.performStringSubstitution(location);
-			if (expandedLocation == null) {
-				return null;
-			}
-			File file = new File(expandedLocation);
-			if (!file.exists()) {
-				setErrorMessage(AntLaunchConfigurationMessages.getString("AntTargetsTab.15")); //$NON-NLS-1$
-				return null;
-			}
-			if (!file.isFile()) {
-				setErrorMessage(AntLaunchConfigurationMessages.getString("AntTargetsTab.16")); //$NON-NLS-1$
-				return null;
-			}
-			
-			return expandedLocation;
-			
-		} catch (CoreException e1) {
-			if (location != null) {
-				try {
-					manager.validateStringVariables(location);
-					setMessage(AntLaunchConfigurationMessages.getString("AntTargetsTab.17")); //$NON-NLS-1$
-					return null;
-				} catch (CoreException e2) {//invalid variable
-					setErrorMessage(e2.getStatus().getMessage());
-					return null;
-				}
-			}
-			
-			setErrorMessage(e1.getStatus().getMessage());
-			return null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntWorkingDirectoryBlock.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntWorkingDirectoryBlock.java
deleted file mode 100644
index 582cdb2..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/AntWorkingDirectoryBlock.java
+++ /dev/null
@@ -1,104 +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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
-import org.eclipse.jdt.internal.debug.ui.launcher.LauncherMessages;
-import org.eclipse.jdt.internal.debug.ui.launcher.WorkingDirectoryBlock;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-
-
-public class AntWorkingDirectoryBlock extends WorkingDirectoryBlock {
-	
-	private String fDefaultWorkingDirPath;
-
-	public String getDefaultWorkingDirPath() {
-		return fDefaultWorkingDirPath;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.debug.ui.launcher.WorkingDirectoryBlock#setDefaultWorkingDir()
-	 */
-	protected void setDefaultWorkingDir() {
-		if (fDefaultWorkingDirPath == null) {
-			super.setDefaultWorkingDir();
-			return;
-		}
-		fWorkingDirText.setText(fDefaultWorkingDirPath);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		setLaunchConfiguration(configuration);
-		try {
-			try {
-				fDefaultWorkingDirPath= ExternalToolsUtil.getLocation(configuration).removeLastSegments(1).toOSString();
-			} catch (CoreException e) {
-				//no location
-			}
-			
-			String wd = configuration.getAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, (String)null); //$NON-NLS-1$
-			fWorkingDirText.setText(""); //$NON-NLS-1$
-			if (wd == null || isSameAsDefault(wd)) {
-				fUseDefaultWorkingDirButton.setSelection(true);
-			} else {
-				fWorkingDirText.setText(wd);
-				fUseDefaultWorkingDirButton.setSelection(false);
-			}
-			handleUseDefaultWorkingDirButtonSelected();
-		} catch (CoreException e) {
-			setErrorMessage(LauncherMessages.getString("JavaArgumentsTab.Exception_occurred_reading_configuration___15") + e.getStatus().getMessage()); //$NON-NLS-1$
-			JDIDebugUIPlugin.log(e);
-		}
-	}
-	
-	private boolean isSameAsDefault(String workingDir) {
-		return workingDir == null || (workingDir.equals(fDefaultWorkingDirPath) || workingDir.equals(System.getProperty("user.dir"))); //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		String wd = getAttributeValueFrom(fWorkingDirText);
-		configuration.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, wd);
-	}
-	
-	public void setEnabled(boolean enabled) {
-		fUseDefaultWorkingDirButton.setEnabled(enabled);
-		boolean def = isDefaultWorkingDirectory();
-		fUseDefaultWorkingDirButton.setSelection(def);
-		enabled = enabled && !def;
-		fWorkingDirText.setEnabled(enabled);
-		fWorkspaceButton.setEnabled(enabled);
-		fFileSystemButton.setEnabled(enabled);
-		fVariablesButton.setEnabled(enabled);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration config) {
-		if (fUseDefaultWorkingDirButton.isEnabled()) { //is this block enabled
-			return super.isValid(config);
-		}
-		setErrorMessage(null);
-		setMessage(null);
-		return true;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/ContributedClasspathEntriesEntry.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/ContributedClasspathEntriesEntry.java
deleted file mode 100644
index f93b146..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/ContributedClasspathEntriesEntry.java
+++ /dev/null
@@ -1,210 +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.ant.internal.ui.launchConfigurations;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.jdt.internal.launching.AbstractRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.swt.SWT;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * A classpath entry that contains a contributed classpath entries
- * via the <code>extraClasspathEntries</code> extension point.
- * 
- * @since 3.0 
- */
-public class ContributedClasspathEntriesEntry extends AbstractRuntimeClasspathEntry {
-	
-	public static final String TYPE_ID = "org.eclipse.ant.ui.classpathentry.extraClasspathEntries"; //$NON-NLS-1$
-		
-	/**
-	 * Default contructor required to instantiate persisted extensions.
-	 */
-	public ContributedClasspathEntriesEntry() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.launching.AbstractRuntimeClasspathEntry#buildMemento(org.w3c.dom.Document, org.w3c.dom.Element)
-	 */
-	protected void buildMemento(Document document, Element memento) throws CoreException {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.launching.IRuntimeClasspathEntry2#initializeFrom(org.w3c.dom.Element)
-	 */
-	public void initializeFrom(Element memento) throws CoreException {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#getTypeId()
-	 */
-	public String getTypeId() {
-		return TYPE_ID;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#getRuntimeClasspathEntries(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public IRuntimeClasspathEntry[] getRuntimeClasspathEntries(ILaunchConfiguration configuration) throws CoreException {
-		boolean separateVM= AntUtil.isSeparateJREAntBuild(configuration);
-		boolean setInputHandler= configuration.getAttribute(IAntUIConstants.SET_INPUTHANDLER, true);
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		IAntClasspathEntry[] antClasspathEntries = prefs.getContributedClasspathEntries();
-		IAntClasspathEntry[] userEntries = prefs.getAdditionalClasspathEntries();
-		List rtes = new ArrayList(antClasspathEntries.length + userEntries.length);
-		IAntClasspathEntry entry;
-		for (int i = 0; i < antClasspathEntries.length; i++) {
-			 entry= antClasspathEntries[i];
-			if (!separateVM || (separateVM && !entry.isEclipseRuntimeRequired())) {
-				rtes.add(JavaRuntime.newStringVariableClasspathEntry(entry.getLabel()));
-			}
-		}
-		boolean haveToolsEntry= false;
-		String path;
-		for (int i = 0; i < userEntries.length; i++) {
-			entry = userEntries[i];
-			path= entry.getLabel();
-			if (path.endsWith("tools.jar")) { //$NON-NLS-1$
-				haveToolsEntry= true;
-				// replace with dynamically resolved tools.jar based on
-				// the JRE being used
-				addToolsJar(configuration, rtes, path);
-			} else {
-				rtes.add(JavaRuntime.newStringVariableClasspathEntry(path));
-			}
-		}
-		if (!haveToolsEntry) {
-			addToolsJar(configuration, rtes, null);
-		}
-		
-		if (setInputHandler && separateVM) {
-			addSWTJars(rtes);
-		}
-		
-		return (IRuntimeClasspathEntry[]) rtes.toArray(new IRuntimeClasspathEntry[rtes.size()]);
-	}
-	
-	private void addToolsJar(ILaunchConfiguration configuration, List rtes, String path) {
-		IRuntimeClasspathEntry tools = getToolsJar(configuration);
-		if (tools == null) {
-			if (path != null) {
-				//use the global entry
-				rtes.add(JavaRuntime.newArchiveRuntimeClasspathEntry(new Path(path)));
-			} else {
-				//use the default vm install to try to find a tools.jar
-				IVMInstall install= JavaRuntime.getDefaultVMInstall();
-				if (install != null) {
-					IAntClasspathEntry entry = AntCorePlugin.getPlugin().getPreferences().getToolsJarEntry(new Path(install.getInstallLocation().getAbsolutePath()));
-					if (entry != null) {
-						rtes.add(JavaRuntime.newArchiveRuntimeClasspathEntry(new Path(entry.getEntryURL().getPath())));
-					}
-				}
-			}
-		} else {
-			rtes.add(tools);
-		}
-	}
-	
-	private void addSWTJars(List rtes) {
-		IPath swtPath= AntLaunchDelegate.getSWTPath();
-		swtPath= swtPath.append("ws"); //$NON-NLS-1$
-		swtPath= swtPath.append(SWT.getPlatform());
-		File swtLibFolder= swtPath.toFile();
-		String[] libPaths= null;
-		if (swtLibFolder.isDirectory()) {
-		    libPaths= swtLibFolder.list(new FilenameFilter() {
-		        /* (non-Javadoc)
-		         * @see java.io.FilenameFilter#accept(java.io.File, java.lang.String)
-		         */
-		        public boolean accept(File dir, String name) {
-		            return name.endsWith(".jar"); //$NON-NLS-1$
-		        }    
-		    });
-		}
-		if (libPaths != null) {
-		    for (int i = 0; i < libPaths.length; i++) {
-                String path = libPaths[i];
-                rtes.add(JavaRuntime.newArchiveRuntimeClasspathEntry(swtPath.append(path)));        
-            }
-		}
-	}
-	
-	/**
-	 * Returns the tools.jar to use for this launch configuration, or <code>null</code>
-	 * if none.
-	 * 
-	 * @param configuration configuration to resolve a tools.jar for
-	 * @return associated tools.jar archive, or <code>null</code>
-	 */
-	private IRuntimeClasspathEntry getToolsJar(ILaunchConfiguration configuration) {
-		try {
-			IVMInstall install = JavaRuntime.computeVMInstall(configuration);
-			if (install != null) {
-				IAntClasspathEntry entry = AntCorePlugin.getPlugin().getPreferences().getToolsJarEntry(new Path(install.getInstallLocation().getAbsolutePath()));
-				if (entry != null) {
-					return JavaRuntime.newArchiveRuntimeClasspathEntry(new Path(entry.getEntryURL().getPath()));
-				}
-			}
-		} catch (CoreException ce) {
-			//likely dealing with a non-Java project
-		}
-			
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#getName()
-	 */
-	public String getName() {
-		return AntLaunchConfigurationMessages.getString("ContributedClasspathEntriesEntry.1"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry#getType()
-	 */
-	public int getType() {
-		return IRuntimeClasspathEntry.OTHER;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.launching.IRuntimeClasspathEntry2#isComposite()
-	 */
-	public boolean isComposite() {
-		return true;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		return obj instanceof ContributedClasspathEntriesEntry;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getClass().hashCode();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/EditAntHomeEntryAction.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/EditAntHomeEntryAction.java
deleted file mode 100644
index f61e030..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/EditAntHomeEntryAction.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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.preferences.AntPreferencesMessages;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.jdt.internal.debug.ui.actions.RuntimeClasspathAction;
-import org.eclipse.jdt.internal.debug.ui.classpath.ClasspathEntry;
-import org.eclipse.jdt.internal.debug.ui.launcher.IClasspathViewer;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
-import org.eclipse.jdt.launching.IRuntimeClasspathEntry2;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.DirectoryDialog;
-
-/**
- * Edits the Ant Home classpath entry.
- * 
- * @since 3.0
- */
-public class EditAntHomeEntryAction extends RuntimeClasspathAction {
-	
-	private AntClasspathTab fTab;
-	/**
-	 * Constructs an action to edit the Ant Home setting for a launch config.
-	 * 
-	 * @param viewer classpath viewer
-	 */
-	public EditAntHomeEntryAction(IClasspathViewer viewer, AntClasspathTab tab) {
-		super(AntLaunchConfigurationMessages.getString("EditAntHomeEntryAction.1"), viewer); //$NON-NLS-1$
-		fTab = tab;
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		IDialogSettings dialogSettings = AntUIPlugin.getDefault().getDialogSettings();
-		String lastUsedPath= dialogSettings.get(IAntUIConstants.DIALOGSTORE_LASTANTHOME);
-		if (lastUsedPath == null) {
-			lastUsedPath= ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString();
-		}
-		DirectoryDialog dialog = new DirectoryDialog(getShell());
-		dialog.setMessage(AntPreferencesMessages.getString("AntClasspathBlock.3")); //$NON-NLS-1$
-		dialog.setFilterPath(lastUsedPath);
-		String path = dialog.open();
-		if (path == null) {
-			return;
-		}
-		dialogSettings.put(IAntUIConstants.DIALOGSTORE_LASTANTHOME, path);
-		AntCorePreferences preferences = AntCorePlugin.getPlugin().getPreferences();
-		String defaultHome = preferences.getAntHome();
-		if (path.equalsIgnoreCase(defaultHome)) {
-			path = null;
-		}
-		fTab.setDirty(true);
-		// update existing entry or add a new one
-		IRuntimeClasspathEntry[] entries = getViewer().getEntries();
-		for (int i = 0; i < entries.length; i++) {
-			IRuntimeClasspathEntry entry = entries[i];
-			if (entry.getType() == IRuntimeClasspathEntry.OTHER) {
-				IRuntimeClasspathEntry2 entry2 = (IRuntimeClasspathEntry2)((ClasspathEntry)entry).getDelegate();
-				if (entry2.getTypeId().equals(AntHomeClasspathEntry.TYPE_ID)) {
-					((AntHomeClasspathEntry)entry2).setAntHome(path);
-					getViewer().refresh(entry);
-					getViewer().notifyChanged();
-					return;
-				}
-			}
-		}				
-		// no entry found - add a new one
-		getViewer().addEntries(new IRuntimeClasspathEntry[]{new AntHomeClasspathEntry(path)});		
-	}
-	
-	/**
-	 * @see SelectionListenerAction#updateSelection(IStructuredSelection)
-	 */
-	protected boolean updateSelection(IStructuredSelection selection) {
-		return true;
-	}	
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/IAntLaunchConfigurationConstants.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/IAntLaunchConfigurationConstants.java
deleted file mode 100644
index 8830003..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/IAntLaunchConfigurationConstants.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Constant definitions for Ant launch configurations.
- * <p>
- * Constant definitions only; not to be implemented.
- * </p>
- * @since 3.0
- */
-public interface IAntLaunchConfigurationConstants {
-
-	// ------- Common Ant Launch Configuration Attributes -------
-	/**
-	 * 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.
-	 */
-	public static final String ATTR_ANT_TARGETS = IExternalToolConstants.PLUGIN_ID + ".ATTR_ANT_TARGETS"; //$NON-NLS-1$
-	
-	/**
-	 * String attribute indicating the Ant targets to execute after a clean (full build) for an Ant builder. Default value is
-	 * <code>null</code> which indicates that the default target is to be
-	 * executed. Format is a comma separated listing of targets.
-	 */
-	public static final String ATTR_ANT_AFTER_CLEAN_TARGETS = IAntUIConstants.PLUGIN_ID + ".ATTR_ANT_AFTER_CLEAN_TARGETS"; //$NON-NLS-1$
-	
-	/**
-	 * String attribute indicating the Ant targets to execute during a manual build for an Ant builder. Default value is
-	 * <code>null</code> which indicates that the default target is to be
-	 * executed. Format is a comma separated listing of targets.
-	 */
-	public static final String ATTR_ANT_MANUAL_TARGETS = IAntUIConstants.PLUGIN_ID + ".ATTR_ANT_MANUAL_TARGETS"; //$NON-NLS-1$
-	
-	/**
-	 * String attribute indicating the Ant targets to execute during an auto build for an Ant builder. Default value is
-	 * <code>null</code> which indicates that the default target is to be
-	 * executed. Format is a comma separated listing of targets.
-	 */
-	public static final String ATTR_ANT_AUTO_TARGETS = IAntUIConstants.PLUGIN_ID + ".ATTR_ANT_AUTO_TARGETS"; //$NON-NLS-1$
-	
-	/**
-	 * String attribute indicating the Ant targets to execute during a clean for an Ant builder. Default value is
-	 * <code>null</code> which indicates that the default target is to be
-	 * executed. Format is a comma separated listing of targets.
-	 */
-	public static final String ATTR_ANT_CLEAN_TARGETS = IAntUIConstants.PLUGIN_ID + ".ATTR_ANT_CLEAN_TARGETS"; //$NON-NLS-1$
-	
-	/**
-	 * Map attribute indicating the Ant properties to be defined during the
-	 * build. Default value is <code>null</code> which indicates no additional
-	 * properties will be defined.
-	 */
-	public static final String ATTR_ANT_PROPERTIES = IExternalToolConstants.PLUGIN_ID + ".ATTR_ANT_PROPERTIES"; //$NON-NLS-1$					
-	/**
-	 * String attribute indicating the Ant targets to execute. Default value is
-	 * <code>null</code> which indicates that no additional property files
-	 * will be defined. Format is a comma separated listing of property files.
-	 */
-	public static final String ATTR_ANT_PROPERTY_FILES = IExternalToolConstants.PLUGIN_ID + ".ATTR_ANT_PROPERTY_FILES"; //$NON-NLS-1$
-	/**
-	* String attribute indicating the custom runtime classpath to use for an Ant
-	* build. Default value is <code>null</code> which indicates that the global
-	* classpath is to be used. Format is a comma separated listing of URLs.
-	* @deprecated no longer supported
-	*/
-	public static final String ATTR_ANT_CUSTOM_CLASSPATH = IExternalToolConstants.PLUGIN_ID + ".ATTR_ANT_CUSTOM_CLASSPATH"; //$NON-NLS-1$
-	/**
-	 * String attribute indicating the custom Ant home to use for an Ant build.
-	 * Default value is <code>null</code> which indicates that no Ant home is to
-	 * be set 
-	 * @deprecated no longer supported
-	 */
-	public static final String ATTR_ANT_HOME = IExternalToolConstants.PLUGIN_ID + ".ATTR_ANT_HOME"; //$NON-NLS-1$
-	/**
-	 * Boolean attribute indicating whether or not internal targets (targets with no
-	 * description) should be hidden from the user in the launch configuration dialog.
-	 * Default value is <code>false</code> which indicates that all targets will be
-	 * displayed.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String ATTR_HIDE_INTERNAL_TARGETS = IExternalToolConstants.PLUGIN_ID + ".ATTR_HIDE_INTERNAL_TARGETS"; //$NON-NLS-1$
-	/**
-	 * Integer attribute indicating which column targets should be sorted on. A
-	 * value of 0 indicates target name, 1 indicates target description, and -1
-	 * indicates no sort. Default value is -1.
-	 * 
-	 * @since 3.0
-	 */
-	public static final String ATTR_SORT_TARGETS = IExternalToolConstants.PLUGIN_ID + "ATTR_SORT_TARGETS"; //$NON-NLS-1$
-
-
-	// ------- Launch configuration types --------
-	/**
-	 * Ant launch configuration type identifier.
-	 */
-	public static final String ID_ANT_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ant.AntLaunchConfigurationType"; //$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$
-
-	/**
-	 * Identifier for Ant processes (value <code>org.eclipse.ant.ui.antProcess</code>). This identifier is
-	 * set as the value for the <code>IProcess.ATTR_PROCESS_TYPE</code>
-	 * attribute in processes created by the Ant launch delegate.
-	 */
-	public static final String ID_ANT_PROCESS_TYPE = "org.eclipse.ant.ui.antProcess"; //$NON-NLS-1$
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/MessageIds.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/MessageIds.java
deleted file mode 100644
index 468ce94..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/MessageIds.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.internal.ui.launchConfigurations;
-
-
-public class MessageIds {
-
-	public final static String PROCESS_ID=   "processID"; //$NON-NLS-1$
-	public final static String BUILD_CANCELLED= "cancelled"; //$NON-NLS-1$
-	public final static String TASK= "task"; //$NON-NLS-1$
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntBuildListener.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntBuildListener.java
deleted file mode 100644
index 225e39e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntBuildListener.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.internal.ui.launchConfigurations;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.SocketException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.apache.tools.ant.Project;
-import org.eclipse.ant.internal.core.AbstractEclipseBuildLogger;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchesListener;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jface.text.Region;
-import org.eclipse.ui.console.IHyperlink;
-
-/**
- * Parts adapted from org.eclipse.jdt.internal.junit.ui.RemoteTestRunnerClient
- * The client side of the RemoteAntBuildLogger. Handles the
- * marshalling of the different messages.
- */
-public class RemoteAntBuildListener implements ILaunchesListener {
-	public abstract class ListenerSafeRunnable implements ISafeRunnable {
-		public void handleException(Throwable exception) {
-			AntUIPlugin.log(exception);
-		}
-	}
-
-	/**
-	 * The server socket
-	 */
-	private ServerSocket fServerSocket;
-	private Socket fSocket;
-	private int fPort= -1;
-	private BufferedReader fBufferedReader;
-	protected boolean fDebug= false;
-	private IProcess fProcess;
-	private String fProcessId;
-	private File fBuildFileParent= null;
-	private List fMessageQueue;
-	protected ILaunch fLaunch;
-	
-	/**
-	 * Reads the message stream from the RemoteAntBuildLogger
-	 */
-	private class ServerConnection extends Thread {
-		private int fServerPort;
-		
-		public ServerConnection(int port) {
-			super("Ant Build Server Connection"); //$NON-NLS-1$
-			setDaemon(true);
-			fServerPort= port;
-		}
-		
-		public void run() {
-			try {
-				if (fDebug) {
-					System.out.println("Creating server socket " + fServerPort); //$NON-NLS-1$
-				}
-				fServerSocket= new ServerSocket(fServerPort);
-				fSocket= fServerSocket.accept();			
-				if (fDebug) {
-					System.out.println("Connection"); //$NON-NLS-1$
-				}	
-				fBufferedReader= new BufferedReader(new InputStreamReader(fSocket.getInputStream()));
-				String message;
-				while(fBufferedReader != null && (message= fBufferedReader.readLine()) != null) {
-					receiveMessage(message);
-				}
-			} catch (SocketException e) {
-			} catch (IOException e) {
-				// fall through
-			}
-			shutDown();
-		}
-	}
-	
-	public RemoteAntBuildListener(ILaunch launch) {
-		super();
-		fLaunch= launch;
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
-	}
-
-	/**
-	 * Start listening to an Ant build. Start a server connection that
-	 * the RemoteAntBuildLogger can connect to.
-	 * 
-	 * @param port The port number to create the server connection on
-	 */
-	public synchronized void startListening(int eventPort) {
-		fPort = eventPort;
-		ServerConnection connection = new ServerConnection(eventPort);
-		connection.start();
-	}
-
-	protected synchronized void shutDown() {
-		if (fDebug) {
-			System.out.println("shutdown " + fPort); //$NON-NLS-1$
-		}
-		fLaunch= null;
-		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
-		try {
-			if (fBufferedReader != null) {
-				fBufferedReader.close();
-				fBufferedReader= null;
-			}
-		} catch(IOException e) {
-		}	
-		try{
-			if(fSocket != null) {
-				fSocket.close();
-				fSocket= null;
-			}
-		} catch(IOException e) {
-		}
-		try{
-			if(fServerSocket != null) {
-				fServerSocket.close();
-				fServerSocket= null;
-			}
-		} catch(IOException e) {
-		}
-	}
-		
-	protected void receiveMessage(String message) {
-		if (fDebug) {
-			System.out.println(message);
-		}
-		if (message.startsWith(MessageIds.TASK)) {
-			message= message.substring(MessageIds.TASK.length());
-			
-			int index= message.indexOf(',');
-			int priority= Integer.parseInt(message.substring(0, index));
-			int index2= message.indexOf(',', index + 1);
-			String taskName= message.substring(index + 1, index2);
-			int index3= message.indexOf(',', index2 + 1);
-			int lineLength= Integer.parseInt(message.substring(index2 + 1, index3));
-			int finalIndex= index3 + 1 + lineLength;
-			String line= message.substring(index3 + 1, finalIndex);
-			String location= message.substring(finalIndex + 1);
-	
-			int size = IAntUIConstants.LEFT_COLUMN_SIZE - (taskName.length() + 3);
-			int offset = Math.max(size - 2, 1);
-			int length = IAntUIConstants.LEFT_COLUMN_SIZE - size - 3;
-			IHyperlink taskLink = AntUtil.getTaskLink(location, fBuildFileParent);
-			if (taskLink != null) {
-				TaskLinkManager.addTaskHyperlink(getProcess(), taskLink, new Region(offset, length), line);
-			}
-			
-			StringBuffer fullMessage= new StringBuffer();
-			adornMessage(taskName, line, fullMessage);
-			writeMessage(fullMessage.append(System.getProperty("line.separator")).toString(), priority); //$NON-NLS-1$
-		} else if (message.startsWith(MessageIds.PROCESS_ID)) {
-			message= message.substring(MessageIds.PROCESS_ID.length());
-			fProcessId= message;
-		} else {
-			int index= message.indexOf(',');
-			if (index > 0) {
-				int priority= Integer.parseInt(message.substring(0, index));
-				message= message.substring(index + 1);
-				writeMessage(message + System.getProperty("line.separator"), priority); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	/**
-	 * Returns the associated process, finding it if necessary.
-	 */
-	protected IProcess getProcess() {
-		if (fProcess == null) {
-			if (fProcessId != null) {
-				IProcess[] all = DebugPlugin.getDefault().getLaunchManager().getProcesses();
-				for (int i = 0; i < all.length; i++) {
-					IProcess process = all[i];
-					if (fProcessId.equals(process.getAttribute(AbstractEclipseBuildLogger.ANT_PROCESS_ID))) {
-						fProcess = process;
-						break;
-					}
-				}
-			}
-		}
-		return fProcess;
-	}
-	
-	private AntStreamMonitor getMonitor(int priority) {
-		IProcess process= getProcess();
-		if (process == null) {
-			return null;
-		}
-		AntStreamsProxy proxy = (AntStreamsProxy)process.getStreamsProxy();
-		if (proxy == null) {
-			return null;
-		}
-		AntStreamMonitor monitor = null;
-		switch (priority) {
-			case Project.MSG_INFO:
-				monitor = (AntStreamMonitor)proxy.getOutputStreamMonitor();
-				break;
-			case Project.MSG_ERR:
-				monitor = (AntStreamMonitor)proxy.getErrorStreamMonitor();
-				break;
-			case Project.MSG_DEBUG:
-				monitor = (AntStreamMonitor)proxy.getDebugStreamMonitor();
-				break;
-			case Project.MSG_WARN:
-				monitor = (AntStreamMonitor)proxy.getWarningStreamMonitor();
-				break;
-			case Project.MSG_VERBOSE:
-				monitor = (AntStreamMonitor)proxy.getVerboseStreamMonitor();
-				break;
-		}
-		return monitor;
-	}
-	
-	/**
-	 * Builds a right justified task prefix for the given build event, placing it
-	 * in the given string buffer.
-	 *  
-	 * @param event build event
-	 * @param fullMessage buffer to place task prefix in
-	 */
-	private void adornMessage(String taskName, String line, StringBuffer fullMessage) {
-		if (taskName == null) {
-			taskName = "null"; //$NON-NLS-1$
-		}
-		
-		int size = IAntUIConstants.LEFT_COLUMN_SIZE - (taskName.length() + 6);
-		for (int i = 0; i < size; i++) {
-			fullMessage.append(' ');
-		}
-		
-		fullMessage.append(line);
-	}
-	
-	protected void writeMessage(String message, int priority) {
-		AntStreamMonitor monitor= getMonitor(priority);
-		if (monitor == null) {
-			if (fMessageQueue == null) {
-				fMessageQueue= new ArrayList();
-			}
-			fMessageQueue.add(message);
-			return;
-		}
-		if (fMessageQueue != null) {
-			for (Iterator iter = fMessageQueue.iterator(); iter.hasNext();) {
-				String oldMessage = (String) iter.next();
-				monitor.append(oldMessage);
-			}
-			fMessageQueue= null;
-		}
-		monitor.append(message);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesAdded(ILaunch[] launches) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesChanged(ILaunch[] launches) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
-	 */
-	public void launchesRemoved(ILaunch[] launches) {
-		for (int i = 0; i < launches.length; i++) {
-			ILaunch launch = launches[i];
-			if (launch.equals(fLaunch)) {
-				shutDown();
-				return;
-			}
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntProcessFactory.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntProcessFactory.java
deleted file mode 100644
index fd12ba5..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntProcessFactory.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.ant.internal.ui.launchConfigurations;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.IProcessFactory;
-import org.eclipse.debug.core.model.IProcess;
-
-public class RemoteAntProcessFactory implements IProcessFactory {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IProcessFactory#newProcess(org.eclipse.debug.core.ILaunch, java.lang.Process, java.lang.String, java.util.Map)
-	 */
-	public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) {
-		if (attributes == null) {
-			attributes= new HashMap(1);
-		}
-		attributes.put(IProcess.ATTR_PROCESS_TYPE, IAntLaunchConfigurationConstants.ID_ANT_PROCESS_TYPE);
-		return new RemoteAntRuntimeProcess(launch, process, label, attributes);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntRuntimeProcess.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntRuntimeProcess.java
deleted file mode 100644
index 2d2ffe6..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RemoteAntRuntimeProcess.java
+++ /dev/null
@@ -1,37 +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.ant.internal.ui.launchConfigurations;
-
-import java.util.Map;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.debug.core.model.RuntimeProcess;
-
-public class RemoteAntRuntimeProcess extends RuntimeProcess {
-
-	/**
-	 * Constructs a RuntimeProcess on the given system process
-	 * with the given name, adding this process to the given
-	 * launch.
-	 * Sets the streams proxy to an AntStreamsProxy if output is captured.
-	 */
-	public RemoteAntRuntimeProcess(ILaunch launch, Process process, String name, Map attributes) {
-		super(launch, process, name, attributes);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.RuntimeProcess#createStreamsProxy()
-	 */
-	protected IStreamsProxy createStreamsProxy() {
-		return new AntStreamsProxy();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RunAntStatusHandler.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RunAntStatusHandler.java
deleted file mode 100644
index ce0feb5..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/RunAntStatusHandler.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.ant.internal.ui.launchConfigurations;
-
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-
-/**
- * Status handler called when the launch dialog is opened via the "Run Ant..."
- * action. This allows us to set the initial tab.
- */
-public class RunAntStatusHandler implements IStatusHandler {
-
-	/**
-	 * @see org.eclipse.debug.core.IStatusHandler#handleStatus(org.eclipse.core.runtime.IStatus, java.lang.Object)
-	 */
-	public Object handleStatus(IStatus status, Object source) {
-		ILaunchConfigurationDialog dialog = (ILaunchConfigurationDialog)source;
-		dialog.setActiveTab(3);
-		return null;
-	}
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/SetTargetsDialog.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/SetTargetsDialog.java
deleted file mode 100644
index c3ba55d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/SetTargetsDialog.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.ant.internal.ui.preferences.DialogSettingsHelper;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Shell;
-
-public class SetTargetsDialog extends Dialog {
-	
-    private static String DIALOG_SETTINGS_SECTION = "SetTargetsDialogSettings"; //$NON-NLS-1$
-    
-	private ILaunchConfigurationWorkingCopy fConfiguration;
-	private AntTargetsTab fTargetsTab;
-	
-	public SetTargetsDialog(Shell parentShell, ILaunchConfigurationWorkingCopy config) {
-		super(parentShell);
-		setShellStyle(SWT.RESIZE | getShellStyle());
-		fConfiguration= config;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		
-		getShell().setText(AntLaunchConfigurationMessages.getString("SetTargetsDialog.0")); //$NON-NLS-1$
-		Composite composite = (Composite)super.createDialogArea(parent);
-		
-		fTargetsTab= new AntTargetsTab();
-		fTargetsTab.createControl(composite);
-		fTargetsTab.initializeFrom(fConfiguration);
-		applyDialogFont(composite);
-		return composite;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		fTargetsTab.performApply(fConfiguration);
-        
-		super.okPressed();
-	}
-
-    protected String getTargetsSelected() {
-        try {
-            return fConfiguration.getAttribute(IAntLaunchConfigurationConstants.ATTR_ANT_TARGETS, ""); //$NON-NLS-1$
-        } catch (CoreException e) {
-            return ""; //$NON-NLS-1$
-        }
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.window.Window#close()
-     */
-    public boolean close() {
-        DialogSettingsHelper.persistShellGeometry(getShell(), DIALOG_SETTINGS_SECTION);
-        return super.close();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.window.Window#getInitialLocation(org.eclipse.swt.graphics.Point)
-     */
-    protected Point getInitialLocation(Point initialSize) {
-        Point p = DialogSettingsHelper.getInitialLocation(DIALOG_SETTINGS_SECTION);
-        return p != null ? p : super.getInitialLocation(initialSize);
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.jface.window.Window#getInitialSize()
-     */
-    protected Point getInitialSize() {
-        Point p = super.getInitialSize();
-        return DialogSettingsHelper.getInitialSize(DIALOG_SETTINGS_SECTION, p);
-    }
-}
-    
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TargetOrderDialog.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TargetOrderDialog.java
deleted file mode 100644
index fc8318b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TargetOrderDialog.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.ant.internal.ui.launchConfigurations;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.model.AntModelContentProvider;
-import org.eclipse.ant.internal.ui.model.AntModelLabelProvider;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Dialog to specify target execution order
- */
-public class TargetOrderDialog extends Dialog implements ISelectionChangedListener {
-	
-	private Button fUp;
-	private Button fDown;
-	private TableViewer fViewer;
-	private Object[] fTargets;
-
-	/**
-	 * Constructs the dialog.
-	 * 
-	 * @param parentShell
-	 */
-	public TargetOrderDialog(Shell parentShell, Object[] targets) {
-		super(parentShell);
-		fTargets = targets;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		getShell().setText(AntLaunchConfigurationMessages.getString("TargetOrderDialog.Order_Targets_1")); //$NON-NLS-1$
-		
-		Composite comp = (Composite)super.createDialogArea(parent);
-		((GridLayout)comp.getLayout()).numColumns= 2;
-		Label label = new Label(comp, SWT.NONE);
-		label.setText(AntLaunchConfigurationMessages.getString("TargetOrderDialog.&Specify_target_execution_order__2")); //$NON-NLS-1$
-		label.setFont(comp.getFont());
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		label.setLayoutData(gd);		
-		
-		createTargetList(comp);
-		
-		createButtons(comp);
-		
-		updateButtons();
-		
-		return comp;
-	}
-
-	/**
-	 * Create button area & buttons
-	 * 
-	 * @param comp
-	 */
-	private void createButtons(Composite parent) {
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.verticalAlignment = GridData.BEGINNING;
-		comp.setLayout(layout);
-		comp.setLayoutData(gd);
-		
-		fUp = new Button(comp, SWT.PUSH);
-		fUp.setFont(parent.getFont());
-		fUp.setText(AntLaunchConfigurationMessages.getString("TargetOrderDialog.&Up_3")); //$NON-NLS-1$
-		setButtonLayoutData(fUp);
-		fUp.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleUpPressed();
-			}
-		});
-		
-		fDown = new Button(comp, SWT.PUSH);
-		fDown.setFont(parent.getFont());
-		fDown.setText(AntLaunchConfigurationMessages.getString("TargetOrderDialog.&Down_4")); //$NON-NLS-1$
-		setButtonLayoutData(fDown);
-		fDown.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleDownPressed();
-			}
-		});
-	}
-
-	private void handleDownPressed() {
-		List targets = getOrderedSelection();
-		if (targets.isEmpty()) {
-			return;
-		}
-		List list= new ArrayList(Arrays.asList(fTargets));
-		int bottom = list.size() - 1;
-		int index = 0;
-		for (int i = targets.size() - 1; i >= 0; i--) {
-			Object target = targets.get(i);
-			index = list.indexOf(target);
-			if (index < bottom) {
-				bottom = index + 1;
-				Object temp = list.get(bottom);
-				list.set(bottom, target);
-				list.set(index, temp);
-			}
-			bottom = index;
-		} 
-		setEntries(list);
-	}
-
-	private void handleUpPressed() {
-		List targets = getOrderedSelection();
-		if (targets.isEmpty()) {
-			return;
-		}
-		int top = 0;
-		int index = 0;
-		List list= new ArrayList(Arrays.asList(fTargets));
-		Iterator entries = targets.iterator();
-		while (entries.hasNext()) {
-			Object target = entries.next();
-			index = list.indexOf(target);
-			if (index > top) {
-				top = index - 1;
-				Object temp = list.get(top);
-				list.set(top, target);
-				list.set(index, temp);
-			}
-			top = index;
-		} 
-		setEntries(list);
-	}
-	
-	/**
-	 * Updates the entries to the entries in the given list
-	 */
-	private void setEntries(List list) {
-		fTargets= list.toArray();
-		fViewer.setInput(fTargets);
-		// update all selection listeners
-		fViewer.setSelection(fViewer.getSelection());
-	}
-	
-	/**
-	 * Returns the selected items in the list, in the order they are
-	 * displayed (not in the order they were selected).
-	 * 
-	 * @return targets for an action
-	 */
-	private List getOrderedSelection() {
-		List targets = new ArrayList();
-		List selection = ((IStructuredSelection)fViewer.getSelection()).toList();
-		Object[] entries = fTargets;
-		for (int i = 0; i < entries.length; i++) {
-			Object target = entries[i];
-			if (selection.contains(target)) {
-				targets.add(target);
-			}
-		}
-		return targets;		
-	}
-
-	/**
-	 * Creates a list viewer for the targets
-	 * 
-	 * @param comp
-	 */
-	private void createTargetList(Composite comp) {
-		fViewer = new TableViewer(comp, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
-		fViewer.setLabelProvider(new AntModelLabelProvider());
-	
-		fViewer.setContentProvider(new AntModelContentProvider());
-		fViewer.setInput(fTargets);
-		fViewer.addSelectionChangedListener(this);
-		Table table = fViewer.getTable();
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 200;
-		gd.widthHint = 250;		
-		table.setLayoutData(gd);
-		table.setFont(comp.getFont());
-	}
-	
-	/**
-	 * Returns the ordered targets
-	 */
-	public Object[] getTargets() {
-		return fTargets;
-	}
-	
-	/**
-	 * Update button enablement
-	 * 
-	 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
-	 */
-	public void selectionChanged(SelectionChangedEvent event) {
-		updateButtons();
-	}
-	
-	private void updateButtons() {
-		int[] selections = fViewer.getTable().getSelectionIndices();
-		int last = fTargets.length - 1;
-		boolean up = true && selections.length > 0;
-		boolean down = true && selections.length > 0;
-		for (int i = 0; i < selections.length; i++) {
-			if (selections[i] == 0) {
-				up = false;
-			}
-			if (selections[i] == last) {
-				down = false;
-			}
-		}
-		fUp.setEnabled(up);
-		fDown.setEnabled(down);		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, IAntUIHelpContextIds.TARGET_ORDER_DIALOG);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TargetTableLabelProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TargetTableLabelProvider.java
deleted file mode 100644
index 26ea776..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TargetTableLabelProvider.java
+++ /dev/null
@@ -1,46 +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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.ant.internal.ui.model.AntModelLabelProvider;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Ant target label provider for a table
- */
-public class TargetTableLabelProvider extends AntModelLabelProvider implements ITableLabelProvider {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-		if (columnIndex == 0) {
-			return getImage(element);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		if (columnIndex == 0){
-			return getText(element);
-		}
-		String desc= ((AntTargetNode)element).getTarget().getDescription();
-		if (desc == null) {
-			return ""; //$NON-NLS-1$
-		}
-		return desc;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TaskLinkManager.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TaskLinkManager.java
deleted file mode 100644
index c05c675..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/TaskLinkManager.java
+++ /dev/null
@@ -1,269 +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.ant.internal.ui.launchConfigurations;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.ui.console.FileLink;
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.ui.console.IHyperlink;
-
-/**
- * Manages task links per process. As messages are logged to the console from
- * build events, hyperlinks are created to link task names to the associated ant
- * buildfile. The build logger registers a task hyperlink with this manager for
- * each build event associated with a task. When the associated line is later
- * appended to the console, the corresponding text region in the console
- * document is determined (as the length of a console document can not be
- * determined beforehand), and the hyperlink is added to the document.
- * The new line is added to the console, information from that line 
- * may be stored to process future incoming tasks hyperlinks.
- */
-public class TaskLinkManager {
-	
-	/**
-	 * A map of processes to lists of queued task hyperlink entries
-	 */
-	private static Map fgProcessToLinks;
-	
-	/**
-	 * A map of processes to lists of queued new line regions
-	 */
-	private static Map fgProcessToNewLines;
-	
-	private static List fgAntBuilds;
-	
-	private static class HyperlinkEntry {
-		private IHyperlink fLink;
-		private IRegion fRegion;
-		private String fMessage;
-		
-		public HyperlinkEntry(IHyperlink link, IRegion region, String message) {
-			fLink = link;
-			fRegion = region;	
-			fMessage = message;
-		}
-		
-		public IRegion getRegion() {
-			return fRegion;
-		}
-		
-		public IHyperlink getLink() {
-			return fLink;
-		}
-		
-		public String getMessage() {
-			return fMessage;
-		}
-	}
-	
-	private static class LineEntry {
-		private IConsole fConsole;
-		private IRegion fRegion;
-	
-		public LineEntry(IConsole console, IRegion region) {
-			fConsole = console;
-			fRegion = region;	
-		}
-	
-		public IRegion getRegion() {
-			return fRegion;
-		}
-	
-		public IConsole getConsole() {
-			return fConsole;
-		}
-	}
-
-	/**
-	 * Not to be called.
-	 */
-	private TaskLinkManager() {
-		super();
-	}
-	
-	/**
-	 * Registers a hyperlink for the given process and task name. The given
-	 * region is relative to the beginning of the line (not the document).
-	 * 
-	 * @param process the process associated with the link
-	 * @param link the link for the process
-	 * @param region The region within the line
-	 * @param message The message related to the link
-	 */
-	public static synchronized void addTaskHyperlink(IProcess process, IHyperlink link, IRegion region, String message) {
-		if (fgProcessToNewLines != null) {
-			List newLines = (List)fgProcessToNewLines.get(process);
-			if (newLines != null) {
-				for (int index= 0; index < newLines.size(); index++) {
-					LineEntry newLine = (LineEntry) newLines.get(index);
-					if (addLink(newLine.getConsole(), link, newLine.getRegion(), region, message)) {
-						newLines.subList(0, index + 1).clear();
-						return;
-					}
-				}
-			}
-		}
-				
-		if (fgProcessToLinks == null) {
-			fgProcessToLinks = new HashMap();
-			
-		}
-		List links = (List)fgProcessToLinks.get(process);
-		if (links == null) {
-			links = new ArrayList(10);
-			fgProcessToLinks.put(process, links);
-		}
-		
-		links.add(new HyperlinkEntry(link, region, message));
-	}
-	
-	private static boolean addLink(IConsole console, IHyperlink link, IRegion lineRegion, IRegion region, String message) {
-		
-		int length = region.getLength();
-		
-		String text;
-		try {
-			text = console.getDocument().get(lineRegion.getOffset(), lineRegion.getLength());
-		} catch (BadLocationException e) {
-			return false;
-		}
-		if (text.trim().equals(message)) {
-			int offset = lineRegion.getOffset() + region.getOffset();
-			console.addLink(link, offset, length);
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * A new line has been added to the given console. Adds any task hyperlink
-	 * associated with the line, to the console.
-	 * The new line may be stored to process future incoming tasks hyperlinks.
-	 * 
-	 * @param console
-	 * @param newLine
-	 */
-	public static synchronized void processNewLine(IConsole console, IRegion newLine) {
-		IProcess process = console.getProcess();
-		if (fgAntBuilds != null && fgAntBuilds.contains(process)) {
-			if (linkBuildFileMessage(console, newLine)) {
-				fgAntBuilds.remove(process);
-				return;
-			}
-		}
-		if (fgProcessToLinks == null) {
-			addNewLine(console, newLine, process);
-			return;
-		}
-		
-		List links = (List)fgProcessToLinks.get(process);
-		if (links == null) {
-			addNewLine(console, newLine, process);
-			return;
-		}
-		
-		for (int index= 0; index < links.size(); index++) {
-			HyperlinkEntry link = (HyperlinkEntry) links.get(index);
-			if (addLink(console, link.getLink(), newLine, link.getRegion(), link.getMessage())) {
-				links.subList(0, index + 1).clear();
-				return;
-			}
-		}
-	}
-	
-	private static void addNewLine(IConsole console, IRegion newLine, IProcess process) {
-		if (fgProcessToNewLines == null) {
-			fgProcessToNewLines = new HashMap();
-		}
-		List newLines = (List)fgProcessToNewLines.get(process);
-		if (newLines == null) {
-			newLines= new ArrayList();
-		}
-	
-		newLines.add(new LineEntry(console, newLine));
-		fgProcessToNewLines.put(process, newLines);
-	}
-
-	/**
-	 * Disposes any information stored for the given process.
-	 * 
-	 * @param process
-	 */
-	public static void dispose(IProcess process) {
-		if (fgProcessToLinks != null) {
-			fgProcessToLinks.remove(process);
-		}
-		if (fgProcessToNewLines != null) {
-			fgProcessToNewLines.remove(process);
-		}
-		if (fgAntBuilds != null) {
-			fgAntBuilds.remove(process);
-		}
-	}
-	
-	/**
-	 * Registers the specified process as an Ant build process.
-	 * Allows for the generation of the "Buildfile: somefile" link in the 
-	 * Ant output.
-	 * 
-	 * @param process
-	 */
-	public static synchronized void registerAntBuild(IProcess process) {
-		if (fgProcessToNewLines != null) {
-			List newLines = (List)fgProcessToNewLines.get(process);
-			if (newLines != null) {
-				for (Iterator iter = newLines.iterator(); iter.hasNext();) {
-					LineEntry newLine = (LineEntry) iter.next();
-					if (linkBuildFileMessage(newLine.getConsole(), newLine.getRegion())){
-						iter.remove();
-						return;
-					}
-				}
-			}
-		}
-		if (fgAntBuilds == null) {
-			fgAntBuilds= new ArrayList();
-		}
-		fgAntBuilds.add(process);
-	}
-	
-	private static boolean linkBuildFileMessage(IConsole console, IRegion region) {
-		
-		String message= ""; //$NON-NLS-1$
-		int offset= region.getOffset();
-		try {
-			message = console.getDocument().get(offset, region.getLength());
-		} catch (BadLocationException e) {
-		}
-		if (message.startsWith("Buildfile:")) { //$NON-NLS-1$
-			String fileName = message.substring(10).trim();
-			IFile file = AntUtil.getFileForLocation(fileName, null);
-			if (file != null) {
-				FileLink link = new FileLink(file, null,  -1, -1, -1);
-				console.addLink(link, offset + 11, fileName.length()); //$NON-NLS-1$
-				//fBuildFileParent= file.getLocation().toFile().getParentFile();
-				return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/VariableInputDialog.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/VariableInputDialog.java
deleted file mode 100644
index 0377f4e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/launchConfigurations/VariableInputDialog.java
+++ /dev/null
@@ -1,149 +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.ant.internal.ui.launchConfigurations;
-
-import org.eclipse.ant.internal.ui.preferences.DialogSettingsHelper;
-import org.eclipse.debug.ui.StringVariableSelectionDialog;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Point;
-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.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-
-
-public class VariableInputDialog extends Dialog {
-	
-	private static String DIALOG_SETTINGS_SECTION = "RuntimeClasspathAction.VariableInputDialog"; //$NON-NLS-1$
-	private Text fText;
-	private String fVariableString;
-	
-	public VariableInputDialog(Shell shell) {
-		super(shell);
-		setShellStyle(SWT.RESIZE | getShellStyle());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite inner = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		inner.setLayout(layout);
-		inner.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		Label label = new Label(inner, SWT.NONE);
-		label.setText(AntLaunchConfigurationMessages.getString("AddVariableStringAction.2")); //$NON-NLS-1$
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		label.setLayoutData(gd);
-
-		Composite inputComp = new Composite(inner, SWT.NONE);
-		layout = new GridLayout(2, false);
-		inputComp.setLayout(layout);
-		inputComp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		fText = new Text(inputComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.grabExcessHorizontalSpace = true;
-		gd.widthHint = 200;
-		fText.setLayoutData(gd);
-		
-		Button button = new Button(inputComp, SWT.PUSH); 
-		button.setText(AntLaunchConfigurationMessages.getString("AddVariableStringAction.3")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		gd.widthHint = Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		button.setLayoutData(gd);
-		
-		button.addSelectionListener(new SelectionAdapter() {
-			public  void widgetSelected(SelectionEvent se) {
-				getVariable();
-			}
-		});
-		
-		applyDialogFont(parent);
-		return inner;
-	}
-	
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(AntLaunchConfigurationMessages.getString("AddVariableStringAction.4")); //$NON-NLS-1$
-	}
-	
-	private void getVariable() {
-		StringVariableSelectionDialog variableDialog = new StringVariableSelectionDialog(getShell());
-		int returnCode = variableDialog.open();
-		if (returnCode == IDialogConstants.OK_ID) {
-			String variable = variableDialog.getVariableExpression();
-			if (variable != null) {
-				fText.insert(variable);
-			}
-		}			
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		String variableString = fText.getText();
-		if (variableString != null && variableString.trim().length() > 0) {
-			fVariableString= variableString;
-		} else {
-			fVariableString= null;
-		}
-		super.okPressed();
-	}
-	
-	public String getVariableString() {
-		return fVariableString;
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		DialogSettingsHelper.persistShellGeometry(getShell(), DIALOG_SETTINGS_SECTION);
-		return super.close();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialLocation(org.eclipse.swt.graphics.Point)
-	 */
-	protected Point getInitialLocation(Point initialSize) {
-		Point p = DialogSettingsHelper.getInitialLocation(DIALOG_SETTINGS_SECTION);
-		return p != null ? p : super.getInitialLocation(initialSize);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#getInitialSize()
-	 */
-	protected Point getInitialSize() {
-		Point p = super.getInitialSize();
-		return DialogSettingsHelper.getInitialSize(DIALOG_SETTINGS_SECTION, p);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntCommentNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntCommentNode.java
deleted file mode 100644
index 4cfcb0f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntCommentNode.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-public class AntCommentNode extends AntElementNode {
-	public AntCommentNode() {
-		super("AntComment"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.model.AntElementNode#isStructuralNode()
-	 */
-	public boolean isStructuralNode() {
-		return false;
-	}
-	
-	public boolean collapseProjection() {
-		IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();		
-		if (store.getBoolean(AntEditorPreferenceConstants.EDITOR_FOLDING_COMMENTS)) {
-			return true;
-		}
-		return false;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDTDNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDTDNode.java
deleted file mode 100644
index 23f4171..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDTDNode.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-public class AntDTDNode extends AntElementNode {
-	public AntDTDNode(String name) {
-		super(name);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.model.AntElementNode#isStructuralNode()
-	 */
-	public boolean isStructuralNode() {
-		return false;
-	}
-	
-	public boolean collapseProjection() {
-		IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();		
-		if (store.getBoolean(AntEditorPreferenceConstants.EDITOR_FOLDING_DTD)) {
-			return true;
-		}
-		return false;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDefiningTaskNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDefiningTaskNode.java
deleted file mode 100644
index 10ca5e6..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntDefiningTaskNode.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.ComponentHelper;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.UnknownElement;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.AntSecurityException;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.xml.sax.Attributes;
-
-public class AntDefiningTaskNode extends AntTaskNode {
-    private String fIdentifier= null;
-    
-    public AntDefiningTaskNode(Task task, Attributes attributes) {
-        super(task);
-        String label= attributes.getValue(IAntModelConstants.ATTR_NAME);
-        if (label == null) {
-            label= task.getTaskName();
-        
-            String file= attributes.getValue(IAntModelConstants.ATTR_FILE);
-            if(file != null) {
-                label=  label + " " + file; //$NON-NLS-1$
-                fIdentifier= file;
-            } else {    
-                String resource=  attributes.getValue(IAntModelConstants.ATTR_RESOURCE);
-                if (resource != null) {
-                    label= label + " " + resource; //$NON-NLS-1$
-                    fIdentifier= resource;
-                } 
-            }
-        } else {
-            fIdentifier= label;
-        }
-        
-        setBaseLabel(label);
-    }
-	
-	protected ImageDescriptor getBaseImageDescriptor() {
-		String taskName= getTask().getTaskName();
-		if ("taskdef".equalsIgnoreCase(taskName) || "typedef".equalsIgnoreCase(taskName)) {  //$NON-NLS-1$//$NON-NLS-2$
-			return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_TASKDEF);	
-		}
-		return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_MACRODEF);	
-	}
-	
-	/**
-	 * Execute the defining task.
-	 */
-	public boolean configure(boolean validateFully) {
-        if (fConfigured) {
-            return false;
-        }
-		IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();
-		boolean enabled= store.getBoolean(AntEditorPreferenceConstants.CODEASSIST_USER_DEFINED_TASKS);
-		if (enabled) {
-			try {
-                ComponentHelper helper= ComponentHelper.getComponentHelper(getProjectNode().getProject());
-                Hashtable old= new Hashtable(helper.getAntTypeTable());
-				getTask().maybeConfigure();
-				getTask().execute();
-                Iterator newNames= helper.getAntTypeTable().keySet().iterator();
-                List defined= new ArrayList();
-                while (newNames.hasNext()) {
-                    String name = (String) newNames.next();
-                    if (old.get(name) == null) {
-                        defined.add(name);
-                    }    
-                }
-                ((AntModel) getAntModel()).addDefinedTasks(defined, this);
-				return false;
-			} catch (BuildException be) {
-                ((AntModel)getAntModel()).removeDefiningTaskNodeInfo(this);
-				handleBuildException(be, AntEditorPreferenceConstants.PROBLEM_CLASSPATH);
-			} catch (LinkageError e) {
-                //A classpath problem with the definer. Possible causes are having multiple
-                //versions of the same JAR on the Ant runtime classpath (either explictly or via the plugin 
-                //classloaders. See bug 71888
-                ((AntModel)getAntModel()).removeDefiningTaskNodeInfo(this);
-                handleBuildException(new BuildException(AntModelMessages.getString("AntDefiningTaskNode.0")), AntEditorPreferenceConstants.PROBLEM_CLASSPATH); //$NON-NLS-1$
-            } catch (AntSecurityException se) {
-				//either a system exit or setting of system property was attempted
-            	((AntModel)getAntModel()).removeDefiningTaskNodeInfo(this);
-                handleBuildException(new BuildException(AntModelMessages.getString("AntDefiningTaskNode.1")), AntEditorPreferenceConstants.PROBLEM_SECURITY); //$NON-NLS-1$
-			}
-		}
-		return false;
-	}
-	
-	public Object getRealTask() {
-		Task task= getTask();
-		if (task instanceof UnknownElement) {
-			task.maybeConfigure();
-			return ((UnknownElement)task).getRealThing();
-		}
-		return task;
-	}
-    
-    protected String getIdentifier() {
-        return fIdentifier;
-    }
-	
-	/*
-	 * Sets the Java class path in org.apache.tools.ant.types.Path
-	 * so that the classloaders defined by these "definer" tasks will have the 
-	 * correct classpath.
-	 */
-	public static void setJavaClassPath() {
-		
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		URL[] antClasspath= prefs.getURLs();
-		
-		setJavaClassPath(antClasspath);
-	}
-	
-	/*
-	 * Sets the Java class path in org.apache.tools.ant.types.Path
-	 * so that the classloaders defined by these "definer" tasks will have the 
-	 * correct classpath.
-	 */
-	public static void setJavaClassPath(URL[] antClasspath) {
-		
-		StringBuffer buff= new StringBuffer();
-		File file= null;
-		for (int i = 0; i < antClasspath.length; i++) {
-			try {
-				file = new File(Platform.asLocalURL(antClasspath[i]).getPath());
-			} catch (IOException e) {
-				continue;
-			}
-			buff.append(file.getAbsolutePath());
-			buff.append("; "); //$NON-NLS-1$
-		}
-
-		org.apache.tools.ant.types.Path systemClasspath= new org.apache.tools.ant.types.Path(null, buff.substring(0, buff.length() - 2));
-		org.apache.tools.ant.types.Path.systemClasspath= systemClasspath;
-	}
-	
-	public boolean collapseProjection() {
-		IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();		
-		if (store.getBoolean(AntEditorPreferenceConstants.EDITOR_FOLDING_DEFINING)) {
-			return true;
-		}
-		return false;
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.AntElementNode#setLength(int)
-     */
-    public void setLength(int length) {
-       super.setLength(length);
-       getAntModel().setDefiningTaskNodeText(this);
-    }
-
-    protected void setNeedsToBeConfigured(boolean configure) {
-       fConfigured= !configure;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntElementNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntElementNode.java
deleted file mode 100644
index c056aee..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntElementNode.java
+++ /dev/null
@@ -1,623 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002, 2005 GEBIT Gesellschaft fuer EDV-Beratung
- * und Informatik-Technologien mbH, 
- * Berlin, Duesseldorf, Frankfurt (Germany) 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:
- *     GEBIT Gesellschaft fuer EDV-Beratung und Informatik-Technologien mbH - initial API and implementation
- * 	   IBM Corporation - bug fixes
- *     John-Mason P. Shackelford (john-mason.shackelford@pearson.com) - bug 49445
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.model;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.AntImageDescriptor;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * General representation of an Ant buildfile element.
- * 
- */
-public class AntElementNode implements IAdaptable {
-    
-	/**
-	 * The offset of the corresponding source.
-	 * @see #getOffset()
-	 */
-	protected int fOffset= -1;
-	
-	/**
-	 * The length of the corresponding source.
-	 * @see #getLength()
-	 */
-	protected int fLength= -1;
-	
-	/**
-	 * The length of the source to select for this node
-	 */
-	protected int fSelectionLength;
-	
-    /**
-     * The parent node.
-     */
-    protected AntElementNode fParent;
-    
-    /**
-     * The import node that "imported" this element
-     */
-    private AntElementNode fImportNode;
-
-    /**
-     * The child nodes.
-     */
-    protected List fChildNodes= null;
-
-    /**
-     * The (tag-)name of the element.
-     */
-    protected String fName;
-
-	/**
-	 * Whether this element has been generated as part of an element hierarchy
-	 * this has problems. This is the severity of the problem.
-	 * @see XMLProblem#NO_PROBLEM
-	 * @see XMLProblem#SEVERITY_ERROR
-	 * @see XMLProblem#SEVERITY_WARNING
-	 * @see XMLProblem#SEVERITY_FATAL_ERROR
-	 */
-	private int fProblemSeverity= AntModelProblem.NO_PROBLEM;
-	
-	private String fProblemMessage= null;
-	
-	/**
-	 * The absolute file system path of the file this element is
-	 * defined within.
-	 */
-	private String fFilePath;
-	
-	/**
-	 * Whether this element has been generated from an external entity definition
-	 */
-	private boolean fIsExternal = false;
-	
-	/**
-	 * The unique (in the corresponding element tree) path of this element.
-	 */
-	private String fElementPath;
-	
-	/**
-	 * The (not necessarily unique) identifier of this element.
-	 */
-	private String fElementIdentifier;
-
-	/**
-	 * The problem associated with this node. May be <code>null</code>.
-     */
-	private IProblem fProblem;
-	
-	/**
-	 * Only used when opening an import element to indicate the location in the imported file
-	 */
-	private int fLine;
-	private int fColumn;
-
-	/**
-     * Creates an instance with the specified name.
-     */
-    public AntElementNode(String aName) {
-       fName = aName;
-    }
-    
-    /**
-     * Creates an instance with the specified name.
-     */
-    public AntElementNode() {
-    }
-    
-    
-    /**
-     * Returns the name.
-     */
-    public String getName() {
-        return fName;
-    }
-    
-    
-    /**
-     * Returns the label that is used for display.
-     * <P>
-     * The default implementation returns just the same as the method <code>getName()</code>.
-     * Override this method in your own subclass for special elements in order to provide a
-     * custom label.
-     */
-    public String getLabel() {
-    	return getName();
-    }
-    
-    
-    /**
-     * Returns the child nodes.
-     */
-    public List getChildNodes() {
-        return fChildNodes;
-    }
-    
-    /**
-     * Returns all the descendents of this node
-     */
-    public List getDescendents() {
-    	if (fChildNodes == null) {
-    		return null;
-    	}
-    	List descendents= new ArrayList();
-        determineDescendents(descendents, fChildNodes);
-        
-        return descendents;
-    }
-    
-    
-    private void determineDescendents(List descendents, List childrenNodes) {
-		Iterator itr= childrenNodes.iterator();
-        while (itr.hasNext()) {
-			AntElementNode element = (AntElementNode) itr.next();
-			if (element.hasChildren()) {
-				determineDescendents(descendents, element.getChildNodes());
-			}
-			descendents.add(element);
-		}
-	}
-
-	/**
-     * Returns the parent <code>AntElementNode</code>.
-     * 
-     * @return the parent or <code>null</code> if this element has no parent.
-     */
-    public AntElementNode getParentNode() {
-        return fParent;
-    } 
-    
-    public AntProjectNode getProjectNode() {
-    	AntElementNode projectParent= getParentNode();
-    	while (projectParent != null && !(projectParent instanceof AntProjectNode)) {
-    		projectParent= projectParent.getParentNode();
-    	}
-    	return (AntProjectNode)projectParent;
-    }
-    
-    
-    /**
-     * Adds the specified element as a child.
-     * <P>
-     * The specified element will have this assigned as its parent.
-     */
-    public void addChildNode(AntElementNode childElement) {
-    	childElement.setParent(this);
-        if (fChildNodes == null) {
-        	fChildNodes= new ArrayList();
-        }
-        fChildNodes.add(childElement);
-    }
-    
-	protected void setParent(AntElementNode node) {
-		fParent= node;
-	}
-
-	/**
-	 * Sets the absolute file system path of the file this element is defined
-	 * within.
-	 */
-	public void setFilePath(String path) {
-		if (path == null) {
-			return;
-		}
-		URL url= null;
-		try {		
-			url= new URL(path);
-		} catch (MalformedURLException e) {		
-			fFilePath= path;
-			return;
-		}
-		fFilePath = new Path(new File(url.getPath()).getAbsolutePath()).toString();
-	}
-	
-	/**
-	 * Returns the absolute file system path of the file this element is defined
-     * within. Only relevant for nodes that are external
-     * @see #isExternal()
-     */
-	public String getFilePath() {
-		return fFilePath;
-	}
-
-    /**
-	 * Returns the 0-based index of the first character of the source code for this element,
-	 * relative to the source buffer in which this element is contained.
-	 * 
-	 * @return the 0-based index of the first character of the source code for this element,
-	 * relative to the source buffer in which this element is contained
-	 */
-	public int getOffset() {
-		return fOffset;
-	}
-	
-	/**
-	 * Sets the offset.
-	 * 
-	 * @see #getOffset()
-	 */
-	public void setOffset(int anOffset) {
-		fOffset = anOffset;
-	}
-	
-	/**
-	 * Returns the number of characters of the source code for this element,
-	 * relative to the source buffer in which this element is contained.
-	 * 
-	 * @return the number of characters of the source code for this element,
-	 * relative to the source buffer in which this element is contained
-	 */
-    public int getLength() {
-        return fLength;
-    }
-
-	/**
-	 * Sets the length.
-	 * 
-	 * @see #getLength()
-	 */
-	public void setLength(int aLength) {
-		fLength = aLength;
-		if (fProblem != null && fProblem instanceof AntModelProblem) {
-			((AntModelProblem)fProblem).setLength(aLength);
-		}
-	}
-
-	/**
-	 * Returns a string representation of this element.
-	 */
-	public String toString() {
-		return "Ant Element Node: " + getLabel() + " Offset: " + getOffset() + " Length: " + getLength();  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
-	}
-	
-	/**
-	 * Returns whether this element has been generated as part of an element
-	 * hierarchy that has error(s) associated with it
-	 */
-	public boolean isErrorNode() {
-		return fProblemSeverity == AntModelProblem.SEVERITY_ERROR || fProblemSeverity == AntModelProblem.SEVERITY_FATAL_ERROR;
-	}
-	
-	/**
-	 * Returns whether this element has been generated as part of an element
-	 * hierarchy that has warning(s) associated with it
-	 */
-	public boolean isWarningNode() {
-		return fProblemSeverity == AntModelProblem.SEVERITY_WARNING;
-	}
-	
-	/**
-	 * Sets whether this element has been generated as part of an element
-	 * hierarchy that has problems. The severity of the problem is provided.
-	 */
-	public void setProblemSeverity(int severity) {
-		fProblemSeverity= severity;
-	}
-	
-	/**
-	 * Returns whether this xml element is defined in an external entity.
-	 * 
-	 * @return boolean
-	 */
-	public boolean isExternal() {
-		return fIsExternal;
-	}
-
-	/**
-	 * Sets whether this xml element is defined in an external entity.
-	 */
-	public void setExternal(boolean isExternal) {
-		fIsExternal = isExternal;
-	}
-	
-	private String getElementPath() {
-		if (fElementPath == null) {
-			StringBuffer buffer= new StringBuffer();
-			String buildFileName= getProjectNode().getBuildFileName();
-			if (buildFileName != null) {
-				buffer.append(buildFileName);
-			}
-			buffer.append(getParentNode() != null ? getParentNode().getElementPath() : ""); //$NON-NLS-1$
-			buffer.append('/');
-			buffer.append(getElementIdentifier());
-			buffer.append('[');
-			buffer.append(getParentNode() != null ? getParentNode().getElementIndexOf(this) : 0);
-			buffer.append(']');
-			
-			fElementPath= buffer.toString();
-		}
-		return fElementPath;
-	}
-
-	private String getElementIdentifier() {
-		if (fElementIdentifier == null) {
-			StringBuffer buffer= escape(new StringBuffer(getName() != null ? getName() : ""), '\\', "$/[]\\"); //$NON-NLS-1$ //$NON-NLS-2$
-			buffer.append('$');
-			buffer.append(escape(new StringBuffer(getLabel() != null ? getLabel() : ""), '\\', "$/[]\\").toString()); //$NON-NLS-1$ //$NON-NLS-2$
-			
-			fElementIdentifier= buffer.toString();
-		}
-		return fElementIdentifier;
-	}
-
-	private StringBuffer escape(StringBuffer sb, char esc, String special) {
-		for (int i= 0; i < sb.length(); i++) {
-			if (special.indexOf(sb.charAt(i)) >= 0) {
-				sb.insert(i++, esc);
-			}
-		}
-
-		return sb;
-	}
-
-	private int getElementIndexOf(AntElementNode child) {
-		if (getChildNodes() == null) {
-			return -1;
-		}
-		
-		int result= -1;
-		
-		Iterator iter= getChildNodes().iterator();
-		AntElementNode current= null;
-		while (current != child && iter.hasNext()) {
-			current= (AntElementNode) iter.next();
-			if (child.getElementIdentifier().equals(current.getElementIdentifier()))
-				result++;
-		}
-		
-		if (current != child) {
-			return -1;
-		}
-		
-		return result;
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object o2) {
-		Object o1= this;
-		
-		if (o1 == o2) {
-			return true;
-		}
-		if (o1 == null || o2 == null) {
-			return false;
-		}
-		if (!(o1 instanceof AntElementNode || o2 instanceof AntElementNode)) {
-			return o2.equals(o1);
-		}
-		if (!(o1 instanceof AntElementNode && o2 instanceof AntElementNode)) {
-			return false;
-		}
-		
-		AntElementNode e1= (AntElementNode) o1;
-		AntElementNode e2= (AntElementNode) o2;
-	
-		return e1.getElementPath().equals(e2.getElementPath());
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getElementPath().hashCode();
-	}
-
-	/**
-	 * Returns the length of source to select for this node.
-	 * @return the length of source to select
-	 */
-	public int getSelectionLength() {
-		return fSelectionLength;
-	}
-	
-	public void setSelectionLength(int selectionLength) {
-		this.fSelectionLength= selectionLength;
-	}
-	
-	/**
-	 * Returns the node with the narrowest source range that contains the offset.
-	 * It may be this node or one of its children or <code>null</code> if the offset is not in the source range of this node.
-	 * @param sourceOffset The source offset
-	 * @return the node that includes the offset in its source range or <code>null</code>
-	 */
-	public AntElementNode getNode(int sourceOffset) {
-		if (fChildNodes != null) {
-			for (Iterator iter = fChildNodes.iterator(); iter.hasNext(); ) {
-				AntElementNode node = (AntElementNode) iter.next();
-				AntElementNode containingNode= node.getNode(sourceOffset);
-				if (containingNode != null) {
-					return containingNode;
-				}
-			}
-		}
-		if (fLength == -1 && fOffset <= sourceOffset && !isExternal()) { //this is still an open element
-			return this;
-		}
-		if (fOffset <= sourceOffset && sourceOffset <= (fOffset + fLength - 2)) {
-			return this;
-		}
-		
-		return null;
-	}
-	
-	public Image getImage() {
-		int flags = 0;
-		
-		if (isErrorNode()) {
-			flags = flags | AntImageDescriptor.HAS_ERRORS;
-		} else if (isWarningNode()) {
-			flags = flags | AntImageDescriptor.HAS_WARNINGS;
-		}
-		if(fImportNode != null || isExternal()){
-			flags = flags | AntImageDescriptor.IMPORTED;
-		}
-		ImageDescriptor base= getBaseImageDescriptor();
-		return AntUIImages.getImage(new AntImageDescriptor(base, flags));			
-	}
-
-	protected ImageDescriptor getBaseImageDescriptor() {
-		return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_TASK_PROPOSAL);
-	}
-	
-	protected IAntModel getAntModel() {
-		AntElementNode parentNode= getParentNode();
-		while (!(parentNode instanceof AntProjectNode)) {
-			parentNode= parentNode.getParentNode();
-		}
-		return parentNode.getAntModel();
-	}
-
-	/**
-	 * Sets the problem associated with this element
-	 * @param problem The problem associated with this element.
-	 */
-	public void associatedProblem(IProblem problem) {
-		fProblem= problem;
-	}
-	
-	public IProblem getProblem() {
-	    return fProblem;
-	}
-
-	protected void appendEntityName(StringBuffer displayName) {
-		String path= getFilePath();
-		
-		if (getImportNode() != null) {
-			displayName.append(MessageFormat.format(AntModelMessages.getString("AntElementNode.9"), new String[]{getImportNode().getLabel()})); //$NON-NLS-1$
-		} else {
-			String entityName= getAntModel().getEntityName(path);
-			displayName.append(MessageFormat.format(AntModelMessages.getString("AntElementNode.9"), new String[]{entityName})); //$NON-NLS-1$
-		}
-	}
-	
-	public AntElementNode getImportNode() {
-		return fImportNode;
-	}
-	
-	public void setImportNode(AntElementNode importNode) {
-		fImportNode = importNode;
-	}
-	
-	public boolean hasChildren() {
-		if (fChildNodes == null) {
-			return false;
-		}
-		return !fChildNodes.isEmpty();
-	}
-
-	public void reset() {
-		fChildNodes= null;
-	}
-
-	public void setExternalInfo(int line, int column) {
-		fLine= line;
-		fColumn= column;
-	}
-	
-	public int[] getExternalInfo() {
-		return new int[] {fLine, fColumn};
-	}
-	
-	/**
-     * Return the resource that contains the definition of this
-     * Ant node.
-     * @return The resource that contains the definition of this ant node or <code>null</code>
-     * if that resource could not be determined (a buildfile that is external to the workspace).
-     */
-	public IFile getIFile() {
-		if (isExternal()) {
-			return AntUtil.getFileForLocation(fFilePath, null);
-		} 
-		return getBuildFileResource();
-	}
-	
-	/**
-     * Return the resource that is the main build file for this
-     * Ant node.
-     * @return The resource that is the main buildfile for this ant node or <code>null</code>
-     * if that resource could not be determined (a buildfile that is external to the workspace).
-     */
-	public IFile getBuildFileResource() {
-		LocationProvider locationProvider= getAntModel().getLocationProvider();
-		return locationProvider.getFile();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-	
-	/**
-	 * Returns whether this node is a structural node that should be shown in the buildfile outline.
-	 * For example, an AntCommentNode would return <code>false</code>
-	 * 
-	 * @return whether this node is a structural node that should be shown in the buildfile outline
-	 */
-	public boolean isStructuralNode() {
-		return true;
-	}
-	
-	/**
-	 * Returns whether to collapse the code folding projection (region) represented by this node. 
-	 * @return whether the user preference is set to collapse the code folding projection (region)
-	 *  represented by this node
-	 */
-	public boolean collapseProjection() {
-		return false;
-	}
-	
-	public void dispose() {
-        getAntModel().dispose();
-    }
-    
-    /**
-     * Returns the name or path of the element referenced at the offset within the declaration of this node or
-     * <code>null</code> if no element is referenced at the offset
-     * @param offset The offset within the declaration of this node
-     * @return <code>null</code> or the name or path of the referenced element
-     */
-    public String getReferencedElement(int offset) {
-		return null;
-	}
-   
-    public String getProblemMessage() {
-        return fProblemMessage;
-    }
-   
-    public void setProblemMessage(String problemMessage) {
-        fProblemMessage = problemMessage;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntImportNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntImportNode.java
deleted file mode 100644
index 0116170..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntImportNode.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.ant.core.AntSecurityException;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.editor.AntEditorCompletionProcessor;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.xml.sax.Attributes;
-
-public class AntImportNode extends AntTaskNode {
-	
-	private String fFile= null;
-	
-	public AntImportNode(Task task, Attributes attributes) {
-		super(task);
-         fFile= attributes.getValue(IAntModelConstants.ATTR_FILE);
-	}
-	
-	public String getFile() {
-		return fFile;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.model.AntElementNode#getBaseImageDescriptor()
-	 */
-	protected ImageDescriptor getBaseImageDescriptor() {
-		return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_IMPORT);
-	}
-	
-	public String getLabel() {
-	    if (fLabel == null) {
-	        StringBuffer label= new StringBuffer(getTask().getTaskName());
-	        label.append(' ');
-	        label.append(fFile);
-	        
-	        if (isExternal()) {
-	            appendEntityName(label);
-	        }
-	        fLabel= label.toString();
-	    }
-	    return fLabel;
-	}
-
-	/**
-	 * Execute the import.
-	 * Returns <code>true</code> as the import adds to the Ant model
-	 */
-	public boolean configure(boolean validateFully) {
-		if (fConfigured) {
-			return false;
-		}
-		try {
-			getTask().maybeConfigure();
-			getTask().execute();
-			fConfigured= true;
-			return true;
-		} catch (BuildException be) {
-			handleBuildException(be, AntEditorPreferenceConstants.PROBLEM_IMPORTS);
-		} catch (AntSecurityException se) {
-			//either a system exit or setting of system property was attempted
-            handleBuildException(new BuildException(AntModelMessages.getString("AntImportNode.0")), AntEditorPreferenceConstants.PROBLEM_SECURITY); //$NON-NLS-1$
-		}
-		return false;
-	}
-	
-	public IFile getIFile() {
-		IFile file;
-		if (isExternal()) {
-			file= AntUtil.getFileForLocation(getFilePath(), null);
-		} else {
-			String path= getFile();
-			file= AntUtil.getFileForLocation(path, getAntModel().getEditedFile().getParentFile());
-		}
-		return file;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getReferencedElement(int)
-	 */
-	public String getReferencedElement(int offset) {
-		if (fFile != null) {
-			String textToSearch= getAntModel().getText(getOffset(), offset - getOffset());
-			String attributeString = AntEditorCompletionProcessor.getAttributeStringFromDocumentStringToPrefix(textToSearch);
-			if ("file".equals(attributeString)) {  //$NON-NLS-1$//$NON-NLS-2$
-				return fFile;
-			}
-        }
-        return null;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModel.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModel.java
deleted file mode 100644
index 5fe68e3..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModel.java
+++ /dev/null
@@ -1,1605 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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
- *     Nico Seessle - bug 51332
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.model;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URLClassLoader;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Stack;
-
-import org.apache.tools.ant.AntTypeDefinition;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.ComponentHelper;
-import org.apache.tools.ant.IntrospectionHelper;
-import org.apache.tools.ant.Location;
-import org.apache.tools.ant.Main;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.TaskAdapter;
-import org.apache.tools.ant.UnknownElement;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.AntSecurityException;
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.core.Type;
-import org.eclipse.ant.internal.core.AntCoreUtil;
-import org.eclipse.ant.internal.core.AntSecurityManager;
-import org.eclipse.ant.internal.core.IAntCoreConstants;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.editor.DecayCodeCompletionDataStructuresThread;
-import org.eclipse.ant.internal.ui.editor.outline.AntEditorMarkerUpdater;
-import org.eclipse.ant.internal.ui.editor.utils.ProjectHelper;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Preferences;
-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.ISynchronizable;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXParseException;
-
-public class AntModel implements IAntModel {
-
-	private static ClassLoader fgClassLoader;
-	private static int fgInstanceCount= 0;
-	
-	private IDocument fDocument;
-	private IProblemRequestor fProblemRequestor;
-	private LocationProvider fLocationProvider;
-
-	private AntProjectNode fProjectNode;
-	private AntTargetNode fCurrentTargetNode;
-	private AntElementNode fLastNode;
-	private AntElementNode fNodeBeingResolved;
-	
-	private Map fEntityNameToPath;
-	
-	 /**
-     * Stack of still open elements.
-     * <P>
-     * On top of the stack is the innermost element.
-     */
-	private Stack fStillOpenElements = new Stack();
-	
-	private Map fTaskToNode= new HashMap();
-
-	private List fTaskNodes= new ArrayList();
-
-	private final Object fDirtyLock= new Object();
-	private boolean fIsDirty= true;
-	private File fEditedFile= null;	
-   
-    private ClassLoader fLocalClassLoader= null;
-    
-    private boolean fHasLexicalInfo= true;
-    private boolean fHasPositionInfo= true;
-    private boolean fHasTaskInfo= true;
-    
-	private IDocumentListener fListener;	
-	private AntEditorMarkerUpdater fMarkerUpdater= null;
-	private List fNonStructuralNodes= new ArrayList(1);
-	
-	private Preferences.IPropertyChangeListener fCorePropertyChangeListener;
-	
-	private Preferences.IPropertyChangeListener fUIPropertyChangeListener;
-	
-	private Map fProperties= null;
-	private List fPropertyFiles= null;
-    
-	private Map fDefinersToText;
-    private Map fPreviousDefinersToText;
-    private Map fDefinerNodeIdentifierToDefinedTasks;
-    private Map fTaskNameToDefiningNode;
-    private Map fCurrentNodeIdentifiers;
-	
-	public AntModel(IDocument document, IProblemRequestor problemRequestor, LocationProvider locationProvider) {
-		init(document, problemRequestor, locationProvider);
-		
-		fMarkerUpdater= new AntEditorMarkerUpdater();
-		fMarkerUpdater.setModel(this);
-		fCorePropertyChangeListener= new Preferences.IPropertyChangeListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
-			 */
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				if (event.getProperty().equals(IAntCoreConstants.PREFERENCE_CLASSPATH_CHANGED)) {
-					if (((Boolean)event.getNewValue()) == Boolean.TRUE) {
-						reconcileForPropertyChange(true);
-					}
-				}
-			}
-		};
-		AntCorePlugin.getPlugin().getPluginPreferences().addPropertyChangeListener(fCorePropertyChangeListener);
-		
-		fUIPropertyChangeListener= new Preferences.IPropertyChangeListener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
-			 */
-			public void propertyChange(Preferences.PropertyChangeEvent event) {
-				String property= event.getProperty();
-				if (property.equals(AntEditorPreferenceConstants.PROBLEM)) {
-					AntUIPlugin.getDefault().getPluginPreferences().removePropertyChangeListener(fUIPropertyChangeListener);
-					reconcileForPropertyChange(false);
-					AntUIPlugin.getDefault().getPluginPreferences().setToDefault(AntEditorPreferenceConstants.PROBLEM);
-					AntUIPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(fUIPropertyChangeListener);
-				} else if (property.equals(AntEditorPreferenceConstants.CODEASSIST_USER_DEFINED_TASKS)) {
-					reconcileForPropertyChange(false);
-				}
-			}
-		};
-		AntUIPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(fUIPropertyChangeListener);
-	}
-	
-	public AntModel(IDocument document, IProblemRequestor problemRequestor, LocationProvider locationProvider, boolean resolveLexicalInfo, boolean resolvePositionInfo, boolean resolveTaskInfo) {
-		init(document, problemRequestor, locationProvider);
-		
-		fHasLexicalInfo= resolveLexicalInfo;
-		fHasPositionInfo= resolvePositionInfo;
-		fHasTaskInfo= resolveTaskInfo;
-	}
-	
-	private void init(IDocument document, IProblemRequestor problemRequestor, LocationProvider locationProvider) {
-        fDocument= document;
-		fProblemRequestor= problemRequestor;
-		fLocationProvider= locationProvider;
-		AntDefiningTaskNode.setJavaClassPath();
-		fgInstanceCount++;
-		DecayCodeCompletionDataStructuresThread.cancel();
-    }
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#dispose()
-	 */
-	public void dispose() {		
-		synchronized (getLockObject()) {
-			if (fDocument != null && fListener != null) {
-				fDocument.removeDocumentListener(fListener);
-			}
-			fDocument= null;
-			fLocationProvider= null;
-			ProjectHelper.setAntModel(null);
-		}
-		
-		if (fCorePropertyChangeListener != null) {
-		    AntCorePlugin.getPlugin().getPluginPreferences().removePropertyChangeListener(fCorePropertyChangeListener);
-		}
-		if (fUIPropertyChangeListener != null) {
-		    AntUIPlugin.getDefault().getPluginPreferences().removePropertyChangeListener(fUIPropertyChangeListener);
-		}
-		fgInstanceCount--;
-		if (fgInstanceCount == 0) {
-			fgClassLoader= null;
-			DecayCodeCompletionDataStructuresThread.getDefault().start();
-			cleanup();
-		}
-	}
-	
-	private Object getLockObject() {
-		if (fDocument instanceof ISynchronizable) {
-			return ((ISynchronizable)fDocument).getLockObject();
-		}
-		return this;
-	}
-
-	private void cleanup() {
-        AntProjectNode projectNode= getProjectNode();
-		if (projectNode != null) {
-			//cleanup the introspection helpers that may have been generated
-			IntrospectionHelper.getHelper(projectNode.getProject(), AntModel.class);
-			projectNode.getProject().fireBuildFinished(null);
-		}
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.IAntModel#reconcile()
-     */
-    public void reconcile() {
-		synchronized (fDirtyLock) {
-			if (!fIsDirty) {
-				return;
-			}
-			fIsDirty= false;
-		}
-
-		synchronized (getLockObject()) {
-			if (fLocationProvider == null) {
-				// disposed
-				return;
-			}
-			
-			if (fDocument == null) {
-				fProjectNode= null;
-			} else {
-				reset();
-				parseDocument(fDocument);
-				reconcileTaskAndTypes();
-			} 
-			AntModelCore.getDefault().notifyAntModelListeners(new AntModelChangeEvent(this));
-		}
-	}
-
-	private void reset() {
-		fCurrentTargetNode= null;
-		fStillOpenElements= new Stack();
-		fTaskToNode= new HashMap();
-		fTaskNodes= new ArrayList();
-		fNodeBeingResolved= null;
-		fLastNode= null;
-        fCurrentNodeIdentifiers= null;
-		
-		fNonStructuralNodes= new ArrayList(1);
-        if (fDefinersToText != null) {
-            fPreviousDefinersToText= new HashMap(fDefinersToText);
-            fDefinersToText= null;
-        }
-	}
-	
-	private void parseDocument(IDocument input) {
-		boolean parsed= true;
-		if (input.getLength() == 0) {
-			fProjectNode= null;
-			parsed= false;
-			return;
-		}
-		ClassLoader parsingClassLoader= getClassLoader();
-		ClassLoader originalClassLoader= Thread.currentThread().getContextClassLoader();
-		Thread.currentThread().setContextClassLoader(parsingClassLoader);
-		Project project= null;
-    	try {
-    		ProjectHelper projectHelper= null;
-    		String textToParse= input.get();
-			if (fProjectNode == null || !fProjectNode.hasChildren()) {
-				fProjectNode= null;
-				project = new AntModelProject();
-				projectHelper= prepareForFullParse(project, parsingClassLoader);
-			} else {
-				project= fProjectNode.getProject();
-				projectHelper= (ProjectHelper)project.getReference("ant.projectHelper"); //$NON-NLS-1$
-				prepareForFullIncremental();
-			}
-			beginReporting();
-			Map references= project.getReferences();
-			references.remove("ant.parsing.context"); //$NON-NLS-1$
-			ProjectHelper.setAntModel(this);
-			projectHelper.parse(project, textToParse);
-			
-    	} catch(BuildException e) {
-			handleBuildException(e, null);
-    	} finally {
-    		Thread.currentThread().setContextClassLoader(originalClassLoader);
-    		if (parsed) {		
-    			SecurityManager origSM= System.getSecurityManager();
-    			processAntHome(true);
-    			try {
-					//set a security manager to disallow system exit and system property setting
-					System.setSecurityManager(new AntSecurityManager(origSM, Thread.currentThread()));
-					resolveBuildfile();
-					endReporting();
-				} catch (AntSecurityException e) {
-        		
-				} finally {
-					System.setSecurityManager(origSM);
-					project.fireBuildFinished(null); //cleanup (IntrospectionHelper)
-				}
-    		}
-    	}
-	}
-
-	private ProjectHelper prepareForFullParse(Project project, ClassLoader parsingClassLoader) {
-		initializeProject(project, parsingClassLoader);
-    	// Ant's parsing facilities always works on a file, therefore we need
-    	// to determine the actual location of the file. Though the file 
-    	// contents will not be parsed. We parse the passed document string
-    	File file = getEditedFile();
-    	String filePath= ""; //$NON-NLS-1$
-    	if (file != null) {
-    		filePath= file.getAbsolutePath();
-    	}
-    	project.setUserProperty("ant.file", filePath); //$NON-NLS-1$
-    	project.setUserProperty("ant.version", Main.getAntVersion()); //$NON-NLS-1$
-
-		ProjectHelper projectHelper= new ProjectHelper(this);
-		projectHelper.setBuildFile(file);
-		project.addReference("ant.projectHelper", projectHelper); //$NON-NLS-1$
-		return projectHelper;
-	}
-	
-	private void prepareForFullIncremental() {
-		fProjectNode.reset();
-		fTaskToNode= new HashMap();
-		fTaskNodes= new ArrayList();
-	}
-
-	private void initializeProject(Project project, ClassLoader loader) {
-        processAntHome(false);
-		project.init();
-		setProperties(project);
-		setTasks(project, loader);
-		setTypes(project, loader);
-	}
-	
-	private void setTasks(Project project, ClassLoader loader) {
-		List tasks = AntCorePlugin.getPlugin().getPreferences().getTasks();
-		for (Iterator iterator = tasks.iterator(); iterator.hasNext();) {
-			org.eclipse.ant.core.Task task = (org.eclipse.ant.core.Task) iterator.next();
-			AntTypeDefinition def= new AntTypeDefinition();
-			def.setName(task.getTaskName());
-            def.setClassName(task.getClassName());
-            def.setClassLoader(loader);
-            def.setAdaptToClass(Task.class);
-            def.setAdapterClass(TaskAdapter.class);
-            ComponentHelper.getComponentHelper(project).addDataTypeDefinition(def);
-		}
-	}
-		
-	private void setTypes(Project project, ClassLoader loader) {
-		List types = AntCorePlugin.getPlugin().getPreferences().getTypes();
-		for (Iterator iterator = types.iterator(); iterator.hasNext();) {
-			Type type = (Type) iterator.next();
-			 AntTypeDefinition def = new AntTypeDefinition();
-             def.setName(type.getTypeName());
-             def.setClassName(type.getClassName());
-             def.setClassLoader(loader);
-             ComponentHelper.getComponentHelper(project).addDataTypeDefinition(def);
-		}
-	}
-	
-	private void setProperties(Project project) {
-		setBuiltInProperties(project);
-		setExtraProperties(project);
-		setGlobalProperties(project);
-		loadExtraPropertyFiles(project);
-		loadPropertyFiles(project);
-	}
-
-    private void setExtraProperties(Project project) {
-        if (fProperties != null) {
-			for (Iterator iter = fProperties.keySet().iterator(); iter.hasNext();) {
-				String name = (String) iter.next();
-				String value= (String) fProperties.get(name);
-				if (value != null) {
-					project.setUserProperty(name, value);
-				}
-			}
-		}
-    }
-    
-    private void loadExtraPropertyFiles(Project project) {
-        if (fPropertyFiles != null) {
-    		try {
-                List allProperties= AntCoreUtil.loadPropertyFiles(fPropertyFiles, project.getUserProperty("basedir"), getEditedFile().getAbsolutePath()); //$NON-NLS-1$
-                setPropertiesFromFiles(project, allProperties);
-            } catch (IOException e1) {
-                AntUIPlugin.log(e1);
-            }  
-        }
-    }
-
-    /**
-	 * Load all properties from the files 
-	 */
-	private void loadPropertyFiles(Project project) {
-		List fileNames= Arrays.asList(AntCorePlugin.getPlugin().getPreferences().getCustomPropertyFiles());
-		try {
-            List allProperties= AntCoreUtil.loadPropertyFiles(fileNames, project.getUserProperty("basedir"), getEditedFile().getAbsolutePath()); //$NON-NLS-1$
-            setPropertiesFromFiles(project, allProperties);
-        } catch (IOException e1) {
-            AntUIPlugin.log(e1);
-        }
-	}
-
-	private void setPropertiesFromFiles(Project project, List allProperties) {
-        Iterator iter= allProperties.iterator();
-        while (iter.hasNext()) {
-            Properties props = (Properties) iter.next();
-            Enumeration propertyNames = props.propertyNames();
-            while (propertyNames.hasMoreElements()) {
-                String name = (String) propertyNames.nextElement();
-                //do not override extra local properties with the global settings
-                if (project.getUserProperty(name) == null) {
-                    project.setUserProperty(name, props.getProperty(name));
-                }
-            }
-        }
-    }
-
-    private void setBuiltInProperties(Project project) {
-        //set processAntHome for other properties set as system properties
-		project.setUserProperty("ant.file", getEditedFile().getAbsolutePath()); //$NON-NLS-1$
-		project.setUserProperty("ant.version", Main.getAntVersion()); //$NON-NLS-1$
-	}
-    
-    private void processAntHome(boolean finished) {
-        AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-        String antHome= prefs.getAntHome();
-        if (finished) {
-            System.getProperties().remove("ant.home"); //$NON-NLS-1$
-            System.getProperties().remove("ant.library.dir"); //$NON-NLS-1$
-        } else {
-            System.setProperty("ant.home", antHome); //$NON-NLS-1$
-            File antLibDir= new File(antHome, "lib"); //$NON-NLS-1$
-            System.setProperty("ant.library.dir", antLibDir.getAbsolutePath()); //$NON-NLS-1$
-        }
-    }
-	
-	private void setGlobalProperties(Project project) {
-		List properties= AntCorePlugin.getPlugin().getPreferences().getProperties();
-		if (properties != null) {
-			for (Iterator iter = properties.iterator(); iter.hasNext();) {
-				Property property = (Property) iter.next();
-				String value= property.getValue(false);
-				if (value != null) {
-					project.setUserProperty(property.getName(), value);
-				}
-			}
-		}
-	}
-
-	private void resolveBuildfile() {	
-		Collection nodeCopy= new ArrayList(fTaskNodes);
-		Iterator iter= nodeCopy.iterator();
-		while (iter.hasNext()) {
-			AntTaskNode node = (AntTaskNode) iter.next();
-			fNodeBeingResolved= node;
-			if (node.configure(false)) {
-				//resolve any new elements that may have been added
-				resolveBuildfile();
-			}
-		}
-		fNodeBeingResolved= null;
-		
-		checkTargets();
-	}
-
-	/**
-	 * Check that if a default target is specified it exists and that the 
-	 * target dependencies exist. 
-	 */
-	private void checkTargets() {
-		if (fProjectNode == null) {
-			return;
-		}
-		String defaultTargetName= fProjectNode.getDefaultTargetName();
-		if (defaultTargetName != null && fProjectNode.getProject().getTargets().get(defaultTargetName) == null) {
-			//no default target when one specified (default target does not have to be specified)
-			String message= MessageFormat.format(AntModelMessages.getString("AntModel.43"), new String[]{defaultTargetName}); //$NON-NLS-1$
-			IProblem problem= createProblem(message, fProjectNode.getOffset(), fProjectNode.getSelectionLength(), AntModelProblem.SEVERITY_ERROR);
-			acceptProblem(problem);
-			markHierarchy(fProjectNode, AntModelProblem.SEVERITY_ERROR, message);
-		}
-		if (!fProjectNode.hasChildren()) {
-			return;
-		}
-		List children= fProjectNode.getChildNodes();
-		Iterator iter= children.iterator();
-        boolean checkCircularDependencies= true;
-		while (iter.hasNext()) {
-			AntElementNode node = (AntElementNode) iter.next();
-			AntElementNode originalNode= node;
-			if (node instanceof AntTargetNode) {
-                if (checkCircularDependencies) {
-                    checkCircularDependencies= false;
-                    checkCircularDependencies(node);
-                }
-				checkMissingDependencies(node, originalNode);
-			}
-		}
-	}
-
-    private void checkMissingDependencies(AntElementNode node, AntElementNode originalNode) {
-        String missing= ((AntTargetNode)node).checkDependencies();
-        if (missing != null) {
-        	String message= MessageFormat.format(AntModelMessages.getString("AntModel.44"), new String[]{missing}); //$NON-NLS-1$
-        	AntElementNode importNode= node.getImportNode();
-        	if (importNode != null) {
-        		node= importNode;
-        	}
-        	IProblem problem= createProblem(message, node.getOffset(), node.getSelectionLength(), AntModelProblem.SEVERITY_ERROR);
-        	acceptProblem(problem);
-        	markHierarchy(originalNode, AntModelProblem.SEVERITY_ERROR, message);
-        }
-    }
-
-    private void checkCircularDependencies(AntElementNode node) {
-        Target target= ((AntTargetNode)node).getTarget();
-        String name= target.getName();
-        if (name == null) {
-            return;
-        }
-        try {
-            target.getProject().topoSort(name, target.getProject().getTargets());
-        } catch (BuildException be) {
-            //possible circular dependency
-            String message = be.getMessage();
-            if (message.startsWith("Circular")) { //$NON-NLS-1$ //we do our own checking for missing dependencies
-                IProblem problem= createProblem(message, node.getProjectNode().getOffset(), node.getProjectNode().getSelectionLength(), AntModelProblem.SEVERITY_ERROR);
-                acceptProblem(problem);
-                markHierarchy(node.getProjectNode(), AntModelProblem.SEVERITY_ERROR, message);
-            }
-        }
-    }
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#handleBuildException(org.apache.tools.ant.BuildException, org.eclipse.ant.internal.ui.model.AntElementNode, int)
-	 */
-	public void handleBuildException(BuildException e, AntElementNode node, int severity) {
-		try {
-			if (node != null) {
-				markHierarchy(node, severity, e.getMessage());
-			}
-			Location location= e.getLocation();
-			int line= 0;
-			int originalOffset= 0;
-			int nonWhitespaceOffset= 0; 
-			int length= 0;
-			if (location == Location.UNKNOWN_LOCATION && node != null) {
-				nonWhitespaceOffset= node.getOffset();
-				length= node.getLength();
-			} else {
-				line= location.getLineNumber();
-				if (line == 0) {
-					AntProjectNode projectNode= getProjectNode();
-					if (projectNode != null) {
-						length= projectNode.getSelectionLength();
-						nonWhitespaceOffset= projectNode.getOffset();
-						if (severity == AntModelProblem.SEVERITY_ERROR) {
-							projectNode.setProblemSeverity(AntModelProblem.NO_PROBLEM);
-							projectNode.setProblemMessage(null);
-						}
-					} else {
-						return;
-					}
-				} else {
-					if (node == null) {
-						originalOffset= getOffset(line, 1);
-						nonWhitespaceOffset= originalOffset;
-						try {
-							nonWhitespaceOffset= getNonWhitespaceOffset(line, 1);
-						} catch (BadLocationException be) {
-						}
-						length= getLastCharColumn(line) - (nonWhitespaceOffset - originalOffset);
-					} else {
-						nonWhitespaceOffset= node.getOffset();
-						length= node.getLength();
-					}
-				}
-			}
-			notifyProblemRequestor(e, nonWhitespaceOffset, length, severity);
-		} catch (BadLocationException e1) {
-		}
-	}
-
-	public void handleBuildException(BuildException e, AntElementNode node) {
-		handleBuildException(e, node, AntModelProblem.SEVERITY_ERROR);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#getEditedFile()
-	 */
-	public File getEditedFile() {
-		if (fLocationProvider != null && fEditedFile == null) {
-        	fEditedFile= fLocationProvider.getLocation().toFile();
-		}
-		return fEditedFile;
-    }
-
-	private void markHierarchy(AntElementNode openElement, int severity, String message) {
-		while (openElement != null) {
-			openElement.setProblemSeverity(severity);
-			openElement.setProblemMessage(message);
-			openElement= openElement.getParentNode();
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#getLocationProvider()
-	 */
-	public LocationProvider getLocationProvider() {
-		return fLocationProvider;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#addTarget(org.apache.tools.ant.Target, int, int)
-	 */
-	public void addTarget(Target newTarget, int line, int column) {
-		AntTargetNode targetNode= new AntTargetNode(newTarget);
-		fProjectNode.addChildNode(targetNode);
-		fCurrentTargetNode= targetNode;
-		fStillOpenElements.push(targetNode);
-		if (fNodeBeingResolved instanceof AntImportNode) {
-			targetNode.setImportNode(fNodeBeingResolved);
-			targetNode.setExternal(true);
-		}
-		computeOffset(targetNode, line, column);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#addProject(org.apache.tools.ant.Project, int, int)
-	 */
-	public void addProject(Project project, int line, int column) {
-		fProjectNode= new AntProjectNode((AntModelProject)project, this);
-		fStillOpenElements.push(fProjectNode);
-		computeOffset(fProjectNode, line, column);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#addDTD(java.lang.String, int, int)
-	 */
-	public void addDTD(String name, int line, int column) {
-		AntDTDNode node= new AntDTDNode(name);
-		fStillOpenElements.push(node);
-		int offset= -1;
-		try {
-			if (column <= 0) {
-				offset= getOffset(line, 0);
-				int lastCharColumn= getLastCharColumn(line);
-				offset= computeOffsetUsingPrefix(line, offset, "<!DOCTYPE", lastCharColumn); //$NON-NLS-1$
-			} else {
-				offset= getOffset(line, column);
-			}
-		} catch (BadLocationException e) {
-			AntUIPlugin.log(e);
-		}
-		node.setOffset(offset);
-		fNonStructuralNodes.add(node);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#addTask(org.apache.tools.ant.Task, org.apache.tools.ant.Task, org.xml.sax.Attributes, int, int)
-	 */
-	public void addTask(Task newTask, Task parentTask, Attributes attributes, int line, int column) {
-	    if (!canGetTaskInfo()) {
-		    //need to add top level tasks so imports are executed even when 
-	        //the model is not interested in task level resolution
-	        Target owningTarget= newTask.getOwningTarget();
-	        String name= owningTarget.getName();
-	        if (name == null || name.length() != 0 ) {
-	            //not the top level implicit target            
-	            return;
-	        }
-	    }
-		AntTaskNode taskNode= null;
-		if (parentTask == null) {
-			taskNode= newTaskNode(newTask, attributes);
-			if (fCurrentTargetNode == null) {
-				fProjectNode.addChildNode(taskNode);
-			} else {
-				fCurrentTargetNode.addChildNode(taskNode);
-				if (taskNode.isExternal()) {
-					fCurrentTargetNode.setExternal(true);
-					fCurrentTargetNode.setFilePath(taskNode.getFilePath());
-				}
-			}
-		} else {
-			taskNode= newNotWellKnownTaskNode(newTask, attributes);
-            AntTaskNode parentNode= (AntTaskNode)fTaskToNode.get(parentTask);
-			parentNode.addChildNode(taskNode);
-		}
-		fTaskToNode.put(newTask, taskNode);
-		
-		fStillOpenElements.push(taskNode);
-		computeOffset(taskNode, line, column);
-		if (fNodeBeingResolved instanceof AntImportNode) {
-			taskNode.setImportNode(fNodeBeingResolved);
-			//place the node in the collection right after the import node
-			int index= fTaskNodes.indexOf(fNodeBeingResolved) + 1;
-			fTaskNodes.add(index, taskNode);
-		} else {
-			fTaskNodes.add(taskNode);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#addEntity(java.lang.String, java.lang.String)
-	 */
-	public void addEntity(String entityName, String entityPath) {
-		if (fEntityNameToPath == null) {
-			fEntityNameToPath= new HashMap();
-		}
-		fEntityNameToPath.put(entityName, entityPath);
-	}
-
-	private AntTaskNode newTaskNode(Task newTask, Attributes attributes) {
-		AntTaskNode newNode= null;
-		String taskName= newTask.getTaskName();
-		if (isPropertySettingTask(taskName)) { //$NON-NLS-1$
-			newNode= new AntPropertyNode(newTask, attributes);
-		} else if (taskName.equalsIgnoreCase("import")) { //$NON-NLS-1$
-			newNode= new AntImportNode(newTask, attributes);
-		} else if (taskName.equalsIgnoreCase("macrodef")  //$NON-NLS-1$
-        		|| taskName.equalsIgnoreCase("presetdef") //$NON-NLS-1$
-				|| taskName.equalsIgnoreCase("typedef") //$NON-NLS-1$
-				|| taskName.equalsIgnoreCase("taskdef")) { //$NON-NLS-1$
-		    newNode= new AntDefiningTaskNode(newTask, attributes);
-        } else if(taskName.equalsIgnoreCase("antcall")) { //$NON-NLS-1$
-            newNode= new AntTaskNode(newTask, generateLabel(taskName, attributes, IAntModelConstants.ATTR_TARGET));
-        } else if(taskName.equalsIgnoreCase("mkdir")) { //$NON-NLS-1$
-            newNode= new AntTaskNode(newTask, generateLabel(taskName, attributes, IAntModelConstants.ATTR_DIR));
-        } else if(taskName.equalsIgnoreCase("copy")) { //$NON-NLS-1$
-            newNode= new AntTaskNode(newTask, generateLabel(taskName, attributes, IAntModelConstants.ATTR_DESTFILE));
-        } else if(taskName.equalsIgnoreCase("tar")  //$NON-NLS-1$
-        	|| taskName.equalsIgnoreCase("jar") //$NON-NLS-1$
-        	|| taskName.equalsIgnoreCase("war") //$NON-NLS-1$
-        	|| taskName.equalsIgnoreCase("zip")) { //$NON-NLS-1$
-        	newNode= new AntTaskNode(newTask, generateLabel(newTask.getTaskName(), attributes, IAntModelConstants.ATTR_DESTFILE));
-        } else if(taskName.equalsIgnoreCase("untar")  //$NON-NLS-1$
-        	|| taskName.equalsIgnoreCase("unjar") //$NON-NLS-1$
-        	|| taskName.equalsIgnoreCase("unwar") //$NON-NLS-1$
-        	|| taskName.equalsIgnoreCase("gunzip") //$NON-NLS-1$
-        	|| taskName.equalsIgnoreCase("bunzip2") //$NON-NLS-1$
-        	|| taskName.equalsIgnoreCase("unzip")) { //$NON-NLS-1$
-        	newNode= new AntTaskNode(newTask, generateLabel(newTask.getTaskName(), attributes, IAntModelConstants.ATTR_SRC));
-        } else if(taskName.equalsIgnoreCase("gzip")  //$NON-NLS-1$
-        		|| taskName.equalsIgnoreCase("bzip2")) { //$NON-NLS-1$
-        	newNode= new AntTaskNode(newTask, generateLabel(newTask.getTaskName(), attributes, IAntModelConstants.ATTR_ZIPFILE));
-        } else if(taskName.equalsIgnoreCase("exec")) { //$NON-NLS-1$
-        	String label = "exec "; //$NON-NLS-1$
-            String command = attributes.getValue(IAntModelConstants.ATTR_COMMAND);
-            if(command != null) {
-            	label += command;
-            }
-            command = attributes.getValue(IAntModelConstants.ATTR_EXECUTABLE);
-            if(command != null) {
-            	label += command;
-            }
-            newNode= new AntTaskNode(newTask, label);        
-		} else if(taskName.equalsIgnoreCase("delete")) { //$NON-NLS-1$
-        	String label = "delete "; //$NON-NLS-1$
-            String file = attributes.getValue(IAntModelConstants.ATTR_FILE);
-            if(file != null) {
-            	label+= file;
-            } else {
-            	file = attributes.getValue(IAntModelConstants.ATTR_DIR);
-            	if(file != null) {
-            		label+= file;
-            	}
-            }
-            newNode= new AntTaskNode(newTask, label);
-        } else {   
-        	newNode = newNotWellKnownTaskNode(newTask, attributes);
-        }
-		setExternalInformation(newTask, newNode);
-		return newNode;
-	}
-            
-	/**
-	 * @param taskName the name of the task to check
-	 * @return whether or not a task with this name sets properties
-	 */
-	private boolean isPropertySettingTask(String taskName) {
-		return taskName.equalsIgnoreCase("property") //$NON-NLS-1$
-			|| taskName.equalsIgnoreCase("available") //$NON-NLS-1$
-			|| taskName.equalsIgnoreCase("basename") //$NON-NLS-1$
-			|| taskName.equalsIgnoreCase("condition") //$NON-NLS-1$
-			|| taskName.equalsIgnoreCase("dirname") //$NON-NLS-1$
-			|| taskName.equalsIgnoreCase("loadfile") //$NON-NLS-1$
-			|| taskName.equalsIgnoreCase("pathconvert") //$NON-NLS-1$
-			|| taskName.equalsIgnoreCase("uptodate") //$NON-NLS-1$
-			|| taskName.equalsIgnoreCase("xmlproperty"); //$NON-NLS-1$
-	}
-
-	private boolean isTaskExternal(String taskFileName) {
-		File taskFile= new File(taskFileName);
-		return !taskFile.equals(getEditedFile());
-	}
-
-	private AntTaskNode newNotWellKnownTaskNode(Task newTask, Attributes attributes) {
-		AntTaskNode newNode= new AntTaskNode(newTask);
-		String id= attributes.getValue("id"); //$NON-NLS-1$
-		if (id != null) {
-			newNode.setId(id);
-		}
-        String taskName= newTask.getTaskName();
-        if ("attribute".equals(taskName) || "element".equals(taskName)) { //$NON-NLS-1$ //$NON-NLS-2$
-            String name= attributes.getValue("name"); //$NON-NLS-1$
-            if (name != null) {
-                newNode.setBaseLabel(name);
-            }
-        }
-		
-		setExternalInformation(newTask, newNode);
-		return newNode;
-	}
-
-	private void setExternalInformation(Task newTask, AntTaskNode newNode) {
-		String taskFileName= newTask.getLocation().getFileName();
-		boolean external= isTaskExternal(taskFileName);
-		newNode.setExternal(external);
-		if (external) {
-			newNode.setFilePath(taskFileName);
-		}
-	}
-
-	private String generateLabel(String taskName, Attributes attributes, String attributeName) {
-		StringBuffer label = new StringBuffer(taskName);
-        String srcFile = attributes.getValue(attributeName);
-        if(srcFile != null) {
-        	label.append(' ');
-        	label.append(srcFile);
-        }	
-        return label.toString();
-	}
-
-	private void computeLength(AntElementNode element, int line, int column) {
-		if (element.isExternal()) {
-			element.setExternalInfo(line, column);
-			return;
-		}
-		try {
-			int length;
-			int offset;
-			if (column <= 0) {
-				column= getLastCharColumn(line);
-				String lineText= fDocument.get(fDocument.getLineOffset(line - 1), column);
-				StringBuffer searchString= new StringBuffer("</"); //$NON-NLS-1$
-				searchString.append(element.getName());
-				searchString.append('>'); 
-				int index= lineText.indexOf(searchString.toString());
-				if (index == -1) {
-					index= lineText.indexOf("/>"); //$NON-NLS-1$
-					if (index == -1 ) {
-						index= column; //set to the end of line 
-					} else {
-						index= index + 3;
-					}
-				} else {
-					index= index + searchString.length() + 1;
-				}
-				offset= getOffset(line, index);
-			} else {
-				offset= getOffset(line, column);
-			}
-			
-			length= offset - element.getOffset();
-			element.setLength(length);
-		} catch (BadLocationException e) {
-			//ignore as the parser may be out of sync with the document during reconciliation
-		}
-	}
-	
-	private void computeOffset(AntElementNode element, int line, int column) {
-	    if (!canGetPositionInfo()) {
-	        return;
-	    }
-		if (element.isExternal()) {
-		    element.setExternalInfo(line - 1, column);
-			return;
-		}
-		try {
-			String prefix= "<" + element.getName(); //$NON-NLS-1$
-			int offset = computeOffset(line, column, prefix);
-			element.setOffset(offset + 1);
-			element.setSelectionLength(element.getName().length());
-		} catch (BadLocationException e) {
-			//ignore as the parser may be out of sync with the document during reconciliation
-		}
-	}
-	
-	private int computeOffset(int line, int column, String prefix) throws BadLocationException {
-		int offset;
-		if (column <= 0) {
-			offset= getOffset(line, 0);
-			int lastCharColumn= getLastCharColumn(line);
-			offset= computeOffsetUsingPrefix(line, offset, prefix, lastCharColumn);
-		} else {
-			offset= getOffset(line, column);
-			offset= computeOffsetUsingPrefix(line, offset, prefix, column);
-		}
-		return offset;
-	}
-
-	private int computeOffsetUsingPrefix(int line, int offset, String prefix, int column) throws BadLocationException {
-		String lineText= fDocument.get(fDocument.getLineOffset(line - 1), column);
-		int lastIndex= lineText.indexOf(prefix);
-		if (lastIndex > -1) {
-			offset= getOffset(line, lastIndex + 1);
-		} else {
-			return computeOffsetUsingPrefix(line - 1, offset, prefix, getLastCharColumn(line - 1));
-		}
-		return offset;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#getOffset(int, int)
-	 */
-	public int getOffset(int line, int column) throws BadLocationException {
-		return fDocument.getLineOffset(line - 1) + column - 1;
-	}
-	
-	private int getNonWhitespaceOffset(int line, int column) throws BadLocationException {
-		int offset= fDocument.getLineOffset(line - 1) + column - 1;
-		while(Character.isWhitespace(fDocument.getChar(offset))) {
-			offset++;
-		}
-		return offset;
-	}
-	
-	private int getLine(int offset) {
-		try {
-			return fDocument.getLineOfOffset(offset) + 1;
-		} catch (BadLocationException be) {
-			return -1;
-		}
-	}
-	
-	private int getLastCharColumn(int line) throws BadLocationException {
-		String lineDelimiter= fDocument.getLineDelimiter(line - 1);
-		int lineDelimiterLength= lineDelimiter != null ? lineDelimiter.length() : 0;
-		return fDocument.getLineLength(line - 1) - lineDelimiterLength;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#setCurrentElementLength(int, int)
-	 */
-	public void setCurrentElementLength(int lineNumber, int column) {
-		fLastNode= (AntElementNode)fStillOpenElements.pop();
-		if (fLastNode == fCurrentTargetNode) {
-			fCurrentTargetNode= null; //the current target element has been closed
-		}
-		if (canGetPositionInfo()) {
-		    computeLength(fLastNode, lineNumber, column);
-		}
-	}
-	
-	public void acceptProblem(IProblem problem) {
-		if (fProblemRequestor != null) {
-			fProblemRequestor.acceptProblem(problem);
-		}
-		if (fMarkerUpdater != null) {
-			fMarkerUpdater.acceptProblem(problem);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#getFile()
-	 */
-	public IFile getFile() {
-		IPath location= fLocationProvider.getLocation();
-		if (location == null) {
-			return null;
-		}
-		IFile[] files= ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(location);
-		if (files.length > 0) {
-			return files[0];
-		} 
-		return null;
-	}
-
-	private void beginReporting() {
-		if (fProblemRequestor != null) {
-			fProblemRequestor.beginReporting();
-		}
-		if (fMarkerUpdater != null) {
-			fMarkerUpdater.beginReporting();
-		}
-	}
-	
-	private void endReporting() {
-		if (fProblemRequestor != null) {
-			fProblemRequestor.endReporting();
-		}
-	}
-
-	private IProblem createProblem(Exception exception, int offset, int length,  int severity) {
-		return createProblem(exception.getMessage(), offset, length, severity);
-	}
-	
-	private IProblem createProblem(String message, int offset, int length, int severity) {
-		return new AntModelProblem(message, severity, offset, length, getLine(offset));
-	}
-
-	private void notifyProblemRequestor(Exception exception, AntElementNode element, int severity) {
-		AntElementNode importNode= element.getImportNode();
-		if (importNode != null) {
-			element= importNode;
-		}
-		IProblem problem= createProblem(exception, element.getOffset(), element.getLength(), severity);
-		acceptProblem(problem);
-		element.associatedProblem(problem);
-	}
-	
-	private void notifyProblemRequestor(Exception exception, int offset, int length, int severity) {
-		if (fProblemRequestor != null) {
-			IProblem problem= createProblem(exception, offset, length, severity);
-			acceptProblem(problem);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#warning(java.lang.Exception)
-	 */
-	public void warning(Exception exception) {
-		notifyProblemRequestor(exception, (AntElementNode)fStillOpenElements.pop(), AntModelProblem.SEVERITY_WARNING);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#error(java.lang.Exception)
-	 */
-	public void error(Exception exception) {
-		handleError(exception, AntModelProblem.SEVERITY_ERROR);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#errorFromElementText(java.lang.Exception, int, int)
-	 */
-	public void errorFromElementText(Exception exception, int start, int count) {
-		AntElementNode node= fLastNode;
-		if (node == null) {
-			if (!fStillOpenElements.empty()) {
-				node= (AntElementNode)fStillOpenElements.peek();
-			} 
-		}
-		if (node == null) {
-			return;
-		}
-		computeEndLocationForErrorNode(node, start, count);
-		notifyProblemRequestor(exception, start, count, AntModelProblem.SEVERITY_ERROR);
-		markHierarchy(fLastNode, AntModelProblem.SEVERITY_ERROR, exception.getMessage());
-	} 
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#errorFromElement(java.lang.Exception, org.eclipse.ant.internal.ui.model.AntElementNode, int, int)
-	 */
-	public void errorFromElement(Exception exception, AntElementNode node, int lineNumber, int column) {
-		if (node == null) {
-			if (!fStillOpenElements.empty()) {
-				node= (AntElementNode)fStillOpenElements.peek();
-			} else {
-				node= fLastNode;
-			}
-		}
-		computeEndLocationForErrorNode(node, lineNumber, column);
-		notifyProblemRequestor(exception, node, AntModelProblem.SEVERITY_ERROR);
-		markHierarchy(node, AntModelProblem.SEVERITY_ERROR, exception.getMessage());
-	}
-
-	private AntElementNode createProblemElement(SAXParseException exception) {
-		int lineNumber= exception.getLineNumber();
-		StringBuffer message= new StringBuffer(exception.getMessage());
-		if (lineNumber != -1){
-			message.append(AntModelMessages.getString("AntModel.1") + lineNumber); //$NON-NLS-1$
-		}
-
-		AntElementNode errorNode= new AntElementNode(message.toString());
-		errorNode.setFilePath(exception.getSystemId());
-		errorNode.setProblemSeverity(AntModelProblem.SEVERITY_ERROR);
-		errorNode.setProblemMessage(exception.getMessage());
-		computeErrorLocation(errorNode, exception);
-		return errorNode;
-	}
-	
-	private void computeErrorLocation(AntElementNode element, SAXParseException exception) {
-		if (element.isExternal()) {
-			return;
-		}
-		
-		int line= exception.getLineNumber();
-		int startColumn= exception.getColumnNumber();
-		computeEndLocationForErrorNode(element, line, startColumn);	
-	}
-	
-	private void computeEndLocationForErrorNode(AntElementNode element, int line, int startColumn) {
-		try {
-			if (line <= 0) {
-				line= 1;
-			}
-			int endColumn;
-			if (startColumn <= 0) {
-				if (element.getOffset() > -1) {
-					startColumn= element.getOffset() + 1;
-				} else {
-					startColumn= 1;
-				}
-				endColumn= getLastCharColumn(line) + 1;
-			} else {
-				if (startColumn > 1) {
-					--startColumn;
-				}
-				
-				endColumn= startColumn;
-				if (startColumn <= getLastCharColumn(line)) {
-					++endColumn;
-				}
-			}
-			
-			int correction= 0;
-			if (element.getOffset() == -1) {
-				int originalOffset= getOffset(line, startColumn);
-				int nonWhitespaceOffset= originalOffset; 
-				try {
-					nonWhitespaceOffset= getNonWhitespaceOffset(line, startColumn);
-				} catch (BadLocationException be) {
-				}
-				element.setOffset(nonWhitespaceOffset);
-				correction= nonWhitespaceOffset - originalOffset;
-			}
-			if (endColumn - startColumn == 0) {
-				int offset= getOffset(line, startColumn);
-				element.setLength(offset - element.getOffset() - correction);
-			} else {
-				element.setLength(endColumn - startColumn - correction);
-			}
-		} catch (BadLocationException e) {
-			//ignore as the parser may be out of sync with the document during reconciliation
-		}
-	}
-
-	private void handleError(Exception exception, int severity) {
-		AntElementNode node= null;
-		if (fStillOpenElements.isEmpty()) {
-			if (exception instanceof SAXParseException) {
-				node= createProblemElement((SAXParseException)exception);
-			}
-		} else {
-			node= (AntElementNode)fStillOpenElements.peek();
-		}
-		if (node == null) {
-			return;
-		}
-		markHierarchy(node, severity, exception.getMessage());
-		
-		if (exception instanceof SAXParseException) {
-			SAXParseException parseException= (SAXParseException)exception;
-			if (node.getOffset() == -1) { 
-				computeEndLocationForErrorNode(node, parseException.getLineNumber() - 1, parseException.getColumnNumber());
-			} else {
-				int lineNumber= parseException.getLineNumber();
-				int columnNumber= parseException.getColumnNumber();
-				if (columnNumber == -1) {
-					columnNumber= 1;
-				}
-				try {
-					AntElementNode childNode= node.getNode(getNonWhitespaceOffset(lineNumber, columnNumber) + 1);
-					if (childNode != null && childNode != node) {
-						node= childNode;
-						node.setProblemSeverity(severity);
-						node.setProblemMessage(exception.getMessage());
-					} else {
-						node= createProblemElement(parseException);
-					}
-				} catch (BadLocationException be) {
-					node= createProblemElement(parseException);
-				}
-			}
-		}
-		
-		notifyProblemRequestor(exception, node, severity);
-		
-		if (node != null) {
-			while (node.getParentNode() != null) {
-				AntElementNode parentNode= node.getParentNode();
-				if (parentNode.getLength() == -1) {
-					parentNode.setLength(node.getOffset() - parentNode.getOffset() + node.getLength());
-				}
-				node= parentNode;
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#fatalError(java.lang.Exception)
-	 */
-	public void fatalError(Exception exception) {
-		handleError(exception, AntModelProblem.SEVERITY_FATAL_ERROR);
-	}
-	
-	public AntElementNode getOpenElement() {
-		if (fStillOpenElements.isEmpty()) {
-			return null;
-		}
-		return (AntElementNode)fStillOpenElements.peek();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#getEntityName(java.lang.String)
-	 */
-	public String getEntityName(String path) {
-		if (fEntityNameToPath != null) {
-			Iterator itr= fEntityNameToPath.keySet().iterator();
-			String entityPath;
-			String name;
-			while (itr.hasNext()) {
-				name= (String) itr.next();
-				entityPath= (String) fEntityNameToPath.get(name);
-				if (entityPath.equals(path)) {
-					return name;
-				}
-			}
-		} 
-		return null;
-	}
-
-	private ClassLoader getClassLoader() {
-	    if (fLocalClassLoader != null) {
-	        return fLocalClassLoader;
-	    }
-		if (fgClassLoader == null) {
-			fgClassLoader= AntCorePlugin.getPlugin().getNewClassLoader(true);
-		}
-		return fgClassLoader;
-	}
-	
-	public String getTargetDescription(String targetName) {
-		AntTargetNode target= getTargetNode(targetName);
-		if (target != null) {
-			return target.getTarget().getDescription();
-		}
-		return null;
-	}
-	
-	public AntTargetNode getTargetNode(String targetName ) {
-		AntProjectNode projectNode= getProjectNode();
-		if (projectNode == null) {
-			return null;
-		}
-		if (projectNode.hasChildren()) {
-			List possibleTargets= projectNode.getChildNodes();
-			Iterator iter= possibleTargets.iterator();
-			while (iter.hasNext()) {
-				AntElementNode node = (AntElementNode) iter.next();
-				if (node instanceof AntTargetNode) {
-					AntTargetNode targetNode = (AntTargetNode) node;
-					if (targetName.equalsIgnoreCase(targetNode.getTarget().getName())) {
-						return targetNode;
-					}
-				}
-			}
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#getProjectNode(boolean)
-	 */
-	public AntProjectNode getProjectNode(boolean doReconcile) {
-		if (doReconcile) {
-			synchronized (getLockObject()) { //ensure to wait for any current synchronization
-				reconcile();
-			}
-		}
-		return fProjectNode;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#getProjectNode()
-	 */
-	public AntProjectNode getProjectNode() {
-		return getProjectNode(true);
-	}
-	
-	public AntElementNode getNode(int offset, boolean waitForReconcile) {
-		if (getProjectNode(waitForReconcile) != null) {
-			return getProjectNode(waitForReconcile).getNode(offset);
-		}
-		return null;
-	}
-	
-	/**
-     * Removes any type definitions that no longer exist in the buildfile
-     */
-	private void reconcileTaskAndTypes() {
-		if (fCurrentNodeIdentifiers == null || fDefinerNodeIdentifierToDefinedTasks == null) {
-			return;
-		}
-        Iterator iter= fDefinerNodeIdentifierToDefinedTasks.keySet().iterator();
-		while (iter.hasNext()) {
-			String key = (String) iter.next();
-			if (fCurrentNodeIdentifiers.get(key) == null) {
-				ComponentHelper helper= ComponentHelper.getComponentHelper(fProjectNode.getProject());
-                List tasks= (List) fDefinerNodeIdentifierToDefinedTasks.get(key);
-                Iterator iterator= tasks.iterator();
-                while (iterator.hasNext()) {
-                    String taskName = (String) iterator.next();
-                    helper.getAntTypeTable().remove(taskName);    
-                }
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.IAntModel#addComment(int, int, int)
-	 */
-	public void addComment(int lineNumber, int columnNumber, int length) {
-		AntCommentNode commentNode= new AntCommentNode();
-		int offset= -1;
-		try {
-			offset= computeOffset(lineNumber, columnNumber, "-->"); //$NON-NLS-1$
-		} catch (BadLocationException e) {
-			AntUIPlugin.log(e);
-		}
-		commentNode.setOffset(offset - length);
-		commentNode.setLength(length);
-		fNonStructuralNodes.add(commentNode);
-	}
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.IAntModel#needsTaskResolution()
-     */
-    public boolean canGetTaskInfo() {
-        return fHasTaskInfo;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.IAntModel#needsLexicalResolution()
-     */
-    public boolean canGetLexicalInfo() {
-        return fHasLexicalInfo;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.IAntModel#setClassLoader(java.net.URLClassLoader)
-     */
-    public void setClassLoader(URLClassLoader loader) {
-        AntDefiningTaskNode.setJavaClassPath(loader.getURLs());
-    	fLocalClassLoader= loader;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.IAntModel#needsPositionResolution()
-     */
-    public boolean canGetPositionInfo() {
-        return fHasPositionInfo;
-    }
-
-    public String getPath(String text, int offset) {
-		if (fEntityNameToPath != null) {
-			String path= (String)fEntityNameToPath.get(text);
-			if (path != null) {
-				return path;
-			}
-		} 
-		AntElementNode node= getNode(offset, true);
-		if (node != null) {
-			return node.getReferencedElement(offset);
-		}
-		return null;
-	}
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.IAntModel#getText(int, int)
-     */
-    public String getText(int offset, int length) {
-		try {
-			return fDocument.get(offset, length);
-		} catch (BadLocationException e) {
-		}
-		return null;
-	}
-
-    private AntElementNode findPropertyNode(String text, List children) {
-    	Iterator iter= children.iterator();
-    	while (iter.hasNext()) {
-    		AntElementNode element = (AntElementNode) iter.next();
-    		if (element instanceof AntPropertyNode) {
-    			if (((AntPropertyNode)element).getProperty(text) != null){
-    				return element;
-    			}
-    		} else if (element.hasChildren()) {
-    			AntElementNode found= findPropertyNode(text, element.getChildNodes());
-    			if (found != null) {
-    				return found;
-    			}
-    		}
-    	}
-    	return null;
-    }
-
-    public AntElementNode getPropertyNode(String text) {
-    	AntProjectNode node= getProjectNode();
-    	if (node == null || !node.hasChildren()) {
-    		return null;
-    	}
-    	
-    	return findPropertyNode(text, node.getChildNodes());
-    }
-
-    public List getNonStructuralNodes() {
-    	return fNonStructuralNodes;
-    }
-
-    public void updateForInitialReconcile() {
-    	fMarkerUpdater.updateMarkers();
-    }
-
-    public void updateMarkers() {
-    	reconcile();
-    	fMarkerUpdater.updateMarkers();
-    }
-
-    public AntElementNode getReferenceNode(String text) {
-    	Object reference= getReferenceObject(text);
-    	if (reference == null) {
-    		return null;
-    	}
-    	
-    	Collection nodes= fTaskToNode.keySet();
-    	Iterator iter= nodes.iterator();
-    	while (iter.hasNext()) {
-    		Object original = iter.next();
-    		Object object= original;
-    		if (object instanceof UnknownElement) {
-    			UnknownElement element= (UnknownElement) object;
-    			object= element.getRealThing();
-    			if (object == null) {
-    				continue;
-    			}
-    		} 
-    		if (object == reference) {
-    			return (AntElementNode)fTaskToNode.get(original);
-    		}
-    	}
-    	return null;
-    }
-
-    public Object getReferenceObject(String refId) {
-    	AntProjectNode projectNode= getProjectNode();
-    	if (projectNode == null) {
-    		return null;
-    	}
-    	try {
-    		Project project= projectNode.getProject();
-    		Object ref= project.getReference(refId);
-    		return ref;
-    		
-    	} catch (BuildException be) {
-    		handleBuildException(be, null);
-    	}
-    	return null;
-    }
-
-    public String getPropertyValue(String propertyName) {
-    	AntProjectNode projectNode= getProjectNode();
-    	if (projectNode == null) {
-    		return null;
-    	}
-    	return projectNode.getProject().getProperty(propertyName);
-    }
-
-    /**
-     * Only called if the AntModel is associated with an AntEditor
-     */
-    public void install() {
-    	fListener= new IDocumentListener() {
-    		public void documentAboutToBeChanged(DocumentEvent event) {
-    			synchronized (fDirtyLock) {
-    				fIsDirty= true;
-    			}
-    		}
-    		public void documentChanged(DocumentEvent event) {}
-    	};
-    	fDocument.addDocumentListener(fListener);
-    }
-
-    private void reconcileForPropertyChange(boolean classpathChanged) {
-    	if (classpathChanged) {
-    		fProjectNode= null; //need to reset tasks, types and properties
-    		fgClassLoader= null;
-    		AntDefiningTaskNode.setJavaClassPath();
-    	}
-    	fIsDirty= true;
-    	reconcile();
-    	AntModelCore.getDefault().notifyAntModelListeners(new AntModelChangeEvent(this, true));
-    	fMarkerUpdater.updateMarkers();
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.IAntModel#setProperties(java.util.Map)
-     */
-    public void setProperties(Map properties) {
-       fProperties= properties;
-    }
-
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.IAntModel#setPropertyFiles(java.util.List)
-     */
-    public void setPropertyFiles(String[] propertyFiles) {
-        if (propertyFiles != null) {
-            fPropertyFiles= Arrays.asList(propertyFiles);
-        }
-    }
-    
-    public void setDefiningTaskNodeText(AntDefiningTaskNode node) {
-        if (fDefinersToText == null) {
-            fDefinersToText= new HashMap();
-            fCurrentNodeIdentifiers= new HashMap();
-        }
-        
-        Object key= node.getIdentifier();
-        String nodeText= null;
-        if (fPreviousDefinersToText != null) {
-            nodeText= (String) fPreviousDefinersToText.get(key);
-        }
-        String newNodeText= getText(node.getOffset(), node.getLength());
-        if (nodeText != null) {
-            if (nodeText.equals(newNodeText)) {
-                node.setNeedsToBeConfigured(false);
-            }
-        }
-        if (newNodeText != null) {
-            fDefinersToText.put(key, newNodeText);
-        }
-        fCurrentNodeIdentifiers.put(key, key);
-    }
-    
-    protected void removeDefiningTaskNodeInfo(AntDefiningTaskNode node) {
-        Object identifier= node.getIdentifier();
-        if (identifier != null && fCurrentNodeIdentifiers != null) {
-            fCurrentNodeIdentifiers.remove(identifier);
-            fDefinersToText.remove(identifier);
-        }
-    }
-    
-    protected void addDefinedTasks(List newTasks, AntDefiningTaskNode node) {
-        if (fTaskNameToDefiningNode == null) {
-            fTaskNameToDefiningNode= new HashMap();
-            fDefinerNodeIdentifierToDefinedTasks= new HashMap();
-        }
-
-        Object identifier= node.getIdentifier();
-        if (identifier == null) {
-            return;
-        }
-        if (newTasks.isEmpty() && fCurrentNodeIdentifiers != null) {
-            fCurrentNodeIdentifiers.remove(identifier);
-        }
-        Iterator iter= newTasks.iterator();
-        while (iter.hasNext()) {
-            String name = (String) iter.next();
-            fTaskNameToDefiningNode.put(name, node);
-            fDefinerNodeIdentifierToDefinedTasks.put(identifier, newTasks);
-        }
-    }
-    
-    public AntDefiningTaskNode getDefininingTaskNode(String nodeName) {
-        if (fTaskNameToDefiningNode != null) {
-            return (AntDefiningTaskNode)fTaskNameToDefiningNode.get(nodeName);
-        }
-        return null;
-    }
-    
-    public AntTaskNode getMacroDefAttributeNode(String macroDefAttributeName) {
-        if (fTaskNameToDefiningNode == null) {
-            return null;
-        }
-        Iterator iter = fTaskNameToDefiningNode.values().iterator();
-        while(iter.hasNext()) {
-            AntDefiningTaskNode definingNode = (AntDefiningTaskNode) iter.next();
-            List attributes= definingNode.getChildNodes();
-            if (attributes != null) {
-                Iterator attributeItr= attributes.iterator();
-                while (attributeItr.hasNext()) {
-                    AntTaskNode attributeNode= (AntTaskNode) attributeItr.next();
-                    if (macroDefAttributeName.equals(attributeNode.getLabel())) {
-                        return attributeNode;
-                    }
-                }
-            }
-        }
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelChangeEvent.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelChangeEvent.java
deleted file mode 100644
index 6cb240b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelChangeEvent.java
+++ /dev/null
@@ -1,40 +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.ant.internal.ui.model;
-
-
-public class AntModelChangeEvent {
-	
-	private IAntModel fModel;
-	private boolean fPreferenceChange= false;
-	
-	public AntModelChangeEvent(IAntModel model) {
-		fModel= model;
-	}
-	
-	public AntModelChangeEvent(IAntModel model, boolean preferenceChange) {
-		fModel= model;
-		fPreferenceChange= preferenceChange;
-	}
-	
-	public IAntModel getModel() {
-		return fModel;
-	}
-	
-	/**
-	 * Returns whether the Ant model has changed as a result of a preference change.
-	 * @return whether the model has changed from a preference change.
-	 */
-	public boolean isPreferenceChange() {
-		return fPreferenceChange;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelContentProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelContentProvider.java
deleted file mode 100644
index 5e6f714..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelContentProvider.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.internal.ui.model;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-
-public class AntModelContentProvider implements ITreeContentProvider {
-
-	protected static final Object[] EMPTY_ARRAY= new Object[0];
-	
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-    
-	/**
-	 * do nothing
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parentNode) {
-		if (parentNode instanceof AntElementNode) {
-			AntElementNode parentElement = (AntElementNode)parentNode;
-			if (parentElement.hasChildren()) {
-				List children= parentElement.getChildNodes();
-				return children.toArray();
-			} 
-		} else if (parentNode instanceof IAntModel) {
-			return new Object[] {((IAntModel)parentNode).getProjectNode()};
-		}
-		return EMPTY_ARRAY;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object aNode) {
-		AntElementNode tempElement = (AntElementNode)aNode;
-		return tempElement.getParentNode();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object aNode) {
-		return ((AntElementNode)aNode).hasChildren();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof IAntModel ) {
-		    AntProjectNode projectNode= ((IAntModel) inputElement).getProjectNode();
-		    if (projectNode == null) {
-				return new AntElementNode[0];
-			} 
-			
-			return new Object[] {projectNode}; 
-		}
-		
-		if (inputElement instanceof Object[]) {
-			return (Object[])inputElement;
-		}
-		return EMPTY_ARRAY;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelCore.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelCore.java
deleted file mode 100644
index 32006d7..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelCore.java
+++ /dev/null
@@ -1,54 +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.ant.internal.ui.model;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-public class AntModelCore {
-	
-	private static AntModelCore inst;
-	
-	public static AntModelCore getDefault() {
-		if (inst == null) {
-			inst= new AntModelCore();
-		}
-			
-		return inst;
-	}
-	
-	private List fModelChangeListeners= new ArrayList();
-	
-	private AntModelCore() { }
-
-	public void addAntModelListener(IAntModelListener listener) {
-		synchronized (fModelChangeListeners) {
-			fModelChangeListeners.add(listener);
-		}
-	}
-	
-	public void removeAntModelListener(IAntModelListener listener) {
-		synchronized (fModelChangeListeners) {
-			fModelChangeListeners.remove(listener);
-		}
-	}
-	
-	public void notifyAntModelListeners(AntModelChangeEvent event) {
-		Iterator i;
-		synchronized (fModelChangeListeners) {
-			i= new ArrayList(fModelChangeListeners).iterator();
-		}
-		while (i.hasNext()) {
-			((IAntModelListener)i.next()).antModelChanged(event);
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelLabelProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelLabelProvider.java
deleted file mode 100644
index f2a47c9..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelLabelProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-
-
-public class AntModelLabelProvider extends LabelProvider implements IColorProvider {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(Object)
-	 */
-	public Image getImage(Object anElement) {
-		AntElementNode node = (AntElementNode)anElement;
-		return node.getImage();
-	}
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(Object)
-	 */
-	public String getText(Object node) {
-		AntElementNode element= (AntElementNode) node;
-		return element.getLabel();
-	}
-
-	public Color getForeground(Object node) {
-		if (node instanceof AntTargetNode && ((AntTargetNode)node).isDefaultTarget() ) {
-			return Display.getDefault().getSystemColor(SWT.COLOR_BLUE);
-		}
-		
-		return null;
-	}
-
-	public Color getBackground(Object element) {
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelMessages.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelMessages.java
deleted file mode 100644
index 43df4e9..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelMessages.java
+++ /dev/null
@@ -1,34 +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.ant.internal.ui.model;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntModelMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.model.AntModelMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE =
-		ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntModelMessages() {
-	}
-
-	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/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelMessages.properties b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelMessages.properties
deleted file mode 100644
index 3432b93..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelMessages.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the 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
-###############################################################################
-
-AntTargetNode.2=\ [default]
-AntImportNode.0=Security exception during import
-AntTaskNode.0=Security problem configuring task
-AntElementNode.9=\ [from {0}]
-
-AntModel.1=\ line: 
-AntModel.43=Default target {0} does not exist in this project
-AntModel.44=Target {0} does not exist in this project
-AntProjectNodeProxy.0=Buildfile not found
-AntProjectNodeProxy.1=No targets could be determined
-AntDefiningTaskNode.0=Task could not be defined within the Ant Editor context
-AntDefiningTaskNode.1=Security exception attempting to define type
-AntProjectNode.0=<Unable to parse as an Ant buildfile>
-AntPropertyNode.0=Property could not be set within the Ant Editor context
-AntPropertyNode.1=Security exception attempting to set property
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProblem.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProblem.java
deleted file mode 100644
index 92b63d8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProblem.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.Region;
-
-public class AntModelProblem extends Region implements IProblem {
-	
-	public static final int NO_PROBLEM= -1;
-	public static final int SEVERITY_WARNING= 0;
-	public static final int SEVERITY_ERROR= 1;
-	public static final int SEVERITY_FATAL_ERROR= 2;
-	
-	private String fMessage;
-	private String fEscapedMessage;
-	private int fSeverity;
-	private int fAdjustedLength= -1;
-	private int fLineNumber= -1;
-	
-	public AntModelProblem(String message, int severity, int offset, int length, int lineNumber) {
-		super(offset, length);
-		fMessage= message;
-		fEscapedMessage= getEscaped(message);
-		fSeverity= severity;
-		fLineNumber= lineNumber;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblem#getMessage()
-	 */
-	public String getMessage() {
-		return fEscapedMessage;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblem#isError()
-	 */
-	public boolean isError() {
-		return fSeverity == SEVERITY_ERROR || fSeverity == SEVERITY_FATAL_ERROR;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblem#isWarning()
-	 */
-	public boolean isWarning() {
-		return fSeverity == SEVERITY_WARNING;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IRegion#getLength()
-	 */
-	public int getLength() {
-		if (fAdjustedLength != -1) {
-			return fAdjustedLength;
-		}
-		return super.getLength();
-	}
-	
-	/**
-	 * Sets the length for this problem.
-	 */
-	public void setLength(int adjustedLength) {
-		fAdjustedLength= adjustedLength;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblem#getLineNumber()
-	 */
-	public int getLineNumber() {
-		return fLineNumber;
-	}
-	
-	private void appendEscapedChar(StringBuffer buffer, char c) {
-		String replacement= getReplacement(c);
-		if (replacement != null) {
-			buffer.append(replacement);
-		} else {
-			buffer.append(c);
-		}
-	}
-	
-	private String getEscaped(String s) {
-		StringBuffer result= new StringBuffer(s.length() + 10);
-		for (int i= 0; i < s.length(); ++i) {
-			appendEscapedChar(result, s.charAt(i));
-		}
-		return result.toString();
-	}
-	
-	private String getReplacement(char c) {
-		// Encode special characters into the equivalent character references.
-		// Ensures that error messages that include special characters do not get
-		//incorrectly represented as HTML in the text hover (bug 56258)
-		switch (c) {
-			case '<' :
-				return "&lt;"; //$NON-NLS-1$
-			case '>' :
-				return "&gt;"; //$NON-NLS-1$
-			case '"' :
-				return "&quot;"; //$NON-NLS-1$
-			case '&' :
-				return "&amp;"; //$NON-NLS-1$
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.outline.IProblem#getUnmodifiedMessage()
-	 */
-	public String getUnmodifiedMessage() {
-		return fMessage;
-	}
-	
-	public static int getSeverity(String preferenceKey) {
-		IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();
-		String severityLevel= store.getString(preferenceKey);
-		if (severityLevel.length() == 0 || severityLevel.equals(AntEditorPreferenceConstants.BUILDFILE_ERROR)) {
-			return SEVERITY_ERROR;
-		} else if (severityLevel.equals(AntEditorPreferenceConstants.BUILDFILE_WARNING)) {
-			return SEVERITY_WARNING;
-		} else {
-			return NO_PROBLEM;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object o) {
-		boolean equal= super.equals(o);
-		if (equal) {
-			return ((AntModelProblem)o).getUnmodifiedMessage().equals(getUnmodifiedMessage());
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProject.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProject.java
deleted file mode 100644
index 3f01260..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntModelProject.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * Portions Copyright  2000-2004 The Apache Software Foundation
- * All rights reserved. This program and the accompanying materials are made 
- * available under the terms of the Apache Software License v2.0 which 
- * accompanies this distribution and is available at 
- * http://www.apache.org/licenses/LICENSE-2.0.
- * 
- * Contributors:
- *     IBM Corporation - derived implementation
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.model;
-
-import java.io.File;
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.Project;
-
-/**
- * Derived from the original Ant Project class
- * This class allows property values to be written multiple times.
- * This facilitates incremental parsing of the Ant build file
- * It also attempts to ensure that we clean up after ourselves and allows
- * more manipulation of properties resulting from incremental parsing
- */
-public class AntModelProject extends Project {
-	
-	private Hashtable fBaseProperties;
-	private Hashtable fCurrentProperties= new Hashtable();
-	private AntPropertyNode fCurrentConfiguringPropertyNode;
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Project#setNewProperty(java.lang.String, java.lang.String)
-	 */
-	public void setNewProperty(String name, String value) {
-		
-		if (fCurrentProperties.get(name) != null) {
-			return;
-		} 
-		//allows property values to be over-written for this parse session
-		//there is currently no way to remove properties from the Apache Ant project
-		//the project resets it properties for each parse...see reset()
-		fCurrentProperties.put(name, value);
-		if (fCurrentConfiguringPropertyNode != null) {
-			fCurrentConfiguringPropertyNode.addProperty(name, value);
-		}
-		super.setProperty(name, value);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Project#fireBuildFinished(java.lang.Throwable)
-	 */
-	public void fireBuildFinished(Throwable exception) {
-		super.fireBuildFinished(exception);
-		Enumeration e= getBuildListeners().elements();
-		while (e.hasMoreElements()) {
-			BuildListener listener = (BuildListener) e.nextElement();
-			removeBuildListener(listener);
-		}
-	}
-	
-	public void reset() {
-		getTargets().clear();
-		setDefault(null);
-		setDescription(null);
-		setName(""); //$NON-NLS-1$
-		//reset the properties to the initial set
-		fCurrentProperties= new Hashtable(fBaseProperties);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Project#getProperty(java.lang.String)
-	 */
-	public String getProperty(String name) {
-		//override as we cannot remove properties from the Apache Ant project
-		String result= (String)fCurrentProperties.get(name);
-		if (result == null) {
-			result= getUserProperty(name);
-		}
-		return result;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Project#getProperties()
-	 */
-	public Hashtable getProperties() {
-		//override as we cannot remove properties from the Apache Ant project
-		Hashtable allProps= new Hashtable(fCurrentProperties);
-		allProps.putAll(getUserProperties());
-		allProps.put("basedir", getBaseDir().getPath()); //$NON-NLS-1$
-		return allProps;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Project#init()
-	 */
-	public void init() throws BuildException {
-		super.init();
-		fBaseProperties= super.getProperties();
-		fCurrentProperties= super.getProperties();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.Project#setBaseDir(java.io.File)
-	 */
-	public void setBaseDir(File baseDir) throws BuildException {
-		super.setBaseDir(baseDir);
-		fCurrentProperties.put("basedir", getBaseDir().getPath()); //$NON-NLS-1$
-	}
-
-	/**
-	 * @param node the property node that is currently being configured
-	 */
-	public void setCurrentConfiguringProperty(AntPropertyNode node) {
-		fCurrentConfiguringPropertyNode= node;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntProjectNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntProjectNode.java
deleted file mode 100644
index b08c647..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntProjectNode.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import org.apache.tools.ant.Project;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-
-public class AntProjectNode extends AntElementNode {
-
-	protected AntModelProject fProject;
-	protected IAntModel fModel;
-	protected String fLabel;
-	
-	public AntProjectNode(AntModelProject project, IAntModel antModel) {
-		super("project"); //$NON-NLS-1$
-		fProject= project;
-		fModel= antModel;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getLabel()
-	 */
-	public String getLabel() {
-	    if (fLabel == null) {
-	        if (fProject != null) {
-	            fLabel= fProject.getName();
-	        } else {
-	            fLabel= AntModelMessages.getString("AntProjectNode.0"); //$NON-NLS-1$
-	        }
-	        if (fLabel == null || fLabel.length() == 0) {
-	            fLabel= "project"; //$NON-NLS-1$
-	        }
-	    }
-		return fLabel;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.model.AntElementNode#getBaseImageDescriptor()
-	 */
-	protected ImageDescriptor getBaseImageDescriptor() {
-		return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_PROJECT);
-	}
-
-	/**
-	 * Returns the Ant project associated with this project node.
-	 * @return the Ant project
-	 */
-	public Project getProject() {
-		return fProject;
-	}
-	
-	protected IAntModel getAntModel() {
-		return fModel;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.model.AntElementNode#reset()
-	 */
-	public void reset() {
-		super.reset();
-		fProject.reset();
-		setProblemSeverity(AntModelProblem.NO_PROBLEM);
-		setProblemMessage(null);
-        fOffset= -1;
-        fLength= -1;
-	}
-	
-	public String getDescription() {
-		return fProject.getDescription();
-	}
-
-	public String getBuildFileName() {
-		LocationProvider locationProvider= getAntModel().getLocationProvider();
-		if (locationProvider != null) {
-		    IFile file= locationProvider.getFile();
-		    if (file != null) {
-		        return file.getFullPath().toOSString();
-		    }
-		}
-		return null;
-	}
-	
-	public String getDefaultTargetName() {
-		return fProject.getDefaultTarget();
-	}
-	
-	/**
-	 * @param node the property node that is currently being configured
-	 */
-	public void setCurrentConfiguringProperty(AntPropertyNode node) {
-		AntModelProject project= (AntModelProject) getProject();
-		project.setCurrentConfiguringProperty(node);
-	}
-	
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.AntElementNode#getProjectNode()
-     */
-    public AntProjectNode getProjectNode() {
-        return this;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntProjectNodeProxy.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntProjectNodeProxy.java
deleted file mode 100644
index 79c2ef1..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntProjectNodeProxy.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-
-
-public class AntProjectNodeProxy extends AntProjectNode {
-	
-	private String fBuildFileName;
-	private String fDefaultTargetName;
-	private boolean fParsed= false;
-
-	/**
-	 * Creates a new project node with the given name and the given build file
-	 * name.
-	 * 
-	 * @param name the project's name or <code>null</code> if the project's
-	 * name is not known. If this value is <code>null</code>, the file will be
-	 * parsed the first time a value is requested that requires it.
-	 * @param buildFileName
-	 */
-	public AntProjectNodeProxy(String name, String buildFileName) {
-		super(null, null);
-		fName= name;
-		fBuildFileName= buildFileName;
-	}
-	
-	/**
-	 * Creates a new project node on the given build file.
-	 */
-	public AntProjectNodeProxy(String buildFileName) {
-		this(null, buildFileName);
-	}
-	
-	public void parseBuildFile(boolean force) {
-		if (fParsed && !force) {
-			return;
-		}
-		fChildNodes= null;
-		fParsed= true;
-		AntTargetNode[] nodes = null;
-		IPath buildFilePath= AntUtil.getFile(getBuildFileName()).getLocation();
-		if (buildFilePath == null) {
-			setProblemSeverity(AntModelProblem.SEVERITY_ERROR);
-			setProblemMessage(AntModelMessages.getString("AntProjectNodeProxy.0")); //$NON-NLS-1$
-			return;
-		}
-		nodes = AntUtil.getTargets(buildFilePath.toString());
-		
-		if (nodes == null || nodes.length < 1) {
-			setProblemSeverity(AntModelProblem.SEVERITY_ERROR);
-			setProblemMessage(AntModelMessages.getString("AntProjectNodeProxy.1")); //$NON-NLS-1$
-			return;
-		}
-		
-		AntProjectNode projectNode = nodes[0].getProjectNode();
-		for (int i = 0; i < nodes.length; i++) {
-            addChildNode(nodes[i]);
-        }
-		
-		fModel= projectNode.getAntModel();
-		fProject= (AntModelProject)projectNode.getProject();
-		fLabel= null;
-		fName= null;
-	}
-	
-	public void parseBuildFile() {
-		parseBuildFile(false);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntProjectNode#getDescription()
-	 */
-	public String getDescription() {
-		if (fProject != null) {
-			return super.getDescription();
-		}
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getLabel()
-	 */
-	public String getLabel() {
-	    if (fName != null) {
-	        return fName;
-	    }
-		if (fProject == null) {
-			parseBuildFile();
-		}
-		StringBuffer name= new StringBuffer(super.getLabel());
-		AntProjectNode realNode= getRealNode();
-		if (realNode != null && realNode.getProblemMessage() != null) {
-			name.append(" <"); //$NON-NLS-1$
-			name.append(getRealNode().getProblemMessage());
-			name.append('>');
-		}
-		fName= name.toString();
-		return fName;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getChildNodes()
-	 */
-	public List getChildNodes() {
-		if (fProject == null) {
-			parseBuildFile();
-		}
-		List children= super.getChildNodes();
-		if (children == null) {
-		    return Collections.EMPTY_LIST;
-		}
-		return children;
-	}
-	
-	public String getBuildFileName() {
-		return fBuildFileName;
-	}
-
-	public void setDefaultTargetName(String defaultTarget) {
-		fDefaultTargetName= defaultTarget;
-	}
-	
-	public String getDefaultTargetName() {
-		if (fProject == null) {
-			return fDefaultTargetName;
-		}
-		return super.getDefaultTargetName();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#hasChildren()
-	 */
-	public boolean hasChildren() {
-		return true;
-	}
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.AntElementNode#dispose()
-     */
-    public void dispose() {
-        if (fProject != null) {
-            super.dispose();
-        }
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.AntElementNode#isErrorNode()
-     */
-    public boolean isErrorNode() {
-        if (fProject == null) {
-            return super.isErrorNode();
-        } 
-        return getRealNode().isErrorNode();
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.AntElementNode#getProblemMessage()
-     */
-    public String getProblemMessage() {
-		if (isErrorNode()) {
-			return getBuildFileName();
-		}
-    	return null;
-    }
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.model.AntElementNode#isWarningNode()
-     */
-    public boolean isWarningNode() {
-        if (fProject == null) {
-            return super.isWarningNode();
-        } 
-        return getRealNode().isWarningNode();
-    }
-    
-	private AntProjectNode getRealNode() {
-		if (fModel != null) {
-			return fModel.getProjectNode();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getAntModel()
-	 */
-	protected IAntModel getAntModel() {
-		if (fProject == null) {
-			parseBuildFile();
-		}
-		return super.getAntModel();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getLength()
-	 */
-	public int getLength() {
-		if (fProject == null) {
-			parseBuildFile();
-		}
-		AntProjectNode realNode= getRealNode();
-		if (realNode == null) {
-			return -1;
-		}
-		return realNode.getLength();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getOffset()
-	 */
-	public int getOffset() {
-		if (fProject == null) {
-			parseBuildFile();
-		}
-		AntProjectNode realNode= getRealNode();
-		if (realNode == null) {
-			return -1;
-		}
-		return realNode.getOffset();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getSelectionLength()
-	 */
-	public int getSelectionLength() {
-		if (fProject == null) {
-			parseBuildFile();
-		}
-		AntProjectNode realNode= getRealNode();
-		if (realNode == null) {
-			return -1;
-		}
-		return realNode.getSelectionLength();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getBuildFileResource()
-	 */
-	public IFile getBuildFileResource() {
-		if (fProject == null) {
-			if (fBuildFileName != null) {
-				return AntUtil.getFile(fBuildFileName);
-			}
-		}
-		return super.getBuildFileResource();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-        if (fName != null) {
-            return fName;
-        }
-		if (fProject == null) {
-			if (fBuildFileName != null) {
-				return fBuildFileName;
-			}
-		}
-		return super.toString();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntPropertyNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntPropertyNode.java
deleted file mode 100644
index 300a798..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntPropertyNode.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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.ant.internal.ui.model;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.ant.core.AntSecurityException;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.editor.AntEditorCompletionProcessor;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.xml.sax.Attributes;
-
-public class AntPropertyNode extends AntTaskNode {
-	
-	private String fValue= null;
-	private String fReferencedName;
-	
-	/*
-	 * The set of properties defined by this node
-	 * name-> value mapping
-	 */
-	private Map fProperties= null;
-	
-	public AntPropertyNode(Task task, Attributes attributes) {
-		super(task);
-		 String label = attributes.getValue(IAntModelConstants.ATTR_NAME);
-         if(label == null) {
-			label = attributes.getValue(IAntModelConstants.ATTR_FILE);
-         	if(label != null) {
-         		fReferencedName= label;
-         		label=  "file="+label; //$NON-NLS-1$
-         	} else {	
-         		label =  attributes.getValue(IAntModelConstants.ATTR_RESOURCE);
-         		if (label != null) {
-         			fReferencedName= label;
-         			label= "resource="+label; //$NON-NLS-1$
-         		} else {
-         			label = attributes.getValue(IAntModelConstants.ATTR_ENVIRONMENT);
-         			if(label != null) {
-         				label= "environment=" + label; //$NON-NLS-1$
-         			}
-         		}
-         	}
-         } else {
-         	fValue= attributes.getValue(IAntModelConstants.ATTR_VALUE);
-         } 
-         setBaseLabel(label);
-	}
-	
-	public String getValue() {
-		return fValue;
-	}
-	
-	public String getProperty(String propertyName) {
-		if (fProperties != null) {
-			return (String)fProperties.get(propertyName);
-		} 
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.model.AntElementNode#getBaseImageDescriptor()
-	 */
-	protected ImageDescriptor getBaseImageDescriptor() {
-		return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_PROPERTY);
-	}
-	
-	/**
-	 * Sets the properties in the project.
-	 */
-	public boolean configure(boolean validateFully) {
-		if (fConfigured) {
-			return false;
-		}
-		try {
-			getProjectNode().setCurrentConfiguringProperty(this);
-			getTask().maybeConfigure();
-			getTask().execute();
-			fConfigured= true;
-		} catch (BuildException be) {
-			handleBuildException(be, AntEditorPreferenceConstants.PROBLEM_PROPERTIES);
-		} catch (LinkageError le) { 
-            //A classpath problem with the property task. Known cause: 
-            //<property name= "hey" refId= "classFileSetId"/> where
-            //classFileSetId refs a ClassFileSet which is an optional type that requires
-            //BCEL JAR. Currently it is not possible to set these types of properties within the Ant Editor.
-            //see bug 71888
-            handleBuildException(new BuildException(AntModelMessages.getString("AntPropertyNode.0")), AntEditorPreferenceConstants.PROBLEM_PROPERTIES); //$NON-NLS-1$
-        } catch (AntSecurityException se) {
-			//either a system exit or setting of system property was attempted
-            handleBuildException(new BuildException(AntModelMessages.getString("AntPropertyNode.1")), AntEditorPreferenceConstants.PROBLEM_SECURITY); //$NON-NLS-1$
-        } finally {
-			getProjectNode().setCurrentConfiguringProperty(null);
-		}
-		return false;
-	}
-
-	/**
-	 * Adds this property name and value as being created by this property node declaration.
-	 * @param propertyName the name of the property
-	 * @param value the value of the property
-	 */
-	public void addProperty(String propertyName, String value) {
-		if (fProperties == null) {
-			fProperties= new HashMap(1);
-		}
-		fProperties.put(propertyName, value);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getReferencedElement(int)
-	 */
-	public String getReferencedElement(int offset) {
-		if (fReferencedName != null) {
-			String textToSearch= getAntModel().getText(getOffset(), offset - getOffset());
-			if (textToSearch != null && textToSearch.length() != 0) {
-				String attributeString = AntEditorCompletionProcessor.getAttributeStringFromDocumentStringToPrefix(textToSearch);
-				if ("file".equals(attributeString) || "resource".equals(attributeString)) {  //$NON-NLS-1$//$NON-NLS-2$
-					return fReferencedName;
-				}
-			}
-        }
-        return null;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTargetNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTargetNode.java
deleted file mode 100644
index 2f9e903..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTargetNode.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import java.util.Enumeration;
-import java.util.Map;
-
-import org.apache.tools.ant.Target;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-public class AntTargetNode extends AntElementNode {
-
-	private Target fTarget= null;
-	private String fLabel= null;
-	
-	public AntTargetNode(Target target) {
-		super("target"); //$NON-NLS-1$
-		fTarget= target;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#getLabel()
-	 */
-	public String getLabel() {
-	    if (fLabel == null) {
-	        StringBuffer displayName= new StringBuffer(getTargetName());
-	        if (isDefaultTarget()) {
-	            displayName.append(AntModelMessages.getString("AntTargetNode.2")); //$NON-NLS-1$
-	        }
-	        if (isExternal()) {
-	            appendEntityName(displayName);
-	        }
-		
-			fLabel= displayName.toString();
-	    }
-	    return fLabel;
-	}
-	
-	public Target getTarget() {
-		return fTarget;
-	}
-	
-	public boolean isDefaultTarget() {
-		String targetName= fTarget.getName();
-		if (targetName == null) {
-			return false;
-		}
-		return targetName.equals(fTarget.getProject().getDefaultTarget());
-	}
-	
-	/**
-	 * Returns whether this target is an internal target. Internal
-	 * targets are targets which has no description. The default target
-	 * is never considered internal.
-	 * @return whether the given target is an internal target
-	 */
-	public boolean isInternal() {
-		Target target= getTarget();
-		return target.getDescription() == null && !isDefaultTarget();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.model.AntElementNode#getBaseImageDescriptor()
-	 */
-	protected ImageDescriptor getBaseImageDescriptor() {
-		ImageDescriptor base= null;
-		if (isDefaultTarget()) {
-			base = AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_DEFAULT_TARGET);
-		} else if (getTarget().getDescription() == null) {
-			base = AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_TARGET_INTERNAL);
-		} else {
-			base = AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_TARGET);
-		}
-		return base;
-	}
-	/**
-	 * @param target The Target to set.
-	 */
-	public void setTarget(Target target) {
-		fTarget = target;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.editor.model.AntElementNode#reset()
-	 */
-	public void reset() {
-		super.reset();
-		 Map currentTargets = fTarget.getProject().getTargets();
-		 if (currentTargets.get(fTarget.getName()) != null) {
-		 	currentTargets.remove(fTarget.getName());
-		 }
-	}
-
-	/**
-	 * Returns the name of a missing dependency or <code>null</code> if all
-	 * dependencies exist in the project.
-	 */
-	public String checkDependencies() {
-		Enumeration dependencies= fTarget.getDependencies();
-		while (dependencies.hasMoreElements()) {
-			String dependency = (String) dependencies.nextElement();
-			 if (fTarget.getProject().getTargets().get(dependency) == null) {
-			 	return dependency;
-			 }
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.model.AntElementNode#collapseProjection()
-	 */
-	public boolean collapseProjection() {
-		IPreferenceStore store= AntUIPlugin.getDefault().getPreferenceStore();		
-		if (store.getBoolean(AntEditorPreferenceConstants.EDITOR_FOLDING_TARGETS)) {
-			return true;
-		}
-		return false;
-	}
-
-    public String getTargetName() {
-        String targetName= fTarget.getName();
-		if (targetName == null) {
-			targetName= "target"; //$NON-NLS-1$
-			setProblemSeverity(AntModelProblem.SEVERITY_ERROR);
-		}
-		return targetName;
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTaskNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTaskNode.java
deleted file mode 100644
index a713e1b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntTaskNode.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.eclipse.ant.core.AntSecurityException;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.preferences.AntEditorPreferenceConstants;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-
-public class AntTaskNode extends AntElementNode {
-
-	private Task fTask= null;
-	private String fBaseLabel= null;
-	protected String fLabel;
-	private String fId= null;
-	protected boolean fConfigured= false;
-	
-	public AntTaskNode(Task task) {
-		super(task.getTaskName());
-		fTask= task;
-	}	
-	
-	public AntTaskNode(Task task, String label) {
-		super(task.getTaskName());
-		fTask= task;
-		fBaseLabel= label;
-	}	
-	
-	public String getLabel() {
-	    if (fLabel == null) {
-			StringBuffer label= new StringBuffer();
-			if (fBaseLabel != null) {
-				label.append(fBaseLabel);
-			} else if (fId != null) {
-				label.append(fId);
-			} else {
-				label.append(fTask.getTaskName());
-			}
-			if (isExternal()) {
-				appendEntityName(label);
-			}
-			fLabel= label.toString();
-	    }
-	    return fLabel;
-	}
-	
-	public void setBaseLabel(String label) {
-		fBaseLabel= label;
-	}
-	
-	public Task getTask() {
-		return fTask;
-	}
-	
-	public void setTask(Task task) {
-		fTask= task;
-	}
-	
-	protected ImageDescriptor getBaseImageDescriptor() {
-		if (fId != null) {
-			return AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ANT_TYPE);
-		}
-		
-		return super.getBaseImageDescriptor();
-	}
-
-	/**
-	 * The reference id for this task
-	 * @param id The reference id for this task
-	 */
-	public void setId(String id) {
-		fId= id;
-	}
-	
-	/**
-	 * Returns the reference id for this task or <code>null</code>
-	 * if it has no reference id.
-	 * @return The reference id for this task
-	 */
-	public String getId() {
-		return fId;
-	}
-	
-	/**
-	 * Configures the associated task if required.
-	 * Allows subclasses to do specific configuration (such as executing the task) by
-	 * calling <code>nodeSpecificConfigure</code>
-	 * 
-	 * @return whether the configuration of this node could have impact on other nodes
-	 */
-	public boolean configure(boolean validateFully) {
-		if (!validateFully || (getParentNode() instanceof AntTaskNode)) {
-			return false;
-		}
-		if (fConfigured) {
-			return false;
-		}
-		int severity= AntModelProblem.getSeverity(AntEditorPreferenceConstants.PROBLEM_TASKS);
-		if (severity != AntModelProblem.NO_PROBLEM) {
-		    //only configure if the user cares about the problems
-			try {
-				getTask().maybeConfigure();
-				nodeSpecificConfigure();
-				fConfigured= true;
-				return true;
-			} catch (BuildException be) {
-				handleBuildException(be, AntEditorPreferenceConstants.PROBLEM_TASKS);
-			} catch (AntSecurityException se) {
-				//either a system exit or setting of system property was attempted
-				handleBuildException(new BuildException(AntModelMessages.getString("AntTaskNode.0")), AntEditorPreferenceConstants.PROBLEM_SECURITY); //$NON-NLS-1$
-			}
-		}
-		return false;
-	}
-
-	protected void nodeSpecificConfigure() {
-		//by default do nothing
-	}
-
-	protected void handleBuildException(BuildException be, String preferenceKey) {
-		int severity= AntModelProblem.getSeverity(preferenceKey);
-		if (severity != AntModelProblem.NO_PROBLEM) {
-			getAntModel().handleBuildException(be, this, severity);
-		}
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModel.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModel.java
deleted file mode 100644
index 642d6af..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModel.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.model;
-
-import java.io.File;
-import java.net.URLClassLoader;
-import java.util.Map;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.Task;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.text.BadLocationException;
-import org.xml.sax.Attributes;
-
-public interface IAntModel {
-
-    /**
-     * Returns the project node for this Ant model
-     * @return the project node for this Ant model
-     */
-    AntProjectNode getProjectNode();
-
-    /**
-     * Returns the name of the external entity defined by the specified path
-     * @param path the path to the entity
-     * @return the name or the entity or <code>null</code> if no entity could be resolved
-     */
-    String getEntityName(String path);
-
-    /**
-     * Returns the location provider for this Ant model
-     * @return the location provider for this Ant model
-     */
-    LocationProvider getLocationProvider();
-
-    /**
-     * Disposes this Ant model
-     */
-    void dispose();
-
-    /**
-     * Reconciles this Ant model with the buildfile it represents
-     */
-    void reconcile();
-
-    /**
-     * Sets the classloader for this Ant model
-     * @param newClassLoader the classloader to use when resolving this Ant model
-     */
-    void setClassLoader(URLClassLoader newClassLoader);
-    
-    /**
-     * Sets the extra properties to be used for parsing
-     * If global settings as defined in the Ant UI preferences are to be used this method does not need to be called.
-     * @param properties the properties to ensure are set for parsing.
-     */
-    void setProperties(Map properties);
-    
-    /**
-     * Sets the property files to be used for parsing
-     * If global settings as defined in the Ant UI preferences are to be used this method does not need to be called.
-     * @param propertyFiles the file names of the property files to use for parsing
-     */
-    void setPropertyFiles(String[] propertyFiles);
-
-    /**
-     * Returns the Eclipse resource for the buildfile this Ant model represents
-     * @return the Eclipse resource or <code>null</null> if the buildfile is not in the workspace
-     */
-    IFile getFile();
-
-    /**
-     * Handles a <code>BuildException</code> that occurred during parsing.
-     * @param be the build exception that occurred
-     * @param node the node associated with the problem
-     * @param severity the severity of the problem
-     */
-    void handleBuildException(BuildException be, AntElementNode node, int severity);
-
-    /**
-     * Returns the project node for this Ant model
-     * @param reconcile whether or not to ensure the Ant model is reconciled before retrieving the project node
-     * @return the project node for this Ant model
-     */
-    AntProjectNode getProjectNode(boolean reconcile);
-
-    /**
-     * Adds the new target to this Ant model
-     * @param newTarget the new Apache Ant target
-     * @param lineNumber the line number of the new target
-     * @param columnNumber the column number of the new target
-     */
-    void addTarget(Target newTarget, int lineNumber, int columnNumber);
-
-    /**
-     * Adds the new project to this Ant model
-     * @param project the new Apache Ant project
-     * @param lineNumber the line number of the new target
-     * @param columnNumber the column number of the new target
-     */
-    void addProject(Project project, int lineNumber, int columnNumber);
-
-    /**
-     * Return the <code>java.io.File</code> that is the buildfile that this Ant modle represents
-     * @return the <code>java.io.File</code> that is the buildfile
-     */
-    //TODO Could this just be getPath().toLocation();
-    File getEditedFile();
-    
-    /**
-     * Returns whether this model contains task information
-     * @return whether task information is included in this model
-     */
-    boolean canGetTaskInfo();
-    
-    /**
-     * Returns whether this model contains lexical information
-     * @return whether lexical information is included in this model
-     */
-    boolean canGetLexicalInfo();
-    
-    /**
-     * Returns whether this model contains position information for the elements
-     * @return whether position information is included in this model
-     */
-    boolean canGetPositionInfo();
-
-    /**
-     * Adds a comment to the Ant model
-     * Only called if <code>canGetLexicalInfo()</code> is <code>true</code>
-     * @param lineNumber the line number of the comment
-     * @param columnNumber the column number of the comment
-     * @param length the length of the comment
-     */
-    void addComment(int lineNumber, int columnNumber, int length);
-
-    /**
-     * Adds a DTD element to the Ant model
-     * Only called if <code>canGetLexicalInfo()</code> is <code>true</code>
-     * @param name the name of the DTD element
-     * @param lineNumber the line number of the comment
-     * @param columnNumber the column number of the comment
-     */
-    void addDTD(String name, int lineNumber, int columnNumber);
-
-    /**
-     * Adds the external entity to the Ant model
-     * @param name the name of the external entity
-     * @param currentEntityPath the path of the entity
-     */
-    void addEntity(String name, String currentEntityPath);
-
-    /**
-     * Adds a task element to the Ant model
-     * Only called if <code>canGetTaskInfo()</code>() is <code>true</code>
-     * @param task the new Apache Ant task
-     * @param parentTask the parent Apache Ant task or <code>null</code>
-     * @param attributes the attributes of the new task
-     * @param lineNumber the line number of the task
-     * @param columnNumber the column number of the task
-     */
-    void addTask(Task newTask, Task parentTask, Attributes attributes, int lineNumber, int columnNumber);
-
-    /**
-     * Sets the length of the current element that was just finished being parsed
-     * @param lineNumber the current line number of parsing
-     * @param columnNumber the current column number of parsing
-     */
-    void setCurrentElementLength(int lineNumber, int columnNumber);
-
-    /**
-     * Returns the offset in the document associated with this Ant model for the 
-     * given line number and position in the line
-     * @param lineNumber the line number in the doc
-     * @param column the column number in that line
-     * @return the offset in the document
-     * @throws BadLocationException 
-     */
-    int getOffset(int lineNumber, int column) throws BadLocationException;
-
-    /**
-     * Handles a fatal error from an exception during parsing.
-     * @param e the exception that occurred
-     */
-    void error(Exception e);
-
-    /**
-     * Handles a fatal error from an exception during parsing.
-     * @param e the exception that occurred
-     */
-    void fatalError(Exception e);
-
-    /**
-     * Handles a warning from an exception during parsing.
-     * @param e the exception that occurred
-     */
-    void warning(Exception e);
-
-    void errorFromElement(Exception e, AntElementNode element, int lineNumber, int columnNumber);
-
-    void errorFromElementText(Exception e, int offset, int columnNumber);
-
-    /**
-     * Returns the text in the document of this Ant model for the given offset and length
-     * 
-     * @param offset the offset within the document
-     * @param length the length of text to retrieve
-     * @return the text at the given offset of <code>null</code> if not contained within the document range
-     */
-    String getText(int offset, int length);
-    
-    /**
-     * Caches the text from the provided defining node so that the node definitions are only
-     * updated if the text changes on reconciliation
-     * @param node the defining task node to cache the associated text
-     */
-    void setDefiningTaskNodeText(AntDefiningTaskNode node);
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModelConstants.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModelConstants.java
deleted file mode 100644
index e2cf990..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModelConstants.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.ant.internal.ui.model;
-
-/**
- * Constants used by the Ant model to reference attributes
- */
-public interface IAntModelConstants {
-	
-	/**
-	 * Attributes of Ant elements
-	 */
-	public static final String ATTR_NAME= "name"; //$NON-NLS-1$
-	public static final String ATTR_VALUE= "value"; //$NON-NLS-1$
-	public static final String ATTR_DEFAULT= "default"; //$NON-NLS-1$
-	public static final String ATTR_RESOURCE= "resource"; //$NON-NLS-1$
-	public static final String ATTR_ENVIRONMENT= "environment"; //$NON-NLS-1$
-	public static final String ATTR_TARGET= "target"; //$NON-NLS-1$
-	public static final String ATTR_DIR= "dir"; //$NON-NLS-1$
-	public static final String ATTR_FILE= "file"; //$NON-NLS-1$
-	public static final String ATTR_DESTFILE= "destfile"; //$NON-NLS-1$
-	public static final String ATTR_SRC= "src"; //$NON-NLS-1$
-	public static final String ATTR_ZIPFILE= "zipfile"; //$NON-NLS-1$
-	public static final String ATTR_COMMAND= "command"; //$NON-NLS-1$
-	public static final String ATTR_EXECUTABLE= "executable"; //$NON-NLS-1$
-	public static final String ATTR_DESCRIPTION= "description"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModelListener.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModelListener.java
deleted file mode 100644
index 85cabb8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IAntModelListener.java
+++ /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
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.model;
-
-
-public interface IAntModelListener {
-	
-	public void antModelChanged(AntModelChangeEvent event);
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IProblem.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IProblem.java
deleted file mode 100644
index b2394b2..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IProblem.java
+++ /dev/null
@@ -1,54 +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.ant.internal.ui.model;
-
-import org.eclipse.jface.text.IRegion;
-
-
-public interface IProblem extends IRegion {
-
-	/**
-	 * Answer a localized, human-readable message string which describes the problem.
-	 * The message has been "escaped" to handle special characters.
-	 *
-	 * @return a localized, human-readable message string which describes the problem
-	 */
-	String getMessage();
-	
-	/**
-	 * Answer a localized, human-readable message string which describes the problem.
-	 * The message is in its original form; special characters have not been escaped.
-	 *
-	 * @return localized, human-readable message string which describes the problem
-	 */
-	String getUnmodifiedMessage();
-
-	/**
-	 * Checks the severity to see if the Error bit is set.
-	 *
-	 * @return true if the Error bit is set for the severity, false otherwise
-	 */
-	boolean isError();
-
-	/**
-	 * Checks the severity to see if the Error bit is not set.
-	 *
-	 * @return true if the Error bit is not set for the severity, false otherwise
-	 */
-	boolean isWarning();
-	
-	/**
-	 * Returns the line number of this problem.
-	 *
-	 * @return the line number of this problem
-	 */
-	int getLineNumber();
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IProblemRequestor.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IProblemRequestor.java
deleted file mode 100644
index 01ee5ad..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/IProblemRequestor.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.ant.internal.ui.model;
-
-public interface IProblemRequestor {
-
-	/**
-	 * Notification of a Ant buildfile problem.
-	 *
-	 * @param problem IProblem - The discovered Ant buildfile problem.
-	 */
-	void acceptProblem(IProblem problem);
-
-	/**
-	 * Notification sent before starting the problem detection process.
-	 * Typically, this would tell a problem collector to clear previously recorded problems.
-	 */
-	void beginReporting();
-
-	/**
-	 * Notification sent after having completed problem detection process.
-	 * Typically, this would tell a problem collector that no more problems should be expected in this
-	 * iteration.
-	 */
-	void endReporting();
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/InternalTargetFilter.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/InternalTargetFilter.java
deleted file mode 100644
index 733a8ce..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/InternalTargetFilter.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.ant.internal.ui.model;
-
-import org.apache.tools.ant.Target;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-
-
-public class InternalTargetFilter extends ViewerFilter {
-	
-	private int fFiltered= 0;
-	/**
-	 * Returns whether the given target is an internal target. Internal
-	 * targets are targets which have no description. The default target
-	 * is never considered internal.
-	 */
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		boolean result= true;
-		if (viewer instanceof CheckboxTableViewer) {
-		    if (((CheckboxTableViewer)viewer).getChecked(element)) {
-		        //do not filter out (selected) checked items
-		        return true;
-		    }
-		}
-		if (element instanceof AntTargetNode) {
-			Target target= ((AntTargetNode)element).getTarget();
-			result= target.getDescription() != null || ((AntTargetNode)element).isDefaultTarget();
-		} 
-		if (!result) {
-			fFiltered++;
-		}
-		return result;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ViewerFilter#filter(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object[])
-	 */
-	public Object[] filter(Viewer viewer, Object parent, Object[] elements) {
-		fFiltered= 0;
-		return super.filter(viewer, parent, elements);
-	}
-	
-	public int getNumberOfTargetsFiltered() {
-		return fFiltered;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/LocationProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/LocationProvider.java
deleted file mode 100644
index 549a0ce..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/LocationProvider.java
+++ /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
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.editors.text.ILocationProvider;
-
-public class LocationProvider {
-	private IEditorInput fEditorInput;
-	
-	public LocationProvider(IEditorInput input) {
-		fEditorInput= input;
-	}
-
-	public IPath getLocation() {
-		if(fEditorInput instanceof IFileEditorInput) {
-			return ((IFileEditorInput)fEditorInput).getFile().getLocation();
-		} else if (fEditorInput instanceof ILocationProvider) {
-			return ((ILocationProvider)fEditorInput).getPath(fEditorInput);
-		}
-		return null;
-	}
-	
-	public IFile getFile() {
-		if(fEditorInput instanceof IFileEditorInput) {
-			return ((IFileEditorInput)fEditorInput).getFile();
-		}
-		return null;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AbstractAntEditorPreferencePage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AbstractAntEditorPreferencePage.java
deleted file mode 100644
index 615bf40..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AbstractAntEditorPreferencePage.java
+++ /dev/null
@@ -1,350 +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.ant.internal.ui.preferences;
-
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-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 java.util.Set;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.DialogPage;
-import org.eclipse.jface.dialogs.IMessageProvider;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-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.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-public abstract class AbstractAntEditorPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	
-	private OverlayPreferenceStore fOverlayStore;
-	protected List fStatusList;
-	
-	private Map fCheckBoxes= new HashMap();
-	private SelectionListener fCheckBoxListener= new SelectionListener() {
-		public void widgetDefaultSelected(SelectionEvent e) {
-		}
-		public void widgetSelected(SelectionEvent e) {
-			Button button= (Button) e.widget;
-			fOverlayStore.setValue((String) fCheckBoxes.get(button), button.getSelection());
-		}
-	};
-	
-	private Map fTextFields= new HashMap();
-	private ModifyListener fTextFieldListener= new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			Text text= (Text) e.widget;
-			fOverlayStore.setValue((String) fTextFields.get(text), text.getText());
-		}
-	};
-
-	private Map fNumberFields= new HashMap();
-	private ModifyListener fNumberFieldListener= new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			numberFieldChanged((Text) e.widget);
-		}
-	};
-			
-	public AbstractAntEditorPreferencePage() {
-		super();
-		setPreferenceStore(AntUIPlugin.getDefault().getPreferenceStore());
-		fOverlayStore= createOverlayStore();
-	}
-	
-	protected abstract OverlayPreferenceStore createOverlayStore();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	protected void initializeFields() {
-		Map checkBoxes= getCheckBoxes();
-		Map textFields= getTextFields();
-		Iterator e= checkBoxes.keySet().iterator();
-		while (e.hasNext()) {
-			Button b= (Button) e.next();
-			String key= (String) checkBoxes.get(b);
-			b.setSelection(getOverlayStore().getBoolean(key));
-		}
-		
-		e= textFields.keySet().iterator();
-		while (e.hasNext()) {
-			Text t= (Text) e.next();
-			String key= (String) textFields.get(t);
-			t.setText(getOverlayStore().getString(key));
-		}		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		getOverlayStore().propagate();
-		AntUIPlugin.getDefault().savePluginPreferences();
-		return true;
-	}
-	
-	protected OverlayPreferenceStore getOverlayStore() {
-		return fOverlayStore;
-	}
-	
-	protected OverlayPreferenceStore setOverlayStore() {
-		return fOverlayStore;
-	}
-	
-	protected Map getCheckBoxes() {
-		return fCheckBoxes;
-	}
-	
-	protected Map getTextFields() {
-		return fTextFields;
-	}
-	
-	protected Map getNumberFields() {
-		return fNumberFields;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		getOverlayStore().loadDefaults();
-		initializeFields();
-		handleDefaults();
-		super.performDefaults();
-	}
-	
-	protected abstract void handleDefaults();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		if (getOverlayStore() != null) {
-			getOverlayStore().stop();
-			fOverlayStore= null;
-		}
-		super.dispose();
-	}
-	
-	protected Button addCheckBox(Composite parent, String labelText, String key, int indentation) {		
-		Button checkBox= new Button(parent, SWT.CHECK);
-		checkBox.setText(labelText);
-		checkBox.setFont(parent.getFont());
-		
-		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalIndent= indentation;
-		gd.horizontalSpan= 2;
-		checkBox.setLayoutData(gd);
-		checkBox.addSelectionListener(fCheckBoxListener);
-		
-		getCheckBoxes().put(checkBox, key);
-		
-		return checkBox;
-	}
-	
-	protected Text addTextField(Composite composite, String labelText, String key, int textLimit, int indentation, String[] errorMessages) {
-		Font font= composite.getFont();
-		
-		Label label= new Label(composite, SWT.NONE);
-		label.setText(labelText);
-		label.setFont(font);
-		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalIndent= indentation;
-		label.setLayoutData(gd);
-		
-		Text textControl= new Text(composite, SWT.BORDER | SWT.SINGLE);
-		textControl.setFont(font);		
-		gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.widthHint= convertWidthInCharsToPixels(textLimit + 1);
-		textControl.setLayoutData(gd);
-		textControl.setTextLimit(textLimit);
-		getTextFields().put(textControl, key);
-		if (errorMessages != null) {
-			getNumberFields().put(textControl, errorMessages);
-			textControl.addModifyListener(fNumberFieldListener);
-		} else {
-			textControl.addModifyListener(fTextFieldListener);
-		}
-			
-		return textControl;
-	}
-	
-	private void numberFieldChanged(Text textControl) {
-		String number= textControl.getText();
-		IStatus status= validatePositiveNumber(number, (String[])getNumberFields().get(textControl));
-		if (!status.matches(IStatus.ERROR)) {
-			getOverlayStore().setValue((String) getTextFields().get(textControl), number);
-		}
-		updateStatus(status);
-	}
-	
-	private IStatus validatePositiveNumber(String number, String[] errorMessages) {
-		StatusInfo status= new StatusInfo();
-		if (number.length() == 0) {
-			status.setError(errorMessages[0]);
-		} else {
-			try {
-				int value= Integer.parseInt(number);
-				if (value < 0)
-					status.setError(MessageFormat.format(errorMessages[1], new String[]{number})); //$NON-NLS-1$
-			} catch (NumberFormatException e) {
-				status.setError(MessageFormat.format(errorMessages[1], new String[]{number})); //$NON-NLS-1$
-			}
-		}
-		return status;
-	}
-	
-	protected void updateStatus(IStatus status) {
-		if (!status.matches(IStatus.ERROR)) {
-			Set keys= getNumberFields().keySet();
-			for (Iterator iter = keys.iterator(); iter.hasNext();) {
-				Text text = (Text) iter.next();
-				IStatus s= validatePositiveNumber(text.getText(), (String[])getNumberFields().get(text));
-				status= s.getSeverity() > status.getSeverity() ? s : status;
-			}
-		}	
-		
-		List statusList= getStatusList();
-		if (statusList != null) {
-		    List temp= new ArrayList(statusList.size() + 1);
-		    temp.add(status);
-		    temp.addAll(statusList);
-		    status= getMostSevere(temp);
-		}
-		setValid(!status.matches(IStatus.ERROR));
-		applyToStatusLine(this, status);
-	}
-	
-	protected List getStatusList() {
-	    return fStatusList;
-	}
-	
-	/**
-	 * Finds the most severe status from a array of stati.
-	 * An error is more severe than a warning, and a warning is more severe
-	 * than ok.
-	 */
-	private IStatus getMostSevere(List statusList) {
-		IStatus max= null;
-		for (int i= 0; i < statusList.size(); i++) {
-			IStatus curr= (IStatus)statusList.get(i);
-			if (curr.matches(IStatus.ERROR)) {
-				return curr;
-			}
-			if (max == null || curr.getSeverity() > max.getSeverity()) {
-				max= curr;
-			}
-		}
-		return max;
-	}
-
-	/*
-	 * Applies the status to the status line of a dialog page.
-	 */
-	private void applyToStatusLine(DialogPage page, IStatus status) {
-		String message= status.getMessage();
-		switch (status.getSeverity()) {
-			case IStatus.OK:
-				page.setMessage(message, IMessageProvider.NONE);
-				page.setErrorMessage(null);
-				break;
-			case IStatus.WARNING:
-				page.setMessage(message, IMessageProvider.WARNING);
-				page.setErrorMessage(null);
-				break;				
-			case IStatus.INFO:
-				page.setMessage(message, IMessageProvider.INFORMATION);
-				page.setErrorMessage(null);
-				break;			
-			default:
-				if (message.length() == 0) {
-					message= null;
-				}
-				page.setMessage(null);
-				page.setErrorMessage(message);
-				break;		
-		}
-	}
-	
-	/**
-	 * Returns an array of size 2:
-	 *  - first element is of type <code>Label</code>
-	 *  - second element is of type <code>Text</code>
-	 * Use <code>getLabelControl</code> and <code>getTextControl</code> to get the 2 controls.
-	 */
-	protected Control[] addLabelledTextField(Composite composite, String label, String key, int textLimit, int indentation, String[] errorMessages) {
-		Label labelControl= new Label(composite, SWT.NONE);
-		labelControl.setText(label);
-		labelControl.setFont(composite.getFont());
-		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalIndent= indentation;
-		labelControl.setLayoutData(gd);
-	
-		Text textControl= new Text(composite, SWT.BORDER | SWT.SINGLE);		
-		gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.widthHint= convertWidthInCharsToPixels(textLimit + 1);
-		textControl.setLayoutData(gd);
-		textControl.setTextLimit(textLimit);
-		textControl.setFont(composite.getFont());
-		fTextFields.put(textControl, key);
-		if (errorMessages != null) {
-			fNumberFields.put(textControl, errorMessages);
-			textControl.addModifyListener(fNumberFieldListener);
-		} else {
-			textControl.addModifyListener(fTextFieldListener);
-		}
-		
-		return new Control[]{labelControl, textControl};
-	}
-	
-	protected String loadPreviewContentFromFile(String filename) {
-		String line;
-		String separator= System.getProperty("line.separator"); //$NON-NLS-1$
-		StringBuffer buffer= new StringBuffer(512);
-		BufferedReader reader= null;
-		try {
-			reader= new BufferedReader(new InputStreamReader(getClass().getResourceAsStream(filename)));
-			while ((line= reader.readLine()) != null) {
-				buffer.append(line);
-				buffer.append(separator);
-			}
-		} catch (IOException io) {
-			AntUIPlugin.log(io);
-		} finally {
-			if (reader != null) {
-				try { reader.close(); } catch (IOException e) {}
-			}
-		}
-		return buffer.toString();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AbstractClasspathEntry.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AbstractClasspathEntry.java
deleted file mode 100644
index ba5ee6d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AbstractClasspathEntry.java
+++ /dev/null
@@ -1,72 +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.ant.internal.ui.preferences;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ant.core.IAntClasspathEntry;
-
-public abstract class AbstractClasspathEntry implements IClasspathEntry {
-
-	protected List fChildEntries = new ArrayList();
-	protected IClasspathEntry fParent = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IClasspathEntry#getEntries()
-	 */
-	public IAntClasspathEntry[] getEntries() {
-		return (IAntClasspathEntry[])fChildEntries.toArray(new IAntClasspathEntry[fChildEntries.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IClasspathEntry#hasEntries()
-	 */
-	public boolean hasEntries() {
-		return !fChildEntries.isEmpty();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IClasspathEntry#getParent()
-	 */
-	public IClasspathEntry getParent() {
-		return fParent;
-	}
-	
-	/**
-	 * @param parent The parent to set.
-	 */
-	public void setParent(IClasspathEntry parent) {
-		fParent = parent;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.core.IAntClasspathEntry#getEntryURL()
-	 */
-	public URL getEntryURL() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.core.IAntClasspathEntry#getLabel()
-	 */
-	public String getLabel() {
-		return toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.core.IAntClasspathEntry#isEclipseRuntimeRequired()
-	 */
-	public boolean isEclipseRuntimeRequired() {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AddCustomDialog.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AddCustomDialog.java
deleted file mode 100644
index e33c2d8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AddCustomDialog.java
+++ /dev/null
@@ -1,634 +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.ant.internal.ui.preferences;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.text.MessageFormat;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.jface.dialogs.IDialogConstants;
-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.custom.BusyIndicator;
-import org.eclipse.swt.events.FocusAdapter;
-import org.eclipse.swt.events.FocusEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-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.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.FileSystemElement;
-import org.eclipse.ui.externaltools.internal.ui.TreeAndListGroup;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ZipFileStructureProvider;
-
-public class AddCustomDialog extends StatusDialog {
-	
-	private ZipFileStructureProvider providerCache;
-	private IImportStructureProvider currentProvider;
-	
-	//A boolean to indicate if the user has typed anything
-	private boolean entryChanged = false;
-
-	private Combo sourceNameField;
-	private List libraryEntries;
-	private List existingNames;
-	
-	private String noNameErrorMsg;
-	private String alreadyExistsErrorMsg;
-	
-	private TreeAndListGroup selectionGroup;
-	
-	private Text nameField;
-	
-	private String name=""; //$NON-NLS-1$
-	private IAntClasspathEntry library= null;
-	private String className=""; //$NON-NLS-1$
-	
-	private boolean editing= false;
-	
-	private String helpContext;
-
-	/**
-	 * Creates a new dialog with the given shell and title.
-	 */
-	public AddCustomDialog(Shell parent, List libraryEntries, List existingNames, String helpContext) {
-		super(parent);
-		this.libraryEntries = libraryEntries;
-		this.existingNames= existingNames;
-		this.helpContext= helpContext;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite topComposite= (Composite) super.createDialogArea(parent);
-		topComposite.setSize(topComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
-
-		createNameGroup(topComposite);
-		new Label(topComposite, SWT.NULL);
-		createRootDirectoryGroup(topComposite);
-		createFileSelectionGroup(topComposite);
-		
-		if (library != null) {
-			setSourceName(library.getLabel());
-		}
-		return topComposite;
-	}
-	
-	private void createNameGroup(Composite topComposite) {
-		Composite nameContainerGroup = new Composite(topComposite, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		nameContainerGroup.setLayout(layout);
-		nameContainerGroup.setFont(topComposite.getFont());
-		nameContainerGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-		
-		Label label = new Label(nameContainerGroup, SWT.NONE);
-		label.setFont(topComposite.getFont());
-		label.setText(AntPreferencesMessages.getString("AddCustomDialog.&Name__3")); //$NON-NLS-1$
-		
-		nameField = new Text(nameContainerGroup, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-	
-		nameField.setLayoutData(data);
-		nameField.setFont(topComposite.getFont());
-		nameField.setText(name);
-		nameField.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateStatus();
-			}
-		});
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, helpContext);
-	}
-	
-	/**
-	 * Clears the cached structure provider after first finalizing
-	 * it properly.
-	 */
-	private void clearProviderCache() {
-		if (providerCache != null) {
-			closeZipFile(providerCache.getZipFile());
-			providerCache = null;
-		}
-	}
-	
-	/**
-	 * Attempts to close the passed zip file, and answers a boolean indicating success.
-	 */
-	private boolean closeZipFile(ZipFile file) {
-		try {
-			file.close();
-		} catch (IOException e) {
-			AntUIPlugin.log(MessageFormat.format(AntPreferencesMessages.getString("AddCustomDialog.Could_not_close_zip_file_{0}_4"), new String[]{file.getName()}), e); //$NON-NLS-1$
-			return false;
-		}
-
-		return true;
-	}
-
-	/**
-	 *	Create the group for creating the root directory
-	 */
-	private void createRootDirectoryGroup(Composite parent) {
-		Composite sourceContainerGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight=0;
-		layout.marginWidth=0;
-		
-		sourceContainerGroup.setLayout(layout);
-		sourceContainerGroup.setFont(parent.getFont());
-		sourceContainerGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
-
-		Label groupLabel = new Label(sourceContainerGroup, SWT.NONE);
-		groupLabel.setText(AntPreferencesMessages.getString("AddCustomDialog.&Location")); //$NON-NLS-1$
-		groupLabel.setFont(parent.getFont());
-
-		// source name entry field
-		sourceNameField = new Combo(sourceContainerGroup, SWT.BORDER | SWT.READ_ONLY);
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		sourceNameField.setLayoutData(data);
-		sourceNameField.setFont(parent.getFont());
-		
-		sourceNameField.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateFromSourceField();
-			}
-		});
-
-		Iterator libraries= libraryEntries.iterator();
-		while (libraries.hasNext()) {
-			ClasspathEntry entry = (ClasspathEntry) libraries.next();
-			sourceNameField.add(entry.getLabel());
-		}
-
-		sourceNameField.addKeyListener(new KeyAdapter() {
-			/*
-			 * @see KeyListener.keyPressed
-			 */
-			public void keyPressed(KeyEvent e) {
-				//If there has been a key pressed then mark as dirty
-				entryChanged = true;
-			}
-		});
-
-		sourceNameField.addFocusListener(new FocusAdapter() {
-			/*
-			 * @see FocusListener.focusLost(FocusEvent)
-			 */
-			public void focusLost(FocusEvent e) {
-				//Clear the flag to prevent constant update
-				if (entryChanged) {
-					entryChanged = false;
-					updateFromSourceField();
-				}
-			}
-		});
-	}
-	
-	/**
-	 * Update the receiver from the source name field.
-	 */
-	private void updateFromSourceField(){
-		setSourceName(sourceNameField.getText());
-		updateStatus();
-	}
-	
-	
-	/**
-	 * Check the field values and display a message in the status if needed.
-	 */
-	private void updateStatus() {
-		StatusInfo status= new StatusInfo();
-		String customName= nameField.getText().trim();
-		if (customName.length() == 0) {
-			status.setError(noNameErrorMsg);
-		} else if (!editing){
-			Iterator names= existingNames.iterator();
-			while (names.hasNext()) {
-				String aName = (String) names.next();
-				if(aName.equals(customName)) {
-					status.setError(MessageFormat.format(alreadyExistsErrorMsg, new String[]{customName}));
-					updateStatus(status);
-					return;
-				}
-			}
-		} 
-		if (selectionGroup.getListTableSelection().isEmpty()) {
-			status.setError(AntPreferencesMessages.getString("AddCustomDialog.mustSelect")); //$NON-NLS-1$
-		}
-		updateStatus(status);
-	}
-
-	
-	/**
-	 * Sets the source name of the import to be the supplied path.
-	 * Adds the name of the path to the list of items in the
-	 * source combo and selects it.
-	 *
-	 * @param path the path to be added
-	 */
-	private void setSourceName(String path) {
-
-		if (path.length() > 0) {
-
-			String[] currentItems = this.sourceNameField.getItems();
-			int selectionIndex = -1;
-			for (int i = 0; i < currentItems.length; i++) {
-				if (currentItems[i].equals(path)) {
-					selectionIndex = i;
-					break;
-				}
-			}
-			if (selectionIndex < 0) {
-				int oldLength = currentItems.length;
-				String[] newItems = new String[oldLength + 1];
-				System.arraycopy(currentItems, 0, newItems, 0, oldLength);
-				newItems[oldLength] = path;
-				this.sourceNameField.setItems(newItems);
-				selectionIndex = oldLength;
-			}
-			this.sourceNameField.select(selectionIndex);
-
-			resetSelection();
-		}
-	}
-
-	/*
-	* Create the file selection widget
-	*/
-	private void createFileSelectionGroup(Composite parent) {
-		//Just create with a dummy root.
-		FileSystemElement dummyRoot= new FileSystemElement("Dummy", null, true); //$NON-NLS-1$
-		this.selectionGroup = new TreeAndListGroup(parent, dummyRoot, 
-				getFolderProvider(), new WorkbenchLabelProvider(), getFileProvider(),
-				new WorkbenchLabelProvider(), SWT.NONE, 400, 150, false);
-
-		ISelectionChangedListener listener = new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateStatus();
-			}
-		};
-
-		WorkbenchViewerSorter sorter = new WorkbenchViewerSorter();
-		this.selectionGroup.setTreeSorter(sorter);
-		this.selectionGroup.setListSorter(sorter);
-		this.selectionGroup.addSelectionChangedListener(listener);
-		selectionGroup.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				if (getButton(IDialogConstants.OK_ID).isEnabled()) {
-					buttonPressed(IDialogConstants.OK_ID);
-				}
-			}
-		});
-	}
-	
-	/**
-	 *	Returns whether the specified source currently exists
-	 *	and is valid (ie.- proper format)
-	 */
-	protected boolean ensureSourceIsValid() {
-		ZipFile specifiedFile = getSpecifiedSourceFile();
-
-		if (specifiedFile == null){
-			return false;
-		}
-
-		return closeZipFile(specifiedFile);
-	}
-	/**
-	*	Answer the root FileSystemElement that represents the contents of the
-	*	currently-specified .zip file.  If this FileSystemElement is not
-	*	currently defined then create and return it.
-	*/
-	private MinimizedFileSystemElement getFileSystemTree() {
-		IImportStructureProvider provider= null;
-		MinimizedFileSystemElement element= null;
-		ZipFile sourceFile = getSpecifiedSourceFile();
-		if (sourceFile == null) {
-			File file= new File(sourceNameField.getText());
-			if (file.exists()) {
-				provider = FileSystemStructureProvider.INSTANCE;
-				element= selectFiles(file, provider);
-			} 
-		} else {
-			//zip file set as location
-			provider = getStructureProvider(sourceFile);
-			element= selectFiles(((ZipFileStructureProvider)provider).getRoot(), provider);
-		}
-		this.currentProvider = provider;
-		return element;
-	}
-	
-	/**
-	 * Invokes a file selection operation using the specified file system and
-	 * structure provider.  If the user specifies files then this selection is
-	 * cached for later retrieval and is returned.
-	 */
-	private MinimizedFileSystemElement selectFiles(final Object rootFileSystemObject, final IImportStructureProvider structureProvider) {
-
-		final MinimizedFileSystemElement[] results = new MinimizedFileSystemElement[1];
-
-		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
-			public void run() {
-				//Create the root element from the supplied file system object
-				results[0] = createRootElement(rootFileSystemObject, structureProvider);
-			}
-		});
-
-		return results[0];
-	}
-	
-	/**
-	 * Creates and returns a <code>MinimizedFileSystemElement</code> if the specified
-	 * file system object merits one.
-	 */
-	private MinimizedFileSystemElement createRootElement(Object fileSystemObject, IImportStructureProvider provider) {
-		boolean isContainer = provider.isFolder(fileSystemObject);
-		String elementLabel = provider.getLabel(fileSystemObject);
-
-		// Use an empty label so that display of the element's full name
-		// doesn't include a confusing label
-		MinimizedFileSystemElement dummyParent =
-			new MinimizedFileSystemElement("", null, true);//$NON-NLS-1$
-		dummyParent.setPopulated();
-		MinimizedFileSystemElement result =
-			new MinimizedFileSystemElement(elementLabel, dummyParent, isContainer);
-		result.setFileSystemObject(fileSystemObject);
-
-		//Get the files for the element so as to build the first level
-		result.getFiles(provider);
-
-		return dummyParent;
-	}
-	
-	/**
-	 *	Answer a handle to the zip file currently specified as being the source.
-	 *	Return <code>null</code> if this file does not exist or is not of valid format.
-	 */
-	private ZipFile getSpecifiedSourceFile() {
-		try {
-			String expanded = sourceNameField.getText();
-			expanded= VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(expanded);
-			return new ZipFile(expanded);
-		} catch (ZipException e) {
-			StatusInfo status= new StatusInfo();
-			status.setError(AntPreferencesMessages.getString("AddCustomDialog.Bad_Format")); //$NON-NLS-1$
-			updateStatus(status);
-		} catch (IOException e) {
-			StatusInfo status= new StatusInfo();
-			status.setError(AntPreferencesMessages.getString("AddCustomDialog.Unreadable")); //$NON-NLS-1$
-			updateStatus(status);
-		} catch (CoreException e) {
-			StatusInfo status= new StatusInfo();
-			status.setError(AntPreferencesMessages.getString("AddCustomDialog.13")); //$NON-NLS-1$
-			updateStatus(status);
-		}
-
-		sourceNameField.setFocus();
-		return null;
-	}
-	/**
-	 * Returns a structure provider for the specified zip file.
-	 */
-	private ZipFileStructureProvider getStructureProvider(ZipFile targetZip) {
-		if (providerCache == null) {
-			providerCache = new ZipFileStructureProvider(targetZip);
-		} else if (!providerCache.getZipFile().getName().equals(targetZip.getName())) {
-			clearProviderCache();
-			// ie.- new value, so finalize & remove old value
-			providerCache = new ZipFileStructureProvider(targetZip);
-		} else if (!providerCache.getZipFile().equals(targetZip)) {
-			closeZipFile(targetZip); // ie.- duplicate handle to same .zip
-		}
-
-		return providerCache;
-	}
-
-	/**
-	 *	Repopulate the view based on the currently entered directory.
-	 */
-	private void resetSelection() {
-		MinimizedFileSystemElement currentRoot = getFileSystemTree();
-		selectionGroup.setRoot(currentRoot);
-		
-		if (className.length() != 0) {
-			StringTokenizer tokenizer= new StringTokenizer(className, "."); //$NON-NLS-1$
-			selectClass(currentRoot, tokenizer);
-		}
-	}
-	
-	private void selectClass(MinimizedFileSystemElement currentParent, StringTokenizer tokenizer) {
-		if (!tokenizer.hasMoreTokens()) {
-			return;
-		}
-		List folders= currentParent.getFolders(currentProvider);
-		if (folders.size() == 1) {
-			MinimizedFileSystemElement element = (MinimizedFileSystemElement)folders.get(0);
-			if (element.getLabel(null).equals("/")) { //$NON-NLS-1$
-				selectionGroup.selectAndRevealFolder(element);
-				selectClass(element, tokenizer);
-				return;
-			}
-		}
-		String currentName= tokenizer.nextToken();
-		if (tokenizer.hasMoreTokens()) {
-			Iterator allFolders= folders.iterator();
-			while (allFolders.hasNext()) {
-				MinimizedFileSystemElement folder = (MinimizedFileSystemElement) allFolders.next();
-				if (folder.getLabel(null).equals(currentName)) {
-					selectionGroup.selectAndRevealFolder(folder);
-					selectClass(folder, tokenizer);
-					return;
-				}
-			}	
-		} else {
-			List files= currentParent.getFiles(currentProvider);
-			Iterator iter= files.iterator();
-			while (iter.hasNext()) {
-				MinimizedFileSystemElement file = (MinimizedFileSystemElement) iter.next();
-				if (file.getLabel(null).equals(currentName + ".class")) { //$NON-NLS-1$
-					selectionGroup.selectAndRevealFile(file);
-					return;
-				}
-			}
-		}
-	}
-
-	/**
-	 * Returns a content provider for <code>MinimizedFileSystemElement</code>s that returns
-	 * only files as children.
-	 */
-	private ITreeContentProvider getFileProvider() {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object o) {
-				if (o instanceof MinimizedFileSystemElement) {
-					MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-					return element.getFiles(currentProvider).toArray();
-				}
-				return new Object[0];
-			}
-		};
-	}
-
-	/**
-	 * Returns a content provider for <code>MinimizedFileSystemElement</code>s that returns
-	 * only folders as children.
-	 */
-	private ITreeContentProvider getFolderProvider() {
-		return new WorkbenchContentProvider() {
-			public Object[] getChildren(Object o) {
-				if (o instanceof MinimizedFileSystemElement) {
-					MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-					return element.getFolders(currentProvider).toArray();
-				}
-				return new Object[0];
-			}
-			public boolean hasChildren(Object o) {
-				if (o instanceof MinimizedFileSystemElement) {
-					MinimizedFileSystemElement element = (MinimizedFileSystemElement) o;
-					if (element.isPopulated()) {
-						return getChildren(element).length > 0;
-					}
-					
-					//If we have not populated then wait until asked
-					return true;
-				}
-				return false;
-			}
-		};
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#cancelPressed()
-	 */
-	protected void cancelPressed() {
-		clearProviderCache();
-		super.cancelPressed();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
-	 */
-	protected void okPressed() {
-		clearProviderCache();
-		name= nameField.getText().trim();
-		library= (ClasspathEntry)libraryEntries.get(sourceNameField.getSelectionIndex());
-		IStructuredSelection selection= this.selectionGroup.getListTableSelection();
-		MinimizedFileSystemElement element= (MinimizedFileSystemElement)selection.getFirstElement();
-		if (element == null) {
-			super.okPressed();
-			return;
-		}
-		Object file= element.getFileSystemObject();
-		if (file instanceof ZipEntry) {
-			className= ((ZipEntry)file).getName();
-		} else {
-			className= ((File)file).getAbsolutePath();
-			IPath classPath= new Path(className);
-			IPath libraryPath= new Path(library.getEntryURL().getPath());
-			int matching= classPath.matchingFirstSegments(libraryPath);
-			classPath= classPath.removeFirstSegments(matching);
-			classPath= classPath.setDevice(null);
-			className= classPath.toString();
-		}
-		int index= className.lastIndexOf('.');
-		className= className.substring(0, index);
-		className= className.replace('/', '.'); 
-		super.okPressed();
-	}
-	
-	protected String getName() {
-		return name;
-	}
-	
-	protected void setName(String name) {
-		this.name= name;
-	} 
-	
-	protected void setLibraryEntry(IAntClasspathEntry library) {
-		this.library= library;
-		editing= true;
-	}
-	
-	protected IAntClasspathEntry getLibraryEntry() {
-		return this.library;
-	}
-	
-	protected String getClassName() {
-		return className;
-	}
-	
-	protected void setClassName(String className) {
-		this.className= className;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#create()
-	 */
-	public void create() {
-		super.create();
-		getButton(IDialogConstants.OK_ID).setEnabled(!(library == null));
-	}
-	
-	protected void setAlreadyExistsErrorMsg(String alreadyExistsErrorMsg) {
-		this.alreadyExistsErrorMsg = alreadyExistsErrorMsg;
-	}
-
-	protected void setNoNameErrorMsg(String noNameErrorMsg) {
-		this.noNameErrorMsg = noNameErrorMsg;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AddPropertyDialog.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AddPropertyDialog.java
deleted file mode 100644
index 2512932..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AddPropertyDialog.java
+++ /dev/null
@@ -1,174 +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.ant.internal.ui.preferences;
-
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.debug.ui.StringVariableSelectionDialog;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-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.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.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PlatformUI;
-
-public class AddPropertyDialog extends Dialog {
-
-	private String fName;
-	private String fValue;
-
-	private String fTitle;
-	
-	private Label fNameLabel;
-	private Text fNameText;
-	private Label fValueLabel;
-	private Text fValueText;
-	
-	private String[] fInitialValues;
-
-	public AddPropertyDialog(Shell shell, String title, String[] initialValues) {
-		super(shell);
-		fTitle = title;
-		fInitialValues= initialValues;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite comp= (Composite) super.createDialogArea(parent);
-		((GridLayout) comp.getLayout()).numColumns = 2;
-		
-		fNameLabel = new Label(comp, SWT.NONE);
-		fNameLabel.setText(AntPreferencesMessages.getString("AddPropertyDialog.&Name__1")); //$NON-NLS-1$
-		fNameLabel.setFont(comp.getFont());
-		
-		fNameText = new Text(comp, SWT.BORDER | SWT.SINGLE);
-		fNameText.setText(fInitialValues[0]);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 300;
-		fNameText.setLayoutData(gd);
-		fNameText.setFont(comp.getFont());
-		fNameText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateButtons();
-			}
-		});
-		
-		fValueLabel = new Label(comp, SWT.NONE);
-		fValueLabel.setText(AntPreferencesMessages.getString("AddPropertyDialog.&Value__2")); //$NON-NLS-1$
-		fValueLabel.setFont(comp.getFont());
-		
-		fValueText = new Text(comp, SWT.BORDER | SWT.SINGLE);
-		fValueText.setText(fInitialValues[1]);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 300;
-		fValueText.setLayoutData(gd);
-		fValueText.setFont(comp.getFont());
-		fValueText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateButtons();
-			}
-		});		
-		
-		Button variablesButton = new Button(comp, SWT.PUSH);
-		variablesButton.setText(AntPreferencesMessages.getString("AddPropertyDialog.2")); //$NON-NLS-1$
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gd.horizontalSpan = 2;
-		int widthHint = convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		gd.widthHint = Math.max(widthHint, variablesButton.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-		variablesButton.setLayoutData(gd);
-		variablesButton.setFont(comp.getFont());
-		
-		variablesButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent se) {
-				getVariable();
-			}
-		});
-		
-		return comp;
-	}
-	
-	protected void getVariable() {
-		StringVariableSelectionDialog variablesDialog = new StringVariableSelectionDialog(getShell());
-		int returnCode = variablesDialog.open();
-		if (returnCode == IDialogConstants.OK_ID) {
-			String variable = variablesDialog.getVariableExpression();
-			if (variable != null) {
-				fValueText.insert(variable.trim());
-			}
-		}
-	}
-
-	/**
-	 * Return the name/value pair entered in this dialog.  If the cancel button was hit,
-	 * both will be <code>null</code>.
-	 */
-	public String[] getNameValuePair() {
-		return new String[] {fName, fValue};
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (buttonId == IDialogConstants.OK_ID) {
-			fName= fNameText.getText();
-			fValue = fValueText.getText();
-		} else {
-			fName = null;
-			fValue = null;
-		}
-		super.buttonPressed(buttonId);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (fTitle != null) {
-			shell.setText(fTitle);
-		}
-		if (fInitialValues[0].length() == 0) {
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, IAntUIHelpContextIds.ADD_PROPERTY_DIALOG);
-		} else {
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, IAntUIHelpContextIds.EDIT_PROPERTY_DIALOG);
-		}
-	}
-	
-	/**
-	 * Enable the OK button if valid input
-	 */
-	protected void updateButtons() {
-		String name = fNameText.getText().trim();
-		String value = fValueText.getText().trim();
-		getButton(IDialogConstants.OK_ID).setEnabled((name.length() > 0) &&(value.length() > 0));
-	}
-	
-	/**
-	 * Enable the buttons on creation.
-	 * @see org.eclipse.jface.window.Window#create()
-	 */
-	public void create() {
-		super.create();
-		updateButtons();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathBlock.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathBlock.java
deleted file mode 100644
index db99614..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathBlock.java
+++ /dev/null
@@ -1,621 +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.ant.internal.ui.preferences;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.ant.internal.ui.launchConfigurations.VariableInputDialog;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.jdt.internal.debug.ui.actions.ArchiveFilter;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialogWithToggle;
-import org.eclipse.jface.viewers.ILabelProvider;
-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.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-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.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-public class AntClasspathBlock {
-
-	private static final String[] TOOLS= new String[] {"tools.jar"}; //$NON-NLS-1$
-
-	private TreeViewer treeViewer;
-	private AntClasspathContentProvider antContentProvider;
-
-	private Button upButton;
-	private Button downButton;
-	private Button removeButton;
-
-	private AntClasspathLabelProvider labelProvider = new AntClasspathLabelProvider(this);
-	private Button addFolderButton;
-	private Button addJARButton;
-	private Button addExternalJARButton;
-	private Button addVariableButton;
-	private Button antHomeButton;
-	
-	private String antHome;
-
-	private IDialogSettings dialogSettings = AntUIPlugin.getDefault().getDialogSettings();
-	
-	private IAntBlockContainer container;
-	
-	private int validated= 2;
-	
-	private IClasspathEntry currentParent;
-	
-	private SelectionListener selectionListener= new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			Object source = e.getSource();
-			if (source == addJARButton) {
-				addJars();
-			} else if (source == addExternalJARButton) {
-				addExternalJars();
-			} else if (source == addFolderButton) {
-				addFolder(); //$NON-NLS-1$
-			} else if (upButton == source) {
-					handleMoveUp();
-			} else if (downButton == source) {
-				handleMoveDown();
-			} else if (removeButton == source) {
-				remove();
-			} else if (addVariableButton == source) {
-				addVariable();
-			} else if (antHomeButton == source) {
-				browseAntHome();
-			}
-		}
-	};
-	
-	public void setContainer(IAntBlockContainer container) {
-		this.container= container; 
-	}
-	
-	private void addButtonsToButtonGroup(Composite parent) {
-	
-		upButton = container.createPushButton(parent, AntPreferencesMessages.getString("AntClasspathBlock.upButtonTitle")); //$NON-NLS-1$;
-		upButton.addSelectionListener(selectionListener);
-		downButton = container.createPushButton(parent, AntPreferencesMessages.getString("AntClasspathBlock.downButtonTitle")); //$NON-NLS-1$;
-		downButton.addSelectionListener(selectionListener);
-		removeButton = container.createPushButton(parent, AntPreferencesMessages.getString("AntClasspathBlock.removeButtonTitle")); //$NON-NLS-1$;
-		removeButton.addSelectionListener(selectionListener);
-		
-		addJARButton = container.createPushButton(parent, AntPreferencesMessages.getString("AntClasspathBlock.addJarButtonTitle")); //$NON-NLS-1$;
-		addJARButton.addSelectionListener(selectionListener);
-	
-		addExternalJARButton = container.createPushButton(parent, AntPreferencesMessages.getString("AntClasspathBlock.42")); //$NON-NLS-1$
-		addExternalJARButton.addSelectionListener(selectionListener);
-		addFolderButton = container.createPushButton(parent, AntPreferencesMessages.getString("AntClasspathBlock.addFolderButtonTitle")); //$NON-NLS-1$;
-		addFolderButton.addSelectionListener(selectionListener);
-		
-		addVariableButton = container.createPushButton(parent, AntPreferencesMessages.getString("AntClasspathBlock.2")); //$NON-NLS-1$
-		addVariableButton.addSelectionListener(selectionListener);
-		
-		antHomeButton= container.createPushButton(parent, AntPreferencesMessages.getString("AntClasspathBlock.30")); //$NON-NLS-1$
-		antHomeButton.addSelectionListener(selectionListener);
-	}
-	
-	/**
-	 * Returns the selected items in the list, in the order they are
-	 * displayed.
-	 * 
-	 * @return targets for an action
-	 */
-	private List getOrderedSelection(IClasspathEntry parent) {
-		List targets = new ArrayList();
-		List selection = ((IStructuredSelection)treeViewer.getSelection()).toList();
-		IAntClasspathEntry[] entries = parent.getEntries();
-		for (int i = 0; i < entries.length; i++) {
-			IAntClasspathEntry target = entries[i];
-			if (selection.contains(target)) {
-				targets.add(target);
-			}
-		}
-		return targets;		
-	}
-	
-	private void handleMoveDown() {
-		List targets = getOrderedSelection(currentParent);
-		List list= new ArrayList(Arrays.asList(currentParent.getEntries()));
-		int bottom = list.size() - 1;
-		int index = 0;
-		for (int i = targets.size() - 1; i >= 0; i--) {
-			Object target = targets.get(i);
-			index = list.indexOf(target);
-			if (index < bottom) {
-				bottom = index + 1;
-				Object temp = list.get(bottom);
-				list.set(bottom, target);
-				list.set(index, temp);
-			}
-			bottom = index;
-		} 
-		finishMove(list);
-	}
-	
-	private void finishMove(List list) {
-		AntClasspathContentProvider viewerContentProvider = (AntClasspathContentProvider) treeViewer.getContentProvider();
-		viewerContentProvider.setEntries(currentParent, list);
-		treeViewer.refresh();
-		treeViewer.setSelection(treeViewer.getSelection());
-		updateContainer();
-	}
-
-	private void handleMoveUp() {
-		List targets = getOrderedSelection(currentParent);
-		int top = 0;
-		int index = 0;
-		List list= new ArrayList(Arrays.asList(currentParent.getEntries()));
-		Iterator entries = targets.iterator();
-		while (entries.hasNext()) {
-			Object target = entries.next();
-			index = list.indexOf(target);
-			if (index > top) {
-				top = index - 1;
-				Object temp = list.get(top);
-				list.set(top, target);
-				list.set(index, temp);
-			}
-			top = index;
-		}
-		
-		finishMove(list);
-	}
-
-	private void remove() {
-		AntClasspathContentProvider viewerContentProvider = (AntClasspathContentProvider) treeViewer.getContentProvider();
-		IStructuredSelection sel = (IStructuredSelection) treeViewer.getSelection();
-		viewerContentProvider.remove(sel);
-		updateContainer();
-	}
-
-	/**
-	 * Allows the user to enter a folder as a classpath.
-	 */
-	private void addFolder() {
-		String lastUsedPath = dialogSettings.get(IAntUIConstants.DIALOGSTORE_LASTFOLDER);
-		if (lastUsedPath == null) {
-			lastUsedPath = ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString();
-		}
-		DirectoryDialog dialog = new DirectoryDialog(treeViewer.getControl().getShell());
-		dialog.setMessage(AntPreferencesMessages.getString("AntClasspathBlock.1")); //$NON-NLS-1$
-		dialog.setFilterPath(lastUsedPath);
-		String result = dialog.open();
-		if (result != null) {
-			try {
-				URL url = new URL("file:" + result + "/"); //$NON-NLS-2$;//$NON-NLS-1$;
-				((AntClasspathContentProvider)treeViewer.getContentProvider()).add(currentParent, url);
-			} catch (MalformedURLException e) {
-			}
-		}
-		treeViewer.setSelection(treeViewer.getSelection());
-		dialogSettings.put(IAntUIConstants.DIALOGSTORE_LASTFOLDER, result);
-		updateContainer();
-	}
-
-	private void addExternalJars() {
-		String lastUsedPath = dialogSettings.get(IAntUIConstants.DIALOGSTORE_LASTEXTJAR);
-		if (lastUsedPath == null) {
-			lastUsedPath = ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString();
-		}
-		FileDialog dialog = new FileDialog(treeViewer.getControl().getShell(), SWT.MULTI);
-		dialog.setFilterExtensions(new String[] { "*.jar;*.zip" }); //$NON-NLS-1$
-		dialog.setFilterPath(lastUsedPath);
-
-		String result = dialog.open();
-		if (result == null) {
-			return;
-		}
-		IPath filterPath = new Path(dialog.getFilterPath());
-		String[] results = dialog.getFileNames();
-		AntClasspathContentProvider contentProvider= (AntClasspathContentProvider)treeViewer.getContentProvider();
-		contentProvider.setRefreshEnabled(false);
-		for (int i = 0; i < results.length; i++) {
-			String jarName = results[i];
-			try {
-				IPath path = filterPath.append(jarName).makeAbsolute();
-				URL url = new URL("file:" + path.toOSString()); //$NON-NLS-1$;
-				contentProvider.add(currentParent, url);
-			} catch (MalformedURLException e) {
-			}
-		}
-		contentProvider.setRefreshEnabled(true);
-
-		treeViewer.setSelection(treeViewer.getSelection());
-		dialogSettings.put(IAntUIConstants.DIALOGSTORE_LASTEXTJAR, filterPath.toOSString());
-		updateContainer();
-	}
-	
-	private void addJars() {
-		List allEntries= new ArrayList();
-		if (currentParent != null) {
-			allEntries.addAll(Arrays.asList(currentParent.getEntries()));
-		} else {
-			Object[] entries= antContentProvider.getModel().getEntries(ClasspathModel.USER);
-			if (entries != null) {
-				allEntries.addAll(Arrays.asList(entries));
-			}
-		}
-		
-		ViewerFilter filter= new ArchiveFilter(allEntries);
-		
-		ILabelProvider lp= new WorkbenchLabelProvider();
-		ITreeContentProvider cp= new WorkbenchContentProvider();
-
-		ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(treeViewer.getControl().getShell(), lp, cp);
-		dialog.setTitle(AntPreferencesMessages.getString("AntClasspathBlock.44"));  //$NON-NLS-1$
-		dialog.setMessage(AntPreferencesMessages.getString("AntClasspathBlock.45")); //$NON-NLS-1$
-		dialog.addFilter(filter);
-		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());	
-		dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
-		
-		ISelectionStatusValidator validator= new ISelectionStatusValidator() {
-			public IStatus validate(Object[] selection) {
-				if (selection.length == 0) {
-					return new Status(IStatus.ERROR, AntUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-				}
-				for (int i= 0; i < selection.length; i++) {
-					if (!(selection[i] instanceof IFile)) {
-						return new Status(IStatus.ERROR, AntUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-					}					
-				}
-				return new Status(IStatus.OK, AntUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-			}			
-		};
-		dialog.setValidator(validator);
-
-		if (dialog.open() == Window.OK) {
-			Object[] elements= dialog.getResult();
-			AntClasspathContentProvider contentProvider= (AntClasspathContentProvider)treeViewer.getContentProvider();
-			contentProvider.setRefreshEnabled(false);
-			for (int i = 0; i < elements.length; i++) {
-				IFile file = (IFile)elements[i];
-				String varExpression= VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", file.getFullPath().toString()); //$NON-NLS-1$
-				contentProvider.add(currentParent, varExpression);
-			}
-			contentProvider.setRefreshEnabled(true);
-			updateContainer();
-		}
-	}
-		
-	private void updateContainer() {
-		validated= 0;
-		container.update();
-	}
-
-	/**
-	 * Creates the group which will contain the buttons.
-	 */
-	private void createButtonGroup(Composite top) {
-		Composite buttonGroup = new Composite(top, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonGroup.setLayout(layout);
-		buttonGroup.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		buttonGroup.setFont(top.getFont());
-
-		addButtonsToButtonGroup(buttonGroup);
-	}
-	
-	private void createClasspathTree(Composite parent) {
-		Tree tree = new Tree(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		data.heightHint = tree.getItemHeight();
-		tree.setLayoutData(data);
-		tree.setFont(parent.getFont());
-		
-		tree.addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent event) {
-				if (event.character == SWT.DEL && event.stateMask == 0) {
-					remove();
-				}
-			}
-		});	
-
-		antContentProvider = new AntClasspathContentProvider();
-		treeViewer = new TreeViewer(tree);
-		treeViewer.setContentProvider(antContentProvider);
-		treeViewer.setLabelProvider(labelProvider);
-		treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				tableSelectionChanged((IStructuredSelection) event.getSelection(),
-					(AntClasspathContentProvider) treeViewer.getContentProvider());
-			}
-		});
-	}
-			
-	public void createContents(Composite parent) {
-		createClasspathTree(parent);
-		createButtonGroup(parent);
-		
-		tableSelectionChanged((IStructuredSelection)treeViewer.getSelection(), antContentProvider);
-	}
-	
-	private void tableSelectionChanged(IStructuredSelection selection, AntClasspathContentProvider contentProvider) {
-		
-		boolean notEmpty= !selection.isEmpty();
-		boolean first= !notEmpty;
-		boolean last= !notEmpty;
-		boolean canRemove= true;
-		boolean canAdd= true;
-        boolean canMove= true;
-        if (!resolveCurrentParent(selection)) {
-            //selection contains elements from multiple parents
-            canAdd= false;
-            canMove= false;
-            canRemove= false;
-        } else {
-            Iterator selected = selection.iterator();
-    		while (selected.hasNext()) {
-    			IClasspathEntry element = (IClasspathEntry) selected.next();
-    			
-    			if (element instanceof GlobalClasspathEntries) {
-    				GlobalClasspathEntries global= (GlobalClasspathEntries)element;
-    				canRemove= global.canBeRemoved();
-    				canAdd= global.getType() != ClasspathModel.CONTRIBUTED;
-                    canMove= false;
-    			}
-    			IClasspathEntry parent= element.getParent();
-    			if (parent instanceof GlobalClasspathEntries) {
-    				canAdd= ((GlobalClasspathEntries)parent).getType() != ClasspathModel.CONTRIBUTED;
-    				canRemove= canAdd;
-                    canMove= canAdd;
-    			}
-    			Object[] childEntries = contentProvider.getChildren(parent);
-    			List entries = Arrays.asList(childEntries);
-    			int lastEntryIndex = entries.size() - 1;
-    			if (!first && entries.indexOf(element) == 0) {
-    				first= true;
-    			}
-    			if (!last && entries.indexOf(element) == lastEntryIndex) {
-    				last= true;
-    			}
-    		}
-        }
-		
-		addJARButton.setEnabled(canAdd);
-		addExternalJARButton.setEnabled(canAdd);
-		addFolderButton.setEnabled(canAdd);
-		addVariableButton.setEnabled(canAdd);
-		removeButton.setEnabled(notEmpty && canRemove);
-		upButton.setEnabled(canMove && !first);
-		downButton.setEnabled(canMove && !last);
-	}
-	
-	private boolean resolveCurrentParent(IStructuredSelection selection) {
-		currentParent= null;
-		Iterator selected= selection.iterator();
-		
-		while (selected.hasNext()) {
-			Object element = selected.next();
-			if (element instanceof ClasspathEntry) {
-				IClasspathEntry parent= ((IClasspathEntry)element).getParent();
-				if (currentParent != null) {
-					if (!currentParent.equals(parent)) {
-						return false;
-					}
-				} else {
-					currentParent= parent;
-				}
-			} else {
-				if (currentParent != null) {
-					if (!currentParent.equals(element)) {
-						return false;
-					}
-				} else {
-					currentParent= (IClasspathEntry)element;
-				}
-			}
-		}
-		return true;
-	}
-
-	private File validateAntHome(String path) {
-		File rootDir = null;
-		boolean invalid= true;
-		if (path.length() > 0) {
-			rootDir= new File(path, "lib"); //$NON-NLS-1$
-			File parentDir= rootDir.getParentFile();
-			if (parentDir == null || !parentDir.exists()) {
-				container.setErrorMessage(AntPreferencesMessages.getString("AntClasspathBlock.56")); //$NON-NLS-1$
-			} else if (!rootDir.exists()) {
-				container.setErrorMessage(AntPreferencesMessages.getString("AntClasspathBlock.7")); //$NON-NLS-1$
-			} else {
-				invalid= false;
-			}
-		} else {			
-			container.setErrorMessage(AntPreferencesMessages.getString("AntClasspathBlock.57")); //$NON-NLS-1$
-		}
-		if (invalid) {
-			setValidated();
-			return null;
-		} 
-		container.setErrorMessage(null);
-		return rootDir;
-	}
-	
-	private void browseAntHome() {
-		String lastUsedPath= dialogSettings.get(IAntUIConstants.DIALOGSTORE_LASTANTHOME);
-		if (lastUsedPath == null) {
-			lastUsedPath= ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString();
-		}
-		DirectoryDialog dialog = new DirectoryDialog(treeViewer.getControl().getShell());
-		dialog.setMessage(AntPreferencesMessages.getString("AntClasspathBlock.3")); //$NON-NLS-1$
-		dialog.setFilterPath(lastUsedPath);
-		String path = dialog.open();
-		if (path == null) {
-			return;
-		}
-		antHome= path;
-		if (path.length() > 0) {
-			File rootDir = new File(path, "lib"); //$NON-NLS-1$
-			setAntHome(rootDir);
-		} else {
-			updateContainer();
-		}
-		dialogSettings.put(IAntUIConstants.DIALOGSTORE_LASTANTHOME, path);
-	}
-		
-	private void setAntHome(File rootDir) {
-		AntClasspathContentProvider contentProvider = (AntClasspathContentProvider) treeViewer.getContentProvider();
-		contentProvider.setRefreshEnabled(false);
-		contentProvider.removeAllGlobalAntClasspathEntries();
-		String[] names = rootDir.list();
-		if (names != null) {
-			Arrays.sort(names);
-			for (int i = 0; i < names.length; i++) {
-				File file = new File(rootDir, names[i]);
-				if (file.isFile() && file.getPath().endsWith(".jar")) { //$NON-NLS-1$
-					try {
-						URL url = new URL("file:" +  file.getAbsolutePath()); //$NON-NLS-1$
-						contentProvider.add(ClasspathModel.ANT_HOME, url);
-					} catch (MalformedURLException e) {
-					}
-				}
-			}
-		}
-		
-		contentProvider.setRefreshEnabled(true);
-		updateContainer();
-	}
-	
-	public String getAntHome() {
-		return antHome;
-	}
-	
-	public void initializeAntHome(String antHomeString) {
-		antHome= antHomeString;
-	}
-	
-	public void setInput(ClasspathModel model) {
-		treeViewer.setInput(model);
-		validated= 0;
-	}
-	
-	public boolean validateAntHome() {
-		validated++;
-		return validateAntHome(antHome) != null;
-	}
-	
-	public Image getClasspathImage() {
-		return labelProvider.getClasspathImage();
-	}
-	
-	public boolean validateToolsJAR() {
-		validated++;
-		boolean check= AntUIPlugin.getDefault().getPreferenceStore().getBoolean(IAntUIPreferenceConstants.ANT_TOOLS_JAR_WARNING);
-		if (check && !AntUIPlugin.isMacOS()) {
-			Object[] entries= antContentProvider.getModel().getEntries(ClasspathModel.ANT_HOME);
-			boolean valid= !JARPresent(entries, TOOLS).isEmpty();
-			if (!valid) {
-				entries= antContentProvider.getModel().getEntries(ClasspathModel.GLOBAL_USER);
-				valid= !JARPresent(entries, TOOLS).isEmpty();
-				if (!valid) {
-					entries= antContentProvider.getModel().getEntries(ClasspathModel.USER);
-					valid= !JARPresent(entries, TOOLS).isEmpty();
-					if (!valid) {
-						MessageDialogWithToggle dialog= MessageDialogWithToggle.openYesNoQuestion(AntUIPlugin.getActiveWorkbenchWindow().getShell(), AntPreferencesMessages.getString("AntClasspathBlock.31"), AntPreferencesMessages.getString("AntClasspathBlock.32"), AntPreferencesMessages.getString("AntClasspathBlock.33"), false, AntUIPlugin.getDefault().getPreferenceStore(), IAntUIPreferenceConstants.ANT_TOOLS_JAR_WARNING); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						valid= dialog.getReturnCode() == IDialogConstants.YES_ID;
-					}
-				}
-			}
-			if (!valid) {
-				container.setErrorMessage(AntPreferencesMessages.getString("AntClasspathBlock.34")); //$NON-NLS-1$
-				setValidated();
-			}
-			return valid;
-		}
-		return true;
-	}
-
-	private List JARPresent(Object[] classpathEntries, String[] suffixes) {
-		if (classpathEntries == null) {
-			return Collections.EMPTY_LIST;
-		}
-		List found= new ArrayList(2);
-		for (int i = 0; i < classpathEntries.length; i++) {
-			String file;
-			Object entry = classpathEntries[i];
-			if (entry instanceof URL) {
-				file= ((URL)entry).getFile();
-			} else {
-				file= entry.toString();
-			}
-			for (int j = 0; j < suffixes.length; j++) {
-				String suffix = suffixes[j];
-				if (file.endsWith(suffix)) {
-					found.add(suffix);
-				}
-			}
-		}
-		return found;
-	}
-	
-	public boolean isValidated() {
-		return validated >= 2;
-	}
-	
-	public void setValidated() {
-		validated= 2;
-	}
-	
-	private void addVariable() {
-		VariableInputDialog inputDialog = new VariableInputDialog(treeViewer.getControl().getShell());
-		inputDialog.open();
-		String variableString= inputDialog.getVariableString();
-		if (variableString != null && variableString.trim().length() > 0) {
-			((AntClasspathContentProvider)treeViewer.getContentProvider()).add(currentParent, variableString);
-			treeViewer.setSelection(treeViewer.getSelection());
-			updateContainer();
-		}
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathContentProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathContentProvider.java
deleted file mode 100644
index 36d9ee0..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathContentProvider.java
+++ /dev/null
@@ -1,211 +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.ant.internal.ui.preferences;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Content provider that maintains a list of classpath entries which are shown in a tree
- * viewer.
- */
-public class AntClasspathContentProvider implements ITreeContentProvider {
-	private TreeViewer treeViewer;
-	private ClasspathModel model= null;
-	private boolean refreshEnabled= false;
-	private boolean refreshRequested= false;
-		
-	public void add(IClasspathEntry parent, Object child) {
-		Object newEntry= null;
-		boolean added= false;
-		if (parent == null || parent == model) {
-			added= true;
-			newEntry= model.addEntry(child);
-			if (newEntry == null) {
-				//entry already exists
-				newEntry= model.createEntry(child, model);
-				added= false;
-			}
-			parent= model;
-		} else if (parent instanceof GlobalClasspathEntries) {
-			GlobalClasspathEntries globalParent= (GlobalClasspathEntries) parent;
-			newEntry= model.createEntry(child, globalParent);
-			ClasspathEntry newClasspathEntry= (ClasspathEntry) newEntry;
-			if (!globalParent.contains(newClasspathEntry)) {
-				added= true;
-				globalParent.addEntry(newClasspathEntry);
-			}
-		} 
-		if (newEntry != null) {
-			if (added) {
-				treeViewer.add(parent, newEntry);
-			}
-			treeViewer.setExpandedState(parent, true);
-			treeViewer.setSelection(new StructuredSelection(newEntry), true);
-			refresh();
-		}
-	}
-	
-	public void add(int entryType, Object child) {
-		Object newEntry= model.addEntry(entryType, child);
-		if (newEntry != null) {
-			treeViewer.add(getParent(newEntry), newEntry);
-			refresh();
-		}
-	}
-
-	public void removeAll() {
-		model.removeAll();
-		refresh();
-	}
-	
-	private void refresh() {
-		if (refreshEnabled) {
-			treeViewer.refresh();
-			refreshRequested= false;
-		} else {
-			refreshRequested= true;
-		}
-	}
-	
-	public void removeAllGlobalAntClasspathEntries() {
-		model.removeAll(ClasspathModel.ANT_HOME);
-		refresh();
-	}
-
-	/**
-	 * @see ITreeContentProvider#getParent(Object)
-	 */
-	public Object getParent(Object element) {
-		if (element instanceof ClasspathEntry) {
-			return ((ClasspathEntry)element).getParent();
-		}
-		if (element instanceof GlobalClasspathEntries) {
-			return model;
-		}
-		
-		return null;
-	}
-
-	/**
-	 * @see ITreeContentProvider#hasChildren(Object)
-	 */
-	public boolean hasChildren(Object element) {
-		if (element instanceof ClasspathEntry) {
-			return false;
-		}
-		if (element instanceof GlobalClasspathEntries) {
-			return ((GlobalClasspathEntries)element).hasEntries();
-			
-		} 
-		
-		if (element instanceof ClasspathModel) {
-			return ((ClasspathModel) element).hasEntries();
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		return getChildren(inputElement);
-	}
-
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		treeViewer = (TreeViewer) viewer;
-		
-		if (newInput != null) {
-			model= (ClasspathModel)newInput;
-		} else {
-			if (model != null) {
-				model.removeAll();
-			}
-			model= null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement instanceof GlobalClasspathEntries) {
-			return ((GlobalClasspathEntries)parentElement).getEntries();
-		}
-		if (parentElement instanceof ClasspathModel) {
-			return ((ClasspathModel)parentElement).getEntries();
-		}
-		if (parentElement == null) {
-			List all= new ArrayList();
-			Object[] topEntries= model.getEntries();
-			for (int i = 0; i < topEntries.length; i++) {
-				Object object = topEntries[i];
-				if (object instanceof ClasspathEntry) {
-					all.add(object);
-				} else if (object instanceof GlobalClasspathEntries) {
-					all.addAll(Arrays.asList(((GlobalClasspathEntries)object).getEntries()));
-				}
-			}
-			return all.toArray();
-		}
-		
-		return null;
-	}
-
-	public void remove(IStructuredSelection selection) {
-		Object[] array= selection.toArray();
-		model.removeAll(array);
-		treeViewer.remove(array);
-		refresh();
-	}
-
-	public ClasspathModel getModel() {
-		return model;
-	}
-
-	public void setRefreshEnabled(boolean refreshEnabled) {
-		this.refreshEnabled = refreshEnabled;
-		treeViewer.getTree().setRedraw(refreshEnabled);
-		if (refreshEnabled && refreshRequested) {
-			refresh();
-		}
-	}
-
-	/**
-	 * @param currentParent
-	 */
-	public void setEntries(IClasspathEntry currentParent, List entries) {
-		if (currentParent instanceof GlobalClasspathEntries) {
-			GlobalClasspathEntries group= (GlobalClasspathEntries) currentParent;
-			group.setEntries(entries);
-		}
-		
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathLabelProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathLabelProvider.java
deleted file mode 100644
index 01b447b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathLabelProvider.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.ant.internal.ui.preferences;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Label provider for classpath elements
- */
-public class AntClasspathLabelProvider implements ILabelProvider, IColorProvider {
-
-
-	private AntClasspathBlock fBlock;
-	
-	public AntClasspathLabelProvider(AntClasspathBlock block) {
-		fBlock= block;
-	}
-
-	private Image getFolderImage() {
-		return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
-	}
-
-	private Image getJarImage() {
-		return JavaUI.getSharedImages().getImage(org.eclipse.jdt.ui.ISharedImages.IMG_OBJS_JAR);
-	}
-
-	public Image getClasspathImage() {
-		return AntUIImages.getImage(IAntUIConstants.IMG_TAB_CLASSPATH);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
-	 */
-	public Image getImage(Object element) {
-		String file;
-		if (element instanceof ClasspathEntry) {
-			ClasspathEntry entry = (ClasspathEntry) element;
-            if (entry.isEclipseRuntimeRequired()) {
-                return AntUIImages.getImage(IAntUIConstants.IMG_ANT_ECLIPSE_RUNTIME_OBJECT);
-            }
-			file= entry.toString();
-			if (file.endsWith("/")) { //$NON-NLS-1$
-				return getFolderImage();
-			} 
-			return getJarImage();
-		}
-		
-		return getClasspathImage();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-	 */
-	public String getText(Object element) {
-		if (element instanceof IAntClasspathEntry) {
-            IAntClasspathEntry entry= (IAntClasspathEntry)element;
-			StringBuffer label= new StringBuffer(entry.getLabel());
-			if (element instanceof GlobalClasspathEntries) {
-                if (((GlobalClasspathEntries)element).getType() == ClasspathModel.ANT_HOME) {
-            
-    				AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-    				String defaultAntHome= prefs.getDefaultAntHome();
-    				String currentAntHome= fBlock.getAntHome();
-    				label.append(" ("); //$NON-NLS-1$
-    				if (defaultAntHome.equals(currentAntHome)) {
-    					label.append(AntPreferencesMessages.getString("AntClasspathLabelProvider.0")); //$NON-NLS-1$
-    				} else {
-    					label.append(fBlock.getAntHome());	
-    				}
-    				label.append(')');
-                }
-			} 
-			return label.toString();
-		}
-		return element.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
-	 */
-	public Color getBackground(Object element) {
-		if (element instanceof GlobalClasspathEntries) {
-            int type= ((GlobalClasspathEntries) element).getType();
-            if (type == ClasspathModel.CONTRIBUTED) {
-                Display display= Display.getCurrent();
-                return display.getSystemColor(SWT.COLOR_INFO_BACKGROUND);
-            }
-		} else if (element instanceof ClasspathEntry) {
-            return getBackground(((ClasspathEntry) element).getParent());
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
-	 */
-	public Color getForeground(Object element) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathPage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathPage.java
deleted file mode 100644
index 311a961..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntClasspathPage.java
+++ /dev/null
@@ -1,183 +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.ant.internal.ui.preferences;
-
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.swt.SWT;
-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.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Sub-page that allows the user to enter custom classpaths
- * to be used when running Ant build files.
- */
-public class AntClasspathPage implements IAntBlockContainer {
-
-	private AntClasspathBlock antClasspathBlock= new AntClasspathBlock();
-	private AntRuntimePreferencePage preferencePage;
-	private ClasspathModel model;
-	
-	/**
-	 * Creates an instance.
-	 */
-	public AntClasspathPage(AntRuntimePreferencePage preferencePage) {
-		this.preferencePage = preferencePage;
-	}
-	
-	/**
-	 * Returns the specified user classpath entries
-	 * 
-	 * @return set of user classpath entries
-	 */
-	protected IAntClasspathEntry[] getAdditionalEntries() {
-		return model.getEntries(ClasspathModel.GLOBAL_USER);
-	}
-	
-	/**
-	 * Returns the specified ant home classpath entries
-	 */
-	protected IAntClasspathEntry[] getAntHomeEntries() {
-		return model.getEntries(ClasspathModel.ANT_HOME);
-	}
-	
-	protected String getAntHome() {
-		return antClasspathBlock.getAntHome();
-	}
-	
-	/**
-	 * Sets the contents of the tables on this page.
-	 */
-	protected void initialize() {
-		
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		createClasspathModel();
-		antClasspathBlock.initializeAntHome(prefs.getAntHome());
-		antClasspathBlock.setInput(model);
-		
-		preferencePage.setErrorMessage(null);
-		preferencePage.setValid(true);
-	}
-	
-	protected void createClasspathModel() {
-		model= new ClasspathModel();
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		model.setAntHomeEntries(prefs.getAntHomeClasspathEntries());
-		model.setGlobalEntries(prefs.getAdditionalClasspathEntries());
-        model.setContributedEntries(prefs.getContributedClasspathEntries());
-	}
-	
-	protected void performDefaults() {
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		model= new ClasspathModel();
-		model.setAntHomeEntries(prefs.getDefaultAntHomeEntries());
-		IAntClasspathEntry toolsEntry= prefs.getToolsJarEntry();
-		IAntClasspathEntry[] additionalEntries;
-		if (toolsEntry == null) {
-			additionalEntries= new IAntClasspathEntry[0];
-		} else {
-			additionalEntries= new IAntClasspathEntry[] {toolsEntry};
-		}
-		model.setGlobalEntries(additionalEntries);
-        model.setContributedEntries(prefs.getContributedClasspathEntries());
-		antClasspathBlock.initializeAntHome(prefs.getDefaultAntHome());
-		antClasspathBlock.setInput(model);
-		update();
-	}
-	
-	/**
-	 * Creates the tab item that contains this sub-page.
-	 */
-	protected TabItem createTabItem(TabFolder folder) {
-		TabItem item = new TabItem(folder, SWT.NONE);
-		item.setText(AntPreferencesMessages.getString("AntClasspathPage.title")); //$NON-NLS-1$;
-		item.setImage(antClasspathBlock.getClasspathImage());
-		item.setData(this);
-		item.setControl(createContents(folder));
-		return item;
-	}
-	
-	/**
-	 * Creates this page's controls
-	 */
-	protected Composite createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IAntUIHelpContextIds.ANT_CLASSPATH_PAGE);
-		Font font = parent.getFont();
-		
-		Composite top = new Composite(parent, SWT.NONE);
-		top.setFont(font);
-		
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 2;
-		layout.marginWidth = 2;
-		top.setLayout(layout);
-
-		top.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		antClasspathBlock.setContainer(this);
-		antClasspathBlock.createContents(top);
-		
-		return top;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#update()
-	 */
-	public void update() {
-		if (antClasspathBlock.isValidated()){
-			return;
-		}
-		setMessage(null);
-		setErrorMessage(null);
-		boolean valid= antClasspathBlock.validateAntHome();
-	
-		if (valid) {
-			valid= antClasspathBlock.validateToolsJAR();
-		}
-		
-		preferencePage.setValid(valid);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#setMessage(java.lang.String)
-	 */
-	public void setMessage(String message) {
-		preferencePage.setMessage(message);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#setErrorMessage(java.lang.String)
-	 */
-	public void setErrorMessage(String message) {
-		preferencePage.setErrorMessage(message);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#createPushButton(org.eclipse.swt.widgets.Composite, java.lang.String)
-	 */
-	public Button createPushButton(Composite parent, String buttonText) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		button.setText(buttonText);
-		preferencePage.setButtonLayoutData(button);
-		return button;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntCodeAssistPreferencePage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntCodeAssistPreferencePage.java
deleted file mode 100644
index 61d3ebc..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntCodeAssistPreferencePage.java
+++ /dev/null
@@ -1,239 +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.ant.internal.ui.preferences;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.preference.PreferenceConverter;
-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.graphics.RGB;
-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.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.swt.widgets.Text;
-
-/*
- * The page for setting the Ant editor code assist options.
- */
-public class AntCodeAssistPreferencePage extends AbstractAntEditorPreferencePage {
-		
-	private final String[][] fContentAssistColorListModel= new String[][] {
-		{AntPreferencesMessages.getString("AntCodeAssistPreferencePage.backgroundForCompletionProposals"), AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND }, //$NON-NLS-1$
-		{AntPreferencesMessages.getString("AntCodeAssistPreferencePage.foregroundForCompletionProposals"), AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND }, //$NON-NLS-1$
-	};
-
-	private List fContentAssistColorList;
-	private ColorEditor fContentAssistColorEditor;
-	
-	private Control fAutoInsertDelayText;
-	private Control fAutoInsertTriggerText;
-	private Label fAutoInsertDelayLabel;
-	private Label fAutoInsertTriggerLabel;
-	
-	protected OverlayPreferenceStore createOverlayStore() {
-		
-		ArrayList overlayKeys= new ArrayList();
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.CODEASSIST_AUTOINSERT));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.CODEASSIST_USER_DEFINED_TASKS));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND));		
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS));
-	
-		OverlayPreferenceStore.OverlayKey[] keys= new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return new OverlayPreferenceStore(getPreferenceStore(), keys);
-	}
-	
-	private Label getLabelControl(Control[] labelledTextField){
-		return (Label)labelledTextField[0];
-	}
-
-	private Text getTextControl(Control[] labelledTextField){
-		return (Text)labelledTextField[1];
-	}
-		
-	private Control createContentAssistPage(Composite parent) {
-		Font font= parent.getFont();
-		Composite contentAssistComposite= new Composite(parent, SWT.NULL);
-		GridLayout layout= new GridLayout(); 
-		layout.numColumns= 2;
-		contentAssistComposite.setLayout(layout);
-		contentAssistComposite.setFont(font);
-
-		String text= AntPreferencesMessages.getString("AntCodeAssistPreferencePage.Insert"); //$NON-NLS-1$
-		addCheckBox(contentAssistComposite, text, AntEditorPreferenceConstants.CODEASSIST_AUTOINSERT, 0);		
-
-		text= AntPreferencesMessages.getString("AntCodeAssistPreferencePage.0"); //$NON-NLS-1$
-		addCheckBox(contentAssistComposite, text, AntEditorPreferenceConstants.CODEASSIST_USER_DEFINED_TASKS, 0);
-		
-		text= AntPreferencesMessages.getString("AntCodeAssistPreferencePage.&Enable_auto_activation_2"); //$NON-NLS-1$
-		final Button autoactivation= addCheckBox(contentAssistComposite, text, AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION, 0);
-		autoactivation.addSelectionListener(new SelectionAdapter(){
-			public void widgetSelected(SelectionEvent e) {
-				updateAutoactivationControls();
-			}
-		});		
-		
-		Control[] labelledTextField;
-		text= AntPreferencesMessages.getString("AntCodeAssistPreferencePage.Auto_activation_&delay__3"); //$NON-NLS-1$
-		String[] errorMessages= new String[]{AntPreferencesMessages.getString("AntCodeAssistPreferencePage.empty_input_auto_activation"), AntPreferencesMessages.getString("AntCodeAssistPreferencePage.invalid_input_auto_activation")};  //$NON-NLS-1$//$NON-NLS-2$
-		labelledTextField= addLabelledTextField(contentAssistComposite, text, AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 4, 0, errorMessages);
-		fAutoInsertDelayLabel= getLabelControl(labelledTextField);
-		fAutoInsertDelayText= getTextControl(labelledTextField);
-		
-		text= AntPreferencesMessages.getString("AntCodeAssistPreferencePage.Auto_activation_tri&ggers__4"); //$NON-NLS-1$
-		labelledTextField= addLabelledTextField(contentAssistComposite, text, AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS, 4, 0, null);
-		fAutoInsertTriggerLabel= getLabelControl(labelledTextField);
-		fAutoInsertTriggerText= getTextControl(labelledTextField);
-		
-		Label label= new Label(contentAssistComposite, SWT.LEFT);
-		label.setText(AntPreferencesMessages.getString("AntCodeAssistPreferencePage.Code_assist_colo&r_options__5")); //$NON-NLS-1$
-		label.setFont(font);
-		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan= 2;
-		label.setLayoutData(gd);
-
-		Composite editorComposite= new Composite(contentAssistComposite, SWT.NONE);
-		layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		editorComposite.setLayout(layout);
-		editorComposite.setFont(font);
-		gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL);
-		gd.horizontalSpan= 2;
-		editorComposite.setLayoutData(gd);		
-
-		fContentAssistColorList= new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);
-		gd= new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
-		gd.heightHint= convertHeightInCharsToPixels(3);
-		fContentAssistColorList.setLayoutData(gd);
-		fContentAssistColorList.setFont(font);
-						
-		Composite stylesComposite= new Composite(editorComposite, SWT.NONE);
-		layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		layout.numColumns= 2;
-		stylesComposite.setLayout(layout);
-		stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		stylesComposite.setFont(font);
-		
-		label= new Label(stylesComposite, SWT.LEFT);
-		label.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.6")); //$NON-NLS-1$
-		label.setFont(font);
-		gd= new GridData();
-		gd.horizontalAlignment= GridData.BEGINNING;
-		label.setLayoutData(gd);
-
-		fContentAssistColorEditor= new ColorEditor(stylesComposite);
-		Button colorButton= fContentAssistColorEditor.getButton();
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalAlignment= GridData.BEGINNING;
-		colorButton.setLayoutData(gd);
-
-		fContentAssistColorList.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				handleContentAssistColorListSelection();
-			}
-		});
-		
-		colorButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				int i= fContentAssistColorList.getSelectionIndex();
-				String key= fContentAssistColorListModel[i][1];
-				
-				PreferenceConverter.setValue(getOverlayStore(), key, fContentAssistColorEditor.getColorValue());
-			}
-		});
-
-		return contentAssistComposite;
-	}
-	
-	private void handleContentAssistColorListSelection() {	
-		int i= fContentAssistColorList.getSelectionIndex();
-		String key= fContentAssistColorListModel[i][1];
-		RGB rgb= PreferenceConverter.getColor(getOverlayStore(), key);
-		fContentAssistColorEditor.setColorValue(rgb);
-	}
-		
-	private void updateAutoactivationControls() {
-	   boolean autoactivation= getOverlayStore().getBoolean(AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION);
-	   fAutoInsertDelayText.setEnabled(autoactivation);
-	   fAutoInsertDelayLabel.setEnabled(autoactivation);
-
-	   fAutoInsertTriggerText.setEnabled(autoactivation);
-	   fAutoInsertTriggerLabel.setEnabled(autoactivation);
-   }
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		getOverlayStore().load();
-		getOverlayStore().start();
-		
-		Composite control= new Composite(parent, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		control.setLayout(layout);		
-		createContentAssistPage(control);
-				
-		initialize();
-		
-		applyDialogFont(control);
-		//TODO set help context
-		//WorkbenchHelp.setHelp(control, IAntUIHelpContextIds.ANT_CONTENTASSIST_PREFERENCE_PAGE);
-		return control;
-	}
-	
-	private void initialize() {
-		
-		initializeFields();
-		
-		for (int i= 0; i < fContentAssistColorListModel.length; i++) {
-			fContentAssistColorList.add(fContentAssistColorListModel[i][0]);
-		}
-		fContentAssistColorList.getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				if (fContentAssistColorList != null && !fContentAssistColorList.isDisposed()) {
-					fContentAssistColorList.select(0);
-					handleContentAssistColorListSelection();
-				}
-			}
-		});
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AbstractAntEditorPreferencePage#handleDefaults()
-	 */
-	protected void handleDefaults() {
-		handleContentAssistColorListSelection();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntCodeFormatterPreferencePage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntCodeFormatterPreferencePage.java
deleted file mode 100644
index 16cf93d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntCodeFormatterPreferencePage.java
+++ /dev/null
@@ -1,182 +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.ant.internal.ui.preferences;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.AntSourceViewerConfiguration;
-import org.eclipse.ant.internal.ui.editor.formatter.FormattingPreferences;
-import org.eclipse.ant.internal.ui.editor.formatter.XmlFormatter;
-import org.eclipse.ant.internal.ui.editor.text.AntDocumentSetupParticipant;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.texteditor.ChainedPreferenceStore;
-
-/*
- * The page to configure the code formatter options.
- */
-public class AntCodeFormatterPreferencePage extends AbstractAntEditorPreferencePage {
-	
-	private SourceViewer fPreviewViewer;
-	private AntPreviewerUpdater fPreviewerUpdater;
-	
-	protected OverlayPreferenceStore createOverlayStore() {
-		List overlayKeys= new ArrayList();
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.FORMATTER_WRAP_LONG));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.FORMATTER_ALIGN));				
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, AntEditorPreferenceConstants.FORMATTER_MAX_LINE_LENGTH));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.FORMATTER_TAB_CHAR));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, AntEditorPreferenceConstants.FORMATTER_TAB_SIZE));
-		
-		OverlayPreferenceStore.OverlayKey[] keys= new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return new OverlayPreferenceStore(getPreferenceStore(), keys);
-	}
-	
-	/*
-	 * @see PreferencePage#createControl(Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		//TODO set help
-		//WorkbenchHelp.setHelp(getControl(), "ANT_FORMATTER_PREFERENCE_PAGE"); //$NON-NLS-1$
-	}
-
-	protected Control createContents(Composite parent) {
-		initializeDialogUnits(parent);
-		getOverlayStore().load();
-		getOverlayStore().start();
-		int numColumns= 2;
-		Composite result= new Composite(parent, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		//layout.verticalSpacing= convertVerticalDLUsToPixels(10);
-		//layout.horizontalSpacing= convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		result.setLayout(layout);
-		
-		Group indentationGroup= createGroup(numColumns, result, AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.0")); //$NON-NLS-1$
-		
-		String labelText= AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.1"); //$NON-NLS-1$
-		String[] errorMessages= new String[]{AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.2"), AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.3")}; //$NON-NLS-1$ //$NON-NLS-2$
-		addTextField(indentationGroup, labelText, AntEditorPreferenceConstants.FORMATTER_TAB_SIZE, 3, 0, errorMessages);
-		
-		labelText= AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.4"); //$NON-NLS-1$
-		addCheckBox(indentationGroup, labelText, AntEditorPreferenceConstants.FORMATTER_TAB_CHAR, 1);
-		
-		Group wrappingGroup= createGroup(numColumns, result, AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.6")); //$NON-NLS-1$
-		labelText= AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.7"); //$NON-NLS-1$
-		errorMessages= new String[]{AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.8"), AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.9")}; //$NON-NLS-1$ //$NON-NLS-2$
-		addTextField(wrappingGroup, labelText, AntEditorPreferenceConstants.FORMATTER_MAX_LINE_LENGTH, 3, 0, errorMessages);
-		labelText= AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.10"); //$NON-NLS-1$
-		addCheckBox(wrappingGroup, labelText, AntEditorPreferenceConstants.FORMATTER_WRAP_LONG, 1);
-		labelText= AntPreferencesMessages.getString("AntCodeFormatterPreferencePage.5"); //$NON-NLS-1$
-		addCheckBox(wrappingGroup, labelText, AntEditorPreferenceConstants.FORMATTER_ALIGN, 1);
-		
-		
-		Label label= new Label(result, SWT.LEFT);
-		label.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.9")); //$NON-NLS-1$
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Control previewer= createPreviewer(result);
-		GridData gd= new GridData(GridData.FILL_BOTH);
-		gd.widthHint= convertWidthInCharsToPixels(20);
-		gd.heightHint= convertHeightInCharsToPixels(5);
-		previewer.setLayoutData(gd);
-		
-		initializeFields();
-		
-		applyDialogFont(result);
-	
-		return result;
-	}
-	
-	/**
-	 * Convenience method to create a group
-	 */
-	private Group createGroup(int numColumns, Composite parent, String text ) {
-		final Group group= new Group(parent, SWT.NONE);
-		GridData gd= new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan= numColumns;
-		gd.widthHint= 0;
-		group.setLayoutData(gd);
-		group.setFont(parent.getFont());
-		
-		final GridLayout layout= new GridLayout(numColumns, false);
-		layout.verticalSpacing=  convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		layout.horizontalSpacing= convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.marginHeight= 0;//convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		layout.marginWidth= 0;convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-		
-		group.setLayout(layout);
-		group.setText(text);
-		return group;
-	}
-	
-	private Control createPreviewer(Composite parent) {
-		fPreviewViewer = new SourceViewer(parent, null, null, false, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-        
-		AntSourceViewerConfiguration configuration = new AntSourceViewerConfiguration();        
-	
-		fPreviewViewer.configure(configuration);
-		fPreviewViewer.setEditable(false);	
-		Font font= JFaceResources.getFont(JFaceResources.TEXT_FONT);
-		fPreviewViewer.getTextWidget().setFont(font);    
-		
-		IPreferenceStore store= new ChainedPreferenceStore(new IPreferenceStore[] { getOverlayStore(), EditorsUI.getPreferenceStore() });
-		fPreviewerUpdater= new AntPreviewerUpdater(fPreviewViewer, configuration, store);
-		
-		String content= loadPreviewContentFromFile("FormatPreviewCode.txt"); //$NON-NLS-1$
-		content= formatContent(content, store);
-		IDocument document = new Document(content);       
-		new AntDocumentSetupParticipant().setup(document);
-		fPreviewViewer.setDocument(document);
-		
-		return fPreviewViewer.getControl();
-	}
-
-	private String formatContent(String content, IPreferenceStore preferenceStore) {
-		FormattingPreferences prefs= new FormattingPreferences();
-		prefs.setPreferenceStore(preferenceStore);
-		return XmlFormatter.format(content, prefs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AbstractAntEditorPreferencePage#handleDefaults()
-	 */
-	protected void handleDefaults() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (fPreviewerUpdater != null) {
-			fPreviewerUpdater.dispose();
-		}
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntContentProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntContentProvider.java
deleted file mode 100644
index b4bc59c..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntContentProvider.java
+++ /dev/null
@@ -1,89 +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.ant.internal.ui.preferences;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-/**
- * Content provider that maintains a generic list of objects which are shown in
- * a table viewer.
- */
-public class AntContentProvider implements IStructuredContentProvider {
-	protected List elements = new ArrayList();
-	protected TableViewer tableViewer;
-	private ViewerSorter sorter= null;
-
-	public void add(Object o) {
-		if (elements.contains(o)) {
-			return;
-		}
-		elements.add(o);
-		tableViewer.add(o);
-		tableViewer.setSelection(new StructuredSelection(o), true);
-	}
-
-	public void dispose() {
-	}
-
-	public Object[] getElements(Object inputElement) {
-		return elements.toArray();
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		tableViewer = (TableViewer) viewer;
-		elements.clear();
-		if (newInput != null) {
-			tableViewer.setSorter(getSorter());
-			List list;
-			if (newInput instanceof List) {
-				list= (List) newInput;
-			} else {
-				list= Arrays.asList((Object[]) newInput);	
-			}
-			elements.addAll(list);
-		}
-	}
-
-	public void remove(Object o) {
-		elements.remove(o);
-		tableViewer.remove(o);
-	}
-	
-	public void remove(IStructuredSelection selection) {
-		Object[] array= selection.toArray();
-		elements.removeAll(Arrays.asList(array));
-		tableViewer.remove(array);
-	}
-	
-	protected ViewerSorter getSorter() {
-		if (sorter == null) {
-			sorter= new ViewerSorter() {
-				/**
-				 * @see org.eclipse.jface.viewers.ViewerSorter#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-				 */
-				public int compare(Viewer viewer, Object e1, Object e2) {
-					return e1.toString().compareToIgnoreCase(e2.toString());
-				}
-			};
-		}
-		return sorter;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntEditorPreferenceConstants.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntEditorPreferenceConstants.java
deleted file mode 100644
index 068a712..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntEditorPreferenceConstants.java
+++ /dev/null
@@ -1,292 +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.ant.internal.ui.preferences;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.swt.graphics.RGB;
-
-/**
- * Preference constants used for the Ant Editor
- */
-public class AntEditorPreferenceConstants {
-
-	private AntEditorPreferenceConstants() {
-	}
-	
-	/**
-	 * A named preference that controls if the Ant Editor code assist gets auto activated.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 */
-	public final static String CODEASSIST_AUTOACTIVATION= "content_assist_autoactivation"; //$NON-NLS-1$
-
-	/**
-	 * A name preference that holds the auto activation delay time in milli seconds.
-	 * <p>
-	 * Value is of type <code>Int</code>.
-	 * </p>
-	 */
-	public final static String CODEASSIST_AUTOACTIVATION_DELAY= "content_assist_autoactivation_delay"; //$NON-NLS-1$
-
-	/**
-	 * A named preference that controls if the Ant editor code assist inserts a
-	 * proposal automatically if only one proposal is available.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 * @since 2.1
-	 */
-	public final static String CODEASSIST_AUTOINSERT= "content_assist_autoinsert"; //$NON-NLS-1$
-
-	/**
-	 * A named preference that holds the characters that auto activate code assist in an Ant buildfile.
-	 * <p>
-	 * Value is of type <code>Sring</code>. All characters that trigger auto code assist in an Ant buildfile.
-	 * </p>
-	 */
-	public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS= "content_assist_autoactivation_triggers_java"; //$NON-NLS-1$
-
-	/**
-	 * A named preference that controls if the Ant editor presents code assist proposals for 
-	 * user defined tasks
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 * @since 3.0
-	 */
-	public final static String CODEASSIST_USER_DEFINED_TASKS= "content_assist_userDefinedTasks"; //$NON-NLS-1$
-	
-	/**
-	 * The symbolic names for colors for displaying code assist proposals
-	 * @see org.eclipse.jface.resource.ColorRegistry
-	 */
-	public final static String CODEASSIST_PROPOSALS_BACKGROUND= "org.eclipse.ant.ui.codeAssistProposalsBackgroundColor"; //$NON-NLS-1$
-	public final static String CODEASSIST_PROPOSALS_FOREGROUND= "org.eclipse.ant.ui.codeAssistProposalsForegroundColor"; //$NON-NLS-1$		
-	public static final String CURRENT_LINE_COLOR = "org.eclipse.ant.ui.currentLineHightlightColor"; //$NON-NLS-1$
-	public static final String LINE_NUMBER_RULER_COLOR = "org.eclipse.ant.ui.lineNumberForegroundColor"; //$NON-NLS-1$
-	public static final String PRINT_MARGIN_COLOR = "org.eclipse.ant.ui.printMarginColor"; //$NON-NLS-1$	
-	
-	
-	/**
-	 * A named preference that specifies if the editor uses spaces for tabs.
-	 * <p>
-	 * Value is of type <code>Boolean</code>. If <code>true</code>spaces instead of tabs are used
-	 * in the editor. If <code>false</code> the editor inserts a tab character when pressing the tab
-	 * key.
-	 * </p>
-	 */
-	public final static String EDITOR_SPACES_FOR_TABS= "spaces_for_tabs"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that specifies the tab size for the Ant formatter.
-	 * <p>
-	 * Value is of type <code>int</code>.
-	 * </p>
-	 */
-	public static final String FORMATTER_TAB_SIZE= "formatter_tab_size"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that specifies if the Ant formatter uses spaces for tabs.
-	 * <p>
-	 * Value is of type <code>boolean</code>. If <code>false</code> spaces instead of tabs are used
-	 * when formatting. If <code>true</code> the formatter inserts a tab character for indenting.
-	 * </p>
-	 */
-	public static final String FORMATTER_TAB_CHAR= "formatter_tab_char"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that specifies if the Ant formatter aligns the final
-	 * &quote&gt&quote in multi-line element tags
-	 * <p>
-	 * Value is of type <code>Boolean</code>. If <code>true</code> the final
-	 * &quote&gt&quote in multi-line element tags are aligned by the formatter.
-	 * </p>
-	 */
-	public static final String FORMATTER_ALIGN= "formatter_align"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that specifies the maximum line length for the Ant formatter.
-	 * <p>
-	 * Value is of type <code>int</code>.
-	 * </p>
-	 */
-	public static final String FORMATTER_MAX_LINE_LENGTH= "formatter_max_line_length"; //$NON-NLS-1$
-			
-	/**
-	 * A named preference that specifies if the Ant formatter should wrap elements that are longer than
-	 * the maximum line length.
-	 * <p>
-	 * Value is of type <code>Boolean</code>. If <code>true</code> long elements are wrapped
-	 * when formatting in the editor.
-	 * </p>
-	 */
-	public static final String FORMATTER_WRAP_LONG= "formatter_wrap_long"; //$NON-NLS-1$
-	
-	/**
-	 * Boolean preference identifier constant which specifies whether the Ant editor should
-	 * format templates on insert.
-	 */
-	public static final String TEMPLATES_USE_CODEFORMATTER= "templates_use_codeformatter"; //$NON-NLS-1$
-
-	/**
-	 * Preference key suffix for bold text style preference keys.
-	 * 
-	 */
-	public static final String EDITOR_BOLD_SUFFIX= "_bold"; //$NON-NLS-1$
-
-	/**
-	 * Preference key suffix for italic text style preference keys.
-	 */
-	public static final String EDITOR_ITALIC_SUFFIX= "_italic"; //$NON-NLS-1$
-	
-	/**
-	 * Preference key prefix for all problem preference keys.
-	 */
-	public static final String PROBLEM= "problem"; //$NON-NLS-1$
-	
-	/**
-	 * String preference identifier constant which specifies the severity level for problems 
-	 * related to classpath in the Ant editor
-	 */
-	public static final String PROBLEM_CLASSPATH= PROBLEM + "_classpath";  //$NON-NLS-1$
-	
-	/**
-	 * String preference identifier constant which specifies the severity level for problems 
-	 * related to properties in the Ant editor
-	 */
-	public static final String PROBLEM_PROPERTIES= PROBLEM + "_properties";  //$NON-NLS-1$
-	
-	/**
-	 * String preference identifier constant which specifies the severity level for problems 
-	 * related to imports in the Ant editor
-	 */
-	public static final String PROBLEM_IMPORTS= PROBLEM + "_imports";  //$NON-NLS-1$
-	
-	/**
-	 * String preference identifier constant which specifies the severity level for problems 
-	 * related to tasks in the Ant editor
-	 */
-	public static final String PROBLEM_TASKS= PROBLEM + "_tasks";  //$NON-NLS-1$
-    
-    /**
-     * String preference identifier constant which specifies the severity level for problems 
-     * related to security exceptions in the Ant editor
-     */
-    public static final String PROBLEM_SECURITY= PROBLEM + "_security";  //$NON-NLS-1$
-	
-	/**
-	 * The constants allowable for the severity levels for problem preferences
-	 */
-	public static final String BUILDFILE_ERROR = "error"; //$NON-NLS-1$
-	public static final String BUILDFILE_WARNING = "warning"; //$NON-NLS-1$
-	public static final String BUILDFILE_IGNORE = "ignore"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that controls whether folding is enabled in the Ant editor.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 * 
-	 * @since 3.1
-	 */
-	public static final String EDITOR_FOLDING_ENABLED= "editor_folding_enabled"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that stores the value for comment folding.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 * 
-	 * @since 3.1
-	 */
-	public static final String EDITOR_FOLDING_COMMENTS= "editor_folding_comments"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that stores the value for target folding.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 * 
-	 * @since 3.1
-	 */
-	public static final String EDITOR_FOLDING_TARGETS= "editor_folding_targets"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that stores the value for DTD folding.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 * 
-	 * @since 3.1
-	 */
-	public static final String EDITOR_FOLDING_DTD= "editor_folding_dtd"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that stores the value for defining elements folding.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 * 
-	 * @since 3.1
-	 */
-	public static final String EDITOR_FOLDING_DEFINING= "editor_folding_defining"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that defines whether the hint to make hover sticky should be shown.
-	 *
-	 * @since 3.1
-	 */
-	public static final String EDITOR_SHOW_TEXT_HOVER_AFFORDANCE= "editor_show_text_hover_affordance"; //$NON-NLS-1$
-	
-	/**
-	 * A named preference that controls if segmented view (show selected element only) is turned on or off.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 * @since 3.1
-	 */
-	public static final String EDITOR_SHOW_SEGMENTS= "editor_show_segments"; //$NON-NLS-1$
-
-	public static void initializeDefaultValues(IPreferenceStore store) {
-		
-		store.setDefault(CODEASSIST_AUTOINSERT, true);
-		store.setDefault(CODEASSIST_USER_DEFINED_TASKS, true);
-		store.setDefault(CODEASSIST_AUTOACTIVATION, true);
-		store.setDefault(CODEASSIST_AUTOACTIVATION_DELAY, 500);
-		PreferenceConverter.setDefault(store, CODEASSIST_PROPOSALS_BACKGROUND, new RGB(254, 241, 233));
-		PreferenceConverter.setDefault(store, CODEASSIST_PROPOSALS_FOREGROUND, new RGB(0, 0, 0));
-		store.setDefault(CODEASSIST_AUTOACTIVATION_TRIGGERS, "<${"); //$NON-NLS-1$
-		
-		store.setDefault(EDITOR_SPACES_FOR_TABS, false);
-		
-		store.setDefault(FORMATTER_TAB_CHAR, true);
-		store.setDefault(FORMATTER_TAB_SIZE, 4);
-		store.setDefault(FORMATTER_ALIGN, false);
-		store.setDefault(FORMATTER_MAX_LINE_LENGTH, 80);
-		store.setDefault(FORMATTER_WRAP_LONG, false);
-		
-		store.setDefault(TEMPLATES_USE_CODEFORMATTER, true);
-		
-        store.setDefault(PROBLEM_SECURITY, BUILDFILE_WARNING);
-		store.setDefault(PROBLEM_CLASSPATH, BUILDFILE_WARNING);
-		store.setDefault(PROBLEM_PROPERTIES, BUILDFILE_IGNORE);
-		store.setDefault(PROBLEM_IMPORTS, BUILDFILE_WARNING);
-		store.setDefault(PROBLEM_TASKS, BUILDFILE_IGNORE);
-		
-		store.setDefault(EDITOR_FOLDING_ENABLED, true);
-		
-		store.setDefault(EDITOR_SHOW_TEXT_HOVER_AFFORDANCE, true);
-		
-		store.setDefault(EDITOR_SHOW_SEGMENTS, false);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntEditorPreferencePage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntEditorPreferencePage.java
deleted file mode 100644
index f524aad..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntEditorPreferencePage.java
+++ /dev/null
@@ -1,759 +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.ant.internal.ui.preferences;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.StringTokenizer;
-import org.eclipse.ant.internal.ui.AntSourceViewerConfiguration;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.editor.text.AntDocumentSetupParticipant;
-import org.eclipse.ant.internal.ui.editor.text.IAntEditorColorConstants;
-import org.eclipse.jdt.internal.ui.preferences.CHyperLink;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-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.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-import org.eclipse.ui.editors.text.EditorsUI;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-import org.eclipse.ui.texteditor.ChainedPreferenceStore;
-
-/*
- * The page for setting the editor options.
- */
-public class AntEditorPreferencePage extends AbstractAntEditorPreferencePage {
-	
-	protected static class ControlData {
-		private String fKey;
-		private String[] fValues;
-		
-		public ControlData(String key, String[] values) {
-			fKey= key;
-			fValues= values;
-		}
-		
-		public String getKey() {
-			return fKey;
-		}
-		
-		public String getValue(boolean selection) {
-			int index= selection ? 0 : 1;
-			return fValues[index];
-		}
-		
-		public String getValue(int index) {
-			return fValues[index];
-		}		
-		
-		public int getSelection(String value) {
-			if (value != null) {
-				for (int i= 0; i < fValues.length; i++) {
-					if (value.equals(fValues[i])) {
-						return i;
-					}
-				}
-			}
-			return fValues.length -1; // assume the last option is the least severe
-		}
-	}
-	
-	/**
-	 * Item in the highlighting color list.
-	 * 
-	 * @since 3.0
-	 */
-	private class HighlightingColorListItem {
-		/** Display name */
-		private String fDisplayName;
-		/** Color preference key */
-		private String fColorKey;
-		/** Bold preference key */
-		private String fBoldKey;
-		/** Italic preference key */
-		private String fItalicKey;
-		/** Item color */
-		private Color fItemColor;
-		
-		/**
-		 * Initialize the item with the given values.
-		 * 
-		 * @param displayName the display name
-		 * @param colorKey the color preference key
-		 * @param boldKey the bold preference key
-		 * @param italicKey the italic preference key
-		 * @param itemColor the item color
-		 */
-		public HighlightingColorListItem(String displayName, String colorKey, String boldKey, String italicKey, Color itemColor) {
-			fDisplayName= displayName;
-			fColorKey= colorKey;
-			fBoldKey= boldKey;
-			fItalicKey= italicKey;
-			fItemColor= itemColor;
-		}
-		
-		/**
-		 * @return the bold preference key
-		 */
-		public String getBoldKey() {
-			return fBoldKey;
-		}
-		
-		/**
-		 * @return the bold preference key
-		 */
-		public String getItalicKey() {
-			return fItalicKey;
-		}
-		
-		/**
-		 * @return the color preference key
-		 */
-		public String getColorKey() {
-			return fColorKey;
-		}
-		
-		/**
-		 * @return the display name
-		 */
-		public String getDisplayName() {
-			return fDisplayName;
-		}
-		
-		/**
-		 * @return the item color
-		 */
-		public Color getItemColor() {
-			return fItemColor;
-		}
-	}
-	
-	/**
-	 * Color list label provider.
-	 * 
-	 * @since 3.0
-	 */
-	private class ColorListLabelProvider extends LabelProvider implements IColorProvider {
-
-		/*
-		 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
-		 */
-		public String getText(Object element) {
-			return ((HighlightingColorListItem)element).getDisplayName();
-		}
-		
-		/*
-		 * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
-		 */
-		public Color getForeground(Object element) {
-			return ((HighlightingColorListItem)element).getItemColor();
-		}
-
-		/*
-		 * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
-		 */
-		public Color getBackground(Object element) {
-			return null;
-		}
-	}
-	
-	/**
-	 * Color list content provider.
-	 * 
-	 * @since 3.0
-	 */
-	private class ColorListContentProvider implements IStructuredContentProvider {
-
-		/*
-		 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
-		 */
-		public Object[] getElements(Object inputElement) {
-			return ((java.util.List)inputElement).toArray();
-		}
-
-		/*
-		 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-		 */
-		public void dispose() {
-		}
-
-		/*
-		 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-		 */
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
-	
-	/** The keys of the overlay store. */
-	private String[][] fSyntaxColorListModel;
-	
-	private final String[] fProblemPreferenceKeys= new String[] {
-			AntEditorPreferenceConstants.PROBLEM_CLASSPATH,
-			AntEditorPreferenceConstants.PROBLEM_PROPERTIES,
-			AntEditorPreferenceConstants.PROBLEM_IMPORTS,
-			AntEditorPreferenceConstants.PROBLEM_TASKS,
-            AntEditorPreferenceConstants.PROBLEM_SECURITY
-		};
-	
-	private ColorEditor fSyntaxForegroundColorEditor;
-	private Button fBoldCheckBox;
-	private Button fItalicCheckBox;
-	
-	private TableViewer fHighlightingColorListViewer;
-	private final java.util.List fHighlightingColorList= new ArrayList(5);
-	
-	private SourceViewer fPreviewViewer;
-	private AntPreviewerUpdater fPreviewerUpdater;
-	
-	private SelectionListener fSelectionListener;
-	protected Map fWorkingValues;
-	protected ArrayList fComboBoxes;
-	
-	public AntEditorPreferencePage() {
-		super();
-		setDescription(AntPreferencesMessages.getString("AntEditorPreferencePage.description")); //$NON-NLS-1$
-	}
-	
-	protected OverlayPreferenceStore createOverlayStore() {
-		fSyntaxColorListModel= new String[][] {
-				{AntPreferencesMessages.getString("AntEditorPreferencePage.Ant_editor_text_1"), IAntEditorColorConstants.TEXT_COLOR, null}, //$NON-NLS-1$
-				{AntPreferencesMessages.getString("AntEditorPreferencePage.Ant_editor_processing_instuctions_2"),  IAntEditorColorConstants.PROCESSING_INSTRUCTIONS_COLOR, null}, //$NON-NLS-1$
-				{AntPreferencesMessages.getString("AntEditorPreferencePage.Ant_editor_constant_strings_3"),  IAntEditorColorConstants.STRING_COLOR, null},  //$NON-NLS-1$
-				{AntPreferencesMessages.getString("AntEditorPreferencePage.Ant_editor_tags_4"),    IAntEditorColorConstants.TAG_COLOR, null},  //$NON-NLS-1$
-				{AntPreferencesMessages.getString("AntEditorPreferencePage.Ant_editor_comments_5"), IAntEditorColorConstants.XML_COMMENT_COLOR, null}, //$NON-NLS-1$
-				{AntPreferencesMessages.getString("AntEditorPreferencePage.26"), IAntEditorColorConstants.XML_DTD_COLOR, null} //$NON-NLS-1$
-			};
-		ArrayList overlayKeys= new ArrayList();			
-		
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.EDITOR_SPACES_FOR_TABS));
-			
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.CODEASSIST_AUTOINSERT));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AntEditorPreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND));		
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AntEditorPreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS));
-	
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.EDITOR_FOLDING_ENABLED));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.EDITOR_FOLDING_COMMENTS));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.EDITOR_FOLDING_DTD));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.EDITOR_FOLDING_DEFINING));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.EDITOR_FOLDING_TARGETS));
-		
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AntEditorPreferenceConstants.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE));
-		
-		for (int i= 0; i < fSyntaxColorListModel.length; i++) {
-			String colorKey= fSyntaxColorListModel[i][1];
-			addTextKeyToCover(overlayKeys, colorKey);
-		}
-		
-		OverlayPreferenceStore.OverlayKey[] keys= new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return new OverlayPreferenceStore(getPreferenceStore(), keys);
-	}
-
-	private void addTextKeyToCover(ArrayList overlayKeys, String mainKey) {
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, mainKey));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, mainKey + AntEditorPreferenceConstants.EDITOR_BOLD_SUFFIX));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, mainKey + AntEditorPreferenceConstants.EDITOR_ITALIC_SUFFIX));
-	}
-	
-	private Control createAppearancePage(Composite parent) {
-		Font font= parent.getFont();
-
-		Composite appearanceComposite= new Composite(parent, SWT.NONE);
-		appearanceComposite.setFont(font);
-		GridLayout layout= new GridLayout(); 
-		layout.numColumns= 2;
-		appearanceComposite.setLayout(layout);
-
-		String labelText= AntPreferencesMessages.getString("AntEditorPreferencePage.40"); //$NON-NLS-1$
-		addCheckBox(appearanceComposite, labelText, AntEditorPreferenceConstants.EDITOR_SPACES_FOR_TABS, 1);
-		
-		labelText= AntPreferencesMessages.getString("AntEditorPreferencePage.32"); //$NON-NLS-1$
-		addCheckBox(appearanceComposite, labelText, AntEditorPreferenceConstants.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE, 0);
-
-		return appearanceComposite;
-	}
-			
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IAntUIHelpContextIds.ANT_EDITOR_PREFERENCE_PAGE);
-		getOverlayStore().load();
-		getOverlayStore().start();
-		
-		createHeader(parent);
-		
-		TabFolder folder= new TabFolder(parent, SWT.NONE);
-		folder.setLayout(new TabFolderLayout());	
-		folder.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		TabItem item= new TabItem(folder, SWT.NONE);
-		item.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.general")); //$NON-NLS-1$
-		item.setControl(createAppearancePage(folder));
-		
-		item= new TabItem(folder, SWT.NONE);
-		item.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.1")); //$NON-NLS-1$
-		item.setControl(createSyntaxPage(folder));
-		
-		item= new TabItem(folder, SWT.NONE);
-		item.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.10")); //$NON-NLS-1$
-		item.setControl(createProblemsTabContent(folder));
-		
-		item= new TabItem(folder, SWT.NONE);
-		item.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.19")); //$NON-NLS-1$
-		item.setControl(createFoldingTabContent(folder));
-		
-		initialize();
-		
-		applyDialogFont(parent);
-		return folder;
-	}
-	
-	private Control createFoldingTabContent(TabFolder folder) {
-		Composite composite= new Composite(folder, SWT.NULL);
-		
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		composite.setLayout(layout);
-		
-		addCheckBox(composite, AntPreferencesMessages.getString("AntEditorPreferencePage.20"), AntEditorPreferenceConstants.EDITOR_FOLDING_ENABLED, 0);  //$NON-NLS-1$
-		
-		Label label= new Label(composite, SWT.LEFT);
-		label.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.21")); //$NON-NLS-1$
-		
-		addCheckBox(composite, AntPreferencesMessages.getString("AntEditorPreferencePage.22"), AntEditorPreferenceConstants.EDITOR_FOLDING_DTD, 0); //$NON-NLS-1$
-		addCheckBox(composite, AntPreferencesMessages.getString("AntEditorPreferencePage.23"), AntEditorPreferenceConstants.EDITOR_FOLDING_COMMENTS, 0); //$NON-NLS-1$
-		addCheckBox(composite, AntPreferencesMessages.getString("AntEditorPreferencePage.24"), AntEditorPreferenceConstants.EDITOR_FOLDING_DEFINING, 0); //$NON-NLS-1$
-		addCheckBox(composite, AntPreferencesMessages.getString("AntEditorPreferencePage.25"), AntEditorPreferenceConstants.EDITOR_FOLDING_TARGETS, 0); //$NON-NLS-1$
-		return composite;
-	}
-	
-	private void initialize() {
-		
-		initializeFields();
-		
-		for (int i= 0, n= fSyntaxColorListModel.length; i < n; i++) {
-			fHighlightingColorList.add(
-				new HighlightingColorListItem (fSyntaxColorListModel[i][0], fSyntaxColorListModel[i][1],
-						fSyntaxColorListModel[i][1] + AntEditorPreferenceConstants.EDITOR_BOLD_SUFFIX, 
-						fSyntaxColorListModel[i][1] + AntEditorPreferenceConstants.EDITOR_ITALIC_SUFFIX, null));
-		}
-		fHighlightingColorListViewer.setInput(fHighlightingColorList);
-		fHighlightingColorListViewer.setSelection(new StructuredSelection(fHighlightingColorListViewer.getElementAt(0)));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AbstractAntEditorPreferencePage#handleDefaults()
-	 */
-	protected void handleDefaults() {
-		handleSyntaxColorListSelection();
-		restoreWorkingValuesToDefaults();
-	}
-	
-	private Control createSyntaxPage(Composite parent) {
-		
-		Composite colorComposite= new Composite(parent, SWT.NONE);
-		colorComposite.setLayout(new GridLayout());
-
-		Label label= new Label(colorComposite, SWT.LEFT);
-		label.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.5")); //$NON-NLS-1$
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Composite editorComposite= new Composite(colorComposite, SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		editorComposite.setLayout(layout);
-		GridData gd= new GridData(GridData.FILL_BOTH);
-		editorComposite.setLayoutData(gd);		
-
-		fHighlightingColorListViewer= new TableViewer(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
-		fHighlightingColorListViewer.setLabelProvider(new ColorListLabelProvider());
-		fHighlightingColorListViewer.setContentProvider(new ColorListContentProvider());
-		fHighlightingColorListViewer.setSorter(new WorkbenchViewerSorter());
-		gd= new GridData(GridData.FILL_BOTH);
-		gd.heightHint= convertHeightInCharsToPixels(5);
-		fHighlightingColorListViewer.getControl().setLayoutData(gd);
-						
-		Composite stylesComposite= new Composite(editorComposite, SWT.NONE);
-		layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		layout.numColumns= 2;
-		stylesComposite.setLayout(layout);
-		stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		
-		label= new Label(stylesComposite, SWT.LEFT);
-		label.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.6")); //$NON-NLS-1$
-		gd= new GridData();
-		gd.horizontalAlignment= GridData.BEGINNING;
-		label.setLayoutData(gd);
-
-		fSyntaxForegroundColorEditor= new ColorEditor(stylesComposite);
-		Button foregroundColorButton= fSyntaxForegroundColorEditor.getButton();
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalAlignment= GridData.BEGINNING;
-		foregroundColorButton.setLayoutData(gd);
-		
-		fBoldCheckBox= new Button(stylesComposite, SWT.CHECK);
-		fBoldCheckBox.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.7")); //$NON-NLS-1$
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalAlignment= GridData.BEGINNING;
-		gd.horizontalSpan= 2;
-		fBoldCheckBox.setLayoutData(gd);
-		
-		fItalicCheckBox= new Button(stylesComposite, SWT.CHECK);
-		fItalicCheckBox.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.8")); //$NON-NLS-1$
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalAlignment= GridData.BEGINNING;
-		gd.horizontalSpan= 2;
-		fItalicCheckBox.setLayoutData(gd);
-		
-		label= new Label(colorComposite, SWT.LEFT);
-		label.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.9")); //$NON-NLS-1$
-		label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		Control previewer= createPreviewer(colorComposite);
-		gd= new GridData(GridData.FILL_BOTH);
-		gd.widthHint= convertWidthInCharsToPixels(20);
-		gd.heightHint= convertHeightInCharsToPixels(5);
-		previewer.setLayoutData(gd);
-
-		fHighlightingColorListViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleSyntaxColorListSelection();
-			}
-		});
-		
-		foregroundColorButton.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				HighlightingColorListItem item= getHighlightingColorListItem();
-				PreferenceConverter.setValue(getOverlayStore(), item.getColorKey(), fSyntaxForegroundColorEditor.getColorValue());
-			}
-		});
-
-		fBoldCheckBox.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				HighlightingColorListItem item= getHighlightingColorListItem();
-				getOverlayStore().setValue(item.getBoldKey(), fBoldCheckBox.getSelection());
-			}
-		});
-				
-		fItalicCheckBox.addSelectionListener(new SelectionListener() {
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// do nothing
-			}
-			public void widgetSelected(SelectionEvent e) {
-				HighlightingColorListItem item= getHighlightingColorListItem();
-				getOverlayStore().setValue(item.getItalicKey(), fItalicCheckBox.getSelection());
-			}
-		});
-				
-		return colorComposite;
-	}
-	
-	private Control createPreviewer(Composite parent) {
-		fPreviewViewer = new SourceViewer(parent, null, null, false, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-        
-		AntSourceViewerConfiguration configuration = new AntSourceViewerConfiguration();        
-	
-		fPreviewViewer.configure(configuration);
-		fPreviewViewer.setEditable(false);	
-		Font font= JFaceResources.getFont(JFaceResources.TEXT_FONT);
-		fPreviewViewer.getTextWidget().setFont(font);    
-		
-		IPreferenceStore store= new ChainedPreferenceStore(new IPreferenceStore[] { getOverlayStore(), EditorsUI.getPreferenceStore() });
-		fPreviewerUpdater= new AntPreviewerUpdater(fPreviewViewer, configuration, store);
-		
-		String content= loadPreviewContentFromFile("SyntaxPreviewCode.txt"); //$NON-NLS-1$
-		IDocument document = new Document(content);       
-		new AntDocumentSetupParticipant().setup(document);
-		fPreviewViewer.setDocument(document);
-		
-		return fPreviewViewer.getControl();
-	}
-	
-	private void handleSyntaxColorListSelection() {
-		HighlightingColorListItem item= getHighlightingColorListItem();
-		RGB rgb= PreferenceConverter.getColor(getOverlayStore(), item.getColorKey());
-		fSyntaxForegroundColorEditor.setColorValue(rgb);		
-		fBoldCheckBox.setSelection(getOverlayStore().getBoolean(item.getBoldKey()));
-		fItalicCheckBox.setSelection(getOverlayStore().getBoolean(item.getItalicKey()));
-	}
-	
-	/**
-	 * Returns the current highlighting color list item.
-	 * 
-	 * @return the current highlighting color list item
-	 * @since 3.0
-	 */
-	private HighlightingColorListItem getHighlightingColorListItem() {
-		IStructuredSelection selection= (IStructuredSelection) fHighlightingColorListViewer.getSelection();
-		return (HighlightingColorListItem) selection.getFirstElement();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		if (fPreviewerUpdater != null) {
-			fPreviewerUpdater.dispose();
-		}
-	}
-	
-	private Composite createProblemsTabContent(TabFolder folder) {
-		fComboBoxes= new ArrayList();
-		initializeWorkingValues();
-		
-		String[] errorWarningIgnoreLabels= new String[] {
-				AntPreferencesMessages.getString("AntEditorPreferencePage.11"), AntPreferencesMessages.getString("AntEditorPreferencePage.12"), AntPreferencesMessages.getString("AntEditorPreferencePage.13")}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		String[] errorWarningIgnore= new String[] { 
-				AntEditorPreferenceConstants.BUILDFILE_ERROR, 
-				AntEditorPreferenceConstants.BUILDFILE_WARNING, 
-				AntEditorPreferenceConstants.BUILDFILE_IGNORE };
-		
-		int nColumns= 3;
-		
-		GridLayout layout= new GridLayout();
-		layout.numColumns= nColumns;
-
-		Composite othersComposite= new Composite(folder, SWT.NULL);
-		othersComposite.setLayout(layout);
-		
-		Label description= new Label(othersComposite, SWT.WRAP);
-		description.setText(AntPreferencesMessages.getString("AntEditorPreferencePage.14")); //$NON-NLS-1$
-		GridData gd= new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
-		gd.horizontalSpan= nColumns;
-		description.setLayoutData(gd);
-				
-		String label= AntPreferencesMessages.getString("AntEditorPreferencePage.18"); //$NON-NLS-1$
-		addComboBox(othersComposite, label, AntEditorPreferenceConstants.PROBLEM_TASKS, errorWarningIgnore, errorWarningIgnoreLabels, 0);
-		
-		label= AntPreferencesMessages.getString("AntEditorPreferencePage.15"); //$NON-NLS-1$
-		addComboBox(othersComposite, label, AntEditorPreferenceConstants.PROBLEM_CLASSPATH, errorWarningIgnore, errorWarningIgnoreLabels, 0);	
-		
-		label= AntPreferencesMessages.getString("AntEditorPreferencePage.16"); //$NON-NLS-1$
-		addComboBox(othersComposite, label, AntEditorPreferenceConstants.PROBLEM_PROPERTIES, errorWarningIgnore, errorWarningIgnoreLabels, 0);
-
-		label= AntPreferencesMessages.getString("AntEditorPreferencePage.17"); //$NON-NLS-1$
-		addComboBox(othersComposite, label, AntEditorPreferenceConstants.PROBLEM_IMPORTS, errorWarningIgnore, errorWarningIgnoreLabels, 0);
-        
-        label= AntPreferencesMessages.getString("AntEditorPreferencePage.27"); //$NON-NLS-1$
-        addComboBox(othersComposite, label, AntEditorPreferenceConstants.PROBLEM_SECURITY, errorWarningIgnore, errorWarningIgnoreLabels, 0);
-		
-		return othersComposite;
-	}
-	
-	private void initializeWorkingValues() {
-		fWorkingValues= new HashMap(fProblemPreferenceKeys.length);
-		for (int i = 0; i < fProblemPreferenceKeys.length; i++) {
-			String key = fProblemPreferenceKeys[i];
-			fWorkingValues.put(key, getPreferenceStore().getString(key));
-		}
-	}
-	
-	private void restoreWorkingValuesToDefaults() {
-		fWorkingValues= new HashMap(fProblemPreferenceKeys.length);
-		for (int i = 0; i < fProblemPreferenceKeys.length; i++) {
-			String key = fProblemPreferenceKeys[i];
-			fWorkingValues.put(key, getPreferenceStore().getDefaultString(key));
-		}
-		updateControls();
-	}
-
-	protected Combo addComboBox(Composite parent, String label, String key, String[] values, String[] valueLabels, int indent) {
-		ControlData data= new ControlData(key, values);
-		
-		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalIndent= indent;
-				
-		Label labelControl= new Label(parent, SWT.LEFT | SWT.WRAP);
-		labelControl.setText(label);
-		labelControl.setLayoutData(gd);
-		
-		Combo comboBox= new Combo(parent, SWT.READ_ONLY);
-		comboBox.setItems(valueLabels);
-		comboBox.setData(data);
-		comboBox.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		comboBox.addSelectionListener(getSelectionListener());
-		
-		Label placeHolder= new Label(parent, SWT.NONE);
-		placeHolder.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		String currValue= (String)fWorkingValues.get(key);	
-		comboBox.select(data.getSelection(currValue));
-		
-		fComboBoxes.add(comboBox);
-		return comboBox;
-	}
-	
-	protected SelectionListener getSelectionListener() {
-		if (fSelectionListener == null) {
-			fSelectionListener= new SelectionListener() {
-				public void widgetDefaultSelected(SelectionEvent e) {}
-	
-				public void widgetSelected(SelectionEvent e) {
-					controlChanged(e.widget);
-				}
-			};
-		}
-		return fSelectionListener;
-	}
-	
-	protected void controlChanged(Widget widget) {
-		ControlData data= (ControlData) widget.getData();
-		String newValue= null;
-		if (widget instanceof Button) {
-			newValue= data.getValue(((Button)widget).getSelection());			
-		} else if (widget instanceof Combo) {
-			newValue= data.getValue(((Combo)widget).getSelectionIndex());
-		} else {
-			return;
-		}
-		fWorkingValues.put(data.getKey(), newValue);
-	}
-	
-	protected void updateControls() {
-		// update the UI
-		for (int i= fComboBoxes.size() - 1; i >= 0; i--) {
-			Combo curr= (Combo) fComboBoxes.get(i);
-			ControlData data= (ControlData) curr.getData();
-			
-			String currValue= (String) fWorkingValues.get(data.getKey());	
-			curr.select(data.getSelection(currValue));			
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		Iterator iter= fWorkingValues.keySet().iterator();
-		IPreferenceStore store= getPreferenceStore();
-		while (iter.hasNext()) {
-			String key = (String) iter.next();
-			store.putValue(key, (String)fWorkingValues.get(key));
-		}
-		if (store.needsSaving()) {
-			store.putValue(AntEditorPreferenceConstants.PROBLEM, "changed"); //$NON-NLS-1$
-		}
-		return super.performOk();
-	}
-	
-	private void createHeader(Composite contents) {
-		String before= AntPreferencesMessages.getString("AntEditorPreferencePage.0"); //$NON-NLS-1$
-		String linktext= AntPreferencesMessages.getString("AntEditorPreferencePage.2"); //$NON-NLS-1$
-		String linktooltip= AntPreferencesMessages.getString("AntEditorPreferencePage.3"); //$NON-NLS-1$
-		String after= AntPreferencesMessages.getString("AntEditorPreferencePage.4"); //$NON-NLS-1$
-		Control description= createLinkText(contents, new Object[] {
-				before, 
-				new String[] {linktext, "org.eclipse.ui.preferencePages.GeneralTextEditor", linktooltip }, //$NON-NLS-1$
-				after});
-		GridData gridData= new GridData(SWT.FILL, SWT.BEGINNING, true, false);
-		gridData.widthHint= 150; // only expand further if anyone else requires it
-		description.setLayoutData(gridData);
-	}
-	
-	private Control createLinkText(Composite contents, Object[] tokens) {
-		Composite description= new Composite(contents, SWT.NONE);
-		RowLayout rowLayout= new RowLayout(SWT.HORIZONTAL);
-		rowLayout.justify= false;
-		rowLayout.fill= true;
-		rowLayout.marginBottom= 0;
-		rowLayout.marginHeight= 0;
-		rowLayout.marginLeft= 0;
-		rowLayout.marginRight= 0;
-		rowLayout.marginTop= 0;
-		rowLayout.marginWidth= 0;
-		rowLayout.spacing= 0;
-		description.setLayout(rowLayout);
-		
-		for (int i= 0; i < tokens.length; i++) {
-			String text;
-			if (tokens[i] instanceof String[]) {
-				String[] strings= (String[]) tokens[i];
-				text= strings[0];
-				final String target= strings[1];
-				final CHyperLink link= new CHyperLink(description, SWT.NONE);
-				link.setText(text);
-				link.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent e) {
-						PreferencesUtil.createPreferenceDialogOn(link.getShell(), target, null, null);
-					}
-				});
-				if (strings.length > 2)
-					link.setToolTipText(strings[2]);
-				continue;
-			}
-			
-			text= (String) tokens[i];
-			StringTokenizer tokenizer= new StringTokenizer(text, " ", true); //$NON-NLS-1$
-			boolean addSpace= false;
-			while (tokenizer.hasMoreTokens()) {
-				String token= tokenizer.nextToken();
-				if (token.trim().length() == 0 && tokenizer.hasMoreTokens()) {
-					addSpace= true;
-					continue;
-				}
-					
-				Label label= new Label(description, SWT.NONE);
-				label.setText((addSpace ? " " : "") + token); //$NON-NLS-1$ //$NON-NLS-2$
-				addSpace= false;
-			}
-		}
-		
-		return description;
-	}
-
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntObjectLabelProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntObjectLabelProvider.java
deleted file mode 100644
index 4c1c548..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntObjectLabelProvider.java
+++ /dev/null
@@ -1,140 +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.ant.internal.ui.preferences;
-
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.core.Task;
-import org.eclipse.ant.internal.core.AntObject;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.jface.viewers.IColorProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-
-/**
- * Label provider for type elements
- */
-public class AntObjectLabelProvider extends LabelProvider implements ITableLabelProvider, IColorProvider {
-
-	/* (non-Javadoc)
-	 * Method declared on IBaseLabelProvider.
-	 */
-	public void dispose() {
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ITableLabelProvider.
-	 */
-	public Image getColumnImage(Object element, int columnIndex) {
-        if (columnIndex != 0) {
-            return null;
-        }
-		if (element instanceof Property) {
-			Property prop= (Property) element;
-            if (prop.isDefault() && prop.isEclipseRuntimeRequired()) {
-                return AntUIImages.getImage(IAntUIConstants.IMG_ANT_ECLIPSE_RUNTIME_OBJECT);
-            } 
-            return getPropertyImage();
-		} else if (element instanceof AntObject){
-            AntObject object= (AntObject) element;
-            if (object.isDefault() && object.isEclipseRuntimeRequired()) {
-                return AntUIImages.getImage(IAntUIConstants.IMG_ANT_ECLIPSE_RUNTIME_OBJECT);
-            }
-            if (element instanceof Task) {
-                return getTaskImage();
-            }
-            return getTypeImage();
-		}
-		return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on ITableLabelProvider.
-	 */
-	public String getColumnText(Object element, int columnIndex) {
-		if (element instanceof Property) {
-			return getPropertyText((Property) element, columnIndex);
-		} else if (element instanceof AntObject) {	
-			AntObject object = (AntObject) element;
-             switch (columnIndex) {
-                case 0:
-                    return object.toString();
-                case 1:
-                    return object.getClassName();
-                case 2:
-                   return object.getLibraryEntry().getLabel();
-                case 3:
-                    return object.getPluginLabel();
-            }
-		}
-		 
-		return element.toString();	
-	}
-	
-    public String getPropertyText(Property property, int columnIndex) {
-        switch (columnIndex) {
-            case 0:
-                return property.getName();
-            case 1:
-                return property.getValue(false);
-            case 2:
-                if (property.isDefault()) {
-                    return property.getPluginLabel();
-                }
-        }
-        return null;
-    }
-    
-	public static Image getTypeImage() {
-		return AntUIImages.getImage(IAntUIConstants.IMG_ANT_TYPE);
-	}
-	
-	public static Image getTaskImage() {
-		return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJS_TASK_TSK);
-	}
-
-	public static Image getPropertyImage() {
-		return AntUIImages.getImage(IAntUIConstants.IMG_PROPERTY);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IColorProvider#getForeground(java.lang.Object)
-	 */
-	public Color getForeground(Object element) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IColorProvider#getBackground(java.lang.Object)
-	 */
-	public Color getBackground(Object element) {
-		if (element instanceof AntObject) {
-			if (((AntObject) element).isDefault()) {
-				Display display= Display.getCurrent();
-				return display.getSystemColor(SWT.COLOR_INFO_BACKGROUND);		
-			}
-		} else if (element instanceof Property) {
-			if (((Property) element).isDefault()) {
-				Display display= Display.getCurrent();
-				return display.getSystemColor(SWT.COLOR_INFO_BACKGROUND);		
-			}
-		}
-		return null;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPage.java
deleted file mode 100644
index be63515..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPage.java
+++ /dev/null
@@ -1,388 +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.ant.internal.ui.preferences;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.ant.internal.core.AntObject;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-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.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.Shell;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Provides the generic implementation for a sub-page in the
- * Ant preference page.
- */
-public abstract class AntPage {
-    
-    protected static final int ADD_BUTTON = IDialogConstants.CLIENT_ID + 1;
-    protected static final int EDIT_BUTTON = IDialogConstants.CLIENT_ID + 2;
-    protected static final int REMOVE_BUTTON = IDialogConstants.CLIENT_ID + 3;
-    
-	protected SelectionAdapter selectionAdapter = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			buttonPressed(((Integer) e.widget.getData()).intValue());
-		}
-	};
-	private AntRuntimePreferencePage preferencePage;
-	private TableViewer tableViewer;
-	private AntContentProvider contentProvider;
-	
-	protected Button editButton;
-	protected Button removeButton;
-    
-	private final String[] fTableColumnHeaders= {
-	        AntPreferencesMessages.getString("AntPage.0"), AntPreferencesMessages.getString("AntPage.1"), AntPreferencesMessages.getString("AntPage.2"), AntPreferencesMessages.getString("AntPage.3") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-	};
-	private final ColumnLayoutData[] fTableColumnLayouts= {
-	        new ColumnWeightData(40),
-	        new ColumnWeightData(20),
-	        new ColumnWeightData(20),
-	        new ColumnWeightData(20)
-	};  
-
-	/**
-	 * Creates an instance of this page.
-	 */
-	public AntPage(AntRuntimePreferencePage preferencePage) {
-		super();
-		this.preferencePage = preferencePage;
-	}
-	
-	/**
-	 * Adds buttons specific to the page.
-	 */
-	protected abstract void addButtonsToButtonGroup(Composite parent);
-	
-	/**
-	 * Give this page a chance to initialize itself
-	 */
-	protected abstract void initialize();
-	
-	/**
-	 * Adds an object to the contents
-	 */
-	protected void addContent(Object o) {
-		if (contentProvider != null) {
-			contentProvider.add(o);
-		}
-	}
-	
-	/* (non-Javadoc)
-     * @see org.eclipse.ant.internal.ui.preferences.AntPage#buttonPressed(int)
-     */
-    private void buttonPressed(int buttonId) {
-        switch (buttonId) {
-            case ADD_BUTTON :
-                add();
-                break;
-            case EDIT_BUTTON :
-                edit(getSelection());
-                break;
-            case REMOVE_BUTTON :
-                remove();
-                break;
-        }
-    }
-
-	/**
-	 * Creates and returns a button with appropriate size and layout.
-	 * 
-	 * @param parent the control to create the button on
-	 * @param labelKey the key to lookup the button's label
-	 * @param buttonId the id to assign to this button
-	 * @return a new and initialized button
-	 */
-	protected Button createPushButton(Composite parent, String buttonText, int buttonId) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		button.setText(buttonText);
-		button.setData(new Integer(buttonId));
-		button.addSelectionListener(selectionAdapter);
-		preferencePage.setButtonLayoutData(button);
-		return button;
-	}
-	
-	/**
-	 * Creates the group which will contain the buttons.
-	 */
-	protected void createButtonGroup(Composite top) {
-		Composite buttonGroup = new Composite(top, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonGroup.setLayout(layout);
-		buttonGroup.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		buttonGroup.setFont(top.getFont());
-		
-		addButtonsToButtonGroup(buttonGroup);
-	}
-	
-	/**
-	 * Creates the table viewer.
-	 */
-	protected void createTable(Composite parent) {
-		Table table = new Table(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
-		GridData data= new GridData(GridData.FILL_BOTH);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		data.heightHint = table.getItemHeight();
-		data.horizontalSpan= 1;
-		table.setLayoutData(data);
-		table.setFont(parent.getFont());
-        
-		TableLayout tableLayout = new TableLayout();
-		table.setLayout(tableLayout);
-		table.setHeaderVisible(true);
-		table.setLinesVisible(true);
-		
-        // tableViewer.setColumnProperties(fTableColumnProperties);
-		for (int i = 0; i < fTableColumnHeaders.length; i++) {
-		    tableLayout.addColumnData(fTableColumnLayouts[i]);
-		    TableColumn column = new TableColumn(table, SWT.NONE, i);
-		    column.setResizable(fTableColumnLayouts[i].resizable);
-		    column.setText(fTableColumnHeaders[i]);
-		}
-		
-		contentProvider = getContentProvider();
-		tableViewer = new TableViewer(table);
-		tableViewer.setContentProvider(contentProvider);
-		tableViewer.setLabelProvider(new AntObjectLabelProvider());
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				tableSelectionChanged((IStructuredSelection) event.getSelection());
-			}
-		});
-		
-		tableViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				if (!event.getSelection().isEmpty() && editButton.isEnabled()) {
-					edit((IStructuredSelection)event.getSelection());
-				}
-			}
-		});
-		
-		table.addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent event) {
-				if (editButton.isEnabled() && event.character == SWT.DEL && event.stateMask == 0) {
-					remove(tableViewer);
-				}
-			}
-		});	
-	}
-
-	/**
-	 * Returns the content provider to use for the table viewer
-	 * 
-	 * @return AntPageContentProvider
-	 */
-	protected AntContentProvider getContentProvider() {
-		return new AntContentProvider();
-	}
-
-	/**
-	 * Returns the currently listed objects in the table if the library
-	 * for that entry is still included in the preferences.  Default objects
-	 * are included depending on the value of the <code>forDisplay</code> parameter.
-	 * Returns <code>null</code> if this widget has not yet been created
-	 * or has been disposed.
-	 * @param forDisplay Whether the result is to be displayed in the UI or stored in the preferences
-	 * @return The list of objects currently displayed in the table
-	 */
-	protected List getContents(boolean forDisplay) {
-		if (tableViewer == null || tableViewer.getControl().isDisposed()) {
-			return null;
-		}
-		List entries= getPreferencePage().getLibraryEntries();
-		
-		Object[] elements = contentProvider.getElements(tableViewer.getInput());
-		List contents= new ArrayList(elements.length);
-		Object element;
-		AntObject antObject;
-		for (int i = 0; i < elements.length; i++) {
-			element= elements[i];
-			if (element instanceof AntObject) {
-				antObject= (AntObject)element;
-				if (forDisplay) {
-					if (!antObject.isDefault() && !entries.contains(antObject.getLibraryEntry())) {
-						continue;
-					}
-				} else if (antObject.isDefault() || !entries.contains(antObject.getLibraryEntry())) {
-					continue;
-				}
-			}
-			contents.add(element);
-		}
-		return contents;
-	}
-	
-	/**
-	 * Returns the selection in the viewer, or <code>null</code> if none.
-	 */
-	protected final IStructuredSelection getSelection() {
-		if (tableViewer == null || tableViewer.getControl().isDisposed()) {
-			return null;
-		}
-		return ((IStructuredSelection) tableViewer.getSelection());
-	}
-	
-	/**
-	 * Returns the shell of the sub-page.
-	 */
-	protected final Shell getShell() {
-		if (tableViewer == null || tableViewer.getControl().isDisposed()) {
-			return null;
-		}
-		return tableViewer.getControl().getShell();
-	}
-	
-	/**
-	 * Handles the remove button pressed event
-	 */
-	protected void remove() {
-		remove(tableViewer);
-	}
-	
-	protected void remove(TableViewer viewer) {
-		AntContentProvider antContentProvider= (AntContentProvider)viewer.getContentProvider();
-		IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
-		Iterator itr = sel.iterator();
-		while (itr.hasNext()) {
-			antContentProvider.remove(itr.next());
-		}
-	}
-	
-	/**
-	 * Sets the contents of the table on this page.  Has no effect
-	 * if this widget has not yet been created or has been disposed.
-	 */
-	protected void setInput(List inputs) {
-		if (tableViewer == null || tableViewer.getControl().isDisposed()) {
-			return;
-		}
-		tableViewer.setInput(inputs);
-		tableSelectionChanged((IStructuredSelection) tableViewer.getSelection());
-	}
-
-	/**
-	 * Updates the content element in the table viewer.
-	 */
-	protected final void updateContent(Object element) {
-		if (tableViewer == null || tableViewer.getControl().isDisposed()) {
-			return;
-		}
-		tableViewer.update(element, null);
-	}
-	
-	/**
-	 * Creates the default contents of this page
-	 */
-	protected Composite createContents(Composite top) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(top, getHelpContextId());
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 2;
-		layout.marginWidth = 2;
-		top.setLayout(layout);
-		
-		top.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		createTable(top);
-		createButtonGroup(top);
-		
-		return top;
-	}
-	
-	protected AntRuntimePreferencePage getPreferencePage() {
-		return preferencePage;
-	}
-	
-	protected TableViewer getTableViewer() {
-		return tableViewer;
-	}
-
-	/**
-	 * Handles selection changes in the table viewer.
-	 */
-	protected void tableSelectionChanged(IStructuredSelection newSelection) {
-		int size = newSelection.size();
-		boolean enabled= true;
-		
-		Iterator itr= newSelection.iterator();
-		while (itr.hasNext()) {
-			Object element = itr.next();
-			if (element instanceof AntObject) {
-				AntObject antObject= (AntObject)element;
-				if (antObject.isDefault()) {
-					enabled= false;
-					break;
-				}
-			}
-		}
-		editButton.setEnabled(enabled && size == 1);
-		removeButton.setEnabled(enabled && size > 0);
-	}
-	
-	/**
-	 * Allows the user to edit a custom Ant object.
-	 *
-	 * @param selection The selection containing the object to edit
-	 */
-	protected abstract void edit(IStructuredSelection selection);
-    
-    /**
-     * Allows the user to add a custom Ant object.
-     *
-     */
-    protected abstract void add();
-	
-	/**
-	 * Returns this page's help context id, which is hooked
-	 * to this page on creation.
-	 * 
-	 * @return help context id
-	 */
-	protected abstract String getHelpContextId();
-
-	protected void connectToFolder(final TabItem item, TabFolder folder) {
-		folder.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (e.item == item) {
-					//remove ant objects whose library has been removed
-					setInput(getContents(true));
-				}
-			}
-		});		
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencePage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencePage.java
deleted file mode 100644
index 8b469e6..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencePage.java
+++ /dev/null
@@ -1,288 +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.ant.internal.ui.preferences;
-
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.preference.StringFieldEditor;
-import org.eclipse.jface.resource.StringConverter;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.RGB;
-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.Label;
-import org.eclipse.swt.widgets.List;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-public class AntPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-	
-	private List fConsoleColorList;
-	private ColorEditor fConsoleColorEditor;
-	
-	private BooleanFieldEditor toolsWarningEditor= null;
-	
-	// Array containing the message to display, the preference key, and the 
-	// default value (initialized in storeInitialValues()) for each color preference
-	private final String[][] fAppearanceColorListModel= new String[][] {
-		{AntPreferencesMessages.getString("AntPreferencePage.&Error__2"), IAntUIPreferenceConstants.CONSOLE_ERROR_COLOR, null}, //$NON-NLS-1$
-		{AntPreferencesMessages.getString("AntPreferencePage.&Warning__3"), IAntUIPreferenceConstants.CONSOLE_WARNING_COLOR, null}, //$NON-NLS-1$
-		{AntPreferencesMessages.getString("AntPreferencePage.I&nformation__4"), IAntUIPreferenceConstants.CONSOLE_INFO_COLOR, null}, //$NON-NLS-1$
-		{AntPreferencesMessages.getString("AntPreferencePage.Ve&rbose__5"), IAntUIPreferenceConstants.CONSOLE_VERBOSE_COLOR, null}, //$NON-NLS-1$
-		{AntPreferencesMessages.getString("AntPreferencePage.Deb&ug__6"), IAntUIPreferenceConstants.CONSOLE_DEBUG_COLOR, null}, //$NON-NLS-1$
-	};
-
-	/**
- 	 * Create the Ant page.
-     */
-	public AntPreferencePage() {
-		super(GRID);
-		setDescription(AntPreferencesMessages.getString("AntPreferencePage.General")); //$NON-NLS-1$
-		setPreferenceStore(AntUIPlugin.getDefault().getPreferenceStore());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
-	 */
-	protected void createFieldEditors() {
-		storeAppliedValues();
-
-		Font font= getFieldEditorParent().getFont();
-		Label label= new Label(getFieldEditorParent(), SWT.WRAP);
-		label.setText(AntPreferencesMessages.getString("AntPreferencePage.Enter")); //$NON-NLS-1$
-		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan= 3;
-		gd.widthHint= convertWidthInCharsToPixels(60);
-		label.setLayoutData(gd);
-		label.setLayoutData(gd);
-		label.setFont(font);
-		
-		StringFieldEditor editor = new StringFieldEditor(IAntUIPreferenceConstants.ANT_FIND_BUILD_FILE_NAMES, AntPreferencesMessages.getString("AntPreferencePage.&Names__3"), getFieldEditorParent()); //$NON-NLS-1$
-		addField(editor);
-		
-		createSpace();
-	
-		if (!AntUIPlugin.isMacOS()) {
-			//the mac does not have a tools.jar Bug 40778
-		    label= new Label(getFieldEditorParent(), SWT.WRAP);
-			label.setText(AntPreferencesMessages.getString("AntPreferencePage.0")); //$NON-NLS-1$
-			gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-			gd.horizontalSpan= 3;
-			gd.widthHint= convertWidthInCharsToPixels(60);
-			label.setLayoutData(gd);
-			label.setFont(font);
-			toolsWarningEditor= new BooleanFieldEditor(IAntUIPreferenceConstants.ANT_TOOLS_JAR_WARNING, AntPreferencesMessages.getString("AntPreferencePage.1"), getFieldEditorParent()); //$NON-NLS-1$
-			addField(toolsWarningEditor);
-			new Label(getFieldEditorParent(), SWT.NONE);
-		}
-		
-		addField(new BooleanFieldEditor(IAntUIPreferenceConstants.ANT_ERROR_DIALOG, AntPreferencesMessages.getString("AntPreferencePage.12"), getFieldEditorParent())); //$NON-NLS-1$
-		
-		createSpace();
-		
-		editor = new URLFieldEditor(IAntUIPreferenceConstants.DOCUMENTATION_URL, AntPreferencesMessages.getString("AntPreferencePage.2"), getFieldEditorParent()); //$NON-NLS-1$
-		addField(editor);
-		
-		createSpace();
-		
-		createColorComposite();
-		getPreferenceStore().addPropertyChangeListener(this);
-	}
-	
-	private void createSpace() {
-		Label label= new Label(getFieldEditorParent(), SWT.NONE);
-		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan= 3;
-		label.setLayoutData(gd);
-	}
-
-	/**
-	 * Stores the initial values of the color preferences. The preference values are updated 
-	 * on the fly as the user edits them (instead of only when they press "Apply"). We need
-	 * to store the old values so that we can reset them when the user chooses "Cancel".
-	 */
-	private void storeAppliedValues() {
-		IPreferenceStore store= getPreferenceStore();
-		for (int i = 0; i < fAppearanceColorListModel.length; i++) {
-			String preference = fAppearanceColorListModel[i][1];
-			fAppearanceColorListModel[i][2]= store.getString(preference);
-		}
-	}
-	
-	private void createColorComposite() {
-		Font font= getFieldEditorParent().getFont();
-		Label label= new Label(getFieldEditorParent(), SWT.LEFT);
-		label.setText(AntPreferencesMessages.getString("AntPreferencePage.Ant_Color_Options__6"));  //$NON-NLS-1$
-		label.setFont(font);
-		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan= 2;
-		label.setLayoutData(gd);
-				
-		Composite editorComposite= new Composite(getFieldEditorParent(), SWT.NONE);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		editorComposite.setLayout(layout);
-		editorComposite.setFont(font);
-		gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL);
-		gd.horizontalSpan= 2;
-		editorComposite.setLayoutData(gd);		
-
-		fConsoleColorList= new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER);
-		gd= new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
-		gd.heightHint= convertHeightInCharsToPixels(8);
-		fConsoleColorList.setLayoutData(gd);
-		fConsoleColorList.setFont(font);
-				
-		Composite stylesComposite= new Composite(editorComposite, SWT.NONE);
-		layout= new GridLayout();
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		layout.numColumns= 2;
-		stylesComposite.setLayout(layout);
-		stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		stylesComposite.setFont(font);
-
-		label= new Label(stylesComposite, SWT.LEFT);
-		label.setText(AntPreferencesMessages.getString("AntPreferencePage.Color__7"));  //$NON-NLS-1$
-		label.setFont(font);
-		gd= new GridData();
-		gd.horizontalAlignment= GridData.BEGINNING;
-		label.setLayoutData(gd);
-
-		fConsoleColorEditor= new ColorEditor(stylesComposite);
-		Button foregroundColorButton= fConsoleColorEditor.getButton();
-		gd= new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalAlignment= GridData.BEGINNING;
-		foregroundColorButton.setLayoutData(gd);
-		foregroundColorButton.setFont(font);
-
-		fConsoleColorList.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleAppearanceColorListSelection();
-			}
-		});
-		foregroundColorButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				int i= fConsoleColorList.getSelectionIndex();
-				String key= fAppearanceColorListModel[i][1];
-		
-				PreferenceConverter.setValue(getPreferenceStore(), key, fConsoleColorEditor.getColorValue());
-			}
-		});
-	}
-	
-	/**
-	 * Restore all color preferences to their values when the page was opened.
-	 */
-	public boolean performCancel() {
-		for (int i = 0; i < fAppearanceColorListModel.length; i++) {
-			String preference = fAppearanceColorListModel[i][1];
-			PreferenceConverter.setValue(getPreferenceStore(), preference, StringConverter.asRGB(fAppearanceColorListModel[i][2]));
-		}
-		return super.performCancel();
-	}
-	
-	/**
-	 * When the user applies the preferences, update the set of stored
-	 * preferences so that we will fall back to the applied values on Cancel.
-	 */
-	public boolean performOk() {
-		storeAppliedValues();
-		return super.performOk();
-	}
-	
-	private void handleAppearanceColorListSelection() {	
-		int i= fConsoleColorList.getSelectionIndex();
-		String key= fAppearanceColorListModel[i][1];
-		RGB rgb= PreferenceConverter.getColor(getPreferenceStore(), key);
-		fConsoleColorEditor.setColorValue(rgb);		
-	}
-	
-	/**
-	 * @see FieldEditorPreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IAntUIHelpContextIds.ANT_PREFERENCE_PAGE);
-		return super.createContents(parent);
-	}
-
-	/**
-	 * @see IWorkbenchPreferencePage#init(IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	/**
-	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#initialize()
-	 */
-	protected void initialize() {
-		super.initialize();
-		for (int i= 0; i < fAppearanceColorListModel.length; i++) {
-			fConsoleColorList.add(fAppearanceColorListModel[i][0]);
-		}
-		fConsoleColorList.getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				if (fConsoleColorList != null && !fConsoleColorList.isDisposed()) {
-					fConsoleColorList.select(0);
-					handleAppearanceColorListSelection();
-				}
-			}
-		});
-	}
-	/**
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		for (int i = 0; i < fAppearanceColorListModel.length; i++) {
-			String key= fAppearanceColorListModel[i][1];
-			PreferenceConverter.setValue(getPreferenceStore(), key, PreferenceConverter.getDefaultColor(getPreferenceStore(), key));
-		}
-		handleAppearanceColorListSelection();
-		
-		super.performDefaults();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		getPreferenceStore().removePropertyChangeListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-	 */
-	public void propertyChange(PropertyChangeEvent event) {
-		if (event.getProperty().equals(IAntUIPreferenceConstants.ANT_TOOLS_JAR_WARNING)) {
-			if (toolsWarningEditor != null) {
-				toolsWarningEditor.load();
-			}
-		} else {
-			super.propertyChange(event);
-		}
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencesMessages.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencesMessages.java
deleted file mode 100644
index 69e832e..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencesMessages.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.ant.internal.ui.preferences;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntPreferencesMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.preferences.AntPreferencesMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntPreferencesMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}	
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencesMessages.properties b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencesMessages.properties
deleted file mode 100644
index c0892ae..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreferencesMessages.properties
+++ /dev/null
@@ -1,174 +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
-###############################################################################
-
-AntClasspathLabelProvider.0=Default
-
-AntClasspathBlock.1=Choose a folder to add to the classpath:
-AntClasspathBlock.2=Add &Variable...
-AntClasspathBlock.addFolderButtonTitle = Add &Folder...
-AntClasspathBlock.addJarButtonTitle = Add &JARs...
-AntClasspathBlock.upButtonTitle = &Up
-AntClasspathBlock.downButtonTitle = Do&wn
-AntClasspathBlock.removeButtonTitle = R&emove
-AntClasspathBlock.3=Choose a folder that will be used as the location of ANT_HOME
-AntClasspathBlock.7=Specified Ant home does not contain a \"lib\" directory
-AntClasspathBlock.31=No tools.jar
-AntClasspathBlock.32=The specified Ant runtime classpath does not include a tools.jar library. This may affect the ability to use various tasks. Ignore this possible problem?
-AntClasspathBlock.33=&Do not show this warning again
-AntClasspathBlock.34=No tools.jar is specified in the Ant runtime classpath
-AntClasspathBlock.42=Add E&xternal JARs...
-AntClasspathBlock.44=JAR Selection
-AntClasspathBlock.45=&Choose JARs and ZIPs to add:
-AntClasspathBlock.56=Specified Ant home does not exist
-AntClasspathBlock.57=An Ant home needs to be specified
-AntClasspathBlock.30=Ant &Home...
-
-AntClasspathPage.title = C&lasspath
-
-AddCustomDialog.Bad_Format=Specified zip file is not in the correct format
-AddCustomDialog.Unreadable=Specified zip file could not be read
-AddCustomDialog.&Name__3=&Name:
-AddCustomDialog.Could_not_close_zip_file_{0}_4=Could not close zip file {0}
-AddCustomDialog.&Location=&Location:
-AddCustomDialog.mustSelect=A class file must be selected from the specified location
-AddCustomDialog.13=Specified zip file could not be resolved
-
-AntPreferencePage.description = Settings used when running Ant buildfiles:
-AntPreferencePage.General=General Ant Settings:
-AntPreferencePage.Enter=File names used to emulate \"-find\". Used by \"Run As > Ant Build\" when the current selection is not a buildfile. List is comma separated (e.g. export.xml, build.xml, clean.xml).
-AntPreferencePage.&Names__3=&Names:
-AntPreferencePage.Ant_Color_Options__6=Ant Color &Options:
-AntPreferencePage.Color__7=&Color:
-AntPreferencePage.&Error__2=Ant error message in console
-AntPreferencePage.&Warning__3=Ant warning message in console
-AntPreferencePage.I&nformation__4=Ant information message in console
-AntPreferencePage.Ve&rbose__5=Ant verbose message in console
-AntPreferencePage.Deb&ug__6=Ant debug message in console
-AntPreferencePage.12=&Show error dialog when Ant build fails
-AntPreferencePage.0=Some tasks, such as "javac", require the tools.jar library to be on the Ant runtime classpath to execute successfully.
-AntPreferencePage.1=&Warn when tools.jar is not on classpath
-AntPreferencePage.2=Documentation &URL:
-
-AntTasksPage.1 = Add &Task...
-AntTasksPage.2 = &Edit Task...
-AntTasksPage.3 = Remo&ve
-AntTasksPage.addTaskDialogTitle = Add Task
-AntTasksPage.title = Tas&ks
-AntTasksPage.editTaskDialogTitle = Edit Task
-AntTasksPage.8=A task with the name {0} already exists
-AntTasksPage.9=A name must be provided for the new task
-
-AntTypesPage.1 = Remo&ve
-AntTypesPage.2 = Add &Type...
-AntTypesPage.3 = &Edit Type...
-AntTypesPage.typesPageTitle = T&ypes
-AntTypesPage.addTypeDialogTitle = Add Type
-AntTypesPage.editTypeDialogTitle = Edit Type
-AntTypesPage.8=A type with the name {0} already exists
-AntTypesPage.9=A name must be provided for the new type
-
-AntPropertiesPage.title = Proper&ties
-AntPropertiesPage.&Global_properties__1=&Global properties:
-AntPropertiesPage.Glo&bal_property_files__2=Glo&bal property files:
-
-AntPropertiesBlock.1 = Add P&roperty...
-AntPropertiesBlock.2 = &Edit Property...
-AntPropertiesBlock.3 = Rem&ove
-AntPropertiesBlock.4 = Add F&iles...
-AntPropertiesBlock.0=Name
-AntPropertiesBlock.5=Value
-AntPropertiesBlock.6=Contributor
-AntPropertiesBlock.removeFileButton = Re&move
-AntPropertiesBlock.Add_Property_2=Add Property
-AntPropertiesBlock.Edit_User_Property_5=Edit User Property
-AntPropertiesFileSelectionDialog.12=Property File Selection
-AntPropertiesFileSelectionDialog.13=&Choose the property files to add:
-AntPropertiesFileSelectionDialog.14=&Only show *.properties files
-AntPropertiesBlock.14=Add E&xternal...
-AntPropertiesBlock.15=Overwrite property?
-AntPropertiesBlock.16=A property named {0} already exists. Overwrite?
-AntPropertiesBlock.17=Cannot overwrite
-AntPropertiesBlock.18=A property named {0} is contributed from the {1} plug-in.
-
-AddPropertyDialog.&Name__1=&Name:
-AddPropertyDialog.&Value__2=&Value:
-AddPropertyDialog.2=Varia&bles...
-
-AntCodeAssistPreferencePage.backgroundForCompletionProposals=Completion proposal background
-AntCodeAssistPreferencePage.foregroundForCompletionProposals=Completion proposal foreground
-AntCodeAssistPreferencePage.Insert=Insert single &proposals automatically
-AntCodeAssistPreferencePage.0=Provide proposals for &user defined tasks (may lock referenced JAR files)
-AntCodeAssistPreferencePage.&Enable_auto_activation_2=&Enable auto activation
-AntCodeAssistPreferencePage.Auto_activation_&delay__3=Auto activation de&lay:
-AntCodeAssistPreferencePage.Auto_activation_tri&ggers__4=Auto activation tri&ggers:
-AntCodeAssistPreferencePage.Code_assist_colo&r_options__5=Code assist colo&r options:
-AntCodeAssistPreferencePage.invalid_input_auto_activation= Invalid auto activation delay specified
-AntCodeAssistPreferencePage.empty_input_auto_activation= No auto activation delay specified
-
-AntEditorPreferencePage.description=Ant Editor settings:
-AntEditorPreferencePage.general=Appeara&nce
-AntEditorPreferencePage.6=C&olor:
-AntEditorPreferencePage.Ant_editor_text_1=Text
-AntEditorPreferencePage.Ant_editor_processing_instuctions_2=Processing instructions
-AntEditorPreferencePage.Ant_editor_constant_strings_3=Constant strings
-AntEditorPreferencePage.Ant_editor_tags_4=Tags
-AntEditorPreferencePage.Ant_editor_comments_5=Comments
-AntEditorPreferencePage.32=&Show affordance in hover on how to make it sticky
-AntEditorPreferencePage.40=&Insert spaces for tabs when typing
-AntEditorPreferencePage.1=Synta&x
-AntEditorPreferencePage.10=&Problems
-AntEditorPreferencePage.11=Error
-AntEditorPreferencePage.12=Warning
-AntEditorPreferencePage.13=Ignore
-AntEditorPreferencePage.14=Select the severity level for the following buildfile problems:
-AntEditorPreferencePage.15=Incomplete &classpath:
-AntEditorPreferencePage.16=Property &setting tasks:
-AntEditorPreferencePage.17=&Import tasks:
-AntEditorPreferencePage.18=&Task configuration:
-AntEditorPreferencePage.19=&Folding
-AntEditorPreferencePage.20=&Enable folding when opening a new editor
-AntEditorPreferencePage.21=Initially fold these region types:
-AntEditorPreferencePage.22=DTD &blocks
-AntEditorPreferencePage.23=&Comments
-AntEditorPreferencePage.24=Def&ining tasks
-AntEditorPreferencePage.25=&Targets
-AntEditorPreferencePage.26=DTD Declarations
-AntEditorPreferencePage.27=Sec&urity Problems
-AntEditorPreferencePage.5=Fore&ground:
-AntEditorPreferencePage.7=&Bold
-AntEditorPreferencePage.8=I&talic
-AntEditorPreferencePage.9=&Preview:
-AntEditorPreferencePage.0=Note that some preferences may be set on the 
-AntEditorPreferencePage.2=All Text Editors
-AntEditorPreferencePage.3=Show the shared text editor preferences
-AntEditorPreferencePage.4=\ preference page.
-
-ClasspathModel.2=Ant Home Entries
-ClasspathModel.3=Global Entries
-ClasspathModel.0=Contributed Entries
-
-AntCodeFormatterPreferencePage.0=Indentation
-AntCodeFormatterPreferencePage.1=Tab si&ze:
-AntCodeFormatterPreferencePage.2=No tab size specified
-AntCodeFormatterPreferencePage.3=Invalid tab size specified
-AntCodeFormatterPreferencePage.4=U&se tab character instead of spaces
-AntCodeFormatterPreferencePage.5=Ali&gn final '>' in multi-line element tags
-AntCodeFormatterPreferencePage.6=Line Wrapping
-AntCodeFormatterPreferencePage.7=Ma&ximum line width:
-AntCodeFormatterPreferencePage.8=No maximum line width specified
-AntCodeFormatterPreferencePage.9=Invalid maximum line width specified
-AntCodeFormatterPreferencePage.10=&Wrap long element tags
-
-URLFieldEditor.0=Invalid Documentation URL specified
-AntPage.0=Name
-AntPage.1=Class
-AntPage.2=Location
-AntPage.3=Contributor
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreviewerUpdater.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreviewerUpdater.java
deleted file mode 100644
index 63fbd0f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPreviewerUpdater.java
+++ /dev/null
@@ -1,227 +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.ant.internal.ui.preferences;
-
-import org.eclipse.ant.internal.ui.AntSourceViewerConfiguration;
-import org.eclipse.ant.internal.ui.editor.formatter.FormattingPreferences;
-import org.eclipse.ant.internal.ui.editor.formatter.XmlFormatter;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceConverter;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewer;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.texteditor.AbstractTextEditor;
-
-/**
- * Handles changes for Ant preview viewers.
- * 
- * @since 3.0
- */
-class AntPreviewerUpdater {
-	
-	private Color fForegroundColor= null;
-	private Color fBackgroundColor= null;
-	private Color fSelectionBackgroundColor= null;
-	private Color fSelectionForegroundColor= null;
-	
-	
-	/**
-	 * Creates a source preview updater for the given viewer, configuration and preference store.
-	 *
-	 * @param viewer the viewer
-	 * @param configuration the configuration
-	 * @param preferenceStore the preference store
-	 */
-	public AntPreviewerUpdater(final SourceViewer viewer, final AntSourceViewerConfiguration configuration, final IPreferenceStore preferenceStore) {
-		
-		initializeViewerColors(viewer, preferenceStore);
-		
-		final IPropertyChangeListener fontChangeListener= new IPropertyChangeListener() {
-			/*
-			 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-			 */
-			public void propertyChange(PropertyChangeEvent event) {
-				if (event.getProperty().equals(JFaceResources.TEXT_FONT)) {
-					Font font= JFaceResources.getFont(JFaceResources.TEXT_FONT);
-					viewer.getTextWidget().setFont(font);
-				}
-			}
-		};
-		final IPropertyChangeListener propertyChangeListener= new IPropertyChangeListener() {
-			/*
-			 * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
-			 */
-			public void propertyChange(PropertyChangeEvent event) {
-				
-				String property= event.getProperty();
-					
-				if (AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND.equals(property) || AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT.equals(property) ||
-						AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND.equals(property) ||	AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT.equals(property) ||
-						AbstractTextEditor.PREFERENCE_COLOR_SELECTION_FOREGROUND.equals(property) || AbstractTextEditor.PREFERENCE_COLOR_SELECTION_FOREGROUND_SYSTEM_DEFAULT.equals(property) ||
-						AbstractTextEditor.PREFERENCE_COLOR_SELECTION_BACKGROUND.equals(property) ||	AbstractTextEditor.PREFERENCE_COLOR_SELECTION_BACKGROUND_SYSTEM_DEFAULT.equals(property))
-					{
-						initializeViewerColors(viewer, preferenceStore);
-				} 
-				
-				if (configuration.affectsTextPresentation(event)) {
-					configuration.adaptToPreferenceChange(event);
-					viewer.invalidateTextPresentation();
-				}
-				
-				if (FormattingPreferences.affectsFormatting(event)) {
-					format(viewer, preferenceStore);
-				}
-			}
-
-			/**
-			 * @param viewer
-			 * @param preferenceStore
-			 */
-			private void format(final SourceViewer sourceViewer, final IPreferenceStore store) {
-				String contents= sourceViewer.getDocument().get();
-				FormattingPreferences prefs= new FormattingPreferences();
-				prefs.setPreferenceStore(store);
-				contents= XmlFormatter.format(contents, prefs);
-				viewer.getDocument().set(contents);
-			}
-		};
-		viewer.getTextWidget().addDisposeListener(new DisposeListener() {
-			/*
-			 * @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent)
-			 */
-			public void widgetDisposed(DisposeEvent e) {
-				preferenceStore.removePropertyChangeListener(propertyChangeListener);
-				JFaceResources.getFontRegistry().removeListener(fontChangeListener);
-			}
-		});
-		JFaceResources.getFontRegistry().addListener(fontChangeListener);
-		preferenceStore.addPropertyChangeListener(propertyChangeListener);
-	}
-	
-	/**
-	 * Initializes the given viewer's colors.
-	 * 
-	 * @param viewer the viewer to be initialized
-	 * @since 2.0
-	 */
-	protected void initializeViewerColors(ISourceViewer viewer, IPreferenceStore store) {
-			
-		StyledText styledText= viewer.getTextWidget();
-		
-		// ----------- foreground color --------------------
-		Color color= store.getBoolean(AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT)
-			? null
-			: createColor(store, AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND, styledText.getDisplay());
-		styledText.setForeground(color);
-			
-		if (fForegroundColor != null) {
-			fForegroundColor.dispose();
-		}
-		
-		fForegroundColor= color;
-		
-		// ---------- background color ----------------------
-		color= store.getBoolean(AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT)
-			? null
-			: createColor(store, AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND, styledText.getDisplay());
-		styledText.setBackground(color);
-			
-		if (fBackgroundColor != null) {
-			fBackgroundColor.dispose();
-		}
-			
-		fBackgroundColor= color;
-		
-		// ----------- selection foreground color --------------------
-		color= store.getBoolean(AbstractTextEditor.PREFERENCE_COLOR_SELECTION_FOREGROUND_SYSTEM_DEFAULT)
-			? null
-			: createColor(store, AbstractTextEditor.PREFERENCE_COLOR_SELECTION_FOREGROUND, styledText.getDisplay());
-		styledText.setSelectionForeground(color);
-			
-		if (fSelectionForegroundColor != null) {
-			fSelectionForegroundColor.dispose();
-		}
-		
-		fSelectionForegroundColor= color;
-		
-		// ---------- selection background color ----------------------
-		color= store.getBoolean(AbstractTextEditor.PREFERENCE_COLOR_SELECTION_BACKGROUND_SYSTEM_DEFAULT)
-			? null
-			: createColor(store, AbstractTextEditor.PREFERENCE_COLOR_SELECTION_BACKGROUND, styledText.getDisplay());
-		styledText.setSelectionBackground(color);
-			
-		if (fSelectionBackgroundColor != null) {
-			fSelectionBackgroundColor.dispose();
-		}
-			
-		fSelectionBackgroundColor= color;
-	}
-	
-	/**
-	 * Creates a color from the information stored in the given preference store.
-	 * Returns <code>null</code> if there is no such information available.
-	 * 
-	 * @param store the store to read from
-	 * @param key the key used for the lookup in the preference store
-	 * @param display the display used create the color
-	 * @return the created color according to the specification in the preference store
-	 * @since 2.0
-	 */
-	private Color createColor(IPreferenceStore store, String key, Display display) {
-	
-		RGB rgb= null;		
-		
-		if (store.contains(key)) {
-			
-			if (store.isDefault(key))
-				rgb= PreferenceConverter.getDefaultColor(store, key);
-			else
-				rgb= PreferenceConverter.getColor(store, key);
-		
-			if (rgb != null)
-				return new Color(display, rgb);
-		}
-		
-		return null;
-	}
-
-	public void dispose() {
-		if (fForegroundColor != null) {
-			fForegroundColor.dispose();
-			fForegroundColor= null;
-		}
-		
-		if (fBackgroundColor != null) {
-			fBackgroundColor.dispose();
-			fBackgroundColor= null;
-		}
-		
-		if (fSelectionForegroundColor != null) {
-			fSelectionForegroundColor.dispose();
-			fSelectionForegroundColor= null;
-		}
-		
-		if (fSelectionBackgroundColor != null) {
-			fSelectionBackgroundColor.dispose();
-			fSelectionBackgroundColor= null;
-		}
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPropertiesBlock.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPropertiesBlock.java
deleted file mode 100644
index 1ed2a61..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPropertiesBlock.java
+++ /dev/null
@@ -1,477 +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.ant.internal.ui.preferences;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-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.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-public class AntPropertiesBlock {
-	
-	private IAntBlockContainer container;
-	
-	private Button editButton;
-	private Button removeButton;
-	private Button addButton;
-	
-	private Button addFileButton;
-	private Button addExternalFileButton;
-	private Button removeFileButton;
-
-	private TableViewer propertyTableViewer;
-	private TableViewer fileTableViewer;
-
-	private final AntObjectLabelProvider labelProvider = new AntObjectLabelProvider();
-
-	private IDialogSettings dialogSettings;
-	
-	private boolean tablesEnabled= true;
-    
-	private final String[] fTableColumnHeaders= {
-	        AntPreferencesMessages.getString("AntPropertiesBlock.0"), AntPreferencesMessages.getString("AntPropertiesBlock.5"), AntPreferencesMessages.getString("AntPropertiesBlock.6") //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	};
-	
-	private final ColumnLayoutData[] fTableColumnLayouts= {
-	        new ColumnWeightData(30),
-	        new ColumnWeightData(40),
-            new ColumnWeightData(30)
-	};
-	
-	/**
-	 * Button listener that delegates for widget selection events.
-	 */
-	private SelectionAdapter buttonListener= new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent event) {
-			if (event.widget == addButton) {
-				addProperty();
-			} else if (event.widget == editButton) {
-				edit();
-			} else if (event.widget == removeButton) {
-				remove(propertyTableViewer);
-			} else if (event.widget == addFileButton) {
-				addPropertyFile();		
-			} else if (event.widget == addExternalFileButton) {
-				addExternalPropertyFile();
-			} else if (event.widget == removeFileButton) {
-				remove(fileTableViewer);
-			} 
-		}
-	};
-	
-	/**
-	 * Key listener that delegates for key pressed events.
-	 */
-	private KeyAdapter keyListener= new KeyAdapter() {
-		public void keyPressed(KeyEvent event) {
-			if (event.getSource() == propertyTableViewer) {
-				if (removeButton.isEnabled() && event.character == SWT.DEL && event.stateMask == 0) {
-					remove(propertyTableViewer);
-				}
-			} else if (event.getSource() == fileTableViewer) {
-				if (removeFileButton.isEnabled() && event.character == SWT.DEL && event.stateMask == 0) {
-					remove(fileTableViewer);
-				}
-			}
-		}	
-	};
-	
-	/**
-	 * Selection changed listener that delegates selection events.
-	 */
-	private ISelectionChangedListener tableListener= new ISelectionChangedListener() {
-		public void selectionChanged(SelectionChangedEvent event) {
-			if (tablesEnabled) {
-				if (event.getSource() == propertyTableViewer) {
-					propertyTableSelectionChanged((IStructuredSelection) event.getSelection());
-				} else if (event.getSource() == fileTableViewer) {
-					fileTableSelectionChanged((IStructuredSelection) event.getSelection());
-				}
-			}
-		}
-	};
-	
-	public AntPropertiesBlock(IAntBlockContainer container) {
-		this.container= container; 
-	}
-
-	private void addPropertyFile() {
-		String title= AntPreferencesMessages.getString("AntPropertiesFileSelectionDialog.12"); //$NON-NLS-1$
-		String message= AntPreferencesMessages.getString("AntPropertiesFileSelectionDialog.13"); //$NON-NLS-1$
-		String filterExtension= "properties"; //$NON-NLS-1$
-		String filterMessage= AntPreferencesMessages.getString("AntPropertiesFileSelectionDialog.14"); //$NON-NLS-1$
-		
-		Object[] existingFiles= getPropertyFiles();
-		List propFiles= new ArrayList(existingFiles.length);
-		for (int j = 0; j < existingFiles.length; j++) {
-			String file = (String)existingFiles[j];
-			try {
-                propFiles.add(AntUtil.getFileForLocation(VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(file), null));
-            } catch (CoreException e) {
-                AntUIPlugin.log(e.getStatus());
-            }
-		}
-			
-		FileSelectionDialog dialog= new FileSelectionDialog(propertyTableViewer.getControl().getShell(), propFiles, title, message, filterExtension, filterMessage);
-		if (dialog.open() == Window.OK) {
-			Object[] elements= dialog.getResult();
-			for (int i = 0; i < elements.length; i++) {
-				IFile file = (IFile)elements[i];
-				String varExpression= VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", file.getFullPath().toString()); //$NON-NLS-1$
-				((AntContentProvider)fileTableViewer.getContentProvider()).add(varExpression);
-			}
-			container.update();
-		}
-	}
-	
-	public void createControl(Composite top, String propertyLabel, String propertyFileLabel) {
-		Font font= top.getFont();
-		dialogSettings= AntUIPlugin.getDefault().getDialogSettings();
-
-		Label label = new Label(top, SWT.NONE);
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan =2;
-		label.setLayoutData(gd);
-		label.setFont(font);
-		label.setText(propertyLabel);
-
-		propertyTableViewer= createTableViewer(top, true);
-		propertyTableViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				if (!event.getSelection().isEmpty() && editButton.isEnabled()) {
-					edit();
-				}
-			}
-		});
-		
-		propertyTableViewer.getTable().addKeyListener(keyListener);	
-		
-		createButtonGroup(top);
-
-		label = new Label(top, SWT.NONE);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan =2;
-		label.setLayoutData(gd);
-		label.setFont(font);
-		label.setText(propertyFileLabel);
-
-		fileTableViewer= createTableViewer(top, false);
-		fileTableViewer.getTable().addKeyListener(keyListener);	
-		createButtonGroup(top);
-	}
-	
-	/**
-	 * Creates the group which will contain the buttons.
-	 */
-	private void createButtonGroup(Composite top) {
-		Composite buttonGroup = new Composite(top, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonGroup.setLayout(layout);
-		buttonGroup.setLayoutData(new GridData(GridData.FILL_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL));
-		buttonGroup.setFont(top.getFont());
-
-		addButtonsToButtonGroup(buttonGroup);
-	}
-	
-	/**
-	 * Creates and returns a configured table viewer in the given parent
-	 */
-	private TableViewer createTableViewer(Composite parent, boolean setColumns) {
-		Table table = new Table(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
-		GridData data= new GridData(GridData.FILL_BOTH);
-		data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
-		table.setLayoutData(data);
-		table.setFont(parent.getFont());
-		
-		TableViewer tableViewer= new TableViewer(table);
-		tableViewer.setContentProvider(new AntContentProvider());
-		tableViewer.setLabelProvider(labelProvider);
-		tableViewer.addSelectionChangedListener(tableListener);
-        
-        if (setColumns) {
-            TableLayout tableLayout = new TableLayout();
-            table.setLayout(tableLayout);
-            table.setHeaderVisible(true);
-            table.setLinesVisible(true);
-            
-            for (int i = 0; i < fTableColumnHeaders.length; i++) {
-                tableLayout.addColumnData(fTableColumnLayouts[i]);
-                TableColumn column = new TableColumn(table, SWT.NONE, i);
-                column.setResizable(fTableColumnLayouts[i].resizable);
-                column.setText(fTableColumnHeaders[i]);
-            }
-        }
-            
-		return tableViewer;
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on AntPage.
-	 */
-	protected void addButtonsToButtonGroup(Composite parent) {
-		if (editButton == null) {
-			addButton= createPushButton(parent, AntPreferencesMessages.getString("AntPropertiesBlock.1")); //$NON-NLS-1$
-			editButton= createPushButton(parent, AntPreferencesMessages.getString("AntPropertiesBlock.2"));  //$NON-NLS-1$
-			removeButton= createPushButton(parent, AntPreferencesMessages.getString("AntPropertiesBlock.3"));  //$NON-NLS-1$
-		} else {
-			addFileButton= createPushButton(parent, AntPreferencesMessages.getString("AntPropertiesBlock.4")); //$NON-NLS-1$
-			addExternalFileButton= createPushButton(parent, AntPreferencesMessages.getString("AntPropertiesBlock.14")); //$NON-NLS-1$
-			removeFileButton= createPushButton(parent, AntPreferencesMessages.getString("AntPropertiesBlock.removeFileButton")); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Creates and returns a configured button in the given composite with the given
-	 * label. Widget selection callbacks for the returned button will be processed
-	 * by the <code>buttonListener</code>
-	 */
-	private Button createPushButton(Composite parent, String label) {
-		Button button= container.createPushButton(parent, label);
-		button.addSelectionListener(buttonListener);
-		GridData gridData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);
-		button.setLayoutData(gridData);
-		return button;
-	}
-	
-	/**
-	 * Allows the user to enter external property files
-	 */
-	private void addExternalPropertyFile() {
-		String lastUsedPath;
-		lastUsedPath= dialogSettings.get(IAntUIConstants.DIALOGSTORE_LASTEXTFILE);
-		if (lastUsedPath == null) {
-			lastUsedPath= ""; //$NON-NLS-1$
-		}
-		FileDialog dialog = new FileDialog(fileTableViewer.getControl().getShell(), SWT.MULTI);
-		dialog.setFilterExtensions(new String[] { "*.properties", "*.*" }); //$NON-NLS-1$ //$NON-NLS-2$;
-		dialog.setFilterPath(lastUsedPath);
-
-		String result = dialog.open();
-		if (result == null) {
-			return;
-		}
-		IPath filterPath= new Path(dialog.getFilterPath());
-		String[] results= dialog.getFileNames();
-		for (int i = 0; i < results.length; i++) {
-			String fileName = results[i];	
-			IPath path= filterPath.append(fileName).makeAbsolute();	
-			((AntContentProvider)fileTableViewer.getContentProvider()).add(path.toOSString());
-		}
-	
-		dialogSettings.put(IAntUIConstants.DIALOGSTORE_LASTEXTFILE, filterPath.toOSString());
-		container.update();
-	}
-	
-	private void remove(TableViewer viewer) {
-		AntContentProvider antContentProvider= (AntContentProvider)viewer.getContentProvider();
-		IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
-		antContentProvider.remove(sel);
-		container.update();
-	}
-	
-	/**
-	 * Allows the user to enter a user property
-	 */
-	private void addProperty() {
-		String title = AntPreferencesMessages.getString("AntPropertiesBlock.Add_Property_2");  //$NON-NLS-1$
-		AddPropertyDialog dialog = new AddPropertyDialog(propertyTableViewer.getControl().getShell(), title, new String[]{"", ""}); //$NON-NLS-1$ //$NON-NLS-2$
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-		
-		String[] pair= dialog.getNameValuePair();
-		String name= pair[0];
-		if (!overwrite(name)) {
-			return;
-		}
-		Property prop = new Property();
-		prop.setName(name);
-		prop.setValue(pair[1]);
-		((AntContentProvider)propertyTableViewer.getContentProvider()).add(prop);
-		container.update();
-	}
-
-	private void edit() {
-		IStructuredSelection selection= (IStructuredSelection) propertyTableViewer.getSelection();
-		Property prop = (Property) selection.getFirstElement();
-		
-		String originalName= prop.getName();
-		String title = AntPreferencesMessages.getString("AntPropertiesBlock.Edit_User_Property_5"); //$NON-NLS-1$
-		AddPropertyDialog dialog = new AddPropertyDialog(propertyTableViewer.getControl().getShell(), title, new String[]{prop.getName(), prop.getValue(false)});
-	
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-
-		String[] pair= dialog.getNameValuePair();
-		String name= pair[0];
-		if (!name.equals(originalName)) {
-			if (!overwrite(name)){
-				return;
-			}
-		}
-		prop.setName(name);
-		prop.setValue(pair[1]);
-		//trigger a resort
-		propertyTableViewer.refresh();
-		container.update();
-	}
-	
-	private boolean overwrite(String name) {
-		Object[] properties= getProperties();
-		for (int i = 0; i < properties.length; i++) {
-			Property property = (Property)properties[i];
-			String propertyName = property.getName();
-			if (propertyName.equals(name)) {
-				if (property.isDefault()) {
-					MessageDialog.openError(propertyTableViewer.getControl().getShell(), AntPreferencesMessages.getString("AntPropertiesBlock.17"), MessageFormat.format(AntPreferencesMessages.getString("AntPropertiesBlock.18"), new String[]{propertyName, property.getPluginLabel()})); //$NON-NLS-1$ //$NON-NLS-2$
-					return false;
-				} 
-				boolean overWrite= MessageDialog.openQuestion(propertyTableViewer.getControl().getShell(), AntPreferencesMessages.getString("AntPropertiesBlock.15"), MessageFormat.format(AntPreferencesMessages.getString("AntPropertiesBlock.16"), new String[] {name}));  //$NON-NLS-1$ //$NON-NLS-2$
-				if (!overWrite) {
-					return false;
-				}
-				((AntContentProvider)propertyTableViewer.getContentProvider()).remove(property);
-				break;
-			}					
-		}
-		return true;
-	}
-	
-	/**
-	 * Handles selection changes in the Property file table viewer.
-	 */
-	private void fileTableSelectionChanged(IStructuredSelection newSelection) {
-		removeFileButton.setEnabled(newSelection.size() > 0);
-	}
-
-	/**
-	 * Handles selection changes in the Property table viewer.
-	 */
-	private void propertyTableSelectionChanged(IStructuredSelection newSelection) {
-		int size = newSelection.size();
-		boolean enabled= true;
-
-		Iterator itr= newSelection.iterator();
-		while (itr.hasNext()) {
-			Object element = itr.next();
-			if (element instanceof Property) {
-				Property property= (Property)element;
-				if (property.isDefault()) {
-					enabled= false;
-					break;
-				}
-			}
-		}
-		editButton.setEnabled(enabled && size == 1);
-		removeButton.setEnabled(enabled && size > 0);
-		
-	}
-	
-	public void populatePropertyViewer(Map properties) {
-		if (properties == null) {
-			propertyTableViewer.setInput(new Property[0]);
-			return;
-		} 
-		Property[] result = new Property[properties.size()];
-		Iterator entries= properties.entrySet().iterator();
-		int i= 0;
-		while (entries.hasNext()) {
-			Map.Entry element = (Map.Entry) entries.next();
-			Property property = new Property();
-			property.setName((String)element.getKey());
-			property.setValue((String)element.getValue());
-			result[i]= property;
-			i++;
-		}
-		propertyTableViewer.setInput(result);
-	}
-	
-	public void setPropertiesInput(Property[] properties) {
-		propertyTableViewer.setInput(properties);
-	}
-		
-	public void setPropertyFilesInput(String[] files) {
-		fileTableViewer.setInput(files);
-	}
-	
-	public void update() {
-		propertyTableSelectionChanged((IStructuredSelection) propertyTableViewer.getSelection());
-		fileTableSelectionChanged((IStructuredSelection)fileTableViewer.getSelection());
-	}
-	
-	public Object[] getProperties() {
-		return ((AntContentProvider)propertyTableViewer.getContentProvider()).getElements(null);
-	}
-	
-	public Object[] getPropertyFiles() {
-		return ((AntContentProvider)fileTableViewer.getContentProvider()).getElements(null);
-	}
-	
-	public void setEnabled(boolean enable) {
-		setTablesEnabled(enable);
-		addButton.setEnabled(enable);
-		addExternalFileButton.setEnabled(enable);
-		addFileButton.setEnabled(enable);
-		editButton.setEnabled(enable);
-		removeButton.setEnabled(enable);
-		removeFileButton.setEnabled(enable);
-        
-		if (enable) {
-			propertyTableViewer.setSelection(propertyTableViewer.getSelection());
-			fileTableViewer.setSelection(fileTableViewer.getSelection());
-		}
-	}
-	
-	public void setTablesEnabled(boolean tablesEnabled) {
-		this.tablesEnabled= tablesEnabled;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPropertiesPage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPropertiesPage.java
deleted file mode 100644
index 9d44004..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntPropertiesPage.java
+++ /dev/null
@@ -1,150 +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.ant.internal.ui.preferences;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.swt.SWT;
-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.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Preference page for setting global Ant user properties.
- * All properties specified here will be set as user properties on the 
- * project for any Ant build
- */
-public class AntPropertiesPage implements IAntBlockContainer {
-	
-	private AntPropertiesBlock antPropertiesBlock= new AntPropertiesBlock(this);
-	private AntRuntimePreferencePage preferencePage;
-	
-	/**
-	 * Creates an instance.
-	 */
-	public AntPropertiesPage(AntRuntimePreferencePage preferencePage) {
-		this.preferencePage= preferencePage;
-	}
-	
-	/**
-	 * Creates the tab item that contains this sub-page.
-	 */
-	protected TabItem createTabItem(TabFolder folder) {
-		TabItem item = new TabItem(folder, SWT.NONE);
-		item.setText(AntPreferencesMessages.getString("AntPropertiesPage.title")); //$NON-NLS-1$
-		item.setImage(AntObjectLabelProvider.getPropertyImage());
-		item.setData(this);
-		item.setControl(createContents(folder));
-		return item;
-	}
-	
-	protected Composite createContents(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite top = new Composite(parent, SWT.NONE);
-		top.setFont(font);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(top, IAntUIHelpContextIds.ANT_PROPERTIES_PAGE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns= 2;
-		top.setLayout(layout);
-		GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
-		top.setLayoutData(gridData); 
-				
-		antPropertiesBlock.createControl(top, AntPreferencesMessages.getString("AntPropertiesPage.&Global_properties__1"), AntPreferencesMessages.getString("AntPropertiesPage.Glo&bal_property_files__2")); //$NON-NLS-1$ //$NON-NLS-2$
-		
-		return top;
-	}
-	
-	/**
-	 * Sets the contents of the tables on this page.
-	 */
-	protected void initialize() {
-		List allProperties= AntCorePlugin.getPlugin().getPreferences().getDefaultProperties();
-		allProperties.addAll(Arrays.asList(AntCorePlugin.getPlugin().getPreferences().getCustomProperties()));
-		antPropertiesBlock.setPropertiesInput((Property[]) allProperties.toArray(new Property[allProperties.size()]));
-		antPropertiesBlock.setPropertyFilesInput(AntCorePlugin.getPlugin().getPreferences().getCustomPropertyFiles(false));
-		antPropertiesBlock.update();
-	}
-	
-	protected void performDefaults() {
-		List defaultProperties= AntCorePlugin.getPlugin().getPreferences().getDefaultProperties();
-		antPropertiesBlock.setPropertiesInput((Property[]) defaultProperties.toArray(new Property[defaultProperties.size()]));
-		antPropertiesBlock.setPropertyFilesInput(new String[0]);
-		antPropertiesBlock.update();
-	}
-	
-	/**
-	 * Returns the specified property files
-	 * 
-	 * @return String[]
-	 */
-	protected String[] getPropertyFiles() {
-		Object[] elements = antPropertiesBlock.getPropertyFiles();
-		String[] files= new String[elements.length];
-		for (int i = 0; i < elements.length; i++) {
-			files[i] = (String)elements[i];
-		}
-		return files;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#setMessage(java.lang.String)
-	 */
-	public void setMessage(String message) {
-		preferencePage.setMessage(message);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#setErrorMessage(java.lang.String)
-	 */
-	public void setErrorMessage(String message) {
-		preferencePage.setErrorMessage(message);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#createPushButton(org.eclipse.swt.widgets.Composite, java.lang.String)
-	 */
-	public Button createPushButton(Composite parent, String buttonText) {
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		button.setText(buttonText);
-		preferencePage.setButtonLayoutData(button);
-		return button;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.IAntBlockContainer#update()
-	 */
-	public void update() {
-	}
-	
-	protected List getProperties() {
-		Object[] allProperties= antPropertiesBlock.getProperties();
-		List properties= new ArrayList(allProperties.length);
-		for (int i = 0; i < allProperties.length; i++) {
-			Property property = (Property)allProperties[i];
-			if (!property.isDefault()) {
-				properties.add(property);
-			}
-		}
-		return properties;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntRuntimePreferencePage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntRuntimePreferencePage.java
deleted file mode 100644
index 2e57c80..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntRuntimePreferencePage.java
+++ /dev/null
@@ -1,157 +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.ant.internal.ui.preferences;
-
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.Property;
-import org.eclipse.ant.core.Task;
-import org.eclipse.ant.core.Type;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Ant preference page to set the classpath, tasks, types and properties.
- */
-public class AntRuntimePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-	
-	private AntClasspathPage classpathPage;
-	private AntTasksPage tasksPage;
-	private AntTypesPage typesPage;
-	private AntPropertiesPage propertiesPage;
-	
-	/**
-	 * Creates the preference page
-	 */
-	public AntRuntimePreferencePage() {
-		setDescription(AntPreferencesMessages.getString("AntPreferencePage.description")); //$NON-NLS-1$
-		setPreferenceStore(AntUIPlugin.getDefault().getPreferenceStore());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IAntUIHelpContextIds.ANT_RUNTIME_PREFERENCE_PAGE);
-		initializeDialogUnits(parent);
-
-		TabFolder folder = new TabFolder(parent, SWT.NONE);
-		folder.setLayout(new TabFolderLayout());	
-		folder.setLayoutData(new GridData(GridData.FILL_BOTH));
-		folder.setFont(parent.getFont());
-
-		classpathPage = new AntClasspathPage(this);
-		classpathPage.createTabItem(folder);
-		
-		tasksPage = new AntTasksPage(this);
-		tasksPage.createTabItem(folder);
-		
-		typesPage = new AntTypesPage(this);
-		typesPage.createTabItem(folder);
-
-		propertiesPage= new AntPropertiesPage(this);
-		propertiesPage.createTabItem(folder);
-		
-		tasksPage.initialize();
-		typesPage.initialize();
-		classpathPage.initialize();
-		propertiesPage.initialize();
-
-		return folder;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
-	 */
-	protected void performDefaults() {
-		super.performDefaults();
-		
-		AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
-		tasksPage.setInput(prefs.getDefaultTasks());
-		typesPage.setInput(prefs.getDefaultTypes());
-		classpathPage.performDefaults();
-		propertiesPage.performDefaults();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.IPreferencePage#performOk()
-	 */
-	public boolean performOk() {
-		AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
-		
-		prefs.setAntHomeClasspathEntries(classpathPage.getAntHomeEntries());
-		
-		
-		prefs.setAdditionalClasspathEntries(classpathPage.getAdditionalEntries());
-		
-		String antHome= classpathPage.getAntHome();
-		prefs.setAntHome(antHome);
-		
-		List contents = tasksPage.getContents(false);
-		if (contents != null) {
-			Task[] tasks = (Task[]) contents.toArray(new Task[contents.size()]);
-			prefs.setCustomTasks(tasks);
-		}
-		
-		contents = typesPage.getContents(false);
-		if (contents != null) {
-			Type[] types = (Type[]) contents.toArray(new Type[contents.size()]);
-			prefs.setCustomTypes(types);
-		}
-		
-		contents = propertiesPage.getProperties();
-		if (contents != null) {
-			Property[] properties = (Property[]) contents.toArray(new Property[contents.size()]);
-			prefs.setCustomProperties(properties);
-		}
-		
-		String[] files = propertiesPage.getPropertyFiles();
-		prefs.setCustomPropertyFiles(files);
-		
-		prefs.updatePluginPreferences();
-	
-		return super.performOk();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.DialogPage#setButtonLayoutData(org.eclipse.swt.widgets.Button)
-	 */
-	protected GridData setButtonLayoutData(Button button) {
-		return super.setButtonLayoutData(button);
-	}
-	
-	protected List getLibraryEntries() {
-		List urls= new ArrayList();
-		urls.addAll(Arrays.asList(classpathPage.getAntHomeEntries()));
-		urls.addAll(Arrays.asList(classpathPage.getAdditionalEntries()));
-		return urls;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntTasksPage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntTasksPage.java
deleted file mode 100644
index 36e62ce..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntTasksPage.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.ant.internal.ui.preferences;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.Task;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Sub-page that allows the user to enter custom tasks
- * to be used when running Ant build files.
- */
-public class AntTasksPage extends AntPage {
-    
-	/**
-	 * Creates an instance.
-	 */
-	public AntTasksPage(AntRuntimePreferencePage preferencePage) {
-		super(preferencePage);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AntPage#addButtonsToButtonGroup(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void addButtonsToButtonGroup(Composite parent) {
-		createPushButton(parent, AntPreferencesMessages.getString("AntTasksPage.1"), ADD_BUTTON); //$NON-NLS-1$
-		editButton = createPushButton(parent, AntPreferencesMessages.getString("AntTasksPage.2"), EDIT_BUTTON); //$NON-NLS-1$
-		removeButton = createPushButton(parent, AntPreferencesMessages.getString("AntTasksPage.3"), REMOVE_BUTTON); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Allows the user to enter a custom task.
-	 */
-	protected void add() {
-		String title = AntPreferencesMessages.getString("AntTasksPage.addTaskDialogTitle"); //$NON-NLS-1$
-		AddCustomDialog dialog = getCustomDialog(title, IAntUIHelpContextIds.ADD_TASK_DIALOG);
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-
-		Task task = new Task();
-		task.setTaskName(dialog.getName());
-		task.setClassName(dialog.getClassName());
-		task.setLibraryEntry(dialog.getLibraryEntry());
-		addContent(task);
-	}
-	
-	private AddCustomDialog getCustomDialog(String title, String helpContext) {
-		Iterator tasks= getContents(true).iterator();
-		List names= new ArrayList();
-		while (tasks.hasNext()) {
-			Task task = (Task) tasks.next();
-			names.add(task.getTaskName());	
-		}
-		AddCustomDialog dialog = new AddCustomDialog(getShell(), getPreferencePage().getLibraryEntries(), names, helpContext);
-		dialog.setTitle(title);
-		dialog.setAlreadyExistsErrorMsg(AntPreferencesMessages.getString("AntTasksPage.8")); //$NON-NLS-1$
-		dialog.setNoNameErrorMsg(AntPreferencesMessages.getString("AntTasksPage.9")); //$NON-NLS-1$
-		return dialog;
-	}
-	
-	/**
-	 * Creates the tab item that contains this sub-page.
-	 */
-	protected TabItem createTabItem(TabFolder folder) {
-		TabItem item = new TabItem(folder, SWT.NONE);
-		item.setText(AntPreferencesMessages.getString("AntTasksPage.title")); //$NON-NLS-1$
-		item.setImage(AntObjectLabelProvider.getTaskImage());
-		item.setData(this);
-		Composite top = new Composite(folder, SWT.NONE);
-		top.setFont(folder.getFont());
-		item.setControl(createContents(top));
-		
-		connectToFolder(item, folder);
-		
-		return item;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AntPage#edit(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected void edit(IStructuredSelection selection) {
-		Task task= (Task)selection.getFirstElement();
-		String title = AntPreferencesMessages.getString("AntTasksPage.editTaskDialogTitle"); //$NON-NLS-1$
-		AddCustomDialog dialog = getCustomDialog(title, IAntUIHelpContextIds.EDIT_TASK_DIALOG);
-		dialog.setClassName(task.getClassName());
-		dialog.setName(task.getTaskName());
-		dialog.setLibraryEntry(task.getLibraryEntry());
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-
-		task.setTaskName(dialog.getName());
-		task.setClassName(dialog.getClassName());
-		task.setLibraryEntry(dialog.getLibraryEntry());
-		updateContent(task);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AntPage#initialize()
-	 */
-	protected void initialize() {
-		AntCorePreferences prefs = AntCorePlugin.getPlugin().getPreferences();
-		setInput(prefs.getTasks());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AntPage#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IAntUIHelpContextIds.ANT_TASKS_PAGE;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntTypesPage.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntTypesPage.java
deleted file mode 100644
index 12e8a03..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/AntTypesPage.java
+++ /dev/null
@@ -1,134 +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.ant.internal.ui.preferences;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.ant.core.AntCorePlugin;
-import org.eclipse.ant.core.AntCorePreferences;
-import org.eclipse.ant.core.Type;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-
-/**
- * Sub-page that allows the user to enter custom types
- * to be used when running Ant build files.
- */
-public class AntTypesPage extends AntPage {
-    
-	/**
-	 * Creates an instance.
-	 */
-	public AntTypesPage(AntRuntimePreferencePage preferencePage) {
-		super(preferencePage);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AntPage#addButtonsToButtonGroup(org.eclipse.swt.widgets.Composite)
-	 */
-	protected void addButtonsToButtonGroup(Composite parent) {
-		createPushButton(parent, AntPreferencesMessages.getString("AntTypesPage.2"), ADD_BUTTON); //$NON-NLS-1$
-		editButton = createPushButton(parent, AntPreferencesMessages.getString("AntTypesPage.3"), EDIT_BUTTON); //$NON-NLS-1$
-		removeButton = createPushButton(parent, AntPreferencesMessages.getString("AntTypesPage.1"), REMOVE_BUTTON); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Allows the user to enter a custom type.
-	 */
-	protected void add() {
-		String title = AntPreferencesMessages.getString("AntTypesPage.addTypeDialogTitle"); //$NON-NLS-1$
-		AddCustomDialog dialog = getCustomDialog(title, IAntUIHelpContextIds.ADD_TYPE_DIALOG);
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-
-		Type type = new Type();
-		type.setTypeName(dialog.getName());
-		type.setClassName(dialog.getClassName());
-		type.setLibraryEntry(dialog.getLibraryEntry());
-		addContent(type);
-	}
-	
-	/**
-	 * Creates the tab item that contains this sub-page.
-	 */
-	protected TabItem createTabItem(TabFolder folder) {
-		TabItem item = new TabItem(folder, SWT.NONE);
-		item.setText(AntPreferencesMessages.getString("AntTypesPage.typesPageTitle")); //$NON-NLS-1$
-		item.setImage(AntObjectLabelProvider.getTypeImage());
-		item.setData(this);
-		Composite top = new Composite(folder, SWT.NONE);
-		top.setFont(folder.getFont());			
-		item.setControl(createContents(top));
-		
-		connectToFolder(item, folder);
-				
-		return item;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AntPage#edit(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	protected void edit(IStructuredSelection selection) {
-		Type type = (Type) selection.getFirstElement();
-		String title = AntPreferencesMessages.getString("AntTypesPage.editTypeDialogTitle"); //$NON-NLS-1$
-		AddCustomDialog dialog = getCustomDialog(title, IAntUIHelpContextIds.EDIT_TYPE_DIALOG);
-		dialog.setClassName(type.getClassName());
-		dialog.setName(type.getTypeName());
-		dialog.setLibraryEntry(type.getLibraryEntry());
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-
-		type.setTypeName(dialog.getName());
-		type.setClassName(dialog.getClassName());
-		type.setLibraryEntry(dialog.getLibraryEntry());
-		updateContent(type);
-	}
-	
-	private AddCustomDialog getCustomDialog(String title, String helpContext) {
-		Iterator types= getContents(true).iterator();
-		List names= new ArrayList();
-		while (types.hasNext()) {
-			Type aTask = (Type) types.next();
-			names.add(aTask.getTypeName());
-		}
-		
-		AddCustomDialog dialog = new AddCustomDialog(getShell(), getPreferencePage().getLibraryEntries(), names, helpContext);
-		dialog.setTitle(title);
-		dialog.setAlreadyExistsErrorMsg(AntPreferencesMessages.getString("AntTypesPage.8")); //$NON-NLS-1$
-		dialog.setNoNameErrorMsg(AntPreferencesMessages.getString("AntTypesPage.9")); //$NON-NLS-1$
-		return dialog;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AntPage#initialize()
-	 */
-	protected void initialize() {
-		AntCorePreferences prefs= AntCorePlugin.getPlugin().getPreferences();
-		setInput(prefs.getTypes());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.preferences.AntPage#getHelpContextId()
-	 */
-	protected String getHelpContextId() {
-		return IAntUIHelpContextIds.ANT_TYPES_PAGE;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ClasspathEntry.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ClasspathEntry.java
deleted file mode 100644
index bae4e87..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ClasspathEntry.java
+++ /dev/null
@@ -1,120 +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.ant.internal.ui.preferences;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.ant.core.IAntClasspathEntry;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.variables.VariablesPlugin;
-
-public class ClasspathEntry extends AbstractClasspathEntry {
-
-	private URL fUrl= null;
-	private String fVariableString= null;
-	private IAntClasspathEntry fEntry= null;
-	
-	public ClasspathEntry(Object o, IClasspathEntry parent) {
-		fParent= parent;
-		if (o instanceof URL) {
-			fUrl= (URL)o;
-		} else if (o instanceof String) {
-			fVariableString= (String)o;
-		} else if (o instanceof IAntClasspathEntry) {
-			fEntry= (IAntClasspathEntry)o;
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (obj instanceof IAntClasspathEntry) {
-			IAntClasspathEntry other= (IAntClasspathEntry)obj;
-			return other.getLabel().equals(getLabel());
-		}
-		return false;
-		
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getLabel().hashCode();
-	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		if (fEntry != null) {
-			return fEntry.getLabel();
-		}
-		if (getURL() != null) {
-			return getURL().getFile();
-		} 
-
-		return getVariableString();
-	}
-	
-	protected URL getURL() {
-		return fUrl;
-	}
-	
-	protected String getVariableString() {
-		return fVariableString;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.core.IAntClasspathEntry#getLabel()
-	 */
-	public String getLabel() {
-		if (fEntry == null) {
-			return toString();
-		}
-		return fEntry.getLabel();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.core.IAntClasspathEntry#getEntryURL()
-	 */
-	public URL getEntryURL() {
-		if (fEntry != null) {
-			return fEntry.getEntryURL();
-		}
-		if (fUrl != null) {
-			return fUrl;
-		} 
-			
-		try {
-			String expanded = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(fVariableString);
-			return new URL("file:" + expanded); //$NON-NLS-1$
-		} catch (CoreException e) {
-			AntUIPlugin.log(e);
-		} catch (MalformedURLException e) {
-			AntUIPlugin.log(e);
-		}
-		return null;
-	}
-    
-    /* (non-Javadoc)
-     * @see org.eclipse.ant.core.IAntClasspathEntry#isEclipseRuntimeRequired()
-     */
-    public boolean isEclipseRuntimeRequired() {
-        if (fEntry == null) {
-            return super.isEclipseRuntimeRequired();
-        } 
-        return fEntry.isEclipseRuntimeRequired();
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ClasspathModel.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ClasspathModel.java
deleted file mode 100644
index ef6add3..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ClasspathModel.java
+++ /dev/null
@@ -1,245 +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.ant.internal.ui.preferences;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.ant.core.IAntClasspathEntry;
-
-public class ClasspathModel extends AbstractClasspathEntry {
-	
-	public static final int ANT_HOME= 0;
-	public static final int GLOBAL_USER= 1;
-	public static final int USER= 2;
-    public static final int CONTRIBUTED= 3;
-	
-	private GlobalClasspathEntries fAntHomeEntry;
-	private GlobalClasspathEntries fUserGlobalEntry;
-    private GlobalClasspathEntries fContributedGlobalEntry;
-	
-	public Object addEntry(Object entry) {
-		if (entry instanceof GlobalClasspathEntries) {
-			if (!fChildEntries.contains(entry)) {
-				fChildEntries.add(entry);
-				return entry;
-			}
-			return null;
-		} 
-		ClasspathEntry newEntry= createEntry(entry, null);
-		Iterator entries= fChildEntries.iterator();
-		while (entries.hasNext()) {
-			Object element = entries.next();
-			if (element instanceof GlobalClasspathEntries) {
-				if(((GlobalClasspathEntries)element).contains(newEntry)) {
-					return null;
-				}
-			} else if (element.equals(newEntry)) {
-				return null;
-			}
-		}
-		fChildEntries.add(newEntry);
-		return newEntry;
-	}
-	
-	public Object addEntry(int entryType, Object entry) {
-		IClasspathEntry entryParent= null;
-		switch (entryType) {
-			case ANT_HOME :
-				if (fAntHomeEntry == null) {
-					String name= AntPreferencesMessages.getString("ClasspathModel.2"); //$NON-NLS-1$
-					fAntHomeEntry= createGlobalEntry(new IAntClasspathEntry[0], name, false, true, ANT_HOME);
-				}
-				entryParent= fAntHomeEntry;
-				break;
-			case GLOBAL_USER :
-				if (fUserGlobalEntry == null) {
-					String name= AntPreferencesMessages.getString("ClasspathModel.3"); //$NON-NLS-1$
-					fUserGlobalEntry= createGlobalEntry(new IAntClasspathEntry[0], name, true, true, GLOBAL_USER);
-				}
-				entryParent= fUserGlobalEntry;
-				break;
-            case CONTRIBUTED :
-                if (fContributedGlobalEntry == null) {
-                    String name= AntPreferencesMessages.getString("ClasspathModel.0"); //$NON-NLS-1$
-                    fContributedGlobalEntry= createGlobalEntry(new IAntClasspathEntry[0], name, true, true, CONTRIBUTED);
-                }
-                entryParent= fContributedGlobalEntry;
-                break;
-			default :
-				break;
-		}
-			
-		ClasspathEntry newEntry= createEntry(entry, entryParent);
-		Iterator entries= fChildEntries.iterator();
-		while (entries.hasNext()) {
-			Object element = entries.next();
-			if (element instanceof GlobalClasspathEntries) {
-				if(((GlobalClasspathEntries)element).contains(newEntry)) {
-					return null;
-				}
-			} else if (element.equals(newEntry)) {
-				return null;
-			}
-		}
-		if (entryParent != null) {
-			((GlobalClasspathEntries)entryParent).addEntry(newEntry);
-		} else {
-			fChildEntries.add(newEntry);
-		}
-		return newEntry;		
-	}
-	
-	/**
-	 * Returns entries of the specified kind, possibly empty.
-	 * 
-	 * @param entryType kind of entries to retrieve
-	 * @return entries of the specified kind, possibly empty
-	 */
-	public IAntClasspathEntry[] getEntries(int entryType) {
-		switch (entryType) {
-			case ANT_HOME :
-				if (fAntHomeEntry != null) {
-					return fAntHomeEntry.getEntries();
-				}
-				break;
-			case GLOBAL_USER :
-				if (fUserGlobalEntry != null) {
-					return fUserGlobalEntry.getEntries();
-				}
-				break;
-			case USER : 
-				return getUserEntries();
-		}
-		return new IAntClasspathEntry[0];
-	}
-	
-	public void remove(Object entry) {
-		fChildEntries.remove(entry);
-		if (entry == fUserGlobalEntry) {
-			fUserGlobalEntry= null;
-		}
-	}
-	
-	public ClasspathEntry createEntry(Object entry, IClasspathEntry entryParent) {
-		if (entryParent == null) {
-			entryParent= this;
-		} 
-		return new ClasspathEntry(entry, entryParent);
-	}
-
-	public void removeAll() {
-		if (fAntHomeEntry != null) {
-			fAntHomeEntry.removeAll();
-		} 
-		if (fUserGlobalEntry != null) {
-			fUserGlobalEntry.removeAll();
-		}
-	}
-	
-	public void removeAll(int entryType) {
-		switch (entryType) {
-			case ANT_HOME :
-				if (fAntHomeEntry != null) {
-					fAntHomeEntry.removeAll();
-				}
-				break;
-			case GLOBAL_USER :
-				if (fUserGlobalEntry != null) {
-					fUserGlobalEntry.removeAll();
-				}
-				break;
-			default :
-				break;
-		}
-	}
-	
-	public void removeAll(Object[] entries) {
-		
-		for (int i = 0; i < entries.length; i++) {
-			Object object = entries[i];
-			if (object instanceof ClasspathEntry) {
-				IClasspathEntry entryParent= ((ClasspathEntry)object).getParent();
-				if (entryParent instanceof GlobalClasspathEntries) {
-					((GlobalClasspathEntries)entryParent).removeEntry((ClasspathEntry) object);
-				} else {
-					remove(object);
-				}
-			} else {
-				remove(object);
-			}
-		}
-	}
-
-	public void setAntHomeEntries(IAntClasspathEntry[] entries) {
-		if (fAntHomeEntry == null) {
-			String name= AntPreferencesMessages.getString("ClasspathModel.2"); //$NON-NLS-1$
-			fAntHomeEntry= createGlobalEntry(entries, name, false, true, ANT_HOME);
-		} else {
-			fAntHomeEntry.removeAll();
-			for (int i = 0; i < entries.length; i++) {
-				fAntHomeEntry.addEntry(new ClasspathEntry(entries[i], fAntHomeEntry));
-			}
-		}
-	}
-
-	private GlobalClasspathEntries createGlobalEntry(IAntClasspathEntry[] entries, String name, boolean canBeRemoved, boolean addEntry, int type) {
-		
-		GlobalClasspathEntries global= new GlobalClasspathEntries(name, this, canBeRemoved, type);
-		
-		for (int i = 0; i < entries.length; i++) {
-			global.addEntry(new ClasspathEntry(entries[i], global));
-		}
-		
-		if (addEntry) {
-			addEntry(global);
-		}
-		return global;
-	}
-
-	public void setGlobalEntries(IAntClasspathEntry[] entries) {
-		if (fUserGlobalEntry == null) {
-			String name= AntPreferencesMessages.getString("ClasspathModel.3"); //$NON-NLS-1$
-			fUserGlobalEntry= createGlobalEntry(entries, name, true, true, GLOBAL_USER);
-		} else {
-			fUserGlobalEntry.removeAll();
-			for (int i = 0; i < entries.length; i++) {
-				fUserGlobalEntry.addEntry(new ClasspathEntry(entries[i], fUserGlobalEntry));
-			}
-		}
-	}
-    
-    public void setContributedEntries(IAntClasspathEntry[] entries) {
-        if (fContributedGlobalEntry == null) {
-            String name= AntPreferencesMessages.getString("ClasspathModel.0"); //$NON-NLS-1$
-            fContributedGlobalEntry= createGlobalEntry(entries, name, false, true, CONTRIBUTED);
-        } else {
-            fContributedGlobalEntry.removeAll();
-            for (int i = 0; i < entries.length; i++) {
-                fContributedGlobalEntry.addEntry(new ClasspathEntry(entries[i], fContributedGlobalEntry));
-            }
-        }
-    }
-	
-	private IAntClasspathEntry[] getUserEntries() {
-		List userEntries= new ArrayList(fChildEntries.size());
-		Iterator itr= fChildEntries.iterator();
-		while (itr.hasNext()) {
-			IClasspathEntry element = (IClasspathEntry) itr.next();
-			if (element instanceof GlobalClasspathEntries) {
-				continue;
-			}
-			userEntries.add(element);
-		}
-		return (IAntClasspathEntry[])userEntries.toArray(new IAntClasspathEntry[userEntries.size()]);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ColorEditor.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ColorEditor.java
deleted file mode 100644
index b558cb9..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/ColorEditor.java
+++ /dev/null
@@ -1,123 +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.ant.internal.ui.preferences;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.ColorDialog;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.jface.resource.JFaceResources;
-
-/**
- * A "button" of a certain color determined by the color picker
- */
-public class ColorEditor {
-	
-	private Point fExtent;
-	private Image fImage;
-	private RGB fColorValue;
-	private Color fColor;
-	private Button fButton;
-	
-	public ColorEditor(Composite parent) {
-		
-		fButton= new Button(parent, SWT.PUSH);
-		fExtent= computeImageSize(parent);
-		fImage= new Image(parent.getDisplay(), fExtent.x, fExtent.y);
-		
-		GC gc= new GC(fImage);
-		gc.setBackground(fButton.getBackground());
-		gc.fillRectangle(0, 0, fExtent.x, fExtent.y);
-		gc.dispose();
-		
-		fButton.setImage(fImage);
-		fButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				ColorDialog colorDialog= new ColorDialog(fButton.getShell());
-				colorDialog.setRGB(fColorValue);
-				RGB newColor = colorDialog.open();
-				if (newColor != null) {
-					fColorValue= newColor;
-					updateColorImage();
-				}
-			}
-		});
-		
-		fButton.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent event) {
-				if (fImage != null)  {
-					fImage.dispose();
-					fImage= null;
-				}
-				if (fColor != null) {
-					fColor.dispose();
-					fColor= null;
-				}
-			}
-		});
-	}
-	
-	public RGB getColorValue() {
-		return fColorValue;
-	}
-	
-	public void setColorValue(RGB rgb) {
-		fColorValue= rgb;
-		updateColorImage();
-	}
-	
-	public Button getButton() {
-		return fButton;
-	}
-	
-	protected void updateColorImage() {
-		
-		Display display= fButton.getDisplay();
-		
-		GC gc= new GC(fImage);
-		gc.setForeground(display.getSystemColor(SWT.COLOR_BLACK));
-		gc.drawRectangle(0, 2, fExtent.x - 1, fExtent.y - 4);
-		
-		if (fColor != null)
-			fColor.dispose();
-			
-		fColor= new Color(display, fColorValue);
-		gc.setBackground(fColor);
-		gc.fillRectangle(1, 3, fExtent.x - 2, fExtent.y - 5);
-		gc.dispose();
-		
-		fButton.setImage(fImage);
-	}
-	
-	protected Point computeImageSize(Control window) {
-		GC gc= new GC(window);
-		Font f= JFaceResources.getFontRegistry().get(JFaceResources.DEFAULT_FONT);
-		gc.setFont(f);
-		int height= gc.getFontMetrics().getHeight();
-		gc.dispose();
-		Point p= new Point(height * 3 - 6, height);
-		return p;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/DialogSettingsHelper.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/DialogSettingsHelper.java
deleted file mode 100644
index b57e653..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/DialogSettingsHelper.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.preferences;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Helper class for dealing with setting and restoring dialog settings.
- */
-public class DialogSettingsHelper {
-	public static final String DIALOG_ORIGIN_X = AntUIPlugin.PI_ANTUI + ".ATTR_ANT_DIALOG_X_ORIGIN"; //$NON-NLS-1$
-	public static final String DIALOG_ORIGIN_Y = AntUIPlugin.PI_ANTUI + ".ATTR_ANT_DIALOG_Y_ORIGIN"; //$NON-NLS-1$
-	public static final String DIALOG_WIDTH = AntUIPlugin.PI_ANTUI + ".ATTR_ANT_DIALOG_WIDTH"; //$NON-NLS-1$
-	public static final String DIALOG_HEIGHT = AntUIPlugin.PI_ANTUI + ".ATTR_ANT_DIALOG_HEIGHT"; //$NON-NLS-1$
-	
-	/**
-	 * Persists the location and dimensions of the shell in the
-	 * Ant UI Plugin dialog settings under the provided dialog settings section name
-	 * 
-	 * @param shell The shell whose geometry is to be stored
-	 * @param dialogSettingsSectionName The name of the dialog settings section
-	 */
-	public static void persistShellGeometry(Shell shell, String dialogSettingsSectionName) {
-		Point shellLocation = shell.getLocation();
-		Point shellSize = shell.getSize();
-		IDialogSettings settings = getDialogSettings(dialogSettingsSectionName);
-		settings.put(DIALOG_ORIGIN_X, shellLocation.x);
-		settings.put(DIALOG_ORIGIN_Y, shellLocation.y);
-		settings.put(DIALOG_WIDTH, shellSize.x);
-		settings.put(DIALOG_HEIGHT, shellSize.y);
-	}
-	
-	private static IDialogSettings getDialogSettings(String dialogSettingsSectionName) {
-		IDialogSettings settings = AntUIPlugin.getDefault().getDialogSettings();
-		IDialogSettings section = settings.getSection(dialogSettingsSectionName);
-		if (section == null) {
-			section = settings.addNewSection(dialogSettingsSectionName);
-		} 
-		return section;
-	}
-	
-	/**
-	 * Returns the initial size which is the larger of the <code>initialSize</code> or
-	 * the size persisted in the Ant UI Plugin dialog settings under the provided dialog setttings section name.
-	 * If no size is persisted in the settings, the <code>initialSize</code> is returned. 
-	 * 
-	 * @param initialSize The initialSize to compare against
-	 * @param dialogSettingsSectionName The name of the dialog settings section
-	 * @return the initial size
-	 */
-	public static Point getInitialSize(String dialogSettingsSectionName, Point initialSize) {
-		IDialogSettings settings = getDialogSettings(dialogSettingsSectionName);
-		try {
-			int x, y;
-			x = settings.getInt(DIALOG_WIDTH);
-			y = settings.getInt(DIALOG_HEIGHT);
-			return new Point(Math.max(x, initialSize.x), Math.max(y, initialSize.y));
-		} catch (NumberFormatException e) {
-		}
-		return initialSize;
-	}
-	
-	/**
-	 * Returns the initial location which is persisted in the Ant UI Plugin dialog settings
-	 * under the provided dialog setttings section name.
-	 * If location is not persisted in the settings, the <code>null</code> is returned. 
-	 * 
-	 * @param dialogSettingsSectionName The name of the dialog settings section
-	 * @return The initial location or <code>null</code>
-	 */
-	public static Point getInitialLocation(String dialogSettingsSectionName) {
-		IDialogSettings settings = getDialogSettings(dialogSettingsSectionName);
-		try {
-			int x= settings.getInt(DIALOG_ORIGIN_X);
-			int y= settings.getInt(DIALOG_ORIGIN_Y);
-			return new Point(x,y);
-		} catch (NumberFormatException e) {
-		}
-		return null;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FileFilter.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FileFilter.java
deleted file mode 100644
index 44ccf0d..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FileFilter.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**********************************************************************
-Copyright (c) 2003, 2004 IBM Corp. 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
-**********************************************************************/
-
-package org.eclipse.ant.internal.ui.preferences;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.custom.BusyIndicator;
-
-public class FileFilter extends ViewerFilter {
-
-	/**
-	 * Objects to filter
-	 */
-	private List fFilter;
-	
-	/**
-	 * Collection of files and containers to display
-	 */
-	private Set fFiles;
-	
-	private String fExtension;
-
-    private boolean fConsiderExtension= true;
-
-	/**
-	 * Creates a new filter that filters the given 
-	 * objects.
-	 * Note: considerExtension must be called to initialize the filter
-	 */
-	public FileFilter(List objects, String extension) {
-		fFilter = objects;
-		fExtension= extension;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		return fFiles.contains(element) && !fFilter.contains(element);
-	}
-	
-	/**
-	 * Search for all the matching files in the workspace.
-	 */
-	private void init() {
-		BusyIndicator.showWhile(AntUIPlugin.getStandardDisplay(), new Runnable() {
-			public void run() {
-				fFiles = new HashSet();
-				traverse(ResourcesPlugin.getWorkspace().getRoot(), fFiles);
-			}
-		});
-	}
-
-	/**
-	 * Traverse the given container, adding files to the given set.
-	 * Returns whether any files were added
-	 */
-	private boolean traverse(IContainer container, Set set) {
-		boolean added = false;
-		try {
-			IResource[] resources = container.members();
-			for (int i = 0; i < resources.length; i++) {
-				IResource resource = resources[i];
-				if (resource instanceof IFile) {
-					IFile file = (IFile) resource;
-					String ext = file.getFileExtension();
-					if (!fConsiderExtension || (ext != null && ext.equalsIgnoreCase(fExtension))) {
-						set.add(file);
-						added = true;
-					}
-				} else if (resource instanceof IContainer) {
-					if (traverse((IContainer) resource, set)) {
-						set.add(resource);
-						added = true;
-					}
-				}
-			}
-		} catch (CoreException e) {
-		}
-		return added;
-	}
-	
-	/**
-	 * Sets whether this filter will filter based on extension.
-	 * @param considerExternsion whether to consider a file's extension when filtering
-	 */
-	public void considerExtension(boolean considerExtension) {
-	    fConsiderExtension= considerExtension;
-	    init();
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FileSelectionDialog.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FileSelectionDialog.java
deleted file mode 100644
index 5917622..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FileSelectionDialog.java
+++ /dev/null
@@ -1,107 +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.ant.internal.ui.preferences;
-
-import java.util.List;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-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.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-
-public class FileSelectionDialog extends ElementTreeSelectionDialog {
-	
-	private FileFilter fFilter;
-	private String fFilterMessage;
-	private boolean fShowAll= false;
-	private final static String DIALOG_SETTING= "AntPropertiesFileSelectionDialog.showAll";  //$NON-NLS-1$
-	
-	public FileSelectionDialog(Shell parent, List files, String title, String message, String filterExtension, String filterMessage) {
-		super(parent, new WorkbenchLabelProvider(), new WorkbenchContentProvider());
-		
-		setTitle(title);
-		setMessage(message);
-		fFilter= new FileFilter(files, filterExtension);
-		fFilterMessage= filterMessage;
-		setInput(ResourcesPlugin.getWorkspace().getRoot());	
-		setSorter(new ResourceSorter(ResourceSorter.NAME));
-		
-		ISelectionStatusValidator validator= new ISelectionStatusValidator() {
-			public IStatus validate(Object[] selection) {
-				if (selection.length == 0) {
-					return new Status(IStatus.ERROR, AntUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-				}
-				for (int i= 0; i < selection.length; i++) {
-					if (!(selection[i] instanceof IFile)) {
-						return new Status(IStatus.ERROR, AntUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-					}
-				}
-				return new Status(IStatus.OK, AntUIPlugin.getUniqueIdentifier(), 0, "", null); //$NON-NLS-1$
-			}			
-		};
-		setValidator(validator);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createDialogArea(Composite parent) {
-		
-		Composite result= (Composite)super.createDialogArea(parent);
-		final Button button = new Button(result, SWT.CHECK);
-		button.setText(fFilterMessage);
-		button.setFont(parent.getFont());
-		
-		IDialogSettings settings= AntUIPlugin.getDefault().getDialogSettings();
-		fShowAll= settings.getBoolean(DIALOG_SETTING);
-		fFilter.considerExtension(!fShowAll);
-		getTreeViewer().addFilter(fFilter);
-		if (!fShowAll) {
-			button.setSelection(true);
-		}
-		
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent event) {
-				if (button.getSelection()) {
-					fShowAll= false;
-				} else {
-					fShowAll= true;
-				}
-				fFilter.considerExtension(!fShowAll);
-				getTreeViewer().refresh();
-			}
-		});
-		applyDialogFont(result);		
-		return result;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		IDialogSettings settings= AntUIPlugin.getDefault().getDialogSettings();
-		settings.put(DIALOG_SETTING, fShowAll);
-		return super.close();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FormatPreviewCode.txt b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FormatPreviewCode.txt
deleted file mode 100644
index 03b202c..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/FormatPreviewCode.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ================================================ -->
-<!--  Sample buildfile for jar components             -->
-<!--                                                  -->
-<!-- ================================================ -->
-<project name="sample" default="build">
-
-	<!-- - - - - - - - - - - - - - -->
-	<!--  target: init             -->
-	<!-- - - - - - - - - - - - - - -->
-	<target name="init">
-		<property name="${eclipse.home}" location="/home/eclipse" />
-	</target>
-
-	<!-- ========================= -->
-	<!--   target: build           -->
-	<!-- ========================= -->
-	<target name="build"
-	        depends="init"
-	        description="--> compile and jar this component">
-
-		<javac srcdir="${src.home}"
-		       destdir="${build.home}"
-		       debug="${compile.debug}"
-		       deprecation="${compile.deprecation}"
-		       optimize="${compile.optimize}">
-			<classpath refid="compile.classpath" />
-		</javac>
-
-		<jar destfile="${dist.home}/${app.name}.jar"
-		     basedir="${build.home}"
-		     excludes="**/*UT.class" />
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/GlobalClasspathEntries.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/GlobalClasspathEntries.java
deleted file mode 100644
index 79e6a4a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/GlobalClasspathEntries.java
+++ /dev/null
@@ -1,68 +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.ant.internal.ui.preferences;
-
-import java.util.List;
-
-public class GlobalClasspathEntries extends AbstractClasspathEntry {
-	private String fName;
-	private int fType;
-	private boolean fCanBeRemoved= true;
-	
-	public GlobalClasspathEntries(String name, IClasspathEntry parent, boolean canBeRemoved, int type) {
-		fParent= parent;
-		fName= name;
-		fCanBeRemoved= canBeRemoved;
-		fType= type;
-	}
-		
-	public void addEntry(ClasspathEntry entry) {
-		fChildEntries.add(entry);
-	}
-	
-	public void removeEntry(ClasspathEntry entry) {
-		fChildEntries.remove(entry);
-	}
-	
-	public boolean contains(ClasspathEntry entry) {
-		return fChildEntries.contains(entry);
-	}
-	
-	public String toString() {
-		return fName;
-	}
-
-	public void removeAll() {
-		fChildEntries.clear();
-	}
-	
-	public boolean canBeRemoved() {
-		return fCanBeRemoved;
-	}
-
-	/**
-     * Set the child entries of this classpath entry.
-	 * @param entries The child entries.
-	 */
-	public void setEntries(List entries) {
-		fChildEntries= entries;
-	}
-	/**
-	 * @return Returns the type of this global classpath entry.
-	 * @see ClasspathModel#ANT_HOME
-	 * @see ClasspathModel#GLOBAL_USER
-	 * @see ClasspathModel#CONTRIBUTED
-	 */
-	public int getType() {
-		return fType;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/IAntBlockContainer.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/IAntBlockContainer.java
deleted file mode 100644
index 5d3a88a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/IAntBlockContainer.java
+++ /dev/null
@@ -1,51 +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.ant.internal.ui.preferences;
-
-
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-
-public interface IAntBlockContainer {
-	
-	/**
-	 * Sets the error message for the container.
-	 * May be <code>null</code> to remove the error message.
-	 * 
-	 * @param message A string error message or <code>null</code>
-	 */
-	public void setErrorMessage(String message);
-	
-	/**
-	 * Sets the message for the container.
-	 * May be <code>null</code> to remove the message.
-	 * 
-	 * @param message A string message or <code>null</code>
-	 */
-	public void setMessage(String message);
-	
-	/**
-	 * Creates and returns a properly configured push button with 
-	 * the supplied label
-	 * 
-	 * @param parent The composite parent of the button
-	 * @param label The button label
-	 * 
-	 * @return button the created button
-	 */
-	public Button createPushButton(Composite parent, String label);
-	
-	/**
-	 * Notifies the container that state has changed.
-	 */
-	public void update();
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/IClasspathEntry.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/IClasspathEntry.java
deleted file mode 100644
index e425699..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/IClasspathEntry.java
+++ /dev/null
@@ -1,38 +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.ant.internal.ui.preferences;
-
-import org.eclipse.ant.core.IAntClasspathEntry;
-
-public interface IClasspathEntry extends IAntClasspathEntry {
-	
-	/**
-	 * Returns the classpath entries that are the children of this classpath entry
-	 * 
-	 * @return the child classpath entries of this entry
-	 */
-	public IAntClasspathEntry[] getEntries();
-	
-	/**
-	 * Returns whether this classpath entries has child entries.
-	 * 
-	 * @return whether <code>true</code> if this classpath entry has childern, <code>false</code> otherwise.
-	 */
-	public boolean hasEntries();
-	
-	/**
-	 * Returns the parent of this classpath entry
-	 * 
-	 * @return the parent of this classpath entry, or <code>null</code> if none.
-	 */
-	public IClasspathEntry getParent();
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/MessageLine.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/MessageLine.java
deleted file mode 100644
index cc78534..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/MessageLine.java
+++ /dev/null
@@ -1,97 +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.ant.internal.ui.preferences;
-
-
-import org.eclipse.core.runtime.IStatus;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A message line displaying a status.
- */
-public class MessageLine extends CLabel {
-
-	private static final RGB ERROR_BACKGROUND_RGB = new RGB(230, 226, 221);
-
-	private Color fNormalMsgAreaBackground;
-	private Color fErrorMsgAreaBackground;
-
-	/**
-	 * Creates a new message line as a child of the given parent.
-	 */
-	public MessageLine(Composite parent) {
-		this(parent, SWT.LEFT);
-	}
-
-	/**
-	 * Creates a new message line as a child of the parent and with the given SWT stylebits.
-	 */
-	public MessageLine(Composite parent, int style) {
-		super(parent, style);
-		fNormalMsgAreaBackground= getBackground();
-		fErrorMsgAreaBackground= null;
-	}
-
-
-	private Image findImage(IStatus status) {
-		if (status.isOK()) {
-			return null;
-		} else if (status.matches(IStatus.ERROR)) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_ERROR_TSK);
-		} else if (status.matches(IStatus.WARNING)) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK);
-		} else if (status.matches(IStatus.INFO)) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK);
-		}
-		return null;
-	}
-
-	/**
-	 * Sets the message and image to the given status.
-	 * <code>null</code> is a valid argument and will set the empty text and no image
-	 */
-	public void setErrorStatus(IStatus status) {
-		if (status != null) {
-			String message= status.getMessage();
-			if (message != null && message.length() > 0) {
-				setText(message);
-				setImage(findImage(status));
-				if (fErrorMsgAreaBackground == null) {
-					fErrorMsgAreaBackground= new Color(getDisplay(), ERROR_BACKGROUND_RGB);
-				}
-				setBackground(fErrorMsgAreaBackground);
-				return;
-			}
-		}
-		setText(""); //$NON-NLS-1$
-		setImage(null);
-		setBackground(fNormalMsgAreaBackground);
-	}
-
-	/*
-	 * @see Widget#dispose()
-	 */
-	public void dispose() {
-		if (fErrorMsgAreaBackground != null) {
-			fErrorMsgAreaBackground.dispose();
-			fErrorMsgAreaBackground= null;
-		}
-		super.dispose();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/MinimizedFileSystemElement.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/MinimizedFileSystemElement.java
deleted file mode 100644
index 65651f0..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/MinimizedFileSystemElement.java
+++ /dev/null
@@ -1,216 +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.ant.internal.ui.preferences;
-
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.wizards.datatransfer.IImportStructureProvider;
-
-class MinimizedFileSystemElement implements IWorkbenchAdapter, IAdaptable {
-	private boolean populated = false;
-	private List folders = null;
-	private List files = null;
-	private String name;
-	private boolean isDirectory = false;
-	private MinimizedFileSystemElement parent;
-	private Object fileSystemObject;
-	
-	/**
-	 * Create a <code>MinimizedFileSystemElement</code> with the supplied name and parent.
-	 * @param name the name of the file element this represents
-	 * @param parent the containing parent
-	 * @param isDirectory indicated if this could have children or not
-	 */
-	public MinimizedFileSystemElement(String name, MinimizedFileSystemElement parent, boolean isDirectory) {
-		this.name = name;
-		this.parent = parent;
-		this.isDirectory = isDirectory;
-		if (parent != null) {
-			parent.addChild(this);
-		}
-	}
-	
-	/**
-	 * Returns the adapter
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IWorkbenchAdapter.class) {
-			return this;
-		}
-		//defer to the platform
-		return Platform.getAdapterManager().getAdapter(this, adapter);
-	}
-	
-	/**
-	 * Returns true if this element represents a directory, and false
-	 * otherwise.
-	 */
-	public boolean isDirectory() {
-		return isDirectory;
-	}
-	
-	/**
-	 * Adds the passed child to this object's collection of children.
-	 *
-	 * @param child MinimizedFileSystemElement
-	 */
-	private void addChild(MinimizedFileSystemElement child) {
-		if (child.isDirectory()) {
-			if (folders == null) {
-				 folders = new ArrayList(1);
-			}
-			folders.add(child);
-		} else {
-			if (files == null) {
-				 files = new ArrayList(1);
-			}
-			files.add(child);
-		}
-	}
-	/**
-	 * Returns a list of the files that are immediate children. Use the supplied provider
-	 * if it needs to be populated.
-	 */
-	protected List getFiles(IImportStructureProvider provider) {
-		if (!populated) {
-			populate(provider);
-		}
-
-		if (files == null) {
-			 return Collections.EMPTY_LIST;
-		}
-		return files;
-
-	}
-	/**
-	 * Returns a list of the folders that are immediate children. Use the supplied provider
-	 * if it needs to be populated.
-	 */
-	protected List getFolders(IImportStructureProvider provider) {
-		if (!populated) {
-			populate(provider);
-		}
-
-		return getFolders();
-
-	}
-
-	protected List getFolders() {
-		if (folders == null){
-			 return Collections.EMPTY_LIST;
-		}
-		return folders;
-	}
-	/**
-	 * Return whether or not population has happened for the receiver.
-	 */
-	protected boolean isPopulated() {
-		return this.populated;
-	}
-	/**
-	 * Return whether or not population has not happened for the receiver.
-	 */
-	protected boolean notPopulated() {
-		return !this.populated;
-	}
-	/**
-	 * Populate the files and folders of the receiver using the supplied
-	 * structure provider.
-	 * @param provider org.eclipse.ui.wizards.datatransfer.IImportStructureProvider
-	 */
-	private void populate(IImportStructureProvider provider) {
-
-		List children = provider.getChildren(fileSystemObject);
-		if (children == null) {
-			children = new ArrayList(1);
-		}
-		Iterator childrenEnum = children.iterator();
-		while (childrenEnum.hasNext()) {
-			Object child = childrenEnum.next();
-
-			String elementLabel = provider.getLabel(child);
-			boolean isFolder= provider.isFolder(child);
-			if (!isFolder && !elementLabel.endsWith(".class")) { //$NON-NLS-1$
-				continue;
-			}
-			//Create one level below
-			MinimizedFileSystemElement result = new MinimizedFileSystemElement(elementLabel, this, isFolder);
-			result.setFileSystemObject(child);
-		}
-		setPopulated();
-	}
-	
-	/**
-	 *	Returns the file system object property of this element
-	 *
-	 *	@return the file system object
-	 */
-	protected Object getFileSystemObject() {
-		return fileSystemObject;
-	}
-	
-	/**
-	 *	Set the file system object property of this element
-	 *
-	 *	@param value the file system object
-	 */
-	protected void setFileSystemObject(Object value) {
-		fileSystemObject = value;
-	}
-	/**
-	 * Set whether or not population has happened for the receiver to true.
-	 */
-	protected void setPopulated() {
-		this.populated = true;
-	}
-	/**
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object o) {
-		return getFolders().toArray();
-	}
-
-	/**
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		if (isDirectory()) {
-			return PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_FOLDER);
-		}
-		return PlatformUI.getWorkbench().getEditorRegistry().getImageDescriptor(name);
-	}
-
-	/**
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		return name;
-	}
-
-	/**
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		return parent;
-	}
-
-}
-
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/OverlayPreferenceStore.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/OverlayPreferenceStore.java
deleted file mode 100644
index 5532c81..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/OverlayPreferenceStore.java
+++ /dev/null
@@ -1,451 +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.ant.internal.ui.preferences;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-
-/**
- * An overlaying preference store.
- */
-class OverlayPreferenceStore  implements IPreferenceStore {
-	
-	
-	public static final class TypeDescriptor {
-		private TypeDescriptor() {
-		}
-	}
-	
-	public static final TypeDescriptor BOOLEAN= new TypeDescriptor();
-	public static final TypeDescriptor DOUBLE= new TypeDescriptor();
-	public static final TypeDescriptor FLOAT= new TypeDescriptor();
-	public static final TypeDescriptor INT= new TypeDescriptor();
-	public static final TypeDescriptor LONG= new TypeDescriptor();
-	public static final TypeDescriptor STRING= new TypeDescriptor();
-	
-	public static class OverlayKey {
-		
-		TypeDescriptor fDescriptor;
-		String fKey;
-		
-		public OverlayKey(TypeDescriptor descriptor, String key) {
-			fDescriptor= descriptor;
-			fKey= key;
-		}
-	}
-	
-	private class PropertyListener implements IPropertyChangeListener {
-				
-		/*
-		 * @see IPropertyChangeListener#propertyChange(PropertyChangeEvent)
-		 */
-		public void propertyChange(PropertyChangeEvent event) {
-			OverlayKey key= findOverlayKey(event.getProperty());
-			if (key != null)
-				propagateProperty(fParent, key, fStore); 
-		}
-	}
-	
-	
-	private IPreferenceStore fParent;
-	private IPreferenceStore fStore;
-	private OverlayKey[] fOverlayKeys;
-	
-	private PropertyListener fPropertyListener;
-	
-	
-	public OverlayPreferenceStore(IPreferenceStore parent, OverlayKey[] overlayKeys) {
-		fParent= parent;
-		fOverlayKeys= overlayKeys;
-		fStore= new PreferenceStore();
-	}
-	
-	private OverlayKey findOverlayKey(String key) {
-		for (int i= 0; i < fOverlayKeys.length; i++) {
-			if (fOverlayKeys[i].fKey.equals(key))
-				return fOverlayKeys[i];
-		}
-		return null;
-	}
-	
-	private boolean covers(String key) {
-		return (findOverlayKey(key) != null);
-	}
-	
-	private void propagateProperty(IPreferenceStore orgin, OverlayKey key, IPreferenceStore target) {
-		
-		if (orgin.isDefault(key.fKey)) {
-			if (!target.isDefault(key.fKey))
-				target.setToDefault(key.fKey);
-			return;
-		}
-		
-		TypeDescriptor d= key.fDescriptor;
-		if (BOOLEAN == d) {
-			
-			boolean originValue= orgin.getBoolean(key.fKey);
-			boolean targetValue= target.getBoolean(key.fKey);
-			if (targetValue != originValue)
-				target.setValue(key.fKey, originValue);
-				
-		} else if (DOUBLE == d) {
-			
-			double originValue= orgin.getDouble(key.fKey);
-			double targetValue= target.getDouble(key.fKey);
-			if (targetValue != originValue)
-				target.setValue(key.fKey, originValue);
-		
-		} else if (FLOAT == d) {
-			
-			float originValue= orgin.getFloat(key.fKey);
-			float targetValue= target.getFloat(key.fKey);
-			if (targetValue != originValue)
-				target.setValue(key.fKey, originValue);
-				
-		} else if (INT == d) {
-
-			int originValue= orgin.getInt(key.fKey);
-			int targetValue= target.getInt(key.fKey);
-			if (targetValue != originValue)
-				target.setValue(key.fKey, originValue);
-
-		} else if (LONG == d) {
-
-			long originValue= orgin.getLong(key.fKey);
-			long targetValue= target.getLong(key.fKey);
-			if (targetValue != originValue)
-				target.setValue(key.fKey, originValue);
-
-		} else if (STRING == d) {
-
-			String originValue= orgin.getString(key.fKey);
-			String targetValue= target.getString(key.fKey);
-			if (targetValue != null && originValue != null && !targetValue.equals(originValue))
-				target.setValue(key.fKey, originValue);
-
-		}
-	}
-	
-	public void propagate() {
-		for (int i= 0; i < fOverlayKeys.length; i++)
-			propagateProperty(fStore, fOverlayKeys[i], fParent);
-	}
-	
-	private void loadProperty(IPreferenceStore orgin, OverlayKey key, IPreferenceStore target, boolean forceInitialization) {
-		TypeDescriptor d= key.fDescriptor;
-		if (BOOLEAN == d) {
-			
-			if (forceInitialization)
-				target.setValue(key.fKey, true);
-			target.setValue(key.fKey, orgin.getBoolean(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultBoolean(key.fKey));
-			
-		} else if (DOUBLE == d) {
-			
-			if (forceInitialization)
-				target.setValue(key.fKey, 1.0D);
-			target.setValue(key.fKey, orgin.getDouble(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultDouble(key.fKey));
-			
-		} else if (FLOAT == d) {
-			
-			if (forceInitialization)
-				target.setValue(key.fKey, 1.0F);
-			target.setValue(key.fKey, orgin.getFloat(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultFloat(key.fKey));
-			
-		} else if (INT == d) {
-			
-			if (forceInitialization)
-				target.setValue(key.fKey, 1);
-			target.setValue(key.fKey, orgin.getInt(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultInt(key.fKey));
-			
-		} else if (LONG == d) {
-			
-			if (forceInitialization)
-				target.setValue(key.fKey, 1L);
-			target.setValue(key.fKey, orgin.getLong(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultLong(key.fKey));
-			
-		} else if (STRING == d) {
-			
-			if (forceInitialization)
-				target.setValue(key.fKey, "1"); //$NON-NLS-1$
-			target.setValue(key.fKey, orgin.getString(key.fKey));
-			target.setDefault(key.fKey, orgin.getDefaultString(key.fKey));
-			
-		}
-	}
-	
-	public void load() {
-		for (int i= 0; i < fOverlayKeys.length; i++)
-			loadProperty(fParent, fOverlayKeys[i], fStore, true);
-	}
-	
-	public void loadDefaults() {
-		for (int i= 0; i < fOverlayKeys.length; i++)
-			setToDefault(fOverlayKeys[i].fKey);
-	}
-	
-	public void start() {
-		if (fPropertyListener == null) {
-			fPropertyListener= new PropertyListener();
-			fParent.addPropertyChangeListener(fPropertyListener);
-		}
-	}
-	
-	public void stop() {
-		if (fPropertyListener != null)  {
-			fParent.removePropertyChangeListener(fPropertyListener);
-			fPropertyListener= null;
-		}
-	}
-	
-	/*
-	 * @see IPreferenceStore#addPropertyChangeListener(IPropertyChangeListener)
-	 */
-	public void addPropertyChangeListener(IPropertyChangeListener listener) {
-		fStore.addPropertyChangeListener(listener);
-	}
-	
-	/*
-	 * @see IPreferenceStore#removePropertyChangeListener(IPropertyChangeListener)
-	 */
-	public void removePropertyChangeListener(IPropertyChangeListener listener) {
-		fStore.removePropertyChangeListener(listener);
-	}
-	
-	/*
-	 * @see IPreferenceStore#firePropertyChangeEvent(String, Object, Object)
-	 */
-	public void firePropertyChangeEvent(String name, Object oldValue, Object newValue) {
-		fStore.firePropertyChangeEvent(name, oldValue, newValue);
-	}
-
-	/*
-	 * @see IPreferenceStore#contains(String)
-	 */
-	public boolean contains(String name) {
-		return fStore.contains(name);
-	}
-	
-	/*
-	 * @see IPreferenceStore#getBoolean(String)
-	 */
-	public boolean getBoolean(String name) {
-		return fStore.getBoolean(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultBoolean(String)
-	 */
-	public boolean getDefaultBoolean(String name) {
-		return fStore.getDefaultBoolean(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultDouble(String)
-	 */
-	public double getDefaultDouble(String name) {
-		return fStore.getDefaultDouble(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultFloat(String)
-	 */
-	public float getDefaultFloat(String name) {
-		return fStore.getDefaultFloat(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultInt(String)
-	 */
-	public int getDefaultInt(String name) {
-		return fStore.getDefaultInt(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultLong(String)
-	 */
-	public long getDefaultLong(String name) {
-		return fStore.getDefaultLong(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDefaultString(String)
-	 */
-	public String getDefaultString(String name) {
-		return fStore.getDefaultString(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getDouble(String)
-	 */
-	public double getDouble(String name) {
-		return fStore.getDouble(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getFloat(String)
-	 */
-	public float getFloat(String name) {
-		return fStore.getFloat(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getInt(String)
-	 */
-	public int getInt(String name) {
-		return fStore.getInt(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getLong(String)
-	 */
-	public long getLong(String name) {
-		return fStore.getLong(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#getString(String)
-	 */
-	public String getString(String name) {
-		return fStore.getString(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#isDefault(String)
-	 */
-	public boolean isDefault(String name) {
-		return fStore.isDefault(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#needsSaving()
-	 */
-	public boolean needsSaving() {
-		return fStore.needsSaving();
-	}
-
-	/*
-	 * @see IPreferenceStore#putValue(String, String)
-	 */
-	public void putValue(String name, String value) {
-		if (covers(name))
-			fStore.putValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, double)
-	 */
-	public void setDefault(String name, double value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, float)
-	 */
-	public void setDefault(String name, float value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, int)
-	 */
-	public void setDefault(String name, int value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, long)
-	 */
-	public void setDefault(String name, long value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, String)
-	 */
-	public void setDefault(String name, String value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setDefault(String, boolean)
-	 */
-	public void setDefault(String name, boolean value) {
-		if (covers(name))
-			fStore.setDefault(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setToDefault(String)
-	 */
-	public void setToDefault(String name) {
-		fStore.setToDefault(name);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, double)
-	 */
-	public void setValue(String name, double value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, float)
-	 */
-	public void setValue(String name, float value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, int)
-	 */
-	public void setValue(String name, int value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, long)
-	 */
-	public void setValue(String name, long value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, String)
-	 */
-	public void setValue(String name, String value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-
-	/*
-	 * @see IPreferenceStore#setValue(String, boolean)
-	 */
-	public void setValue(String name, boolean value) {
-		if (covers(name))
-			fStore.setValue(name, value);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/StatusDialog.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/StatusDialog.java
deleted file mode 100644
index 14462b1..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/StatusDialog.java
+++ /dev/null
@@ -1,157 +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.ant.internal.ui.preferences;
-
-
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-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.Shell;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * An abstract base class for dialogs with a status bar and ok/cancel buttons.
- * The status message must be passed over as StatusInfo object and can be
- * an error, warning or ok. The OK button is enabled or disabled depending
- * on the status.
- */
-public abstract class StatusDialog extends Dialog {
-
-	private Button fOkButton;
-	private MessageLine fStatusLine;
-	private IStatus fLastStatus;
-	private String fTitle;
-	private Image fImage;
-
-	/**
-	 * Creates an instane of a status dialog.
-	 */
-	public StatusDialog(Shell parent) {
-		super(parent);
-		fLastStatus= new StatusInfo();
-	}
-
-	/**
-	 * Update the dialog's status line to reflect the given status.
-	 * It is save to call this method before the dialog has been opened.
-	 */
-	protected void updateStatus(IStatus status) {
-		fLastStatus= status;
-		if (fStatusLine != null && !fStatusLine.isDisposed()) {
-			updateButtonsEnableState(status);
-			fStatusLine.setErrorStatus(status);
-		}
-	}
-
-	/**
-	 * Returns the last status.
-	 */
-	public IStatus getStatus() {
-		return fLastStatus;
-	}
-
-	/**
-	 * Updates the status of the ok button to reflect the given status.
-	 * Subclasses may override this method to update additional buttons.
-	 * @param status the status.
-	 */
-	protected void updateButtonsEnableState(IStatus status) {
-		if (fOkButton != null && !fOkButton.isDisposed())
-			fOkButton.setEnabled(!status.matches(IStatus.ERROR));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		if (fTitle != null) {
-			shell.setText(fTitle);
-		}
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, IAntUIHelpContextIds.STATUS_DIALOG);
-	}
-
-	/*
-	 * @see Window#create()
-	 */
-	public void create() {
-		super.create();
-		if (fLastStatus != null) {
-			// policy: dialogs are not allowed to come up with an error message
-			if (fLastStatus.matches(IStatus.ERROR)) {
-				StatusInfo status= new StatusInfo();
-				status.setError(""); //$NON-NLS-1$
-				fLastStatus= status;
-			}
-			updateStatus(fLastStatus);
-		}
-	}
-
-	/*
-	 * @see Dialog#createButtonsForButtonBar(Composite)
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		fOkButton= createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-		createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
-	}
-
-	/*
-	 * @see Dialog#createButtonBar(Composite)
-	 */
-	protected Control createButtonBar(Composite parent) {
-		Composite composite= new Composite(parent, SWT.NULL);
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 1;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		fStatusLine= new MessageLine(composite);
-		fStatusLine.setAlignment(SWT.LEFT);
-		fStatusLine.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		fStatusLine.setErrorStatus(null); //$NON-NLS-1$
-
-		super.createButtonBar(composite);
-		return composite;
-	}
-
-	/**
-	 * Sets the title for this dialog.
-	 * @param title the title.
-	 */
-	public void setTitle(String title) {
-		fTitle= title != null ? title : ""; //$NON-NLS-1$
-		Shell shell= getShell();
-		if ((shell != null) && !shell.isDisposed())
-			shell.setText(fTitle);
-	}
-
-	/**
-	 * Sets the image for this dialog.
-	 * @param image the image.
-	 */
-	public void setImage(Image image) {
-		fImage= image;
-		Shell shell= getShell();
-		if ((shell != null) && !shell.isDisposed())
-			shell.setImage(fImage);
-	}
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/StatusInfo.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/StatusInfo.java
deleted file mode 100644
index 3dbb5b2..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/StatusInfo.java
+++ /dev/null
@@ -1,172 +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.ant.internal.ui.preferences;
-
-
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.util.Assert;
-
-/**
- * A settable IStatus.
- * Can be an error, warning, info or ok. For error, info and warning states,
- * a message describes the problem.
- */
-public class StatusInfo implements IStatus {
-
-	private String fStatusMessage;
-	private int fSeverity;
-
-	/**
-	 * Creates a status set to OK (no message)
-	 */
-	public StatusInfo() {
-		this(OK, null);
-	}
-
-	/**
-	 * Creates a status .
-	 * @param severity The status severity: ERROR, WARNING, INFO and OK.
-	 * @param message The message of the status. Applies only for ERROR,
-	 * WARNING and INFO.
-	 */
-	public StatusInfo(int severity, String message) {
-		fStatusMessage= message;
-		fSeverity= severity;
-	}
-
-	/**
-	 *  Returns if the status' severity is OK.
-	 */
-	public boolean isOK() {
-		return fSeverity == IStatus.OK;
-	}
-
-	/**
-	 *  Returns if the status' severity is WARNING.
-	 */
-	public boolean isWarning() {
-		return fSeverity == IStatus.WARNING;
-	}
-
-	/**
-	 *  Returns if the status' severity is INFO.
-	 */
-	public boolean isInfo() {
-		return fSeverity == IStatus.INFO;
-	}
-
-	/**
-	 *  Returns if the status' severity is ERROR.
-	 */
-	public boolean isError() {
-		return fSeverity == IStatus.ERROR;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IStatus#getMessage()
-	 */
-	public String getMessage() {
-		return fStatusMessage;
-	}
-
-	/**
-	 * Sets the status to ERROR.
-	 * @param errorMessage The error message (can be empty, but not null)
-	 */
-	public void setError(String errorMessage) {
-		Assert.isNotNull(errorMessage);
-		fStatusMessage= errorMessage;
-		fSeverity= IStatus.ERROR;
-	}
-
-	/**
-	 * Sets the status to WARNING.
-	 * @param warningMessage The warning message (can be empty, but not null)
-	 */
-	public void setWarning(String warningMessage) {
-		Assert.isNotNull(warningMessage);
-		fStatusMessage= warningMessage;
-		fSeverity= IStatus.WARNING;
-	}
-
-	/**
-	 * Sets the status to INFO.
-	 * @param infoMessage The info message (can be empty, but not null)
-	 */
-	public void setInfo(String infoMessage) {
-		Assert.isNotNull(infoMessage);
-		fStatusMessage= infoMessage;
-		fSeverity= IStatus.INFO;
-	}
-
-	/**
-	 * Sets the status to OK.
-	 */
-	public void setOK() {
-		fStatusMessage= null;
-		fSeverity= IStatus.OK;
-	}
-
-	/*
-	 * @see IStatus#matches(int)
-	 */
-	public boolean matches(int severityMask) {
-		return (fSeverity & severityMask) != 0;
-	}
-
-	/**
-	 * Returns always <code>false</code>.
-	 * @see IStatus#isMultiStatus()
-	 */
-	public boolean isMultiStatus() {
-		return false;
-	}
-
-	/*
-	 * @see IStatus#getSeverity()
-	 */
-	public int getSeverity() {
-		return fSeverity;
-	}
-
-	/*
-	 * @see IStatus#getPlugin()
-	 */
-	public String getPlugin() {
-		return IAntUIConstants.PLUGIN_ID;
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * @see IStatus#getException()
-	 */
-	public Throwable getException() {
-		return null;
-	}
-
-	/**
-	 * Returns always the error severity.
-	 * @see IStatus#getCode()
-	 */
-	public int getCode() {
-		return fSeverity;
-	}
-
-	/**
-	 * Returns always <code>null</code>.
-	 * @see IStatus#getChildren()
-	 */
-	public IStatus[] getChildren() {
-		return new IStatus[0];
-	}
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/SyntaxPreviewCode.txt b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/SyntaxPreviewCode.txt
deleted file mode 100644
index 6f281dd..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/SyntaxPreviewCode.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE project   [
-<!ENTITY common SYSTEM "common.xml">
-]>
-<project default="greetings">
-	&common;
-    <target name="greetings">
-    <!--Saying HI
-    to the world-->
-        <echo>
-             Eclipse!
-        </echo>		  
-    </target>
-</project>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/TabFolderLayout.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/TabFolderLayout.java
deleted file mode 100644
index 4e91920..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/TabFolderLayout.java
+++ /dev/null
@@ -1,54 +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.ant.internal.ui.preferences;
-
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Layout;
-
-public class TabFolderLayout extends Layout {
-
-	protected Point computeSize (Composite composite, int wHint, int hHint, boolean flushCache) {
-		if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)
-			return new Point(wHint, hHint);
-			
-		Control [] children = composite.getChildren ();
-		int count = children.length;
-		int maxWidth = 0, maxHeight = 0;
-		for (int i=0; i<count; i++) {
-			Control child = children [i];
-			Point pt = child.computeSize (SWT.DEFAULT, SWT.DEFAULT, flushCache);
-			maxWidth = Math.max (maxWidth, pt.x);
-			maxHeight = Math.max (maxHeight, pt.y);
-		}
-		
-		if (wHint != SWT.DEFAULT)
-			maxWidth= wHint;
-		if (hHint != SWT.DEFAULT)
-			maxHeight= hHint;
-		
-		return new Point(maxWidth, maxHeight);	
-		
-	}
-	
-	protected void layout (Composite composite, boolean flushCache) {
-		Rectangle rect= composite.getClientArea();
-	
-		Control[] children = composite.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			children[i].setBounds(rect);
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/URLFieldEditor.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/URLFieldEditor.java
deleted file mode 100644
index 2e93c3a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/preferences/URLFieldEditor.java
+++ /dev/null
@@ -1,100 +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.ant.internal.ui.preferences;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.jface.preference.StringButtonFieldEditor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-
-public class URLFieldEditor extends StringButtonFieldEditor {
-	
-	public URLFieldEditor(String name, String labelText, Composite parent) {
-		super(name, labelText, parent);
-		setEmptyStringAllowed(false);
-		setChangeButtonText(JFaceResources.getString("openBrowse"));//$NON-NLS-1$
-		setErrorMessage(AntPreferencesMessages.getString("URLFieldEditor.0")); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.StringFieldEditor#doCheckState()
-	 */
-	protected boolean doCheckState() {
-		String text= getTextControl().getText();
-		if (text != null && text.length() > 0) {
-			try {
-				new URL(text);
-			} catch (MalformedURLException e) {
-				return false;
-			}
-		}
-		return true;
-	}
-	
-	/* (non-Javadoc)
-     * Method declared on StringButtonFieldEditor.
-     * Opens the directory chooser dialog and returns the <code>URL</code> of the selected directory.
-     */
-    protected String changePressed() {
-    	URL url= null;
-		try {
-			url = new URL(getTextControl().getText());
-		} catch (MalformedURLException e1) {
-		}
-		File f = null;
-		if (url != null) {
-			f= new File(url.getFile());
-			if (!f.exists()) {
-	            f = null;
-	        }
-		}
-        
-        File d = getDirectory(f);
-        if (d == null) {
-            return null;
-        }
-
-        try {
-			return d.toURL().toExternalForm();
-		} catch (MalformedURLException e) {
-			AntUIPlugin.log("Internal error setting documentation location", e); //$NON-NLS-1$
-			return null;
-		}
-    }
-    
-    /**
-     * Helper that opens the directory chooser dialog.
-     * @param startingDirectory The directory the dialog will open in.
-     * @return File File or <code>null</code>.
-     */
-    private File getDirectory(File startingDirectory) {
-
-        DirectoryDialog fileDialog = new DirectoryDialog(getShell(), SWT.OPEN);
-        if (startingDirectory != null) {
-            fileDialog.setFilterPath(startingDirectory.getPath());
-        }
-        String dir = fileDialog.open();
-        if (dir != null) {
-            dir = dir.trim();
-            if (dir.length() > 0) {
-                return new File(dir);
-            }
-        }
-
-        return null;
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntView.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntView.java
deleted file mode 100644
index b59347a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntView.java
+++ /dev/null
@@ -1,757 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     Roscoe Rush - Concept and prototype implementation
- *     IBM Corporation - current implementation
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.views;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntModelLabelProvider;
-import org.eclipse.ant.internal.ui.model.AntModelProblem;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntProjectNodeProxy;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.internal.ui.model.InternalTargetFilter;
-import org.eclipse.ant.internal.ui.views.actions.AddBuildFilesAction;
-import org.eclipse.ant.internal.ui.views.actions.AntOpenWithMenu;
-import org.eclipse.ant.internal.ui.views.actions.FilterInternalTargetsAction;
-import org.eclipse.ant.internal.ui.views.actions.RefreshBuildFilesAction;
-import org.eclipse.ant.internal.ui.views.actions.RemoveAllAction;
-import org.eclipse.ant.internal.ui.views.actions.RemoveProjectAction;
-import org.eclipse.ant.internal.ui.views.actions.RunTargetAction;
-import org.eclipse.ant.internal.ui.views.actions.SearchForBuildFilesAction;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-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.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.FileTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.XMLMemento;
-import org.eclipse.ui.part.IShowInSource;
-import org.eclipse.ui.part.ShowInContext;
-import org.eclipse.ui.part.ViewPart;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * A view which displays a hierarchical view of ant build files and allows the
- * user to run selected targets from those files.
- */
-public class AntView extends ViewPart implements IResourceChangeListener, IShowInSource {
-	
-	private Object[] restoredViewerInput= null;
-	private boolean filterInternalTargets= false;
-	private InternalTargetFilter fInternalTargetFilter= null;
-	/**
-	 * This memento allows the Ant view to save and restore state
-	 * when it is closed and opened within a session. A different
-	 * memento is supplied by the platform for persistance at
-	 * workbench shutdown.
-	 */
-	private static IMemento fgTempMemento = null;
-
-	/**
-	 * XML tag used to identify an ant project in storage
-	 */
-	private static final String TAG_PROJECT = "project"; //$NON-NLS-1$
-	/**
-	 * XML key used to store whether or not an Ant project is an error node.
-	 * Persisting this data saved a huge amount of processing at startup.
-	 */
-	private static final String KEY_ERROR = "error"; //$NON-NLS-1$
-	/**
-	 * XML key used to store whether or not an Ant project is an error node.
-	 * Persisting this data saved a huge amount of processing at startup.
-	 */
-	private static final String KEY_WARNING = "warning"; //$NON-NLS-1$
-	/**
-	 * XML key used to store an ant project's path
-	 */
-	private static final String KEY_PATH = "path"; //$NON-NLS-1$
-	/**
-	 * XML key used to store an ant node's name
-	 */
-	private static final String KEY_NAME = "name"; //$NON-NLS-1$
-	/**
-	 * XML key used to store an ant project's default target name
-	 */
-	private static final String KEY_DEFAULT = "default"; //$NON-NLS-1$
-	/**
-	 * XML tag used to identify the "filter internal targets" preference.
-	 */
-	private static final String TAG_FILTER_INTERNAL_TARGETS = "filterInternalTargets"; //$NON-NLS-1$
-	/**
-	 * XML key used to store the value of the "filter internal targets" preference. 
-	 */
-	private static final String KEY_VALUE = "value"; //$NON-NLS-1$
-
-	/**
-	 * The tree viewer that displays the users ant projects
-	 */
-	private TreeViewer projectViewer;
-	private AntViewContentProvider contentProvider;
-
-	/**
-	 * Collection of <code>IUpdate</code> actions that need to update on
-	 * selection changed in the project viewer.
-	 */
-	private List updateProjectActions;
-	// Ant View Actions
-	private AddBuildFilesAction addBuildFileAction;
-	private SearchForBuildFilesAction searchForBuildFilesAction;
-	private RefreshBuildFilesAction refreshBuildFilesAction;
-	private RemoveProjectAction removeProjectAction;
-	private RemoveAllAction removeAllAction;
-	private FilterInternalTargetsAction filterInternalTargetsAction;
-	private RunTargetAction runTargetAction;
-	// Context-menu-only actions
-	private AntOpenWithMenu openWithMenu;
-
-	/**
-	 * The given build file has changed. Refresh the view to pick up any
-	 * structural changes.
-	 */
-	private void handleBuildFileChanged(AntProjectNode project) {
-		((AntProjectNodeProxy)project).parseBuildFile(true);
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				//must do a full refresh to re-sort
-				projectViewer.refresh();
-				//update the status line
-				handleSelectionChanged((IStructuredSelection) projectViewer.getSelection());
-			}
-		});
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		initializeActions();
-		createProjectViewer(parent);
-		initializeDragAndDrop();
-		fillMainToolBar();
-		if (getProjects().length > 0) {
-			// If any projects have been added to the view during startup,
-			// begin listening for resource changes
-			ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-		}
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IAntUIHelpContextIds.ANT_VIEW);
-		updateProjectActions();
-	}
-	
-	private void initializeDragAndDrop() {
-		int ops = DND.DROP_COPY | DND.DROP_DEFAULT;
-		Transfer[] transfers = new Transfer[] { FileTransfer.getInstance() };
-		TreeViewer viewer = getViewer();
-		AntViewDropAdapter adapter = new AntViewDropAdapter(this);
-		viewer.addDropSupport(ops, transfers, adapter);
-	}
-
-	/**
-	 * Creates a pop-up menu on the given control
-	 *
-	 * @param menuControl the control with which the pop-up
-	 *  menu will be associated
-	 */
-	private void createContextMenu(Viewer viewer) {
-		Control menuControl = viewer.getControl();
-		MenuManager menuMgr = new MenuManager("#PopUp"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mgr) {
-				fillContextMenu(mgr);
-			}
-		});
-		Menu menu = menuMgr.createContextMenu(menuControl);
-		menuControl.setMenu(menu);
-
-		// register the context menu such that other plugins may contribute to it
-		getSite().registerContextMenu(menuMgr, viewer);
-	}
-
-	/**
-	 * Adds actions to the context menu
-	 *
-	 * @param viewer the viewer who's menu we're configuring
-	 * @param menu The menu to contribute to
-	 */
-	private void fillContextMenu(IMenuManager menu) {
-		addOpenWithMenu(menu);
-		menu.add(new Separator());
-		menu.add(addBuildFileAction);
-		menu.add(removeProjectAction);
-		menu.add(removeAllAction);
-		menu.add(refreshBuildFilesAction);
-		
-		menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-	}
-
-	private void addOpenWithMenu(IMenuManager menu) {
-		AntElementNode node= getSelectionNode();
-		if (node != null) {
-			IFile buildFile= node.getIFile();
-			if (buildFile != null) {
-				menu.add(new Separator("group.open")); //$NON-NLS-1$
-				IMenuManager submenu= new MenuManager(AntViewMessages.getString("AntView.1"));  //$NON-NLS-1$
-				openWithMenu.setNode(node);
-				submenu.add(openWithMenu);
-				menu.appendToGroup("group.open", submenu); //$NON-NLS-1$
-			}
-		}
-	}
-
-	/**
-	 * Initialize the actions for this view
-	 */
-	private void initializeActions() {
-		updateProjectActions= new ArrayList(5);
-		
-		addBuildFileAction = new AddBuildFilesAction(this);
-		
-		removeProjectAction = new RemoveProjectAction(this);
-		updateProjectActions.add(removeProjectAction);
-		
-		removeAllAction = new RemoveAllAction(this);
-		updateProjectActions.add(removeAllAction);
-		
-		runTargetAction = new RunTargetAction(this);
-		updateProjectActions.add(runTargetAction);
-		
-		searchForBuildFilesAction = new SearchForBuildFilesAction(this);
-		
-		refreshBuildFilesAction = new RefreshBuildFilesAction(this);
-		updateProjectActions.add(refreshBuildFilesAction); 
-		
-		openWithMenu= new AntOpenWithMenu(this.getViewSite().getPage());
-		
-		filterInternalTargetsAction= new FilterInternalTargetsAction(this);
-	}
-
-	/**
-	 * Updates the enabled state of all <code>IUpdate</code> actions associated 
-	 * with the project viewer.
-	 */
-	private void updateProjectActions() {
-		Iterator iter = updateProjectActions.iterator();
-		while (iter.hasNext()) {
-			((IUpdate) iter.next()).update();
-		}
-	}
-
-	/**
-	 * Create the viewer which displays the Ant projects
-	 */
-	private void createProjectViewer(Composite parent) {
-		projectViewer = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI);
-		contentProvider = new AntViewContentProvider();
-		projectViewer.setContentProvider(contentProvider);
-		
-		filterInternalTargetsAction.setChecked(filterInternalTargets);
-		setFilterInternalTargets(filterInternalTargets);
-		
-		projectViewer.setLabelProvider(new AntModelLabelProvider());
-		if (fgTempMemento != null) {
-			restoreViewerInput(fgTempMemento);
-			fgTempMemento= null;
-		}
-		projectViewer.setInput(new Object[0]);
-		if (restoredViewerInput.length > 0) {
-		    contentProvider.addAll(restoredViewerInput);
-		}
-		projectViewer.setSorter(new ViewerSorter() {
-			/**
-			 * @see org.eclipse.jface.viewers.ViewerSorter#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-			 */
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				if (e1 instanceof AntProjectNode && e2 instanceof AntProjectNode
-					|| e1 instanceof AntTargetNode && e2 instanceof AntTargetNode) {
-					return e1.toString().compareToIgnoreCase(e2.toString());
-				} 
-				return 0;
-			}
-		});
-		
-		projectViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleSelectionChanged((IStructuredSelection)event.getSelection());
-			}
-		});
-		
-		projectViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				if (!event.getSelection().isEmpty()) {
-					handleProjectViewerDoubleClick();
-				}
-			}
-		});
-		
-		projectViewer.getControl().addKeyListener(new KeyAdapter() {
-			public void keyPressed(KeyEvent event) {
-				handleProjectViewerKeyPress(event);
-			}
-		});
-		
-		createContextMenu(projectViewer);
-		getSite().setSelectionProvider(projectViewer);
-	}
-	
-	private void handleProjectViewerKeyPress(KeyEvent event) {
-		if (event.character == SWT.DEL && event.stateMask == 0) {
-			if (removeProjectAction.isEnabled()) {
-				removeProjectAction.run();
-			}
-		} else if (event.keyCode == SWT.F5 && event.stateMask == 0) {
-			if (refreshBuildFilesAction.isEnabled()) {
-				refreshBuildFilesAction.run();
-			}
-		}
-	}
-	
-	private void handleProjectViewerDoubleClick() {
-		AntElementNode node= getSelectionNode();
-		if (node != null) {
-			runTargetAction.run(node);
-		} 
-	}
-
-	/**
-	 * Updates the actions and status line for selection change in one of the
-	 * viewers.
-	 */
-	private void handleSelectionChanged(IStructuredSelection selection) {
-		updateProjectActions();
-		Iterator selectionIter = selection.iterator();
-		AntElementNode selected = null;
-		if (selectionIter.hasNext()) {
-			selected = (AntElementNode) selectionIter.next();
-		}
-		String messageString= null;
-		if (!selectionIter.hasNext()) { 
-		    if (selected != null) {
-		        String errorString= selected.getProblemMessage();
-		        if (errorString != null) {
-		            getViewSite().getActionBars().getStatusLineManager().setErrorMessage(errorString);
-		            return;
-		        }
-		    }
-		    getViewSite().getActionBars().getStatusLineManager().setErrorMessage(null);
-			messageString= getStatusLineText(selected);
-		} 
-		getViewSite().getActionBars().getStatusLineManager().setMessage(messageString);
-	}
-	
-	/**
-	 * Returns text appropriate for display in the workbench status line for the
-	 * given node.
-	 */
-	private String getStatusLineText(AntElementNode node) {
-		if (node instanceof AntProjectNode) {
-			AntProjectNode project = (AntProjectNode) node;
-			StringBuffer message= new StringBuffer(project.getBuildFileName());
-			String description= project.getDescription();
-			if (description != null && description.length() > 0) {
-				message.append(": "); //$NON-NLS-1$
-				message.append(description);
-			}
-			return message.toString();
-		} else if (node instanceof AntTargetNode) {
-			AntTargetNode target = (AntTargetNode) node;
-			StringBuffer message= new StringBuffer();
-			Enumeration depends= target.getTarget().getDependencies();
-			if (depends.hasMoreElements()) {
-				message.append(AntViewMessages.getString("AntView.3")); //$NON-NLS-1$
-				message.append((String)depends.nextElement()); // Unroll the loop to avoid trailing comma
-				while (depends.hasMoreElements()) {
-					String dependancy = (String) depends.nextElement();
-					message.append(',').append(dependancy);
-				}
-				message.append('\"');
-			}
-			String description= target.getTarget().getDescription();
-			if (description != null && description.length() != 0) {
-				message.append(AntViewMessages.getString("AntView.4")); //$NON-NLS-1$
-				message.append(description);
-				message.append('\"');
-			}
-			return message.toString();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the tree viewer that displays the projects in this view
-	 * 
-	 * @return TreeViewer this view's project viewer
-	 */
-	public TreeViewer getViewer() {
-		return projectViewer;
-	}
-
-	/**
-	 * Returns the <code>AntProjectNode</code>s currently displayed in this view.
-	 * 
-	 * @return AntProjectNode[] the <code>ProjectNode</code>s currently displayed
-	 * in this view
-	 */
-	public AntProjectNode[] getProjects() {
-		Object[] objects= contentProvider.getElements(projectViewer.getInput());
-		AntProjectNode[] projects= new AntProjectNode[objects.length];
-		for (int i = 0; i < projects.length; i++) {
-			projects[i] = (AntProjectNode)objects[i];
-		}
-		return projects;
-	}
-
-	/**
-	 * Adds the given project to the view
-	 * 
-	 * @param project the project to add
-	 */
-	public void addProject(AntProjectNode project) {
-		contentProvider.add(project);
-		projectViewer.refresh();
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(this);
-		handleSelectionChanged(new StructuredSelection(project));
-	}
-
-	/**
-	 * Removes the given project from the view
-	 * 
-	 * @param project the project to remove
-	 */
-	private void removeProject(AntProjectNode project) {
-		removeProjectFromContentProvider(project);
-		projectViewer.refresh();
-		setProjectViewerSelectionAfterDeletion();
-	}
-
-	private void setProjectViewerSelectionAfterDeletion() {
-		Object[] children= getProjects();
-		if (children.length > 0) {
-			ViewerSorter sorter= projectViewer.getSorter();
-			sorter.sort(projectViewer, children);
-			IStructuredSelection selection= new StructuredSelection(children[0]);
-			projectViewer.setSelection(selection);
-			handleSelectionChanged(selection);
-		}
-	}
-
-	/**
-	 * Removes the given list of <code>AntProjectNode</code> objects from the view.
-	 * This method should be called whenever multiple projects are to be removed
-	 * because this method optimizes the viewer refresh associated with removing
-	 * multiple items.
-	 * 
-	 * @param projectNodes the list of <code>ProjectNode</code> objects to
-	 * remove
-	 */
-	public void removeProjects(List projectNodes) {
-		Iterator iter = projectNodes.iterator();
-		while (iter.hasNext()) {
-			AntProjectNode project = (AntProjectNode) iter.next();
-			removeProjectFromContentProvider(project);
-		}
-		projectViewer.refresh();
-		setProjectViewerSelectionAfterDeletion();
-	}
-
-	/**
-	 * Removes the given project node from the project content provider.
-	 * 
-	 * @param project the project to remove
-	 */
-	private void removeProjectFromContentProvider(AntProjectNode project) {
-	    project.dispose();
-		contentProvider.remove(project);
-		if (getProjects().length == 0) {
-			ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		}
-	}
-
-	/**
-	 * Removes all projects from the view
-	 */
-	public void removeAllProjects() {
-	    AntProjectNode[] projects= getProjects();
-	    for (int i = 0; i < projects.length; i++) {
-            AntProjectNode node = projects[i];
-            node.dispose();
-        }
-		// Remove all projects
-		contentProvider.removeAll();
-		
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-		updateProjectActions();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)
-	 */
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		init(site);
-		restoreViewerInput(memento);
-		if (memento != null) {
-			IMemento child= memento.getChild(TAG_FILTER_INTERNAL_TARGETS);
-			if (child != null) {
-				filterInternalTargets= Boolean.valueOf(child.getString(KEY_VALUE)).booleanValue();
-			}
-		}
-	}
-
-	/**
-	 * Restore the viewer content that was persisted
-	 * 
-	 * @param  memento the memento containing the persisted viewer content
-	 */
-	private void restoreViewerInput(IMemento memento) {
-		if (memento == null) {
-			restoredViewerInput= new Object[0];
-			return;
-		}
-		IMemento[] projects = memento.getChildren(TAG_PROJECT);
-		if (projects.length < 1) {
-			restoredViewerInput= new Object[0];
-			return;
-		}
-		List projectNodes = new ArrayList(projects.length);
-		for (int i = 0; i < projects.length; i++) {
-			IMemento projectMemento = projects[i];
-			String pathString = projectMemento.getString(KEY_PATH);
-			if (!ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(pathString)).exists()) {
-				// If the file no longer exists, don't add it.
-				continue;
-			}
-			String nameString = projectMemento.getString(KEY_NAME);
-			String defaultTarget= projectMemento.getString(KEY_DEFAULT);
-			String errorString = projectMemento.getString(KEY_ERROR);
-			String warningString = projectMemento.getString(KEY_WARNING);
-
-			AntProjectNodeProxy project = null;
-			if (nameString == null) {
-				nameString = ""; //$NON-NLS-1$
-			}
-			project = new AntProjectNodeProxy(nameString, pathString);
-			if (errorString != null && Boolean.valueOf(errorString).booleanValue()) {
-				project.setProblemSeverity(AntModelProblem.SEVERITY_ERROR);
-			} else if (warningString != null && Boolean.valueOf(warningString).booleanValue()) {
-			    project.setProblemSeverity(AntModelProblem.SEVERITY_WARNING);
-			}
-			if (defaultTarget != null) {
-				project.setDefaultTargetName(defaultTarget);
-			}
-			projectNodes.add(project);
-		}
-		restoredViewerInput= (AntProjectNode[]) projectNodes.toArray(new AntProjectNode[projectNodes.size()]);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewPart#saveState(org.eclipse.ui.IMemento)
-	 */
-	public void saveState(IMemento memento) {
-		// Save the projects
-		AntProjectNode[] projects = getProjects();
-		AntProjectNode project;
-		IMemento projectMemento;
-		for (int i = 0; i < projects.length; i++) {
-			project= projects[i];
-			projectMemento = memento.createChild(TAG_PROJECT);
-			projectMemento.putString(KEY_PATH, project.getBuildFileName());
-			projectMemento.putString(KEY_NAME, project.getLabel());
-			String defaultTarget= project.getDefaultTargetName();
-			if (project.isErrorNode()) {
-				projectMemento.putString(KEY_ERROR, String.valueOf(true));
-			} else {
-			    if (project.isWarningNode()) {
-			        projectMemento.putString(KEY_WARNING, String.valueOf(true));
-			    }
-				if (defaultTarget != null) {
-					projectMemento.putString(KEY_DEFAULT, defaultTarget);
-				}
-				projectMemento.putString(KEY_ERROR, String.valueOf(false));
-			}
-		}
-		IMemento filterTargets= memento.createChild(TAG_FILTER_INTERNAL_TARGETS);
-		filterTargets.putString(KEY_VALUE, isFilterInternalTargets() ? String.valueOf(true) : String.valueOf(false));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#dispose()
-	 */
-	public void dispose() {
-		fgTempMemento= XMLMemento.createWriteRoot("AntViewMemento"); //$NON-NLS-1$
-		saveState(fgTempMemento);
-		super.dispose();
-		if (openWithMenu != null) {
-			openWithMenu.dispose();
-		}
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
-	 */
-	public void resourceChanged(IResourceChangeEvent event) {
-		IResourceDelta delta = event.getDelta();
-		if (delta != null) {
-			AntProjectNode projects[]= getProjects();
-			IPath buildFilePath;
-			for (int i = 0; i < projects.length; i++) {
-				buildFilePath= new Path(projects[i].getBuildFileName());
-				IResourceDelta change= delta.findMember(buildFilePath);
-				if (change != null) {
-					handleChangeDelta(change, projects[i]);
-				}
-			}
-		}
-	}
-	
-	/**
-	 * Update the view for the given resource delta. The delta is a resource
-	 * delta for the given build file in the view
-	 * 
-	 * @param delta a delta for a build file in the view
-	 * @param project the project node that has changed
-	 */
-	private void handleChangeDelta(IResourceDelta delta, final AntProjectNode project) {
-		IResource resource= delta.getResource();
-		if (resource.getType() != IResource.FILE) {
-			return;
-		}
-		if (delta.getKind() == IResourceDelta.REMOVED) {
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					removeProject(project);
-				}
-			});
-		} else if (delta.getKind() == IResourceDelta.CHANGED && (delta.getFlags() & IResourceDelta.CONTENT) != 0) {
-			handleBuildFileChanged(project);
-		}
-	}
-	
-	private void fillMainToolBar() {
-		IToolBarManager toolBarMgr= getViewSite().getActionBars().getToolBarManager();
-		toolBarMgr.removeAll();
-		
-		toolBarMgr.add(addBuildFileAction);
-		toolBarMgr.add(searchForBuildFilesAction);
-		toolBarMgr.add(filterInternalTargetsAction);
-
-		toolBarMgr.add(runTargetAction);
-		toolBarMgr.add(removeProjectAction);
-		toolBarMgr.add(removeAllAction);
-		
-		toolBarMgr.update(false);	
-	}
-	
-	private AntElementNode getSelectionNode() {
-		IStructuredSelection selection= (IStructuredSelection)getViewer().getSelection();
-		if (selection.size() == 1) {
-			Object element= selection.getFirstElement(); 
-			if (element instanceof AntElementNode) {
-				AntElementNode node= (AntElementNode) element;
-				return node;
-			}
-		}
-		return null;		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.part.IShowInSource#getShowInContext()
-	 */
-	public ShowInContext getShowInContext() {
-		AntElementNode node= getSelectionNode();
-		if (node != null) {
-			IFile buildFile= node.getIFile();
-			if (buildFile != null) {
-				ISelection selection= new StructuredSelection(buildFile);
-				return new ShowInContext(null, selection);
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Returns whether internal targets are currently being filtered out of
-	 * the view.
-	 * 
-	 * @return whether or not internal targets are being filtered out
-	 */
-	public boolean isFilterInternalTargets() {
-		return filterInternalTargets;
-	}
-
-	/**
-	 * Sets whether internal targets should be filtered out of the view.
-	 * 
-	 * @param filter whether or not internal targets should be filtered out
-	 */
-	public void setFilterInternalTargets(boolean filter) {
-		filterInternalTargets= filter;
-		if (filter) {
-			projectViewer.addFilter(getInternalTargetsFilter());
-		} else {
-			projectViewer.removeFilter(getInternalTargetsFilter());
-		}
-	}
-	
-	private ViewerFilter getInternalTargetsFilter() {
-		if (fInternalTargetFilter == null) {
-			fInternalTargetFilter= new InternalTargetFilter();
-		}
-		return fInternalTargetFilter;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-		if (getViewer() != null) {
-			getViewer().getControl().setFocus();
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewContentProvider.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewContentProvider.java
deleted file mode 100644
index 6b13475..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewContentProvider.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - current implementation
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.views;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.ant.internal.ui.model.AntModelContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-
-
-public class AntViewContentProvider extends AntModelContentProvider {
-	
-	private TreeViewer fTreeViewer;
-	private List fElements= new ArrayList();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
-	 */
-	public Object[] getElements(Object anInputElement) {
-		if (anInputElement instanceof Object[]) {
-			return fElements.toArray();
-		}
-		return EMPTY_ARRAY;
-	}
-	
-	public void add(Object o) {
-		if (fElements.contains(o)) {
-			return;
-		}
-		fElements.add(o);
-		fTreeViewer.add(fTreeViewer.getInput(), o);
-		fTreeViewer.setSelection(new StructuredSelection(o), true);
-	}
-	
-	public void addAll(Object[] o) {
-		fElements.addAll(Arrays.asList(o));
-		fTreeViewer.add(fTreeViewer.getInput(), o);
-	}
-	
-	/**
-	 * do nothing
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		fTreeViewer= (TreeViewer)viewer;
-	}
-	
-	public void remove(Object o) {
-		fElements.remove(o);
-		fTreeViewer.remove(o);
-	}
-	
-	public void removeAll() {
-		fTreeViewer.remove(fElements.toArray());
-		fElements.clear();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewDropAdapter.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewDropAdapter.java
deleted file mode 100644
index 6e486cb..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewDropAdapter.java
+++ /dev/null
@@ -1,95 +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.ant.internal.ui.views;
-
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntProjectNodeProxy;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-
-/**
- * A drop adapter which adds files to the Ant view.
- */
-public class AntViewDropAdapter extends DropTargetAdapter {
-	
-	private AntView view;
-	
-	/**
-	 * Creates a new drop adapter for the given Ant view.
-	 * @param view the view which dropped files will be added to
-	 */
-	public AntViewDropAdapter(AntView view) {
-		this.view= view;
-	}
-
-	/**
-	 * @see
-	 * org.eclipse.swt.dnd.DropTargetListener#drop(org.eclipse.swt.dnd.DropTargetEvent)
-	 */
-	public void drop(DropTargetEvent event) {
-		Object data = event.data;
-		if (data instanceof String[]) {
-			final String[] strings = (String[]) data;
-			BusyIndicator.showWhile(null, new Runnable() {
-				public void run() {
-					for (int i = 0; i < strings.length; i++) {
-						processString(strings[i]);
-					}
-				}
-			});
-		}
-	}
-	
-	/**
-	 * Attempts to process the given string as a path to an
-	 * XML file. If the string is determined to be a path to an
-	 * XML file in the workspace, that file is added to the Ant
-	 * view.
-	 * @param buildFileName the string to process
-	 */
-	private void processString(String buildFileName) {
-		IFile buildFile = AntUtil.getFileForLocation(buildFileName, null);
-		if (buildFile == null || !buildFileName.toLowerCase().endsWith(".xml")) { //$NON-NLS-1$
-			return;
-		}
-		buildFileName = buildFile.getFullPath().toString();
-		AntProjectNode[] existingProjects = view.getProjects();
-		for (int j = 0; j < existingProjects.length; j++) {
-			AntProjectNodeProxy existingProject = (AntProjectNodeProxy)existingProjects[j];
-			if (existingProject.getBuildFileName().equals(buildFileName)) {
-				// Don't parse projects that have already been added.
-				return;
-			}
-		}
-		AntProjectNode project = new AntProjectNodeProxy(buildFileName);
-		view.addProject(project);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.dnd.DropTargetListener#dragEnter(org.eclipse.swt.dnd.DropTargetEvent)
-	 */
-	public void dragEnter(DropTargetEvent event) {
-		event.detail= DND.DROP_COPY;
-		super.dragEnter(event);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.swt.dnd.DropTargetListener#dragOperationChanged(org.eclipse.swt.dnd.DropTargetEvent)
-	 */
-	public void dragOperationChanged(DropTargetEvent event) {
-		event.detail= DND.DROP_COPY;
-		super.dragOperationChanged(event);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewMessages.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewMessages.java
deleted file mode 100644
index 0155939..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewMessages.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.ant.internal.ui.views;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntViewMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.views.AntViewMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntViewMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewMessages.properties b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewMessages.properties
deleted file mode 100644
index 84ef3a1..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/AntViewMessages.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
-###############################################################################
-
-AntView.1=&Open With
-AntView.3=\ depends="
-AntView.4=\ description="
-
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AddBuildFilesAction.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AddBuildFilesAction.java
deleted file mode 100644
index 2b1238a..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AddBuildFilesAction.java
+++ /dev/null
@@ -1,96 +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.ant.internal.ui.views.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntProjectNodeProxy;
-import org.eclipse.ant.internal.ui.preferences.FileSelectionDialog;
-import org.eclipse.ant.internal.ui.views.AntView;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Action that prompts the user for build files and adds the selected files to
- * an <code>AntView</code>
- */
-public class AddBuildFilesAction extends Action {
-
-	private AntView view;
-
-	public AddBuildFilesAction(AntView view) {
-		super(AntViewActionMessages.getString("AddBuildFilesAction.1"), AntUIImages.getImageDescriptor(IAntUIConstants.IMG_ADD)); //$NON-NLS-1$
-		this.view= view;
-		setToolTipText(AntViewActionMessages.getString("AddBuildFilesAction.0")); //$NON-NLS-1$
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IAntUIHelpContextIds.ADD_BUILDFILE_ACTION);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		String title= AntViewActionMessages.getString("AddBuildFilesAction.2"); //$NON-NLS-1$
-		String message= AntViewActionMessages.getString("AddBuildFilesAction.4"); //$NON-NLS-1$
-		String filterExtension= "xml"; //$NON-NLS-1$
-		String filterMessage= AntViewActionMessages.getString("AddBuildFilesAction.5"); //$NON-NLS-1$
-		
-		FileSelectionDialog dialog = new FileSelectionDialog(Display.getCurrent().getActiveShell(), getBuildFiles(), title, message, filterExtension, filterMessage);
-		dialog.open();
-		final Object[] result= dialog.getResult();
-		if (result == null) {
-			return;
-		}
-
-		try {
-			PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) {
-					monitor.beginTask(AntViewActionMessages.getString("AddBuildFilesAction.3"), result.length); //$NON-NLS-1$
-					for (int i = 0; i < result.length && !monitor.isCanceled(); i++) {
-						Object file = result[i];
-						if (file instanceof IFile) {
-							String buildFileName= ((IFile)file).getFullPath().toString();
-							final AntProjectNode project= new AntProjectNodeProxy(buildFileName);
-							project.getName();
-							monitor.worked(1);
-							Display.getDefault().asyncExec(new Runnable() {
-								public void run() {
-									view.addProject(project);
-								}
-							});
-						}
-					}
-				}
-			});
-		} catch (InvocationTargetException e) {
-		} catch (InterruptedException e) {
-		}
-	}
-
-	private List getBuildFiles() {
-		AntProjectNode[] existingProjects= view.getProjects();
-		List buildFiles= new ArrayList(existingProjects.length);
-		for (int j = 0; j < existingProjects.length; j++) {
-			AntProjectNode existingProject = existingProjects[j];
-			buildFiles.add(AntUtil.getFile(existingProject.getBuildFileName()));
-		}
-		return buildFiles;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntOpenWithMenu.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntOpenWithMenu.java
deleted file mode 100644
index 7419f81..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntOpenWithMenu.java
+++ /dev/null
@@ -1,287 +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.ant.internal.ui.views.actions;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.AntUtil;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jface.action.ContributionItem;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.program.Program;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.ui.IEditorDescriptor;
-import org.eclipse.ui.IEditorRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-/**
- * 
- * Code mostly a copy of the OpenWithMenu which cannot be effectively subclassed
- */
-public class AntOpenWithMenu extends ContributionItem {
-
-	private IWorkbenchPage fPage;
-	private IEditorRegistry fRegistry = PlatformUI.getWorkbench().getEditorRegistry();
-	private static final String SYSTEM_EDITOR_ID= PlatformUI.PLUGIN_ID + ".SystemEditor"; //$NON-NLS-1$
-
-	private static Map imageCache = new Hashtable(11);
-
-	private AntElementNode fNode;
-	
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = IAntUIConstants.PLUGIN_ID + ".AntOpenWithMenu"; //$NON-NLS-1$
-
-	public AntOpenWithMenu(IWorkbenchPage page) {
-		super(ID);
-		this.fPage= page;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#dispose()
-	 */
-	public void dispose() {
-		super.dispose();
-		Iterator iter= imageCache.values().iterator();
-		while (iter.hasNext()) {
-			Image image = (Image) iter.next();
-			image.dispose();
-		}		
-		imageCache.clear();
-	}
-
-	/**
-	 * Returns an image to show for the corresponding editor descriptor.
-	 *
-	 * @param editorDesc the editor descriptor, or <code>null</code> for the system editor
-	 * @return the image or <code>null</code>
-	 */
-	private Image getImage(IEditorDescriptor editorDesc) {
-		ImageDescriptor imageDesc = getImageDescriptor(editorDesc);
-		if (imageDesc == null) {
-			return null;
-		}
-		Image image = (Image) imageCache.get(imageDesc);
-		if (image == null) {
-			image = imageDesc.createImage();
-			imageCache.put(imageDesc, image);
-		}
-		return image;
-	}
-
-	/**
-	 * Returns the image descriptor for the given editor descriptor,
-	 * or <code>null</code> if it has no image.
-	 */
-	private ImageDescriptor getImageDescriptor(IEditorDescriptor editorDesc) {
-		ImageDescriptor imageDesc = null;
-		if (editorDesc == null) {
-			imageDesc = fRegistry.getImageDescriptor(fNode.getIFile().getName());
-		} else {
-			imageDesc = editorDesc.getImageDescriptor();
-		}
-		if (imageDesc == null) {
-			if (editorDesc.getId().equals(SYSTEM_EDITOR_ID)) {
-				imageDesc = getSystemEditorImageDescriptor(fNode.getIFile().getFileExtension());
-			}
-		}
-		return imageDesc;
-	}
-
-	/**
-	 * Return the image descriptor of the system editor
-	 * that is registered with the OS to edit files of
-	 * this type. <code>null</code> if none can be found.
-	 */
-	private ImageDescriptor getSystemEditorImageDescriptor(String extension) {
-		Program externalProgram = null;
-		if (extension != null) {
-			externalProgram = Program.findProgram(extension);
-		}
-		if (externalProgram == null) {
-			return null;
-		} 
-		return new EditorImageDescriptor(externalProgram);
-	}
-	/**
-	 * Creates the menu item for the editor descriptor.
-	 *
-	 * @param menu the menu to add the item to
-	 * @param descriptor the editor descriptor, or null for the system editor
-	 * @param preferredEditor the descriptor of the preferred editor, or <code>null</code>
-	 */
-	private void createMenuItem(Menu menu, final IEditorDescriptor descriptor, final IEditorDescriptor preferredEditor) {
-		// XXX: Would be better to use bold here, but SWT does not support it.
-		final MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
-		boolean isPreferred = preferredEditor != null && descriptor.getId().equals(preferredEditor.getId());
-		menuItem.setSelection(isPreferred);
-		menuItem.setText(descriptor.getLabel());
-		Image image = getImage(descriptor);
-		if (image != null) {
-			menuItem.setImage(image);
-		}
-		Listener listener = new Listener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-			 */
-			public void handleEvent(Event event) {
-				switch (event.type) {
-					case SWT.Selection :
-						if (menuItem.getSelection()) {
-							openEditor(descriptor);
-						}
-						break;
-				}
-			}
-		};
-		menuItem.addListener(SWT.Selection, listener);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#fill(org.eclipse.swt.widgets.Menu, int)
-	 */
-	public void fill(Menu menu, int index) {
-		IFile fileResource = fNode.getIFile();
-		if (fileResource == null) {
-			return;
-		}
-
-		IEditorDescriptor defaultEditor = fRegistry.findEditor(IEditorRegistry.SYSTEM_INPLACE_EDITOR_ID); // should not be null
-		IEditorDescriptor preferredEditor = IDE.getDefaultEditor(fileResource); // may be null
-		
-		Object[] editors= fRegistry.getEditors(fileResource.getName());
-		Arrays.sort(editors, new Comparator() {
-			/* (non-Javadoc)
-			 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-			 */
-			public int compare(Object o1, Object o2) {
-				String s1 = ((IEditorDescriptor) o1).getLabel();
-				String s2 = ((IEditorDescriptor) o2).getLabel();
-				//Return true if elementTwo is 'greater than' elementOne
-				return s1.compareToIgnoreCase(s2);
-			}
-		});
-		IEditorDescriptor antEditor= fRegistry.findEditor("org.eclipse.ant.internal.ui.editor.AntEditor"); //$NON-NLS-1$
-		
-		boolean defaultFound = false;
-		boolean antFound= false;
-		List alreadyAddedEditors= new ArrayList(editors.length);
-		for (int i = 0; i < editors.length; i++) {
-			IEditorDescriptor editor = (IEditorDescriptor) editors[i];
-			if (alreadyAddedEditors.contains(editor.getId())) {
-				continue;
-			}
-			createMenuItem(menu, editor, preferredEditor);
-			if (defaultEditor != null && editor.getId().equals(defaultEditor.getId())) {
-				defaultFound = true;
-			}
-			if (antEditor != null && editor.getId().equals(antEditor.getId())) {
-				antFound= true;
-			}
-			alreadyAddedEditors.add(editor.getId());
-			
-		}
-
-		// Only add a separator if there is something to separate
-		if (editors.length > 0) {
-			new MenuItem(menu, SWT.SEPARATOR);
-		}
-
-		// Add ant editor.
-		 if (!antFound && antEditor != null) {
-			 createMenuItem(menu, antEditor, preferredEditor);
-		 }
-			 
-		// Add default editor.
-		if (!defaultFound && defaultEditor != null) {
-			createMenuItem(menu, defaultEditor, preferredEditor);
-		}
-
-		// Add system editor.
-		IEditorDescriptor descriptor = fRegistry.findEditor(IEditorRegistry.SYSTEM_EXTERNAL_EDITOR_ID);
-		createMenuItem(menu, descriptor, preferredEditor);
-		createDefaultMenuItem(menu, fileResource);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.action.IContributionItem#isDynamic()
-	 */
-	public boolean isDynamic() {
-		return true;
-	}
-	/**
-	 * Opens the given editor on the selected file.
-	 *
-	 * @param editor the editor descriptor, or <code>null</code> for the system editor
-	 */
-	private void openEditor(IEditorDescriptor editorDescriptor) {
-		AntUtil.openInEditor(fPage, editorDescriptor, fNode);
-	}
-
-	/**
-	 * Creates the menu item for the default editor
-	 *
-	 * @param menu the menu to add the item to
-	 * @param file the file being edited
-	 * @param registry the editor registry
-	 */
-	private void createDefaultMenuItem(Menu menu, final IFile fileResource) {
-		final MenuItem menuItem = new MenuItem(menu, SWT.RADIO);
-		menuItem.setSelection(IDE.getDefaultEditor(fileResource) == null);
-		menuItem.setText(AntViewActionMessages.getString("AntViewOpenWithMenu.Default_Editor_4")); //$NON-NLS-1$
-
-		Listener listener = new Listener() {
-			/* (non-Javadoc)
-			 * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
-			 */
-			public void handleEvent(Event event) {
-				switch (event.type) {
-					case SWT.Selection :
-						if (menuItem.getSelection()) {
-							IDE.setDefaultEditor(fileResource, null);
-							try {
-								IDE.openEditor(fPage, fileResource, true);
-							} catch (PartInitException e) {
-								AntUIPlugin.log(MessageFormat.format(AntViewActionMessages.getString("AntViewOpenWithMenu.Editor_failed"), new String[]{fileResource.getLocation().toOSString()}), e); //$NON-NLS-1$
-							}
-						}
-						break;
-				}
-			}
-		};
-
-		menuItem.addListener(SWT.Selection, listener);
-	}
-
-	public void setNode(AntElementNode node) {
-		fNode= node;
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntViewActionMessages.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntViewActionMessages.java
deleted file mode 100644
index a762df8..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntViewActionMessages.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.ant.internal.ui.views.actions;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class AntViewActionMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.views.actions.AntViewActionMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private AntViewActionMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntViewActionMessages.properties b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntViewActionMessages.properties
deleted file mode 100644
index 085d33b..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/AntViewActionMessages.properties
+++ /dev/null
@@ -1,48 +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
-###############################################################################
-
-SearchForBuildFilesDialog.Search_for_Build_Files_1=Search for Buildfiles
-SearchForBuildFilesDialog.&Input=&Input a buildfile name (* = any string, ? = any character):
-SearchForBuildFilesDialog.Build_name_cannot_be_empty_3=Build name cannot be empty
-SearchForBuildFilesDialog.&Search_4=&Search
-SearchForBuildFilesDialog.Scope_5=Scope
-SearchForBuildFilesDialog.&Workspace_6=&Workspace
-SearchForBuildFilesDialog.Wor&king_Set__7=Wor&king Set:
-SearchForBuildFilesDialog.&Choose..._8=&Choose...
-SearchForBuildFilesDialog.Include_errors=Include &buildfiles that contain errors
-SearchForBuildFilesDialog.Must_select_a_working_set_10=Must select a working set
-SearchForBuildFilesDialog.No_searchable=No searchable resources found in the selected working set
-AntViewOpenWithMenu.Editor_failed=Editor failed to open for {0}
-AntViewOpenWithMenu.Default_Editor_4=Default Editor
-AddBuildFilesAction.0=Add Buildfiles
-AddBuildFilesAction.1=&Add Buildfiles...
-AddBuildFilesAction.2=Buildfile Selection
-AddBuildFilesAction.3=Adding Buildfile(s)...
-AddBuildFilesAction.4=&Choose the buildfiles to add:
-AddBuildFilesAction.5=&Only show *.xml files
-RemoveAllAction.Remove_All=Remove A&ll Buildfiles
-RemoveAllAction.0=Remove All from View
-RemoveAllAction.1=Are you sure you want to remove all buildfiles from the view?
-RemoveProjectAction.Remove=Remo&ve Buildfile
-RemoveProjectAction.Remove_2=Remove Selected Buildfile
-RunTargetAction.Run_1=R&un
-RunTargetAction.3=Run the Default Target of the Selected Buildfile
-RunTargetAction.4=Run the Selected Target
-RunTargetAction.2=Launching Ant buildfile
-RunTargetAction.0=Run the Owning Target of the Selected Task
-SearchForBuildFilesAction.Search_1=Search
-SearchForBuildFilesAction.Add_build_files_with_search_2=Add Buildfiles with Search
-SearchForBuildFilesAction.Processing_search_results_3=Processing search results...
-SearchForBuildFilesAction.Adding_{0}_4=Adding {0}
-RefreshBuildFilesAction.Refresh_Buildfiles_1=Re&fresh Buildfiles
-RefreshBuildFilesAction.Refreshing_buildfiles_3=Refreshing buildfiles...
-RefreshBuildFilesAction.Refreshing_{0}_4=Refreshing {0}
-FilterInternalTargetsAction.0=Hide Internal Targets
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/EditorImageDescriptor.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/EditorImageDescriptor.java
deleted file mode 100644
index 8a935c0..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/EditorImageDescriptor.java
+++ /dev/null
@@ -1,92 +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.ant.internal.ui.views.actions;
-
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.program.Program;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Copy of org.eclipse.ui.internal.misc.ExternalProgramImageDescriptor for
- * use in the AntViewOpenWithMenu
- */
-public class EditorImageDescriptor extends ImageDescriptor {
-
-	public Program program;
-
-	/**
-	 * Creates a new ImageDescriptor. The image is loaded 
-	 * from a file with the given name <code>name</code>.
-	 */
-	public EditorImageDescriptor(Program program) {
-		this.program = program;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object o) {
-		if (!(o instanceof EditorImageDescriptor)) {
-			return false;
-		}
-		EditorImageDescriptor other = (EditorImageDescriptor) o;
-
-		//See if there is a name - compare it if so and compare the programs if not
-		String otherName = other.program.getName();
-		if (otherName == null) {
-			return other.program.equals(program);
-		} 
-		return otherName.equals(program.getName());
-	}
-	/**
-	 * Returns an SWT Image that is described by the information
-	 * in this descriptor.  Each call returns a new Image.
-	 */
-	public Image getImage() {
-		return createImage();
-	}
-	
-	/**
-	 * @see org.eclipse.jface.resource.ImageDescriptor#getImageData()
-	 */
-	public ImageData getImageData() {
-		
-		ImageData defaultImage = PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_FILE).getImageData();
-		if (defaultImage == null) {
-			return null;
-		}
-		ImageData data = null;
-		if (program == null || ((data = program.getImageData()) == null)) {
-			return defaultImage;
-		}
-
-		//The images in GNOME are too big. Scaling them does not give nice result so return defaultImage;
-		if (data.height > defaultImage.height || data.width > defaultImage.width) {
-			return defaultImage;
-		}
-
-		return data;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		String programName = program.getName();
-		if (programName == null) {
-			return program.hashCode();
-		} 
-		return programName.hashCode();
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/FilterInternalTargetsAction.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/FilterInternalTargetsAction.java
deleted file mode 100644
index 95a4072..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/FilterInternalTargetsAction.java
+++ /dev/null
@@ -1,40 +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.ant.internal.ui.views.actions;
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.views.AntView;
-import org.eclipse.jface.action.Action;
-
-/** 
- * An action which toggles filtering of internal targets from the Ant view.
- */
-public class FilterInternalTargetsAction extends Action {
-
-	private AntView fView;
-	
-	public FilterInternalTargetsAction(AntView view) {
-		super(AntViewActionMessages.getString("FilterInternalTargetsAction.0")); //$NON-NLS-1$
-		fView = view;
-		setImageDescriptor(AntUIImages.getImageDescriptor(IAntUIConstants.IMG_FILTER_INTERNAL_TARGETS));
-		setToolTipText(AntViewActionMessages.getString("FilterInternalTargetsAction.0")); //$NON-NLS-1$
-		setChecked(fView.isFilterInternalTargets());
-	}
-	
-	/**
-	 * Toggles the filtering of internal targets from the Ant view
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		fView.setFilterInternalTargets(isChecked());
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RefreshBuildFilesAction.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RefreshBuildFilesAction.java
deleted file mode 100644
index 1dfc9d3..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RefreshBuildFilesAction.java
+++ /dev/null
@@ -1,116 +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.ant.internal.ui.views.actions;
-
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntProjectNodeProxy;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.internal.ui.views.AntView;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Action which refreshes the selected buildfiles in the Ant view
- */
-public class RefreshBuildFilesAction extends Action implements IUpdate {
-
-	private AntView fView;
-
-	/**
-	 * Creates a new <code>RefreshBuildFilesAction</code> which will refresh buildfiles 
-	 * in the given Ant view.
-	 * @param view the Ant view whose selection this action will use when
-	 * determining which buildfiles to refresh.
-	 */
-	public RefreshBuildFilesAction(AntView view) {
-		super(AntViewActionMessages.getString("RefreshBuildFilesAction.Refresh_Buildfiles_1"), AntUIImages.getImageDescriptor(IAntUIConstants.IMG_REFRESH)); //$NON-NLS-1$
-		setToolTipText(AntViewActionMessages.getString("RefreshBuildFilesAction.Refresh_Buildfiles_1")); //$NON-NLS-1$
-		fView = view;
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IAntUIHelpContextIds.REFRESH_BUILDFILE_ACTION);
-	}
-
-	/**
-	 * Refreshes the selected buildfiles (or all buildfiles if none selected) in the Ant view
-	 */
-	public void run() {
-		final Set projects= getSelectedProjects();
-		if (projects.isEmpty()) {
-			// If no selection, add all
-			AntProjectNode[] allProjects= fView.getProjects();
-			for (int i = 0; i < allProjects.length; i++) {
-				projects.add(allProjects[i]);
-			}
-		}
-		final Iterator iter= projects.iterator();
-		if (!iter.hasNext()) {
-			return;
-		}
-		
-		try {
-			PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {
-				public void run(IProgressMonitor monitor) {
-					monitor.beginTask(AntViewActionMessages.getString("RefreshBuildFilesAction.Refreshing_buildfiles_3"), projects.size()); //$NON-NLS-1$
-					AntProjectNodeProxy project;
-					while (iter.hasNext()) {
-						project= (AntProjectNodeProxy) iter.next();
-						monitor.subTask(MessageFormat.format(AntViewActionMessages.getString("RefreshBuildFilesAction.Refreshing_{0}_4"), new String[] {project.getBuildFileName()})); //$NON-NLS-1$
-						project.parseBuildFile(true);
-						monitor.worked(1);
-					}
-				}
-			});
-		} catch (InvocationTargetException e) {
-		} catch (InterruptedException e) {
-		}
-		fView.getViewer().refresh();
-	}
-
-	/**
-	 * Returns the selected project nodes to refresh
-	 * 
-	 * @return Set the selected <code>ProjectNode</code>s to refresh.
-	 */
-	private Set getSelectedProjects() {
-		IStructuredSelection selection = (IStructuredSelection) fView.getViewer().getSelection();
-		HashSet set= new HashSet();
-		Iterator iter = selection.iterator();
-		Object data;
-		while (iter.hasNext()) {
-			data= iter.next();
-			if (data instanceof AntProjectNode) {
-				set.add(data);
-			} else if (data instanceof AntTargetNode) {
-				set.add(((AntTargetNode) data).getProjectNode());
-			}
-		}
-		return set;
-	}
-
-	/**
-	 * Updates the enablement of this action based on the user's selection
-	 */
-	public void update() {
-		setEnabled(fView.getProjects().length > 0);
-	}
-
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RemoveAllAction.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RemoveAllAction.java
deleted file mode 100644
index 6c8b5a7..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RemoveAllAction.java
+++ /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
- *******************************************************************************/
-package org.eclipse.ant.internal.ui.views.actions;
-
-
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.views.AntView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.IUpdate;
-
-public class RemoveAllAction extends Action implements IUpdate {
-	private AntView view;
-	
-	public RemoveAllAction(AntView view) {
-		super(AntViewActionMessages.getString("RemoveAllAction.Remove_All"), AntUIImages.getImageDescriptor(IAntUIConstants.IMG_REMOVE_ALL)); //$NON-NLS-1$
-		setDescription(AntViewActionMessages.getString("RemoveAllAction.Remove_All")); //$NON-NLS-1$
-		setToolTipText(AntViewActionMessages.getString("RemoveAllAction.Remove_All")); //$NON-NLS-1$
-		this.view= view;
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IAntUIHelpContextIds.REMOVE_ALL_ACTION);
-	}
-	
-	public void run() {
-		boolean proceed = MessageDialog.openQuestion(view.getViewSite().getShell(), AntViewActionMessages.getString("RemoveAllAction.0"), AntViewActionMessages.getString("RemoveAllAction.1")); //$NON-NLS-1$ //$NON-NLS-2$
-		if (proceed) {
-			view.removeAllProjects();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		setEnabled(view.getViewer().getTree().getItemCount() != 0);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RemoveProjectAction.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RemoveProjectAction.java
deleted file mode 100644
index 38e0eb2..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RemoveProjectAction.java
+++ /dev/null
@@ -1,77 +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.ant.internal.ui.views.actions;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.views.AntView;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Action that removes selected build files from an <code>AntView</code>
- */
-public class RemoveProjectAction extends Action implements IUpdate {
-	
-	private AntView view;
-	
-	public RemoveProjectAction(AntView view) {
-		super(AntViewActionMessages.getString("RemoveProjectAction.Remove"), AntUIImages.getImageDescriptor(IAntUIConstants.IMG_REMOVE)); //$NON-NLS-1$
-		this.view= view;
-		setToolTipText(AntViewActionMessages.getString("RemoveProjectAction.Remove_2")); //$NON-NLS-1$
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IAntUIHelpContextIds.REMOVE_PROJECT_ACTION);
-	}
-
-	/**
-	 * @see org.eclipse.jface.action.IAction#run()
-	 */
-	public void run() {
-		IStructuredSelection selection= (IStructuredSelection) view.getViewer().getSelection();
-		Iterator iter= selection.iterator();
-		Object element;
-		List projectNodes= new ArrayList();
-		while (iter.hasNext()) {
-			element= iter.next();
-			if (element instanceof AntProjectNode) {
-				projectNodes.add(element);
-			}
-		}
-		view.removeProjects(projectNodes);
-	}
-	
-	/**
-	 * @see org.eclipse.ui.texteditor.IUpdate#update()
-	 */
-	public void update() {
-		IStructuredSelection selection= (IStructuredSelection) view.getViewer().getSelection();
-		if (selection.isEmpty()) {
-			setEnabled(false);
-			return;
-		}
-		Object element;
-		Iterator iter= selection.iterator();
-		while (iter.hasNext()) {
-			element= iter.next();
-			if (!(element instanceof AntProjectNode)) {
-				setEnabled(false);
-				return;
-			}
-		}
-		setEnabled(true);
-	}
-	
-}
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RunTargetAction.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RunTargetAction.java
deleted file mode 100644
index 1ac8df6..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/RunTargetAction.java
+++ /dev/null
@@ -1,130 +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.ant.internal.ui.views.actions;
-
-import java.util.Iterator;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchShortcut;
-import org.eclipse.ant.internal.ui.model.AntElementNode;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntTargetNode;
-import org.eclipse.ant.internal.ui.model.AntTaskNode;
-import org.eclipse.ant.internal.ui.views.AntView;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.UIJob;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Action which runs the selected target or the default target of the selected
- * project in the AntView.
- */
-public class RunTargetAction extends Action implements IUpdate {
-	
-	private AntView fView;
-	
-	/**
-	 * Creates a new <code>RunTargetAction</code> which will execute
-	 * targets in the given view.
-	 * @param view the Ant view whose selection this action will use when
-	 * determining which target to run.
-	 */
-	public RunTargetAction(AntView view) {
-		
-		setText(AntViewActionMessages.getString("RunTargetAction.Run_1")); //$NON-NLS-1$
-		setImageDescriptor(AntUIImages.getImageDescriptor(IAntUIConstants.IMG_RUN));
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IAntUIHelpContextIds.RUN_TARGET_ACTION);
-
-		setToolTipText(AntViewActionMessages.getString("RunTargetAction.3")); //$NON-NLS-1$
-		fView= view;
-	}
-
-	/**
-	 * Executes the appropriate target based on the selection in the Ant view.
-	 */
-	public void run() {
-		run(getSelectedElement());
-	}
-	
-	/**
-     * @param selectedElement The element to use as the context for launching
-     */
-    public void run(final AntElementNode selectedElement) {
-        UIJob job= new UIJob(AntViewActionMessages.getString("RunTargetAction.2")) { //$NON-NLS-1$
-			public IStatus runInUIThread(IProgressMonitor monitor) {
-				launch(selectedElement);
-				return Status.OK_STATUS;
-			}
-		};
-		job.schedule();
-    }
-
-    /**
-	 * Launches the given Ant element node
-	 * @param node the node to use to launch
-	 * @see AntLaunchShortcut.launch(AntElementNode)
-	 */
-	public void launch(AntElementNode node) {
-		AntLaunchShortcut shortcut= new AntLaunchShortcut();
-		shortcut.setShowDialog(false);
-		shortcut.launch(node, ILaunchManager.RUN_MODE);
-	}
-
-	/**
-	 * Updates the enablement of this action based on the user's selection
-	 */
-	public void update() {
-		AntElementNode selection= getSelectedElement();
-		boolean enabled= false;
-		if (selection instanceof AntTargetNode) {
-			if (!((AntTargetNode) selection).isErrorNode()) {
-				setToolTipText(AntViewActionMessages.getString("RunTargetAction.4")); //$NON-NLS-1$
-				enabled= true;
-			}
-		} else if (selection instanceof AntProjectNode) {
-			if (!((AntProjectNode) selection).isErrorNode()) {
-				enabled= true;
-				setToolTipText(AntViewActionMessages.getString("RunTargetAction.3")); //$NON-NLS-1$
-			}
-		}  else if (selection instanceof AntTaskNode) {
-			if (!((AntTaskNode) selection).isErrorNode()) {
-				enabled= true;
-				setToolTipText(AntViewActionMessages.getString("RunTargetAction.0")); //$NON-NLS-1$
-			}
-		}
-		setEnabled(enabled);
-	}
-	
-	/**
-	 * Returns the selected node or <code>null</code> if more than one element is selected.
-	 * 
-	 * @return AntElementNode the selected node
-	 */
-	private AntElementNode getSelectedElement() {
-		IStructuredSelection selection= (IStructuredSelection) fView.getViewer().getSelection();
-		if (selection.isEmpty()) {
-			return null;
-		}
-		Iterator iter= selection.iterator();
-		Object data= iter.next();
-		if (iter.hasNext()) {
-			return null;
-		}
-		return (AntElementNode) data;
-	}	
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/SearchForBuildFilesAction.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/SearchForBuildFilesAction.java
deleted file mode 100644
index bad695f..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/SearchForBuildFilesAction.java
+++ /dev/null
@@ -1,95 +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.ant.internal.ui.views.actions;
-import java.lang.reflect.InvocationTargetException;
-import java.text.MessageFormat;
-import org.eclipse.ant.internal.ui.AntUIImages;
-import org.eclipse.ant.internal.ui.IAntUIConstants;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.model.AntProjectNode;
-import org.eclipse.ant.internal.ui.model.AntProjectNodeProxy;
-import org.eclipse.ant.internal.ui.views.AntView;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * This action opens a dialog to search for build files and adds the resulting
- * projects to the ant view.
- */
-public class SearchForBuildFilesAction extends Action {
-	private AntView view;
-	
-	public SearchForBuildFilesAction(AntView view) {
-		super(AntViewActionMessages.getString("SearchForBuildFilesAction.Search_1"), AntUIImages.getImageDescriptor(IAntUIConstants.IMG_SEARCH)); //$NON-NLS-1$
-		setToolTipText(AntViewActionMessages.getString("SearchForBuildFilesAction.Add_build_files_with_search_2")); //$NON-NLS-1$
-		this.view= view;
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IAntUIHelpContextIds.SEARCH_FOR_BUILDFILES_ACTION);
-	}
-	
-	/**
-	 * Opens the <code>SearchForBuildFilesDialog</code> and adds the results to
-	 * the ant view.
-	 */
-	public void run() {
-		SearchForBuildFilesDialog dialog= new SearchForBuildFilesDialog();
-		if (dialog.open() != Window.CANCEL) {
-			final IFile[] files= dialog.getResults();
-			final boolean includeErrorNodes= dialog.getIncludeErrorResults();
-			final AntProjectNode[] existingProjects= view.getProjects();
-			try {
-				PlatformUI.getWorkbench().getProgressService().busyCursorWhile(new IRunnableWithProgress() {
-					public void run(IProgressMonitor monitor) {
-						monitor.beginTask(AntViewActionMessages.getString("SearchForBuildFilesAction.Processing_search_results_3"), files.length); //$NON-NLS-1$
-						for (int i = 0; i < files.length && !monitor.isCanceled(); i++) {
-							String buildFileName= files[i].getFullPath().toString();
-							monitor.subTask(MessageFormat.format(AntViewActionMessages.getString("SearchForBuildFilesAction.Adding_{0}_4"), new String[] {buildFileName})); //$NON-NLS-1$
-							if (alreadyAdded(buildFileName)) {
-								// Don't parse projects that have already been added.
-								continue;
-							}
-							final AntProjectNode project= new AntProjectNodeProxy(buildFileName);
-							// Force the project to be parsed so the error state is set.
-							project.getName();
-							monitor.worked(1);
-							if (includeErrorNodes || !(project.isErrorNode())) {
-								Display.getDefault().asyncExec(new Runnable() {
-									public void run() {
-										view.addProject(project);
-									}
-								});
-							}
-						}
-					}
-					/**
-					 * Returns whether or not the given build file already
-					 * exists in the ant view.
-					 */
-					private boolean alreadyAdded(String buildFileName) {
-						for (int j = 0; j < existingProjects.length; j++) {
-							AntProjectNode existingProject = existingProjects[j];
-							if (existingProject.getBuildFileName().equals(buildFileName)) {
-								return true;
-							}
-						}
-						return false;
-					}
-				});
-			} catch (InvocationTargetException e) {
-			} catch (InterruptedException e) {
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/SearchForBuildFilesDialog.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/SearchForBuildFilesDialog.java
deleted file mode 100644
index f4ec4ed..0000000
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/views/actions/SearchForBuildFilesDialog.java
+++ /dev/null
@@ -1,439 +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.ant.internal.ui.views.actions;
-
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.eclipse.ant.internal.ui.AntUIPlugin;
-import org.eclipse.ant.internal.ui.IAntUIHelpContextIds;
-import org.eclipse.ant.internal.ui.IAntUIPreferenceConstants;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-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.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.Group;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetSelectionDialog;
-
-/**
- * This dialog allows the user to search for Ant build files whose names match a
- * given pattern. The search may be performed on the entire workspace or it can
- * be limited to a particular working set.
- */
-public class SearchForBuildFilesDialog extends InputDialog {
-
-	/**
-	 * List of <code>IFile</code> objects that were found
-	 */
-	private List results = new ArrayList();
-	/**
-	 * List of <code>IResource</code> objects in which to search.
-	 * 
-	 * If the searchScopes are <code>null</code>, the user has asked to search
-	 * the workspace. If the searchScopes are empty, the user has asked to
-	 * search a working set that has no resources.
-	 */
-	private List searchScopes = null;
-	/**
-	 * The working set scope radio button.
-	 */
-	private Button workingSetScopeButton;
-	/**
-	 * The workspace scope radio button.
-	 */
-	private Button workspaceScopeButton;
-	/**
-	 * The text field that displays the current working set name
-	 */
-	private Text workingSetText;
-	/**
-	 * The button that allows the user to decide if error results should be
-	 * parsed
-	 */
-	private Button includeErrorResultButton;
-	/**
-	 * The dialog settings used to persist this dialog's settings.
-	 */
-	private static IDialogSettings settings= AntUIPlugin.getDefault().getDialogSettings();
-	
-	/**
-	 * Initialize any dialog settings that haven't been set.
-	 */
-	static {
-		if (settings.get(IAntUIPreferenceConstants.ANTVIEW_LAST_SEARCH_STRING) == null) {
-			settings.put(IAntUIPreferenceConstants.ANTVIEW_LAST_SEARCH_STRING, "build.xml"); //$NON-NLS-1$
-		}
-		if (settings.get(IAntUIPreferenceConstants.ANTVIEW_LAST_WORKINGSET_SEARCH_SCOPE) == null) {
-			settings.put(IAntUIPreferenceConstants.ANTVIEW_LAST_WORKINGSET_SEARCH_SCOPE, ""); //$NON-NLS-1$
-		} 
-	}
-
-	/**
-	 * Creates a new dialog to search for build files.
-	 */
-	public SearchForBuildFilesDialog() {
-		super(Display.getCurrent().getActiveShell(), AntViewActionMessages.getString("SearchForBuildFilesDialog.Search_for_Build_Files_1"), AntViewActionMessages.getString("SearchForBuildFilesDialog.&Input"), //$NON-NLS-1$ //$NON-NLS-2$
-				settings.get(IAntUIPreferenceConstants.ANTVIEW_LAST_SEARCH_STRING), new IInputValidator() {
-			public String isValid(String newText) {
-				String trimmedText = newText.trim();
-				if (trimmedText.length() == 0) {
-					return AntViewActionMessages.getString("SearchForBuildFilesDialog.Build_name_cannot_be_empty_3"); //$NON-NLS-1$
-				}
-				return null;
-			}
-		});
-	}
-
-	/**
-	 * Change the label on the "Ok" button and initialize the enabled state
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-		getOkButton().setText(AntViewActionMessages.getString("SearchForBuildFilesDialog.&Search_4")); //$NON-NLS-1$
-
-		String workingSetName= settings.get(IAntUIPreferenceConstants.ANTVIEW_LAST_WORKINGSET_SEARCH_SCOPE);
-		if (workingSetName.length() > 0) {
-			setWorkingSet(PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(workingSetName));
-		}
-		if (!settings.getBoolean(IAntUIPreferenceConstants.ANTVIEW_USE_WORKINGSET_SEARCH_SCOPE)) {
-			selectRadioButton(workspaceScopeButton);
-			handleRadioButtonPressed();
-		}
-	}
-
-	/**
-	 * Add the scope selection widgets to the dialog area
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Font font = parent.getFont();
-		
-		Composite composite = (Composite) super.createDialogArea(parent);
-		createIncludeErrorResultButton(composite, font);
-		createScopeGroup(composite, font);
-		return composite;
-	}
-	
-	private void createScopeGroup(Composite composite, Font font) {
-		Group scope= new Group(composite, SWT.NONE);
-		scope.setText(AntViewActionMessages.getString("SearchForBuildFilesDialog.Scope_5")); //$NON-NLS-1$
-		GridData data= new GridData(GridData.FILL_BOTH);
-		scope.setLayoutData(data);
-		GridLayout layout= new GridLayout(3, false);
-		scope.setLayout(layout);
-		scope.setFont(font);
-		
-		// Create a composite for the radio buttons
-		Composite radioComposite= new Composite(scope, SWT.NONE);
-		GridLayout radioLayout= new GridLayout();
-		radioLayout.marginHeight= 0;
-		radioComposite.setLayout(radioLayout);
-
-		SelectionAdapter selectionListener= new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleRadioButtonPressed();
-			}
-		};
-
-		workspaceScopeButton= new Button(radioComposite, SWT.RADIO);
-		workspaceScopeButton.setFont(font);
-		workspaceScopeButton.setText(AntViewActionMessages.getString("SearchForBuildFilesDialog.&Workspace_6")); //$NON-NLS-1$
-		workspaceScopeButton.addSelectionListener(selectionListener);
-
-		workingSetScopeButton=new Button(radioComposite, SWT.RADIO);
-		workingSetScopeButton.setFont(font);
-		workingSetScopeButton.setText(AntViewActionMessages.getString("SearchForBuildFilesDialog.Wor&king_Set__7")); //$NON-NLS-1$
-		workingSetScopeButton.addSelectionListener(selectionListener);
-		
-		selectRadioButton(workspaceScopeButton);
-
-		workingSetText= new Text(scope, SWT.BORDER);
-		workingSetText.setEditable(false);
-		data= new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_END);
-		workingSetText.setLayoutData(data);
-		workingSetText.setFont(font);
-
-		Button chooseButton = new Button(scope, SWT.PUSH);
-		data= new GridData(GridData.VERTICAL_ALIGN_END);
-		chooseButton.setLayoutData(data);
-		chooseButton.setFont(font);
-		chooseButton.setText(AntViewActionMessages.getString("SearchForBuildFilesDialog.&Choose..._8")); //$NON-NLS-1$
-		chooseButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent evt) {
-				handleChooseButtonPressed();
-			}
-		});
-	}
-	
-	/**
-	 * Programatically selects the given radio button, deselecting the other
-	 * radio button.
-	 * 
-	 * @param button the radio button to select. This parameter must be one of
-	 * either the <code>workingSetScopeButton</code> or the
-	 * <code>workspaceScopeButton</code> or this method will have no effect.
-	 */
-	private void selectRadioButton(Button button) {
-		if (button == workingSetScopeButton) {
-			workingSetScopeButton.setSelection(true);
-			workspaceScopeButton.setSelection(false);
-		} else if (button == workspaceScopeButton) {
-			workspaceScopeButton.setSelection(true);
-			workingSetScopeButton.setSelection(false);
-		}
-	}
-	
-	/**
-	 * One of the search scope radio buttons has been pressed. Update the dialog
-	 * accordingly.
-	 */
-	private void handleRadioButtonPressed() {
-		if (workingSetScopeButton.getSelection()) {
-			IWorkingSet set= PlatformUI.getWorkbench().getWorkingSetManager().getWorkingSet(getWorkingSetName());
-			if (set != null) {
-				setWorkingSet(set);
-				return;
-			}
-		}
-		setWorkingSet(null);
-	}
-	
-	/**
-	 * Returns the working set name currently displayed.
-	 */
-	private String getWorkingSetName() {
-		return workingSetText.getText().trim();
-	}
-	
-	/**
-	 * Creates the button that allows the user to specify whether or not build
-	 * files should that cannot be parsed should be included in the results.
-	 */
-	private void createIncludeErrorResultButton(Composite composite, Font font) {
-		includeErrorResultButton= new Button(composite, SWT.CHECK);
-		includeErrorResultButton.setFont(font);
-		includeErrorResultButton.setText(AntViewActionMessages.getString("SearchForBuildFilesDialog.Include_errors")); //$NON-NLS-1$
-		includeErrorResultButton.setSelection(settings.getBoolean(IAntUIPreferenceConstants.ANTVIEW_INCLUDE_ERROR_SEARCH_RESULTS));
-	}
-	
-	/**
-	 * Updates the dialog based on the state of the working set settings
-	 * <ul>
-	 * <li>Sets the enablement of the "Search" button based on the validity of
-	 * 	the settings</li>
-	 * <li>Sets any or clears the error message</li>
-	 * </ul>
-	 */
-	private void updateForWorkingSetSettings() {
-		if (workingSetScopeButton.getSelection()) {
-			String error= null;
-			if (searchScopes == null) {
-				error= AntViewActionMessages.getString("SearchForBuildFilesDialog.Must_select_a_working_set_10"); //$NON-NLS-1$
-			} else if (searchScopes.isEmpty()) {
-				error= AntViewActionMessages.getString("SearchForBuildFilesDialog.No_searchable"); //$NON-NLS-1$
-			}
-			if (error != null) {
-				setErrorMessage(error);
-				getOkButton().setEnabled(false);
-				return;
-			}
-		}
-		getOkButton().setEnabled(true);
-		setErrorMessage(null);
-	}
-
-	/**
-	 * Handles the working set choose button pressed. Returns the name of the
-	 * chosen working set or <code>null</code> if none.
-	 */
-	private void handleChooseButtonPressed() {
-		IWorkingSetSelectionDialog dialog= PlatformUI.getWorkbench().getWorkingSetManager().createWorkingSetSelectionDialog(getShell(), false);
-		if (dialog.open() == Window.CANCEL) {
-			return;
-		}
-		IWorkingSet[] sets= dialog.getSelection();
-		if (sets == null) {
-			return;
-		}
-		if (sets.length == 0) {
-			setWorkingSet(null); //ok pressed with no working set selected
-		} else {
-			setWorkingSet(sets[0]); // We disallowed multi-select
-		}
-	}
-	
-	/**
-	 * Sets the current working set search scope. This populates the search
-	 * scope with resources found in the given working set and updates the
-	 * enabled state of the dialog based on the sets contents.
-	 * 
-	 * @param set the working set scope for the search
-	 */
-	private void setWorkingSet(IWorkingSet set) {
-		if (set == null) {
-			searchScopes= null;
-			workingSetText.setText(""); //$NON-NLS-1$
-			validateInput();
-			return;
-		}
-		IAdaptable[] elements= set.getElements();
-		searchScopes= new ArrayList();
-		for (int i = 0; i < elements.length; i++) {
-			// Try to get an IResource object from each element
-			IResource resource= null;
-			IAdaptable adaptable = elements[i];
-			if (adaptable instanceof IResource) {
-				resource= (IResource) adaptable;
-			} else {
-				resource= (IResource) adaptable.getAdapter(IResource.class);
-			}
-			if (resource != null) {
-				searchScopes.add(resource);
-			}
-		}
-		workingSetText.setText(set.getName());
-		selectRadioButton(workingSetScopeButton);
-		
-		validateInput();
-	}
-
-	/**
-	 * Returns the trimmed user input
-	 */
-	private String getInput() {
-		return getText().getText().trim();
-	}
-
-	/**
-	 * Returns the search results
-	 */
-	public IFile[] getResults() {
-		return (IFile[]) results.toArray(new IFile[results.size()]);
-	}
-	
-	/**
-	 * Returns whether the user wishes to include results which cannot be
-	 * parsed.
-	 */
-	protected boolean getIncludeErrorResults() {
-		return settings.getBoolean(IAntUIPreferenceConstants.ANTVIEW_INCLUDE_ERROR_SEARCH_RESULTS);
-	}
-
-	/**
-	 * When the user presses the search button (tied to the OK id), search the
-	 * workspace for files matching the regular expression in the input field.
-	 */
-	protected void okPressed() {
-		String input = getInput();
-		settings.put(IAntUIPreferenceConstants.ANTVIEW_LAST_SEARCH_STRING, input);
-		settings.put(IAntUIPreferenceConstants.ANTVIEW_INCLUDE_ERROR_SEARCH_RESULTS, includeErrorResultButton.getSelection());
-		settings.put(IAntUIPreferenceConstants.ANTVIEW_LAST_WORKINGSET_SEARCH_SCOPE, getWorkingSetName());
-		settings.put(IAntUIPreferenceConstants.ANTVIEW_USE_WORKINGSET_SEARCH_SCOPE, workingSetScopeButton.getSelection());
-		results = new ArrayList(); // Clear previous results
-		ResourceProxyVisitor visitor= new ResourceProxyVisitor();
-		if (searchScopes == null || searchScopes.isEmpty()) {
-			try {
-				ResourcesPlugin.getWorkspace().getRoot().accept(visitor, IResource.NONE);
-			} catch (CoreException ce) {
-				//Closed project...don't want build files from there
-			}
-		} else {
-			Iterator iter= searchScopes.iterator();
-			while(iter.hasNext()) {
-				try {
-					((IResource) iter.next()).accept(visitor, IResource.NONE);
-				} catch (CoreException ce) {
-					//Closed project...don't want build files from there
-				}
-			}
-		}
-		super.okPressed();
-	}
-	
-	/**
-	 * Searches for files whose name matches the given regular expression.
-	 */
-	class ResourceProxyVisitor implements IResourceProxyVisitor {
-        Pattern pattern;
-        
-        ResourceProxyVisitor() {
-//          Users use "*" and "?" where regex uses ".*" and ".?"
-//          The character "." must be escaped in regex
-            String input = getInput();
-//          replace "." with "\\."
-            input = input.replaceAll("\\.", "\\\\."); //$NON-NLS-1$ //$NON-NLS-2$ 
-//          replace "*" with ".*" 
-            input = input.replaceAll("\\*", "\\.\\*"); //$NON-NLS-1$ //$NON-NLS-2$
-//          replace "?" with ".?"
-            input = input.replaceAll("\\?", "\\.\\?"); //$NON-NLS-1$ //$NON-NLS-2$ 
-            pattern = Pattern.compile(input);
-        }
-
-		/**
-		 * @see org.eclipse.core.resources.IResourceProxyVisitor#visit(org.eclipse.core.resources.IResourceProxy)
-		 */
-		public boolean visit(IResourceProxy proxy) {
-			if (proxy.getType() == IResource.FILE) {
-                Matcher matcher = pattern.matcher(proxy.getName());
-				if (matcher.find()) {
-					results.add(proxy.requestResource());
-				}
-				return false;
-			}
-			return true;
-		}
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell)
-	 */
-	protected void configureShell(Shell shell) {
-		super.configureShell(shell);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, IAntUIHelpContextIds.SEARCH_FOR_BUILDFILES_DIALOG);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.InputDialog#validateInput()
-	 */
-	protected void validateInput() {
-		String errorMessage = null;
-		if (getValidator() != null) {
-			errorMessage = getValidator().isValid(getText().getText());
-		}
-
-		setErrorMessage(errorMessage);
-		if (errorMessage == null) {
-			updateForWorkingSetSettings();
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Common Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/util/AntDebugUtil.java b/ant/org.eclipse.ant.ui/Common Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/util/AntDebugUtil.java
deleted file mode 100644
index 9537db1..0000000
--- a/ant/org.eclipse.ant.ui/Common Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/util/AntDebugUtil.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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.ant.internal.ui.antsupport.logger.util;
-
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Stack;
-import java.util.Vector;
-
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.Location;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.Task;
-
-/**
- * Ant Debug utility class that provides support to the various Ant debug build loggers.
- */
-public final class AntDebugUtil {
-    
-    public static int getLineNumber(Location location) {
-        try { //succeeds with Ant newer than 1.6
-            return location.getLineNumber();
-        } catch (NoSuchMethodError e) {
-            //Ant before 1.6
-            String locationString= location.toString();
-            if (locationString.length() == 0) {
-                return 0;
-            }
-            //filename: lineNumber: ("c:\buildfile.xml: 12: ")
-            int lastIndex= locationString.lastIndexOf(':');
-            int index =locationString.lastIndexOf(':', lastIndex - 1);
-            if (index != -1) {
-                try {
-                    return Integer.parseInt(locationString.substring(index+1, lastIndex));
-                } catch (NumberFormatException nfe) {
-                    return 0;
-                }
-            }
-            return 0;
-        }
-    }
-    
-    private static Location getLocation(Target target) {
-        try {//succeeds with Ant newer than 1.6.2
-            return target.getLocation();
-        } catch (NoSuchMethodError e) {
-            return Location.UNKNOWN_LOCATION;
-        }
-    }
-    
-    public static String getFileName(Location location) {
-        try {//succeeds with Ant newer than 1.6
-            return location.getFileName();
-        } catch (NoSuchMethodError e) {
-            //Ant before 1.6
-            String locationString= location.toString();
-            if (locationString.length() == 0) {
-                return null;
-            }
-            //filename: lineNumber: ("c:\buildfile.xml: 12: ")          
-            int lastIndex= locationString.lastIndexOf(':');
-            int index =locationString.lastIndexOf(':', lastIndex-1);
-            if (index == -1) {
-                index= lastIndex; //only the filename is known
-            }
-            if (index != -1) {
-            //bug 84403
-                //if (locationString.startsWith("file:")) { //$NON-NLS-1$
-                  //  return FileUtils.newFileUtils().fromURI(locationString);
-                //}
-                //remove file:
-                return locationString.substring(5, index);
-            }
-            return null;
-        }
-    }
-    
-    private static void appendToStack(StringBuffer stackRepresentation, String targetName, String taskName, Location location) {
-        stackRepresentation.append(targetName);
-        stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-        stackRepresentation.append(taskName);
-        stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-        
-        stackRepresentation.append(AntDebugUtil.getFileName(location));
-        stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-        stackRepresentation.append(AntDebugUtil.getLineNumber(location));
-        stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-    }
-    
-    public static void marshalStack(StringBuffer stackRepresentation, Stack tasks, Target targetToExecute, Target targetExecuting, Map targetToBuildSequence) {
-        stackRepresentation.append(DebugMessageIds.STACK);
-        stackRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-        
-        for (int i = tasks.size() - 1; i >= 0 ; i--) {
-            Task task= (Task) tasks.get(i);
-            appendToStack(stackRepresentation, task.getOwningTarget().getName(), task.getTaskName(), task.getLocation());
-        }   
-        //target dependancy stack 
-         if (targetToExecute != null) {
-         	Vector buildSequence= (Vector) targetToBuildSequence.get(targetToExecute);
-         	int startIndex= buildSequence.indexOf(targetExecuting) + 1;
-         	int dependancyStackDepth= buildSequence.indexOf(targetToExecute);
-         	
-         	Target stackTarget;
-         	for (int i = startIndex; i <= dependancyStackDepth; i++) {
-         		stackTarget= (Target) buildSequence.get(i);
-         		appendToStack(stackRepresentation, stackTarget.getName(), "", getLocation(stackTarget)); //$NON-NLS-1$
-         	}
-         }
-    }
-    
-    public static void marshallProperties(StringBuffer propertiesRepresentation, Project project, Map initialProperties, Map lastProperties, boolean marshallLineSep) {
-        propertiesRepresentation.append(DebugMessageIds.PROPERTIES);
-        propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-        Map currentProperties= currentProperties= project.getProperties();
-        if (lastProperties != null && currentProperties.size() == lastProperties.size()) {
-            //no new properties
-            return;
-        }
-        
-        Map currentUserProperties= project.getUserProperties();
-        Iterator iter= currentProperties.keySet().iterator();
-        String propertyName;
-        String propertyValue;
-        while (iter.hasNext()) {
-            propertyName = (String) iter.next();
-            if (!marshallLineSep && propertyName.equals("line.separator")) { //$NON-NLS-1$
-            	continue;
-            }
-            if (lastProperties == null || lastProperties.get(propertyName) == null) { //new property
-                propertiesRepresentation.append(propertyName.length());
-                propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-                propertiesRepresentation.append(propertyName);
-                propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-                propertyValue= (String) currentProperties.get(propertyName);
-                propertiesRepresentation.append(propertyValue.length());
-                propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-                propertiesRepresentation.append(propertyValue);
-                propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-                if (initialProperties.get(propertyName) != null) { //properties set before the start of the build
-                    if (currentUserProperties.get(propertyName) == null) {
-                        propertiesRepresentation.append(DebugMessageIds.PROPERTY_SYSTEM);
-                    } else {
-                        propertiesRepresentation.append(DebugMessageIds.PROPERTY_USER);
-                    }
-                } else if (currentUserProperties.get(propertyName) == null){
-                    propertiesRepresentation.append(DebugMessageIds.PROPERTY_RUNTIME);
-                } else {
-                    propertiesRepresentation.append(DebugMessageIds.PROPERTY_USER);
-                }
-                propertiesRepresentation.append(DebugMessageIds.MESSAGE_DELIMITER);
-            }
-        }
-        
-        propertiesRepresentation.deleteCharAt(propertiesRepresentation.length() - 1);
-    }
-    
-    public static Target initializeBuildSequenceInformation(BuildEvent event, Map targetToBuildSequence) {
-        Project antProject= event.getProject();
-        Vector targets= (Vector) antProject.getReference("eclipse.ant.targetVector"); //$NON-NLS-1$
-        Iterator itr= targets.iterator();
-        Hashtable allTargets= antProject.getTargets();
-        String targetName;
-        Vector sortedTargets;
-        while (itr.hasNext()) {
-            targetName= (String) itr.next();
-            sortedTargets= antProject.topoSort(targetName, allTargets);
-            targetToBuildSequence.put(allTargets.get(targetName), sortedTargets);
-        }
-        //the target to execute
-        return (Target) allTargets.get(targets.remove(0));
-    }
-}
diff --git a/ant/org.eclipse.ant.ui/Common Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/util/DebugMessageIds.java b/ant/org.eclipse.ant.ui/Common Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/util/DebugMessageIds.java
deleted file mode 100644
index 09dea21..0000000
--- a/ant/org.eclipse.ant.ui/Common Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/util/DebugMessageIds.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.antsupport.logger.util;
-
-
-public class DebugMessageIds {
-	
-	public final static String MESSAGE_DELIMITER= ","; //$NON-NLS-1$
-	
-	public final static String BUILD_STARTED=   "build_started"; //$NON-NLS-1$
-	public final static String TARGET_STARTED= "target_started"; //$NON-NLS-1$
-	public final static String TARGET_FINISHED= "target_finished"; //$NON-NLS-1$
-	public final static String TASK_STARTED= "task_started"; //$NON-NLS-1$
-	public final static String TASK_FINISHED= "task_finished"; //$NON-NLS-1$
-	
-	public final static String STEP= "step"; //$NON-NLS-1$
-	public final static String STEP_OVER= "step_over"; //$NON-NLS-1$
-	public final static String STEP_INTO= "step_into"; //$NON-NLS-1$
-	
-	public final static String TERMINATE= "terminate"; //$NON-NLS-1$
-	public final static String TERMINATED= "terminated"; //$NON-NLS-1$
-	public final static String SUSPEND= "suspend"; //$NON-NLS-1$
-	public final static String SUSPENDED= "suspended"; //$NON-NLS-1$
-	public final static String RESUME= "resume"; //$NON-NLS-1$
-	
-	public final static String STACK= "stack"; //$NON-NLS-1$
-	
-	public final static String ADD_BREAKPOINT= "add"; //$NON-NLS-1$
-	public final static String REMOVE_BREAKPOINT= "remove"; //$NON-NLS-1$
-	
-	public final static String CLIENT_REQUEST= "client"; //$NON-NLS-1$
-	public final static String BREAKPOINT= "breakpoint"; //$NON-NLS-1$
-	
-	public final static String PROPERTIES= "prop"; //$NON-NLS-1$
-	public final static String PROPERTY_VALUE= "value"; //$NON-NLS-1$
-	public final static int PROPERTY_USER= 0;
-	public final static int PROPERTY_SYSTEM= 1;
-	public final static int PROPERTY_RUNTIME= 2;
-}
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/DemuxInputStreamSetter.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/DemuxInputStreamSetter.java
deleted file mode 100644
index 7e9f0a4..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/DemuxInputStreamSetter.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.antsupport;
-
-
-import org.apache.tools.ant.DemuxInputStream;
-import org.apache.tools.ant.Project;
-
-/**
- * This class exists so that the Ant integration has backwards compatibility
- * with Ant releases previous to 1.6. DemuxInputStream is a new class to Ant 1.6.
- */
-class DemuxInputStreamSetter {
-
-	protected void remapSystemIn(Project project) {
-		System.setIn(new DemuxInputStream(project));
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/InputHandlerSetter.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/InputHandlerSetter.java
deleted file mode 100644
index b4b02ce..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/InputHandlerSetter.java
+++ /dev/null
@@ -1,44 +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.ant.internal.ui.antsupport;
-
-
-import java.text.MessageFormat;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.input.DefaultInputHandler;
-import org.apache.tools.ant.input.InputHandler;
-
-/**
- * This class exists so that the Ant integration has backwards compatibility
- * with Ant releases previous to 1.5. InputHandlers are a new feature of Ant 1.5.
- */
-class InputHandlerSetter {
-
-	protected void setInputHandler(Project project, String inputHandlerClassname) {
-		InputHandler handler = null;
-		if (inputHandlerClassname == null) {
-			handler = new DefaultInputHandler();
-		} else {
-			try {
-				handler = (InputHandler)(Class.forName(inputHandlerClassname).newInstance());
-			} catch (ClassCastException e) {
-				String msg = MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.The_specified_input_handler_class_{0}_does_not_implement_the_org.apache.tools.ant.input.InputHandler_interface_5"), new String[]{inputHandlerClassname}); //$NON-NLS-1$
-				throw new BuildException(msg, e);
-			} catch (Exception e) {
-				String msg = MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Unable_to_instantiate_specified_input_handler_class_{0}___{1}_6"), new String[]{inputHandlerClassname, e.getClass().getName()}); //$NON-NLS-1$
-				throw new BuildException(msg, e);
-			}
-		}
-		project.setInputHandler(handler);
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/InternalAntRunner.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/InternalAntRunner.java
deleted file mode 100644
index 7ceffbb..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/InternalAntRunner.java
+++ /dev/null
@@ -1,1203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * Portions Copyright  2000-2005 The Apache Software Foundation
- * All rights reserved. This program and the accompanying materials are made 
- * available under the terms of the Apache Software License v2.0 which 
- * accompanies this distribution and is available at 
- * http://www.apache.org/licenses/LICENSE-2.0.
- * 
- * Contributors:
- *     IBM Corporation - derived implementation
- *******************************************************************************/
-
-package org.eclipse.ant.internal.ui.antsupport;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintStream;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Vector;
-
-import org.apache.tools.ant.AntTypeDefinition;
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.BuildLogger;
-import org.apache.tools.ant.ComponentHelper;
-import org.apache.tools.ant.DefaultLogger;
-import org.apache.tools.ant.DemuxOutputStream;
-import org.apache.tools.ant.Diagnostics;
-import org.apache.tools.ant.Main;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.ProjectHelper;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.TaskAdapter;
-import org.apache.tools.ant.util.FileUtils;
-import org.eclipse.ant.internal.ui.antsupport.logger.RemoteAntBuildLogger;
-
-/**
- * Eclipse application entry point into Ant in a separate VM. Derived from the original Ant Main class
- * to ensure that the functionality is equivalent when running in the platform.
- */
-public class InternalAntRunner {
-
-	/**
-	 *  Message priority for project help messages. 
-	 */
-	public static final int MSG_PROJECT_HELP= Project.MSG_DEBUG + 1;
-	
-	private List buildListeners;
-
-	private String buildFileLocation;
-
-	/** 
-	 * Targets we want to run.
-	 */
-	private Vector targets;
-
-	private Map userProperties;
-	
-	private Project currentProject;
-	
-	private String defaultTarget;
-	
-	private BuildLogger buildLogger= null;
-	
-	private Map eclipseSpecifiedTasks;
-	private Map eclipseSpecifiedTypes;
-	
-	/**
-	 * Cache of the Ant version number when it has been loaded
-	 */
-	private String antVersionNumber= null;
-
-	/** Our current message output status. Follows Project.MSG_XXX */
-	private int messageOutputLevel = Project.MSG_INFO;
-
-	/** Indicates whether output to the log is to be unadorned. */
-	private boolean emacsMode = false;
-
-	/** Indicates we should only parse and display the project help information */
-	private boolean projectHelp = false;
-
-	/** Stream that we are using for logging */
-	private PrintStream out = System.out;
-
-	/** Stream that we are using for logging error messages */
-	private PrintStream err = System.err;
-
-	/**
-	 * The Ant logger class. There may be only one logger. It will have the
-	 * right to use the 'out' PrintStream. The class must implement the BuildLogger
-	 * interface.  An empty String indicates that no logger is to be used.  A <code>null</code>
-	 * name indicates that the <code>org.apache.tools.ant.DefaultLogger</code> will be used.
-	 */
-	private String loggerClassname = null;
-
-	/** Extra arguments to be parsed as command line arguments. */
-	private String[] extraArguments = null;
-	
-	private boolean scriptExecuted= false;
-	
-	private List propertyFiles= new ArrayList();
-	
-	/**
-     * The Ant InputHandler class. There may be only one input handler.
-     */
-    private String inputHandlerClassname = null;
-    
-    /** 
-     * Indicates whether to execute all targets that 
-     * do not depend on failed targets
-     * @since Ant 1.6.0
-     */
-    private boolean keepGoing= false;
-
-    /** 
-     * Indicates whether this build is to support interactive input 
-     * @since Ant 1.6.0
-     */
-    private boolean allowInput = true;
-    
-    private String fEarlyErrorMessage= null;
-    
-    public static void main(String[] args) {
-    	try {
-    		new InternalAntRunner().run(getArrayList(args));
-    	} catch (Throwable t) {
-    	    t.printStackTrace();
-    		System.exit(1);
-    	}
-		System.exit(0);
-	}
-
-	private void addBuildListeners(Project project) {
-		String className= null;
-		try {
-			BuildLogger logger= createLogger();
-			if (logger != null) {
-				project.addBuildListener(logger);
-			}
-			if (buildListeners != null) {
-				for (Iterator iterator = buildListeners.iterator(); iterator.hasNext();) {
-					className = (String) iterator.next();
-					Class listener = Class.forName(className);
-					project.addBuildListener((BuildListener) listener.newInstance());
-				}
-			}
-		} catch (ClassCastException e) {
-			String message = MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.{0}_which_was_specified_to_be_a_build_listener_is_not_an_instance_of_org.apache.tools.ant.BuildListener._1"), new String[]{className}); //$NON-NLS-1$
-			logMessage(null, message, Project.MSG_ERR);
-			throw new BuildException(message, e);
-		} catch (BuildException e) {
-			throw e;
-		} catch (Exception e) {
-			throw new BuildException(e);
-		}
-	}
-
-	/**
-	 * Parses the build file and adds necessary information into
-	 * the given project.
-	 * @param project The project to configure
-	 */
-	private void parseBuildFile(Project project) {
-		File buildFile = new File(getBuildFileLocation());
-		if (!buildFile.exists()) {
-			throw new BuildException(MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Buildfile__{0}_does_not_exist_!_1"), //$NON-NLS-1$
-						 new String[]{buildFile.getAbsolutePath()}));
-		}
-		if (!buildFile.isFile()) {
-			throw new BuildException(MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Buildfile__{0}_is_not_a_file_1"), //$NON-NLS-1$
-							new String[]{buildFile.getAbsolutePath()}));
-		}
-		
-		ProjectHelper helper = ProjectHelper.getProjectHelper();
-		project.addReference("ant.projectHelper", helper); //$NON-NLS-1$
-		helper.parse(project, buildFile);
-	}
-
-	private void printArguments(Project project) {
-		if ((messageOutputLevel != Project.MSG_DEBUG) && (messageOutputLevel != Project.MSG_VERBOSE)) {
-			return;
-		}
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0; i < extraArguments.length; i++) {
-			sb.append(extraArguments[i]);
-			sb.append(' ');
-		}
-		project.log(MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Arguments__{0}_2"), new String[]{sb.toString().trim()})); //$NON-NLS-1$
-	}
-
-
-	/**
-	 * Logs a message with the client that lists the targets
-	 * in a project
-	 * 
-	 * @param project the project to list targets from
-	 */
-	private void printTargets(Project project) {
-		//notify the logger that project help message are coming
-		//since there is no buildstarted or targetstarted to 
-		//to be used to establish the connection
-		logMessage(project, "", MSG_PROJECT_HELP); //$NON-NLS-1$
-		// find the target with the longest name
-		int maxLength = 0;
-		Enumeration ptargets = project.getTargets().elements();
-		String targetName;
-		String targetDescription;
-		Target currentTarget;
-		// split the targets in top-level and sub-targets depending
-		// on the presence of a description
-		List topNames = new ArrayList();
-		List topDescriptions = new ArrayList();
-		List subNames = new ArrayList();
-
-		while (ptargets.hasMoreElements()) {
-			currentTarget = (Target) ptargets.nextElement();
-			targetName = currentTarget.getName();
-			targetDescription = currentTarget.getDescription();
-			if (targetDescription == null) {
-				subNames.add(targetName);
-			} else {
-				topNames.add(targetName);
-				topDescriptions.add(targetDescription);
-				if (targetName.length() > maxLength) {
-					maxLength = targetName.length();
-				}
-			}
-		}
-
-		Collections.sort(subNames);
-		Collections.sort(topNames);
-		Collections.sort(topDescriptions);
-		
-		String defaultTargetName = project.getDefaultTarget();
-		if (defaultTargetName != null && !"".equals(defaultTargetName)) { // shouldn't need to check but... //$NON-NLS-1$
-			List defaultName = new ArrayList(1);
-			List defaultDesc = null;
-			defaultName.add(defaultTargetName);
-
-			int indexOfDefDesc = topNames.indexOf(defaultTargetName);
-			if (indexOfDefDesc >= 0) {
-				defaultDesc = new ArrayList(1);
-				defaultDesc.add(topDescriptions.get(indexOfDefDesc));
-			}
-			printTargets(project, defaultName, defaultDesc, RemoteAntMessages.getString("InternalAntRunner.Default_target__3"), maxLength); //$NON-NLS-1$
-
-		}
-
-		printTargets(project, topNames, topDescriptions, RemoteAntMessages.getString("InternalAntRunner.Main_targets__4"), maxLength); //$NON-NLS-1$
-		printTargets(project, subNames, null, RemoteAntMessages.getString("InternalAntRunner.Subtargets__5"), 0); //$NON-NLS-1$
-	}
-
-	/**
-	 * Logs a message with the client that lists the target names and optional descriptions
-	 * 
-	 * @param project the enclosing target
-	 * @param names the targets names
-	 * @param descriptions the corresponding descriptions
-	 * @param heading the message heading
-	 * @param maxlen maximum length that can be allocated for a name
-	 */
-	private void printTargets(Project project, List names, List descriptions, String heading, int maxlen) {
-		// now, start printing the targets and their descriptions
-		String lSep = System.getProperty("line.separator"); //$NON-NLS-1$
-		
-		String spaces = "    "; //$NON-NLS-1$
-		while (spaces.length() < maxlen) {
-			spaces += spaces;
-		}
-		StringBuffer msg = new StringBuffer();
-		msg.append(heading + lSep + lSep);
-		for (int i = 0; i < names.size(); i++) {
-			msg.append(' ');
-			msg.append(names.get(i));
-			if (descriptions != null) {
-				msg.append(spaces.substring(0, maxlen - ((String) names.get(i)).length() + 2));
-				msg.append(descriptions.get(i));
-			}
-			msg.append(lSep);
-		}
-		logMessage(project, msg.toString(), Project.MSG_INFO);
-	}
-
-	/*
-	 * Note that the list passed to this method must support
-	 * List#remove(Object)
-	 */
-	private void run(List argList) {
-		setCurrentProject(new Project());
-		Throwable error = null;
-		PrintStream originalErr = System.err;
-		PrintStream originalOut = System.out;
-		InputStream originalIn= System.in;
-		
-		scriptExecuted= true;
-		try {
-			if (argList != null && (argList.remove("-projecthelp") || argList.remove("-p"))) { //$NON-NLS-1$ //$NON-NLS-2$
-				projectHelp = true;
-			}
-			getCurrentProject().init();
-			if (argList != null) {
-				scriptExecuted= preprocessCommandLine(argList);
-			
-				if (!scriptExecuted) {
-					return;
-				}
-			}
-			
-            boolean exceptionState= processProperties(argList);
-            
-			addBuildListeners(getCurrentProject());
-            
-			addInputHandler(getCurrentProject());
-			
-			remapSystemIn();
-			System.setOut(new PrintStream(new DemuxOutputStream(getCurrentProject(), false)));
-			System.setErr(new PrintStream(new DemuxOutputStream(getCurrentProject(), true)));
-			
-			if (!projectHelp) {
-				getCurrentProject().fireBuildStarted();
-			}
-            
-            if (fEarlyErrorMessage != null) {
-                //an error occurred processing the properties
-                //build started has fired and we have
-                //listeners/loggers to report the error
-                logMessage(getCurrentProject(), fEarlyErrorMessage, Project.MSG_ERR);
-                if (exceptionState) {
-                    throw new BuildException(fEarlyErrorMessage);
-                }
-            }
-            
-            //properties can only be set after buildStarted as some listeners/loggers
-            //depend on this (e.g. XMLLogger)
-            setProperties(getCurrentProject());
-			
-			if (argList != null && !argList.isEmpty()) {
-				try {
-					scriptExecuted= processCommandLine(argList);
-				} catch (BuildException e) {
-					scriptExecuted= false;
-					throw e;
-				}
-			}
-			if (!scriptExecuted) {
-				return;
-			}
-			
-            //needs to occur after processCommandLine(List)
-			if (allowInput && (inputHandlerClassname != null && inputHandlerClassname.length() > 0)) {
-				if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-					getCurrentProject().setDefaultInputStream(originalIn);
-				}
-			} else {
-				//set the system property that any input handler
-				//can check to see if handling input is allowed
-				System.setProperty("eclipse.ant.noInput", "true");  //$NON-NLS-1$//$NON-NLS-2$
-			}
-			
-			getCurrentProject().log(MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Build_file__{0}_1"), new String[]{getBuildFileLocation()})); //$NON-NLS-1$
-			
-			setTasks();
-			setTypes();
-			
-			if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-				getCurrentProject().setKeepGoingMode(keepGoing);
-			}
-			
-			parseBuildFile(getCurrentProject());
-			validateDefaultTarget();
-			
-			if (projectHelp) {
-				printHelp(getCurrentProject());
-				scriptExecuted= false;
-				return;
-			}
-			
-			if (extraArguments != null) {
-				printArguments(getCurrentProject());
-			}
-			
-			if (targets == null) {
-                targets= new Vector(1);
-            }
-            if (targets.isEmpty() && getCurrentProject().getDefaultTarget() != null) {
-                targets.add(getCurrentProject().getDefaultTarget());
-            }
-            getCurrentProject().addReference("eclipse.ant.targetVector", targets); //$NON-NLS-1$
-			getCurrentProject().executeTargets(targets);
-        } catch (Throwable e) {
-			error = e;
-		} finally {
-			System.setErr(originalErr);
-			System.setOut(originalOut);
-			System.setIn(originalIn);
-			
-			if (!projectHelp) {				
-				fireBuildFinished(getCurrentProject(), error);
-			}
-						
-			//close any user specified build log
-			if (err != originalErr) {
-				err.close();
-			}
-			if (out != originalOut) {
-				out.close();
-			}
-		}
-	}
-	
-	private void setTasks() {
-		if (eclipseSpecifiedTasks != null) {
-			Iterator itr= eclipseSpecifiedTasks.keySet().iterator();
-			String taskName;
-			String taskClassName;
-			while (itr.hasNext()) {
-				taskName= (String) itr.next();
-				taskClassName= (String) eclipseSpecifiedTasks.get(taskName);
-				
-				if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-					AntTypeDefinition def= new AntTypeDefinition();
-					def.setName(taskName);
-		            def.setClassName(taskClassName);
-		            def.setClassLoader(this.getClass().getClassLoader());
-		            def.setAdaptToClass(Task.class);
-		            def.setAdapterClass(TaskAdapter.class);
-		            ComponentHelper.getComponentHelper(getCurrentProject()).addDataTypeDefinition(def);
-				} else {
-					try {
-						Class taskClass = Class.forName(taskClassName);
-						getCurrentProject().addTaskDefinition(taskName, taskClass);
-					} catch (ClassNotFoundException e) {
-						String message= MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.161"), new String[]{taskClassName, taskName}); //$NON-NLS-1$
-						getCurrentProject().log(message, Project.MSG_WARN);
-					}	
-				}
-			}
-		}
-	}
-
-	private void setTypes() {
-		if (eclipseSpecifiedTypes != null) {
-			Iterator itr= eclipseSpecifiedTypes.keySet().iterator();
-			String typeName;
-			String typeClassName;
-			while (itr.hasNext()) {
-				typeName = (String) itr.next();
-				typeClassName= (String) eclipseSpecifiedTypes.get(typeName);
-				if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-					AntTypeDefinition def = new AntTypeDefinition();
-	                def.setName(typeName);
-	                def.setClassName(typeClassName);
-	                def.setClassLoader(this.getClass().getClassLoader());
-	                ComponentHelper.getComponentHelper(getCurrentProject()).addDataTypeDefinition(def);
-				} else {
-					try {
-						Class typeClass = Class.forName(typeClassName);
-						getCurrentProject().addDataTypeDefinition(typeName, typeClass);
-					} catch (ClassNotFoundException e) {
-						String message= MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.162"), new String[]{typeClassName, typeName}); //$NON-NLS-1$
-						getCurrentProject().log(message, Project.MSG_WARN);
-					}	
-				}
-			}
-		}
-	}
-
-	private void remapSystemIn() {
-		if (!isVersionCompatible("1.6")) { //$NON-NLS-1$
-			return;
-		}
-		DemuxInputStreamSetter setter= new DemuxInputStreamSetter();
-		setter.remapSystemIn(getCurrentProject());
-	}
-	
-	private void validateDefaultTarget() {
-		defaultTarget = getCurrentProject().getDefaultTarget();
-		if (defaultTarget == null) {
-		    return;      
-        }
-		Enumeration currentTargets = getCurrentProject().getTargets().elements();
-		boolean defaultFound= false;
-		while (currentTargets.hasMoreElements()) {
-			Target target = (Target) currentTargets.nextElement();
-			if (target.getName().equals(defaultTarget)) {
-				defaultFound= true;
-				break;
-			}
-		}
-		
-		if (!defaultFound) {
-			//default target must exist
-			throw new BuildException(MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Default_target_{0}{1}{2}_does_not_exist_in_this_project_1"), new String[]{"'", defaultTarget, "'"})); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-
-	/**
-	 * Creates and returns the default build logger for logging build events to the ant log.
-	 * 
-	 * @return the default build logger for logging build events to the ant log
-	 * 			can return <code>null</code> if no logging is to occur
-	 */
-	private BuildLogger createLogger() {
-		if (loggerClassname == null) {
-			buildLogger= new DefaultLogger();
-		} else if (!"".equals(loggerClassname)) { //$NON-NLS-1$
-			try {
-				buildLogger = (BuildLogger) (Class.forName(loggerClassname).newInstance());
-			} catch (ClassCastException e) {
-				String message = MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.{0}_which_was_specified_to_perform_logging_is_not_an_instance_of_org.apache.tools.ant.BuildLogger._2"), new String[]{loggerClassname}); //$NON-NLS-1$
-				logMessage(null, message, Project.MSG_ERR);
-				throw new BuildException(message, e);
-			} catch (Exception e) {
-				String message = MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Unable_to_instantiate_logger__{0}_6"), new String[]{loggerClassname}); //$NON-NLS-1$
-				logMessage(null, message, Project.MSG_ERR);
-				throw new BuildException(message, e);
-			}
-		} 
-		
-		if (buildLogger != null) {
-			buildLogger.setMessageOutputLevel(messageOutputLevel);
-			buildLogger.setOutputPrintStream(out);
-			buildLogger.setErrorPrintStream(err);
-			buildLogger.setEmacsMode(emacsMode);
-            if (buildLogger instanceof RemoteAntBuildLogger) {
-                ((RemoteAntBuildLogger) buildLogger).configure(userProperties);
-            }
-		}
-
-		return buildLogger;
-	}
-
-	private void fireBuildFinished(Project project, Throwable error) {
-		if (error == null && scriptExecuted) {
-			logMessage(project, RemoteAntMessages.getString("InternalAntRunner.BUILD_SUCCESSFUL_1"), messageOutputLevel); //$NON-NLS-1$
-		}
-		project.fireBuildFinished(error);
-	}
-
-	private void logMessage(Project project, String message, int priority) {
-		if (project != null) {
-			project.log(message, priority);	
-		} else {
-			if (buildListeners != null) {
-				project = new Project();
-				BuildEvent event = new BuildEvent(project);
-				event.setMessage(message, priority);
-				//notify the build listeners that are not registered as
-				//no project existed
-				for (Iterator iterator = buildListeners.iterator(); iterator.hasNext();) {
-					try {
-						BuildListener listener = (BuildListener) iterator.next();
-						listener.messageLogged(event);
-					} catch (ClassCastException e) {
-						//ignore we could be trying to log that a build listener is the
-						//wrong type of class
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Sets the buildFileLocation.
-	 * 
-	 * @param buildFileLocation the file system location of the build file
-	 */
-	private void setBuildFileLocation(String buildFileLocation) {
-		this.buildFileLocation = buildFileLocation;
-		if (getCurrentProject() != null) {
-			getCurrentProject().setUserProperty("ant.file", buildFileLocation); //$NON-NLS-1$
-		}
-	}
-
-	private String getBuildFileLocation() {
-		if (buildFileLocation == null) {
-			buildFileLocation = new File("build.xml").getAbsolutePath(); //$NON-NLS-1$
-		}
-		return buildFileLocation;
-	}
-
-	/**
-	 * Sets the message output level. Use -1 for none.
-	 * @param level The message output level
-	 */
-	private void setMessageOutputLevel(int level) {
-		messageOutputLevel = level;
-		if (buildLogger != null) {
-			buildLogger.setMessageOutputLevel(level);
-		}
-	}
-	
-	/*
-	 * Returns a String representation of the Ant version number as specified
-	 * in the version.txt file.
-	 */
-	private String getAntVersionNumber() throws BuildException {
-		if (antVersionNumber == null) {
-			try {
-				Properties props = new Properties();
-				InputStream in = Main.class.getResourceAsStream("/org/apache/tools/ant/version.txt"); //$NON-NLS-1$
-				props.load(in);
-				in.close();
-				String versionNumber= props.getProperty("VERSION");  //$NON-NLS-1$
-				antVersionNumber= versionNumber;
-			} catch (IOException ioe) {
-				throw new BuildException(MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Could_not_load_the_version_information._{0}_9"), new String[]{ioe.getMessage()})); //$NON-NLS-1$
-			} catch (NullPointerException npe) {
-				throw new BuildException(RemoteAntMessages.getString("InternalAntRunner.Could_not_load_the_version_information._10")); //$NON-NLS-1$
-			}
-		}
-		return antVersionNumber;
-	}
-	
-	/*
-	 * Returns whether the given version is compatible with the
-	 * current Ant version. A version is compatible if it is less
-	 * than or equal to the current version. 
-	 */
-	private boolean isVersionCompatible(String comparison) {
-		String version= getAntVersionNumber();
-		return version.compareTo(comparison) >= 0;
-	}
-	
-	private boolean preprocessCommandLine(List commands) {
-		
-		String arg = getArgument(commands, "-listener"); //$NON-NLS-1$
-		while (arg != null) {
-			if (arg.length() == 0) {
-				throw new BuildException(RemoteAntMessages.getString("InternalAntRunner.You_must_specify_a_classname_when_using_the_-listener_argument_1")); //$NON-NLS-1$
-			} 
-			if (buildListeners == null) {
-				buildListeners= new ArrayList(1);
-			}
-			buildListeners.add(arg);
-			arg = getArgument(commands, "-listener"); //$NON-NLS-1$
-		}
-
-		arg = getArgument(commands, "-logger"); //$NON-NLS-1$
-		if (arg != null) {
-			//allow empty string to mean no logger
-			loggerClassname = arg;
-		}
-		arg = getArgument(commands, "-logger"); //$NON-NLS-1$
-		if (arg != null) {
-			throw new BuildException(RemoteAntMessages.getString("InternalAntRunner.Only_one_logger_class_may_be_specified_1")); //$NON-NLS-1$
-		}
-		
-		arg = getArgument(commands, "-inputhandler"); //$NON-NLS-1$
-		if (arg != null) {
-			if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
-				throw new BuildException(RemoteAntMessages.getString("InternalAntRunner.Specifying_an_InputHandler_is_an_Ant_1.5.*_feature._Please_update_your_Ant_classpath_to_include_an_Ant_version_greater_than_this._2")); //$NON-NLS-1$
-			}
-			if (arg.length() == 0) {
-				throw new BuildException(RemoteAntMessages.getString("InternalAntRunner.You_must_specify_a_classname_when_using_the_-inputhandler_argument_1")); //$NON-NLS-1$
-			} 
-			inputHandlerClassname = arg;
-		}
-		arg = getArgument(commands, "-inputhandler"); //$NON-NLS-1$
-		if (arg != null) {
-			throw new BuildException(RemoteAntMessages.getString("InternalAntRunner.Only_one_input_handler_class_may_be_specified._2")); //$NON-NLS-1$
-		}
-		return true;
-	}
-	
-	/*
-	 * Looks for interesting command line arguments. 
-	 * Returns whether it is OK to run the script.
-	 */
-	private boolean processCommandLine(List commands) {
-		
-		if (commands.remove("-help") || commands.remove("-h")) { //$NON-NLS-1$ //$NON-NLS-2$
-			printUsage();
-			return false;
-		}
-		
-		if (commands.remove("-version")) { //$NON-NLS-1$
-			printVersion();
-			return false;
-		}
-		
-		if (commands.remove("-verbose") || commands.remove("-v")) { //$NON-NLS-1$ //$NON-NLS-2$
-			printVersion();
-			setMessageOutputLevel(Project.MSG_VERBOSE);
-		}
-		
-		if (commands.remove("-debug") || commands.remove("-d")) { //$NON-NLS-1$ //$NON-NLS-2$
-			printVersion();
-			setMessageOutputLevel(Project.MSG_DEBUG);
-		}
-		
-		if (commands.remove("-quiet") || commands.remove("-q")) { //$NON-NLS-1$ //$NON-NLS-2$
-			setMessageOutputLevel(Project.MSG_WARN);
-		}
-
-		if (commands.remove("-emacs") || commands.remove("-e")) { //$NON-NLS-1$ //$NON-NLS-2$
-			emacsMode = true;
-			if (buildLogger != null) {
-				buildLogger.setEmacsMode(true);
-			}
-		}
-		
-		if (commands.remove("-diagnostics")) { //$NON-NLS-1$
-			if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
-				throw new BuildException(RemoteAntMessages.getString("InternalAntRunner.The_diagnositics_options_is_an_Ant_1.5.*_feature._Please_update_your_Ant_classpath_to_include_an_Ant_version_greater_than_this._4")); //$NON-NLS-1$
-			}
-			try {
-				Diagnostics.doReport(System.out);
-			} catch (NullPointerException e) {
-				logMessage(getCurrentProject(), RemoteAntMessages.getString("InternalAntRunner.ANT_HOME_must_be_set_to_use_Ant_diagnostics_2"), Project.MSG_ERR); //$NON-NLS-1$
-			}
-			return false;
-		}
-		
-		String arg = getArgument(commands, "-logfile"); //$NON-NLS-1$
-		if (arg == null) {
-			arg = getArgument(commands, "-l"); //$NON-NLS-1$
-		}
-		if (arg != null) {
-			if (arg.length() == 0) {
-				String message= RemoteAntMessages.getString("InternalAntRunner.You_must_specify_a_log_file_when_using_the_-log_argument_3"); //$NON-NLS-1$
-				logMessage(currentProject, message, Project.MSG_ERR); 
-				throw new BuildException(message);
-			} 
-			try {
-				createLogFile(arg);
-			} catch (IOException e) {
-				// just log message and ignore exception
-				logMessage(getCurrentProject(), MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Could_not_write_to_the_specified_log_file__{0}._Make_sure_the_path_exists_and_you_have_write_permissions._2"), new String[]{arg}), Project.MSG_ERR); //$NON-NLS-1$
-				return false;
-			}
-		
-		}
-		
-		arg = getArgument(commands, "-buildfile"); //$NON-NLS-1$
-		if (arg == null) {
-			arg = getArgument(commands, "-file"); //$NON-NLS-1$
-			if (arg == null) {
-				arg = getArgument(commands, "-f"); //$NON-NLS-1$
-			}
-		}
-		
-		if (arg != null) {
-			if (arg.length() == 0) {
-				String message= RemoteAntMessages.getString("InternalAntRunner.You_must_specify_a_buildfile_when_using_the_-buildfile_argument_4"); //$NON-NLS-1$
-				logMessage(currentProject, message, Project.MSG_ERR); 
-				throw new BuildException(message);
-			} 
-			setBuildFileLocation(arg);
-		}
-		
-		if (isVersionCompatible("1.6")) { //$NON-NLS-1$
-			if (commands.remove("-k") || commands.remove("-keep-going")) { //$NON-NLS-1$ //$NON-NLS-2$
-				keepGoing= true;
-			}
-			if (commands.remove("-noinput")) { //$NON-NLS-1$
-				allowInput= false;
-			}
-			arg= getArgument(commands, "-lib"); //$NON-NLS-1$
-			if (arg != null) {
-				logMessage(currentProject, RemoteAntMessages.getString("InternalAntRunner.157"), Project.MSG_ERR); //$NON-NLS-1$
-				return false;
-			}
-		}
-		
-		arg= getArgument(commands, "-find"); //$NON-NLS-1$
-		if (arg == null) {
-			arg= getArgument(commands, "-s"); //$NON-NLS-1$
-		}
-		if (arg != null) {
-			logMessage(currentProject, RemoteAntMessages.getString("InternalAntRunner.-find_not_supported"), Project.MSG_ERR); //$NON-NLS-1$
-			return false;
-		}
-		
-		processTasksAndTypes(commands);
-		
-		if ((commands != null) && (!commands.isEmpty())) {
-			processUnrecognizedCommands(commands);
-		}
-
-		if ((commands != null) && (!commands.isEmpty())) {
-			processTargets(commands);
-		}
-		
-		return true;
-	}
-	
-	private void processTasksAndTypes(List commands) {
-		String arg = getArgument(commands, "-eclipseTask"); //$NON-NLS-1$
-		while (arg != null) {
-			if (eclipseSpecifiedTasks == null) {
-				eclipseSpecifiedTasks= new HashMap();
-			}
-			int index= arg.indexOf(',');
-			if (index != -1) {
-				String name= arg.substring(0, index);
-				String className= arg.substring(index + 1);
-				eclipseSpecifiedTasks.put(name, className);
-			}
-			arg = getArgument(commands, "-eclipseTask"); //$NON-NLS-1$
-		}
-		
-		arg = getArgument(commands, "-eclipseType"); //$NON-NLS-1$
-		while (arg != null) {
-			if (eclipseSpecifiedTypes == null) {
-				eclipseSpecifiedTypes= new HashMap();
-			}
-			int index= arg.indexOf(',');
-			if (index != -1) {	
-				String name= arg.substring(0, index);
-				String className= arg.substring(index + 1);
-				eclipseSpecifiedTypes.put(name, className);
-			}
-			arg = getArgument(commands, "-eclipseType"); //$NON-NLS-1$
-		}
-	}
-
-	/*
-	 * Checks for unrecognized arguments on the command line.
-	 * Since there is no syntactic way to distingush between
-	 * ant -foo target1 target2
-	 * ant -foo fooarg target
-	 * we remove everything up to the last argument that
-	 * begins with a '-'.  In the latter case, above, that
-	 * means that there will be an extra target, 'fooarg',
-	 * left lying around.
-	 */
-	private void processUnrecognizedCommands(List commands) {
-		int p = -1;
-
-		// find the last arg that begins with '-'
-		for (int i = commands.size() - 1; i >= 0; i--) {
-			if (((String) commands.get(0)).startsWith("-")) { //$NON-NLS-1$
-				p = i;
-				break;
-			}
-		}
-		if (p < 0) { return; }
-
-		// remove everything preceding that last '-arg'
-		String s = ""; //$NON-NLS-1$
-		for (int i = 0; i <= p; i++) {
-			s += " " + ((String) commands.get(0)); //$NON-NLS-1$
-			commands.remove(0);
-		}
-		
-		// warn of ignored commands
-		String message = MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Unknown_argument__{0}_2"), new Object[]{ s.substring(1) }); //$NON-NLS-1$
-		logMessage(currentProject, message, Project.MSG_WARN); 
-	}
-	
-
-	/*
-	 * Checks for targets specified at the command line.
-	 */
-	private void processTargets(List commands) {
-		if (targets == null) {
-			targets = new Vector(commands.size());
-		}
-		for (Iterator iter = commands.iterator(); iter.hasNext();) {
-			targets.add(iter.next());
-		}
-	}
-
-	/*
-	 * Creates the log file with the name specified by the user.
-	 * If the fileName is not absolute, the file will be created in the
-	 * working directory if specified or in the same directory as the location
-	 * of the build file.
-	 */
-	private void createLogFile(String fileName) throws FileNotFoundException, IOException {
-		File logFile = getFileRelativeToBaseDir(fileName);
-		
-		//this stream is closed in the finally block of run(list)
-		out = new PrintStream(new FileOutputStream(logFile));
-		err = out;
-		logMessage(getCurrentProject(), MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Using_{0}_file_as_build_log._1"), new String[]{logFile.getCanonicalPath()}), Project.MSG_INFO); //$NON-NLS-1$
-		if (buildLogger != null) {
-			buildLogger.setErrorPrintStream(err);
-			buildLogger.setOutputPrintStream(out);
-		}
-	}
-
-	private File getFileRelativeToBaseDir(String fileName) {
-		File parentFile= null;
-		
-		String base= getCurrentProject().getUserProperty("basedir"); //$NON-NLS-1$
-		if (base != null) {
-			parentFile= new File(base);
-		} else {
-			//relative to the build file location
-			parentFile= new File(getBuildFileLocation()).getParentFile();
-		}
-		
-		return FileUtils.newFileUtils().resolveFile(parentFile, fileName);
-	}
-
-	/*
-	 * Processes cmd line properties and adds the user properties
-	 * Any user properties that have been explicitly set are set as well.
-	 * Ensures that -D properties take precedence.
-	 */
-	private boolean processProperties(List commands) {
-        boolean exceptionToBeThrown= false;
-		//MULTIPLE property files are allowed
-		String arg= getArgument(commands, "-propertyfile"); //$NON-NLS-1$
-		while (arg != null) {
-			if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
-				fEarlyErrorMessage= RemoteAntMessages.getString("InternalAntRunner.Specifying_property_files_is_a_Ant_1.5.*_feature._Please_update_your_Ant_classpath._6"); //$NON-NLS-1$
-				break;
-			}
-			if (arg.length() == 0) {
-                fEarlyErrorMessage= RemoteAntMessages.getString("InternalAntRunner.You_must_specify_a_property_filename_when_using_the_-propertyfile_argument_3"); //$NON-NLS-1$
-                exceptionToBeThrown= true;
-                break;
-			} 
-			
-			propertyFiles.add(arg);
-			arg= getArgument(commands, "-propertyfile"); //$NON-NLS-1$
-		}
-        
-        if (propertyFiles != null && !propertyFiles.isEmpty()) {
-            loadPropertyFiles();
-        }
-        
-        if (commands != null) {
-            processMinusDProperties(commands);
-        }
-        return exceptionToBeThrown;
-	}
-
-	private void processMinusDProperties(List commands) {
-		String[] args = (String[]) commands.toArray(new String[commands.size()]);
-		for (int i = 0; i < args.length; i++) {
-			String arg = args[i];
-			if (arg.startsWith("-D")) { //$NON-NLS-1$
-				String name = arg.substring(2, arg.length());
-				String value = null;
-				int posEq = name.indexOf("="); //$NON-NLS-1$
-				if (posEq == 0) {
-					value= name.substring(1);
-					name= ""; //$NON-NLS-1$
-				} else if (posEq > 0 && posEq != name.length() - 1) {
-					value = name.substring(posEq + 1).trim();
-					name = name.substring(0, posEq);
-				}
-				
-				if (value == null) {
-					//the user has specified something like "-Debug"
-					continue;
-				}
-				if (userProperties == null) {
-					userProperties= new HashMap();
-				}
-				userProperties.put(name, value);
-				commands.remove(args[i]);
-			}
-		}
-	}
-	
-	private void setProperties(Project project) {
-		setBuiltInProperties(project);
-		if (userProperties != null) {
-			for (Iterator iterator = userProperties.entrySet().iterator(); iterator.hasNext();) {
-				Map.Entry entry = (Map.Entry) iterator.next();
-				project.setUserProperty((String) entry.getKey(), (String) entry.getValue());
-			}
-		} 
-	}
-
-	private void setBuiltInProperties(Project project) {
-		project.setUserProperty("ant.file", getBuildFileLocation()); //$NON-NLS-1$
-		project.setUserProperty("ant.version", Main.getAntVersion()); //$NON-NLS-1$
-	}
-
-	/*
-	 * Print the project description, if any
-	 */
-	private void printHelp(Project project) {
-		if (project.getDescription() != null) {
-			logMessage(project, project.getDescription(), Project.MSG_INFO);
-		}
-		printTargets(project);
-	}
-
-	/*
-	 * Logs a message with the client indicating the version of <b>Ant</b> that this class
-	 * fronts.
-	 */
-	private void printVersion() {
-		logMessage(getCurrentProject(), Main.getAntVersion(), Project.MSG_INFO);
-	}
-
-	/*
-	 * Logs a message with the client outlining the usage of <b>Ant</b>.
-	 */
-	private void printUsage() {
-		String lSep = System.getProperty("line.separator"); //$NON-NLS-1$
-		StringBuffer msg = new StringBuffer();
-		msg.append("ant ["); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.options_13")); //$NON-NLS-1$
-		msg.append("] ["); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.target_15")); //$NON-NLS-1$
-		msg.append(" ["); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.target_15")); //$NON-NLS-1$
-		msg.append("2 ["); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.target_15")); //$NON-NLS-1$
-		msg.append("3] ...]]"); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.Options___21")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-help, -h\t\t\t\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.print_this_message_23")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-projecthelp, -p\t\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.print_project_help_information_25")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-version\t\t\t\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.print_the_version_information_and_exit_27")); //$NON-NLS-1$
-		msg.append(lSep); 
-		msg.append("\t-diagnostics\t\t\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.12")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.13")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-quiet, -q\t\t\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.be_extra_quiet_29")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-verbose, -v\t\t\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.be_extra_verbose_31")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-debug, -d\t\t\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.print_debugging_information_33")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-emacs, -e\t\t\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.produce_logging_information_without_adornments_35")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-logfile\t<file>\t\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.use_given_file_for_log_37")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t\t-l\t<file>"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.1")); //$NON-NLS-1$ //$NON-NLS-2$
-		msg.append(lSep);  
-		msg.append("\t-logger <classname>\t\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.the_class_which_is_to_perform_logging_39")); //$NON-NLS-1$
-		msg.append(lSep);  
-		msg.append("\t-listener <classname>\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.add_an_instance_of_class_as_a_project_listener_41")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-noinput\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.158")); //$NON-NLS-1$
-		msg.append(lSep); 
-		msg.append("\t-buildfile\t<file>\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.use_given_buildfile_43")); //$NON-NLS-1$
-		msg.append(lSep); 
-		msg.append("\t\t-file\t<file>"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.1")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t\t-f\t\t<file>"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.1")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-D<property>=<value>\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.use_value_for_given_property_45")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-keep-going, -k"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.159")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.160")); //$NON-NLS-1$
-		msg.append(lSep); 
-		msg.append("\t-propertyfile <name>\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.19")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.20")); //$NON-NLS-1$
-		msg.append(lSep);
-		msg.append("\t-inputhandler <class>\t"); //$NON-NLS-1$
-		msg.append(RemoteAntMessages.getString("InternalAntRunner.22")); //$NON-NLS-1$
-		msg.append(lSep);
-
-		logMessage(getCurrentProject(), msg.toString(), Project.MSG_INFO);
-	}
-
-	/*
-	 * From a command line list, return the argument for the given parameter.
-	 * The parameter and its argument are removed from the list.
-	 * 
-	 * @return <code>null</code> if the parameter is not found 
-	 * 			or an empty String if no arguments are found
-	 */
-	private String getArgument(List commands, String param) {
-		if (commands == null) {
-			return null;
-		}
-		int index = commands.indexOf(param);
-		if (index == -1) {
-			return null;
-		}
-		commands.remove(index);
-		if (index == commands.size()) {// if this is the last command
-			return ""; //$NON-NLS-1$
-		}
-		
-		String command = (String) commands.get(index);
-		if (command.startsWith("-")) { //new parameter //$NON-NLS-1$
-			return ""; //$NON-NLS-1$
-		}
-		
-		commands.remove(index);
-		return command;
-	}
-
-	/*
-	 * Helper method to ensure an array is converted into an ArrayList.
-	 */
-	private static ArrayList getArrayList(String[] args) {
-		if (args == null) {
-			return null;
-		}
-		// We could be using Arrays.asList() here, but it does not specify
-		// what kind of list it will return. We need a list that
-		// implements the method List.remove(Object) and ArrayList does.
-		ArrayList result = new ArrayList(args.length);
-		for (int i = 0; i < args.length; i++) {
-			result.add(args[i]);
-		}
-		return result;
-	}
-
-	private Project getCurrentProject() {
-		return currentProject;
-	}
-
-	private void setCurrentProject(Project currentProject) {
-		this.currentProject = currentProject;
-	}
-	
-	/**
-	 * Load all properties from the files 
-	 * specified by -propertyfile.
-	 */
-	private void loadPropertyFiles() {
-		Iterator itr= propertyFiles.iterator();
-        while (itr.hasNext()) {
-            String filename= (String) itr.next();
-           	File file= getFileRelativeToBaseDir(filename);
-            Properties props = new Properties();
-            FileInputStream fis = null;
-            try {
-                fis = new FileInputStream(file);
-                props.load(fis);
-            } catch (IOException e) {
-            	fEarlyErrorMessage= MessageFormat.format(RemoteAntMessages.getString("InternalAntRunner.Could_not_load_property_file_{0}__{1}_4"), new String[]{filename, e.getMessage()}); //$NON-NLS-1$
-            } finally {
-                if (fis != null) {
-                    try {
-                        fis.close();
-                    } catch (IOException e){
-                    }
-                }
-            }
-
-            if (userProperties == null) {
-            	userProperties= new HashMap();
-            }
-            Enumeration propertyNames = props.propertyNames();
-            while (propertyNames.hasMoreElements()) {
-                String name = (String) propertyNames.nextElement();
-                //most specific to global
-                //do not overwrite specific with a global property
-                if (userProperties.get(name) == null) {
-            		userProperties.put(name, props.getProperty(name));
-                }
-            }
-        }
-	}
-	
-	/*
-     * Creates the InputHandler and adds it to the project.
-     *
-     * @exception BuildException if a specified InputHandler
-     *                           implementation could not be loaded.
-     */
-    private void addInputHandler(Project project) {
-    	if (!isVersionCompatible("1.5")) { //$NON-NLS-1$
-			return;
-		}
-		InputHandlerSetter setter= new InputHandlerSetter();
-		setter.setInputHandler(project, inputHandlerClassname);
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/RemoteAntMessages.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/RemoteAntMessages.java
deleted file mode 100644
index ca5913c..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/RemoteAntMessages.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.ant.internal.ui.antsupport;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class RemoteAntMessages {
-
-	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.antsupport.RemoteAntMessages"; //$NON-NLS-1$
-
-	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
-	private RemoteAntMessages() {
-	}
-
-	public static String getString(String key) {
-		try {
-			return RESOURCE_BUNDLE.getString(key);
-		} catch (MissingResourceException e) {
-			return '!' + key + '!';
-		}
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/RemoteAntMessages.properties b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/RemoteAntMessages.properties
deleted file mode 100644
index 72d6e9b..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/RemoteAntMessages.properties
+++ /dev/null
@@ -1,85 +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
-###############################################################################
-
-InternalAntRunner.Build_file__{0}_1=Buildfile: {0}
-InternalAntRunner.Arguments__{0}_2=Arguments: {0}
-InternalAntRunner.Default_target__3=Default target:
-InternalAntRunner.Main_targets__4=Main targets:
-InternalAntRunner.Subtargets__5=Subtargets:
-InternalAntRunner.Unable_to_instantiate_logger__{0}_6=Unable to instantiate logger: {0}
-InternalAntRunner.Could_not_load_the_version_information._{0}_9=Could not load the version information. {0}
-InternalAntRunner.Could_not_load_the_version_information._10=Could not load the version information.
-InternalAntRunner.options_13=options
-InternalAntRunner.target_15=target
-InternalAntRunner.Options___21=Options: 
-InternalAntRunner.print_this_message_23=print this message
-InternalAntRunner.print_project_help_information_25=print project help information
-InternalAntRunner.print_the_version_information_and_exit_27=print the version information and exit
-InternalAntRunner.be_extra_quiet_29=be extra quiet
-InternalAntRunner.be_extra_verbose_31=be extra verbose
-InternalAntRunner.print_debugging_information_33=print debugging information
-InternalAntRunner.produce_logging_information_without_adornments_35=produce logging information without adornments
-InternalAntRunner.use_given_file_for_log_37=use given file for log
-InternalAntRunner.the_class_which_is_to_perform_logging_39=the class which is to perform logging
-InternalAntRunner.add_an_instance_of_class_as_a_project_listener_41=add an instance of class as a project listener
-InternalAntRunner.use_given_buildfile_43=use given buildfile
-InternalAntRunner.use_value_for_given_property_45=use value for given property
-InternalAntRunner.Using_{0}_file_as_build_log._1=Using {0} file as build log.
-InternalAntRunner.Could_not_write_to_the_specified_log_file__{0}._Make_sure_the_path_exists_and_you_have_write_permissions._2=Cannot write on the specified log file: {0}. Make sure the path exists and you have write permissions.
-InternalAntRunner.BUILD_SUCCESSFUL_1=BUILD SUCCESSFUL
-InternalAntRunner.Unknown_argument__{0}_2=Unknown argument: {0}
-InternalAntRunner.Buildfile__{0}_does_not_exist_!_1=Buildfile: {0} does not exist
-InternalAntRunner.{0}_which_was_specified_to_be_a_build_listener_is_not_an_instance_of_org.apache.tools.ant.BuildListener._1={0} which was specified to be a build listener is not an instance of org.apache.tools.ant.BuildListener.
-InternalAntRunner.{0}_which_was_specified_to_perform_logging_is_not_an_instance_of_org.apache.tools.ant.BuildLogger._2={0} which was specified to perform logging is not an instance of org.apache.tools.ant.BuildLogger.
-InternalAntRunner.You_must_specify_a_classname_when_using_the_-listener_argument_1=You must specify a classname when using the -listener argument
-InternalAntRunner.You_must_specify_a_log_file_when_using_the_-log_argument_3=You must specify a log file when using the -log argument
-InternalAntRunner.You_must_specify_a_buildfile_when_using_the_-buildfile_argument_4=You must specify a buildfile when using the -buildfile argument
-InternalAntRunner.12=print information that might be helpful to
-InternalAntRunner.13=\t\t\t\t\t\t\tdiagnose or report problems.
-InternalAntRunner.19=load all properties from file with -D
-InternalAntRunner.20=\t\t\t\t\t\t\tproperties taking precedence
-InternalAntRunner.22=the class which will handle input requests
-InternalAntRunner.1=\t\t\t\t\'\'
-InternalAntRunner.Only_one_logger_class_may_be_specified_1=Only one logger class may be specified
-InternalAntRunner.You_must_specify_a_classname_when_using_the_-inputhandler_argument_1=You must specify a classname when using the -inputhandler argument
-InternalAntRunner.Only_one_input_handler_class_may_be_specified._2=Only one input handler class may be specified.
-InternalAntRunner.You_must_specify_a_property_filename_when_using_the_-propertyfile_argument_3=You must specify a property filename when using the -propertyfile argument
-InternalAntRunner.Could_not_load_property_file_{0}__{1}_4=Could not load property file {0}: {1}
-InternalAntRunner.The_specified_input_handler_class_{0}_does_not_implement_the_org.apache.tools.ant.input.InputHandler_interface_5=The specified input handler class {0} does not implement the org.apache.tools.ant.input.InputHandler interface
-InternalAntRunner.Unable_to_instantiate_specified_input_handler_class_{0}___{1}_6=Unable to instantiate specified input handler class {0} : {1}
-InternalAntRunner.Specifying_an_InputHandler_is_an_Ant_1.5.*_feature._Please_update_your_Ant_classpath_to_include_an_Ant_version_greater_than_this._2=Specifying an InputHandler is an Ant 1.5.* feature. Please update your Ant classpath to include an Ant version greater than this.
-InternalAntRunner.The_diagnositics_options_is_an_Ant_1.5.*_feature._Please_update_your_Ant_classpath_to_include_an_Ant_version_greater_than_this._4=The diagnositics options is an Ant 1.5.* feature. Please update your Ant classpath to include an Ant version greater than this.
-InternalAntRunner.Specifying_property_files_is_a_Ant_1.5.*_feature._Please_update_your_Ant_classpath._6=Specifying property files is a Ant 1.5.* feature. Please update your Ant classpath to include an Ant version greater than this.
-InternalAntRunner.Default_target_{0}{1}{2}_does_not_exist_in_this_project_1=Default target {0}{1}{2} does not exist in this project
-InternalAntRunner.ANT_HOME_must_be_set_to_use_Ant_diagnostics_2=ANT_HOME must be set to use Ant diagnostics
-InternalAntRunner.Buildfile__{0}_is_not_a_file_1=Buildfile: {0} is not a file
-InternalAntRunner.-find_not_supported=-find not supported.\nCan be emulated using Run As > Ant Build located\nin the Run > External Tools menu
-InternalAntRunner.157=-lib not supported\nConfigure the Ant runtime classpath using either the\nglobal Ant runtime classpath or the Ant runtime classpath\n for this particular build
-InternalAntRunner.158=\t\t\tdo not allow interactive input
-InternalAntRunner.159=\t\texecute all targets that do not depend
-InternalAntRunner.160=\t\t\t\t\t\ton failed target(s)
-InternalAntRunner.161=Class {0} not found for task {1}
-InternalAntRunner.162=Class {0} not found for type {1}
-
-RemoteAntBuildLogger.1=BUILD FAILED
-RemoteAntBuildLogger.Total_time=Total time: 
-RemoteAntBuildLogger._minutes_2=\ minutes
-RemoteAntBuildLogger._minute_3=\ minute
-RemoteAntBuildLogger._seconds_4=\ seconds
-RemoteAntBuildLogger._second_5=\ second
-RemoteAntBuildLogger._milliseconds_6=\ milliseconds
-
-SWTInputHandler.0=Unable to respond to input request as a result of the user specified -noinput command
-SWTInputHandler.1=Ant Input Request
-SWTInputHandler.2=Unable to respond to <input> request
-SWTInputHandler.3=Input does not match validargs attribute
-SWTInputHandler.4=OK
-SWTInputHandler.5=Cancel
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/ProxyInputHandler.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/ProxyInputHandler.java
deleted file mode 100644
index 27065da..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/ProxyInputHandler.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.antsupport.inputhandler;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.input.InputHandler;
-import org.apache.tools.ant.input.InputRequest;
-
-public class ProxyInputHandler implements InputHandler {
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.input.InputHandler#handleInput(org.apache.tools.ant.input.InputRequest)
-	 */
-	public void handleInput(InputRequest request) throws BuildException {
-		new SWTInputHandler().handleInput(request);
-	}
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/SWTInputHandler.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/SWTInputHandler.java
deleted file mode 100644
index aed29ee..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/inputhandler/SWTInputHandler.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the 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.ant.internal.ui.antsupport.inputhandler;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.input.DefaultInputHandler;
-import org.apache.tools.ant.input.InputRequest;
-import org.eclipse.ant.internal.ui.antsupport.RemoteAntMessages;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-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.Shell;
-import org.eclipse.swt.widgets.Text;
-
-public class SWTInputHandler extends DefaultInputHandler {
-	
-	private Text fText;
-	private Text fErrorMessageText;
-	private Button fOkButton;
-	private Shell fDialog;
-	private FontMetrics fFontMetrics;
-	protected InputRequest fRequest;
-    private boolean fFirstValidation= true;
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.input.InputHandler#handleInput(org.apache.tools.ant.input.InputRequest)
-	 */
-	public void handleInput(InputRequest request) throws BuildException {
-		if (System.getProperty("eclipse.ant.noInput") != null) { //$NON-NLS-1$
-			throw new BuildException(RemoteAntMessages.getString("SWTInputHandler.0")); //$NON-NLS-1$
-		}
-		fFirstValidation= true;
-		fRequest= request;
-		BuildException[] problem= new BuildException[1];
-		Runnable runnable= getHandleInputRunnable(problem);
-		Display.getDefault().syncExec(runnable);
-		if (problem[0] != null) {
-			throw problem[0];
-		}
-	}
-	
-	protected Runnable getHandleInputRunnable(final BuildException[] problem) {
-		return new Runnable() {
-			public void run() {
-				String prompt = getPrompt(fRequest);
-		       	String title= RemoteAntMessages.getString("SWTInputHandler.1"); //$NON-NLS-1$
-		       	boolean[] result = new boolean[1];
-				open(title, prompt, result);
-		
-				if (!result[0]) {
-					problem[0]= new BuildException(RemoteAntMessages.getString("SWTInputHandler.2")); //$NON-NLS-1$
-				}
-			}
-		};
-	}
-	
-	protected void open(String title, String prompt, boolean[] result) {
-		createDialog(title, prompt, result);
-		validateInput();
-		fDialog.open();
-
-		while (!fDialog.isDisposed()) {
-			if (!fDialog.getDisplay().readAndDispatch()) fDialog.getDisplay().sleep();
-		}
-		Display.getDefault().dispose();
-	}
-
-    private void createDialog(String title, String prompt, boolean[] result) {
-        Display display= Display.getDefault();
-		fDialog = new Shell(display, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-		initializeDialogUnits(fDialog);
-		fDialog.setLayout(new GridLayout());
-		
-		GridData gd= new GridData(SWT.FILL);
-		gd.horizontalSpan= 2;
-		fDialog.setLayoutData(gd);
-		fDialog.setText(title);
-		Label label= new Label(fDialog, SWT.WRAP);
-		label.setText(prompt);
-		GridData data = new GridData(GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_CENTER);
-        
-        data.widthHint = convertHorizontalDLUsToPixels(300); //from IDialogConstants.MINIMUM_MESSAGE_AREA_WIDTH
-        label.setLayoutData(data);
-        label.setFont(fDialog.getFont());
-        
-        fText = new Text(fDialog, SWT.SINGLE | SWT.BORDER);
-        fText.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL| GridData.HORIZONTAL_ALIGN_FILL));
-        fText.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                validateInput();
-            }
-        });
-		
-		fErrorMessageText = new Text(fDialog, SWT.READ_ONLY);
-        fErrorMessageText.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
-        fErrorMessageText.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
-        
-		createButtonBar(fDialog, result);
-		fDialog.pack();
-    }
-
-    protected void setErrorMessage(String errorMessage) {
-        fErrorMessageText.setText(errorMessage == null ? "" : errorMessage); //$NON-NLS-1$
-        fOkButton.setEnabled(errorMessage == null);
-        fErrorMessageText.getParent().update();
-    }
-    
-    protected void validateInput() {
-        String errorMessage = null;
-        fRequest.setInput(fText.getText());
-        if (!fRequest.isInputValid()) {
-            if (fFirstValidation) {
-                errorMessage= ""; //$NON-NLS-1$
-                fFirstValidation= false;
-            } else {
-                errorMessage= RemoteAntMessages.getString("SWTInputHandler.3"); //$NON-NLS-1$
-            } 
-       }
-       
-        setErrorMessage(errorMessage); 
-    }
-    
-    protected Control createButtonBar(Composite parent, boolean[] result) {
-        Composite composite = new Composite(parent, SWT.NONE);
-        GridLayout layout = new GridLayout();
-        layout.numColumns = 2; 
-        layout.makeColumnsEqualWidth = true;
-        composite.setLayout(layout);
-        GridData data = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_CENTER);
-        composite.setLayoutData(data);
-        composite.setFont(parent.getFont());
-       
-        createButtonsForButtonBar(composite, result);
-        return composite;
-    }
-    
-    protected void createButtonsForButtonBar(Composite parent, final boolean[] result) {
-    	fOkButton = new Button(parent, SWT.PUSH);
-		fOkButton.setText(RemoteAntMessages.getString("SWTInputHandler.4")); //$NON-NLS-1$
-		setButtonLayoutData(fOkButton);
-		
-		Button cancel = new Button(parent, SWT.PUSH);
-		cancel.setText(RemoteAntMessages.getString("SWTInputHandler.5")); //$NON-NLS-1$
-		Listener listener = new Listener() {
-			public void handleEvent(Event event) {
-				result[0] = event.widget == fOkButton;
-				fDialog.close();
-			}
-		};
-		setButtonLayoutData(cancel);
-		fOkButton.addListener(SWT.Selection, listener);
-		fDialog.setDefaultButton(fOkButton);
-		cancel.addListener(SWT.Selection, listener);
-        //do this here because setting the text will set enablement on the ok
-        // button
-        fText.setFocus();
-        //TODO default value from the input request which appears to not be currently possible 
-        //with the Ant implementation
-        //http://issues.apache.org/bugzilla/show_bug.cgi?id=28621
-        //if (value != null) {
-          //  text.setText(value);
-           // text.selectAll();
-        //}
-    }
-    
-    private void setButtonLayoutData(Button button) {
-		GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		int widthHint = convertHorizontalDLUsToPixels(61); //from IDialogConstants.BUTTON_WIDTH
-		Point minSize = button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		data.widthHint = Math.max(widthHint, minSize.x);
-		button.setLayoutData(data);
-	}
-
-	private int convertHorizontalDLUsToPixels(int dlus) {
-        // round to the nearest pixel
-        return (fFontMetrics.getAverageCharWidth() * dlus + 4 / 2) / 4;
-	}
-
-	protected void initializeDialogUnits(Control control) {
-        // Compute and store a font metric
-        GC gc = new GC(control);
-        gc.setFont(control.getFont());
-        fFontMetrics = gc.getFontMetrics();
-        gc.dispose();
-    }
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/MessageIds.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/MessageIds.java
deleted file mode 100644
index 1586a7b..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/MessageIds.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.eclipse.ant.internal.ui.antsupport.logger;
-
-/*******************************************************************************
- * Copyright (c) 2003, 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
- *******************************************************************************/
-
-public class MessageIds {
-
-	public final static String PROCESS_ID=   "processID"; //$NON-NLS-1$
-	public final static String BUILD_CANCELLED= "cancelled"; //$NON-NLS-1$
-	public final static String TASK= "task"; //$NON-NLS-1$
-}
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/RemoteAntBuildLogger.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/RemoteAntBuildLogger.java
deleted file mode 100644
index 62e0e83..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/RemoteAntBuildLogger.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.internal.ui.antsupport.logger;
-
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.net.Socket;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.DefaultLogger;
-import org.apache.tools.ant.Location;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.util.StringUtils;
-import org.eclipse.ant.internal.ui.antsupport.InternalAntRunner;
-import org.eclipse.ant.internal.ui.antsupport.RemoteAntMessages;
-
-/**
- * Parts adapted from org.eclipse.jdt.internal.junit.runner.RemoteTestRunner
- * A build logger that reports via a socket connection.
- * See MessageIds for more information about the protocol.
- */
-public class RemoteAntBuildLogger extends DefaultLogger {
-
-	/** Time of the start of the build */
-    private long fStartTime = System.currentTimeMillis();
-
-	/**
-	 * The client socket.
-	 */
-	private Socket fEventSocket;
-	/**
-	 * Print writer for sending messages
-	 */
-	private PrintWriter fWriter;
-	/**
-	 * Host to connect to, default is the localhost
-	 */
-	protected String fHost= ""; //$NON-NLS-1$
-	/**
-	 * Port to connect to.
-	 */
-	private int fEventPort= -1;
-    
-    private String fProcessId= null;
-	
-	/**
-	 * Is the debug mode enabled?
-	 */
-	protected boolean fDebugMode= false;	
-	
-	protected boolean fSentProcessId= false;
-	
-	private List fEventQueue;
-	
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.DefaultLogger#printMessage(java.lang.String, java.io.PrintStream, int)
-	 */
-	protected void printMessage(String message, PrintStream stream, int priority) {
-		marshalMessage(priority, message);
-	}
-	
-	/**
-	 * Connect to the remote Ant build listener.
-	 */
-	protected void connect() {
-		if (fDebugMode) {
-			System.out.println("RemoteAntBuildLogger: trying to connect" + fHost + ":" + fEventPort); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		
-		for (int i= 1; i < 5; i++) {
-			try{
-				fEventSocket= new Socket(fHost, fEventPort);
-				fWriter= new PrintWriter(fEventSocket.getOutputStream(), true);
-				return;
-			} catch(IOException e){
-			}
-			try {
-				Thread.sleep(500);
-			} catch(InterruptedException e) {
-			}
-		}
-		shutDown();
-	}
-
-	/**
-	 * Shutdown the connection to the remote build listener.
-	 */
-	protected void shutDown() {
-		if (fEventQueue != null) {
-			fEventQueue.clear();
-		}
-		if (fWriter != null) {
-			fWriter.close();
-			fWriter= null;
-		}
-		
-		try {
-			if (fEventSocket != null) {
-				fEventSocket.close();
-				fEventSocket= null;
-			}
-		} catch(IOException e) {
-		}
-	}
-
-	private void sendMessage(String msg) {
-		if (fWriter == null) {
-			return;
-		}
-		
-		fWriter.println(msg);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#buildFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildFinished(BuildEvent event) {
-		if (!fSentProcessId) {
-			establishConnection();
-		}
-		handleException(event);
-        printMessage( getTimeString(System.currentTimeMillis() - fStartTime), out, Project.MSG_INFO); 
-		shutDown();
-	}
-	
-	protected void handleException(BuildEvent event) {
-		Throwable exception = event.getException();
-		if (exception == null) {
-			return;
-		}
-        
-         StringBuffer message= new StringBuffer();
-         message.append(StringUtils.LINE_SEP);
-         message.append(RemoteAntMessages.getString("RemoteAntBuildLogger.1")); //$NON-NLS-1$
-         message.append(StringUtils.LINE_SEP);
-         if (Project.MSG_VERBOSE <= this.msgOutputLevel || !(exception instanceof BuildException)) {
-             message.append(StringUtils.getStackTrace(exception));
-         } else {
-             if (exception instanceof BuildException) {
-                 message.append(exception.toString()).append(StringUtils.LINE_SEP);
-             } else {
-                 message.append(exception.getMessage()).append(StringUtils.LINE_SEP);
-             }
-         }
-        message.append(StringUtils.LINE_SEP);
-		printMessage(message.toString(), out, Project.MSG_ERR);	
-	}
-	
-	private String getTimeString(long milliseconds) {
-		long seconds = milliseconds / 1000;
-		long minutes = seconds / 60;
-		seconds= seconds % 60;
-
-		StringBuffer result= new StringBuffer(RemoteAntMessages.getString("RemoteAntBuildLogger.Total_time")); //$NON-NLS-1$
-		if (minutes > 0) {
-			result.append(minutes);
-			if (minutes > 1) {
-				result.append(RemoteAntMessages.getString("RemoteAntBuildLogger._minutes_2")); //$NON-NLS-1$
-			} else {
-				result.append(RemoteAntMessages.getString("RemoteAntBuildLogger._minute_3")); //$NON-NLS-1$
-			}
-		}
-		if (seconds > 0) {
-			if (minutes > 0) {
-				result.append(' ');
-			}
-			result.append(seconds);
-	
-			if (seconds > 1) {
-				result.append(RemoteAntMessages.getString("RemoteAntBuildLogger._seconds_4")); //$NON-NLS-1$
-			} else {
-				result.append(RemoteAntMessages.getString("RemoteAntBuildLogger._second_5")); //$NON-NLS-1$
-			} 
-		}
-		if (seconds == 0 && minutes == 0) {
-			result.append(milliseconds);
-			result.append(RemoteAntMessages.getString("RemoteAntBuildLogger._milliseconds_6"));		 //$NON-NLS-1$
-		}
-		return result.toString();
-	}
-			
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetStarted(BuildEvent event) {
-		if (!fSentProcessId) {
-			establishConnection();
-		}
-
-		if (Project.MSG_INFO <= msgOutputLevel) {
-			String msg= event.getTarget().getName() + ":"; //$NON-NLS-1$
-			printMessage(msg, out, Project.MSG_INFO);
-        }
-	}
-
-	protected void establishConnection() {
-		if (fEventPort != -1) {
-			connect();
-		} else {
-			shutDown();
-			return;
-		}
-		
-		fSentProcessId= true;
-		StringBuffer message= new StringBuffer(MessageIds.PROCESS_ID);
-		message.append(fProcessId);
-		sendMessage(message.toString());
-		if (fEventQueue != null) {
-			for (Iterator iter = fEventQueue.iterator(); iter.hasNext();) {
-				processEvent((BuildEvent)iter.next());
-			}
-			fEventQueue= null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#messageLogged(org.apache.tools.ant.BuildEvent)
-	 */
-	public void messageLogged(BuildEvent event) {
-		if (event.getPriority() > msgOutputLevel && event.getPriority() != InternalAntRunner.MSG_PROJECT_HELP) {
-			return;
-		}
-		
-		if (!fSentProcessId) {
-			if (event.getPriority() == InternalAntRunner.MSG_PROJECT_HELP) {
-				if (Project.MSG_INFO > msgOutputLevel) {
-					return;
-				}
-				//no buildstarted or project started for project help option
-				establishConnection();
-				return;
-			}
-			if (fEventQueue == null){
-				fEventQueue= new ArrayList(10);
-			}
-			fEventQueue.add(event);
-			return;
-		}
-		
-		processEvent(event);
-	}
-
-	private void processEvent(BuildEvent event) {
-		if (event.getTask() != null & !emacsMode) {
-			try {
-				marshalTaskMessage(event);
-			} catch (IOException e) {
-			}
-		} else {
-			marshalMessage(event);
-		}
-	}
-	
-	private void marshalMessage(BuildEvent event) {
-		String eventMessage= event.getMessage().trim();
-		if (eventMessage.length() == 0) {
-			return;
-		}
-		marshalMessage(event.getPriority(), eventMessage);
-	}
-
-	protected void marshalMessage(int priority, String message) {
-		try {
-			BufferedReader r = new BufferedReader(new StringReader(message));
-			String line = r.readLine();
-			StringBuffer messageLine;
-			while (line != null) {
-				messageLine= new StringBuffer();
-				if (priority != -1) {
-					messageLine.append(priority);
-					messageLine.append(',');
-				}
-				messageLine.append(line);
-				sendMessage(messageLine.toString());
-				line = r.readLine();
-			}
-		} catch (IOException e) {
-		}
-	}
-
-	private void marshalTaskMessage(BuildEvent event) throws IOException {
-		String eventMessage= event.getMessage().trim();
-		if (eventMessage.length() == 0) {
-			return;
-		}
-		BufferedReader r = new BufferedReader(new StringReader(eventMessage));
-		String line = r.readLine();
-		StringBuffer message;
-		String taskName= event.getTask().getTaskName();
-		StringBuffer labelBuff= new StringBuffer();
-		labelBuff.append('[');
-		labelBuff.append(taskName);
-		labelBuff.append("] "); //$NON-NLS-1$
-		String label= labelBuff.toString();
-		Location location= event.getTask().getLocation();
-		int priority= event.getPriority();
-		while (line != null) {
-			message= new StringBuffer(MessageIds.TASK);
-			message.append(priority);
-			message.append(',');
-			message.append(taskName);
-			message.append(',');
-			line= (label + line).trim();
-			message.append(line.length());
-			message.append(',');
-			message.append(line);
-			message.append(',');
-			message.append(location);
-			sendMessage(message.toString());
-			line = r.readLine();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#buildStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void buildStarted(BuildEvent event) {
-		establishConnection();
-		super.buildStarted(event);
-	}
-    
-    public void configure(Map userProperties) {
-        String portProperty= (String) userProperties.remove("eclipse.connect.port"); //$NON-NLS-1$
-        
-        if (portProperty != null) {
-            fEventPort= Integer.parseInt(portProperty);
-        }
-        
-        fProcessId= (String) userProperties.remove("org.eclipse.ant.core.ANT_PROCESS_ID"); //$NON-NLS-1$
-    } 
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/debug/RemoteAntBreakpoint.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/debug/RemoteAntBreakpoint.java
deleted file mode 100644
index d0ad1ed..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/debug/RemoteAntBreakpoint.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.ant.internal.ui.antsupport.logger.debug;
-
-import java.io.File;
-import org.eclipse.ant.internal.ui.antsupport.logger.util.DebugMessageIds;
-
-public class RemoteAntBreakpoint {
-	
-    private File fFile;
-	private int fLineNumber;
-	private String fFileName;
-	
-	public RemoteAntBreakpoint(String breakpointRepresentation) {
-		String[] data= breakpointRepresentation.split(DebugMessageIds.MESSAGE_DELIMITER);
-		String fileName= data[1];
-		String lineNumber= data[2];
-		fFileName= fileName;
-		fFile= new File(fileName);
-		fLineNumber= Integer.parseInt(lineNumber);
-	}
-
-	public boolean isAt(String fileName, int lineNumber) {
-		return fLineNumber == lineNumber && fileName != null && fFile.equals(new File(fileName));
-	}
-	
-	public String toMarshallString() {
-		StringBuffer buffer= new StringBuffer(DebugMessageIds.BREAKPOINT);
-		buffer.append(DebugMessageIds.MESSAGE_DELIMITER);
-		buffer.append(fFileName);
-		buffer.append(DebugMessageIds.MESSAGE_DELIMITER);
-		buffer.append(fLineNumber);
-		return buffer.toString();
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (!(obj instanceof RemoteAntBreakpoint)) {
-			return false;
-		}
-		RemoteAntBreakpoint other= (RemoteAntBreakpoint) obj;
-		return other.getLineNumber() == fLineNumber && other.getFile().equals(fFile);
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return fFileName.hashCode() + fLineNumber;
-	}
-	
-	public int getLineNumber() {
-		return fLineNumber;
-	}
-
-	public String getFileName() {
-		return fFileName;
-	}
-	
-	public File getFile() {
-	    return fFile;
-	}
-}
diff --git a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/debug/RemoteAntDebugBuildLogger.java b/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/debug/RemoteAntDebugBuildLogger.java
deleted file mode 100644
index c9deefe..0000000
--- a/ant/org.eclipse.ant.ui/Remote Ant Support/org/eclipse/ant/internal/ui/antsupport/logger/debug/RemoteAntDebugBuildLogger.java
+++ /dev/null
@@ -1,379 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.ant.internal.ui.antsupport.logger.debug;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
-import java.util.Vector;
-
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.Location;
-import org.apache.tools.ant.Target;
-import org.apache.tools.ant.Task;
-import org.eclipse.ant.internal.ui.antsupport.logger.RemoteAntBuildLogger;
-import org.eclipse.ant.internal.ui.antsupport.logger.util.AntDebugUtil;
-import org.eclipse.ant.internal.ui.antsupport.logger.util.DebugMessageIds;
-
-/**
- * Parts adapted from org.eclipse.jdt.internal.junit.runner.RemoteTestRunner
- * A build logger that reports via a socket connection.
- * See DebugMessageIds and MessageIds for more information about the protocol.
- */
-public class RemoteAntDebugBuildLogger extends RemoteAntBuildLogger {
-	
-	private ServerSocket fServerSocket;
-	private Socket fRequestSocket;
-	
-	private PrintWriter fRequestWriter;
-	
-	private BufferedReader fRequestReader;
-	
-	protected boolean fStepIntoSuspend= false;
-	
-	protected boolean fClientSuspend= false;
-	
-	protected boolean fBuildStartedSuspend= false;
-	
-	private Stack fTasks= new Stack();
-	private Task fCurrentTask;
-	private Task fStepOverTask;
-	private Task fStepOverTaskInterrupted;
-	private Task fStepIntoTask;
-	private Task fLastTaskFinished;
-	
-	private List fBreakpoints= null;
-    
-     private Map fTargetToBuildSequence= null;
-     private Target fTargetToExecute= null;
-     private Target fTargetExecuting= null;
-	
-	//properties set before execution
-	private Map fInitialProperties= null;
-	private Map fProperties= null;
-	
-	/**
-	 * Request port to connect to.
-	 * Used for debug connections
-	 */
-	protected int fRequestPort= -1;
-
-	/**
-	 * Reader thread that processes requests from the debug client.
-	 */
-	private class ReaderThread extends Thread {
-		public ReaderThread() {
-			super("ReaderThread"); //$NON-NLS-1$
-			setDaemon(true);
-		}
-
-		public void run(){
-			try { 
-				String message= null; 
-				while (fRequestReader != null) { 
-					if ((message= fRequestReader.readLine()) != null) {
-						
-						if (message.startsWith(DebugMessageIds.STEP_INTO)){
-							synchronized(RemoteAntDebugBuildLogger.this) {
-							    fStepIntoSuspend= true;
-							    fStepIntoTask= fCurrentTask;
-								RemoteAntDebugBuildLogger.this.notifyAll();
-							}
-						} if (message.startsWith(DebugMessageIds.STEP_OVER)){
-							synchronized(RemoteAntDebugBuildLogger.this) {
-								fStepOverTask= fCurrentTask;
-								RemoteAntDebugBuildLogger.this.notifyAll();
-							}
-						} else if (message.startsWith(DebugMessageIds.SUSPEND)) {
-							synchronized(RemoteAntDebugBuildLogger.this) {
-								fStepIntoTask= null;
-								fStepOverTask= null;
-								fStepOverTaskInterrupted= null;
-								fClientSuspend= true;
-							}
-						} else if (message.startsWith(DebugMessageIds.RESUME)) {
-							synchronized(RemoteAntDebugBuildLogger.this) {
-								fStepIntoTask= null;
-								fStepOverTask= null;
-								fStepOverTaskInterrupted= null;
-								RemoteAntDebugBuildLogger.this.notifyAll();
-							}
-						} else if (message.startsWith(DebugMessageIds.TERMINATE)) {
-						    sendRequestResponse(DebugMessageIds.TERMINATED);
-							shutDown();
-						} else if (message.startsWith(DebugMessageIds.STACK)) {
-							marshallStack();
-						} else if (message.startsWith(DebugMessageIds.ADD_BREAKPOINT)) {
-							addBreakpoint(message);
-						} else if (message.startsWith(DebugMessageIds.REMOVE_BREAKPOINT)) {
-							removeBreakpoint(message);
-						}  else if (message.startsWith(DebugMessageIds.PROPERTIES)) {
-							marshallProperties();
-						}
-					}
-				} 
-			} catch (Exception e) {
-				RemoteAntDebugBuildLogger.this.shutDown();
-			}
-		}
-	}
-	
-	private void requestConnect() {
-		if (fDebugMode) {
-			System.out.println("RemoteAntDebugBuildLogger: trying to connect" + fHost + ":" + fRequestPort); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		
-		try{
-			fRequestSocket= fServerSocket.accept();
-			fRequestWriter= new PrintWriter(fRequestSocket.getOutputStream(), true);
-			fRequestReader = new BufferedReader(new InputStreamReader(fRequestSocket.getInputStream()));
-			
-			ReaderThread readerThread= new ReaderThread();
-			readerThread.setDaemon(true);
-			readerThread.start();
-			return;
-		} catch(IOException e){
-		}
-		
-		shutDown();
-		//throw new BUildExection()
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ant.internal.ui.antsupport.logger.RemoteAntBuildLogger#shutDown()
-	 */
-	protected void shutDown() {
-		if (fRequestWriter != null) {
-			fRequestWriter.close();
-			fRequestWriter= null;
-		}
-		
-		if (fRequestReader != null) {
-			try {
-				fRequestReader.close();
-			} catch (IOException e) {
-			}
-			fRequestReader= null;
-		}
-		
-		if (fRequestSocket != null) {
-			try {
-				fRequestSocket.close();	
-			} catch(IOException e) {
-			}
-		}
-		fRequestSocket= null;
-		
-		super.shutDown();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#buildStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public synchronized void buildStarted(BuildEvent event) {
-		super.buildStarted(event);
-		marshalMessage(-1, DebugMessageIds.BUILD_STARTED);
-		if (fRequestPort != -1) {
-			try {
-				fServerSocket= new ServerSocket(fRequestPort);
-			} catch (IOException ioe) {
-				//throw new buildexection();
-				shutDown();
-			}
-			requestConnect();
-		} else {
-			shutDown();
-		}
-		fBuildStartedSuspend= true;
-		waitIfSuspended();
-	}
-    
-     private void initializeBuildSequenceInformation(BuildEvent event) {
-         fTargetToBuildSequence= new HashMap();
-         fTargetToExecute= AntDebugUtil.initializeBuildSequenceInformation(event, fTargetToBuildSequence);
-     }
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#taskStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskStarted(BuildEvent event) {
-		if (fInitialProperties == null) {//implicit or top level target does not fire targetStarted()
-			fInitialProperties= event.getProject().getProperties();
-		}
-		super.taskStarted(event);
-		fCurrentTask= event.getTask();
-		fTasks.push(fCurrentTask);
-		waitIfSuspended();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#taskFinished(org.apache.tools.ant.BuildEvent)
-	 */
-	public void taskFinished(BuildEvent event) {
-		super.taskFinished(event);
-		fLastTaskFinished= (Task)fTasks.pop();
-		fCurrentTask= null;
-		waitIfSuspended();
-	}
-	
-	private synchronized void waitIfSuspended() {
-	    if (fCurrentTask != null) {
-	        String detail= null;
-	        boolean shouldSuspend= true;
-	        RemoteAntBreakpoint breakpoint= breakpointAtLineNumber(fCurrentTask.getLocation());
-	        if (breakpoint != null) {
-	            detail= breakpoint.toMarshallString();
-	            if (fStepOverTask != null) {
-	            	fStepOverTaskInterrupted= fStepOverTask;
-	            	fStepOverTask= null;
-	            }
-	        } else if (fStepIntoSuspend) {
-	            detail= DebugMessageIds.STEP;
-	            fStepIntoSuspend= false;
-	        } else if (fLastTaskFinished != null && fLastTaskFinished == fStepOverTask) {
-	        	//suspend as a step over has finished
-	        	detail= DebugMessageIds.STEP;
-	        	fStepOverTask= null;
-	        } else if (fLastTaskFinished != null && fLastTaskFinished == fStepIntoTask) {
-	        	//suspend as a task that was stepped into has finally completed
-	        	 detail= DebugMessageIds.STEP;
-	        	 fStepIntoTask= null;
-	        } else if (fLastTaskFinished != null && fLastTaskFinished == fStepOverTaskInterrupted) {
-	        	//suspend as a task that was stepped over but hit a breakpoint has finally completed
-	        	 detail= DebugMessageIds.STEP;
-	        	 fStepOverTaskInterrupted= null;
-	        } else if (fClientSuspend) {
-	            detail= DebugMessageIds.CLIENT_REQUEST;
-	            fClientSuspend= false;
-	        } else {
-	            shouldSuspend= false;
-	        }
-	        if (shouldSuspend) {
-	            StringBuffer message= new StringBuffer(DebugMessageIds.SUSPENDED);
-	            message.append(detail);
-	            sendRequestResponse(message.toString());
-	            try {
-	                wait();
-	            } catch (InterruptedException e) {
-	            }
-	        }
-	    } else if (fBuildStartedSuspend) {
-	        try {
-	            fBuildStartedSuspend= false;
-	            wait();
-	        } catch (InterruptedException e) {
-	        }
-	    }
-	}
-
-	private RemoteAntBreakpoint breakpointAtLineNumber(Location location) {
-		if (fBreakpoints == null) {
-			return null;
-		}
-		String fileName= AntDebugUtil.getFileName(location);
-		int lineNumber= AntDebugUtil.getLineNumber(location);
-		for (int i = 0; i < fBreakpoints.size(); i++) {
-			RemoteAntBreakpoint breakpoint = (RemoteAntBreakpoint) fBreakpoints.get(i);
-			if (breakpoint.isAt(fileName, lineNumber)) {
-				return breakpoint;
-			}
-		}
-		return null;
-	}
-
-	private void sendRequestResponse(String message) {
-		if (fRequestWriter == null) {
-			return;
-		}
-		
-		fRequestWriter.println(message);
-	}
-	
-	protected void marshallStack() {
-	    StringBuffer stackRepresentation= new StringBuffer();
-	    AntDebugUtil.marshalStack(stackRepresentation, fTasks, fTargetToExecute, fTargetExecuting, fTargetToBuildSequence);
-	    sendRequestResponse(stackRepresentation.toString());
-	}
-	
-	protected void marshallProperties() {
-	    StringBuffer propertiesRepresentation= new StringBuffer();
-        if (!fTasks.isEmpty()) {
-            AntDebugUtil.marshallProperties(propertiesRepresentation, ((Task)fTasks.peek()).getProject(), fInitialProperties, fProperties, false);
-            fProperties= ((Task)fTasks.peek()).getProject().getProperties();
-        }
-	    sendRequestResponse(propertiesRepresentation.toString());
-	}
-	
-	protected void addBreakpoint(String breakpointRepresentation) {
-		if (fBreakpoints == null) {
-			fBreakpoints= new ArrayList();
-		}
-		RemoteAntBreakpoint newBreakpoint= new RemoteAntBreakpoint(breakpointRepresentation);
-		if (!fBreakpoints.contains(newBreakpoint)) {
-			fBreakpoints.add(newBreakpoint);	
-		}
-	}
-	
-	protected void removeBreakpoint(String breakpointRepresentation) {
-		if (fBreakpoints == null) {
-			return;
-		} 
-		RemoteAntBreakpoint equivalentBreakpoint= new RemoteAntBreakpoint(breakpointRepresentation);
-		for (Iterator iter = fBreakpoints.iterator(); iter.hasNext(); ) {
-			RemoteAntBreakpoint breakpoint = (RemoteAntBreakpoint) iter.next();
-			if (breakpoint.equals(equivalentBreakpoint)) {
-				iter.remove();
-				return;
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.apache.tools.ant.BuildListener#targetStarted(org.apache.tools.ant.BuildEvent)
-	 */
-	public void targetStarted(BuildEvent event) {
-		if (fInitialProperties == null) {
-			fInitialProperties= event.getProject().getProperties();
-		}
-		if (fTargetToBuildSequence == null) {
-			initializeBuildSequenceInformation(event);
-		}
-		super.targetStarted(event);
-		fTargetExecuting= event.getTarget();
-		if (event.getTarget().equals(fTargetToExecute)) {
-		    //the dependancies of the target to execute have been met
-		    //prepare for the next target
-		    Vector targets= (Vector) event.getProject().getReference("eclipse.ant.targetVector"); //$NON-NLS-1$
-		    if (!targets.isEmpty()) {
-		        fTargetToExecute= (Target) event.getProject().getTargets().get(targets.remove(0));
-		    } else {
-		        fTargetToExecute= null;
-            }
-		}
-	}
-    
-    public void configure(Map userProperties) {
-       super.configure(userProperties);
-       String requestPortProperty= (String) userProperties.remove("eclipse.connect.request_port"); //$NON-NLS-1$
-        if (requestPortProperty != null) {
-            fRequestPort= Integer.parseInt(requestPortProperty);
-        }
-    } 
-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/about.html b/ant/org.eclipse.ant.ui/about.html
deleted file mode 100644
index 5ad15d7..0000000
--- a/ant/org.eclipse.ant.ui/about.html
+++ /dev/null
@@ -1,50 +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>22nd March, 2004</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>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as follows:</p>
-
-<p><b>Ant 1.6.1</b></p>
-<p>The plug-in is based on software developed by The Apache Software Foundation as part of the Ant project.</p>
-
-<p>The following classes (&quot;Ant-Derived Work&quot;) are based on Ant code:</p>
-
-<ul>
-	<li>org.eclipse.ant.internal.ui.antsupport.InternalAntRunner contained in remoteAnt.jar and remoteAntsrc.zip</li>
-	<li>org.eclipse.ant.internal.ui.editor.utils.ProjectHelper contained in antui.jar and antuisrc.zip </li>
-</ul>
-
-<p>Your use of the Ant-Derived Work is subject to the terms and conditions of the Apache Software License 2.0.  A copy of the license is contained
-in the file <a href="asl-v20.txt">asl-v20.txt</a> and is also available at <a href="http://www.apache.org/licenses/LICENSE-2.0.html">http://www.apache.org/licenses/LICENSE-2.0.html</a>.
-
-<p>The names &quot;Ant&quot; and  &quot;Apache Software Foundation&quot; must not be used to endorse or promote products derived from this 
-software without prior written permission.  For written permission, please contact <a href="mailto:apache@apache.org">apache@apache.org</a>.</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/ant/org.eclipse.ant.ui/asl-v20.txt b/ant/org.eclipse.ant.ui/asl-v20.txt
deleted file mode 100644
index d645695..0000000
--- a/ant/org.eclipse.ant.ui/asl-v20.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/ant/org.eclipse.ant.ui/build.properties b/ant/org.eclipse.ant.ui/build.properties
deleted file mode 100644
index 0577090..0000000
--- a/ant/org.eclipse.ant.ui/build.properties
+++ /dev/null
@@ -1,35 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the 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.antui.jar = Ant Tools Support/,\
-                   Ant Editor/
-
-source.lib/antrunner.jar = Ant Runner Support/,\
-                           Common Ant Support/
-
-source.lib/remoteAnt.jar = Remote Ant Support/,\
-                           Common Ant Support/
-
-src.includes=about.html
-
-bin.includes = icons/,\
-		plugin.properties,\
-		plugin.xml,\
-		about.html,\
-		templates/,\
-		*.jar,\
-		lib/*.jar
-				
-jars.compile.order=antui.jar,lib/antrunner.jar,lib/remoteAnt.jar
-jars.extra.classpath=../org.apache.ant/lib/ant.jar
-output.lib/antrunner.jar = ant_runner_support_bin/,\
-                           common_ant_support_bin/
-output.lib/remoteAnt.jar = common_ant_support_bin/,\
-                           remote_support_bin/
diff --git a/ant/org.eclipse.ant.ui/buildfiles/buildExtraJAR.xml b/ant/org.eclipse.ant.ui/buildfiles/buildExtraJAR.xml
deleted file mode 100644
index 3881185..0000000
--- a/ant/org.eclipse.ant.ui/buildfiles/buildExtraJAR.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="Build AntUI Ant support JAR" default="build" basedir="..">
-
-	<target name="build" description="Cleans, builds and refreshes" depends="clean, lib/antrunnerlib.jar"/>
-
-	<target name="init" depends="properties">
-		<property name="version.suffix" value="_3.1.0"/>
-		<property name="bootclasspath" value=""/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="build.result.folder" value="${basedir}"/>
-		<property name="win32.jar" value="${eclipse.home}/plugins/org.eclipse.swt.win32${version.suffix}/ws/win32/swt.jar"/>
-		<property name="gtk.jar" value="${eclipse.home}/plugins/org.eclipse.swt.gtk${version.suffix}/ws/gtk/swt.jar"/>
-		<property name="motif.jar" value="${eclipse.home}/plugins/org.eclipse.swt.motif${version.suffix}/ws/motif/swt.jar"/>
-		<property name="osx.jar" value="${eclipse.home}/plugins/org.eclipse.swt.carbon${version.suffix}/ws/carbon/swt.jar"/>
-		<available file="${win32.jar}" property="swt.jar" value="${win32.jar}"/>
-		<available file="${gtk.jar}" property="swt.jar" value="${gtk.jar}"/>
-		<available file="${motif.jar}" property="swt.jar" value="${motif.jar}"/>
-		<available file="${osx.jar}" property="swt.jar" value="${osx.jar}"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-	
-	<target name="lib/antrunnerlib.jar" description= "Creates the antrunner.jar" depends="init">
-		<property name="destdir" value="${temp.folder}/lib/antrunner.jar.bin"/>
-		<delete dir="${temp.folder}/lib/antrunner.jar.bin"/>
-		<mkdir dir="${temp.folder}/lib/antrunner.jar.bin"/>
-		<!-- compile the source code -->
-		<javac target="1.3" source="1.3" destdir="${temp.folder}/lib/antrunner.jar.bin" failonerror="true" verbose="false" debug="on" includeJavaRuntime= "yes" includeAntRuntime="yes"
-			 	bootclasspath="${bootclasspath}" 
-			 	classpath="${basedir}/../org.eclipse.core.runtime/bin;
-				 	${eclipse.home}/plugins/org.eclipse.core.runtime${version.suffix}/runtime.jar;
-			 		${basedir}/../org.eclipse.core.resources/bin;
-			 		${eclipse.home}/plugins/org.eclipse.core.resources${version.suffix}/resources.jar;
-			 		${basedir}/bin;
-					${basedir}/../org.eclipse.swt${version.suffix}/bin;
-			 		${swt.jar};
-					${basedir}/../org.eclipse.text/bin;
-					${eclipse.home}/plugins/org.eclipse.text${version.suffix}/text.jar;
-			 		${basedir}/../org.eclipse.ant.core/bin;
-			 		${eclipse.home}/plugins/org.eclipse.ant.core${version.suffix}/antsupport.jar;
-			 		${basedir}/../org.eclipse.debug.core/bin;
-			 		${eclipse.home}/plugins/org.eclipse.debug.core${version.suffix}/dtcore.jar;
-					${basedir}/../org.eclipse.ui.console/bin;
-					${eclipse.home}/plugins/org.eclipse.ui.console${version.suffix}/console.jar;
-			 		${basedir}/../org.eclipse.jface/bin;
-			 		${eclipse.home}/plugins/org.eclipse.jface${version.suffix}/jface.jar;
-					${basedir}/common_ant_support_bin">
-			<src path="Ant Runner Support/"/>
-		</javac>
-		<!-- copy necessary resources -->
-		<copy todir="${temp.folder}/lib/antrunner.jar.bin">
-			<fileset dir="Ant Runner Support/" excludes="**/*.java"/>
-			<fileset dir="${basedir}/common_ant_support_bin"/>
-		</copy>
-		<mkdir dir="${build.result.folder}/lib"/>
-		<jar destfile="${build.result.folder}/lib/antrunner.jar" basedir="${temp.folder}/lib/antrunner.jar.bin"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="clean" description="Deletes previous build remnants" depends="init">
-		<delete file="${build.result.folder}/lib/antrunner.jar"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.ui/buildfiles/buildRemoteExtraJAR.xml b/ant/org.eclipse.ant.ui/buildfiles/buildRemoteExtraJAR.xml
deleted file mode 100644
index ad56a4d..0000000
--- a/ant/org.eclipse.ant.ui/buildfiles/buildRemoteExtraJAR.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="Build AntUI Remote Ant support JAR" default="build" basedir="..">
-
-	<target name="build" description="Cleans, builds and refreshes" depends="clean, lib/remoteAntLib.jar"/>
-	
-	<target name="init" depends="properties">
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="build.result.folder" value="${basedir}"/>
-		<property name="version.suffix" value="_3.1.0"/>
-		<property name="win32.jar" value="${eclipse.home}/plugins/org.eclipse.swt.win32${version.suffix}/ws/win32/swt.jar"/>
-		<property name="gtk.jar" value="${eclipse.home}/plugins/org.eclipse.swt.gtk${version.suffix}/ws/gtk/swt.jar"/>
-		<property name="motif.jar" value="${eclipse.home}/plugins/org.eclipse.swt.motif${version.suffix}/ws/motif/swt.jar"/>
-		<property name="osx.jar" value="${eclipse.home}/plugins/org.eclipse.swt.carbon${version.suffix}/ws/carbon/swt.jar"/>
-		<available file="${win32.jar}" property="swt.jar" value="${win32.jar}"/>
-		<available file="${gtk.jar}" property="swt.jar" value="${gtk.jar}"/>
-		<available file="${motif.jar}" property="swt.jar" value="${motif.jar}"/>
-		<available file="${osx.jar}" property="swt.jar" value="${osx.jar}"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-	
-	<target name="lib/remoteAntLib.jar" description= "Creates the remoteAnt.jar" depends="init">
-		<property name="destdir" value="${temp.folder}/lib/remoteAnt.jar.bin"/>
-		<delete dir="${temp.folder}/lib/remoteAnt.jar.bin"/>
-		<mkdir dir="${temp.folder}/lib/remoteAnt.jar.bin"/>
-		<!-- compile the source code -->
-		<javac target="1.1" destdir="${temp.folder}/lib/remoteAnt.jar.bin" failonerror="true" verbose="false" debug="on" includeJavaRuntime= "yes" includeAntRuntime="yes"
-			classpath="${basedir}/../org.eclipse.swt${version.suffix}/bin;
-									${swt.jar};
-			${basedir}/common_ant_support_bin">
-			<src path="Remote Ant Support/"/>
-		</javac>
-		<!-- copy necessary resources -->
-		<copy todir="${temp.folder}/lib/remoteAnt.jar.bin">
-			<fileset dir="Remote Ant Support/" excludes="**/*.java"/>
-			<fileset dir="${basedir}/common_ant_support_bin"/>
-		</copy>
-		<mkdir dir="${build.result.folder}/lib"/>
-		<jar destfile="${build.result.folder}/lib/remoteAnt.jar" basedir="${temp.folder}/lib/remoteAnt.jar.bin"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="clean" description="Deletes previous build remnants" depends="init">
-		<delete file="${build.result.folder}/lib/remoteAnt.jar"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-</project>
diff --git a/ant/org.eclipse.ant.ui/buildfiles/exportplugin.xml b/ant/org.eclipse.ant.ui/buildfiles/exportplugin.xml
deleted file mode 100644
index a15b9c9..0000000
--- a/ant/org.eclipse.ant.ui/buildfiles/exportplugin.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.ant.ui Eclipse plug-in
-     along with other important plugin files to the "plugin-export" subdirectory
-     of the target Eclipse installation -->
-<project name="Export antui" 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.ant.ui_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}" />
-		<delete dir="${dest}/lib"/>
-		<mkdir dir="${dest}/lib"/>
-		<jar destfile="${dest}/antui.jar">
-			<fileset dir="bin">
-				<exclude name="org/eclipse/ant/ui/internal/antsupport/*"/>
-				<exclude name="org/eclipse/ant/ui/internal/antsupport/inputhandler/*"/>
-				<exclude name="org/eclipse/ant/ui/internal/antsupport/logger/*"/>
-			</fileset>
-		</jar>
-		<!-- Create the source zip -->
-		<zip destfile="${dest}/antuisrc.zip">
-			<fileset dir="Ant Tools Support"/>
-			<fileset dir="Ant Runner Support"/>
-			<fileset dir="Ant Editor"/>
-		</zip>
-		<copy file="plugin.xml" todir="${dest}"/>
-		<copy file="plugin.properties" todir="${dest}"/>
-		<copy file=".classpath" todir="${dest}"/>
-		<copy file=".options" todir="${dest}"/>
-		<copy file="lib/antrunner.jar" todir="${dest}/lib"/>
-		<copy file="lib/remoteAnt.jar" todir="${dest}/lib"/>
-		<copy todir="${dest}/icons">
-			<fileset dir="icons" />
-		</copy>		
-	</target>
-	
-</project>
diff --git a/ant/org.eclipse.ant.ui/icons/dtool16/segment_edit.gif b/ant/org.eclipse.ant.ui/icons/dtool16/segment_edit.gif
deleted file mode 100644
index d3da0f0..0000000
--- a/ant/org.eclipse.ant.ui/icons/dtool16/segment_edit.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/etool16/segment_edit.gif b/ant/org.eclipse.ant.ui/icons/etool16/segment_edit.gif
deleted file mode 100644
index acc5fb6..0000000
--- a/ant/org.eclipse.ant.ui/icons/etool16/segment_edit.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/add_co.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/add_co.gif
deleted file mode 100644
index 0d92598..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/add_co.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/alpha_mode.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/alpha_mode.gif
deleted file mode 100644
index f1e318e..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/alpha_mode.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/ant_targets.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/ant_targets.gif
deleted file mode 100644
index b1cc2cf..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/ant_targets.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_imported_elements.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_imported_elements.gif
deleted file mode 100644
index aa71721..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_imported_elements.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_internal_targets.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_internal_targets.gif
deleted file mode 100644
index e7da81e..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_internal_targets.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_properties.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_properties.gif
deleted file mode 100644
index cd9ee84..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_properties.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_top_level.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_top_level.gif
deleted file mode 100644
index cc1ce15..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/filter_top_level.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/properties.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/properties.gif
deleted file mode 100644
index 0fbf9d0..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/properties.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/refresh.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/refresh.gif
deleted file mode 100644
index e4a1d38..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/remove_co.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/remove_co.gif
deleted file mode 100644
index 559e462..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/remove_co.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/removeall_co.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/removeall_co.gif
deleted file mode 100644
index ecd1be5..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/removeall_co.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/run_tool.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/run_tool.gif
deleted file mode 100644
index a252bf0..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/run_tool.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/search.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/search.gif
deleted file mode 100644
index f246a63..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/search.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/dlcl16/synced.gif b/ant/org.eclipse.ant.ui/icons/full/dlcl16/synced.gif
deleted file mode 100644
index 4f6e43a..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/dlcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/add_co.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/add_co.gif
deleted file mode 100644
index aa2eb88..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/add_co.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/alpha_mode.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/alpha_mode.gif
deleted file mode 100644
index 907d34f..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/alpha_mode.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/ant_targets.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/ant_targets.gif
deleted file mode 100644
index cdb0402..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/ant_targets.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_imported_elements.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_imported_elements.gif
deleted file mode 100644
index 097f8a9..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_imported_elements.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_internal_targets.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_internal_targets.gif
deleted file mode 100644
index ee7387c..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_internal_targets.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_properties.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_properties.gif
deleted file mode 100644
index 3f46cf0..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_properties.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_top_level.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_top_level.gif
deleted file mode 100644
index f58e082..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/filter_top_level.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/properties.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/properties.gif
deleted file mode 100644
index 6223cfc..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/properties.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/refresh.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/refresh.gif
deleted file mode 100644
index 3ca04d0..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/refresh.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/remove_co.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/remove_co.gif
deleted file mode 100644
index 2cd9c54..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/remove_co.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/removeall_co.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/removeall_co.gif
deleted file mode 100644
index 28a3785..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/removeall_co.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/run_tool.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/run_tool.gif
deleted file mode 100644
index 57f4102..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/run_tool.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/search.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/search.gif
deleted file mode 100644
index d540a01..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/search.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/elcl16/synced.gif b/ant/org.eclipse.ant.ui/icons/full/elcl16/synced.gif
deleted file mode 100644
index 870934b..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/elcl16/synced.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif b/ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif
deleted file mode 100644
index 68d9564..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/ant.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/ant.gif
deleted file mode 100644
index 2799542..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/ant.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/ant_buildfile.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/ant_buildfile.gif
deleted file mode 100644
index 6df3469..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/ant_buildfile.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/ant_target_err.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/ant_target_err.gif
deleted file mode 100644
index 0bc6068..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/ant_target_err.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/build_tab.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/build_tab.gif
deleted file mode 100644
index 4fcb208..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/build_tab.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/classpath.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/classpath.gif
deleted file mode 100644
index fbfc41a..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/classpath.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/defaulttarget_obj.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/defaulttarget_obj.gif
deleted file mode 100644
index fbcf2f8..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/defaulttarget_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/eclipse_obj.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/eclipse_obj.gif
deleted file mode 100644
index eb7b90c..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/eclipse_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/import_obj.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/import_obj.gif
deleted file mode 100644
index b0e9130..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/import_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/macrodef_obj.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/macrodef_obj.gif
deleted file mode 100644
index 1753b96..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/macrodef_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/main_tab.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/main_tab.gif
deleted file mode 100644
index 9b9f79a..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/main_tab.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/prop_ps.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/prop_ps.gif
deleted file mode 100644
index 6223cfc..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/prop_ps.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/property_obj.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/property_obj.gif
deleted file mode 100644
index f8277cf..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/property_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/targetinternal_obj.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/targetinternal_obj.gif
deleted file mode 100644
index da1a166..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/targetinternal_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/targetpublic_obj.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/targetpublic_obj.gif
deleted file mode 100644
index 146a903..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/targetpublic_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/task_obj.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/task_obj.gif
deleted file mode 100644
index b914ed7..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/task_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/taskdef_obj.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/taskdef_obj.gif
deleted file mode 100644
index 807d1f4..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/taskdef_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/template_obj.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/template_obj.gif
deleted file mode 100644
index fdde5fb..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/template_obj.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/obj16/type.gif b/ant/org.eclipse.ant.ui/icons/full/obj16/type.gif
deleted file mode 100644
index 76a58c5..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/obj16/type.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/ovr16/error_co.gif b/ant/org.eclipse.ant.ui/icons/full/ovr16/error_co.gif
deleted file mode 100644
index 119dccc..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/ovr16/error_co.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/ovr16/import_co.gif b/ant/org.eclipse.ant.ui/icons/full/ovr16/import_co.gif
deleted file mode 100644
index b0a24b2..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/ovr16/import_co.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/ovr16/warning_co.gif b/ant/org.eclipse.ant.ui/icons/full/ovr16/warning_co.gif
deleted file mode 100644
index ee2dac4..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/ovr16/warning_co.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/wizban/importbuildfile_wiz.gif b/ant/org.eclipse.ant.ui/icons/full/wizban/importbuildfile_wiz.gif
deleted file mode 100644
index d8ddd22..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/wizban/importbuildfile_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/plugin.properties b/ant/org.eclipse.ant.ui/plugin.properties
deleted file mode 100644
index 058ca36..0000000
--- a/ant/org.eclipse.ant.ui/plugin.properties
+++ /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
-###############################################################################
-
-pluginName = Ant UI
-providerName = Eclipse.org
-
-AntBuild = Ant Build
-AntLaunchShortcut.label = Ant Build
-AntLaunchShortcutWithDialog.label = Ant Build...
-antLaunchConfigurationTabGroup.description=Run an Ant buildfile.
-antBuilderLaunchConfigurationTabGroup.description=Create a configuration that will run an Ant buildfile during a build.
-
-AntEditor.name=Ant Editor
-AddBookmark.label=Add Boo&kmark...
-AddBookmark.tooltip=Add Bookmark...
-AddTask.label=Add &Task...
-AddTask.tooltip=Add Task...
-
-ActionDefinition.antContentAssistProposals.name=Ant Content Assist
-ActionDefinition.antContentAssistProposals.description=Content Assist in the Ant Editor
-
-CategoryView.antViews = Ant
-
-View.antView = Ant
-ViewCommand.antView.name = Ant
-ViewCommand.antView.description = Show the Ant view
-
-PreferencePage.antPreferences = Ant
-PreferencePage.antRuntimePreferences = Runtime
-PreferencePage.antEditorPreferences = Editor
-PreferencePage.antCodeFormatterPreferences = Formatter
-PreferencePage.antTemplatePreferences = Templates
-PreferencePage.antCodeAssistPreferences = Code Assist
-
-templatesName = Ant Templates Definitions
-
-buildFile.contextType.name= Ant
-task.contextType.name= Ant Task
-
-antDocumentFactory.name= Ant Document Factory
-antDocumentSetupParticipant.name= Ant Document Setup Participant
-
-ant.resolvers.src= Source Fileset
-ant.resolvers.src.description= A source fileset
-ant.resolvers.dst= Destination Fileset
-ant.resolvers.dst.description= An output fileset
-
-Ant.marker.label = Ant Buildfile Problem
-
-antImportWizard.name= Existing Ant Buildfile
-antImportWizard.description= Creates an Eclipse Java project from an existing Ant buildfile on the file system.
-
-Folding.label= F&olding
-
-ActionDefinition.format.name= Format
-ActionDefinition.format.description= Formats Ant buildfiles
-ActionDefinition.showTooltip.name= Show Tooltip Description
-ActionDefinition.showTooltip.description= Shows Tooltip description
-ActionDefinition.openExternalDoc.name= Open External Documentation
-ActionDefinition.openExternalDoc.description= Open the External documentation for the current task in the Ant editor
-
-antCategory.name= Source
-antCategory.description= Ant command category
-
-context.editingAnt.name= Editing Ant Buildfiles
-context.editingAnt.description= Editing Ant Buildfiles Context
-
-antBreakpointGroupName= Ant Breakpoints
-AddBreakpoint.label=Toggle &Breakpoint
-EnableBreakpoint.label=&Toggle Breakpoint Enabled
-
-AntShortcut.description.debug=Debug Ant Build
-AntShortcut.description.run=Run Ant Build
-
-antSourceLookupDirector.name=Ant Source Lookup Director
-
-Dummy.label
-
-runToLineAction.label= Run to Line
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/plugin.xml b/ant/org.eclipse.ant.ui/plugin.xml
deleted file mode 100644
index ec10f19..0000000
--- a/ant/org.eclipse.ant.ui/plugin.xml
+++ /dev/null
@@ -1,729 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.ant.ui"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.ant.internal.ui.AntUIPlugin">
-
-   <runtime>
-      <library name="antui.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.apache.ant"/>
-      <import plugin="org.eclipse.ant.core"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.filebuffers"/>
-      <import plugin="org.eclipse.core.variables"/>
-      <import plugin="org.eclipse.ui.externaltools"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.console"/>
-      <import plugin="org.eclipse.debug.core"/>
-      <import plugin="org.eclipse.debug.ui"/>
-      <import plugin="org.eclipse.jdt.ui"/>
-      <import plugin="org.eclipse.jdt.debug.ui"/>
-      <import plugin="org.eclipse.jdt.launching"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.jdt.core"/>
-   </requires>
-   
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%AntEditor.name"
-            icon="icons/full/obj16/ant_buildfile.gif"
-            filenames="build.xml,*.macrodef,*.ent"
-            class="org.eclipse.ant.internal.ui.editor.AntEditor"
-            contributorClass="org.eclipse.ant.internal.ui.editor.AntEditorActionContributor"
-            id="org.eclipse.ant.ui.internal.editor.AntEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-            name="%AntBuild"
-            delegate="org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchDelegate"
-            category="org.eclipse.ui.externaltools"
-            modes="run, debug"
-            sourceLocatorId="org.eclipse.ant.ui.debug.sourceLookupDirector"
-            sourcePathComputerId="org.eclipse.ant.ui.debug.sourcePathComputer"
-            id="org.eclipse.ant.AntLaunchConfigurationType">
-      </launchConfigurationType>
-      <launchConfigurationType
-            name="%AntBuild"
-            delegate="org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchDelegate"
-            category="org.eclipse.ui.externaltools.builder"
-            modes="run"
-            id="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-      </launchConfigurationType>
-   </extension>
-   <extension
-         point="org.eclipse.jdt.launching.classpathProviders">
-      <classpathProvider
-            class="org.eclipse.ant.internal.ui.launchConfigurations.AntClasspathProvider"
-            id="org.eclipse.ant.ui.AntClasspathProvider">
-      </classpathProvider>
-   </extension>
-   <extension
-         point="org.eclipse.jdt.launching.runtimeClasspathEntries">
-      <runtimeClasspathEntry
-            class="org.eclipse.ant.internal.ui.launchConfigurations.AntHomeClasspathEntry"
-            id="org.eclipse.ant.ui.classpathentry.antHome">
-      </runtimeClasspathEntry>
-      <runtimeClasspathEntry
-            class="org.eclipse.ant.internal.ui.launchConfigurations.ContributedClasspathEntriesEntry"
-            id="org.eclipse.ant.ui.classpathentry.extraClasspathEntries">
-      </runtimeClasspathEntry>
-   </extension>
-   <extension
-         point="org.eclipse.ui.views">
-      <category
-            name="%CategoryView.antViews"
-            id="org.eclipse.ant.ui.views">
-      </category>
-      <view
-            name="%View.antView"
-            icon="icons/full/eview16/ant_view.gif"
-            category="org.eclipse.ant.ui.views"
-            fastViewWidthRatio="0.40"
-            class="org.eclipse.ant.internal.ui.views.AntView"
-            id="org.eclipse.ant.ui.views.AntView">
-      </view>
-   </extension>
-   
-   <extension
-          point="org.eclipse.ui.contexts">
-       <context
-             name="%context.editingAnt.name"
-             description="%context.editingAnt.description"
-             parentId="org.eclipse.ui.textEditorScope"
-             id="org.eclipse.ant.ui.AntEditorScope">
-       </context>
-   </extension>
-   
-<!--   NOTE:
-M1 = CTRL/COMMAND 
-M2 = SHIFT 
-M3 = ALT 
-M4 = Platform-specific fourth key -->
-   <extension
-         point="org.eclipse.ui.commands">
-      <command
-            name="%ViewCommand.antView.name"
-            description="%ViewCommand.antView.description"
-            categoryId="org.eclipse.ui.category.views"
-            id="org.eclipse.ant.ui.views.AntView">
-      </command>
-      <keyBinding
-            keySequence=""
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.ant.ui.views.AntView"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.format.name"
-            description="%ActionDefinition.format.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.ant.ui.format">
-      </command>
-      <keyBinding
-            keySequence="M1+SHIFT+F"
-            contextId="org.eclipse.ant.ui.AntEditorScope"
-            commandId="org.eclipse.ant.ui.format"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.showTooltip.name"
-            description="%ActionDefinition.showTooltip.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.ant.ui.showTooltip">
-      </command>
-      <keyBinding
-            keySequence="F2"
-            contextId="org.eclipse.ant.ui.AntEditorScope"
-            commandId="org.eclipse.ant.ui.showTooltip"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%ActionDefinition.openExternalDoc.name"
-            description="%ActionDefinition.openExternalDoc.description"
-            categoryId="org.eclipse.jdt.ui.category.source"
-            id="org.eclipse.ant.ui.openExternalDoc">
-      </command>
-      <keyBinding
-            keySequence="SHIFT+F2"
-            contextId="org.eclipse.ant.ui.AntEditorScope"
-            commandId="org.eclipse.ant.ui.openExternalDoc"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-      <command
-            name="%AntShortcut.description.run"
-            description="%AntShortcut.description.run"
-            categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.ant.ui.antShortcut.run">
-      </command>
-      <keyBinding
-            keySequence="M3+M2+X Q"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.ant.ui.antShortcut.run"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-       <command
-            name="%AntShortcut.description.debug"
-            description="%AntShortcut.description.debug"
-            categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.ant.ui.antShortcut.debug">
-      </command>
-      <keyBinding
-            keySequence="M3+M2+D Q"
-            contextId="org.eclipse.ui.globalScope"
-            commandId="org.eclipse.ant.ui.antShortcut.debug"
-            keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
-      </keyBinding>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <view
-               relative="org.eclipse.ui.views.ContentOutline"
-               visible="false"
-               id="org.eclipse.ant.ui.views.AntView"
-               relationship="stack">
-         </view>
-         <viewShortcut
-               id="org.eclipse.ant.ui.views.AntView">
-         </viewShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaBrowsingPerspective">
-         <view
-               relative="org.eclipse.ui.views.ContentOutline"
-               visible="false"
-               id="org.eclipse.ant.ui.views.AntView"
-               relationship="stack">
-         </view>
-         <viewShortcut
-               id="org.eclipse.ant.ui.views.AntView">
-         </viewShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaPerspective">
-         <view
-               relative="org.eclipse.ui.views.ContentOutline"
-               visible="false"
-               id="org.eclipse.ant.ui.views.AntView"
-               relationship="stack">
-         </view>
-         <viewShortcut
-               id="org.eclipse.ant.ui.views.AntView">
-         </viewShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.jdt.ui.JavaHierarchyPerspective">
-         <view
-               relative="org.eclipse.ui.views.ContentOutline"
-               visible="false"
-               id="org.eclipse.ant.ui.views.AntView"
-               relationship="stack">
-         </view>
-         <viewShortcut
-               id="org.eclipse.ant.ui.views.AntView">
-         </viewShortcut>
-      </perspectiveExtension>
-      <perspectiveExtension
-            targetID="org.eclipse.debug.ui.DebugPerspective">
-         <view
-               relative="org.eclipse.ui.views.ContentOutline"
-               visible="false"
-               id="org.eclipse.ant.ui.views.AntView"
-               relationship="stack">
-         </view>
-         <viewShortcut
-               id="org.eclipse.ant.ui.views.AntView">
-         </viewShortcut>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%PreferencePage.antPreferences"
-            class="org.eclipse.ant.internal.ui.preferences.AntPreferencePage"
-            id="org.eclipse.ant.ui.AntPreferencePage">
-      </page>
-      <page
-            name="%PreferencePage.antRuntimePreferences"
-            category="org.eclipse.ant.ui.AntPreferencePage"
-            class="org.eclipse.ant.internal.ui.preferences.AntRuntimePreferencePage"
-            id="org.eclipse.ant.ui.AntRuntimePreferencePage">
-      </page>
-      <page
-            name="%PreferencePage.antEditorPreferences"
-            category="org.eclipse.ant.ui.AntPreferencePage"
-            class="org.eclipse.ant.internal.ui.preferences.AntEditorPreferencePage"
-            id="org.eclipse.ant.ui.AntEditorPreferencePage">
-      </page>
-      <page
-            name="%PreferencePage.antCodeFormatterPreferences"
-            category="org.eclipse.ant.ui.AntEditorPreferencePage"
-            class="org.eclipse.ant.internal.ui.preferences.AntCodeFormatterPreferencePage"
-            id="org.eclipse.ant.ui.AntCodeFormatterPreferencePage">
-      </page>
-       <page
-            name="%PreferencePage.antCodeAssistPreferences"
-            category="org.eclipse.ant.ui.AntEditorPreferencePage"
-            class="org.eclipse.ant.internal.ui.preferences.AntCodeAssistPreferencePage"
-            id="org.eclipse.ant.ui.AntCodeAssistPreferencePage">
-      </page>
-      <page
-            name="%PreferencePage.antTemplatePreferences"
-            category="org.eclipse.ant.ui.AntEditorPreferencePage"
-            class="org.eclipse.ant.internal.ui.editor.templates.AntTemplatePreferencePage"
-            id="org.eclipse.ant.ui.TemplatesPreferencePage">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <viewerContribution
-            targetID="org.eclipse.ant.internal.ui.editor.AntEditor.RulerContext"
-            id="org.eclipse.ant.internal.ui.editor.AntEditor.RulerContext">
-         <action
-               label="%AddTask.label"
-               helpContextId="org.eclipse.ui.AddTask_action_context"
-               class="org.eclipse.ui.texteditor.TaskRulerAction"
-               tooltip="%AddTask.tooltip"
-               menubarPath="add"
-               id="org.eclipse.ui.texteditor.TaskRulerAction">
-         </action>
-         <action
-               label="%AddBookmark.label"
-               helpContextId="org.eclipse.ui.bookmark_action_context"
-               class="org.eclipse.ui.texteditor.BookmarkRulerAction"
-               tooltip="%AddBookmark.tooltip"
-               menubarPath="add"
-               id="org.eclipse.ui.texteditor.BookmarkRulerAction">
-         </action>
-          <menu
-			id="projection"
-			label="%Folding.label"
-			path="rulers">
-		 </menu>
-         <action
-               label="%Dummy.label"
-               tooltip="%Dummy.label"
-               class="org.eclipse.ant.internal.ui.editor.actions.FoldingExpandAllRulerAction"
-               menubarPath="projection/additions"
-               definitionId="org.eclipse.ui.edit.text.folding.expand_all"
-               id="org.eclipse.ant.ui.folding.expandAll">
-         </action>
-         <action
-               label="%Dummy.label"
-               tooltip="%Dummy.label"
-               class="org.eclipse.ant.internal.ui.editor.actions.FoldingToggleRulerAction"
-               menubarPath="projection/additions"
-               definitionId="org.eclipse.ui.edit.text.folding.toggle"
-               id="org.eclipse.ant.ui.folding.toggle">
-         </action>
-      </viewerContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editorActions">
-      <editorContribution
-            targetID="org.eclipse.ant.ui.internal.editor.AntEditor"
-            id="org.eclipse.ui.editorActions.antEditor">
-          <action
-               definitionId="org.eclipse.ant.ui.openExternalDoc"
-               label="%Dummy.label"
-               class="org.eclipse.ant.internal.ui.editor.actions.OpenExternalDocAction"
-               id="org.eclipse.ant.ui.OpenExternalDocAction">
-         </action>
-         
-      </editorContribution>
-   </extension>   
-   
-   <extension
-         point="org.eclipse.ant.core.extraClasspathEntries">
-      <extraClasspathEntry
-            library="lib/antrunner.jar">
-      </extraClasspathEntry>
-      <extraClasspathEntry
-            library="lib/remoteAnt.jar"
-            eclipseRuntime="false">
-      </extraClasspathEntry>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.consoleColorProviders">
-      <consoleColorProvider
-            class="org.eclipse.ant.internal.ui.console.AntConsoleColorProvider"
-            processType="org.eclipse.ant.ui.antProcess"
-            id="org.eclipse.ant.consoleColorProvider">
-      </consoleColorProvider>
-   </extension>
-   <extension
-         point="org.eclipse.ui.externaltools.configurationDuplicationMaps">
-      <configurationMap
-            sourceType="org.eclipse.ant.AntLaunchConfigurationType"
-            builderType="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-      </configurationMap>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            type="org.eclipse.ant.AntLaunchConfigurationType"
-            helpContextId="org.eclipse.ui.externaltools.launchConfigHelpContext.ant"
-            description="%antLaunchConfigurationTabGroup.description"
-            class="org.eclipse.ant.internal.ui.launchConfigurations.AntTabGroup"
-            id="org.eclipse.ant.ui.launchConfigurationTabGroup.ant"
-            bannerImage="icons/full/wizban/importbuildfile_wiz.gif">
-      </launchConfigurationTabGroup>
-      <launchConfigurationTabGroup
-            type="org.eclipse.ant.AntBuilderLaunchConfigurationType"
-            helpContextId="org.eclipse.ui.externaltools.launchConfigHelpContext.ant_builder"
-            description="%antBuilderLaunchConfigurationTabGroup.description"
-            class="org.eclipse.ant.internal.ui.launchConfigurations.AntBuilderTabGroup"
-            id="org.eclipse.ant.ui.launchConfigurationTabGroup.ant.builder">
-      </launchConfigurationTabGroup>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-            icon="icons/full/obj16/ant.gif"
-            configTypeID="org.eclipse.ant.AntLaunchConfigurationType"
-            id="org.eclipse.ant.launchConfigurationTypeImage.ant">
-      </launchConfigurationTypeImage>
-      <launchConfigurationTypeImage
-            icon="icons/full/obj16/ant.gif"
-            configTypeID="org.eclipse.ant.AntBuilderLaunchConfigurationType"
-            id="org.eclipse.ant.launchConfigurationTypeImage.ant.builder">
-      </launchConfigurationTypeImage>
-   </extension>
-   <extension point="org.eclipse.core.runtime.adapters">
-	   <factory 
-            class="" 
-            adaptableType="org.eclipse.ant.internal.ui.model.AntTaskNode">
-            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
-        </factory>
-      <factory 
-            class="" 
-            adaptableType="org.eclipse.ant.internal.ui.model.AntTargetNode">
-            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
-        </factory>
-      <factory 
-            class="" 
-            adaptableType="org.eclipse.ant.internal.ui.model.AntProjectNode">
-            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
-        </factory>
-         <factory 
-            class=""
-            adaptableType="org.eclipse.core.resources.IFile">
-            <adapter type="org.eclipse.debug.ui.actions.ILaunchable"/>
-         </factory>
-   </extension>   
-   <extension
-         point="org.eclipse.debug.ui.launchShortcuts">
-      <shortcut
-            label="%AntLaunchShortcut.label"
-            icon="icons/full/obj16/ant.gif"
-            category="org.eclipse.ui.externaltools"
-            helpContextId="org.eclipse.ui.externaltools.launchShortcutHelpContext.antShortcut"
-            class="org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchShortcut"
-            modes="run, debug"
-            id="org.eclipse.ant.ui.antShortcut">
-        <contextualLaunch>
-           <enablement>
-             <with variable="selection">
-               <count value="1"/>
-               <iterate>
-                 <or>
-                   <instanceof value="org.eclipse.ant.internal.ui.model.AntElementNode"/>
-                   <and>
-                     <test property="org.eclipse.debug.ui.matchesPattern" value="*.xml"/>
-                     <test property="org.eclipse.debug.ui.matchesContentType" value="org.eclipse.ant.core.antBuildFile"/>
-                   </and>
-                 </or>
-               </iterate>
-             </with>
-           </enablement>
-           <contextLabel
-         	  mode="run"
-         	  label="%AntLaunchShortcut.label"/>
-         <contextLabel
-         	  mode="debug"
-         	  label="%AntLaunchShortcut.label"/>
-  		 </contextualLaunch>
-      </shortcut>
-      <shortcut
-            label="%AntLaunchShortcutWithDialog.label"
-            icon="icons/full/obj16/ant.gif"
-            category="org.eclipse.ui.externaltools"
-            helpContextId="org.eclipse.ui.externaltools.launchShortcutHelpContext.antShortcutWithDialog"
-            class="org.eclipse.ant.internal.ui.launchConfigurations.AntLaunchShortcutWithDialog"
-            modes="run, debug"
-            id="org.eclipse.ant.ui.antShortcutWithDialog">
-        <contextualLaunch>
-           <enablement>
-             <with variable="selection">
-               <count value="1"/>
-               <iterate>
-                 <or>
-                   <instanceof value="org.eclipse.ant.internal.ui.model.AntElementNode"/>
-                   <and>
-                     <test property="org.eclipse.debug.ui.matchesPattern" value="*.xml"/>
-                     <test property="org.eclipse.debug.ui.matchesContentType" value="org.eclipse.ant.core.antBuildFile"/>
-                   </and>
-                 </or>
-               </iterate>
-             </with>
-           </enablement>
-           <contextLabel
-         	  mode="run"
-         	  label="%AntLaunchShortcutWithDialog.label"/>
-          <contextLabel
-         	  mode="debug"
-         	  label="%AntLaunchShortcutWithDialog.label"/>
-  		 </contextualLaunch>
-      </shortcut>
-   </extension>
-<!-- Console Extensions -->
-   <extension
-         point="org.eclipse.debug.ui.consoleLineTrackers">
-      <consoleLineTracker
-            class="org.eclipse.ant.internal.ui.console.TaskLineTracker"
-            processType="org.eclipse.ant.ui.antProcess"
-            id="org.eclipse.ant.ui.taskLineTracker">
-      </consoleLineTracker>
-      <consoleLineTracker
-            class="org.eclipse.ant.internal.ui.console.BuildFailedTracker"
-            processType="org.eclipse.ant.ui.antProcess"
-            id="org.eclipse.ant.ui.buildFailedTracker">
-      </consoleLineTracker>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.statusHandlers">
-      <statusHandler
-            code="1000"
-            plugin="org.eclipse.ant.ui"
-            class="org.eclipse.ant.internal.ui.launchConfigurations.RunAntStatusHandler"
-            id="org.eclipse.ant.ui.statusHandler.runAntInit">
-      </statusHandler>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.processFactories">
-      <processFactory
-            class="org.eclipse.ant.internal.ui.launchConfigurations.RemoteAntProcessFactory"
-            id="org.eclipse.ant.ui.remoteAntProcessFactory">
-      </processFactory>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.editors.templates">
-      <contextType
-            name="%buildFile.contextType.name"
-            class="org.eclipse.ant.internal.ui.editor.templates.BuildFileContextType"
-            id="org.eclipse.ant.ui.templateContextType.buildFile">
-      </contextType>
-       <contextType
-            name="%task.contextType.name"
-            class="org.eclipse.ant.internal.ui.editor.templates.TaskContextType"
-            id="org.eclipse.ant.ui.templateContextType.task">
-      </contextType>
-      <resolver
-            name="%ant.resolvers.src"
-            type="src"
-            icon="templates/resolver.gif"
-            description="%ant.resolvers.src.description"
-            contextTypeId="org.eclipse.ant.ui.templateContextType.XML"
-            class="org.eclipse.ant.internal.ui.editor.templates.AntVariableResolver">
-      </resolver>
-      <resolver
-            name="%ant.resolvers.dst"
-            type="dst"
-            icon="templates/resolver.gif"
-            description="%ant.resolvers.dst.description"
-            contextTypeId="org.eclipse.ant.ui.templateContextType.XML"
-            class="org.eclipse.ant.internal.ui.editor.templates.AntVariableResolver">
-      </resolver>
-      <include
-      		file="templates/ant.xml"
-      		translations="$nl$/templates/ant.properties">
-      </include>
-   </extension>
-    
-	<extension id="buildFileProblem" name="%Ant.marker.label" point="org.eclipse.core.resources.markers">
-  		<super type="org.eclipse.core.resources.problemmarker" /> 
-  			<persistent value="true" /> 
-	</extension>
-	
-	<extension 
-       point="org.eclipse.ui.importWizards"> 
-      <wizard 
-         id="org.eclipse.ant.internal.ui.import" 
-         name="%antImportWizard.name" 
-         class="org.eclipse.ant.internal.ui.datatransfer.AntBuildfileImportWizard" 
-         icon="icons/full/obj16/ant.gif"> 
-         <description> 
-            %antImportWizard.description
-         </description> 
-      </wizard> 
-   </extension>
-   
-   <extension
-         id="org.eclipse.ant.ui.AntDocumentFactory"
-         name="%antDocumentFactory.name"
-         point="org.eclipse.core.filebuffers.documentCreation">
-      <factory
-            extensions="xml, ant, ent, macrodef"
-            contentTypeId="org.eclipse.ant.core.antBuildFile"
-            class="org.eclipse.ant.internal.ui.editor.text.AntDocumentFactory">
-      </factory>
-   </extension>
-   
-   <extension
-         id="org.eclipse.ant.ui.AntDocumentSetupParticipant"
-         name="%antDocumentSetupParticipant.name"
-         point="org.eclipse.core.filebuffers.documentSetup">
-      <participant
-            extensions="xml, ant, ent, macrodef"
-            contentTypeId="org.eclipse.ant.core.antBuildFile"
-            class="org.eclipse.ant.internal.ui.editor.text.AntDocumentSetupParticipant">
-      </participant>
-   </extension>
-   
-   <extension point="org.eclipse.core.runtime.preferences">
-		<initializer class="org.eclipse.ant.internal.ui.AntUIPreferenceInitializer"/>
-	</extension>
-   <extension
-         point="org.eclipse.core.filebuffers.annotationModelCreation">
-      <factory
-            contentTypeId="org.eclipse.ant.core.antBuildFile"
-            class="org.eclipse.ant.internal.ui.editor.text.AnnotationModelFactory"
-            extensions="xml, ant, ent, macrodef"/>
-   </extension>
-   
-   <extension
-         point="org.eclipse.debug.core.sourceLocators">
-      <sourceLocator
-            name="%antSourceLookupDirector.name"
-            class="org.eclipse.ant.internal.ui.debug.AntSourceLookupDirector"
-            id="org.eclipse.ant.ui.debug.sourceLookupDirector">
-      </sourceLocator>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.sourcePathComputers">
-      <sourcePathComputer
-            class="org.eclipse.ant.internal.ui.debug.AntSourcePathComputerDelegate"
-            id="org.eclipse.ant.ui.debug.sourcePathComputer">
-      </sourcePathComputer>
-   </extension>
-    <extension
-         point="org.eclipse.debug.ui.debugModelPresentations">
-      <debugModelPresentation
-            class="org.eclipse.ant.internal.ui.debug.model.AntDebugModelPresentation"
-            id="org.eclipse.ant.ui.debug">
-      </debugModelPresentation>
-   </extension>
-   
-    <extension
-         point="org.eclipse.debug.core.breakpoints">
-      <breakpoint
-            markerType="org.eclipse.ant.ui.antLineBreakpointMarker"
-            class="org.eclipse.ant.internal.ui.debug.model.AntLineBreakpoint"
-            id="org.eclipse.ant.ui.lineBreakpoint"
-            name="%antBreakpointGroupName">
-      </breakpoint>
-   </extension>
-   <extension point="org.eclipse.core.resources.markers"
-         id="antLineBreakpointMarker">
-      <super type="org.eclipse.debug.core.lineBreakpointMarker"/>
-      <persistent value="true"/>
-   </extension>
-   
-    <extension
-         point="org.eclipse.ui.editorActions">
-      <editorContribution
-            targetID="org.eclipse.ant.ui.internal.editor.AntEditor"
-            id="org.eclipse.ant.ui.BreakpointRulerActions">
-         <action
-               label="%AddBreakpoint.label"
-               class="org.eclipse.ant.internal.ui.editor.actions.ManageBreakpointRulerActionDelegate"
-               actionID="RulerDoubleClick"
-               id="org.eclipse.ant.ui.actions.ManageBreakpointRulerAction">
-         </action>
-      </editorContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-   		<viewerContribution
-            targetID="org.eclipse.ant.internal.ui.editor.AntEditor.RulerContext"
-            id="org.eclipse.ant.ui.RulerPopupActions">
-         <action
-               label="%EnableBreakpoint.label"
-               class="org.eclipse.ant.internal.ui.editor.actions.EnableDisableBreakpointRulerActionDelegate"
-               menubarPath="debug"
-               id="org.eclipse.ant.ui.actions.EnableDisableBreakpointRulerActionDelegate">
-         </action>
-         <action
-               label="%AddBreakpoint.label"
-               class="org.eclipse.ant.internal.ui.editor.actions.ManageBreakpointRulerActionDelegate"
-               menubarPath="debug"
-               id="org.eclipse.ant.ui.actions.ManageBreakpointRulerActionDelegate">
-         </action>
-      </viewerContribution>
-      <viewerContribution
-            targetID="org.eclipse.ant.internal.ui.editor.AntEditor"
-            id="org.eclipse.ant.ui.debug.AntEditorPopupActions">
-         <action
-               label="%runToLineAction.label"
-               helpContextId="run_to_line_action_context"
-               definitionId="org.eclipse.debug.ui.commands.RunToLine"
-               class="org.eclipse.debug.ui.actions.RunToLineActionDelegate"
-               menubarPath="additions"
-               id="org.eclipse.ant.ui.debug.RunToLine">
-         </action>
-      </viewerContribution>
-       </extension>
-   <extension
-         point="org.eclipse.ui.console.consolePatternMatchListeners">
-      <consolePatternMatchListener
-            class="org.eclipse.ant.internal.ui.console.EclipseJavacPatternMatcher"
-            id="org.eclipse.ant.ui.eclipseJavacPatternMatcher"
-            regex="\[javac.*\].*ERROR in.*">
-         <enablement>
-            <test property="org.eclipse.debug.ui.processTypeTest" value="org.eclipse.ant.ui.antProcess"/>
-         </enablement>
-      </consolePatternMatchListener>
-	  <consolePatternMatchListener
-            class="org.eclipse.ant.internal.ui.console.JavacPatternMatcher"
-            id="org.eclipse.ant.ui.JavacPatternMatcher"
-            regex="\[.*javac.*\] .*\.java:.*:.*">
-         <enablement>
-            <test property="org.eclipse.debug.ui.processTypeTest" value="org.eclipse.ant.ui.antProcess"/>
-         </enablement>
-      </consolePatternMatchListener>
-	  <consolePatternMatchListener
-            class="org.eclipse.ant.internal.ui.console.JikesJavacPatternMatcher"
-            id="org.eclipse.ant.ui.JikesJavacPatternMatcher"
-            regex="\[javac\].*\&quot;.*\&quot;:">
-         <enablement>
-            <test property="org.eclipse.debug.ui.processTypeTest" value="org.eclipse.ant.ui.antProcess"/>
-         </enablement>
-      </consolePatternMatchListener>      
-   </extension>
-       
-       
-      <!-- bug 78752 <extension
-      	 point="org.eclipse.ant.core.antProperties">
-      <antProperty
-            name="eclipse.target"
-            class="org.eclipse.ant.internal.ui.AntPropertyValueProvider">
-      </antProperty>
-    </extension> -->
-</plugin>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/templates/ant.properties b/ant/org.eclipse.ant.ui/templates/ant.properties
deleted file mode 100644
index 88dd57d..0000000
--- a/ant/org.eclipse.ant.ui/templates/ant.properties
+++ /dev/null
@@ -1,23 +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
-###############################################################################
-
-filesetTemplate1.description= fileset type with include clause
-targetTemplate1.description= public target
-targetTemplate2.description= private target
-propertyTemplate1.description= property with name and location
-propertyTemplate2.description= property with name and value
-macrodefTemplate.description= macrodef with a single attribute
-deleteTemplate1.description= delete files in a fileset
-deleteTemplate2.description= delete files in a referenced fileset
-
-javacTemplate1.description= add a javac task
-buildFileTemplate1.name= Buildfile template
-buildFileTemplate1.description= simple buildfile with two targets
diff --git a/ant/org.eclipse.ant.ui/templates/ant.xml b/ant/org.eclipse.ant.ui/templates/ant.xml
deleted file mode 100644
index a129b9a..0000000
--- a/ant/org.eclipse.ant.ui/templates/ant.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/*******************************************************************************
- * 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
- *******************************************************************************/ 
--->
-
-<templates>
-
-<template 
-	context="org.eclipse.ant.ui.templateContextType.task" 
-	description="%javacTemplate1.description" 
-	id="org.eclipse.ant.ui.templates.javac1" 
-	name="javac">&lt;javac srcdir=&quot;${src}&quot;
-         destdir=&quot;${dst}&quot;
-         classpath=&quot;${jarfile}&quot;
-         debug=&quot;${on}&quot;
-	/&gt;${cursor}</template>
-
-<template 
-	context="org.eclipse.ant.ui.templateContextType.task" 
-	description="%filesetTemplate1.description" 
-	id="org.eclipse.ant.ui.templates.fileset1" 
-	name="fileset"><![CDATA[
-<fileset dir="${dir}" id="${id}">
-    <include name="${include}"/>
-    <exclude name="${exclude}"/>
-</fileset>
-${cursor}
-]]>
-</template>
-
-<template 
-    context="org.eclipse.ant.ui.templateContextType.task" 
-    description="%deleteTemplate1.description" 
-    id="org.eclipse.ant.ui.templates.delete1" 
-    name="delete"><![CDATA[
-<delete>
-	<fileset dir="${dir}">
-	    <include name="${include}"/>
-	    <exclude name="${exclude}"/>
-	</fileset>
-</delete>
-${cursor}
-]]>
-</template>
-
-<template 
-    context="org.eclipse.ant.ui.templateContextType.task" 
-    description="%deleteTemplate2.description" 
-    id="org.eclipse.ant.ui.templates.delete2" 
-    name="delete"><![CDATA[
-<delete>
-    <fileset refid="${cursor}"/>
-</delete>
-]]>
-</template>
-
-
-
-<template 
-    context="org.eclipse.ant.ui.templateContextType.task" 
-    description="%propertyTemplate1.description" 
-    id="org.eclipse.ant.ui.templates.property1" 
-    name="property">&lt;property name=&quot;${name}&quot; location=&quot;${location}&quot;/&gt;
-</template>
-
-<template 
-    context="org.eclipse.ant.ui.templateContextType.task" 
-    description="%propertyTemplate2.description" 
-    id="org.eclipse.ant.ui.templates.property2" 
-    name="property">&lt;property name=&quot;${name}&quot; value=&quot;${value}&quot;/&gt;
-</template>
-
-
-<template 
-	context="org.eclipse.ant.ui.templateContextType.task" 
-	description="%targetTemplate1.description" 
-	id="org.eclipse.ant.ui.templates.target1" 
-	name="target"><![CDATA[
-    <!-- ================================= 
-          target: ${name}              
-         ================================= -->
-    <target name="${name}" depends="${depends}" description="--> ${description}">
-        ${cursor}
-    </target>
-]]>
-</template>
-
-<template 
-    context="org.eclipse.ant.ui.templateContextType.task" 
-    description="%targetTemplate2.description" 
-    id="org.eclipse.ant.ui.templates.target2" 
-    name="target"><![CDATA[
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: ${name}                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="${name}">
-            ${cursor}
-    </target>
-]]>
-</template>
-
-<template 
-    context="org.eclipse.ant.ui.templateContextType.task" 
-    description="%macrodefTemplate.description" 
-    id="org.eclipse.ant.ui.templates.macrodef" 
-    name="macrodef"><![CDATA[
-    <!-- = = = = = = = = = = = = = = = = =
-          macrodef: ${name}          
-         = = = = = = = = = = = = = = = = = -->
-    <macrodef name="${name}">
-        <attribute name="${argname}" default="${default}" />
-        <sequential>
-            ${cursor}
-        </sequential>
-    </macrodef>
-]]>
-</template>
-
-<template 
-	context="org.eclipse.ant.ui.templateContextType.buildFile" 
-	description="%buildFileTemplate1.description" 
-	id="org.eclipse.ant.ui.templates.buildFile1" 
-	name="%buildFileTemplate1.name"><![CDATA[<?xml version="1.0"?>
-<!-- ====================================================================== 
-     ${date} ${time}                                                        
-
-     ${project}    
-     ${description}
-                   
-     ${user}                                                                
-     ====================================================================== -->
-<project name="${project}" default="${default}">
-    <description>
-            ${description}
-    </description>
-
-    <!-- ================================= 
-          target: ${default}              
-         ================================= -->
-    <target name="${default}" depends="${depends}" description="--> ${description}">
-        ${cursor}
-    </target>
-
-    <!-- - - - - - - - - - - - - - - - - - 
-          target: ${depends}                      
-         - - - - - - - - - - - - - - - - - -->
-    <target name="${depends}">
-    </target>
-
-</project>
-]]>
-</template>
-
-</templates>
diff --git a/ant/org.eclipse.ant.ui/templates/resolver.gif b/ant/org.eclipse.ant.ui/templates/resolver.gif
deleted file mode 100644
index 4a26673..0000000
--- a/ant/org.eclipse.ant.ui/templates/resolver.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/.classpath b/platform/org.eclipse.platform/.classpath
deleted file mode 100644
index 618ac00..0000000
--- a/platform/org.eclipse.platform/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry output="bin-intro" kind="src" path="src-intro"/>
-	<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/platform/org.eclipse.platform/.cvsignore b/platform/org.eclipse.platform/.cvsignore
deleted file mode 100644
index 2f6d5a5..0000000
--- a/platform/org.eclipse.platform/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-bin-intro
diff --git a/platform/org.eclipse.platform/.project b/platform/org.eclipse.platform/.project
deleted file mode 100644
index e28fafc..0000000
--- a/platform/org.eclipse.platform/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.platform</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.intro</project>
-	</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/platform/org.eclipse.platform/SplashFinal_500x330.psd b/platform/org.eclipse.platform/SplashFinal_500x330.psd
deleted file mode 100644
index b82e877..0000000
--- a/platform/org.eclipse.platform/SplashFinal_500x330.psd
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/about.html b/platform/org.eclipse.platform/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/platform/org.eclipse.platform/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/platform/org.eclipse.platform/about.ini b/platform/org.eclipse.platform/about.ini
deleted file mode 100644
index cbdcb66..0000000
--- a/platform/org.eclipse.platform/about.ini
+++ /dev/null
@@ -1,25 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for feature details in the "About" 
-# dialog (translated).  Maximum 15 lines and 75 characters per line.
-aboutText=%blurb
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# ($nl$/ prefix to permit locale-specific translations of entire file)
-welcomePage=$nl$/welcome.xml
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.platform.doc.user/tips/platform_tips.html
-
diff --git a/platform/org.eclipse.platform/about.mappings b/platform/org.eclipse.platform/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/platform/org.eclipse.platform/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/about.properties b/platform/org.eclipse.platform/about.properties
deleted file mode 100644
index 90a4aa2..0000000
--- a/platform/org.eclipse.platform/about.properties
+++ /dev/null
@@ -1,28 +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
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Eclipse Platform\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2004.  All rights reserved.\n\
-Visit http://www.eclipse.org/platform\n\
-\n\
-This product includes software developed by the\n\
-Apache Software Foundation http://www.apache.org/
diff --git a/platform/org.eclipse.platform/build.properties b/platform/org.eclipse.platform/build.properties
deleted file mode 100644
index 30e9bf8..0000000
--- a/platform/org.eclipse.platform/build.properties
+++ /dev/null
@@ -1,34 +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
-###############################################################################
-bin.includes = about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse_lg.gif,\
-               eclipse.gif,\
-               eclipse32.gif,\
-               plugin_customization.ini,\
-               plugin_customization.properties,\
-               plugin.xml,\
-               plugin.properties,\
-               splash.bmp,\
-               css/,\
-               cheatsheets/,\
-               welcome.xml,\
-               introContent.xml,\
-               platform.jar,\
-               intro.gif
-src.includes = about.html,\
-               launchersrc.zip,\
-               platformsrc.zip
-source.startup.jar = src/
-source.platform.jar = src-intro/
-manifest.startup.jar = META-INF/MANIFEST.MF
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/cheatsheets/CVS_1.xml b/platform/org.eclipse.platform/cheatsheets/CVS_1.xml
deleted file mode 100644
index ca75638..0000000
--- a/platform/org.eclipse.platform/cheatsheets/CVS_1.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-<cheatsheet title="CVS - Merging from one branch to another">
-
-	<intro 
-		href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-		<description>
-This cheat sheet will automatically launch wizards, perform actions, and guide you through the individual steps to merge changes from a CVS branch into another branch, or into HEAD. To learn more about using cheat sheets or to see a list of available cheat sheets click help (?).To start working on this cheat sheet, click the "Click to begin" button below.
-		</description>
-	</intro>
-
-	<item
-		href="/org.eclipse.platform.doc.user/tasks/tasks-100b.htm"
-		title="Determine Branch and Version Information">
-		<description>
-In this step you must determine the name of the branch or version that contains your changes and the version from which the branch was created. This is a manual task, you will need to perform the work and click the "Click to complete" button to move to the next step. 
-		</description>
-	</item>
-
-	<item
-		href="/org.eclipse.platform.doc.user/tasks/tasks-100b.htm"
-		title="Load the Destination into your Workspace">
-		<description>
-Select the project and choose Replace With &gt; Another Branch or Version from the context menu. Then select the branch to replace with. In this step you must ensure that the destination is loaded into your workspace. This is a manual task, you will need to perform the work and click the "Click to complete" button to move to the next step.
-		</description>
-	</item>
-
-	<item
-		href="/org.eclipse.platform.doc.user/tasks/tasks-100b.htm" 
-		title="Merge Details">
-		<description>
-Select the project, choose Team &gt; Merge and complete the wizard as required. This step specifies the details of the merge.  This is a manual task, you will need to perform the work and click the "Click to complete" button to move to the next step.
-		</description>
-	</item>
-
-	<item
-		href="/org.eclipse.platform.doc.user/tasks/tasks-100b.htm"
-		title="Work with the Merge Editor">
-		<description>
-In the Merge editor manually merge the changes. This step loads the required changes into the workspace. This is a manual task, you will need to perform the work and click the "Click to complete" button to move to the next step.
-		</description>
-	</item>
-
-	<item
-		href="/org.eclipse.platform.doc.user/tasks/tasks-100b.htm"
-		title="Commit your changes">
-		<description>
-Select Team &gt; Synchronize with Repository and then commit all the changes to the repository. This step finalizes the transfer of the changes from the workspace to the CVS repository. This is a manual task, you will need to perform the work and click the "Click to complete" button to move to the next step.
-		</description>
-	</item>
-
-</cheatsheet>
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/background.jpg b/platform/org.eclipse.platform/css/graphics/contentpage/background.jpg
deleted file mode 100644
index ce1cada..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/background.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/backgroundcurve.gif b/platform/org.eclipse.platform/css/graphics/contentpage/backgroundcurve.gif
deleted file mode 100644
index 8c5ec1d..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/backgroundcurve.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/content_background.jpg b/platform/org.eclipse.platform/css/graphics/contentpage/content_background.jpg
deleted file mode 100644
index ce1cada..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/content_background.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/overview_wtr.jpg b/platform/org.eclipse.platform/css/graphics/contentpage/overview_wtr.jpg
deleted file mode 100644
index 733e48c..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/overview_wtr.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/samples_wtr.jpg b/platform/org.eclipse.platform/css/graphics/contentpage/samples_wtr.jpg
deleted file mode 100644
index 78e703a..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/samples_wtr.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/section1.gif b/platform/org.eclipse.platform/css/graphics/contentpage/section1.gif
deleted file mode 100644
index 6147513..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/section1.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/section2.gif b/platform/org.eclipse.platform/css/graphics/contentpage/section2.gif
deleted file mode 100644
index 0ee148b..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/section2.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/section3.gif b/platform/org.eclipse.platform/css/graphics/contentpage/section3.gif
deleted file mode 100644
index b5d24e6..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/section3.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/section4.gif b/platform/org.eclipse.platform/css/graphics/contentpage/section4.gif
deleted file mode 100644
index 258d4a8..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/section4.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/tutorials_wtr.jpg b/platform/org.eclipse.platform/css/graphics/contentpage/tutorials_wtr.jpg
deleted file mode 100644
index e74c7c0..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/tutorials_wtr.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/whatsnew_wtr.jpg b/platform/org.eclipse.platform/css/graphics/contentpage/whatsnew_wtr.jpg
deleted file mode 100644
index c2a42da..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/whatsnew_wtr.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/contentpage/wordmark.gif b/platform/org.eclipse.platform/css/graphics/contentpage/wordmark.gif
deleted file mode 100644
index 27ca85d..0000000
--- a/platform/org.eclipse.platform/css/graphics/contentpage/wordmark.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/overview48.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/overview48.gif
deleted file mode 100644
index 7da24bd..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/overview48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/overview48sel.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/overview48sel.gif
deleted file mode 100644
index 3d1c45b..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/overview48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/overview72.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/overview72.gif
deleted file mode 100644
index d34b4b3..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/overview72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/samples48.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/samples48.gif
deleted file mode 100644
index 3213de6..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/samples48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/samples48sel.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/samples48sel.gif
deleted file mode 100644
index f9c0469..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/samples48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/samples72.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/samples72.gif
deleted file mode 100644
index 4c63a9a..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/samples72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials48.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials48.gif
deleted file mode 100644
index 1a3f06a..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials48sel.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials48sel.gif
deleted file mode 100644
index 3d687bd..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials72.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials72.gif
deleted file mode 100644
index a2aa343..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/tutorials72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/wb48.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/wb48.gif
deleted file mode 100644
index c2fd06a..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/wb48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew48.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew48.gif
deleted file mode 100644
index 2bfb9be..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew48sel.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew48sel.gif
deleted file mode 100644
index 0da843f..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew72.gif b/platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew72.gif
deleted file mode 100644
index 74bf6ff..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/ctool/whatsnew72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/dtool/back.gif b/platform/org.eclipse.platform/css/graphics/icons/dtool/back.gif
deleted file mode 100644
index f0d0929..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/dtool/back.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/dtool/forward.gif b/platform/org.eclipse.platform/css/graphics/icons/dtool/forward.gif
deleted file mode 100644
index dbe58b2..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/dtool/forward.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/dtool/overview.gif b/platform/org.eclipse.platform/css/graphics/icons/dtool/overview.gif
deleted file mode 100644
index 2bc7b0d..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/dtool/overview.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/dtool/restore_welcome.gif b/platform/org.eclipse.platform/css/graphics/icons/dtool/restore_welcome.gif
deleted file mode 100644
index 4997b20..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/dtool/restore_welcome.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/dtool/samples.gif b/platform/org.eclipse.platform/css/graphics/icons/dtool/samples.gif
deleted file mode 100644
index 5cf3cae..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/dtool/samples.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/dtool/tutorials.gif b/platform/org.eclipse.platform/css/graphics/icons/dtool/tutorials.gif
deleted file mode 100644
index 63826a5..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/dtool/tutorials.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/dtool/whatsnew.gif b/platform/org.eclipse.platform/css/graphics/icons/dtool/whatsnew.gif
deleted file mode 100644
index 8056c99..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/dtool/whatsnew.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/back.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/back.gif
deleted file mode 100644
index 1c81cb6..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/back.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/forward.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/forward.gif
deleted file mode 100644
index 3e4a4f4..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/forward.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/overview.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/overview.gif
deleted file mode 100644
index 3fe629a..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/overview.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/overview48.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/overview48.gif
deleted file mode 100644
index 8e2f8c1..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/overview48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/overview48sel.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/overview48sel.gif
deleted file mode 100644
index 1275a4a..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/overview48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/overview72.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/overview72.gif
deleted file mode 100644
index e3f7648..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/overview72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/restore_welcome.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/restore_welcome.gif
deleted file mode 100644
index 7736bce..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/restore_welcome.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/samples.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/samples.gif
deleted file mode 100644
index c695884..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/samples.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/samples48.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/samples48.gif
deleted file mode 100644
index 63d405b..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/samples48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/samples48sel.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/samples48sel.gif
deleted file mode 100644
index 4c3135d..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/samples48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/samples72.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/samples72.gif
deleted file mode 100644
index 9216426..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/samples72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials.gif
deleted file mode 100644
index a18d7dd..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials48.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials48.gif
deleted file mode 100644
index 718ca6c..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials48sel.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials48sel.gif
deleted file mode 100644
index 10680e5..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials72.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials72.gif
deleted file mode 100644
index bab3498..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/tutorials72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/wb48.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/wb48.gif
deleted file mode 100644
index 50ca287..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/wb48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew.gif
deleted file mode 100644
index f022324..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew48.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew48.gif
deleted file mode 100644
index 6e00d7a..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew48sel.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew48sel.gif
deleted file mode 100644
index be9fa0c..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew72.gif b/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew72.gif
deleted file mode 100644
index 410093b..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/etool/whatsnew72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/community_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/community_obj.gif
deleted file mode 100644
index 5d132a8..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/community_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/communityhov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/communityhov_obj.gif
deleted file mode 100644
index acb2a58..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/communityhov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/features_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/features_obj.gif
deleted file mode 100644
index 364fd48..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/features_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/featureshov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/featureshov_obj.gif
deleted file mode 100644
index fbfdf03..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/featureshov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapp_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapp_obj.gif
deleted file mode 100644
index ce00d50..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapphov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapphov_obj.gif
deleted file mode 100644
index 35e9f58..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapphov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapplet_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapplet_obj.gif
deleted file mode 100644
index b19a952..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapplet_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapplethov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapplethov_obj.gif
deleted file mode 100644
index 5da3db9..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/javaapplethov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/javadev_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/javadev_obj.gif
deleted file mode 100644
index f6526a2..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/javadev_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/javadevhov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/javadevhov_obj.gif
deleted file mode 100644
index 36b47d3..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/javadevhov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/migrate_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/migrate_obj.gif
deleted file mode 100644
index 0c2fe88..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/migrate_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/migratehov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/migratehov_obj.gif
deleted file mode 100644
index ee34e2a..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/migratehov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/new_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/new_obj.gif
deleted file mode 100644
index f46b81b..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/new_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/newhov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/newhov_obj.gif
deleted file mode 100644
index 593e63b..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/newhov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/plugin_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/plugin_obj.gif
deleted file mode 100644
index d92d2c5..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/plugin_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/pluginhov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/pluginhov_obj.gif
deleted file mode 100644
index 1de8ccc..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/pluginhov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/rcpapp_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/rcpapp_obj.gif
deleted file mode 100644
index 830ab56..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/rcpapp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/rcpapphov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/rcpapphov_obj.gif
deleted file mode 100644
index 5bd80a9..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/rcpapphov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/samplepurp_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/samplepurp_obj.gif
deleted file mode 100644
index c4e56fc..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/samplepurp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/samplepurphov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/samplepurphov_obj.gif
deleted file mode 100644
index 60481e2..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/samplepurphov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/samplered_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/samplered_obj.gif
deleted file mode 100644
index f6d104e..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/samplered_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/sampleredhov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/sampleredhov_obj.gif
deleted file mode 100644
index 687d6b2..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/sampleredhov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/script_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/script_obj.gif
deleted file mode 100644
index b48b7cd..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/script_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/scripthov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/scripthov_obj.gif
deleted file mode 100644
index d67203e..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/scripthov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/swtapp_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/swtapp_obj.gif
deleted file mode 100644
index 9ba9a33..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/swtapp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/swtapphov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/swtapphov_obj.gif
deleted file mode 100644
index c4fbb5d..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/swtapphov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/teamsup_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/teamsup_obj.gif
deleted file mode 100644
index 4b9def9..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/teamsup_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/teamsuphov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/teamsuphov_obj.gif
deleted file mode 100644
index 4bdf819..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/teamsuphov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/updates_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/updates_obj.gif
deleted file mode 100644
index 1608b30..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/updates_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/updateshov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/updateshov_obj.gif
deleted file mode 100644
index 22a0ace..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/updateshov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/wbbasics_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/wbbasics_obj.gif
deleted file mode 100644
index 8b82563..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/wbbasics_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/icons/obj48/wbbasicshov_obj.gif b/platform/org.eclipse.platform/css/graphics/icons/obj48/wbbasicshov_obj.gif
deleted file mode 100644
index 230be9c..0000000
--- a/platform/org.eclipse.platform/css/graphics/icons/obj48/wbbasicshov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/rootpage/background.jpg b/platform/org.eclipse.platform/css/graphics/rootpage/background.jpg
deleted file mode 100644
index 969fcf3..0000000
--- a/platform/org.eclipse.platform/css/graphics/rootpage/background.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/rootpage/brandmark.gif b/platform/org.eclipse.platform/css/graphics/rootpage/brandmark.gif
deleted file mode 100644
index 93f25f7..0000000
--- a/platform/org.eclipse.platform/css/graphics/rootpage/brandmark.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/rootpage/dots.gif b/platform/org.eclipse.platform/css/graphics/rootpage/dots.gif
deleted file mode 100644
index 6621b7c..0000000
--- a/platform/org.eclipse.platform/css/graphics/rootpage/dots.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/graphics/swt/form_banner.gif b/platform/org.eclipse.platform/css/graphics/swt/form_banner.gif
deleted file mode 100644
index aebc0b2..0000000
--- a/platform/org.eclipse.platform/css/graphics/swt/form_banner.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/overview/overview.css b/platform/org.eclipse.platform/css/overview/overview.css
deleted file mode 100644
index 859a390..0000000
--- a/platform/org.eclipse.platform/css/overview/overview.css
+++ /dev/null
@@ -1,69 +0,0 @@
-body {

-	background-image : url(../graphics/contentpage/overview_wtr.jpg);

-}

-

-.page { min-height : 700px; }

-

-/* show the "selected" image for this page */

-#navigation-links a#overview img, #navigation-links a#overview:hover img { background-image : url(../graphics/icons/ctool/overview48sel.gif); }

-

-/* 

- * Set up the Overview links to be displayed in two columns

- * that are centered in the middle of the page.

- */

-

-#overview-links {

-	text-align : left;

-	width : 760px;

-	/* To center in Moz (have to use text-align for IE) */

-	margin : 0px auto;

-}

-

-#overview-links a { 

-	width : 370px;

-	text-align : left; 

-	margin-left : 5px;

-	margin-right : 5px;

-	margin-top : 5px;

-	margin-bottom : -20px;

-	vertical-align : top;

-}

-

-#overview-links > a { vertical-align : middle; }

-

-#overview-links a img {

-	height : 57px;

-	width : 57px;

-	vertical-align : middle;

-}	

-

-#overview-links a .link-label {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -50px;

-	left : 60px;

-}

-

-#overview-links a p .text {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -45px;

-	left : 53px;

-}

-

-/* Special case for Mozilla, because the links are displayed

-   in 1 vertical column instead of 2 centered columns */

-#overview-links > a { 	width : 700px; }

-#overview-links a > .link-label { width : 700px; }

-#overview-links a p > .text { width : 700px; }

-

-#overview-links a:hover { border-right : 5px; }

-

-a#basics img { background-image : url(../graphics/icons/obj48/wbbasics_obj.gif); }

-a#basics:hover img { background-image : url(../graphics/icons/obj48/wbbasicshov_obj.gif); }

-

-a#team img { background-image : url(../graphics/icons/obj48/teamsup_obj.gif); }

-a#team:hover img { background-image : url(../graphics/icons/obj48/teamsuphov_obj.gif); }

-

diff --git a/platform/org.eclipse.platform/css/overview/swt.properties b/platform/org.eclipse.platform/css/overview/swt.properties
deleted file mode 100644
index 540306b..0000000
--- a/platform/org.eclipse.platform/css/overview/swt.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-
-overview.layout.ncolumns = 2
-overview.page-content.overview-links.layout.vspacing = 35
-
-overview.page-content.overview-links.basics.link-icon = css/graphics/icons/obj48/wbbasics_obj.gif
-overview.page-content.overview-links.team.link-icon = css/graphics/icons/obj48/teamsup_obj.gif
-overview.page-content.overview-links.layout.ncolumns = 2
-
-overview.subtitle-id = overview/page-content/page-title
-overview.description-id = overview/page-content/page-description
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/css/root.css b/platform/org.eclipse.platform/css/root.css
deleted file mode 100644
index 629eae9..0000000
--- a/platform/org.eclipse.platform/css/root.css
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/css/root_swt.properties b/platform/org.eclipse.platform/css/root_swt.properties
deleted file mode 100644
index bbbdb55..0000000
--- a/platform/org.eclipse.platform/css/root_swt.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-
-root.links-background.page-links.overview.link-icon = css/graphics/icons/etool/overview72.gif
-root.links-background.page-links.tutorials.link-icon = css/graphics/icons/etool/tutorials72.gif
-root.links-background.page-links.samples.link-icon= css/graphics/icons/etool/samples72.gif
-root.links-background.page-links.news.link-icon = css/graphics/icons/etool/whatsnew72.gif
-root.action-links.workbench.link-icon = css/graphics/icons/etool/wb48.gif
-
-root.links-background.page-links.overview.hover-icon = css/graphics/icons/ctool/overview72.gif
-root.links-background.page-links.tutorials.hover-icon = css/graphics/icons/ctool/tutorials72.gif
-root.links-background.page-links.samples.hover-icon = css/graphics/icons/ctool/samples72.gif
-root.links-background.page-links.news.hover-icon = css/graphics/icons/ctool/whatsnew72.gif
-root.action-links.workbench.hover-icon = css/graphics/icons/ctool/wb48.gif
-
-
-root.links-background.page-links.overview.small-link-icon = css/graphics/icons/etool/overview48.gif
-root.links-background.page-links.tutorials.small-link-icon = css/graphics/icons/etool/tutorials48.gif
-root.links-background.page-links.samples.small-link-icon = css/graphics/icons/etool/samples48.gif
-root.links-background.page-links.news.small-link-icon = css/graphics/icons/etool/whatsnew48.gif
-root.action-links.workbench.small-link-icon = css/graphics/icons/etool/wb48.gif
-
-root.links-background.page-links.overview.small-hover-icon = css/graphics/icons/ctool/overview48.gif
-root.links-background.page-links.tutorials.small-hover-icon = css/graphics/icons/ctool/tutorials48.gif
-root.links-background.page-links.samples.small-hover-icon = css/graphics/icons/ctool/samples48.gif
-root.links-background.page-links.news.small-hover-icon = css/graphics/icons/ctool/whatsnew48.gif
-root.action-links.workbench.small-hover-icon = css/graphics/icons/ctool/wb48.gif
-
-root.layout.ncolumns = 1
-root.links-background.page-links.layout.hspacing = 40
-root.layout.vspacing = 35
diff --git a/platform/org.eclipse.platform/css/samples/samples.css b/platform/org.eclipse.platform/css/samples/samples.css
deleted file mode 100644
index 3ccb2cd..0000000
--- a/platform/org.eclipse.platform/css/samples/samples.css
+++ /dev/null
@@ -1,94 +0,0 @@
-body {

-	background-image : url(../graphics/contentpage/samples_wtr.jpg);

-}

-

-.page { min-height : 700px; }

-

-/* show the "selected" image for this page */

-#navigation-links a#samples img, #navigation-links a#samples:hover img { background-image : url(../graphics/icons/ctool/samples48sel.gif); }

-

-/* Lay out the real content of the samples page: */

-

-.samples-group {

-	width : 750px;

-	/* To center in Moz (have to use text-align for IE) */	

-	margin : 0px auto;

-	margin-bottom : 10px;

-	text-align : left;

-	float : none;

-	clear : both;

-}

-

-.samples-group H4 { margin-top : 10px; }

-

-.sample-link { 

-	width : 360px;

-	text-align : left; 

-	margin-left : 5px;

-	margin-right : 5px;

-	margin-top : 10px;

-	margin-bottom : -30px;

-	vertical-align : top;

-}

-

-/* specialize the swt samples group to be spread over only 1 column */

-#swt .sample-link { 

-	width : 720px;

-}

-

-.samples-group > .sample-link {

-	float : left;

-	height : 150px;

-	vertical-align : middle;

-}

-

-

-.sample-link .link-label {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -50px;

-	left : 60px;

-}

-

-#swt .sample-link .link-label {

-	width : 600px;	

-} 

-

-.sample-link p .text {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -45px;

-	left : 53px;

-}

-

-#swt .sample-link .text {

-	width : 620px;	

-} 

-

-.sample-link img {

-	height : 56px;

-	width : 56px;

-	vertical-align : middle;

-}

-

-.sample-link:hover { border-right : 0px; }

-

-

-#swt .sample-link img {

-	background-image : url(../graphics/icons/obj48/samplered_obj.gif);

-}

-

-#swt .sample-link:hover img {

-	background-image : url(../graphics/icons/obj48/sampleredhov_obj.gif);

-}

-

-#workbench .sample-link img {

-	background-image : url(../graphics/icons/obj48/samplepurp_obj.gif);

-}

-

-#workbench .sample-link:hover img {

-	background-image : url(../graphics/icons/obj48/samplepurphov_obj.gif);

-}

-

diff --git a/platform/org.eclipse.platform/css/samples/swt.properties b/platform/org.eclipse.platform/css/samples/swt.properties
deleted file mode 100644
index 1976209..0000000
--- a/platform/org.eclipse.platform/css/samples/swt.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-samples.link-icon = css/graphics/icons/obj48/samplepurp_obj.gif
-samples.page-content.swt.swt-examples.link-icon = css/graphics/icons/obj48/samplered_obj.gif
-
-samples.page-content.layout.vspacing = 40
-samples.page-content.swt.layout.ncolumns = 2
-samples.page-content.swt.layout.vspacing = 30
-samples.page-content.swt.layout.hspacing = 30
-samples.page-content.workbench.layout.ncolumns = 2
-samples.page-content.workbench.layout.vspacing = 30
-samples.page-content.workbench.layout.hspacing = 30
-
-description-style-id = group-description
-samples.subtitle-id = samples/page-content/page-title
-samples.description-id = samples/page-content/page-description
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/css/shared.css b/platform/org.eclipse.platform/css/shared.css
deleted file mode 100644
index a82597c..0000000
--- a/platform/org.eclipse.platform/css/shared.css
+++ /dev/null
@@ -1,264 +0,0 @@
-/* 

- * Set up general fonts, sizes and colors 

- */

-body { font-family : Arial, sans-serif; }

-

-H1, H2, H3, H4, p, a { color : #4D4D4D; }

-

-.intro-header H1 {

-	font-size : 16pt;

-	font-weight : normal;

-	color : #E5E5E5;

-}

-

-h2 {

-	font-size : 13pt;

-	font-weight : normal;

-	color : #7B8694;

-}

-/* For regular div labels */

-H4 .div-label {

-	font-size : 10pt;

-	font-weight : bold;

-}

-

-/* For the main page content's title */

-#content-header H4 .div-label {

-	font-size : 14pt;

-	font-weight : normal;

-	color : #8C96A2;

-	float : none;

-	clear : both;

-}

-

-.page-description { 

-	font-size : 10pt;

-	float : none;

-	clear : both;

-}

-

-a {

-	font-weight : bold;

-	text-decoration : none;

-	color : #4D4D4D;

-}

-

-a .link-label {

-	font-size : 10pt;

-	font-weight : normal;

-}

-

-#navigation-links a .link-label {

-	font-size : 9pt;

-	font-weight : normal;

-	color : #E5E5E5;

-}

-

-a .text {

-	font-size : 8pt;

-	font-weight : normal;

-}

-

-p .group-description {

-	font-size : 10pt;

-	font-weight : normal;

-}

-

-

-/* 

- * Set up other general properties like padding/margins

- */

-html, body { width : 100%; height : 100%; }

-

-html, body, div, h1, h4, p, a { margin : 0px; padding : 0px; }

-

-.intro-header H1 { padding-top : 10px; margin-left : 10px; }

-

-/* For regular div labels */

-#page-content div H4 {

-	padding : 10px;

-	padding-bottom : 0px;

-}

-

-/* For the main page content's div label */

-#page-content #content-header H4 {

-	padding-bottom : 10px;

-	padding-top : 0px;

-}

-

-/* special case for Mozilla's main content-header label.

-   Mozilla 1.4 needs more room at the top */

-#page-content > #content-header H4 { padding-top : 10px; }

-

-/* Needed in IE to get shift+tab to show the active image properly */

-a:active {

-	border : solid 0px;

-}

-

-a img {

-	border-width : 0;

-	background-repeat : no-repeat;

-}

-

-/*

- * to get scrollbars working in both IE and Mozilla

- */

-html,body { overflow: auto; }

-html>body { overflow: visible; }

-

-/*

- * Set up the body, decorative background, and navigation for the content 

- * pages. 

- * Note: the root page handles its own background and navigation; these

- * settings primarily apply to the content pages

- */

-body {

-	background-color : #FFFFFF;

-	background-repeat : no-repeat;

-	background-position : bottom right;

-}

-

-#background-image {

-	width : 100%;

-	min-width : 770px;

-	height : 164px;

-	background-image : url(graphics/contentpage/background.jpg);

-	background-repeat : no-repeat;

-	background-position : top left;	

-	position : absolute;

-	top : 0px;

-	z-index : -100;

-}

-

-#curve-image { 

-	width : 100%;

-	height : 164px;

-	position : absolute;

-	top : 0px;

-	background-image : url(graphics/contentpage/backgroundcurve.gif);

-	background-repeat : no-repeat;

-	background-position : top center;

-	margin : 0;

-	padding : 0;

-}

-

-.intro-header {	background-color : transparent; z-index : 100;}

-

-body, .page{

-	min-width : 770px;

-	/* since IE doesn't support min-width, try expression */

-	width:expression(document.body.clientWidth < 770? "770px": "auto" );

-	min-height : 425px;

-	height : 100%;

-	height : expression(document.body.clientHeight < 425? "425px": "100%" );

-}

-

-.page { 

-	background-image : url(graphics/contentpage/wordmark.gif);

-	background-repeat : no-repeat;

-	background-position : bottom left;

-	min-height : 475px;

-}

-

-#page-content {

-	background-repeat : no-repeat;

-	background-position : bottom right;

-	height : 70%;

-}

-

-/* 

- * Lay out the navigation links 

- * (Root page does something similar for its navigation)

- */

-#navigation-links {

-	position : relative;

-	left : 10px;

-	top : 5px;

-	height : 60;

-	width : 98%;

-}

-

-#navigation-links a {

-	padding-left : 5px;

-	padding-right : 5px;

-	float : left;

-	text-align : center;

-}

-

-#navigation-links a img {

-	height : 52px;

-	width : 52px;

-	vertical-align : middle;

-}

-

-#navigation-links a .link-label { display : block; margin-top : 5px;}

-

-#navigation-links a .text { display : none; }

-

-#navigation-links a:hover, 

-#navigation-links a:focus 

-#navigation-links a:active { border-right : 0px;}

-

-/* properties for each of the navigation-links  */

-#navigation-links a#overview img { background-image : url(graphics/icons/etool/overview48.gif); }

-#navigation-links a#overview:hover img,

-#navigation-links a#overview:focus img,

-#navigation-links a#overview:active img { background-image : url(graphics/icons/ctool/overview48.gif); }

-/*#navigation-links a#overview:active img { background-image : url(graphics/icons/ctool/overview48sel.gif); }*/

-

-#navigation-links a#tutorials img { background-image : url(graphics/icons/etool/tutorials48.gif); }

-#navigation-links a#tutorials:hover img,

-#navigation-links a#tutorials:active img,

-#navigation-links a#tutorials:focus img { background-image : url(graphics/icons/ctool/tutorials48.gif); }

-/*#navigation-links a#tutorials:active img { background-image : url(graphics/icons/ctool/tutorials48sel.gif); }*/

-

-#navigation-links a#samples img { background-image : url(graphics/icons/etool/samples48.gif); }

-#navigation-links a#samples:hover img,

-#navigation-links a#samples:active img,

-#navigation-links a#samples:focus img { background-image : url(graphics/icons/ctool/samples48.gif); }

-/*#navigation-links a#samples:active img { background-image : url(graphics/icons/ctool/samples48sel.gif); }*/

-

-#navigation-links a#news img { background-image : url(graphics/icons/etool/whatsnew48.gif); }

-#navigation-links a#news:hover img,

-#navigation-links a#news:focus img,

-#navigation-links a#news:active img { background-image : url(graphics/icons/ctool/whatsnew48.gif); }

-/*#navigation-links a#news:active img { background-image : url(graphics/icons/ctool/whatsnew48sel.gif); }*/

-

-#navigation-links a#workbench { position : absolute;  right : 0px; top : -35px; text-align : right;}

-#navigation-links a#workbench .text { display : none; }

-#navigation-links a#workbench img { background-image : url(graphics/icons/etool/wb48.gif); width : 53px; height : 53px;}

-#navigation-links a#workbench:hover img,

-#navigation-links a#workbench:focus img,

-#navigation-links a#workbench:active img { background-image : url(graphics/icons/ctool/wb48.gif); }

-

-/* 

- * Lay out the page title and description 

- */

-h1, p { margin-left : 10px; } /* required in mozilla so the page description is properly indented */

-

-/* position the page content so that the page title overlays the bottom

- * of the background image, but make sure the content is always on top 

- * (using z-index) */

-#page-content {

-	float : none;

-	clear : both;

-	text-align : center;

-	margin-top : 35px;

-}

-

-.page > #page-content { margin-top : 50px; }

-

-#page-content p { 

-	padding-bottom : 15px; 

-	text-align : left; 

-	float : none;

-	clear : both;

-}

-

-#page-content #content-header H4, .page-description {

-	text-align : left;

-	margin-right : 10px;

-	float : none;

-	clear : both;

-}

-

diff --git a/platform/org.eclipse.platform/css/standby_root.css b/platform/org.eclipse.platform/css/standby_root.css
deleted file mode 100644
index 661d2c4..0000000
--- a/platform/org.eclipse.platform/css/standby_root.css
+++ /dev/null
@@ -1,121 +0,0 @@
-/* 

- * Set up general font colours, sizes, etc.  Some of these will override

- * settings from the shared CSS 

- */

-.intro-header H1 {

-	font-size : 15pt;

-}

-

-#page-links a .link-label, #action-links a .link-label {

-	font-size : 10pt;

-	font-weight : 600;

-	color : #E5E5E5;

-}

-

-#page-links a p .text, #action-links a p .text {

-	font-size : 10pt;

-	font-weight : 500;

-	color : #E5E5E5;

-}

-

-/*

- * Set up the content for the standby page.

- */

-body {

-	min-width : 230px;

-	/* since IE doesn't support min-width, use expression */

-	width:expression(document.body.clientWidth < 230? "230px": "auto" );

-	background-image : url(graphics/rootpage/background.jpg);

-	background-repeat : no-repeat;

-	background-position : top left;

-	background-color : #7169D1;

-}

-

-.page { 

-	background-image : url(graphics/rootpage/brandmark.gif);

-	background-repeat : no-repeat;

-	background-position : bottom left;

-	min-width : 230px;

-	/* since IE doesn't support min-width, use expression */

-	width:expression(document.body.clientWidth < 230? "230px": "auto" );

- 	min-height : 610px;

-	height : 100%;

-	height : expression(document.body.clientHeight < 450? "450px": "100%" );

-}

-

-/* 

- * Set up the navigation bar.  It should be centered in the middle

- * of the page

- */

-

-#links-background { 

-	width : 100%; 

- 	margin-top : 10%; 

-	margin-bottom : auto;

-	text-align : center;

-}

-

-#page-links a {

-	display : block;

-	width : 220px;

-	text-align : left; 

-	margin-left : auto;

-	margin-right : auto;

-	margin-top : 0px;

-	vertical-align : top;

-}

-#page-links a span, #page-links a p {

-	display : block;

-	width : 160px;

-	margin : 0px;

-	padding : 0px;

-}

-

-#page-links a .link-label {

-	position : relative;

-	left : 60px;

-	top : -50px;

-}

-

-#page-links a p .text {

-	position : relative;

-	left : 60px;

-	top : -50px;

-

-}

-

-#page-links a img {

-	height : 52px;

-	width : 52px;

-	vertical-align : middle;

-}

-

-#page-links a:hover,

-#page-links a:focus,

-#page-links a:active  { border : 0px; }

-

-#page-links a:hover p,

-#page-links a:focus p,

-#page-links a:active p  { margin : 0px; padding : 0px; }

-

-/* properties for each of the page-links  */

-a#overview img { background-image : url(graphics/icons/etool/overview48.gif); }

-a#overview:hover img,

-a#overview:focus img,

-a#overview:active img { background-image : url(graphics/icons/ctool/overview48.gif); }

-

-a#tutorials img { background-image : url(graphics/icons/etool/tutorials48.gif); }

-a#tutorials:hover img,

-a#tutorials:focus img,

-a#tutorials:active img { background-image : url(graphics/icons/ctool/tutorials48.gif); }

-

-a#samples img { background-image : url(graphics/icons/etool/samples48.gif); }

-a#samples:hover img,

-a#samples:focus img,

-a#samples:active img { background-image : url(graphics/icons/ctool/samples48.gif); }

-

-a#news img { background-image : url(graphics/icons/etool/whatsnew48.gif); }

-a#news:hover img,

-a#news:focus img,

-a#news:active img { background-image : url(graphics/icons/ctool/whatsnew48.gif); }

-

diff --git a/platform/org.eclipse.platform/css/standby_swt.properties b/platform/org.eclipse.platform/css/standby_swt.properties
deleted file mode 100644
index 5a5f0ac..0000000
--- a/platform/org.eclipse.platform/css/standby_swt.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-standby.links-background.page-links.overview.link-icon = css/graphics/icons/etool/overview72.gif
-standby.links-background.page-links.tutorials.link-icon = css/graphics/icons/etool/tutorials72.gif
-standby.links-background.page-links.samples.link-icon= css/graphics/icons/etool/samples72.gif
-standby.links-background.page-links.news.link-icon = css/graphics/icons/etool/whatsnew72.gif
-
-
-standby.links-background.page-links.overview.hover-icon = css/graphics/icons/ctool/overview72.gif
-standby.links-background.page-links.tutorials.hover-icon = css/graphics/icons/ctool/tutorials72.gif
-standby.links-background.page-links.samples.hover-icon = css/graphics/icons/ctool/samples72.gif
-standby.links-background.page-links.news.hover-icon = css/graphics/icons/ctool/whatsnew72.gif
-
-
-standby.links-background.page-links.layout.vspacing = 30
-standby.layout.vspacing = 35
-standby.show-link-description = false
-standby.show-home-page-navigation = false
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/css/tutorials/swt.properties b/platform/org.eclipse.platform/css/tutorials/swt.properties
deleted file mode 100644
index c0ad472..0000000
--- a/platform/org.eclipse.platform/css/tutorials/swt.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-
-tutorials.page-content.layout.vspacing = 40
-
-tutorials.subtitle-id = tutorials/page-content/page-title
-tutorials.description-id = tutorials/page-content/page-description
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/css/tutorials/tutorials.css b/platform/org.eclipse.platform/css/tutorials/tutorials.css
deleted file mode 100644
index 053efe8..0000000
--- a/platform/org.eclipse.platform/css/tutorials/tutorials.css
+++ /dev/null
@@ -1,79 +0,0 @@
-body {

-	background-image : url(../graphics/contentpage/tutorials_wtr.jpg);

-}

-

-.page { min-height : 700px; }

-

-/* show the "selected" image for this page */

-#navigation-links a#tutorials img, #navigation-links a#tutorials:hover img { background-image : url(../graphics/icons/ctool/tutorials48sel.gif); }

-

-/* 

- * Set up the content of the tutorials page into two

- * columns that are centered in the page

- */

-

-

-/* a group of tutorial links */

-.tutorials-group {

-	/* To center in Moz (have to use text-align for IE) */

-	margin-left : auto;

-	margin-right : auto;

-	width : 750px;

-	margin-bottom : 30px;

-	float : none;

-	clear : both;

-	text-align : left;

-}

-

-.tutorials-link { 

-	width : 360px;

-	text-align : left; 

-	margin-left : 5px;

-	margin-right : 5px;

-	margin-top : 10px;

-	margin-bottom : -20px;

-	vertical-align : top;

-}

-

-.tutorials-group > .tutorials-link {

-	float : left;

-	height : 150px;

-	vertical-align : middle;

-}

-

-

-.tutorials-link img  {

-	height : 57px;

-	width : 57px;

-	vertical-align : middle;

-}

-

-.tutorials-group h4 {

-	float : none;

-	clear : both;

-}

-

-p #group-description {

-	padding-bottom : 10px;

-	float : none;

-	clear : both;

-}

-

-.tutorials-link .link-label {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -50px;

-	left : 60px;

-}

-

-

-.tutorials-link p .text {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -45px;

-	left : 53px;

-}

-

-.tutorials-link:hover { border-right : 0px; }

diff --git a/platform/org.eclipse.platform/css/whatsnew/swt.properties b/platform/org.eclipse.platform/css/whatsnew/swt.properties
deleted file mode 100644
index be302da..0000000
--- a/platform/org.eclipse.platform/css/whatsnew/swt.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-
-news.page-content.news-links.layout.ncolumns = 2
-news.page-content.news-links.layout.vspacing = 30
-
-news.page-content.news-links.new-and-noteworthy.link-icon = css/graphics/icons/obj48/new_obj.gif
-news.page-content.news-links.migration.link-icon = css/graphics/icons/obj48/migrate_obj.gif
-news.page-content.news-links.updates.link-icon = css/graphics/icons/obj48/updates_obj.gif
-news.page-content.news-links.eclipse.link-icon = css/graphics/icons/obj48/community_obj.gif
-
-news.page-content.noteworthy-links.layout.ncolumns = 2
-news.page-content.noteworthy-links.layout.vspacing = 15 
-news.page-content.news-links.layout.vspacing = 15 
-news.page-content.layout.vspacing = 40 
-
-news.link-icon = css/graphics/icons/obj48/new_obj.gif
-
-news.subtitle-id = news/page-content/page-title
diff --git a/platform/org.eclipse.platform/css/whatsnew/whatsnew.css b/platform/org.eclipse.platform/css/whatsnew/whatsnew.css
deleted file mode 100644
index db426eb..0000000
--- a/platform/org.eclipse.platform/css/whatsnew/whatsnew.css
+++ /dev/null
@@ -1,129 +0,0 @@
-body {

-	background-image : url(../graphics/contentpage/whatsnew_wtr.jpg);

-}

-

-.page { min-height : 500px; }

-

-/* show the "selected" image for this page */

-#navigation-links a#news img, #navigation-links a#news:hover img { background-image : url(../graphics/icons/ctool/whatsnew48sel.gif); }

-

-/* 

- * Set up the content of the Whats New page to be displayed in 

- * two columns that are centered in the middle of the page.

- */

-

-#noteworthy-links {

-	text-align : left;

-	width : 760px;

-	/* To center in Moz (have to use text-align for IE) */	

-	margin: 0px auto;

-}

-

-#noteworthy-links a { 

-	width : 370px;

-	text-align : left; 

-	margin-left : 5px;

-	margin-right : 5px;

-	margin-top : 5px;

-	margin-bottom : -20px;

-	vertical-align : top;

-}

-

-#noteworthy-links > a { vertical-align : middle; }

-

-#noteworthy-links a img {

-	height : 57px;

-	width : 57px;

-	vertical-align : middle;

-}

-

-#noteworthy-links a .link-label {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -50px;

-	left : 60px;

-}

-

-#noteworthy-links a p .text {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -45px;

-	left : 53px;

-}

-

-/* Special case for Mozilla, because the links are displayed

-   in 1 vertical column instead of 2 centered columns */

-#noteworthy-links > a { width : 700px; }

-#noteworthy-links a > .link-label { width : 700px; }

-#noteworthy-links a p > .text { width : 700px; }

-

-#noteworthy-links a:hover { border-right : 5px; }

-

-#noteworthy-links a img { background-image : url(../graphics/icons/obj48/new_obj.gif); }

-#noteworthy-links a:hover img { background-image : url(../graphics/icons/obj48/newhov_obj.gif); }

-

-

-#news-links {

-	text-align : left;

-	width : 760px;

-	/* To center in Moz (have to use text-align for IE) */	

-	margin: 0px auto;

-}

-

-#news-links a { 

-	width : 370px;

-	text-align : left; 

-	margin-left : 5px;

-	margin-right : 5px;

-	margin-top : 5px;

-	margin-bottom : -20px;

-	vertical-align : top;

-}

-

-#news-links > a { vertical-align : middle; }

-

-#news-links a img {

-	height : 57px;

-	width : 57px;

-	vertical-align : middle;

-}

-

-#news-links a .link-label {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -50px;

-	left : 60px;

-}

-

-#news-links a p .text {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -45px;

-	left : 53px;

-}

-

-/* Special case for Mozilla, because the links are displayed

-   in 1 vertical column instead of 2 centered columns */

-#news-links > a { 	width : 700px; }

-#news-links a > .link-label { width : 700px; }

-#news-links a p > .text { width : 700px; }

-

-#news-links a:hover { border-right : 5px; }

-

-a#new-and-noteworthy img { background-image : url(../graphics/icons/obj48/new_obj.gif); }

-a#new-and-noteworthy:hover img { background-image : url(../graphics/icons/obj48/newhov_obj.gif); }

-

-a#migration img { background-image : url(../graphics/icons/obj48/migrate_obj.gif); }

-a#migration:hover img { background-image : url(../graphics/icons/obj48/migratehov_obj.gif); }

-

-a#updates img { background-image : url(../graphics/icons/obj48/updates_obj.gif); }

-a#updates:hover img { background-image : url(../graphics/icons/obj48/updateshov_obj.gif); }

-

-a#eclipse img { background-image : url(../graphics/icons/obj48/community_obj.gif); }

-a#eclipse:hover img { background-image : url(../graphics/icons/obj48/communityhov_obj.gif); }

-

-

diff --git a/platform/org.eclipse.platform/eclipse.gif b/platform/org.eclipse.platform/eclipse.gif
deleted file mode 100644
index 6ca37e0..0000000
--- a/platform/org.eclipse.platform/eclipse.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/eclipse32.gif b/platform/org.eclipse.platform/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/platform/org.eclipse.platform/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/eclipse_lg.gif b/platform/org.eclipse.platform/eclipse_lg.gif
deleted file mode 100644
index 27c0838..0000000
--- a/platform/org.eclipse.platform/eclipse_lg.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro.gif b/platform/org.eclipse.platform/intro.gif
deleted file mode 100644
index eb7b90c..0000000
--- a/platform/org.eclipse.platform/intro.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/introContent.xml b/platform/org.eclipse.platform/introContent.xml
deleted file mode 100644
index 0360ed6..0000000
--- a/platform/org.eclipse.platform/introContent.xml
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<introContent>
-  <!-- 
-
--->
-  <page alt-style="css/root_swt.properties" style="css/root.css" id="root" style-id="page">
-    <title style-id="intro-header">Welcome to Eclipse 3.0</title>
-    <group id="links-background">
-      <group id="page-links">
-        <link label="Overview" url="http://org.eclipse.ui.intro/showPage?id=overview" id="overview" style-id="left">
-          <img id="overview_img" style-id="content-img" src="css/graphics/icons/etool/overview72.gif" alt="Overview"></img>
-          <text>Find out what Eclipse is all about</text>
-        </link>
-        <link label="Tutorials" url="http://org.eclipse.ui.intro/showPage?id=tutorials" id="tutorials" style-id="left">
-	      <img id="tutorials_img" style-id="content-img" src="css/graphics/icons/etool/tutorials72.gif" alt="Tutorials"></img>
-          <text>Let us guide you through Eclipse end-to-end tutorials</text>
-        </link>
-        <link label="Samples" url="http://org.eclipse.ui.intro/showPage?id=samples" id="samples" style-id="right">
-          <img id="samples_img" style-id="content-img" src="css/graphics/icons/etool/samples72.gif" alt="Samples"></img>
-          <text>Explore Eclipse development through code samples</text>
-        </link>
-        <link label="What&apos;s New" url="http://org.eclipse.ui.intro/showPage?id=news" id="news" style-id="right">
-          <img id="whatsnew_img" style-id="content-img" src="css/graphics/icons/etool/whatsnew72.gif" alt="What&apos;s New"></img>
-          <text>Find out what is new in this release</text>
-        </link>
-      </group>
-    </group>
-    <group id="action-links">
-      <link url="http://org.eclipse.ui.intro/switchToLaunchBar" label="Workbench" id="workbench">
-        <img id="workbench_img" style-id="content-img" src="css/graphics/icons/etool/wb48.gif" alt="Go to the workbench"></img>
-        <text>Go to the workbench</text>
-      </link>
-    </group>
-  </page>
-  <!-- 
-
--->
-  <page alt-style="css/standby_swt.properties" style="css/standby_root.css" id="standby" style-id="page">
-    <title style-id="intro-header">Welcome to Eclipse 3.0</title>
-    <group id="links-background">
-      <group id="page-links">
-        <link label="Overview" url="http://org.eclipse.ui.intro/showPage?id=overview&amp;standby=false" id="overview" style-id="left">
-          <text>Find out what Eclipse is all about</text>
-        </link>
-        <link label="Tutorials" url="http://org.eclipse.ui.intro/showPage?id=tutorials&amp;standby=false" id="tutorials" style-id="left">
-          <text>Let us guide you through Eclipse end-to-end tutorials</text>
-        </link>
-        <link label="Samples" url="http://org.eclipse.ui.intro/showPage?id=samples&amp;standby=false" id="samples" style-id="right">
-          <text>Explore Eclipse development through code samples</text>
-        </link>
-        <link label="What&apos;s New" url="http://org.eclipse.ui.intro/showPage?id=news&amp;standby=false" id="news" style-id="right">
-          <text>Find out what is new in this release</text>
-        </link>
-      </group>
-    </group>
-  </page>
-  <!--
-
--->
-  <page style="css/overview/overview.css" alt-style="css/overview/swt.properties" id="overview" style-id="page">
-    <title style-id="intro-header">Welcome to Eclipse 3.0</title>
-    <group id="background-image" filteredFrom="swt"/>
-    <group id="curve-image" filteredFrom="swt"/>
-    <group id="navigation-links" filteredFrom="swt">
-      <group id="page-links">
-        <link label="Overview" url="http://org.eclipse.ui.intro/showPage?id=overview" id="overview" style-id="left">
-          <text>Find out what Eclipse is all about</text>
-        </link>
-        <link label="Tutorials" url="http://org.eclipse.ui.intro/showPage?id=tutorials" id="tutorials" style-id="left">
-          <text>Let us guide you through Eclipse end-to-end tutorials</text>
-        </link>
-        <link label="Samples" url="http://org.eclipse.ui.intro/showPage?id=samples" id="samples" style-id="right">
-          <text>Explore Eclipse development through code samples</text>
-        </link>
-        <link label="What&apos;s New" url="http://org.eclipse.ui.intro/showPage?id=news" id="news" style-id="right">
-          <text>Find out what is new in this release</text>
-        </link>
-      </group>
-      <group id="action-links">
-      	<link url="http://org.eclipse.ui.intro/switchToLaunchBar" label="Workbench" id="workbench">
-        	<text>Go to the workbench</text>
-      	</link>
-      </group>
-    </group>
-    <!-- -->
-    <group id="page-content">
-      <group id="content-header" label="OVERVIEW" filteredFrom="swt"></group>
-      <text style-id="page-title" id="page-title" filteredFrom="html">OVERVIEW</text>
-      <text style-id="page-description" id="page-description">Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular. It provides a feature-rich development environment that allows the developer to efficiently create tools that integrate seamlessly into the Eclipse Platform.</text>
-      <group id="overview-links">
-	<anchor id="beginAnchor"/>
-        <link label="Workbench basics" url="http://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.platform.doc.user/concepts/concepts-2.htm" id="basics">
-          <text>Learn about basic Eclipse workbench concepts</text>
-        </link>
-        <link label="Team support" url="http://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.platform.doc.user/concepts/concepts-26.htm" id="team">
-          <text>Find out how to collaborate with other developers</text>
-        </link>
-        <anchor id="jdtAnchor"/>
-        <anchor id="pdeAnchor"/>
-	<anchor id="endAnchor"/>
-      </group>
-    </group>
-  </page>
-  <!-- 
-
--->
-  <page style="css/tutorials/tutorials.css" alt-style="css/tutorials/swt.properties" id="tutorials" style-id="page">
-    <title style-id="intro-header">Welcome to Eclipse 3.0</title>
-    <group id="background-image" filteredFrom="swt"/>
-    <group id="curve-image" filteredFrom="swt"/>
-    <include path="overview/navigation-links"/>
-    <group id="page-content">
-      <group id="content-header" label="TUTORIALS" filteredFrom="swt"></group>
-      <text style-id="page-title" id="page-title" filteredFrom="html">TUTORIALS</text>
-      <text style-id="page-description" id="page-description">Learn how to be productive using Eclipse by completing end-to-end tutorials that will guide you along the way.</text>
-      <anchor id="beginAnchor"/>
-      <anchor id="jdtAnchor"/>
-      <anchor id="pdeAnchor"/>
-      <anchor id="endAnchor"/>
-    </group>
-  </page>
-  <!-- 
-
--->
-  <page style="css/samples/samples.css" alt-style="css/samples/swt.properties" id="samples" style-id="page">
-    <title style-id="intro-header">Welcome to Eclipse 3.0</title>
-    <group id="background-image" filteredFrom="swt"/>
-    <group id="curve-image" filteredFrom="swt"/>
-    <include path="overview/navigation-links"/>
-    <group id="page-content">
-      <group id="content-header" label="SAMPLES" filteredFrom="swt"></group>
-      <text style-id="page-title" id="page-title" filteredFrom="html">SAMPLES</text>
-      <text style-id="page-description" id="page-description">Explore Eclipse by installing prefabricated samples (may require Internet connection).</text>
-      <anchor id="beginAnchor"/>
-      <group label="SWT" id="swt" style-id="samples-group">
-        <text style-id="group-description">Run SWT samples using either the standalone SWT launcher or as an integrated workbench view.</text>
-        <link label="Workbench views and standalone applications" url="http://org.eclipse.ui.intro/runAction?pluginId=org.eclipse.pde.ui&amp;class=org.eclipse.pde.ui.internal.samples.ShowSampleAction&amp;id=org.eclipse.sdk.samples.swt.examples" id="swt-examples" style-id="sample-link">
-          <text>The SWT Example launcher will allow you to launch a collection of SWT examples.  Some of the examples can be run independent of the eclipse platform and others will be available as views inside the workbench.</text>
-        </link>
-        
-        <anchor id="swtGroupAnchor"/>
-      </group>
-      <group label="Workbench" id="workbench" style-id="samples-group">
-        <text style-id="group-description">The following samples demonstrate how to tightly integrate into the Eclipse workbench.</text>
-        <link label="Multi-page editor" url="http://org.eclipse.ui.intro/runAction?pluginId=org.eclipse.pde.ui&amp;class=org.eclipse.pde.ui.internal.samples.ShowSampleAction&amp;id=org.eclipse.sdk.samples.multipageeditor" id="multi-page-editor" style-id="sample-link">
-          <text>Shows how to create an editor with multiple pages</text>
-        </link>
-        <link label="Property sheet and outline" url="http://org.eclipse.ui.intro/runAction?pluginId=org.eclipse.pde.ui&amp;class=org.eclipse.pde.ui.internal.samples.ShowSampleAction&amp;id=org.eclipse.sdk.samples.propertysheet" id="property-sheet" style-id="sample-link">
-          <text>Demonstrates how to use property sheet and outline views</text>
-        </link>
-        <link label="Readme tool" url="http://org.eclipse.ui.intro/runAction?pluginId=org.eclipse.pde.ui&amp;class=org.eclipse.pde.ui.internal.samples.ShowSampleAction&amp;id=org.eclipse.sdk.samples.readmetool" id="readmetool" style-id="sample-link">
-          <text>Shows how to create your own extension points</text>
-        </link>
-        <anchor id="jdtAnchor"/>
-        <anchor id="workbenchGroupAnchor"/>
-      </group>
-      <anchor id="endAnchor"/>
-    </group>
-  </page>
-  <!-- 
-
--->
-  <page style="css/whatsnew/whatsnew.css" alt-style="css/whatsnew/swt.properties" id="news" style-id="page">
-    <title style-id="intro-header">Welcome to Eclipse 3.0</title>
-    <group id="background-image" filteredFrom="swt"/>
-    <group id="curve-image" filteredFrom="swt"/>
-    <include path="overview/navigation-links"/>
-    <group id="page-content">
-      <group id="content-header" label="WHAT'S NEW" filteredFrom="swt"></group>
-      <text style-id="page-title" id="page-title" filteredFrom="html">WHAT'S NEW</text>
-      <anchor id="beginAnchor"/>
-      <group id="noteworthy-links" label="New and Noteworthy">
-        <link label="Eclipse Platform" url="http://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.platform.doc.user/whatsNew/platform_whatsnew.html" id="platform-noteworthy" style-id="noteworthy-link">
-          <text>Find out about the major new features in this release</text>
-        </link>
-        <anchor id="jdtAnchor"/>
-        <anchor id="pdeAnchor"/>
-        <anchor id="generalAnchor"/>
-      </group>
-      <group id="news-links" label="General">
-        <link label="Migration from the previous release" url="http://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.platform.doc.isv/porting/eclipse_3_0_porting_guide.html" id="migration">
-          <text>Learn what you need to do to make your old code work in Eclipse 3.0</text>
-        </link>
-        <link label="New Updates" url="http://org.eclipse.ui.intro/runAction?pluginId=org.eclipse.ui.ide&amp;class=org.eclipse.ui.internal.ide.update.InstallWizardAction" id="updates">
-          <text>Get the latest updates from Eclipse.org</text>
-        </link>
-        <link label="Eclipse community" url="http://www.eclipse.org" id="eclipse">
-          <text>Join the community, read articles and news on Eclipse.org</text>
-        </link>
-	<anchor id="linksAnchor"/>
-      </group>
-      <anchor id="endAnchor"/>
-    </group>
-  </page>
-</introContent>
diff --git a/platform/org.eclipse.platform/plugin.properties b/platform/org.eclipse.platform/plugin.properties
deleted file mode 100644
index 0290c90..0000000
--- a/platform/org.eclipse.platform/plugin.properties
+++ /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
-###############################################################################
-pluginName=Eclipse Platform
-providerName=Eclipse.org
-
-productName=Eclipse Platform
-productBlurb=Eclipse Platform\n\
-\n\
-Version: 3.1.0\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2004.  All rights reserved.\n\
-Visit http://www.eclipse.org/platform\n\
-\n\
-This product includes software developed by the\n\
-Apache Software Foundation http://www.apache.org/
-
-cheatsheet.cvs.name= CVS Tasks
-cheatsheet.cvs.desc= Go through the main CVS tasks using the cheat sheet
-shortcut.overview.tooltip = Overview
-shortcut.tutorials.tooltip = Tutorials
-shortcut.samples.tooltip = Samples
-shortcut.whatsnew.tooltip = What's New
diff --git a/platform/org.eclipse.platform/plugin.xml b/platform/org.eclipse.platform/plugin.xml
deleted file mode 100644
index e973d24..0000000
--- a/platform/org.eclipse.platform/plugin.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.platform"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName">
-
-   <runtime>
-      <library name="startup.jar"/>
-      <library name="platform.jar">
-         <export name="*"/>
-      </library>
-   </runtime>   
-   <requires>
-      <import plugin="org.eclipse.ui.intro" optional="true"/>
-      <import plugin="org.eclipse.ui.cheatsheets" optional="true"/>
-      <import plugin="org.eclipse.ui.forms" optional="true"/>
-      <import plugin="org.eclipse.ui" optional="true"/>
-   </requires>
-   
-   <extension id="ide" point="org.eclipse.core.runtime.products"> 
-      <product name="%productName" application="org.eclipse.ui.ide.workbench" description="%productBlurb"> 
-          <property name="windowImages" value="eclipse.gif,eclipse32.gif"/> 
-          <property name="aboutImage" value="eclipse_lg.gif"/> 
-          <property name="aboutText" value="%productBlurb"/> 
-          <property name="appName" value="Eclipse"/> 
-          <property name="preferenceCustomization" value="plugin_customization.ini"/> 
-      </product> 
-   </extension> 
-
-   <extension  
-         point="org.eclipse.ui.intro">
-      <intro
-            class="org.eclipse.ui.intro.config.CustomizableIntroPart"
-            id="org.eclipse.platform.intro"
-            icon="intro.gif">
-      </intro>
-      <introProductBinding
-            introId="org.eclipse.platform.intro"
-            productId="org.eclipse.platform.ide">
-      </introProductBinding>
-   </extension>
-   <extension   
-         id="intro"
-         point="org.eclipse.ui.intro.config">
-      <config
-            introId="org.eclipse.platform.intro"
-            id="org.eclipse.platform.introConfig"
-            content="$nl$/introContent.xml">
-         <presentation
-               home-page-id="root" standby-page-id="standby">
-            <implementation
-                  ws="win32"
-                  style="css/shared.css"
-                  kind="html"
-                  os="win32">
-            </implementation>
-            <implementation
-                  kind="swt">
-            </implementation>
-            <!--
-            fg="#7269d2"
-            -->
-            <launchBar 	
-            	location="right" 
-            	bg="#dedcf5" 
-            	>
-               <shortcut
-                     icon="css/graphics/icons/etool/overview.gif"
-                     tooltip="%shortcut.overview.tooltip"
-                     url="http://org.eclipse.ui.intro/showPage?id=overview"/>
-               <shortcut
-                     tooltip="%shortcut.tutorials.tooltip"
-                     icon="css/graphics/icons/etool/tutorials.gif"
-                     url="http://org.eclipse.ui.intro/showPage?id=tutorials"/>
-               <shortcut
-                     tooltip="%shortcut.samples.tooltip"
-                     icon="css/graphics/icons/etool/samples.gif"
-                     url="http://org.eclipse.ui.intro/showPage?id=samples"/>
-               <shortcut
-                     tooltip="%shortcut.whatsnew.tooltip"
-                     icon="css/graphics/icons/etool/whatsnew.gif"
-                     url="http://org.eclipse.ui.intro/showPage?id=news"/>                                             
-            </launchBar>
-         </presentation>
-      </config>
-   </extension>
-   <extension
-         point="org.eclipse.ui.cheatsheets.cheatSheetContent">
-      <cheatsheet
-            name="%cheatsheet.cvs.name"
-            contentFile="$nl$/cheatsheets/CVS_1.xml"
-            id="org.eclipse.platform.cvs_1">
-         <description>
-            %cheatsheet.cvs.desc
-         </description>
-      </cheatsheet>
-   </extension>
-   <!-- =====================================================  -->
-   <!-- Standby Content Part contributions                     -->
-   <!-- =====================================================  -->
-   <extension point="org.eclipse.ui.intro.configExtension">
-      <standbyContentPart
-            id="org.eclipse.platform.cheatsheet"
-            class="org.eclipse.platform.internal.CheatSheetStandbyContent"
-            pluginId="org.eclipse.platform"/>
-   </extension>
-
-</plugin>
diff --git a/platform/org.eclipse.platform/plugin_customization.ini b/platform/org.eclipse.platform/plugin_customization.ini
deleted file mode 100644
index f22863c..0000000
--- a/platform/org.eclipse.platform/plugin_customization.ini
+++ /dev/null
@@ -1,17 +0,0 @@
-# plugin_customization.ini 
-# sets default values for plug-in-specific preferences
-# keys are qualified by plug-in id
-# e.g., com.example.acmeplugin/myproperty=myvalue
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in plugin_customization.properties
-# This file does not need to be translated.
-
-# Property "org.eclipse.ui/defaultPerspectiveId" controls the 
-# perspective that the workbench opens initially
-org.eclipse.ui/defaultPerspectiveId=org.eclipse.ui.resourcePerspective
-
-# new-style tabs by default
-org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false
-
-# put the perspective switcher on the top right
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight
diff --git a/platform/org.eclipse.platform/plugin_customization.properties b/platform/org.eclipse.platform/plugin_customization.properties
deleted file mode 100644
index dfdc241..0000000
--- a/platform/org.eclipse.platform/plugin_customization.properties
+++ /dev/null
@@ -1,14 +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
-###############################################################################
-# plugin_customization.properties
-# contains externalized strings for plugin_customization.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
diff --git a/platform/org.eclipse.platform/splash.bmp b/platform/org.eclipse.platform/splash.bmp
deleted file mode 100644
index 8f98a73..0000000
--- a/platform/org.eclipse.platform/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/src-intro/org/eclipse/platform/internal/CheatSheetStandbyContent.java b/platform/org.eclipse.platform/src-intro/org/eclipse/platform/internal/CheatSheetStandbyContent.java
deleted file mode 100644
index bdfb019..0000000
--- a/platform/org.eclipse.platform/src-intro/org/eclipse/platform/internal/CheatSheetStandbyContent.java
+++ /dev/null
@@ -1,119 +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.platform.internal;
-
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.cheatsheets.*;
-import org.eclipse.ui.forms.widgets.*;
-import org.eclipse.ui.intro.*;
-import org.eclipse.ui.intro.config.*;
-
-public final class CheatSheetStandbyContent implements IStandbyContentPart {
-
-    private static String MEMENTO_CHEATSHEET_ID_ATT = "cheatsheetId"; //$NON-NLS-1$
-
-    private IIntroPart introPart;
-    private ICheatSheetViewer viewer;
-    private Composite container;
-    private String input;
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#init(org.eclipse.ui.intro.IIntroPart)
-     */
-    public void init(IIntroPart introPart, IMemento memento) {
-        this.introPart = introPart;
-        // try to restore last state.
-        input = getCachedInput(memento);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#createControl(org.eclipse.swt.widgets.Composite,
-     *      org.eclipse.ui.forms.widgets.FormToolkit)
-     */
-    public void createPartControl(Composite parent, FormToolkit toolkit) {
-        container = toolkit.createComposite(parent);
-        FillLayout layout = new FillLayout();
-        layout.marginWidth = layout.marginHeight = 0;
-        container.setLayout(layout);
-
-        viewer = CheatSheetViewerFactory.createCheatSheetView();
-        viewer.createPartControl(container);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#getControl()
-     */
-    public Control getControl() {
-        return container;
-    }
-
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#setInput(java.lang.Object)
-     */
-    public void setInput(Object input) {
-        // if the new input is null, use cacched input from momento.
-        if (input != null)
-            this.input = (String) input;
-        viewer.setInput(this.input);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#setFocus()
-     */
-    public void setFocus() {
-        viewer.setFocus();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#dispose()
-     */
-    public void dispose() {
-
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.config.IStandbyContentPart#saveState(org.eclipse.ui.IMemento)
-     */
-    public void saveState(IMemento memento) {
-        String currentCheatSheetId = viewer.getCheatSheetID();
-        if (currentCheatSheetId != null)
-            memento.putString(MEMENTO_CHEATSHEET_ID_ATT, currentCheatSheetId);
-    }
-
-    /**
-     * Tries to create the last content part viewed, based on content part id..
-     * 
-     * @param memento
-     * @return
-     */
-    private String getCachedInput(IMemento memento) {
-        if (memento == null)
-            return null;
-        return memento.getString(MEMENTO_CHEATSHEET_ID_ATT);
-
-    }
-
-}
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/src/META-INF/MANIFEST.MF b/platform/org.eclipse.platform/src/META-INF/MANIFEST.MF
deleted file mode 100644
index 31877ee..0000000
--- a/platform/org.eclipse.platform/src/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.eclipse.core.launcher.Main
diff --git a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java b/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java
deleted file mode 100644
index fdd2308..0000000
--- a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java
+++ /dev/null
@@ -1,1790 +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.launcher;
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.*;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-/**
- * The launcher for Eclipse.
- */
-public class Main {
-	/**
-	 * Indicates whether this instance is running in debug mode.
-	 */
-	protected boolean debug = false;
-
-	/**
-	 * The location of the launcher to run.
-	 */
-	protected String bootLocation = null;
-
-	/**
-	 * The location of the install root
-	 */
-	protected URL installLocation = null;
-
-	/**
-	 * The location of the configuration information for this instance
-	 */
-	protected URL configurationLocation = null;
-
-	/**
-	 * The location of the configuration information in the install root
-	 */
-	protected String parentConfigurationLocation = null;
-
-	/**
-	 * The id of the bundle that will contain the framework to run.  Defaults to org.eclipse.osgi.
-	 */
-	protected String framework = OSGI;
-
-	/**
-	 * The extra development time class path entries.
-	 */
-	protected String devClassPath = null;
-
-	/**
-	 * Indicates whether this instance is running in development mode.
-	 */
-	protected boolean inDevelopmentMode = false;
-
-	private String exitData = null;
-	private String name = null; // The name to brand the launcher
-	private String launcher = null; // The full path to the launcher
-
-	private String vm = null;
-	private String[] vmargs = null;
-	private String[] commands = null;
-	private String[] extensionPaths = null;
-
-	// splash handling
-	private String showSplash = null;
-	private String endSplash = null;
-	private boolean initialize = false;
-	private Process showProcess = null;
-	private boolean splashDown = false;
-	private final Runnable endSplashHandler = new Runnable() {
-		public void run() {
-			takeDownSplash();
-		}
-	};
-
-	// command line args
-	private static final String FRAMEWORK = "-framework"; //$NON-NLS-1$
-	private static final String INSTALL = "-install"; //$NON-NLS-1$
-	private static final String INITIALIZE = "-initialize"; //$NON-NLS-1$
-	private static final String VM = "-vm"; //$NON-NLS-1$
-	private static final String VMARGS = "-vmargs"; //$NON-NLS-1$
-	private static final String DEBUG = "-debug"; //$NON-NLS-1$
-	private static final String DEV = "-dev"; //$NON-NLS-1$
-	private static final String CONFIGURATION = "-configuration"; //$NON-NLS-1$
-	private static final String EXITDATA = "-exitdata"; //$NON-NLS-1$
-	private static final String NOSPLASH = "-nosplash"; //$NON-NLS-1$
-	private static final String SHOWSPLASH = "-showsplash"; //$NON-NLS-1$
-	private static final String NAME = "-name"; //$NON-NLS-1$
-	private static final String LAUNCHER = "-launcher"; //$NON-NLS-1$
-
-	private static final String ENDSPLASH = "-endsplash"; //$NON-NLS-1$
-	private static final String SPLASH_IMAGE = "splash.bmp"; //$NON-NLS-1$
-
-	private static final String OSGI = "org.eclipse.osgi"; //$NON-NLS-1$
-	private static final String STARTER = "org.eclipse.core.runtime.adaptor.EclipseStarter"; //$NON-NLS-1$
-	private static final String PLATFORM_URL = "platform:/base/"; //$NON-NLS-1$
-	private static final String ECLIPSE_PROPERTIES = "eclipse.properties"; //$NON-NLS-1$
-	private static final String FILE_SCHEME = "file:"; //$NON-NLS-1$	
-    protected static final String REFERENCE_SCHEME = "reference:";
-    protected static final String JAR_SCHEME = "jar:";
-    
-	private static final String DEFAULT_JRE_REQUIRED = "1.4.1"; //$NON-NLS-1$
-	
-	// constants: configuration file location
-	private static final String CONFIG_DIR = "configuration/"; //$NON-NLS-1$
-	private static final String CONFIG_FILE = "config.ini"; //$NON-NLS-1$
-	private static final String CONFIG_FILE_TEMP_SUFFIX = ".tmp"; //$NON-NLS-1$
-	private static final String CONFIG_FILE_BAK_SUFFIX = ".bak"; //$NON-NLS-1$
-	private static final String ECLIPSE = "eclipse"; //$NON-NLS-1$
-	private static final String PRODUCT_SITE_MARKER = ".eclipseproduct"; //$NON-NLS-1$
-	private static final String PRODUCT_SITE_ID = "id"; //$NON-NLS-1$
-	private static final String PRODUCT_SITE_VERSION = "version"; //$NON-NLS-1$
-
-	// constants: System property keys and/or configuration file elements
-	private static final String PROP_USER_HOME = "user.home"; //$NON-NLS-1$
-	private static final String PROP_USER_DIR = "user.dir"; //$NON-NLS-1$
-	private static final String PROP_INSTALL_AREA = "osgi.install.area"; //$NON-NLS-1$
-	private static final String PROP_CONFIG_AREA = "osgi.configuration.area"; //$NON-NLS-1$
-	private static final String PROP_CONFIG_AREA_DEFAULT = "osgi.configuration.area.default"; //$NON-NLS-1$
-	private static final String PROP_BASE_CONFIG_AREA = "osgi.baseConfiguration.area"; //$NON-NLS-1$
-	private static final String PROP_SHARED_CONFIG_AREA = "osgi.sharedConfiguration.area"; //$NON-NLS-1$
-	private static final String PROP_CONFIG_CASCADED = "osgi.configuration.cascaded"; //$NON-NLS-1$
-	protected static final String PROP_FRAMEWORK = "osgi.framework"; //$NON-NLS-1$
-	private static final String PROP_SPLASHPATH = "osgi.splashPath"; //$NON-NLS-1$
-	private static final String PROP_SPLASHLOCATION = "osgi.splashLocation"; //$NON-NLS-1$
-	private static final String PROP_CLASSPATH = "osgi.frameworkClassPath"; //$NON-NLS-1$
-	private static final String PROP_EXTENSIONS = "osgi.framework.extensions"; //$NON-NLS-1$
-	private static final String PROP_FRAMEWORK_SYSPATH = "osgi.syspath"; //$NON-NLS-1$
-    private static final String PROP_FRAMEWORK_SHAPE = "osgi.framework.shape"; //$NON-NLS-1$
-	private static final String PROP_LOGFILE = "osgi.logfile"; //$NON-NLS-1$
-	private static final String PROP_REQUIRED_JAVA_VERSION = "osgi.requiredJavaVersion"; //$NON-NLS-1$
-	private static final String PROP_EOF = "eof"; //$NON-NLS-1$
-
-	private static final String PROP_EXITCODE = "eclipse.exitcode"; //$NON-NLS-1$
-	private static final String PROP_EXITDATA = "eclipse.exitdata"; //$NON-NLS-1$
-
-	private static final String PROP_VM = "eclipse.vm"; //$NON-NLS-1$
-	private static final String PROP_VMARGS = "eclipse.vmargs"; //$NON-NLS-1$
-	private static final String PROP_COMMANDS = "eclipse.commands"; //$NON-NLS-1$
-
-	// Data mode constants for user, configuration and data locations.
-	private static final String NONE = "@none"; //$NON-NLS-1$
-	private static final String NO_DEFAULT = "@noDefault"; //$NON-NLS-1$
-	private static final String USER_HOME = "@user.home"; //$NON-NLS-1$
-	private static final String USER_DIR = "@user.dir"; //$NON-NLS-1$
-
-	// log file handling
-	protected static final String SESSION = "!SESSION"; //$NON-NLS-1$
-	protected static final String ENTRY = "!ENTRY"; //$NON-NLS-1$
-	protected static final String MESSAGE = "!MESSAGE"; //$NON-NLS-1$
-	protected static final String STACK = "!STACK"; //$NON-NLS-1$
-	protected static final int ERROR = 4;
-	protected static final String PLUGIN_ID = "org.eclipse.core.launcher"; //$NON-NLS-1$
-	protected File logFile = null;
-	protected BufferedWriter log = null;
-	protected boolean newSession = true;
-	
-	/**
-	 * A structured form for a version identifier.
-	 * 
-	 * @see http://java.sun.com/j2se/versioning_naming.html for information on valid version strings
-	 */
-	static class Identifier {
-		private static final String DELIM = ". _-"; //$NON-NLS-1$
-		private int major, minor, service;
-		Identifier(int major, int minor, int service) {
-			super();
-			this.major = major;
-			this.minor = minor;
-			this.service = service;
-		}
-		/**
-		 * @throws NumberFormatException if cannot parse the major and minor version components
-		 */
-		Identifier(String versionString) {
-			super();
-			StringTokenizer tokenizer = new StringTokenizer(versionString, DELIM);
-
-			// major
-			if (tokenizer.hasMoreTokens())
-				major = Integer.parseInt(tokenizer.nextToken());
-
-			// minor
-			if (tokenizer.hasMoreTokens())
-				minor = Integer.parseInt(tokenizer.nextToken());
-
-			try {
-				// service
-				if (tokenizer.hasMoreTokens())
-					service = Integer.parseInt(tokenizer.nextToken());
-			} catch (NumberFormatException nfe) {
-				// ignore the service qualifier in that case and default to 0
-				// this will allow us to tolerate other non-conventional version numbers 
-			}
-		}
-		/**
-		 * Returns true if this id is considered to be greater than or equal to the given baseline.
-		 * e.g. 
-		 * 1.2.9 >= 1.3.1 -> false
-		 * 1.3.0 >= 1.3.1 -> false
-		 * 1.3.1 >= 1.3.1 -> true
-		 * 1.3.2 >= 1.3.1 -> true
-		 * 2.0.0 >= 1.3.1 -> true
-		 */
-		boolean isGreaterEqualTo(Identifier minimum) {
-			if (major < minimum.major)
-				return false;
-			if (major > minimum.major)
-				return true;
-			// major numbers are equivalent so check minor
-			if (minor < minimum.minor)
-				return false;
-			if (minor > minimum.minor)
-				return true;
-			// minor numbers are equivalent so check service
-			return service >= minimum.service;
-		}
-	}	
-
-	/**
-	 * Executes the launch.
-	 * 
-	 * @return the result of performing the launch
-	 * @param args command-line arguments
-	 * @exception Exception thrown if a problem occurs during the launch
-	 */
-	protected void basicRun(String[] args) throws Exception {
-		System.getProperties().setProperty("eclipse.startTime", Long.toString(System.currentTimeMillis())); //$NON-NLS-1$
-		commands = args;
-		String[] passThruArgs = processCommandLine(args);
-		setupVMProperties();
-		processConfiguration();
-		
-		//ensure minimum Java version
-		if (!checkVersion(System.getProperty("java.version"), System.getProperty(PROP_REQUIRED_JAVA_VERSION, DEFAULT_JRE_REQUIRED))) //$NON-NLS-1$
-			return;
-		
-		// need to ensure that getInstallLocation is called at least once to initialize the value.
-		// Do this AFTER processing the configuration to allow the configuration to set
-		// the install location.  
-		getInstallLocation();
-
-		// locate boot plugin (may return -dev mode variations)
-		URL[] bootPath = getBootPath(bootLocation);
-
-		// splash handling is done here, because the default case needs to know
-		// the location of the boot plugin we are going to use
-		handleSplash(bootPath);
-
-		invokeFramework(passThruArgs, bootPath);
-	}
-
-    private void invokeFramework(String[] passThruArgs, URL[] bootPath) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, Error, Exception, InvocationTargetException {
-		URLClassLoader loader = new StartupClassLoader(bootPath, null);
-        Class clazz = loader.loadClass(STARTER);
-        Method method = clazz.getDeclaredMethod("run", new Class[] {String[].class, Runnable.class}); //$NON-NLS-1$
-        try {
-			method.invoke(clazz, new Object[] {passThruArgs, endSplashHandler});
-		} catch (InvocationTargetException e) {
-			if (e.getTargetException() instanceof Error)
-				throw (Error) e.getTargetException();
-			else if (e.getTargetException() instanceof Exception)
-				throw (Exception) e.getTargetException();
-			else
-				//could be a subclass of Throwable!
-				throw e;
-		}
-    }
-
-	/**
-	 * Checks whether the given available version is greater or equal to the 
-	 * given required version.
-	 * <p>Will set PROP_EXITCODE/PROP_EXITDATA accordingly if check fails.</p>
-	 *   
-	 * @return a boolean indicating whether the checking passed 
-	 */
-	private boolean checkVersion(String availableVersion, String requiredVersion) {
-		if (requiredVersion == null || availableVersion == null)
-			return true;
-		try {
-			Identifier required = new Identifier(requiredVersion);
-			Identifier available = new Identifier(availableVersion);
-			boolean compatible = available.isGreaterEqualTo(required);
-			if (!compatible) {
-				// any non-zero value should do it - 14 used to be used for version incompatibility in Eclipse 2.1 
-				System.getProperties().put(PROP_EXITCODE, "14"); //$NON-NLS-1$
-				System.getProperties().put(PROP_EXITDATA, "Required Java version: "+ requiredVersion + ". Available: " + availableVersion + '.'); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			return compatible;
-		} catch (SecurityException e) {
-			// If the security manager won't allow us to get the system property, continue for
-			// now and let things fail later on their own if necessary.
-			return true;
-		} catch (NumberFormatException e) {
-			// If the version string was in a format that we don't understand, continue and
-			// let things fail later on their own if necessary.
-			return true;
-		}
-	}
-	
-	/**
-	 * Returns a string representation of the given URL String.  This converts
-	 * escaped sequences (%..) in the URL into the appropriate characters.
-	 * NOTE: due to class visibility there is a copy of this method
-	 *       in InternalBootLoader
-	 */
-	protected String decode(String urlString) {
-		//try to use Java 1.4 method if available
-		try {
-			Class clazz = URLDecoder.class;
-			Method method = clazz.getDeclaredMethod("decode", new Class[] {String.class, String.class}); //$NON-NLS-1$
-			//first encode '+' characters, because URLDecoder incorrectly converts 
-			//them to spaces on certain class library implementations.
-			if (urlString.indexOf('+') >= 0) {
-				int len = urlString.length();
-				StringBuffer buf = new StringBuffer(len);
-				for (int i = 0; i < len; i++) {
-					char c = urlString.charAt(i);
-					if (c == '+')
-						buf.append("%2B"); //$NON-NLS-1$
-					else
-						buf.append(c);
-				}
-				urlString = buf.toString();
-			}
-			Object result = method.invoke(null, new Object[] {urlString, "UTF-8"}); //$NON-NLS-1$
-			if (result != null)
-				return (String) result;
-		} catch (Exception e) {
-			//JDK 1.4 method not found -- fall through and decode by hand
-		}
-		//decode URL by hand
-		boolean replaced = false;
-		byte[] encodedBytes = urlString.getBytes();
-		int encodedLength = encodedBytes.length;
-		byte[] decodedBytes = new byte[encodedLength];
-		int decodedLength = 0;
-		for (int i = 0; i < encodedLength; i++) {
-			byte b = encodedBytes[i];
-			if (b == '%') {
-				byte enc1 = encodedBytes[++i];
-				byte enc2 = encodedBytes[++i];
-				b = (byte) ((hexToByte(enc1) << 4) + hexToByte(enc2));
-				replaced = true;
-			}
-			decodedBytes[decodedLength++] = b;
-		}
-		if (!replaced)
-			return urlString;
-		try {
-			return new String(decodedBytes, 0, decodedLength, "UTF-8"); //$NON-NLS-1$
-		} catch (UnsupportedEncodingException e) {
-			//use default encoding
-			return new String(decodedBytes, 0, decodedLength);
-		}
-	}
-
-	/**
-	 * Returns the result of converting a list of comma-separated tokens into an array
-	 * 
-	 * @return the array of string tokens
-	 * @param prop the initial comma-separated string
-	 */
-	protected String[] getArrayFromList(String prop) {
-		if (prop == null || prop.trim().equals("")) //$NON-NLS-1$
-			return new String[0];
-		Vector list = new Vector();
-		StringTokenizer tokens = new StringTokenizer(prop, ","); //$NON-NLS-1$
-		while (tokens.hasMoreTokens()) {
-			String token = tokens.nextToken().trim();
-			if (!token.equals("")) //$NON-NLS-1$
-				list.addElement(token);
-		}
-		return list.isEmpty() ? new String[0] : (String[]) list.toArray(new String[list.size()]);
-	}
-
-	/**
-	 * Returns the <code>URL</code>-based class path describing where the boot classes
-	 * are located when running in development mode.
-	 * 
-	 * @return the url-based class path
-	 * @param base the base location
-	 * @exception MalformedURLException if a problem occurs computing the class path
-	 */
-	private URL[] getDevPath(URL base) throws IOException {
-		ArrayList result = new ArrayList(5);
-		if (inDevelopmentMode)
-			addDevEntries(base, result); //$NON-NLS-1$
-		//The jars from the base always need to be added, even when running in dev mode (bug 46772)
-		addBaseJars(base, result);
-		return (URL[]) result.toArray(new URL[result.size()]);
-	}
-
-    URL constructURL(URL url, String name) {
-        //Recognize the following URLs
-        //url: file:foo/dir/
-        //url: file:foo/file.jar
-        
-        String externalForm = url.toExternalForm();
-        if (externalForm.endsWith(".jar")) {
-            try {
-                return new URL(JAR_SCHEME + url + "!/" + name);
-            } catch (MalformedURLException e) {
-                //Ignore
-            }
-        }
-        
-        try {
-            return new URL(url, name);
-        } catch (MalformedURLException e) {
-            //Ignore
-            return null;
-        }
-    }
-	private void readFrameworkExtensions(URL base, ArrayList result) throws IOException {
-		String[] extensions = getArrayFromList(System.getProperties().getProperty(PROP_EXTENSIONS));
-		String parent = new File(base.getFile()).getParent().toString();
-		ArrayList extensionResults = new ArrayList(extensions.length);
-		for (int i = 0; i < extensions.length; i++) {
-			//Search the extension relatively to the osgi plugin 
-			String path = searchFor(extensions[i], parent);
-			if (path == null) {
-				log("Could not find extension: " + extensions[i]); //$NON-NLS-1$
-				continue;
-			}
-			if (debug)
-				System.out.println("Loading extension: " + extensions[i]); //$NON-NLS-1$
-
-			URL extensionURL = null;
-			if (installLocation.getProtocol().equals("file")) { //$NON-NLS-1$
-				extensionResults.add(path);
-				extensionURL = new File(path).toURL();
-			} else
-				extensionURL = new URL(installLocation.getProtocol(), installLocation.getHost(), installLocation.getPort(), path);
-
-			//Load a property file of the extension, merge its content, and in case of dev mode add the bin entries
-			Properties extensionProperties = loadProperties(constructURL(extensionURL, ECLIPSE_PROPERTIES));
-			String extensionPath = extensionProperties.getProperty(PROP_CLASSPATH);
-			if (extensionPath != null) {
-				if (inDevelopmentMode) 
-					addDevEntries(extensionURL, result);
-				String[] entries = getArrayFromList(extensionPath);
-				String qualifiedPath = ""; //$NON-NLS-1$
-				for (int j = 0; j < entries.length; j++) 
-					qualifiedPath += ", " + FILE_SCHEME + path + entries[j]; //$NON-NLS-1$
-				extensionProperties.put(PROP_CLASSPATH, qualifiedPath);
-			}
-			mergeProperties(System.getProperties(), extensionProperties);
-		}
-		extensionPaths = (String[]) extensionResults.toArray(new String[extensionResults.size()]);
-	}
-
-	private void addBaseJars(URL base, ArrayList result) throws IOException {
-		String baseJarList = System.getProperty(PROP_CLASSPATH);
-		if (baseJarList == null) {
-			URL url = constructURL(base, ECLIPSE_PROPERTIES);
-            try {
-                mergeProperties(System.getProperties(), loadProperties(url));
-            } catch(IOException e) {
-                //Ignore the exception since the property file is not required 
-                if (debug)
-                    System.out.println("File " + url.toExternalForm() + " not found."); //$NON-NLS-1$  //$NON-NLS-2$
-            }
-			readFrameworkExtensions(base, result);
-			baseJarList = System.getProperties().getProperty(PROP_CLASSPATH);
-		}
-        
-        File fwkFile = new File(base.getFile());
-        boolean fwkIsDirectory = fwkFile.isDirectory();
-        //We found where the fwk is, remember it and its shape
-        if (fwkIsDirectory) {
-            System.getProperties().setProperty(PROP_FRAMEWORK_SHAPE, "folder");//$NON-NLS-1$
-        } else {
-            System.getProperties().setProperty(PROP_FRAMEWORK_SHAPE, "jar");//$NON-NLS-1$
-        }
-        System.getProperties().setProperty(PROP_FRAMEWORK_SYSPATH, new File(base.getFile()).getParentFile().getAbsolutePath());
-        //TODO Here we don't lower case the first letter like it is done in EclipseStarter
-        
-		String[] baseJars = getArrayFromList(baseJarList);
-        if (baseJars.length == 0) {
-            if (!inDevelopmentMode && new File(base.getFile()).isDirectory())
-                throw new IOException("Unable to initialize " + PROP_CLASSPATH); //$NON-NLS-1$
-            addEntry(base, result);
-            return;
-        }
-		for (int i = 0; i < baseJars.length; i++) {
-            String string = baseJars[i];
-            try {
-                // if the string is a file: URL then *carefully* construct the
-                // URL. Otherwisejust try to build a URL. In either case, if we fail, use
-                // string as something to tack on the end of the base.
-            	
-            	if (string.equals(".")) {//Temporary fix to allow . in the eclipse.properties
-            		addEntry(base, result);
-            	}
-                URL url = null;
-                if (string.startsWith(FILE_SCHEME)) //$NON-NLS-1$
-                    url = new File(string.substring(5)).toURL();
-                else
-                    url = new URL(string);
-                addEntry(url, result);
-            } catch (MalformedURLException e) {
-                addEntry(new URL(base, string), result);
-            }
-        }
-	}
-
-	private void addEntry(URL url, List result) {
-		if (new File(url.getFile()).exists())
-			result.add(url);
-	}
-
-	private void addDevEntries(URL base, List result) throws MalformedURLException {
-		String[] locations = getArrayFromList(devClassPath);
-		for (int i = 0; i < locations.length; i++) {
-			String location = locations[i];
-			File path = new File(location);
-			URL url;
-			if (path.isAbsolute())
-				url = path.toURL();
-			else {
-				// dev path is relative, combine with base location
-				char lastChar = location.charAt(location.length() - 1);
-				if ((location.endsWith(".jar") || (lastChar == '/' || lastChar == '\\'))) //$NON-NLS-1$
-					url = new URL(base, location);
-				else
-					url = new URL(base, location + "/"); //$NON-NLS-1$
-			}
-			addEntry(url, result);
-		}
-	}
-
-	/**
-	 * Returns the <code>URL</code>-based class path describing where the boot classes are located.
-	 * 
-	 * @return the url-based class path
-	 * @param base the base location
-	 * @exception MalformedURLException if a problem occurs computing the class path
-	 */
-	protected URL[] getBootPath(String base) throws IOException {
-		URL url = null;
-		if (base != null) {
-			url = buildURL(base, true);
-		} else {
-			// search in the root location
-			url = getInstallLocation();
-			String path = new File(url.getFile(), "plugins").toString(); //$NON-NLS-1$
-			path = searchFor(framework, path);
-			if (path == null)
-				throw new RuntimeException("Could not find framework"); //$NON-NLS-1$
-			if (url.getProtocol().equals("file")) //$NON-NLS-1$
-				url = new File(path).toURL();
-			else
-				url = new URL(url.getProtocol(), url.getHost(), url.getPort(), path);
-		}
-		if (System.getProperty(PROP_FRAMEWORK) == null)
-			System.getProperties().put(PROP_FRAMEWORK, url.toExternalForm());
-		if (debug)
-			System.out.println("Framework located:\n    " + url.toExternalForm()); //$NON-NLS-1$
-		// add on any dev path elements
-		URL[] result = getDevPath(url);
-		if (debug) {
-			System.out.println("Framework classpath:"); //$NON-NLS-1$
-			for (int i = 0; i < result.length; i++)
-				System.out.println("    " + result[i].toExternalForm()); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	/**
-	 * Searches for the given target directory starting in the "plugins" subdirectory
-	 * of the given location.  If one is found then this location is returned; 
-	 * otherwise an exception is thrown.
-	 * 
-	 * @return the location where target directory was found
-	 * @param start the location to begin searching
-	 */
-	protected String searchFor(final String target, String start) {
-		FileFilter filter = new FileFilter() {
-			public boolean accept(File candidate) {
-				return candidate.getName().equals(target) || candidate.getName().startsWith(target + "_"); //$NON-NLS-1$
-			}
-		};
-		File[] candidates = new File(start).listFiles(filter); //$NON-NLS-1$
-		if (candidates == null)
-			return null;
-		String[] arrays = new String[candidates.length];
-        for (int i = 0; i < arrays.length; i++) {
-            arrays[i] = candidates[i].getName();
-        }
-       int result = findMax(arrays);
-		if (result == -1)
-			return null;
-		return candidates[result].getAbsolutePath().replace(File.separatorChar, '/') + (candidates[result].isDirectory() ? "/" : "");
-	}
-
-    protected int findMax(String[] candidates) {
-        int result = -1;
-        Object maxVersion = null;
-        for (int i = 0; i < candidates.length; i++) {
-            String name = candidates[i];
-            String version = ""; //$NON-NLS-1$ // Note: directory with version suffix is always > than directory without version suffix
-            int index = name.indexOf('_');
-            if (index != -1)
-                version = name.substring(index + 1);
-            Object currentVersion = getVersionElements(version);
-            if (maxVersion == null) {
-                result = i;
-                maxVersion = currentVersion;
-            } else {
-                if (compareVersion((Object[]) maxVersion, (Object[]) currentVersion) < 0) {
-                    result = i;
-                    maxVersion = currentVersion;
-                }
-            }
-        }
-        return result;
-    }
-	/**
-	 * Compares version strings. 
-	 * @return result of comparison, as integer;
-	 * <code><0</code> if left < right;
-	 * <code>0</code> if left == right;
-	 * <code>>0</code> if left > right;
-	 */
-	private int compareVersion(Object[] left, Object[] right) {
-
-		int result = ((Integer) left[0]).compareTo((Integer) right[0]); // compare major
-		if (result != 0)
-			return result;
-
-		result = ((Integer) left[1]).compareTo((Integer) right[1]); // compare minor
-		if (result != 0)
-			return result;
-
-		result = ((Integer) left[2]).compareTo((Integer) right[2]); // compare service
-		if (result != 0)
-			return result;
-
-		return ((String) left[3]).compareTo((String) right[3]); // compare qualifier
-	}
-
-	/**
-	 * Do a quick parse of version identifier so its elements can be correctly compared.
-	 * If we are unable to parse the full version, remaining elements are initialized
-	 * with suitable defaults.
-	 * @return an array of size 4; first three elements are of type Integer (representing
-	 * major, minor and service) and the fourth element is of type String (representing
-	 * qualifier). Note, that returning anything else will cause exceptions in the caller.
-	 */
-	private Object[] getVersionElements(String version) {
-        if (version.endsWith(".jar"))
-            version = version.substring(0, version.length() - 4);
-		Object[] result = {new Integer(0), new Integer(0), new Integer(0), ""}; //$NON-NLS-1$
-		StringTokenizer t = new StringTokenizer(version, "."); //$NON-NLS-1$
-		String token;
-		int i = 0;
-		while (t.hasMoreTokens() && i < 4) {
-			token = t.nextToken();
-			if (i < 3) {
-				// major, minor or service ... numeric values
-				try {
-					result[i++] = new Integer(token);
-				} catch (Exception e) {
-					// invalid number format - use default numbers (0) for the rest
-					break;
-				}
-			} else {
-				// qualifier ... string value
-				result[i++] = token;
-			}
-		}
-		return result;
-	}
-
-	private static URL buildURL(String spec, boolean trailingSlash) {
-		if (spec == null)
-			return null;
-		boolean isFile = spec.startsWith(FILE_SCHEME); //$NON-NLS-1$
-		try {
-			if (isFile) {
-                File toAdjust = new File(spec.substring(5));
-                if (toAdjust.isDirectory())
-                    return adjustTrailingSlash(toAdjust.toURL(), trailingSlash);
-                else
-                    return toAdjust.toURL();
-            } else
-				return new URL(spec);
-		} catch (MalformedURLException e) {
-			// if we failed and it is a file spec, there is nothing more we can do
-			// otherwise, try to make the spec into a file URL.
-			if (isFile)
-				return null;
-			try {
-                File toAdjust = new File(spec);
-                if (toAdjust.isDirectory())
-                    return adjustTrailingSlash(toAdjust.toURL(), trailingSlash);
-                else
-                    return toAdjust.toURL();
-			} catch (MalformedURLException e1) {
-				return null;
-			}
-		}
-	}
-
-	private static URL adjustTrailingSlash(URL url, boolean trailingSlash) throws MalformedURLException {
-		String file = url.getFile();
-		if (trailingSlash == (file.endsWith("/"))) //$NON-NLS-1$
-			return url;
-		file = trailingSlash ? file + "/" : file.substring(0, file.length() - 1); //$NON-NLS-1$
-		return new URL(url.getProtocol(), url.getHost(), file);
-	}
-
-	private URL buildLocation(String property, URL defaultLocation, String userDefaultAppendage) {
-		URL result = null;
-		String location = System.getProperty(property);
-		System.getProperties().remove(property);
-		// if the instance location is not set, predict where the workspace will be and 
-		// put the instance area inside the workspace meta area.
-		try {
-			if (location == null)
-				result = defaultLocation;
-			else if (location.equalsIgnoreCase(NONE))
-				return null;
-			else if (location.equalsIgnoreCase(NO_DEFAULT))
-				result = buildURL(location, true);
-			else {
-				if (location.startsWith(USER_HOME)) {
-					String base = substituteVar(location, USER_HOME, PROP_USER_HOME);
-					location = new File(base, userDefaultAppendage).getAbsolutePath();
-				} else if (location.startsWith(USER_DIR)) {
-					String base = substituteVar(location, USER_DIR, PROP_USER_DIR);
-					location = new File(base, userDefaultAppendage).getAbsolutePath();
-				}
-				result = buildURL(location, true);
-			}
-		} finally {
-			if (result != null)
-				System.getProperties().put(property, result.toExternalForm());
-		}
-		return result;
-	}
-
-	private String substituteVar(String source, String var, String prop) {
-		String value = System.getProperty(prop, "");
-		return value + source.substring(var.length());
-	}
-
-	/** 
-	 * Retuns the default file system path for the configuration location.
-	 * By default the configuration information is in the installation directory
-	 * if this is writeable.  Otherwise it is located somewhere in the user.home
-	 * area relative to the current product. 
-	 * @return the default file system path for the configuration information
-	 */
-	private String computeDefaultConfigurationLocation() {
-		// 1) We store the config state relative to the 'eclipse' directory if possible
-		// 2) If this directory is read-only 
-		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home> 
-		//    is unique for each local user, and <application-id> is the one 
-		//    defined in .eclipseproduct marker file. If .eclipseproduct does not
-		//    exist, use "eclipse" as the application-id.
-
-		URL install = getInstallLocation();
-		// TODO a little dangerous here.  Basically we have to assume that it is a file URL.
-		if (install.getProtocol().equals("file")) { //$NON-NLS-1$
-			File installDir = new File(install.getFile());
-			if (canWrite(installDir))
-				return installDir.getAbsolutePath() + File.separator + CONFIG_DIR;
-		}
-		// We can't write in the eclipse install dir so try for some place in the user's home dir
-		return computeDefaultUserAreaLocation(CONFIG_DIR);
-	}
-
-	private static boolean canWrite(File installDir) {
-		if (installDir.canWrite() == false)
-			return false;
-
-		if (!installDir.isDirectory())
-			return false;
-
-		File fileTest = null;
-		try {
-			fileTest = File.createTempFile("writtableArea", null, installDir); //$NON-NLS-1$
-		} catch (IOException e) {
-			//If an exception occured while trying to create the file, it means that it is not writtable
-			return false;
-		} finally {
-			if (fileTest != null)
-				fileTest.delete();
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns a files system path for an area in the user.home region related to the
-	 * current product.  The given appendage is added to this base location
-	 * @param pathAppendage the path segments to add to computed base
-	 * @return a file system location in the user.home area related the the current
-	 *   product and the given appendage
-	 */
-	private String computeDefaultUserAreaLocation(String pathAppendage) {
-		//    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home> 
-		//    is unique for each local user, and <application-id> is the one 
-		//    defined in .eclipseproduct marker file. If .eclipseproduct does not
-		//    exist, use "eclipse" as the application-id.
-		URL installURL = getInstallLocation();
-		if (installURL == null)
-			return null;
-		File installDir = new File(installURL.getFile());
-		String appName = "." + ECLIPSE; //$NON-NLS-1$
-		File eclipseProduct = new File(installDir, PRODUCT_SITE_MARKER);
-		if (eclipseProduct.exists()) {
-			Properties props = new Properties();
-			try {
-				props.load(new FileInputStream(eclipseProduct));
-				String appId = props.getProperty(PRODUCT_SITE_ID);
-				if (appId == null || appId.trim().length() == 0)
-					appId = ECLIPSE;
-				String appVersion = props.getProperty(PRODUCT_SITE_VERSION);
-				if (appVersion == null || appVersion.trim().length() == 0)
-					appVersion = ""; //$NON-NLS-1$
-				appName += File.separator + appId + "_" + appVersion; //$NON-NLS-1$
-			} catch (IOException e) {
-				// Do nothing if we get an exception.  We will default to a standard location 
-				// in the user's home dir.
-			}
-		}
-		String userHome = System.getProperty(PROP_USER_HOME);
-		return new File(userHome, appName + "/" + pathAppendage).getAbsolutePath(); //$NON-NLS-1$
-	}
-
-	/**
-	 * Runs this launcher with the arguments specified in the given string.
-	 * 
-	 * @param argString the arguments string
-	 */
-	public static void main(String argString) {
-		Vector list = new Vector(5);
-		for (StringTokenizer tokens = new StringTokenizer(argString, " "); tokens.hasMoreElements();) //$NON-NLS-1$
-			list.addElement(tokens.nextElement());
-		main((String[]) list.toArray(new String[list.size()]));
-	}
-
-	/**
-	 * Runs the platform with the given arguments.  The arguments must identify
-	 * an application to run (e.g., <code>-application com.example.application</code>).
-	 * After running the application <code>System.exit(N)</code> is executed.
-	 * The value of N is derived from the value returned from running the application.
-	 * If the application's return value is an <code>Integer</code>, N is this value.
-	 * In all other cases, N = 0.
-	 * <p>
-	 * Clients wishing to run the platform without a following <code>System.exit</code>
-	 * call should use <code>run()</code>.
-	 * </p>
-	 * 
-	 * @param args the command line arguments
-	 * @see #run(String[])
-	 */
-	public static void main(String[] args) {
-		int result = new Main().run(args);
-		System.exit(result);
-	}
-
-	/**
-	 * Runs the platform with the given arguments.  The arguments must identify
-	 * an application to run (e.g., <code>-application com.example.application</code>).
-	 * Returns the value returned from running the application.
-	 * If the application's return value is an <code>Integer</code>, N is this value.
-	 * In all other cases, N = 0.
-	 *
-	 * @param args the command line arguments
-	 */
-	public int run(String[] args) {
-		int result = 0;
-		try {
-			basicRun(args);
-			String exitCode = System.getProperty(PROP_EXITCODE);
-			try {
-				result = exitCode == null ? 0 : Integer.parseInt(exitCode);
-			} catch (NumberFormatException e) {
-				result = 17;
-			}
-		} catch (Throwable e) {
-			// only log the exceptions if they have not been caught by the 
-			// EclipseStarter (i.e., if the exitCode is not 13) 
-			if (!"13".equals(System.getProperty(PROP_EXITCODE))) { //$NON-NLS-1$
-				log("Exception launching the Eclipse Platform:"); //$NON-NLS-1$
-				log(e);
-				String message = "An error has occurred"; //$NON-NLS-1$
-				if (logFile == null)
-					message += " and could not be logged: \n" + e.getMessage(); //$NON-NLS-1$
-				else
-					message += ".  See the log file\n" + logFile.getAbsolutePath(); //$NON-NLS-1$
-				System.getProperties().put(PROP_EXITDATA, message);
-			}
-			// Return "unlucky" 13 as the exit code. The executable will recognize
-			// this constant and display a message to the user telling them that
-			// there is information in their log file.
-			result = 13;
-		} finally {
-			// always try putting down the splash screen just in case the application failed to do so
-			takeDownSplash();			
-		}
-		// Return an int exit code and ensure the system property is set.
-		System.getProperties().put(PROP_EXITCODE, Integer.toString(result));
-		setExitData();
-		return result;
-	}
-
-	private void setExitData() {
-		String data = System.getProperty(PROP_EXITDATA);
-		if (exitData == null || data == null)
-			return;
-		// sync call to the launcher
-		runCommand(true, new String[] {EXITDATA, exitData, data}); //$NON-NLS-1$
-	}
-
-	/**
-	 * Processes the command line arguments.  The general principle is to NOT
-	 * consume the arguments and leave them to be processed by Eclipse proper.
-	 * There are a few args which are directed towards main() and a few others
-	 * which we need to know about. Very few should actually be consumed here.
-	 * 
-	 * @return the arguments to pass through to the launched application
-	 * @param args the command line arguments
-	 */
-	protected String[] processCommandLine(String[] args) {
-		if (args.length == 0)
-			return args;
-		int[] configArgs = new int[args.length];
-		configArgs[0] = -1; // need to initialize the first element to something that could not be an index.
-		int configArgIndex = 0;
-		for (int i = 0; i < args.length; i++) {
-			boolean found = false;
-			// check for args without parameters (i.e., a flag arg)
-			// check if debug should be enabled for the entire platform
-			if (args[i].equalsIgnoreCase(DEBUG)) {
-				debug = true;
-				// passed thru this arg (i.e., do not set found = true)
-				continue;
-			}
-
-			// look for and consume the nosplash directive.  This supercedes any
-			// -showsplash command that might be present.
-			if (args[i].equalsIgnoreCase(NOSPLASH)) {
-				splashDown = true;
-				found = true;
-			}
-
-			// check if this is initialization pass
-			if (args[i].equalsIgnoreCase(INITIALIZE)) {
-				initialize = true;
-				// passed thru this arg (i.e., do not set found = true)
-				continue;
-			}
-
-			// check if development mode should be enabled for the entire platform
-			// If this is the last arg or there is a following arg (i.e., arg+1 has a leading -), 
-			// simply enable development mode.  Otherwise, assume that that the following arg is
-			// actually some additional development time class path entries.  This will be processed below.
-			if (args[i].equalsIgnoreCase(DEV) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
-				inDevelopmentMode = true;
-				// do not mark the arg as found so it will be passed through
-				continue;
-			}
-
-			// done checking for args.  Remember where an arg was found 
-			if (found) {
-				configArgs[configArgIndex++] = i;
-				continue;
-			}
-
-			// look for the VM args arg.  We have to do that before looking to see
-			// if the next element is a -arg as the thing following -vmargs may in
-			// fact be another -arg.
-			if (args[i].equalsIgnoreCase(VMARGS)) {
-				// consume the -vmargs arg itself
-				args[i] = null;
-				i++;
-				vmargs = new String[args.length - i];
-				for (int j = 0; i < args.length; i++) {
-					vmargs[j++] = args[i];
-					args[i] = null;
-				}
-				continue;
-			}
-
-			// check for args with parameters. If we are at the last argument or if the next one
-			// has a '-' as the first character, then we can't have an arg with a parm so continue.
-			if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
-				continue;
-			String arg = args[++i];
-
-			// look for the development mode and class path entries.  
-			if (args[i - 1].equalsIgnoreCase(DEV)) {
-				inDevelopmentMode = true;
-				devClassPath = processDevArg(arg);
-				continue;
-			}
-
-			// look for the framework to run
-			if (args[i - 1].equalsIgnoreCase(FRAMEWORK)) {
-				framework = arg;
-				found = true;
-			}
-
-			// look for explicitly set install root
-			// Consume the arg here to ensure that the launcher and Eclipse get the 
-			// same value as each other.  
-			if (args[i - 1].equalsIgnoreCase(INSTALL)) {
-				System.getProperties().put(PROP_INSTALL_AREA, arg);
-				found = true;
-			}
-
-			// look for the configuration to use.  
-			// Consume the arg here to ensure that the launcher and Eclipse get the 
-			// same value as each other.  
-			if (args[i - 1].equalsIgnoreCase(CONFIGURATION)) {
-				System.getProperties().put(PROP_CONFIG_AREA, arg);
-				found = true;
-			}
-
-			// look for the command to use to set exit data in the launcher
-			if (args[i - 1].equalsIgnoreCase(EXITDATA)) {
-				exitData = arg;
-				found = true;
-			}
-
-			// look for the command to use to show the splash screen
-			if (args[i - 1].equalsIgnoreCase(SHOWSPLASH)) {
-				showSplash = arg;
-				found = true;
-			}
-
-			// look for the name to use by the launcher
-			if (args[i - 1].equalsIgnoreCase(NAME)) {
-				name = arg;
-				found = true;
-			}
-
-			// look for the launcher location
-			if (args[i - 1].equalsIgnoreCase(LAUNCHER)) {
-				launcher = arg;
-				found = true;
-			}
-			
-			// look for the command to use to end the splash screen
-			if (args[i - 1].equalsIgnoreCase(ENDSPLASH)) {
-				endSplash = arg;
-				found = true;
-			}
-
-			// look for the VM location arg
-			if (args[i - 1].equalsIgnoreCase(VM)) {
-				vm = arg;
-				found = true;
-			}
-
-			// done checking for args.  Remember where an arg was found 
-			if (found) {
-				configArgs[configArgIndex++] = i - 1;
-				configArgs[configArgIndex++] = i;
-			}
-		}
-		// remove all the arguments consumed by this argument parsing
-		String[] passThruArgs = new String[args.length - configArgIndex - (vmargs == null ? 0 : vmargs.length + 1)];
-		configArgIndex = 0;
-		int j = 0;
-		for (int i = 0; i < args.length; i++) {
-			if (i == configArgs[configArgIndex])
-				configArgIndex++;
-			else if (args[i] != null)
-				passThruArgs[j++] = args[i];
-		}
-		return passThruArgs;
-	}
-
-	private String processDevArg(String arg) {
-		if (arg == null)
-			return null;
-		try {
-			URL location = new URL(arg);
-			Properties props = load(location, null);
-			String result = props.getProperty(OSGI);
-			return result == null ? props.getProperty("*") : result; //$NON-NLS-1$
-		} catch (MalformedURLException e) {
-			// the arg was not a URL so use it as is.
-			return arg;
-		} catch (IOException e) {
-			// TODO consider logging here
-			return null;
-		}
-	}
-
-	private URL getConfigurationLocation() {
-		if (configurationLocation != null)
-			return configurationLocation;
-		configurationLocation = buildLocation(PROP_CONFIG_AREA, null, ""); //$NON-NLS-1$
-		if (configurationLocation == null) {
-			configurationLocation = buildLocation(PROP_CONFIG_AREA_DEFAULT, null, ""); //$NON-NLS-1$
-			if (configurationLocation == null)
-				configurationLocation = buildURL(computeDefaultConfigurationLocation(), true);
-		}
-		if (configurationLocation != null)
-			System.getProperties().put(PROP_CONFIG_AREA, configurationLocation.toExternalForm());
-		if (debug)
-			System.out.println("Configuration location:\n    " + configurationLocation); //$NON-NLS-1$
-		return configurationLocation;
-	}
-
-	private void processConfiguration() {
-		// if the configuration area is not already defined, discover the config area by
-		// trying to find a base config area.  This is either defined in a system property or
-		// is computed relative to the install location.
-		// Note that the config info read here is only used to determine a value 
-		// for the user configuration area
-		URL baseConfigurationLocation = null;
-		Properties baseConfiguration = null;
-		if (System.getProperty(PROP_CONFIG_AREA) == null) {
-			String baseLocation = System.getProperty(PROP_BASE_CONFIG_AREA);
-			if (baseLocation != null)
-				// here the base config cannot have any symbolic (e..g, @xxx) entries.  It must just
-				// point to the config file.
-				baseConfigurationLocation = buildURL(baseLocation, true);
-			if (baseConfigurationLocation == null)
-				try {
-					// here we access the install location but this is very early.  This case will only happen if
-					// the config area is not set and the base config area is not set (or is bogus).
-					// In this case we compute based on the install location.
-					baseConfigurationLocation = new URL(getInstallLocation(), CONFIG_DIR);
-				} catch (MalformedURLException e) {
-					// leave baseConfigurationLocation null
-				}
-			baseConfiguration = loadConfiguration(baseConfigurationLocation);
-			if (baseConfiguration != null) {
-				// if the base sets the install area then use that value if the property.  We know the 
-				// property is not already set.
-				String location = baseConfiguration.getProperty(PROP_CONFIG_AREA);
-				if (location != null)
-					System.getProperties().put(PROP_CONFIG_AREA, location);
-				// if the base sets the install area then use that value if the property is not already set.
-				// This helps in selfhosting cases where you cannot easily compute the install location
-				// from the code base.
-				location = baseConfiguration.getProperty(PROP_INSTALL_AREA);
-				if (location != null && System.getProperty(PROP_INSTALL_AREA) == null)
-					System.getProperties().put(PROP_INSTALL_AREA, location);
-			}
-		}
-
-		// Now we know where the base configuration is supposed to be.  Go ahead and load
-		// it and merge into the System properties.  Then, if cascaded, read the parent configuration
-		// Note that the parent may or may not be the same parent as we read above since the 
-		// base can define its parent.  The first parent we read was either defined by the user
-		// on the command line or was the one in the install dir.  
-		// if the config or parent we are about to read is the same as the base config we read above,
-		// just reuse the base
-		Properties configuration = baseConfiguration;
-		if (configuration == null || !getConfigurationLocation().equals(baseConfigurationLocation.toExternalForm()))
-			configuration = loadConfiguration(getConfigurationLocation());
-		mergeProperties(System.getProperties(), configuration);
-		if ("false".equalsIgnoreCase(System.getProperty(PROP_CONFIG_CASCADED))) //$NON-NLS-1$
-			// if we are not cascaded then remove the parent property even if it was set.
-			System.getProperties().remove(PROP_SHARED_CONFIG_AREA);
-		else {
-			URL sharedConfigURL = buildLocation(PROP_SHARED_CONFIG_AREA, null, "");
-			if (sharedConfigURL == null)
-				try {
-					// there is no shared config value so compute one
-					sharedConfigURL = new URL(getInstallLocation(), CONFIG_DIR);
-				} catch (MalformedURLException e) {
-					// leave sharedConfigurationLocation null
-				}
-			// if the parent location is different from the config location, read it too.
-			if (sharedConfigURL != null) {
-				if (sharedConfigURL.equals(getConfigurationLocation()))
-					// remove the property to show that we do not have a parent.
-					System.getProperties().remove(PROP_SHARED_CONFIG_AREA);
-				else {
-					// if the parent we are about to read is the same as the base config we read above,
-					// just reuse the base
-					configuration = baseConfiguration;
-					if (!sharedConfigURL.equals(baseConfigurationLocation))
-						configuration = loadConfiguration(sharedConfigURL);
-					mergeProperties(System.getProperties(), configuration);
-					System.getProperties().put(PROP_SHARED_CONFIG_AREA, sharedConfigURL.toExternalForm());
-					if (debug)
-						System.out.println("Shared configuration location:\n    " + sharedConfigURL.toExternalForm()); //$NON-NLS-1$
-				}
-			}
-		}
-		// setup the path to the framework
-		String urlString = System.getProperty(PROP_FRAMEWORK, null);
-		if (urlString != null) {
-			URL url = buildURL(urlString, true);
-			System.getProperties().put(PROP_FRAMEWORK, url.toExternalForm());
-			bootLocation = resolve(urlString);
-		}
-	}
-
-	/**
-	 * Returns url of the location this class was loaded from
-	 */
-	private URL getInstallLocation() {
-		if (installLocation != null)
-			return installLocation;
-
-		// value is not set so compute the default and set the value
-		String installArea = System.getProperty(PROP_INSTALL_AREA);
-		if (installArea != null) {
-			installLocation = buildURL(installArea, true);
-			if (installLocation == null)
-				throw new IllegalStateException("Install location is invalid: " + installArea); //$NON-NLS-1$
-			System.getProperties().put(PROP_INSTALL_AREA, installLocation.toExternalForm());
-			if (debug)
-				System.out.println("Install location:\n    " + installLocation); //$NON-NLS-1$
-			return installLocation;
-		}
-
-		URL result = Main.class.getProtectionDomain().getCodeSource().getLocation();
-		String path = decode(result.getFile());
-		// normalize to not have leading / so we can check the form
-		File file = new File(path);
-		path = file.toString().replace('\\', '/');
-		// TODO need a better test for windows
-		// If on Windows then canonicalize the drive letter to be lowercase.
-		// remember that there may be UNC paths 
-		if (File.separatorChar == '\\')
-			if (Character.isUpperCase(path.charAt(0))) {
-				char[] chars = path.toCharArray();
-				chars[0] = Character.toLowerCase(chars[0]);
-				path = new String(chars);
-			}
-		if (path.endsWith(".jar")) //$NON-NLS-1$
-			path = path.substring(0, path.lastIndexOf("/") + 1); //$NON-NLS-1$
-		try {
-			try {
-				// create a file URL (via File) to normalize the form (e.g., put 
-				// the leading / on if necessary)
-				path = new File(path).toURL().getFile();
-			} catch (MalformedURLException e1) {
-				// will never happen.  The path is straight from a URL.  
-			}
-			installLocation = new URL(result.getProtocol(), result.getHost(), result.getPort(), path);
-			System.getProperties().put(PROP_INSTALL_AREA, installLocation.toExternalForm());
-		} catch (MalformedURLException e) {
-			// TODO Very unlikely case.  log here.  
-		}
-		if (debug)
-			System.out.println("Install location:\n    " + installLocation); //$NON-NLS-1$
-		return installLocation;
-	}
-
-	/*
-	 * Load the given configuration file
-	 */
-	private Properties loadConfiguration(URL url) {
-		Properties result = null;
-		try {
-			url = new URL(url, CONFIG_FILE);
-		} catch (MalformedURLException e) {
-			return null;
-		}
-		try {
-			if (debug)
-				System.out.print("Configuration file:\n    " + url.toString()); //$NON-NLS-1$
-			result = loadProperties(url);
-			if (debug)
-				System.out.println(" loaded"); //$NON-NLS-1$
-		} catch (IOException e) {
-			if (debug)
-				System.out.println(" not found or not read"); //$NON-NLS-1$
-		}
-		return result;
-	}
-
-	private Properties loadProperties(URL url) throws IOException {
-		// try to load saved configuration file (watch for failed prior save())
-		if (url == null)
-			return null;
-		Properties result = null;
-		IOException originalException = null;
-		try {
-			result = load(url, null); // try to load config file
-		} catch (IOException e1) {
-			originalException = e1;
-			try {
-				result = load(url, CONFIG_FILE_TEMP_SUFFIX); // check for failures on save
-			} catch (IOException e2) {
-				try {
-					result = load(url, CONFIG_FILE_BAK_SUFFIX); // check for failures on save
-				} catch (IOException e3) {
-					throw originalException; // we tried, but no config here ...
-				}
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * Load the configuration  
-	 */
-	private Properties load(URL url, String suffix) throws IOException {
-		// figure out what we will be loading
-		if (suffix != null && !suffix.equals("")) //$NON-NLS-1$
-			url = new URL(url.getProtocol(), url.getHost(), url.getPort(), url.getFile() + suffix);
-
-		// try to load saved configuration file
-		Properties props = new Properties();
-		InputStream is = null;
-		try {
-			is = url.openStream();
-			props.load(is);
-		} finally {
-			if (is != null)
-				try {
-					is.close();
-				} catch (IOException e) {
-					//ignore failure to close
-				}
-		}
-		return props;
-	}
-
-	/*
-	 * Handle splash screen.
-	 * We support 2 startup scenarios:
-	 * 
-	 * (1) the executable launcher put up the splash screen. In that
-	 *     scenario we are invoked with -endsplash command which is
-	 *     fully formed to take down the splash screen
-	 * 
-	 * (2) the executable launcher did not put up the splash screen,
-	 *     but invokes Eclipse with partially formed -showsplash command.
-	 *     In this scenario we determine which splash to display (based on 
-	 *     feature information) and then call -showsplash command. 
-	 * 
-	 * In both scenarios we pass a handler (Runnable) to the platform.
-	 * The handler is called as a result of the launched application calling
-	 * Platform.endSplash(). In the first scenario this results in the
-	 * -endsplash command being executed. In the second scenarios this
-	 * results in the process created as a result of the -showsplash command
-	 * being destroyed.
-	 * 
-	 * @param bootPath search path for the boot plugin
-	 */
-	private void handleSplash(URL[] defaultPath) {
-		// run without splash if we are initializing or nosplash 
-		// was specified (splashdown = true)
-		if (initialize || splashDown) {
-			showSplash = null;
-			endSplash = null;
-			return;
-		}
-
-		// if -endsplash is specified, use it and ignore any -showsplash command
-		if (endSplash != null) {
-			showSplash = null;
-			return;
-		}
-
-		// check if we are running without a splash screen
-		if (showSplash == null)
-			return;
-
-		// determine the splash location
-		String location = getSplashLocation(defaultPath);
-		if (debug)
-			System.out.println("Splash location:\n    " + location); //$NON-NLS-1$
-		if (location == null)
-			return;
-		// async call to the launcher
-		showProcess = runCommand(false, new String[] {SHOWSPLASH, showSplash, location}); //$NON-NLS-1$
-	}
-	
-	private Process runCommand(boolean block, String[] extraArgs) {
-		final int NBR_DEFAULT_ARGS = 3;
-		String[] args = new String[NBR_DEFAULT_ARGS + extraArgs.length];
-		args[0] = launcher;
-		args[1] = NAME;
-		args[2] = name;
-
-		for (int i = 0; i < extraArgs.length; i++) {
-			args[i + NBR_DEFAULT_ARGS] = extraArgs[i];
-		}
-
-		if (debug) {
-			System.out.print("runCommand:\n    ");//$NON-NLS-1$ 
-			for (int i = 0; i < args.length; i++) {
-				System.out.print('<' + args[i] + '>');//$NON-NLS-1$ //$NON-NLS-2$ 
-			}
-			System.out.println();
-		}
-
-		Process result = null;
-		try {
-			result = Runtime.getRuntime().exec(args);
-			if (block)
-				result.waitFor();
-		} catch (Exception e) {
-			log("Exception running command: " + extraArgs != null && extraArgs.length > 0 ? extraArgs[0] : null); //$NON-NLS-1$ 
-			log(e);
-		}
-		return result;
-	}
-
-	/*
-	 * take down the splash screen. Try both take-down methods just in case
-	 * (only one should ever be set)
-	 */
-	protected void takeDownSplash() {
-		if (splashDown) // splash is already down
-			return;
-
-		// check if -endsplash was specified
-		if (endSplash != null) {
-			try {
-				Runtime.getRuntime().exec(endSplash);
-			} catch (Exception e) {
-				//ignore failure to end splash
-			}
-		}
-
-		// check if -showsplash was specified and executed
-		if (showProcess != null) {
-			showProcess.destroy();
-			showProcess = null;
-		}
-		splashDown = true;
-	}
-
-	/*
-	 * Return path of the splash image to use.  First search the defined splash path.
-	 * If that does not work, look for a default splash.  Currently the splash must be in the file system
-	 * so the return value here is the file system path.
-	 */
-	private String getSplashLocation(URL[] bootPath) {
-		String result = System.getProperty(PROP_SPLASHLOCATION);
-		if (result != null)
-			return result;
-		String splashPath = System.getProperty(PROP_SPLASHPATH);
-		if (splashPath != null) {
-			String[] entries = getArrayFromList(splashPath);
-			ArrayList path = new ArrayList(entries.length);
-			for (int i = 0; i < entries.length; i++) {
-				String entry = resolve(entries[i]);
-				if (entry == null || entry.startsWith(FILE_SCHEME)) {
-					File entryFile = new File(entry.substring(5).replace('/', File.separatorChar));
-					entry = searchFor(entryFile.getName(), entryFile.getParent());
-					if (entry != null)
-						path.add(entry);
-				} else
-					log("Invalid splash path entry: " + entries[i]); //$NON-NLS-1$
-			}
-			// see if we can get a splash given the splash path
-			result = searchForSplash((String[]) path.toArray(new String[path.size()]));
-			if (result != null) {
-				System.getProperties().put(PROP_SPLASHLOCATION, result);
-				return result;
-			}
-		}
-
-		// can't find it on the splashPath so look for a default splash
-		String temp = bootPath[0].getFile(); // take the first path element
-		temp = temp.replace('/', File.separatorChar);
-		int ix = temp.lastIndexOf("plugins" + File.separator); //$NON-NLS-1$
-		if (ix != -1) {
-			int pix = temp.indexOf(File.separator, ix + 8);
-			if (pix != -1) {
-				temp = temp.substring(0, pix);
-				result = searchForSplash(new String[] {temp});
-				if (result != null)
-					System.getProperties().put(PROP_SPLASHLOCATION, result);
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * Do a locale-sensitive lookup of splash image
-	 */
-	private String searchForSplash(String[] searchPath) {
-		if (searchPath == null)
-			return null;
-
-		// get current locale information
-		String localePath = Locale.getDefault().toString().replace('_', File.separatorChar);
-
-		// search the specified path
-		while (localePath != null) {
-			String suffix;
-			if (localePath.equals("")) { //$NON-NLS-1$
-				// look for nl'ed splash image
-				suffix = SPLASH_IMAGE;
-			} else {
-				// look for default splash image
-				suffix = "nl" + File.separator + localePath + File.separator + SPLASH_IMAGE; //$NON-NLS-1$
-			}
-
-			// check for file in searchPath
-			for (int i = 0; i < searchPath.length; i++) {
-				String path = searchPath[i];
-				if (!path.endsWith(File.separator))
-					path += File.separator;
-				path += suffix;
-				File result = new File(path);
-				if (result.exists())
-					return result.getAbsolutePath(); // return the first match found [20063]
-			}
-
-			// try the next variant
-			if (localePath.equals("")) //$NON-NLS-1$
-				localePath = null;
-			else {
-				int ix = localePath.lastIndexOf(File.separator);
-				if (ix == -1)
-					localePath = ""; //$NON-NLS-1$
-				else
-					localePath = localePath.substring(0, ix);
-			}
-		}
-
-		// sorry, could not find splash image
-		return null;
-	}
-
-	/*
-	 * resolve platform:/base/ URLs
-	 */
-	private String resolve(String urlString) {
-		// handle the case where people mistakenly spec a refererence: url.
-		if (urlString.startsWith(REFERENCE_SCHEME)) { //$NON-NLS-1$
-			urlString = urlString.substring(10);
-			System.getProperties().put(PROP_FRAMEWORK, urlString);
-		}
-		if (urlString.startsWith(PLATFORM_URL)) {
-			String path = urlString.substring(PLATFORM_URL.length());
-			return getInstallLocation() + path;
-		} else
-			return urlString;
-	}
-
-	/*
-	 * Entry point for logging.
-	 */
-	private synchronized void log(Object obj) {
-		if (obj == null)
-			return;
-		try {
-			openLogFile();
-			try {
-				if (newSession) {
-					log.write(SESSION);
-					log.write(' ');
-					String timestamp = new Date().toString();
-					log.write(timestamp);
-					log.write(' ');
-					for (int i = SESSION.length() + timestamp.length(); i < 78; i++)
-						log.write('-');
-					log.newLine();
-					newSession = false;
-				}
-				write(obj);
-			} finally {
-				if (logFile == null) {
-					if (log != null)
-						log.flush();
-				} else
-					closeLogFile();
-			}
-		} catch (Exception e) {
-			System.err.println("An exception occurred while writing to the platform log:"); //$NON-NLS-1$
-			e.printStackTrace(System.err);
-			System.err.println("Logging to the console instead."); //$NON-NLS-1$
-			//we failed to write, so dump log entry to console instead
-			try {
-				log = logForStream(System.err);
-				write(obj);
-				log.flush();
-			} catch (Exception e2) {
-				System.err.println("An exception occurred while logging to the console:"); //$NON-NLS-1$
-				e2.printStackTrace(System.err);
-			}
-		} finally {
-			log = null;
-		}
-	}
-
-	/*
-	 * This should only be called from #log()
-	 */
-	private void write(Object obj) throws IOException {
-		if (obj == null)
-			return;
-		if (obj instanceof Throwable) {
-			log.write(STACK);
-			log.newLine();
-			((Throwable) obj).printStackTrace(new PrintWriter(log));
-		} else {
-			log.write(ENTRY);
-			log.write(' ');
-			log.write(PLUGIN_ID);
-			log.write(' ');
-			log.write(String.valueOf(ERROR));
-			log.write(' ');
-			log.write(String.valueOf(0));
-			log.write(' ');
-			try {
-				DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy kk:mm:ss.SS"); //$NON-NLS-1$
-				log.write(formatter.format(new Date()));
-			} catch (Exception e) {
-				// continue if we can't write out the date
-				log.write(Long.toString(System.currentTimeMillis()));
-			}
-			log.newLine();
-			log.write(MESSAGE);
-			log.write(' ');
-			log.write(String.valueOf(obj));
-		}
-		log.newLine();
-	}
-
-	private void computeLogFileLocation() {
-		String logFileProp = System.getProperty(PROP_LOGFILE);
-		if (logFileProp != null) {
-			if (logFile == null || !logFileProp.equals(logFile.getAbsolutePath())) {
-				logFile = new File(logFileProp);
-				logFile.getParentFile().mkdirs();
-			}
-			return;
-		}
-
-		// compute the base location and then append the name of the log file
-		URL base = buildURL(System.getProperty(PROP_CONFIG_AREA), false);
-		if (base == null)
-			return;
-		logFile = new File(base.getPath(), Long.toString(System.currentTimeMillis()) + ".log"); //$NON-NLS-1$
-		logFile.getParentFile().mkdirs();
-		System.setProperty(PROP_LOGFILE, logFile.getAbsolutePath());
-	}
-
-	/**
-	 * Converts an ASCII character representing a hexadecimal
-	 * value into its integer equivalent.
-	 */
-	private int hexToByte(byte b) {
-		switch (b) {
-			case '0' :
-				return 0;
-			case '1' :
-				return 1;
-			case '2' :
-				return 2;
-			case '3' :
-				return 3;
-			case '4' :
-				return 4;
-			case '5' :
-				return 5;
-			case '6' :
-				return 6;
-			case '7' :
-				return 7;
-			case '8' :
-				return 8;
-			case '9' :
-				return 9;
-			case 'A' :
-			case 'a' :
-				return 10;
-			case 'B' :
-			case 'b' :
-				return 11;
-			case 'C' :
-			case 'c' :
-				return 12;
-			case 'D' :
-			case 'd' :
-				return 13;
-			case 'E' :
-			case 'e' :
-				return 14;
-			case 'F' :
-			case 'f' :
-				return 15;
-			default :
-				throw new IllegalArgumentException("Switch error decoding URL"); //$NON-NLS-1$
-		}
-	}
-
-	private void openLogFile() throws IOException {
-		computeLogFileLocation();
-		try {
-			log = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFile.getAbsolutePath(), true), "UTF-8")); //$NON-NLS-1$
-		} catch (IOException e) {
-			logFile = null;
-			throw e;
-		}
-	}
-
-	private BufferedWriter logForStream(OutputStream output) {
-		try {
-			return new BufferedWriter(new OutputStreamWriter(output, "UTF-8")); //$NON-NLS-1$
-		} catch (UnsupportedEncodingException e) {
-			return new BufferedWriter(new OutputStreamWriter(output));
-		}
-	}
-
-	private void closeLogFile() throws IOException {
-		try {
-			if (log != null) {
-				log.flush();
-				log.close();
-			}
-		} finally {
-			log = null;
-		}
-	}
-
-	private void mergeProperties(Properties destination, Properties source) {
-		if (destination == null || source == null)
-			return;
-		for (Enumeration e = source.keys(); e.hasMoreElements();) {
-			String key = (String) e.nextElement();
-			if (key.equals(PROP_CLASSPATH)) {
-				String destinationClasspath = destination.getProperty(PROP_CLASSPATH);
-				String sourceClasspath = source.getProperty(PROP_CLASSPATH);
-				if (destinationClasspath == null)
-					destinationClasspath = sourceClasspath;
-				else
-					destinationClasspath = destinationClasspath + sourceClasspath;
-				destination.put(PROP_CLASSPATH, destinationClasspath);
-				continue;
-			}
-			if (!key.equals(PROP_EOF)) {
-				String value = source.getProperty(key);
-				if (destination.getProperty(key) == null)
-					destination.put(key, value);
-			}
-		}
-	}
-
-	private void setupVMProperties() {
-		if (vm != null)
-			System.getProperties().put(PROP_VM, vm);
-		setMultiValueProperty(PROP_VMARGS, vmargs);
-		setMultiValueProperty(PROP_COMMANDS, commands);
-	}
-
-	private void setMultiValueProperty(String property, String[] value) {
-		if (value != null) {
-			StringBuffer result = new StringBuffer(300);
-			for (int i = 0; i < value.length; i++) {
-				if (value[i] != null) {
-					result.append(value[i]);
-					result.append('\n');
-				}
-			}
-			System.getProperties().put(property, result.toString());
-		}
-	}
-
-	private class StartupClassLoader extends URLClassLoader {
-		public StartupClassLoader(URL[] urls, ClassLoader parent) {
-			super(urls, parent);
-		}
-
-		protected String findLibrary(String name) {
-			if (extensionPaths ==  null)
-				return super.findLibrary(name);
-			String libName = System.mapLibraryName(name);
-			for (int i = 0; i < extensionPaths.length; i++) {
-				File libFile = new File(extensionPaths[i], libName);
-				if (libFile.isFile())
-					return libFile.getAbsolutePath();
-			}
-			return super.findLibrary(name);
-		}		
-	}
-}
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/WebstartMain.java b/platform/org.eclipse.platform/src/org/eclipse/core/launcher/WebstartMain.java
deleted file mode 100644
index dd7efe8..0000000
--- a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/WebstartMain.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 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.launcher;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-import java.util.jar.JarFile;
-
-/**
- * The launcher ot start eclipse using webstart.
- * To use this launcher, the client must accept to give all security permissions. 
- */
-//The bundles are discovered by finding all the jars on the classpath. Then they are added with their full path to the osgi.bundles list.
-public class WebstartMain extends Main {
-	private static final String PROP_WEBSTART_AUTOMATIC_INSTALLATION = "eclipse.webstart.automaticInstallation"; //$NON-NLS-1$
-	private static final String DEFAULT_OSGI_BUNDLES = "org.eclipse.core.runtime@2:start"; //$NON-NLS-1$
-	private static final String PROP_OSGI_BUNDLES = "osgi.bundles"; //$NON-NLS-1$
-
-	//List all the jars that are on the classpath
-	private String[] allJars = null;
-	//The list all the bundles that have been to the bundle list 
-	private Set onTheBundleList = new HashSet();
-
-	public static void main(String[] args) {
-		System.setSecurityManager(null);	 //Hack so that when the classloader loading the fwk is created we don't have funny permissions. This should be revisited. 
-		int result = new WebstartMain().run(args);
-		System.exit(result);
-	}
-
-	private void setDefaultBundles() {
-		if (System.getProperty(PROP_OSGI_BUNDLES) != null)
-			return;
-		System.getProperties().put(PROP_OSGI_BUNDLES, DEFAULT_OSGI_BUNDLES);
-	}
-
-	protected void basicRun(String[] args) throws Exception {
-		//Set the fwk location since the regular lookup would not find it
-		String fwkURL = searchFor(framework, null);
-		System.setProperty(PROP_FRAMEWORK, fwkURL);
-		onTheBundleList.add(fwkURL);
-		super.basicRun(args);
-	}
-
-	protected URL[] getBootPath(String base) throws IOException {
-		URL[] result = super.getBootPath(base);
-		setDefaultBundles();
-		convertBundleList();
-		addAllBundlesToBundleList();
-		cleanup();
-		return result;
-	}
-
-	/*
-	 * Null out all the fields containing data 
-	 */
-	private void cleanup() {
-		allJars = null;
-		onTheBundleList = null;
-	}
-
-	protected String searchFor(final String target, String start) {
-        //The searching can be improved 
-		String[] jars = getAllJars();
-		ArrayList selected = new ArrayList(3);
-		for (int i = 0; i < jars.length; i++) {
-			if (jars[i].indexOf(target) != -1)
-				selected.add(jars[i]);
-		}
-		if (selected.size() == 0)
-			return null;
-
-		String[] selectedJars = new String[selected.size()];
-		for (int i = 0; i < selected.size(); i++) {
-			selectedJars[i] = extractFileName((String) selected.get(i));
-		}
-		if (debug)
-			System.out.println(extractInnerURL((String) selected.get(findMax(selectedJars))));
-		return extractInnerURL((String) selected.get(findMax(selectedJars)));
-	}
-
-	/*
-	 * Extract the file name of the url - given that a file name
-	 */
-	private String extractFileName(String url) {
-		String innerURL = extractInnerURL(url);
-		return innerURL.substring(innerURL.lastIndexOf("/") + 1);
-	}
-
-	/* 
-	 * Find all the jars available on the webstart classpath
-	 */
-	private String[] getAllJars() {
-		if (allJars != null)
-			return allJars;
-
-		ArrayList collector = new ArrayList();
-		try {
-			Enumeration resources = WebstartMain.class.getClassLoader().getResources(JarFile.MANIFEST_NAME);
-			while (resources.hasMoreElements()) {
-				collector.add(((URL) resources.nextElement()).toExternalForm());
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		allJars = new String[collector.size()];
-		collector.toArray(allJars);
-		if (debug)
-			printArray("Jars found on the webstart path:\n", allJars); //$NON-//$NON-NLS-1$
-
-		return allJars;
-	}
-
-	private String extractInnerURL(String url) {
-		if (url.startsWith(JAR_SCHEME)) {
-			url = url.substring(url.indexOf(JAR_SCHEME) + 4);
-		}
-		int lastBang = url.lastIndexOf('!');
-		if (lastBang != -1) {
-			url = url.substring(0, lastBang);
-		}
-		return decode(url);
-	}
-
-	/*
-	 * convert the values on the osgi bundle list from: name@... to <bundleurl>@...
-	 */
-	private void convertBundleList() {
-		final char SEPARATOR = '@';
-
-		if (debug)
-			System.out.println("Osgi bundles before conversion:\n" + System.getProperty(PROP_OSGI_BUNDLES)); //$NON-NLS-1$
-
-		String[] bundles = getArrayFromList(System.getProperty(PROP_OSGI_BUNDLES));
-		String result = "";
-		for (int i = 0; i < bundles.length; i++) {
-			//a entry in the bundle list is made of two parts: the bundle to install followed by an optional info. The separator for those is @
-			String bundle = bundles[i];
-			int positionExtraInfo = bundle.indexOf(SEPARATOR);
-			String bundleName = null;
-			if (positionExtraInfo == -1)
-				bundleName = bundle;
-			else
-				bundleName = bundle.substring(0, positionExtraInfo);
-
-			String bundleURL = searchFor(bundleName, null);
-			if (bundleURL == null) {
-				if (debug)
-					System.out.println("Could not find " + bundleName); //$NON-NLS-1$
-				continue;
-			}
-			onTheBundleList.add(bundleURL);
-			bundleURL = REFERENCE_SCHEME + bundleURL;
-			result += bundleURL;
-			if (positionExtraInfo != -1)
-				result += bundle.substring(positionExtraInfo);
-			result += ',';
-		}
-		System.setProperty(PROP_OSGI_BUNDLES, result);
-	}
-
-	/*
-	 * Add to the bundle list all the jars found the webstart classpath
-	 */
-    //This code can be improved
-	private void addAllBundlesToBundleList() {
-		if ("false".equalsIgnoreCase(System.getProperties().getProperty(PROP_WEBSTART_AUTOMATIC_INSTALLATION))) //$NON-NLS-1$
-			return;
-
-		String[] jarsOnClasspath = getAllJars();
-		String[] result = new String[jarsOnClasspath.length];
-		for (int i = 0; i < jarsOnClasspath.length; i++) {
-			onTheBundleList.contains(jarsOnClasspath[i]);
-			result[i] = REFERENCE_SCHEME + extractInnerURL(jarsOnClasspath[i]);
-		}
-		System.setProperty(PROP_OSGI_BUNDLES, System.getProperty(PROP_OSGI_BUNDLES) + arrayToString(result, ','));
-
-		if (debug)
-			printArray("Bundles list:\n", result);
-	}
-
-	private void printArray(String header, String[] values) {
-		System.out.println(header); //$NON-NLS-1$
-		for (int i = 0; i < values.length; i++) {
-			System.out.println("\t" + values[i]); //$NON-NLS-1$
-		}
-	}
-
-	private String arrayToString(String[] array, char separator) {
-		StringBuffer result = new StringBuffer();
-		for (int i = 0; i < array.length - 1; i++) {
-			result.append(array[i]).append(separator);
-		}
-		result.append(array[array.length - 1]);
-		return new String(result);
-	}
-
-}
diff --git a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/package.html b/platform/org.eclipse.platform/src/org/eclipse/core/launcher/package.html
deleted file mode 100644
index ca2e7ce..0000000
--- a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/package.html
+++ /dev/null
@@ -1,18 +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">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Launches the Eclipse Platform.
-<h2>
-Package Specification</h2>
-
-This package is the main entry point to the Eclipse Platform.  To start the platform invoke the Main
-class in this package.
-<br>&nbsp;
-</body>
-</html>
diff --git a/platform/org.eclipse.platform/welcome.xml b/platform/org.eclipse.platform/welcome.xml
deleted file mode 100644
index 26eb707..0000000
--- a/platform/org.eclipse.platform/welcome.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-<welcomePage 
-	title="Eclipse Platform"
-	format="nowrap">
-	<intro>This page will help familiarize you with the Eclipse Workbench.
-To get started, read the sections below and click on the related links. </intro>
-
-<item><b>Installed Features </b>
-To find out more about the features installed in your workbench, choose <action pluginId="org.eclipse.ui.ide"  class="org.eclipse.ui.actions.QuickStartAction">Help > Welcome...</action>
-and select the feature you are interested in.</item>
-
-<item><b>Perspectives, views and editors </b>
-A window contains one or more perspectives. A perspective consists of views (e.g. Navigator) 
-and editors for working with your resources.
-
-The shortcut bar at the far left of the window allows you to open new perspectives and move
-between perspectives that are already open. The perspective you are currently working with 
-is shown in the title of the window and in the shortcut bar as a pushed-in icon.</item>
-
-<item><b>Configuring your perspectives</b>
-You can move views and editors around the workbench by dragging their titlebars. You can
-also add more views to your current perspective by using Window > Show View. 
-To reset the perspective to its original state, choose <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.ResetPerspectiveAction">Window > Reset Perspective</action>. 
-
-Once you have arranged your perspective, you can save it using Window > Save Perspective As.... 
-You can customize the views, perspectives and New menu operations that show up for 
-your perspective. To do this choose <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.EditActionSetsAction">Window > Customize Perspective...</action> .  A view can
-additionally be converted into a Fast View by dragging it to the shortcut bar (at the 
-far left of the window). </item> 
-
-<item><b>Join a CVS team</b>
-To join a CVS development team, open the <action pluginId="org.eclipse.team.cvs.ui" class="org.eclipse.team.internal.ccvs.ui.actions.ShowCVSPerspectiveAction">CVS Repository Exploring perspective</action>. Next, specify
-the location of your CVS repository. To do this, choose <action pluginId="org.eclipse.team.cvs.ui" class="org.eclipse.team.internal.ccvs.ui.repo.NewCVSRepositoryAction">New > Repository Location...</action> from the
-CVS Repositories view popup menu. When the location wizard opens, fill in the details of your
-CVS repository and click Finish. 
-
-A repository location will appear in the CVS Repositories view. Expand the location, then expand
-the HEAD branch. You will see a list of the modules in that repository. Select a module and choose 
-<b>Checkout as Project</b> from the context menu. This will checkout the module from the CVS 
-repository and create a project by that name in your workspace.</item>
-
-<item><b>Running an Ant Buildfile</b>
-To run an Ant buildfile, click on Run > External Tools > External Tools.... Select Ant Build as the launch
-configuration type and click New. Identify the buildfile in the Location field and then click Run.</item>
-
-<item><b>Learn more </b>
-To learn more you can browse the <topic id="/org.eclipse.platform.doc.user/toc.xml">Workbench User Guide</topic>. Browse the <topic href="/org.eclipse.platform.doc.user/reference/ref-anticons.htm">External Tools and Ant Icons</topic>
-section to recognize the various External Tools and Ant elements. </item>
-
-
-</welcomePage>
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/.project b/platform/org.eclipse.sdk/.project
deleted file mode 100644
index 2e498c2..0000000
--- a/platform/org.eclipse.sdk/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.sdk</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/platform/org.eclipse.sdk/about.html b/platform/org.eclipse.sdk/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/platform/org.eclipse.sdk/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/platform/org.eclipse.sdk/about.ini b/platform/org.eclipse.sdk/about.ini
deleted file mode 100644
index eaaa6fb..0000000
--- a/platform/org.eclipse.sdk/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/platform/org.eclipse.sdk/about.mappings b/platform/org.eclipse.sdk/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/platform/org.eclipse.sdk/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/about.properties b/platform/org.eclipse.sdk/about.properties
deleted file mode 100644
index c0038e5..0000000
--- a/platform/org.eclipse.sdk/about.properties
+++ /dev/null
@@ -1,24 +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
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Eclipse Project SDK\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2004.  All rights reserved.\n\
-Visit http://www.eclipse.org/eclipse
-
diff --git a/platform/org.eclipse.sdk/build.properties b/platform/org.eclipse.sdk/build.properties
deleted file mode 100644
index b0c1058..0000000
--- a/platform/org.eclipse.sdk/build.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
-###############################################################################
-bin.includes=\
-about.html,\
-about.ini,\
-about.mappings,\
-about.properties,\
-eclipse32.gif,\
-plugin.xml,\
-plugin.properties
diff --git a/platform/org.eclipse.sdk/eclipse32.gif b/platform/org.eclipse.sdk/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/platform/org.eclipse.sdk/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.sdk/plugin.properties b/platform/org.eclipse.sdk/plugin.properties
deleted file mode 100644
index 5e64873..0000000
--- a/platform/org.eclipse.sdk/plugin.properties
+++ /dev/null
@@ -1,34 +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=Eclipse Project SDK
-providerName=Eclipse.org
-
-activity.java=Java Development
-activity.java.desc=Develop Java applications.
-activity.plugin=Plug-in Development
-activity.plugin.desc=Develop plug-ins, fragments, and features for Eclipse.
-
-activity.team.cvs=CVS Support
-activity.team.cvs.desc=Use the Concurrent Versions System (CVS) to manage resources.
-activity.team=Core Team Support
-activity.team.desc=Share projects using configuration management systems.
-
-activity.cat.development=Development
-activity.cat.development.desc=Use the Eclipse SDK to develop applications.
-activity.cat.team=Team
-activity.cat.team.desc=Use configuration management systems to manage resources.
-
-PreferencePages.Capabilities = Capabilities
-PreferencePages.Capabilities.activityName = &Capabilites
-PreferencePages.Capabilities.activityPromptButton = &Prompt when enabling capabilities
-PreferencePages.Capabilities.activityPromptButtonTooltip = Prompt when a feature is first used that requires enablement of capabilities
-
-
diff --git a/platform/org.eclipse.sdk/plugin.xml b/platform/org.eclipse.sdk/plugin.xml
deleted file mode 100644
index faffd29..0000000
--- a/platform/org.eclipse.sdk/plugin.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.sdk"
-   name="%pluginName"
-   version="3.1.0"
-   provider-name="%providerName">
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.activities">
-  
-      <activity
-            name="%activity.java"
-            description="%activity.java.desc"
-            id="org.eclipse.javaDevelopment">
-      </activity>
-      
-      <activity
-            name="%activity.plugin"
-            description="%activity.plugin.desc"
-            id="org.eclipse.plugInDevelopment">
-      </activity>
-      
-      <activityRequirementBinding
-            activityId="org.eclipse.plugInDevelopment"
-            requiredActivityId="org.eclipse.javaDevelopment">
-      </activityRequirementBinding>
-  
-      <activity
-            name="%activity.team.cvs"
-            description="%activity.team.cvs.desc"
-            id="org.eclipse.team.cvs">
-      </activity> 
-      
-      <activity
-            name="%activity.team"
-            description="%activity.team.desc"
-            id="org.eclipse.team">
-      </activity> 
-      
-      <activityRequirementBinding
-            activityId="org.eclipse.team.cvs"
-            requiredActivityId="org.eclipse.team">
-      </activityRequirementBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.javaDevelopment"
-            pattern="org\.eclipse\.jdt\.debug/debugModel">
-      </activityPatternBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.javaDevelopment"
-            pattern="org\.eclipse\.jdt\..*/.*">
-      </activityPatternBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.javaDevelopment"
-            pattern="org\.eclipse\.jdt\.core/javanature">
-
-      </activityPatternBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.plugInDevelopment"
-            pattern="org\.eclipse\.pde\..*/.*">
-      </activityPatternBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.plugInDevelopment"
-            pattern="org\.eclipse\.pde/PluginNature">
-      </activityPatternBinding>
-      <activityPatternBinding
-            activityId="org.eclipse.team"
-            pattern="org\.eclipse\.team\.ui/org.*">
-      </activityPatternBinding> 
-      <activityPatternBinding
-            activityId="org.eclipse.team"
-            pattern="org\.eclipse\.compare/compareWithPatch">
-      </activityPatternBinding>           
-      <activityPatternBinding
-            activityId="org.eclipse.team.cvs"
-            pattern="org\.eclipse\.team\.cvs\.ui/.*">
-      </activityPatternBinding>
-      <activityPatternBinding
-            activityId="org.eclipse.team.cvs"
-            pattern="org\.eclipse\.team\.cvs\.core/.*cvsnature">
-      </activityPatternBinding>
-      
-      <category
-            name="%activity.cat.development"
-            description="%activity.cat.development.desc"
-            id="org.eclipse.categories.developmentCategory">
-      </category>
-
- 	  <category
-            name="%activity.cat.team"
-            description="%activity.cat.team.desc"
-            id="org.eclipse.categories.teamCategory">
-
-      </category>
-      
-      <categoryActivityBinding
-            activityId="org.eclipse.javaDevelopment"
-            categoryId="org.eclipse.categories.developmentCategory">
-      </categoryActivityBinding>
-      
-      <categoryActivityBinding
-            activityId="org.eclipse.plugInDevelopment"
-            categoryId="org.eclipse.categories.developmentCategory">
-      </categoryActivityBinding>
-
-      <categoryActivityBinding
-            activityId="org.eclipse.team"
-            categoryId="org.eclipse.categories.teamCategory">
-      </categoryActivityBinding>        
-      
-      <categoryActivityBinding
-            activityId="org.eclipse.team.cvs"
-            categoryId="org.eclipse.categories.teamCategory">
-      </categoryActivityBinding>
-  
-      <!-- bind all elements that start with "org" -->      
-       
-      <defaultEnablement
-            id="org.eclipse.javaDevelopment">
-      </defaultEnablement>
-      
-      <defaultEnablement
-            id="org.eclipse.plugInDevelopment">
-      </defaultEnablement>
-      
-      <defaultEnablement
-            id="org.eclipse.team">
-      </defaultEnablement>     
-      
-      <defaultEnablement
-            id="org.eclipse.team.cvs">
-      </defaultEnablement>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <primaryWizard
-            id="org.eclipse.jdt.ui.wizards.JavaProjectWizard">
-      </primaryWizard>
-      <primaryWizard
-            id="org.eclipse.pde.ui.NewProjectWizard">
-      </primaryWizard>
-      <primaryWizard
-            id="org.eclipse.jdt.ui.wizards.NewClassCreationWizard">
-      </primaryWizard>
-      <primaryWizard
-            id="org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard">
-      </primaryWizard>
-      <primaryWizard
-            id="org.eclipse.pde.ui.NewProductConfigurationWizard">
-      </primaryWizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-	  <page            
-            category="org.eclipse.ui.preferencePages.Workbench"
-            name="%PreferencePages.Capabilities"
-            id="org.eclipse.sdk.capabilities">
-            <class class="org.eclipse.ui.activities.ActivitiesPreferencePage">
-            	<parameter name="activityName" value="%PreferencePages.Capabilities.activityName" />
-            	<parameter name="activityPromptButton" value="%PreferencePages.Capabilities.activityPromptButton"/>
-            	<parameter name="activityPromptButtonTooltip" value="%PreferencePages.Capabilities.activityPromptButtonTooltip"/>
-            </class>
-      </page>   
-   </extension>
-
-</plugin>
diff --git a/update/org.eclipse.update.configurator/.classpath b/update/org.eclipse.update.configurator/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.configurator/.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/update/org.eclipse.update.configurator/.cvsignore b/update/org.eclipse.update.configurator/.cvsignore
deleted file mode 100644
index 60463af..0000000
--- a/update/org.eclipse.update.configurator/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/update/org.eclipse.update.configurator/.options b/update/org.eclipse.update.configurator/.options
deleted file mode 100644
index a2c714f..0000000
--- a/update/org.eclipse.update.configurator/.options
+++ /dev/null
@@ -1,5 +0,0 @@
-# Debugging options for the org.eclipse.update.configurator plugin
-
-# Turn on general debugging for the plugin.
-org.eclipse.update.configurator/debug=false
-
diff --git a/update/org.eclipse.update.configurator/.project b/update/org.eclipse.update.configurator/.project
deleted file mode 100644
index 0f091b2..0000000
--- a/update/org.eclipse.update.configurator/.project
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.update.configurator</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.osgi</project>
-		<project>org.eclipse.osgi.util</project>
-	</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/update/org.eclipse.update.configurator/about.html b/update/org.eclipse.update.configurator/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/update/org.eclipse.update.configurator/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/update/org.eclipse.update.configurator/build.properties b/update/org.eclipse.update.configurator/build.properties
deleted file mode 100644
index 9fd124f..0000000
--- a/update/org.eclipse.update.configurator/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-bin.includes = .options,\
-               about.html,\
-               plugin.properties,\
-               plugin.xml,\
-               *.jar,\
-               META-INF/,\
-               config.ini
-src.includes = about.html
-source.configurator.jar = src/
diff --git a/update/org.eclipse.update.configurator/plugin.properties b/update/org.eclipse.update.configurator/plugin.properties
deleted file mode 100644
index 8f20178..0000000
--- a/update/org.eclipse.update.configurator/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 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= Install/Update Configurator
-providerName= Eclipse.org
-productProviderName= Update Configurator Product Provider
-
diff --git a/update/org.eclipse.update.configurator/plugin.xml b/update/org.eclipse.update.configurator/plugin.xml
deleted file mode 100644
index 3b5bbef..0000000
--- a/update/org.eclipse.update.configurator/plugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.update.configurator"
-   name="%pluginName"
-   version="3.0.0"
-   provider-name="%providerName"
-   class="org.eclipse.update.internal.configurator.ConfigurationActivator">
-
-   <runtime>
-      <library name="configurator.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-   <extension
-         id="updateConfiguratorProductProvider"
-         name="%productProviderName"
-         point="org.eclipse.core.runtime.products">
-      <provider> 
-         <run class="org.eclipse.update.internal.configurator.ProductProvider"/> 
-      </provider> 
-         
-   </extension>
-
-</plugin>
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/ConfiguratorUtils.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/ConfiguratorUtils.java
deleted file mode 100644
index ca18ceb..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/ConfiguratorUtils.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.update.configurator;
-
-import java.io.*;
-import java.net.*;
-
-import org.eclipse.update.internal.configurator.ConfigurationActivator;
-import org.osgi.framework.*;
-
-/**
- * Helper class to get platform configuration data without having to
- * use BootLoader methods from the compatibility layer.
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * @since 3.0
- */
-public class ConfiguratorUtils {
-	/**
-	 * Returns the current platform configuration. This method replaces the one we used
-	 * to call on BootLoader.
-	 * 
-	 * @return platform configuration used in current instance of platform
-	 * @since 3.0
-	 */
-	public static IPlatformConfiguration getCurrentPlatformConfiguration() {
-		// acquire factory service first
-		BundleContext context = ConfigurationActivator.getBundleContext();
-		ServiceReference configFactorySR = context.getServiceReference(IPlatformConfigurationFactory.class.getName());
-		if (configFactorySR == null)
-			throw new IllegalStateException();
-		IPlatformConfigurationFactory configFactory = (IPlatformConfigurationFactory) context.getService(configFactorySR);
-		if (configFactory == null)
-			throw new IllegalStateException();
-		// get the configuration using the factory
-		IPlatformConfiguration currentConfig = configFactory.getCurrentPlatformConfiguration();
-		context.ungetService(configFactorySR);
-		return currentConfig;
-	}
-	
-	/**
-	 * Returns a platform configuration object, optionally initialized with previously saved
-	 * configuration information. We will use this method instead of the old one in BootLoader.
-	 * 
-	 * @param url location of previously save configuration information. If <code>null</code>
-	 * is specified, an empty configuration object is returned
-	 * @return platform configuration used in current instance of platform
-	 */
-	public static IPlatformConfiguration getPlatformConfiguration(URL url) throws IOException {
-		// acquire factory service first
-		BundleContext context = ConfigurationActivator.getBundleContext();
-		ServiceReference configFactorySR = context.getServiceReference(IPlatformConfigurationFactory.class.getName());
-		if (configFactorySR == null)
-			throw new IllegalStateException();
-		IPlatformConfigurationFactory configFactory = (IPlatformConfigurationFactory) context.getService(configFactorySR);
-		if (configFactory == null)
-			throw new IllegalStateException();
-		// get the configuration using the factory
-		IPlatformConfiguration config = configFactory.getPlatformConfiguration(url);
-		context.ungetService(configFactorySR);
-		return config;
-	}
-	
-	/**
-	 * @return the URL of this eclispe installation
-	 */
-	public static URL getInstallURL() {
-		return ConfigurationActivator.getInstallURL();
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfiguration.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfiguration.java
deleted file mode 100644
index 829d4d8..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfiguration.java
+++ /dev/null
@@ -1,590 +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.update.configurator;
-
-import java.io.IOException;
-import java.net.URL;
-
-/**
- * Platform configuration interface. Represents the runtime
- * configuration used by the Eclipse platform. Any configuration
- * changes do not take effect until next startup of the Eclipse
- * platform.
- * <p>
- * Do not provide implementations of this interface or its nested interfaces. Use the factory methods 
- * on IPlatformConfigurationFactory to create a IPlatformConfiguration, then use the factory methods
- * on the IPlatformConfiguration to create instances of ISiteEntry,IFeatureEntry and ISitePolicy.
- * </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * @since 3.0
- */
-public interface IPlatformConfiguration {
-
-	/**
-	 * Configuration entry representing an install site.
-	 * 
-	 * @since 2.0 
-	 */
-	public interface ISiteEntry {
-
-		/**
-		 * Returns the URL for this site
-		 * 
-		 * @return site url
-		 * @since 2.0
-		 */
-		public URL getURL();
-
-		/**
-		 * Returns the policy for this site
-		 * 
-		 * @return site policy
-		 * @since 2.0
-		 */
-		public ISitePolicy getSitePolicy();
-
-		/**
-		 * Sets the site policy
-		 * 
-		 * @param policy site policy
-		 * @since 2.0
-		 */
-		public void setSitePolicy(ISitePolicy policy);
-
-		/**
-		 * Returns a list of features visible on the site. Note, that this is simply a 
-		 * reflection of the site content. The features may or may not be actually configured.
-		 * 
-		 * @return an array of feature entries, or an empty array if no features are found.
-		 * A feature entry is returned as a path relative to the site URL
-		 * @since 2.0
-		 */
-		public String[] getFeatures();
-
-		/**
-		 * Returns a list of plug-ins visible on the site. Note, that this is simply a 
-		 * reflection of the site content and the current policy for the site. The plug-ins
-		 * may or may not end up being used by Eclipse (depends on which plug-in are 
-		 * actually bound by the platform).
-		 * 
-		 * @return an array of plug-in entries, or an empty array if no plug-ins are found.
-		 * A plug-in entry is returned as a path relative to the site URL		 * 
-		 * @since 2.0
-		 */
-		public String[] getPlugins();
-
-		/**
-		 * Returns a stamp reflecting the current state of the site. If called repeatedly,
-		 * returns the same value as long as no changes were made to the site (changes to
-		 * features or plugins).
-		 * 
-		 * @return site change stamp
-		 * @since 2.0
-		 */
-		public long getChangeStamp();
-
-		/**
-		 * Returns a stamp reflecting the current state of the features on the site. 
-		 * If called repeatedly, returns the same value as long as no changes were made to
-		 * features on the site.
-		 * 
-		 * @return site features change stamp 
-		 * @since 2.0
-		 * @deprecated Do not use this method
-		 */
-		public long getFeaturesChangeStamp();
-
-		/**
-		 * Returns a stamp reflecting the current state of the plug-ins on the site. 
-		 * If called repeatedly, returns the same value as long as no changes were made to
-		 * plug-ins on the site.
-		 * 
-		 * @return site plug-ins change stamp 
-		 * @since 2.0
-		 * @deprecated Do not use this method
-		 */
-		public long getPluginsChangeStamp();
-
-		/**
-		 * Returns an indication whether the site can be updated.
-		 * 
-		 * @return <code>true</code> if site can be updated, <code>false</code> otherwise
-		 * @since 2.0
-		 */
-		public boolean isUpdateable();
-
-		/**
-		 * Returns an indication whether the site represents an install site
-		 * that has been linked via a native installer (using the links/<linkfile>
-		 * mechanism)
-		 * 
-		 * @return <code>true</code> if the site is linked, <code>false</code> otherwise
-		 * @since 2.0
-		 */
-		public boolean isNativelyLinked();
-	}
-
-	/**
-	 * Site policy. The site policy object determines how plug-ins
-	 * contained on the site are processed during startup. In general,
-	 * there are 3 ways of configuring a site policy
-	 * <ul>
-	 * <li>explicitly specify which plug-ins are to be included at
-	 * startup (type==USER_INCLUDE). Any other plug-ins located
-	 * at the site are ignored at startup. This is typically the best
-	 * policy when using remote sites where the user wishes
-	 * to retain explicit control over the plug-ins that are included
-	 * from such site.
-	 * <li>explicitly specify which plug-ins are to be excluded at
-	 * startup (type==USER-EXCLUDE). All other plug-ins located
-	 * at the site are used at startup. This policy requires that
-	 * the site support an access "protocol" that allows plug-in
-	 * discovery. In general, these are sites defined using the "file"
-	 * URL protocol. This is typically the best policy for local
-	 * install sites (on the user system).
-	 * </ul>
-	 * 
-	 * @since 2.0
-	 */
-	public interface ISitePolicy {
-
-		/**
-		 * Policy type constants.
-		 */
-
-		/** 
-		 * User-defined inclusion list. The list associated with this
-		 * policy type is interpreted as path entries to included plugin.xml
-		 * or fragment.xml <b>relative</b> to the site URL
-		 */
-		public static final int USER_INCLUDE = 0;
-
-		/**
-		 * User-defined exclusion list. The list associated with this
-		 * policy type is interpreted as path entries to excluded plugin.xml
-		 * or fragment.xml <b>relative</b> to the site URL
-		 */
-		public static final int USER_EXCLUDE = 1;
-		
-		/**
-		 * When this site policy is used, only plug-ins specified by the configured features
-		 * are contributed to the runtime.
-		 * @since 3.1
-		 */
-		public static final int MANAGED_ONLY = 2;
-
-		/**
-		 * Return policy type
-		 * 
-		 * @return policy type
-		 * @since 2.0
-		 */
-		public int getType();
-
-		/**
-		 * Return policy inclusion/ exclusion list
-		 * 
-		 * @return the list as an array
-		 * @since 2.0
-		 */
-		public String[] getList();
-
-		/**
-		 * Set new policy list. The list entries are interpreted based on the policy
-		 * type. See description of the policy type constants for details.
-		 * 
-		 * @param list policy inclusion/ exclusion list as an array.
-		 * Returns an empty array if there are no entries.
-		 * @see #USER_INCLUDE
-		 * @see #USER_EXCLUDE
-		 * @since 2.0
-		 */
-		public void setList(String[] list);
-	}
-
-	/**
-	 * Feature entry.
-	 * Represents runtime "hints" about configured features.
-	 * The information is used during execution to locate the
-	 * correct attribution information for a feature. Note,
-	 * that a typical configuration can declare multiple feature
-	 * entries. At execution time, only one can be selected as
-	 * the active primary feature. This is determined based on 
-	 * specified command line arguments or computed defaults.
-	 * 
-	 * @since 2.0
-	 */
-	public interface IFeatureEntry {
-
-		/**
-		 * Returns feature identifier.
-		 * @return feature identifier
-		 * @since 2.0
-		 */
-		public String getFeatureIdentifier();
-
-		/**
-		 * Returns the currently configured version for the feature.
-		 * @return feature version (as string), or <code>null</code>
-		 * @since 2.0
-		 */
-		public String getFeatureVersion();
-
-		/**
-		 * Returns the identifier of the feature plug-in for this feature entry.
-			 *  Note,      that there is no guarantee that a feature in fact
-			 * supplies a corresponding feature plugin, so the result can be
-			 * <code>null</code>. Also, if supplied, there is no guarantee that the
-			 * plugin will in fact be loaded into the plug-in registry at runtime
-			 * (due to rules and constraint checking performed by the registry
-			 * loading support). Consequently code making use of this method must
-			 * handle these conditions.
-		 * @return feature identifier (as string), or <code>null</code>
-		 * @since 2.1
-		 */
-		public String getFeaturePluginIdentifier();
-
-		/**
-		 * Returns the version of the feature plug-in for this feature
-		 * entry. Note, that there is no guarantee that a feature in fact
-		 * supplies a corresponding feature plugin, so the result can be
-		 * <code>null</code>. Also, if supplied, there is no guarantee that the
-		 * plugin will in fact be loaded into the plug-in registry at runtime
-		 * (due to rules and constraint checking performed by the registry
-		 * loading support). Consequently code making use of this method must
-		 * handle these conditions.
-		 * @return feature version (as string), or <code>null</code>
-		 * @since 2.0
-		 */
-		public String getFeaturePluginVersion();
-
-		/**
-		 * Returns the application to run when this feature is the
-		 * primary feature.
-		 * @return application identifier, or <code>null</code> 
-		 * @since 2.0
-		 */
-		public String getFeatureApplication();
-
-		/**
-		 * Returns URLs to the feature "root" locations. The root
-		 * URLs are install locations of the feature plugin and its
-		 * fragments.
-		 *
-		 * @return array of URLs, or an empty array
-		 * @since 2.0
-		 */
-		public URL[] getFeatureRootURLs();
-
-		/**
-		 * Returns an indication whether this feature has been defined
-		 * to act as a primary feature.
-		 * @return <code>true</code> if the feature can be primary,
-		 * <code>false</code> otherwise.
-		 * @since 2.0
-		 */
-		public boolean canBePrimary();
-	}
-
-	/**
-	 * Create a site entry
-	 *
-	 * @param url site URL
-	 * @param policy site policy
-	 * @return created site entry
-	 * @since 2.0
-	 */
-	public ISiteEntry createSiteEntry(URL url, ISitePolicy policy);
-
-	/**
-	 * Create a site policy. The policy determines the way the site
-	 * plug-in are processed at startpu
-	 *
-	 * @param type policy type
-	 * @param list an array of site-relative paths representing the
-	 * inclusion/ exclusion list
-	 * @return created site policy entry
-	 * @since 2.0
-	 */
-	public ISitePolicy createSitePolicy(int type, String[] list);
-
-	/**
-	 * Create a feature entry
-	 * @param id feature identifier. Must not be <code>null</code>.
-	 * @param version feature version (as String). Can be <code>null</code>.
-	 * @param pluginVersion version of the feature plugin (as String). Can be
-	 * <code>null</code>.
-	 * @param primary <code>true</code> if the feature is defined as a primary
-	 * feature, otherwise <code>false</code>.
-	 * @param application identifier of the application to run when 
-	 * this feature is the primary feature. Can be <code>null</code>.
-	 * If specified, the identifier must represent a valid extension 
-	 * registered in the <code>org.eclipse.core.runtime.applications</code>
-	 * extension point.
-	 * @param root an array of URLs to feature root directories.
-	 * These are URLs to install locations for the feature plugin
-	 * and its fragments. Can be <code>null</code>.
-	 * @return create feature entry
-	 * @since 2.0
-	 */
-	public IFeatureEntry createFeatureEntry(String id, String version, String pluginVersion, boolean primary, String application, URL[] root);
-
-	/**
-	 * Create a feature entry
-	 * @param id feature identifier. Must not be <code>null</code>.
-	 * @param version feature version (as String). Can be <code>null</code>.
-	 * @param pluginIdentifier identifier of the feature plugin (as String). Can
-	 * be <code>null</code>.
-	 * @param  pluginVersion  version of the feature plugin (as String). Can be
-	 * <code>null</code>.
-	 * @param primary <code>true</code> if the feature is defined as a primary
-	 * feature, otherwise <code>false</code>.
-	 * @param application identifier of the application to run when
-	 * this feature is the primary feature. Can be <code>null</code>.
-	 * If specified, the identifier must represent a valid extension
-	 * registered in the <code>org.eclipse.core.runtime.applications</code>
-	 * extension point.
-	 * @param root an array of URLs to feature root directories.
-	 * These are URLs to install locations for the feature plugin
-	 * and its fragments. Can be <code>null</code>.
-	 * @return create feature entry
-	 * @since 2.1
-	 */
-	public IFeatureEntry createFeatureEntry(String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root);
-
-	/**
-	 * Configures the specified site entry. If a site entry with the
-	 * same site URL is already configured, the entry is <b>not</b> replaced.
-	 * 
-	 * @param entry site entry 
-	 * @since 2.0
-	 */
-	public void configureSite(ISiteEntry entry);
-
-	/**
-	 * Configures the specified site entry. If a site entry with the
-	 * same site URL is already configured, the replacement behavior for
-	 * the entry can be specified.
-	 * 
-	 * @param entry site entry 
-	 * @param  replace indicating whether an existing configured entry with
-	 * the same URL should be replaced (<code>true</code>) or not (<code>false</code>).
-	 * @since 2.0
-	 */
-	public void configureSite(ISiteEntry entry, boolean replace);
-
-	/**
-	 * Unconfigures the specified entry. Does not do anything if the entry
-	 * is not configured.
-	 * 
-	 * @param entry site entry
-	 * @since 2.0
-	 */
-	public void unconfigureSite(ISiteEntry entry);
-
-	/**
-	 * Returns configured site entries
-	 * 
-	 * @return array of site entries. Returns an empty array if no sites are
-	 * configured
-	 * @since 2.0
-	 */
-	public ISiteEntry[] getConfiguredSites();
-
-	/**
-	 * Returns a site entry matching the specified URL
-	 * 
-	 * @param url site url
-	 * @return matching site entry, or <code>null</code> if no match found
-	 * @since 2.0
-	 */
-	public ISiteEntry findConfiguredSite(URL url);
-
-	/**
-	 * Configures the feature entry.
-	 * If another feature entry with the same feature identifier 
-	 * already exists, it is replaced.
-	 * @param entry feature entry
-	 * @since 2.0
-	 */
-	public void configureFeatureEntry(IFeatureEntry entry);
-
-	/**
-	 * Unconfigures the specified feature entry if it exists.
-	 * @param entry feature entry
-	 * @since 2.0
-	 */
-	public void unconfigureFeatureEntry(IFeatureEntry entry);
-
-	/**
-	 * Returns a list of configured feature entries.
-	 * @return array or entries, or an empty array if no entries
-	 * are configured
-	 * @since 2.0
-	 */
-	public IFeatureEntry[] getConfiguredFeatureEntries();
-
-	/**
-	 * Locates the specified feature entry.
-	 * @param id feature identifier
-	 * @return ferature entry, or <code>null</code>.
-	 * @since 2.0
-	 */
-	public IFeatureEntry findConfiguredFeatureEntry(String id);
-
-	/**
-	 * Returns the URL location of the configuration information
-	 * 
-	 * @return configuration location URL, or <code>null</code> if the
-	 * configuration location could not be determined.
-	 * @since 2.0
-	 */
-	public URL getConfigurationLocation();
-
-	/**
-	 * Returns a stamp reflecting the current state of the configuration. If called repeatedly,
-	 * returns the same value as long as no changes were made to the configuration (changes to
-	 * sites, features or plugins).
-	 * 
-	 * @return configuration change stamp
-	 * @since 2.0
-	 */
-	public long getChangeStamp();
-
-	/**
-	 * Returns a stamp reflecting the current state of the features in the configuration. 
-	 * If called repeatedly, returns the same value as long as no changes were made to
-	 * features in the configuration.
-	 * 
-	 * @return configuration features change stamp 
-	 * @since 2.0
-	 * @deprecated Do not use this method.
-	 */
-	public long getFeaturesChangeStamp();
-
-	/**
-	 * Returns a stamp reflecting the current state of the plug-ins in the configuration. 
-	 * If called repeatedly, returns the same value as long as no changes were made to
-	 * plug-ins in the configuration.
-	 * 
-	 * @return configuration plug-ins change stamp 
-	 * @since 2.0
-	 * @deprecated Do not use this method
-	 */
-	public long getPluginsChangeStamp();
-
-	/**
-	 * Returns the identifier of the configured primary feature. A primary feature
-	 * is used to specify product customization information for a running instance
-	 * of Eclipse. 
-	 * 
-	 * @return primary feature identifier, or <code>null</code> if none configured
-	 * @since 2.0
-	 */
-	public String getPrimaryFeatureIdentifier();
-
-	/**
-	 * Computes the plug-in path for this configuration. The result includes all plug-ins
-	 * visible on each of the configured sites based on each site policy.
-	 * 
-	 * @return an array of plug-in path elements (full URL entries), or an empty array.
-	 * @since 2.0
-	 */
-	public URL[] getPluginPath();
-
-	/**
-	 * Returns an array of bootstrap plugin identifiers whose
-	 * location needs to be explicitly identified in the configuration.
-	 * 
-	 * @return an array of identifiers, or empty array
-	 * otherwise
-	 * @since 2.0
-	 * @deprecated Do not use this method. Check the osgi.bundles system property for the
-	 * urls of the automatically started bundles
-	 */
-	public String[] getBootstrapPluginIdentifiers();
-
-	/**
-	 * Sets the location of a bootstrap plugin.
-	 * 
-	 * @see IPlatformConfiguration#getBootstrapPluginIdentifiers()
-	 * @param id plugin identifier. Must match one of the entries returned
-	 * by getBootstrapPluginIdentifiers()
-	 * @param location
-	 * @since 2.0
-	 * @deprecated Do not use this method. Use the osig.bundles system property contains
-	 * the urls of the automatically started bundles.
-	 */
-	public void setBootstrapPluginLocation(String id, URL location);
-
-	/**
-	 * Returns an indication whether the configuration can be updated.
-	 * 
-	 * @return <code>true</code> if configuration can be updated, <code>false</code> 
-	 * otherwise
-	 * @since 2.0
-	 */
-	public boolean isUpdateable();
-
-	/**
-	 * Returns an indication whether the configuration is transient. A transient
-	 * configuration typically represents a scenario where the configuration
-	 * was computed for a single instantiation of the platform and is not
-	 * guaranteed to be valid on subsequent instantiations.
-	 * 
-	 * @return <code>true</code> if configuration is transient, <code>false</code> 
-	 * otherwise
-	 * @since 2.0
-	 */
-	public boolean isTransient();
-
-	/**
-	 * Indicates whether the configuration is transient or not. A transient
-	 * configuration typically represents a scenario where the configuration
-	 * was computed for a single instantiation of the platform and is not
-	 * guaranteed to be valid on subsequent instantiations. This method has
-	 * no effect if called on the current platform configuration.
-	 * 
-	 * @param value <code>true</code> if configuration is transient, <code>false</code> 
-	 * otherwise
-	 * @since 2.0
-	 */
-	public void isTransient(boolean value);
-
-	/**
-	 * Called to refresh the configuration information. In particular,
-	 * causes change stamps to be recomputed based on the current
-	 * configuration state, and updates the lists of available plug-ins.
-	 * @since 2.0
-	 */
-	public void refresh();
-
-	/**
-	 * Called to save the configuration information
-	 * @since 2.0
-	 */
-	public void save() throws IOException;
-
-	/**
-	 * Called to save the configuration information in the
-	 * specified location
-	 * 
-	 * @param url save location.
-	 * @since 2.0
-	 */
-	public void save(URL url) throws IOException;
-
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfigurationFactory.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfigurationFactory.java
deleted file mode 100644
index a98af00..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfigurationFactory.java
+++ /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
- *******************************************************************************/
-package org.eclipse.update.configurator;
-
-import java.io.IOException;
-import java.net.URL;
-
-/**
- * Factory for creating platform configurations.
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface IPlatformConfigurationFactory {
-	/**
-	 * Returns the current platform configuration.
-	 * 
-	 * @return platform configuration used in current instance of platform
-	 */	
-	public IPlatformConfiguration getCurrentPlatformConfiguration();
-	/**
-	 * Returns a platform configuration object, optionally initialized with previously saved
-	 * configuration information.
-	 * 
-	 * @param url location of previously save configuration information. If <code>null</code>
-	 * is specified, an empty configuration object is returned
-	 * @return platform configuration used in current instance of platform
-	 */	
-	public IPlatformConfiguration getPlatformConfiguration(URL url) throws IOException;
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/package.html b/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/package.html
deleted file mode 100644
index fa0f9f6..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/package.html
+++ /dev/null
@@ -1,22 +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">
-   <meta name="Author" content="IBM">
-   <meta name="GENERATOR" content="Mozilla/4.72 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for accessing platform configuration data.
-<h2>
-Package Specification</h2>
-This package contains interfaces for accessing and manipulating the local
-system installation and configuration information. 
-<p>
-<b>Note:</b> This package is part of an interim API that is still under development and expected to
-change significantly before reaching stability. It is being made available at this early stage to solicit feedback
-from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
-(repeatedly) as the API evolves.
-</p>
-</body>
-</html>
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BootDescriptor.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BootDescriptor.java
deleted file mode 100644
index bc63b75..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BootDescriptor.java
+++ /dev/null
@@ -1,44 +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.update.internal.configurator;
-
-import java.net.*;
-
-
-public class BootDescriptor {
-	private String id;
-	private String version;
-	private String[] libs;
-	private URL dir;
-
-	public BootDescriptor(String id, String version, String[] libs, URL dir) {
-		this.id = id;
-		this.version = version;
-		this.libs = libs;
-		this.dir = dir;
-	}
-
-	public String getId() {
-		return id;
-	}
-
-	public String getVersion() {
-		return version;
-	}
-
-	public String[] getLibraries() {
-		return libs;
-	}
-
-	public URL getPluginDirectoryURL() {
-		return dir;
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BundleManifest.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BundleManifest.java
deleted file mode 100644
index bdaba9e..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BundleManifest.java
+++ /dev/null
@@ -1,130 +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.update.internal.configurator;
-import java.io.*;
-import java.util.jar.*;
-
-import org.eclipse.osgi.util.*;
-import org.osgi.framework.*;
-/**
- * Parses MANIFEST.MF
- */
-public class BundleManifest implements IConfigurationConstants {
-	private File manifestFile;
-	private PluginEntry pluginEntry;
-	private IOException exception;
-	private String bundleURL;
-	/**
-	 * Constructor for local file
-	 */
-	public BundleManifest(File manifest) {
-		super();
-		manifestFile = manifest;
-		if (manifest.exists() && !manifest.isDirectory()) {
-			FileInputStream fos = null;
-			try {
-				fos = new FileInputStream(manifest);
-				parse(fos);
-			} catch (IOException ioe) {
-			} finally {
-				if (fos != null) {
-					try {
-						fos.close();
-					} catch (IOException e) {
-					}
-				}
-			}
-		}
-	}
-		/**
-		 * Constructor for local file
-		 */
-		public BundleManifest(InputStream input, String bundleUrl) {
-			super();
-			bundleURL = bundleUrl;
-			if (input != null) {
-				parse(input);
-			}
-		}
-	/**
-	 * Parses manifest, creates PluginEntry if manifest is valid, stores
-	 * exception if any occurs
-	 * 
-	 * @param in
-	 *            InputStream
-	 */
-	private void parse(InputStream in) {
-		try {
-			Manifest m = new Manifest(in);
-			Attributes a = m.getMainAttributes();
-			// plugin id
-			String symbolicName = a.getValue(Constants.BUNDLE_SYMBOLICNAME);
-			if (symbolicName == null) {
-				// In Eclipse manifest must have Bundle-SymbolicName attribute
-				return;
-			}
-			String id;
-			try {
-				ManifestElement[] elements = ManifestElement.parseHeader(
-						Constants.BUNDLE_SYMBOLICNAME, symbolicName);
-				id = elements[0].getValue();
-			} catch (BundleException be) {
-				throw new IOException(be.getMessage());
-			}
-			// plugin version
-			String version = a.getValue(Constants.BUNDLE_VERSION);
-			if (version == null) {
-				Utils.log(Messages.getString(
-						"BundleManifest.noVersion", Constants.BUNDLE_VERSION, //$NON-NLS-1$
-						id));
-				return;
-			}
-			String hostPlugin = a.getValue(Constants.FRAGMENT_HOST);
-			pluginEntry = new PluginEntry();
-			pluginEntry.setVersionedIdentifier(new VersionedIdentifier(id,
-					version));
-			pluginEntry.isFragment(hostPlugin != null
-					&& hostPlugin.length() > 0);
-			// Set URL
-			if(bundleURL!=null){
-				pluginEntry.setURL(bundleURL);
-			}else{
-				File pluginDir = manifestFile.getParentFile();
-				if (pluginDir != null) {
-					pluginDir = pluginDir.getParentFile();
-				}
-				if (pluginDir != null){
-					pluginEntry.setURL(PLUGINS + "/" + pluginDir.getName() + "/"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			//
-		} catch (IOException ioe) {
-			exception = ioe;
-		}
-	}
-	public boolean exists() {
-		return exception != null || pluginEntry != null;
-	}
-	/**
-	 * Obtains PluginEntry from a manifest.
-	 * 
-	 * @return PluginEntry or null if valid manifest does not exist
-	 * @throws IOException
-	 *             if exception during parsing
-	 */
-	public PluginEntry getPluginEntry() throws IOException {
-		if (exception != null) {
-			throw exception;
-		} else {
-			return pluginEntry;
-		}
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java
deleted file mode 100644
index 2c4a760..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java
+++ /dev/null
@@ -1,163 +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.update.internal.configurator;
-
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configurator.*;
-import org.w3c.dom.*;
-
-
-public class Configuration implements IConfigurationConstants {
-	
-	private HashMap sites = new HashMap();
-	private Date date;
-	private long lastModified; // needed to account for file system limitations
-	private URL url;
-	private boolean transientConfig;
-	private boolean isDirty;
-	private Configuration linkedConfig; // shared configuration
-	
-	public Configuration() {
-		this(new Date());
-		// the config is created now or out of a platform.xml without a date
-		isDirty = true;
-	}
-	public Configuration(Date date)  {
-		this.date = date;
-	}
-	
-	public void setURL(URL url) {
-		this.url = url;
-	}
-	
-	public URL getURL() {
-		return url;
-	}
-	
-	public void setLinkedConfig(Configuration linkedConfig) {
-		this.linkedConfig = linkedConfig;
-		// make all the sites read-only
-		SiteEntry[] linkedSites = linkedConfig.getSites();
-		for (int i=0; i<linkedSites.length; i++)
-			linkedSites[i].setUpdateable(false);
-	}
-	
-	public Configuration getLinkedConfig() {
-		return linkedConfig;
-	}
-	
-	/**
-	 * @return true if the config needs to be saved
-	 */
-	public boolean isDirty() {
-		return isDirty;
-	}
-	
-	public void setDirty(boolean dirty) {
-		isDirty = dirty;
-	}
-	
-	public void addSiteEntry(String url, SiteEntry site) {
-		// only add the same site once
-		if (sites.get(url) == null && (linkedConfig == null || linkedConfig.sites.get(url) == null)) {
-			site.setConfig(this);
-			sites.put(url, site);
-		}
-	}
-	
-	public void removeSiteEntry(String url) {
-		sites.remove(url);
-	}
-	
-	public SiteEntry getSiteEntry(String url) {
-		SiteEntry site = (SiteEntry)sites.get(url);
-		if (site == null && linkedConfig != null)
-			site = linkedConfig.getSiteEntry(url);
-		return site;
-	}
-	
-	public SiteEntry[] getSites() {
-		if (linkedConfig == null)
-			return (SiteEntry[]) sites.values().toArray(new SiteEntry[sites.size()]);
-		else {
-			ArrayList combinedSites = new ArrayList(sites.values());
-			combinedSites.addAll(linkedConfig.sites.values());
-			return (SiteEntry[]) combinedSites.toArray(new SiteEntry[combinedSites.size()]);
-		}
-	}
-	
-	public Element toXML(Document doc) throws CoreException {	
-		try {
-			Element configElement = doc.createElement(CFG);
-
-			configElement.setAttribute(CFG_VERSION, VERSION);
-			configElement.setAttribute(CFG_DATE, String.valueOf(date.getTime()));
-			String transitory = isTransient() ? "true" : "false"; //$NON-NLS-1$ //$NON-NLS-2$
-			configElement.setAttribute(CFG_TRANSIENT, transitory);
-						
-			if (linkedConfig != null) {
-				configElement.setAttribute(CFG_SHARED_URL, linkedConfig.getURL().toExternalForm());
-			}
-
-			// collect site entries
-			SiteEntry[] list = (SiteEntry[]) sites.values().toArray(new SiteEntry[0]);
-			for (int i = 0; i < list.length; i++) {
-				if (linkedConfig != null && linkedConfig.getSiteEntry(list[i].getURL().toExternalForm()) != null)
-					continue;
-				Element siteElement = list[i].toXML(doc);
-				configElement.appendChild(siteElement);
-			}
-			
-			return configElement;
-			
-		} catch (Exception e) {
-			throw Utils.newCoreException("", e); //$NON-NLS-1$
-		} 
-	}
-	
-	public boolean isTransient() {
-		return transientConfig;
-	}
-	
-	public void setTransient(boolean isTransient) {
-		this.transientConfig = isTransient;
-	}
-	
-	public Date getDate() {
-		return date;
-	}
-	
-	public void setDate(Date date) {
-		this.date = date;
-	}
-	
-	public boolean unconfigureFeatureEntry(IPlatformConfiguration.IFeatureEntry feature) {
-		SiteEntry[] sites = getSites();
-		for (int i=0; i<sites.length; i++)
-			if (sites[i].unconfigureFeatureEntry(feature))
-				return true;
-		return false;
-	}
-	
-	public void setLastModified(long lastModified) {
-		this.lastModified = lastModified;
-	}
-	
-	public long lastModified() {
-		if (lastModified != 0)
-			return lastModified;
-		else
-			return date.getTime();
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationActivator.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationActivator.java
deleted file mode 100644
index c6e93e8..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationActivator.java
+++ /dev/null
@@ -1,475 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.update.internal.configurator;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.framework.log.*;
-import org.eclipse.osgi.service.datalocation.*;
-import org.eclipse.osgi.service.debug.*;
-import org.eclipse.update.configurator.*;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.*;
-import org.osgi.service.startlevel.*;
-import org.osgi.util.tracker.*;
-
-public class ConfigurationActivator implements BundleActivator, IBundleGroupProvider, IConfigurationConstants {
-
-	public static String PI_CONFIGURATOR = "org.eclipse.update.configurator"; //$NON-NLS-1$
-	public static final String INSTALL_LOCATION = "osgi.installLocation"; //$NON-NLS-1$
-	public static final String LAST_CONFIG_STAMP = "last.config.stamp"; //$NON-NLS-1$
-	public static final String NAME_SPACE = "org.eclipse.update"; //$NON-NLS-1$
-	public static final String UPDATE_PREFIX = "update@"; //$NON-NLS-1$
-	private static final String INITIAL_PREFIX = "initial@"; //$NON-NLS-1$
-	
-	// debug options
-	public static String OPTION_DEBUG = PI_CONFIGURATOR + "/debug"; //$NON-NLS-1$
-	// debug values
-	public static boolean DEBUG = false;
-	// os
-	private static boolean isWindows = System.getProperty("os.name").startsWith("Win"); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	private static BundleContext context;
-	private ServiceTracker platformTracker;
-	private ServiceRegistration configurationFactorySR;
-	private PlatformConfiguration configuration;
-	
-	// Install location
-	private static URL installURL;
-	
-	// Location of the configuration data
-	private Location configLocation;
-	
-	//Need to store that because it is not provided by the platformConfiguration
-	private long lastTimeStamp;
-
-	// The expected states timestamp
-	private long lastStateTimeStamp;
-	
-	// Singleton
-	private static ConfigurationActivator configurator;
-
-	public ConfigurationActivator() {
-		configurator = this;
-	}
-	
-	public void start(BundleContext ctx) throws Exception {
-		context = ctx;
-		loadOptions();
-		acquireFrameworkLogService();
-		initialize();
-		
-		//Short cut, if the configuration has not changed
-		if (canRunWithCachedData()) {		
-			Utils.debug("Running with cached data"); //$NON-NLS-1$
-			Platform.registerBundleGroupProvider(this);
-			return;
-		}
-
-		Utils.debug("Starting update configurator..."); //$NON-NLS-1$
-
-		installBundles();
-		Platform.registerBundleGroupProvider(this);
-	}
-
-
-	private void initialize() throws Exception {
-		// TODO this test is not really needed any more than any plugin has 
-		// to test to see if the runtime is running.  It was there from earlier days
-		// where startup was much more disjoint.  Some day that level of decoupling
-		// will return but for now...
-		if (!Platform.isRunning())
-			throw new Exception(Messages.getString("ConfigurationActivator.initialize")); //$NON-NLS-1$
-		
-		configLocation = Platform.getConfigurationLocation();
-		// create the name space directory for update (configuration/org.eclipse.update)
-		if (!configLocation.isReadOnly()) {
-			try {
-				URL privateURL = new URL(configLocation.getURL(), NAME_SPACE);
-				File f = new File(privateURL.getFile());
-				if(!f.exists())
-					f.mkdirs();
-			} catch (MalformedURLException e1) {
-				// ignore
-			}
-		}
-		configurationFactorySR = context.registerService(IPlatformConfigurationFactory.class.getName(), new PlatformConfigurationFactory(), null);
-		configuration = getPlatformConfiguration(getInstallURL(), configLocation);
-		if (configuration == null)
-			throw Utils.newCoreException(Messages.getString("ConfigurationActivator.createConfig", configLocation.getURL().toExternalForm()), null); //$NON-NLS-1$
-
-		DataInputStream stream = null;
-		try {
-			stream = new DataInputStream(new URL(configLocation.getURL(),NAME_SPACE+'/'+LAST_CONFIG_STAMP).openStream());
-			lastTimeStamp = stream.readLong();
-			lastStateTimeStamp = stream.readLong();
-		} catch (Exception e) {
-			lastTimeStamp = configuration.getChangeStamp() - 1;
-			lastStateTimeStamp = -1;
-		} finally {
-			if (stream != null)
-				try {
-					stream.close();
-				} catch (IOException e1) {
-					Utils.log(e1.getLocalizedMessage());
-				}
-		}
-	}
-
-
-	public void stop(BundleContext ctx) throws Exception {
-		// quick fix (hack) for bug 47861
-		try {
-			PlatformConfiguration.shutdown();
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		configurationFactorySR.unregister();
-	}
-
-	public boolean installBundles() {
-		Utils.debug("Installing bundles..."); //$NON-NLS-1$
-		ServiceReference reference = context.getServiceReference(StartLevel.class.getName());
-		int startLevel = 4;
-		String defaultStartLevel = System.getProperty("osgi.bundles.defaultStartLevel"); //$NON-NLS-1$
-		if (defaultStartLevel != null) {
-			try {
-				startLevel = Integer.parseInt(defaultStartLevel);
-			} catch (NumberFormatException e1) {
-				startLevel = 4;
-			}
-		}
-		if (startLevel < 1)
-			startLevel = 4;
-		
-		StartLevel start = null;
-		if (reference != null)
-			start = (StartLevel) context.getService(reference);
-		try {
-			// Get the list of cached bundles and compare with the ones to be installed.
-			// Uninstall all the cached bundles that do not appear on the new list
-			Bundle[] cachedBundles = context.getBundles();		
-			URL[] plugins = configuration.getPluginPath();
-				
-			// starts the list of bundles to refresh with all currently unresolved bundles (see bug 50680)
-			List toRefresh = getUnresolvedBundles();
-
-			Bundle[] bundlesToUninstall = getBundlesToUninstall(cachedBundles, plugins);
-			for (int i=0; i<bundlesToUninstall.length; i++) {
-				try {
-					if (DEBUG)
-						Utils.debug("Uninstalling " + bundlesToUninstall[i].getLocation()); //$NON-NLS-1$
-					// include every bundle being uninstalled in the list of bundles to refresh (see bug 82393)					
-					toRefresh.add(bundlesToUninstall[i]);					
-					bundlesToUninstall[i].uninstall();
-				} catch (Exception e) {
-					Utils.log(Messages.getString("ConfigurationActivator.uninstallBundle", bundlesToUninstall[i].getLocation())); //$NON-NLS-1$
-				}
-			}
-			
-			// Get the urls to install
-			String[] bundlesToInstall = getBundlesToInstall(cachedBundles, plugins);
-
-			for (int i = 0; i < bundlesToInstall.length; i++) {
-				try {
-					if (DEBUG)
-						Utils.debug("Installing " + bundlesToInstall[i]); //$NON-NLS-1$
-					URL bundleURL = new URL("reference:file:"+bundlesToInstall[i]); //$NON-NLS-1$
-					//Bundle target = context.installBundle(bundlesToInstall[i]);
-					Bundle target = context.installBundle(UPDATE_PREFIX+bundlesToInstall[i], bundleURL.openStream());
-					// any new bundle should be refreshed as well
-					toRefresh.add(target);
-					if (start != null)
-						start.setBundleStartLevel(target, startLevel);
-				
-				} catch (Exception e) {
-					if (!Utils.isAutomaticallyStartedBundle(bundlesToInstall[i]))
-						Utils.log(Messages.getString("ConfigurationActivator.installBundle", bundlesToInstall[i]) + "   " + e.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			context.ungetService(reference);
-			removeInitialBundles(toRefresh, cachedBundles);
-			refreshPackages((Bundle[]) toRefresh.toArray(new Bundle[toRefresh.size()]));
-			
-			// keep track of the last config successfully processed
-			writePlatformConfigurationTimeStamp();
-			return true;
-		} catch (Exception e) {
-			return false;
-		} 
-	}
-
-	private void removeInitialBundles(List bundles, Bundle[] cachedBundles) {
-		String[] initialSymbolicNames = getInitialSymbolicNames(cachedBundles);
-		Iterator iter = bundles.iterator();
-		while(iter.hasNext()) {
-			Bundle bundle = (Bundle) iter.next();
-			String symbolicName = bundle.getSymbolicName();
-			for(int i = 0; i < initialSymbolicNames.length; i++) {
-				if (initialSymbolicNames[i].equals(symbolicName)) {
-					iter.remove();
-					break;
-				}
-			}
-		}
-	}
-
-	private String[] getInitialSymbolicNames(Bundle[] cachedBundles) {
-		ArrayList initial = new ArrayList();
-		for (int i = 0; i < cachedBundles.length; i++) {
-			Bundle bundle = cachedBundles[i];
-			if (bundle.getLocation().startsWith(INITIAL_PREFIX)) {
-				String symbolicName = bundle.getSymbolicName();
-				if (symbolicName != null)
-					initial.add(symbolicName);
-			}
-		}
-		return (String[]) initial.toArray(new String[initial.size()]);
-	}
-
-	private List getUnresolvedBundles() {
-		Bundle[] allBundles = context.getBundles();
-		List unresolved = new ArrayList(); 
-		for (int i = 0; i < allBundles.length; i++)
-			if (allBundles[i].getState() == Bundle.INSTALLED)
-				unresolved.add(allBundles[i]);
-		return unresolved;
-	}
-
-	private String[] getBundlesToInstall(Bundle[] cachedBundles, URL[] newPlugins) {
-		// First, create a map of the cached bundles, for faster lookup
-		HashSet cachedBundlesSet = new HashSet(cachedBundles.length);
-		int offset = UPDATE_PREFIX.length();
-		for (int i=0; i<cachedBundles.length; i++) {
-			if (cachedBundles[i].getBundleId() == 0)
-				continue; // skip the system bundle
-			String bundleLocation = cachedBundles[i].getLocation();
-			// Ignore bundles not installed by us
-			if (!bundleLocation.startsWith(UPDATE_PREFIX))
-				continue;
-			
-			bundleLocation = bundleLocation.substring(offset);
-			cachedBundlesSet.add(bundleLocation);
-			// On windows, we will be doing case insensitive search as well, so lower it now
-			if (isWindows)
-				cachedBundlesSet.add(bundleLocation.toLowerCase());
-		}
-		
-		ArrayList bundlesToInstall = new ArrayList(newPlugins.length);
-		for (int i = 0; i < newPlugins.length; i++) {
-			String location = newPlugins[i].getFile();
-			// check if already installed
-			if (cachedBundlesSet.contains(location))
-				continue;
-			if (isWindows && cachedBundlesSet.contains(location.toLowerCase()))
-				continue;
-			
-			bundlesToInstall.add(location);
-		}
-		return (String[])bundlesToInstall.toArray(new String[bundlesToInstall.size()]);	
-	}
-	
-	
-	private Bundle[] getBundlesToUninstall(Bundle[] cachedBundles, URL[] newPlugins) {
-		// First, create a map for faster lookups
-		HashSet newPluginsSet = new HashSet(newPlugins.length);
-		for (int i=0; i<newPlugins.length; i++) {
-			
-			String pluginLocation = newPlugins[i].getFile();
-			newPluginsSet.add(pluginLocation);
-			// On windows, we will be doing case insensitive search as well, so lower it now
-			if (isWindows)
-				newPluginsSet.add(pluginLocation.toLowerCase());
-		}
-		
-		ArrayList bundlesToUninstall = new ArrayList();
-		int offset = UPDATE_PREFIX.length();
-		for (int i=0; i<cachedBundles.length; i++) {
-			if (cachedBundles[i].getBundleId() == 0)
-				continue; // skip the system bundle
-			String cachedBundleLocation = cachedBundles[i].getLocation();
-			// Only worry about bundles we installed
-			if (!cachedBundleLocation.startsWith(UPDATE_PREFIX))
-				continue;
-			cachedBundleLocation = cachedBundleLocation.substring(offset);
-
-			if (newPluginsSet.contains(cachedBundleLocation))
-				continue;
-			if (isWindows && newPluginsSet.contains(cachedBundleLocation.toLowerCase()))
-				continue;
-			
-			bundlesToUninstall.add(cachedBundles[i]);
-		}
-		return (Bundle[])bundlesToUninstall.toArray(new Bundle[bundlesToUninstall.size()]);
-	}
-	
-
-	/**
-	 * Creates and starts the platform configuration.
-	 * @return the just started platform configuration
-	 */
-	private PlatformConfiguration getPlatformConfiguration(URL installURL, Location configLocation) {
-		try {
-			PlatformConfiguration.startup(installURL, configLocation);
-		} catch (Exception e) {
-			if (platformTracker != null) {
-				String message = e.getMessage();
-				if (message == null)
-					message = ""; //$NON-NLS-1$
-				Utils.log(Utils.newStatus(message, e));
-			}
-		}
-		return PlatformConfiguration.getCurrent();
-
-	}
-
-	/**
-	 * Do PackageAdmin.refreshPackages() in a synchronous way.  After installing
-	 * all the requested bundles we need to do a refresh and want to ensure that 
-	 * everything is done before returning.
-	 * @param bundles
-	 */
-	private void refreshPackages(Bundle[] bundles) {
-		if (bundles.length == 0)
-			return;
-		ServiceReference packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-		PackageAdmin packageAdmin = null;
-		if (packageAdminRef != null) {
-			packageAdmin = (PackageAdmin) context.getService(packageAdminRef);
-			if (packageAdmin == null)
-				return;
-		}
-		// TODO this is such a hack it is silly.  There are still cases for race conditions etc
-		// but this should allow for some progress...
-		// (patch from John A.)
-		final boolean[] flag = new boolean[] {false};
-		FrameworkListener listener = new FrameworkListener() {
-			public void frameworkEvent(FrameworkEvent event) {
-				if (event.getType() == FrameworkEvent.PACKAGES_REFRESHED)
-					synchronized (flag) {
-						flag[0] = true;
-						flag.notifyAll();
-					}
-			}
-		};
-		context.addFrameworkListener(listener);
-		packageAdmin.refreshPackages(bundles);
-		synchronized (flag) {
-			while (!flag[0]) {
-				try {
-					flag.wait();
-				} catch (InterruptedException e) {
-				}
-			}
-		}
-		context.removeFrameworkListener(listener);
-		context.ungetService(packageAdminRef);
-	}
-	
-	private void writePlatformConfigurationTimeStamp() {
-		DataOutputStream stream = null;
-		try {
-			if (configLocation.isReadOnly())
-				return;
-			
-			String configArea = configLocation.getURL().getFile();
-			lastTimeStamp = configuration.getChangeStamp();
-			lastStateTimeStamp = Platform.getPlatformAdmin().getState(false).getTimeStamp();
-			stream = new DataOutputStream(new FileOutputStream(configArea +File.separator+ NAME_SPACE+ File.separator+ LAST_CONFIG_STAMP));
-			stream.writeLong(lastTimeStamp);
-			stream.writeLong(lastStateTimeStamp);
-		} catch (Exception e) {
-			Utils.log(e.getLocalizedMessage());
-		} finally {
-			if (stream != null)
-				try {
-					stream.close();
-				} catch (IOException e1) {
-					Utils.log(e1.getLocalizedMessage());
-				}
-		}
-	}
-
-	private void loadOptions() {
-		// all this is only to get the application args		
-		DebugOptions service = null;
-		ServiceReference reference = context.getServiceReference(DebugOptions.class.getName());
-		if (reference != null)
-			service = (DebugOptions) context.getService(reference);
-		if (service == null)
-			return;
-		try {
-			DEBUG = service.getBooleanOption(OPTION_DEBUG, false);
-		} finally {
-			// we have what we want - release the service
-			context.ungetService(reference);
-		}
-	}
-	
-	private boolean canRunWithCachedData() {
-		return  !"true".equals(System.getProperty("osgi.checkConfiguration")) && //$NON-NLS-1$ //$NON-NLS-2$
-				lastTimeStamp==configuration.getChangeStamp() &&
-				lastStateTimeStamp==Platform.getPlatformAdmin().getState(false).getTimeStamp();
-	}
-				
-	public static BundleContext getBundleContext() {
-		return context;
-	}
-		
-	public static URL getInstallURL() {
-		if (installURL == null)
-			installURL = Platform.getInstallLocation().getURL();
-		return installURL;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroupProvider#getName()
-	 */
-	public String getName() {
-		return Messages.getString("BundleGroupProvider"); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroupProvider#getBundleGroups()
-	 */
-	public IBundleGroup[] getBundleGroups() {
-		if (configuration == null)
-			return new IBundleGroup[0];
-		else {
-			IPlatformConfiguration.IFeatureEntry[] features = configuration.getConfiguredFeatureEntries();
-			ArrayList bundleGroups = new ArrayList(features.length);
-			for (int i=0; i<features.length; i++) {
-				if (features[i] instanceof FeatureEntry 
-					&& ((FeatureEntry)features[i]).hasBranding())
-					bundleGroups.add(features[i]);
-			}
-			return (IBundleGroup[])bundleGroups.toArray(new IBundleGroup[bundleGroups.size()]);
-		}
-	}
-
-	public static void setConfigurator(ConfigurationActivator configurator) {
-		ConfigurationActivator.configurator = configurator;
-	}
-
-	public static ConfigurationActivator getConfigurator() {
-		return configurator;
-	}
-	
-	private void acquireFrameworkLogService() throws Exception{
-		ServiceReference logServiceReference = context.getServiceReference(FrameworkLog.class.getName());
-		if (logServiceReference == null)
-			return;
-		Utils.log  = (FrameworkLog) context.getService(logServiceReference);
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationParser.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationParser.java
deleted file mode 100644
index 976564e..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationParser.java
+++ /dev/null
@@ -1,362 +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.update.internal.configurator;
-import java.io.*;
-import java.lang.reflect.*;
-import java.net.*;
-import java.util.*;
-import javax.xml.parsers.*;
-
-import org.eclipse.core.runtime.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-
-/**
- * parse the default site.xml
- */
-
-public class ConfigurationParser extends DefaultHandler implements IConfigurationConstants {
-	
-	private final static SAXParserFactory parserFactory =
-		SAXParserFactory.newInstance();
-	private SAXParser parser;
-	
-	private URL currentSiteURL;
-	private Configuration config;
-	private URL configURL;
-	private InputStream input;
-	
-	/**
-	 * Constructor for ConfigurationParser
-	 */
-	public ConfigurationParser() throws InvocationTargetException {
-
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			Utils.log(Utils.newStatus("ConfigurationParser", e)); //$NON-NLS-1$
-			throw new InvocationTargetException(e);
-		} catch (SAXException e) {
-			Utils.log(Utils.newStatus("ConfigurationParser", e)); //$NON-NLS-1$
-			throw new InvocationTargetException(e);
-		}
-	}
-	
-	public Configuration parse(URL url) throws Exception {
-
-		// DEBUG:		
-		Utils.debug("Start parsing Configuration:" + url); //$NON-NLS-1$	
-		long lastModified = 0;
-		try {
-			configURL = url;
-			if ("file".equals(url.getProtocol())) { //$NON-NLS-1$
-				File inputFile = new File(url.getFile());
-				if (!inputFile.exists() || !inputFile.canRead())
-					return null;
-				lastModified = inputFile.lastModified();
-				input = new FileInputStream(inputFile);
-			} else 
-				input = url.openStream();
-			parser.parse(new InputSource(input), this);
-			return config;
-		} catch (Exception e) {
-			Utils.log(Utils.newStatus("ConfigurationParser.parse() error:", e)); //$NON-NLS-1$
-			throw e;
-		} finally {
-			if (config != null)
-				config.setLastModified(lastModified);
-			try {
-				if (input != null) { 
-					input.close();
-					input = null;
-				}
-			} catch (IOException e1) {
-				Utils.log(e1.getLocalizedMessage());
-			}
-		}
-	}
-
-	/**
-	 * @see DefaultHandler#startElement(String, String, String, Attributes)
-	 */
-	public void startElement(
-		String uri,
-		String localName,
-		String qName,
-		Attributes attributes)
-		throws SAXException {
-
-		// DEBUG:		
-		Utils.debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		try {
-
-			String tag = localName.trim();
-
-			if (tag.equalsIgnoreCase(CFG)) {
-				processConfig(attributes);
-				return;
-			}
-
-			if (tag.equalsIgnoreCase(CFG_SITE)) {
-				processSite(attributes);
-				return;
-			}
-
-			if (tag.equalsIgnoreCase(CFG_FEATURE_ENTRY)) {
-				processFeature(attributes);
-				return;
-			}
-
-		} catch (MalformedURLException e) {
-			throw new SAXException(Messages.getString("InstalledSiteParser.UnableToCreateURL", e.getMessage()), e); //$NON-NLS-1$
-		} catch (CoreException e) {
-			throw new SAXException(Messages.getString("InstalledSiteParser.InternalError", e.toString()), e); //$NON-NLS-1$
-		}
-	}
-
-	/** 
-	 * process the Site info
-	 */
-	private void processSite(Attributes attributes)
-		throws MalformedURLException, CoreException {
-
-		if (config == null)
-			return;
-		
-		// reset current site
-		currentSiteURL = null;
-		
-		String urlString = attributes.getValue(CFG_URL); //$NON-NLS-1$
-		if (urlString == null)
-			return;
-
-		URL url = null;
-		try {
-			url = new URL(urlString);
-		} catch (MalformedURLException e) {
-			// try relative to install url
-			url = new URL(PlatformConfiguration.getInstallURL(), urlString);
-			return;
-		}
-		
-		if (!isValidSite(url))
-			return;
-		
-		// use this new site
-		currentSiteURL = url;
-
-		int policyType;
-		String[] policyList = null;
-		String typeString = attributes.getValue(CFG_POLICY); //$NON-NLS-1$
-		if (typeString == null) {
-			policyType = DEFAULT_POLICY_TYPE;
-			policyList = DEFAULT_POLICY_LIST;
-		} else {
-			int i;
-			for (i = 0; i < CFG_POLICY_TYPE.length; i++) {
-				if (typeString.equals(CFG_POLICY_TYPE[i])) {
-					break;
-				}
-			}
-			if (i >= CFG_POLICY_TYPE.length) {
-				policyType = DEFAULT_POLICY_TYPE;
-				policyList = DEFAULT_POLICY_LIST;
-			} else {
-				policyType = i;
-				String pluginList = attributes.getValue(CFG_LIST);
-				if (pluginList != null) {
-					StringTokenizer st = new StringTokenizer(pluginList,","); //$NON-NLS-1$
-					policyList = new String[st.countTokens()];
-					for (i=0; i<policyList.length; i++)
-						policyList[i] = st.nextToken();
-				}
-			}
-		}
-
-		SitePolicy sp = new SitePolicy(policyType, policyList);
-		SiteEntry site = (SiteEntry) new SiteEntry(url, sp);
-
-		String flag = attributes.getValue(CFG_UPDATEABLE); //$NON-NLS-1$
-		if (flag != null) {
-			if (flag.equals("true")) //$NON-NLS-1$
-				site.setUpdateable(true);
-			else
-				site.setUpdateable(false);
-		}
-		
-		flag = attributes.getValue(CFG_ENABLED); //$NON-NLS-1$
-		if (flag != null && flag.equals("false")) //$NON-NLS-1$
-			site.setEnabled(false);
-		else
-			site.setEnabled(true);
-
-		String linkname = attributes.getValue(CFG_LINK_FILE); //$NON-NLS-1$
-		if (linkname != null && !linkname.equals("")) { //$NON-NLS-1$
-			site.setLinkFileName(linkname.replace('/', File.separatorChar));
-		}
-
-		// DEBUG:		
-		Utils.debug("End process config site url:" + urlString + " policy:" + typeString + " updatable:"+flag ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		
-		config.addSiteEntry(url.toExternalForm(), site);
-	}
-	
-	/** 
-	 * process the DefaultFeature info
-	 */
-	private void processFeature(Attributes attributes)
-		throws MalformedURLException, CoreException {
-
-		if (currentSiteURL == null)
-			return; // the site was not correct
-			
-		String id = attributes.getValue(CFG_FEATURE_ENTRY_ID); //$NON-NLS-1$
-		if (id == null)
-			return;
-		String version = attributes.getValue(CFG_FEATURE_ENTRY_VERSION); //$NON-NLS-1$
-		String pluginVersion = attributes.getValue(CFG_FEATURE_ENTRY_PLUGIN_VERSION); //$NON-NLS-1$
-		if (pluginVersion == null || pluginVersion.trim().length() == 0)
-			pluginVersion = version;
-		String pluginIdentifier = attributes.getValue(CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER); //$NON-NLS-1$
-		if (pluginIdentifier != null && pluginIdentifier.trim().length() == 0)
-			pluginIdentifier = null;
-		String application = attributes.getValue(CFG_FEATURE_ENTRY_APPLICATION); //$NON-NLS-1$
-		
-		// get install locations
-		String locations = attributes.getValue(CFG_FEATURE_ENTRY_ROOT);
-		StringTokenizer st = locations != null ? new StringTokenizer(locations,",") : new StringTokenizer(""); //$NON-NLS-1$ //$NON-NLS-2$
-		ArrayList rootList = new ArrayList(st.countTokens());
-		while (st.hasMoreTokens()){
-			try{
-				URL rootEntry = new URL(st.nextToken());
-				rootList.add(rootEntry);
-			} catch (MalformedURLException e) {
-				// skip bad entries ...
-			}
-		}
-		URL[] roots = (URL[]) rootList.toArray(new URL[rootList.size()]);
-
-		// get primary flag
-		boolean primary = false;
-		String flag = attributes.getValue(CFG_FEATURE_ENTRY_PRIMARY); //$NON-NLS-1$
-		if (flag != null) {
-			if (flag.equals("true")) //$NON-NLS-1$
-				primary = true;
-		}
-		
-		FeatureEntry featureEntry =  new FeatureEntry(id, version, pluginIdentifier, pluginVersion, primary, application, roots);
-
-		// set the url
-		String url = attributes.getValue(CFG_URL); //$NON-NLS-1$
-		if (url != null && url.trim().length() > 0)
-			featureEntry.setURL(url);
-		
-		SiteEntry site = config.getSiteEntry(currentSiteURL.toExternalForm());
-		site.addFeatureEntry(featureEntry);
-		
-		// configured ?
-//		String configuredString = attributes.getValue("configured"); //$NON-NLS-1$
-//		boolean configured = configuredString.trim().equalsIgnoreCase("true") ? true : false; //$NON-NLS-1$
-	}
-
-
-	/** 
-	 * process the Config info
-	 */
-	private void processConfig(Attributes attributes) {
-		String date = attributes.getValue(CFG_DATE);
-		if (date == null || date.trim().length() == 0)
-			config = new Configuration(); // constructed with current date
-		else {
-			long time = 0;
-			try {
-				time = Long.parseLong(date);
-				config = new Configuration(new Date(time));
-			} catch (NumberFormatException e1) {
-				time = new Date().getTime();
-				Utils.log(Messages.getString("InstalledSiteParser.date", date)); //$NON-NLS-1$
-				config = new Configuration(); // constructed with current date
-			}
-		}
-		
-		config.setURL(configURL);
-		
-		try {
-			String sharedURL = attributes.getValue(CFG_SHARED_URL);
-			if (sharedURL != null) {
-				ConfigurationParser parser = new ConfigurationParser();
-				Configuration sharedConfig = parser.parse(new URL(sharedURL));
-				if (sharedConfig == null)
-					throw new Exception();
-				config.setLinkedConfig(sharedConfig);
-			}
-		} catch (Exception e) {
-			// could not load from shared install
-			Utils.log(Utils.newStatus(Messages.getString("ConfigurationParser.cannotLoadSharedInstall"), e)); //$NON-NLS-1$
-		}
-
-		String flag = attributes.getValue(CFG_TRANSIENT);
-		if (flag != null) {
-			config.setTransient(flag.equals("true")); //$NON-NLS-1$
-		}
-		
-		// DEBUG:		
-		Utils.debug("End Processing Config Tag: date:" + attributes.getValue(CFG_DATE)); //$NON-NLS-1$
-	}
-	
-	private boolean isValidSite(URL url) {
-		URL resolvedURL=  url;
-		if (url.getProtocol().equals("platform")) { // $NON-NLS-1$
-			try {
-				resolvedURL = PlatformConfiguration.resolvePlatformURL(url); // 19536
-			} catch (IOException e) {
-				// will use the baseline URL ...
-			}
-		}
-		
-		if (!PlatformConfiguration.supportsDetection(resolvedURL))
-			return false;
-
-		File siteRoot = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-		if (!siteRoot.exists()) {
-			Utils.debug("Site " + resolvedURL + " does not exist "); //$NON-NLS-1$ //$NON-NLS-2$
-			return false;
-		} else
-			return true;
-	}
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public void endElement(String uri, String localName, String qName)
-			throws SAXException {
-		super.endElement(uri, localName, qName);
-		
-		// DEBUG:		
-		Utils.debug("End Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		try {
-
-			String tag = localName.trim();
-
-			if (tag.equalsIgnoreCase(CFG)) {
-				 // This is a bit of a hack.
-				 // When no features were added to the site, but the site is initialized from platform.xml 
-				 // we need to set the feature set to empty, so we don't try to detect them.
-				SiteEntry[] sites = config.getSites();
-				for (int i=0; i<sites.length; i++)
-					sites[i].initialized();
-				return;
-			}
-		} catch (Exception e) {
-			// silent ignore
-		}
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureEntry.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureEntry.java
deleted file mode 100644
index 8debb9d..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureEntry.java
+++ /dev/null
@@ -1,361 +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.update.internal.configurator;
-
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.internal.configurator.branding.*;
-import org.osgi.framework.*;
-import org.w3c.dom.*;
-
-
-/**
- * 
- * Feature information
- */
-public class FeatureEntry
-		implements
-			IPlatformConfiguration.IFeatureEntry,
-			IConfigurationConstants,
-			IBundleGroup,
-			IBundleGroupConstants,
-			IProduct,
-			IProductConstants {
-	private String id;
-	private String version;
-	private String pluginVersion;
-	private String application;
-	private URL[] root;
-	private boolean primary;
-	private String pluginIdentifier;
-	private String url;
-	private String description;
-	private String licenseURL;
-	private ArrayList plugins;
-	private AboutInfo branding;
-	private SiteEntry site;
-	private ResourceBundle resourceBundle;
-	private boolean fullyParsed;
-
-	public FeatureEntry(String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root) {
-		if (id == null)
-			throw new IllegalArgumentException();
-		this.id = id;
-		this.version = version;
-		this.pluginVersion = pluginVersion;
-		this.pluginIdentifier = pluginIdentifier;
-		this.primary = primary;
-		this.application = application;
-		this.root = (root == null ? new URL[0] : root);
-	}
-
-	public FeatureEntry( String id, String version, String pluginVersion, boolean primary, String application, URL[] root) {
-		this(id, version, id, pluginVersion, primary, application, root);
-	}
-
-	public void setSite(SiteEntry site) {
-		this.site = site;
-	}
-	
-	public SiteEntry getSite() {
-		return this.site;
-	}
-	
-	public void addPlugin(PluginEntry plugin) {
-		if (plugins == null)
-			plugins = new ArrayList();
-		plugins.add(plugin);
-	}
-	
-	public PluginEntry[] getPluginEntries() {
-		if (plugins == null)
-			fullParse();
-		return (PluginEntry[])plugins.toArray(new PluginEntry[plugins.size()]);
-	}
-	
-	/**
-	 * Sets the url string (relative to the site url)
-	 * @param url
-	 */
-	public void setURL(String url) {
-		this.url = url;
-	}
-	
-	/**
-	 * @return the feature url (relative to the site): features/org.eclipse.platform/
-	 */
-	public String getURL() {
-//		if (url == null)
-//			url = FEATURES + "/" + id + "_" + version + "/";
-		return url;
-	}
-	
-	/*
-	 * @see IFeatureEntry#getFeatureIdentifier()
-	 */
-	public String getFeatureIdentifier() {
-		return id;
-	}
-
-	/*
-	 * @see IFeatureEntry#getFeatureVersion()
-	 */
-	public String getFeatureVersion() {
-		return version;
-	}
-
-	/*
-	 * @see IFeatureEntry#getFeaturePluginVersion()
-	 */
-	public String getFeaturePluginVersion() {
-		return pluginVersion != null && pluginVersion.length() > 0 ? pluginVersion : null;
-	}
-
-	/*
-	 * @see IFeatureEntry#getFeaturePluginIdentifier()
-	 */
-	public String getFeaturePluginIdentifier() {
-		// if no plugin is specified, use the feature id
-		return pluginIdentifier != null && pluginIdentifier.length() > 0 ? pluginIdentifier : id;
-	}
-	
-	/*
-	 * @see IFeatureEntry#getFeatureApplication()
-	 */
-	public String getFeatureApplication() {
-		return application;
-	}
-
-	/*
-	 * @see IFeatureEntry#getFeatureRootURLs()
-	 */
-	public URL[] getFeatureRootURLs() {
-		return root;
-	}
-
-	/*
-	 * @see IFeatureEntry#canBePrimary()
-	 */
-	public boolean canBePrimary() {
-		return primary;
-	}
-
-	public Element toXML(Document doc) {
-	
-		Element featureElement = doc.createElement(CFG_FEATURE_ENTRY);		
-		// write out feature entry settings
-		if (id != null)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_ID, id); 
-		if (primary)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_PRIMARY, "true"); //$NON-NLS-1$
-		if (version != null)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_VERSION, version); 
-		if (pluginVersion != null && !pluginVersion.equals(version) && pluginVersion.length() > 0)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_PLUGIN_VERSION, pluginVersion); 
-		if (pluginIdentifier != null && !pluginIdentifier.equals(id) && pluginIdentifier.length() > 0)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER, pluginIdentifier);
-		if (application != null)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_APPLICATION, application);
-		if (url != null)
-			featureElement.setAttribute(CFG_URL, url);
-		
-		URL[] roots = getFeatureRootURLs();
-		for (int i=0; i<roots.length; i++) {
-			String root = roots[i].toExternalForm();
-			if (root != null && root.trim().length() > 0){
-				Element rootElement = doc.createElement(CFG_FEATURE_ENTRY_ROOT);
-				rootElement.appendChild(doc.createTextNode(root));
-				featureElement.appendChild(rootElement);
-			}
-		}
-		
-		return featureElement;
-	}
-	
-	public void setDescription(String description) {
-		this.description = description;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getBundles()
-	 */
-	public Bundle[] getBundles() {
-		if (plugins == null)
-			fullParse();
-		
-		ArrayList bundles = new ArrayList(plugins.size());
-		for (int i=0; i<plugins.size(); i++) {
-			PluginEntry plugin = (PluginEntry)plugins.get(i);
-			// get the highest version for the plugin
-			Bundle bundle = Platform.getBundle(plugin.getPluginIdentifier());
-			if (bundle != null)
-				bundles.add(bundle);
-		}
-		return (Bundle[])bundles.toArray(new Bundle[bundles.size()]);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getDescription()
-	 */
-	public String getDescription() {
-		if (description == null)
-			fullParse();
-		return description;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getIdentifier()
-	 */
-	public String getIdentifier() {
-		return id;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getName()
-	 */
-	public String getName() {
-		if (branding == null)
-			branding = AboutInfo.readFeatureInfo(id, version, getFeaturePluginIdentifier());
-		return branding.getProductName();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getProperty(java.lang.String)
-	 */
-	public String getProperty(String key) {
-		if (key == null)
-			return null;
-		
-		if (branding == null)
-			branding = AboutInfo.readFeatureInfo(id, version, getFeaturePluginIdentifier());
-		
-		// IBundleGroupConstants
-		if (key.equals(FEATURE_IMAGE))
-			return branding.getFeatureImageURL() == null ? null : branding.getFeatureImageURL().toExternalForm();
-		else if (key.equals(TIPS_AND_TRICKS_HREF)) 
-			return branding.getTipsAndTricksHref();
-		else if (key.equals(IBundleGroupConstants.WELCOME_PAGE)) // same value is used by product and bundle group
-			return branding.getWelcomePageURL() == null ? null : branding.getWelcomePageURL().toExternalForm();
-		else if (key.equals(WELCOME_PERSPECTIVE))
-			return branding.getWelcomePerspectiveId();
-		// IProductConstants
-		else if (key.equals(APP_NAME)) 
-			return branding.getAppName();
-		else if (key.equals(ABOUT_TEXT))
-			return branding.getAboutText();
-		else if (key.equals(ABOUT_IMAGE))
-			return branding.getAboutImageURL() == null ? null : branding.getAboutImageURL().toExternalForm();
-		else if (key.equals(WINDOW_IMAGE))
-			return branding.getWindowImageURL()== null ? null : branding.getWindowImageURL().toExternalForm();
-		else if (key.equals(WINDOW_IMAGES)) {
-			URL[] urls = branding.getWindowImagesURLs();
-			if (urls == null)
-				return null;
-			StringBuffer windowImagesURLs = new StringBuffer();
-			for (int i=0; i<urls.length; i++){
-				windowImagesURLs.append(urls[i].toExternalForm());
-				if (i != urls.length-1)
-					windowImagesURLs.append(',');
-			}
-			return windowImagesURLs.toString();
-		} else if (key.equals(LICENSE_HREF))
-			return getLicenseURL();
-		
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getProviderName()
-	 */
-	public String getProviderName() {
-		if (branding == null)
-			branding = AboutInfo.readFeatureInfo(id, version, getFeaturePluginIdentifier());
-		return branding.getProviderName();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getVersion()
-	 */
-	public String getVersion() {
-		return version;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProduct#getApplication()
-	 */
-	public String getApplication() {
-		return application;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProduct#getId()
-	 */
-	public String getId() {
-		return id;
-	}
-	
-	public ResourceBundle getResourceBundle(){
-		if (resourceBundle != null)
-			return resourceBundle;
-		
-		// Determine the properties file location
-		if (site == null)
-			return null;
-		
-		ResourceBundle bundle = null;
-		try {
-			URL propertiesURL = new URL(site.getResolvedURL(), getURL());
-			ClassLoader l = new URLClassLoader(new URL[] { propertiesURL }, null);
-			bundle = ResourceBundle.getBundle(IConfigurationConstants.CFG_FEATURE_ENTRY, Utils.getDefaultLocale(), l);
-		} catch (MissingResourceException e) {
-			Utils.log(e.getLocalizedMessage()); 
-		} catch (MalformedURLException e) {
-			Utils.log(e.getLocalizedMessage()); 
-		}
-		return bundle;
-	}
-	
-	public void setLicenseURL(String licenseURL) {
-		this.licenseURL = licenseURL;
-	}
-	
-	public String getLicenseURL() {
-		if (licenseURL == null)
-			fullParse();
-		if (licenseURL == null)
-			return null;
-		
-		String resolvedURL = Utils.getResourceString(getResourceBundle(), licenseURL);
-		if (resolvedURL.startsWith("http://")) //$NON-NLS-1$
-			return resolvedURL;
-		else {
-			try {
-				return new URL(getSite().getResolvedURL(), getURL() + resolvedURL).toExternalForm();
-			} catch (MalformedURLException e) {
-				return resolvedURL;
-			}
-		}
-	}
-	
-	private void fullParse() {
-		if (fullyParsed)
-			return;
-		fullyParsed = true;
-		if (plugins == null) 
-			plugins = new ArrayList();
-		FullFeatureParser parser = new FullFeatureParser(this);
-		parser.parse();
-	}
-	
-	public Bundle getDefiningBundle() {
-		return Platform.getBundle(getFeaturePluginIdentifier());
-	}
-	
-	public boolean hasBranding() {
-        String bundleId = getFeaturePluginIdentifier();
-		return bundleId != null && Platform.getBundle(bundleId) != null;
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureParser.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureParser.java
deleted file mode 100644
index 86429de..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureParser.java
+++ /dev/null
@@ -1,135 +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.update.internal.configurator;
-
-
-import java.io.*;
-import java.net.*;
-
-import javax.xml.parsers.*;
-
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-
-/**
- * Default feature parser.
- * Parses the feature manifest file as defined by the platform.
- * 
- * @since 3.0
- */
-public class FeatureParser extends DefaultHandler {
-
-	private SAXParser parser;
-	private FeatureEntry feature;
-	private URL url;
-
-	private final static SAXParserFactory parserFactory =
-		SAXParserFactory.newInstance();
-
-	/**
-	 * Constructs a feature parser.
-	 */
-	public FeatureParser() {
-		super();
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			System.out.println(e);
-		} catch (SAXException e) {
-			System.out.println(e);
-		}
-	}
-	/**
-	 * Parses the specified url and constructs a feature
-	 */
-	public FeatureEntry parse(URL featureURL){
-		feature=null;
-		InputStream in = null;
-		try {
-			this.url = featureURL;
-			in = featureURL.openStream();
-			parser.parse(new InputSource(in), this);
-		} catch (SAXException e) {;
-		} catch (IOException e) {
-		} finally {
-			if (in != null)
-				try {
-					in.close();
-				} catch (IOException e1) {
-					Utils.log(e1.getLocalizedMessage());
-				}
-		}
-		return feature;
-	}
-
-	/**
-	 * Handle start of element tags
-	 * @see DefaultHandler#startElement(String, String, String, Attributes)
-	 * @since 2.0
-	 */
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-
-		Utils.debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		if ("feature".equals(localName)) { //$NON-NLS-1$
-			processFeature(attributes);
-			// stop parsing now
-			throw new SAXException(""); //$NON-NLS-1$
-		} else {
-		}
-		
-	}
-
-	/*
-	 * Process feature information
-	 */
-	private void processFeature(Attributes attributes) {
-
-		// identifier and version
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String ver = attributes.getValue("version"); //$NON-NLS-1$
-
-		if (id == null || id.trim().equals("") //$NON-NLS-1$
-		|| ver == null || ver.trim().equals("")) { //$NON-NLS-1$
-			System.out.println(Messages.getString("FeatureParser.IdOrVersionInvalid", new String[] { id, ver})); //$NON-NLS-1$
-		} else {
-//			String label = attributes.getValue("label"); //$NON-NLS-1$
-//			String provider = attributes.getValue("provider-name"); //$NON-NLS-1$
-//			String imageURL = attributes.getValue("image"); //$NON-NLS-1$
-			String os = attributes.getValue("os"); //$NON-NLS-1$
-			String ws = attributes.getValue("ws"); //$NON-NLS-1$
-			String nl = attributes.getValue("nl"); //$NON-NLS-1$
-			String arch = attributes.getValue("arch"); //$NON-NLS-1$
-			if (!Utils.isValidEnvironment(os, ws, arch, nl)) 
-				return;
-//			String exclusive = attributes.getValue("exclusive"); //$NON-NLS-1$
-//			String affinity = attributes.getValue("colocation-affinity"); //$NON-NLS-1$
-
-			String primary = attributes.getValue("primary"); //$NON-NLS-1$
-			boolean isPrimary = "true".equals(primary); //$NON-NLS-1$
-			String application = attributes.getValue("application"); //$NON-NLS-1$
-			String plugin = attributes.getValue("plugin"); //$NON-NLS-1$
-
-			//TODO rootURLs
-			feature = new FeatureEntry(id, ver, plugin, "", isPrimary, application, null ); //$NON-NLS-1$
-			if ("file".equals(url.getProtocol())) { //$NON-NLS-1$
-				File f = new File(url.getFile().replace('/', File.separatorChar));
-				feature.setURL("features" + "/" + f.getParentFile().getName() + "/");// + f.getName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			} else {
-				feature.setURL(url.toExternalForm());
-			}
-
-			Utils.
-				debug("End process DefaultFeature tag: id:" +id + " ver:" +ver + " url:" + feature.getURL()); 	 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FullFeatureParser.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FullFeatureParser.java
deleted file mode 100644
index 69e14e1..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FullFeatureParser.java
+++ /dev/null
@@ -1,149 +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.update.internal.configurator;
-
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-import javax.xml.parsers.*;
-
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-
-/**
- * A more complete feature parser. It adds the plugins listed to the feature.
- */
-public class FullFeatureParser extends DefaultHandler implements IConfigurationConstants{
-
-	private SAXParser parser;
-	private FeatureEntry feature;
-	private URL url;
-	private boolean isDescription;
-	private StringBuffer description = new StringBuffer();
-
-	private final static SAXParserFactory parserFactory =
-		SAXParserFactory.newInstance();
-
-	/**
-	 * Constructs a feature parser.
-	 */
-	public FullFeatureParser(FeatureEntry feature) {
-		super();
-		this.feature = feature;
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			System.out.println(e);
-		} catch (SAXException e) {
-			System.out.println(e);
-		}
-	}
-	/**
-	 */
-	public void parse(){
-		InputStream in = null;
-		try {
-			if (feature.getSite() == null)
-				return;
-			this.url = new URL(feature.getSite().getResolvedURL(), feature.getURL() + FEATURE_XML);
-			in = url.openStream();
-			parser.parse(new InputSource(in), this);
-		} catch (SAXException e) {;
-		} catch (IOException e) {
-		} finally {
-			if (in != null)
-				try {
-					in.close();
-				} catch (IOException e1) {
-					Utils.log(e1.getLocalizedMessage());
-				}
-		}
-	}
-
-	/**
-	 * Handle start of element tags
-	 * @see DefaultHandler#startElement(String, String, String, Attributes)
-	 * @since 2.0
-	 */
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-
-		Utils.debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		if ("plugin".equals(localName)) { //$NON-NLS-1$
-			processPlugin(attributes);
-		} else if ("description".equals(localName)){ //$NON-NLS-1$
-			isDescription = true;
-		} else if ("license".equals(localName)) { //$NON-NLS-1$
-			processLicense(attributes);
-		}
-	}
-
-	/*
-	 * Process feature information
-	 */
-	private void processPlugin(Attributes attributes) {
-
-		// identifier and version
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String ver = attributes.getValue("version"); //$NON-NLS-1$
-
-		if (id == null || id.trim().equals("") //$NON-NLS-1$
-		|| ver == null || ver.trim().equals("")) { //$NON-NLS-1$
-			System.out.println(Messages.getString("FeatureParser.IdOrVersionInvalid", new String[] { id, ver})); //$NON-NLS-1$
-		} else {
-//			String label = attributes.getValue("label"); //$NON-NLS-1$
-//			String provider = attributes.getValue("provider-name"); //$NON-NLS-1$
-			String nl = attributes.getValue("nl"); //$NON-NLS-1$
-			String os = attributes.getValue("os"); //$NON-NLS-1$
-			String ws = attributes.getValue("ws"); //$NON-NLS-1$
-			String arch = attributes.getValue("arch"); //$NON-NLS-1$
-			if (!Utils.isValidEnvironment(os, ws, arch,nl))
-				return;
-
-			PluginEntry plugin = new PluginEntry();
-			plugin.setPluginIdentifier(id);
-			plugin.setPluginVersion(ver);
-			feature.addPlugin(plugin);
-			
-			Utils.
-				debug("End process DefaultFeature tag: id:" +id + " ver:" +ver + " url:" + feature.getURL()); 	 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-	
-	private void processLicense(Attributes attributes ){
-		feature.setLicenseURL(attributes.getValue("url")); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-	 */
-	public void characters(char[] ch, int start, int length)
-			throws SAXException {
-		if (!isDescription)
-			return;
-		description.append(ch, start, length);
-	}
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public void endElement(String uri, String localName, String qName)
-			throws SAXException {
-		if ("description".equals(localName)) { //$NON-NLS-1$
-			isDescription = false;
-			String d = description.toString().trim();
-			ResourceBundle bundle = feature.getResourceBundle();
-			feature.setDescription(Utils.getResourceString(bundle, d));
-		}
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/IConfigurationConstants.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/IConfigurationConstants.java
deleted file mode 100644
index b75c9d2..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/IConfigurationConstants.java
+++ /dev/null
@@ -1,64 +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.update.internal.configurator;
-
-import org.eclipse.update.configurator.IPlatformConfiguration.*;
-
-/**
- * Constants
- */
-public interface IConfigurationConstants {
-	public static final String ECLIPSE_PRODUCT = "eclipse.product"; //$NON-NLS-1$
-	public static final String ECLIPSE_APPLICATION = "eclipse.application"; //$NON-NLS-1$
-	public static final String CFG = "config"; //$NON-NLS-1$
-	public static final String CFG_BOOT_PLUGIN = "bootstrap"; //$NON-NLS-1$
-	public static final String CFG_SITE = "site"; //$NON-NLS-1$
-	public static final String CFG_URL = "url"; //$NON-NLS-1$
-	public static final String CFG_POLICY = "policy"; //$NON-NLS-1$
-	public static final String[] CFG_POLICY_TYPE = { "USER-INCLUDE", "USER-EXCLUDE", "MANAGED-ONLY" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	public static final String CFG_POLICY_TYPE_UNKNOWN = "UNKNOWN"; //$NON-NLS-1$
-	public static final String CFG_LIST = "list"; //$NON-NLS-1$
-	public static final String CFG_STAMP = "stamp"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_STAMP = "stamp.features"; //$NON-NLS-1$
-	public static final String CFG_PLUGIN_STAMP = "stamp.plugins"; //$NON-NLS-1$
-	public static final String CFG_UPDATEABLE = "updateable"; //$NON-NLS-1$
-	public static final String CFG_LINK_FILE = "linkfile"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY = "feature"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_ID = "id"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_PRIMARY = "primary"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_VERSION = "version"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_PLUGIN_VERSION = "plugin-version"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER = "plugin-identifier"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_APPLICATION = "application"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_ROOT = "root"; //$NON-NLS-1$
-	public static final String CFG_DATE = "date"; //$NON-NLS-1$
-	public static final String CFG_PLUGIN = "plugin"; //$NON-NLS-1$
-	public static final String CFG_FRAGMENT = "fragment"; //$NON-NLS-1$
-	public static final String CFG_ENABLED = "enabled"; //$NON-NLS-1$
-	public static final String CFG_SHARED_URL = "shared_ur"; //$NON-NLS-1$
-	
-
-	public static final String CFG_VERSION = "version"; //$NON-NLS-1$
-	public static final String CFG_TRANSIENT = "transient"; //$NON-NLS-1$
-	public static final String VERSION = "3.0"; //$NON-NLS-1$
-//	public static final String EOF = "eof"; //$NON-NLS-1$
-	public static final int CFG_LIST_LENGTH = 10;
-
-	public static final int DEFAULT_POLICY_TYPE = ISitePolicy.USER_EXCLUDE;
-	public static final String[] DEFAULT_POLICY_LIST = new String[0];
-	
-	public static final String PLUGINS = "plugins"; //$NON-NLS-1$
-	public static final String FEATURES = "features"; //$NON-NLS-1$
-	public static final String PLUGIN_XML = "plugin.xml"; //$NON-NLS-1$
-	public static final String FRAGMENT_XML = "fragment.xml"; //$NON-NLS-1$
-	public static final String META_MANIFEST_MF = "META-INF/MANIFEST.MF"; //$NON-NLS-1$
-	public static final String FEATURE_XML = "feature.xml"; //$NON-NLS-1$
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker.java
deleted file mode 100644
index 4752fef..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.update.internal.configurator;
-
-import java.io.IOException;
-
-/**
- * Internal class.
- */
-public interface Locker {
-	public boolean lock() throws IOException;
-	public void release();
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaIo.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaIo.java
deleted file mode 100644
index 28b1fef..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaIo.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.update.internal.configurator;
-
-import java.io.*;
-
-/**
- * Internal class.
- */
-public class Locker_JavaIo implements Locker {
-	private File lockFile;
-	private RandomAccessFile lockRAF;
-
-	public Locker_JavaIo(File lockFile) {
-		this.lockFile = lockFile;
-	}
-
-	public synchronized boolean lock() throws IOException {
-		//if the lock file already exists, try to delete,
-		//assume failure means another eclipse has it open
-		if (lockFile.exists())
-			lockFile.delete();
-		if (lockFile.exists())
-			return false;
-
-		//open the lock file so other instances can't co-exist
-		lockRAF = new RandomAccessFile(lockFile, "rw"); //$NON-NLS-1$
-		lockRAF.writeByte(0);
-
-		return true;
-	}
-
-	public synchronized void release() {
-		try {
-			if (lockRAF != null) {
-				lockRAF.close();
-				lockRAF = null;
-			}
-		} catch (IOException e) {
-			//don't complain, we're making a best effort to clean up
-		}
-		if (lockFile != null)
-			lockFile.delete();
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaNio.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaNio.java
deleted file mode 100644
index c7d8a6c..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaNio.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.update.internal.configurator;
-
-import java.io.*;
-import java.nio.channels.FileLock;
-
-/**
- * Internal class.
- */
-public class Locker_JavaNio implements Locker {
-	private File lockFile;
-	private FileLock fileLock;
-
-	public Locker_JavaNio(File lockFile) {
-		this.lockFile = lockFile;
-	}
-
-	public synchronized boolean lock() throws IOException {
-		RandomAccessFile raf = new RandomAccessFile(lockFile, "rw"); //$NON-NLS-1$
-		fileLock = raf.getChannel().lock();
-		
-		if (fileLock != null)
-			return true;
-		return false;
-	}
-
-	public synchronized void release() {
-		if (fileLock != null) {
-			try {
-				fileLock.release();
-			} catch (IOException e) {
-				//don't complain, we're making a best effort to clean up
-			}
-			fileLock = null;
-		}
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Messages.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Messages.java
deleted file mode 100644
index 211c181..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Messages.java
+++ /dev/null
@@ -1,69 +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.update.internal.configurator;
-
-import java.text.MessageFormat;
-import java.util.*;
-
-public class Messages {
-	private static String bundleName = "org.eclipse.update.internal.configurator.messages"; //$NON-NLS-1$
-	private static ResourceBundle bundle = ResourceBundle.getBundle(bundleName, Locale.getDefault());
-
-	/**
-	 * Lookup the message with the given ID in this catalog 
-	 */
-	public static String getString(String id) {
-		return getString(id, (String[]) null);
-	}
-	/**
-	 * Lookup the message with the given ID in this catalog and bind its
-	 * substitution locations with the given string.
-	 */
-	public static String getString(String id, String binding) {
-		return getString(id, new String[] { binding });
-	}
-	/**
-	 * Lookup the message with the given ID in this catalog and bind its
-	 * substitution locations with the given strings.
-	 */
-	public static String getString(String id, String binding1, String binding2) {
-		return getString(id, new String[] { binding1, binding2 });
-	}
-
-	/**
-	 * Lookup the message with the given ID in this catalog and bind its
-	 * substitution locations with the given string values.
-	 */
-	public static String getString(String id, String[] bindings) {
-		if (id == null)
-			return "No message available"; //$NON-NLS-1$
-		String message = null;
-		try {
-			message = bundle.getString(id);
-		} catch (MissingResourceException e) {
-			// If we got an exception looking for the message, fail gracefully by just returning
-			// the id we were looking for.  In most cases this is semi-informative so is not too bad.
-			return "Missing message: " + id + " in: " + bundleName; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (bindings == null)
-			return message;
-		return MessageFormat.format(message, bindings);
-	}
-	/**
-	 * Print a debug message to the console. If the given boolean is <code>true</code> then
-	 * pre-pend the message with the current date.
-	 */
-	public static void debug(boolean includeDate, String message) {
-		if (includeDate)
-			message = new Date(System.currentTimeMillis()).toString() + " - " + message; //$NON-NLS-1$
-		System.out.println(message);
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
deleted file mode 100644
index 20313a5..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
+++ /dev/null
@@ -1,1182 +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.update.internal.configurator;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.net.*;
-//PAL nio optional
-//import java.nio.channels.*;
-import java.util.*;
-
-import javax.xml.parsers.*;
-//PAL cdcFoundation
-//import javax.xml.transform.*;
-//import javax.xml.transform.dom.*;
-//import javax.xml.transform.stream.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.service.datalocation.*;
-import org.eclipse.update.configurator.*;
-import org.w3c.dom.*;
-
-/**
- * This class is responsible for providing the features and plugins (bundles) to 
- * the runtime. Configuration data is stored in the configuration/org.eclipse.update/platform.xml file.
- * When eclipse starts, it tries to load the config info from platform.xml.
- * If the file does not exist, then it also tries to read it from a temp or backup file.
- * If this does not succeed, a platform.xml is created by inspecting the eclipse 
- * installation directory (its features and plugin folders).
- * If platform.xml already exists, a check is made to see when it was last modified
- * and whether there are any file system changes that are newer (users may manually unzip 
- * features and plugins). In this case, the newly added features and plugins are picked up.
- * A check for existence of features and plugins is also performed, to detect deletions.
- */
-public class PlatformConfiguration implements IPlatformConfiguration, IConfigurationConstants {
-
-	private static PlatformConfiguration currentPlatformConfiguration = null;
-	private static final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-//	private static final TransformerFactory transformerFactory = TransformerFactory.newInstance();
-	private static final String XML_ENCODING = "UTF-8";
-
-	private Configuration config;
-	private URL configLocation;
-	private HashMap externalLinkSites; // used to restore prior link site state
-	private long changeStamp;
-	private long featuresChangeStamp;
-	private boolean featuresChangeStampIsValid;
-	private long pluginsChangeStamp;
-	private boolean pluginsChangeStampIsValid;
-	//PAL nio optional
-	//private FileLock lock;
-	private Locker lock = null;
-	private static boolean checkNio = false;
-	private static boolean useNio;
-
-	private static final String ECLIPSE = "eclipse"; //$NON-NLS-1$
-	private static final String CONFIG_HISTORY = "history"; //$NON-NLS-1$
-	private static final String PLATFORM_XML = "platform.xml"; //$NON-NLS-1$
-	private static final String CONFIG_NAME = ConfigurationActivator.NAME_SPACE + "/" + PLATFORM_XML; //$NON-NLS-1$
-	private static final String CONFIG_INI = "config.ini"; //NON-NLS-1$ //$NON-NLS-1$
-	private static final String CONFIG_FILE_LOCK_SUFFIX = ".lock"; //$NON-NLS-1$
-	private static final String CONFIG_FILE_TEMP_SUFFIX = ".tmp"; //$NON-NLS-1$
-	private static final String LINKS = "links"; //$NON-NLS-1$
-	private static final String[] BOOTSTRAP_PLUGINS = {}; //$NON-NLS-1$
-
-	private static final String DEFAULT_FEATURE_APPLICATION = "org.eclipse.ui.ide.workbench"; //$NON-NLS-1$
-
-	private static final String LINK_PATH = "path"; //$NON-NLS-1$
-	private static final String LINK_READ = "r"; //$NON-NLS-1$
-	private static final String LINK_READ_WRITE = "rw"; //$NON-NLS-1$
-	private static URL installURL;
-	
-	private PlatformConfiguration(Location platformConfigLocation) throws CoreException, IOException {
-
-		this.externalLinkSites = new HashMap();
-		this.config = null;
-		
-		// initialize configuration
-		initializeCurrent(platformConfigLocation);
-
-		// Detect external links. These are "soft link" to additional sites. The link
-		// files are usually provided by external installation programs. They are located
-		// relative to this configuration URL.
-		// Note: don't do it for self hosting
-		if (!isTransient())
-			configureExternalLinks();
-
-		// Validate sites in the configuration. Causes any sites that do not exist to
-		// be removed from the configuration
-		validateSites();
-
-		// compute differences between configuration and actual content of the sites
-		// (base sites and link sites)
-		// Note: when the config is transient (generated by PDE, etc.) we don't reconcile
-		if (isTransient())
-			return;
-		
-		changeStamp = computeChangeStamp();
-		if (changeStamp > config.getDate().getTime())
-			reconcile();
-	}
-
-	PlatformConfiguration(URL url) throws Exception {
-		this.externalLinkSites = new HashMap();
-		initialize(url);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#createSiteEntry(URL, ISitePolicy)
-	 */
-	public ISiteEntry createSiteEntry(URL url, ISitePolicy policy) {
-		return new SiteEntry(url, policy);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#createSitePolicy(int, String[])
-	 */
-	public ISitePolicy createSitePolicy(int type, String[] list) {
-		return new SitePolicy(type, list);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#createFeatureEntry(String, String, String, boolean, String, URL)
-	 */
-	public IFeatureEntry createFeatureEntry(String id, String version, String pluginVersion, boolean primary, String application, URL[] root) {
-		return new FeatureEntry(id, version, pluginVersion, primary, application, root);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#createFeatureEntry(String, String, String,
-	 * String, boolean, String, URL)
-	 */
-	public IFeatureEntry createFeatureEntry(String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root) {
-		return new FeatureEntry(id, version, pluginIdentifier, pluginVersion, primary, application, root);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#configureSite(ISiteEntry)
-	 */
-	public void configureSite(ISiteEntry entry) {
-		configureSite(entry, false);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#configureSite(ISiteEntry, boolean)
-	 */
-	public synchronized void configureSite(ISiteEntry entry, boolean replace) {
-
-		if (entry == null)
-			return;
-	
-		URL url = entry.getURL();
-		if (url == null)
-			return;
-
-		String key = url.toExternalForm();
-		if (config.getSiteEntry(key) != null && !replace)
-			return;
-	
-		if (entry instanceof SiteEntry)
-			config.addSiteEntry(key, (SiteEntry)entry);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#unconfigureSite(ISiteEntry)
-	 */
-	public synchronized void unconfigureSite(ISiteEntry entry) {
-		if (entry == null)
-			return;
-
-		URL url = entry.getURL();
-		if (url == null)
-			return;
-		
-		String key = url.toExternalForm();	
-		if (entry instanceof SiteEntry)
-			config.removeSiteEntry(key);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getConfiguredSites()
-	 */
-	public ISiteEntry[] getConfiguredSites() {
-		if (config == null)
-			return new ISiteEntry[0];
-		
-		SiteEntry[] sites = config.getSites();
-		ArrayList enabledSites = new ArrayList(sites.length);
-		for (int i=0; i<sites.length; i++) {
-			if (sites[i].isEnabled())
-				enabledSites.add(sites[i]);
-		}
-		return (ISiteEntry[])enabledSites.toArray(new ISiteEntry[enabledSites.size()]);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#findConfiguredSite(URL)
-	 */
-	public ISiteEntry findConfiguredSite(URL url) {
-		return findConfiguredSite(url, true);
-	}
-	
-	/**
-	 * 
-	 * @param url site url
-	 * @param checkPlatformURL if true, check for url format that is platform:/...
-	 * @return
-	 */
-	public SiteEntry findConfiguredSite(URL url, boolean checkPlatformURL) {
-		if (url == null)
-			return null;
-		String key = url.toExternalForm();
-
-		SiteEntry result = config.getSiteEntry(key);	
-		if (result == null) { // retry with decoded URL string
-			try {
-				//PAL foundation
-				//key = URLDecoder.decode(key, "UTF-8"); //$NON-NLS-1$
-				key = UpdateURLDecoder.decode(key, "UTF-8"); //$NON-NLS-1$
-			} catch (UnsupportedEncodingException e) {
-				// ignore
-			}
-			result = config.getSiteEntry(key);
-		}
-			
-		if (result == null && checkPlatformURL) {
-			try {
-				result = findConfiguredSite(Utils.asPlatformURL(url), false);
-			} catch (Exception e) {
-				//ignore
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#configureFeatureEntry(IFeatureEntry)
-	 */
-	public synchronized void configureFeatureEntry(IFeatureEntry entry) {
-		if (entry == null)
-			return;
-
-		String key = entry.getFeatureIdentifier();
-		if (key == null)
-			return;
-
-		// we should check each site and find where the feature is
-		// located and then configure it
-		if (config == null)
-			config = new Configuration();
-
-		SiteEntry[] sites = config.getSites();
-		for (int i=0; i<sites.length; i++) {
-			// find out what site contains the feature and configure it
-			try {
-				URL url = new URL(sites[i].getURL(), FEATURES + "/" + entry.getFeatureIdentifier()+ "_" + entry.getFeatureVersion() + "/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				if (new File(url.getFile()).exists())
-					sites[i].addFeatureEntry(entry);
-				else  {
-					url = new URL(sites[i].getURL(), FEATURES + "/" + entry.getFeatureIdentifier() + "/"); //$NON-NLS-1$ //$NON-NLS-2$
-					if (new File(url.getFile()).exists())
-						sites[i].addFeatureEntry(entry);
-				}
-			} catch (MalformedURLException e) {
-			}
-		}
-	}
-
-	/*
-	 * @see IPlatformConfiguration#unconfigureFeatureEntry(IFeatureEntry)
-	 */
-	public synchronized void unconfigureFeatureEntry(IFeatureEntry entry) {
-		if (entry == null)
-			return;
-
-		String key = entry.getFeatureIdentifier();
-		if (key == null)
-			return;
-
-		config.unconfigureFeatureEntry(entry);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getConfiguredFeatureEntries()
-	 */
-	public IFeatureEntry[] getConfiguredFeatureEntries() {
-		ArrayList configFeatures = new ArrayList();
-		SiteEntry[] sites = config.getSites();
-		for (int i=0; i<sites.length; i++) {
-			FeatureEntry[] features = sites[i].getFeatureEntries();
-			for (int j=0; j<features.length; j++)
-				configFeatures.add(features[j]);
-		}
-		return (IFeatureEntry[])configFeatures.toArray(new FeatureEntry[configFeatures.size()]);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#findConfiguredFeatureEntry(String)
-	 */
-	public IFeatureEntry findConfiguredFeatureEntry(String id) {
-		if (id == null)
-			return null;
-
-		SiteEntry[] sites = config.getSites();
-		for (int i=0; i<sites.length; i++) {
-			FeatureEntry f = sites[i].getFeatureEntry(id);
-			if (f != null)
-				return f;
-		}
-		return null;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getConfigurationLocation()
-	 */
-	public URL getConfigurationLocation() {
-		return configLocation;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getChangeStamp()
-	 */
-	public long getChangeStamp() {
-		if (config.getLinkedConfig() == null)
-			return config.getDate().getTime();
-		else
-			return Math.max(config.getDate().getTime(), config.getLinkedConfig().getDate().getTime());
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getFeaturesChangeStamp()
-	 * @deprecated Don't use this method
-	 */
-	public long getFeaturesChangeStamp() {
-		return 0;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getPluginsChangeStamp()
-	 * @deprecated Don't use this method
-	 */
-	public long getPluginsChangeStamp() {
-		return 0;
-	}
-
-
-	public String getApplicationIdentifier() {
-		// Return the app if defined in system properties
-		String application = System.getProperty(ECLIPSE_APPLICATION);
-		if (application != null)
-			return application;
-
-		// Otherwise, try to get it from the primary feature (aka product)
-		String feature = getPrimaryFeatureIdentifier();
-
-		// lookup application for feature (specified or defaulted)
-		if (feature != null) {
-			IFeatureEntry fe = findConfiguredFeatureEntry(feature);
-			if (fe != null) {
-				if (fe.getFeatureApplication() != null)
-					return fe.getFeatureApplication();
-			}
-		}
-
-		// return hardcoded default if we failed
-		return DEFAULT_FEATURE_APPLICATION;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getPrimaryFeatureIdentifier()
-	 */
-	public String getPrimaryFeatureIdentifier() {
-		// Return the product if defined in system properties
-		String primaryFeatureId = System.getProperty(ECLIPSE_PRODUCT);
-		if (primaryFeatureId != null) {
-			// check if feature exists
-			IFeatureEntry feature = findConfiguredFeatureEntry(primaryFeatureId);
-			if (feature != null && feature.canBePrimary())
-				return primaryFeatureId;
-		}
-		return null;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getPluginPath()
-	 */
-	public URL[] getPluginPath() {
-		ArrayList path = new ArrayList();
-		Utils.debug("computed plug-in path:"); //$NON-NLS-1$
-
-		ISiteEntry[] sites = getConfiguredSites();
-		URL pathURL;
-		for (int i = 0; i < sites.length; i++) {
-			String[] plugins = sites[i].getPlugins();
-			for (int j = 0; j < plugins.length; j++) {
-				try {
-					pathURL = new URL(((SiteEntry) sites[i]).getResolvedURL(), plugins[j]);
-					path.add(pathURL);
-					Utils.debug("   " + pathURL.toString()); //$NON-NLS-1$
-				} catch (MalformedURLException e) {
-					// skip entry ...
-					Utils.debug("   bad URL: " + e); //$NON-NLS-1$
-				}
-			}
-		}
-		return (URL[]) path.toArray(new URL[0]);
-	}
-	
-
-	/*
-	 * A variation of the getPluginPath, but it returns the actual plugin entries
-	 */
-	public PluginEntry[] getPlugins() {
-		ArrayList allPlugins = new ArrayList();
-		Utils.debug("computed plug-ins:"); //$NON-NLS-1$
-
-		ISiteEntry[] sites = getConfiguredSites();
-		for (int i = 0; i < sites.length; i++) {
-			if (!(sites[i] instanceof SiteEntry)) {
-				Utils.debug("Site " + sites[i].getURL() + " is not a SiteEntry"); //$NON-NLS-1$ //$NON-NLS-2$
-				continue;
-			}
-			PluginEntry[] plugins = ((SiteEntry)sites[i]).getPluginEntries();
-			for (int j = 0; j < plugins.length; j++) {
-				allPlugins.add(plugins[j]);
-				Utils.debug("   " + plugins[j].getURL()); //$NON-NLS-1$
-			}
-		}
-		return (PluginEntry[]) allPlugins.toArray(new PluginEntry[0]);
-	}
-	
-
-	/*
-	 * @see IPlatformConfiguration#getBootstrapPluginIdentifiers()
-	 */
-	public String[] getBootstrapPluginIdentifiers() {
-		return BOOTSTRAP_PLUGINS;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#setBootstrapPluginLocation(String, URL)
-	 */
-	public void setBootstrapPluginLocation(String id, URL location) {
-	}
-
-	/*
-	 * @see IPlatformConfiguration#isUpdateable()
-	 */
-	public boolean isUpdateable() {
-		return true;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#isTransient()
-	 */
-	public boolean isTransient() {
-		if (config != null)
-			return config.isTransient();
-		else
-			return false;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#isTransient(boolean)
-	 */
-	public void isTransient(boolean value) {
-		if (this != getCurrent() && config != null)
-			config.setTransient(value);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#refresh()
-	 */
-	public synchronized void refresh() {
-		// Reset computed values. Will be lazily refreshed
-		// on next access
-		ISiteEntry[] sites = getConfiguredSites();
-		for (int i = 0; i < sites.length; i++) {
-			// reset site entry
-			 ((SiteEntry) sites[i]).refresh();
-		}
-	}
-
-	/*
-	 * @see IPlatformConfiguration#save()
-	 */
-	public void save() throws IOException {
-		if (isUpdateable())
-			save(configLocation);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#save(URL)
-	 */
-	public synchronized void save(URL url) throws IOException {
-		if (url == null)
-			throw new IOException(Messages.getString("cfig.unableToSave.noURL")); //$NON-NLS-1$
-
-		OutputStream os = null;
-		if (!url.getProtocol().equals("file")) { //$NON-NLS-1$
-			// not a file protocol - attempt to save to the URL
-			URLConnection uc = url.openConnection();
-			uc.setDoOutput(true);
-			os = uc.getOutputStream();
-			try {
-				saveAsXML(os);
-				config.setDirty(false);
-			} catch (CoreException e) {
-				Utils.log(e.getMessage());
-				Utils.log(e.getStatus());
-				throw new IOException(Messages.getString("cfig.unableToSave", url.toExternalForm())); //$NON-NLS-1$
-			} finally {
-				os.close();
-			}
-		} else {
-			// file protocol - do safe i/o
-			File cfigFile = new File(url.getFile().replace('/', File.separatorChar));
-			if (!cfigFile.getName().equals(PLATFORM_XML)) {
-				if (cfigFile.exists() && cfigFile.isFile()) {
-					Utils.log(Messages.getString("PlatformConfiguration.expectingPlatformXMLorDirectory") + cfigFile.getName()); //$NON-NLS-1$
-					cfigFile = cfigFile.getParentFile();
-				}
-				cfigFile = new File(cfigFile, CONFIG_NAME);
-			}
-			File workingDir = cfigFile.getParentFile();
-			if (workingDir != null && !workingDir.exists())
-				workingDir.mkdirs();
-
-			// Do safe i/o: 
-			//    - backup current config, by moving it to the history folder
-			//    - write new config to platform.xml.tmp file
-			//    - rename the temp file to platform.xml
-			File cfigFileOriginal = new File(cfigFile.getAbsolutePath());
-			File cfigTmp = new File(cfigFile.getAbsolutePath() + CONFIG_FILE_TEMP_SUFFIX);
-			
-			// Backup old file
-			if (cfigFile.exists()){
-				File backupDir = new File(workingDir, CONFIG_HISTORY);
-				if (!backupDir.exists())
-					backupDir.mkdir();
-				long timestamp = cfigFile.lastModified();
-				File preservedFile = new File(backupDir, String.valueOf(timestamp)+".xml"); //$NON-NLS-1$
-				// If the target file exists, increment the timestamp. Try at most 100 times.
-				long increment = 1;
-				while (preservedFile.exists() && increment < 100){
-					preservedFile = new File(backupDir, String.valueOf(timestamp+increment++)+".xml"); //$NON-NLS-1$
-				}
-				if (!preservedFile.exists()) {
-					// try renaming current config to backup copy
-					if (!cfigFile.renameTo(preservedFile))
-						Utils.log(Messages.getString("PlatformConfiguration.cannotBackupConfig")); //$NON-NLS-1$
-				}
-			}
-
-			// first save the file as temp
-			os = new FileOutputStream(cfigTmp);
-			
-			try {
-				saveAsXML(os);
-				// Try flushing any internal buffers, and synchronize with the disk
-				try {
-					os.flush();
-					((FileOutputStream)os).getFD().sync();
-				} catch (SyncFailedException e2) {
-					Utils.log(e2.getMessage());
-				} catch (IOException e2) {
-					Utils.log(e2.getMessage());
-				}
-				try {
-					os.close();
-					os = null;
-				} catch (IOException e1) {
-					Utils.log(Messages.getString("PlatformConfiguration.cannotCloseStream") + cfigTmp); //$NON-NLS-1$
-					Utils.log(e1.getMessage());
-				}
-				// set file time stamp to match that of the config element
-				cfigTmp.setLastModified(config.getDate().getTime());
-				// set this on config, in case the value was rounded off
-				config.setLastModified(cfigTmp.lastModified());
-				// make the change stamp to be the same as the config file
-				changeStamp = config.getDate().getTime();
-				config.setDirty(false);
-			} catch (CoreException e) {
-				throw new IOException(Messages.getString("cfig.unableToSave", cfigTmp.getAbsolutePath())); //$NON-NLS-1$
-			} finally {
-				if (os != null)
-					try {
-						os.close();
-					} catch (IOException e1) {
-						Utils.log(Messages.getString("PlatformConfiguration.cannotCloseTempFile") + cfigTmp); //$NON-NLS-1$
-					}
-			}
-
-			// at this point we have old config (if existed) as "bak" and the
-			// new config as "tmp".
-			boolean ok = cfigTmp.renameTo(cfigFileOriginal);
-			if (!ok) {
-				// this codepath represents a tiny failure window. The load processing
-				// on startup will detect missing config and will attempt to start
-				// with "tmp" (latest), then "bak" (the previous). We can also end up
-				// here if we failed to rename the current config to "bak". In that
-				// case we will restart with the previous state.
-				Utils.log(Messages.getString("PlatformConfiguration.cannotRenameTempFile")); //$NON-NLS-1$
-				
-				throw new IOException(Messages.getString("cfig.unableToSave", cfigTmp.getAbsolutePath())); //$NON-NLS-1$
-			}
-		}
-	}
-
-
-	public static PlatformConfiguration getCurrent() {
-		return currentPlatformConfiguration;
-	}
-
-	/**
-	 * Starts a platform installed at specified installURL using configuration located at platformConfigLocation.
-	 */
-	public static synchronized void startup(URL installURL, Location platformConfigLocation) throws Exception {
-		PlatformConfiguration.installURL = installURL;
-	
-		// create current configuration
-		if (currentPlatformConfiguration == null) {
-			currentPlatformConfiguration = new PlatformConfiguration(platformConfigLocation);
-			if (currentPlatformConfiguration.config == null)
-				throw new Exception(Messages.getString("PlatformConfiguration.cannotLoadConfig") + platformConfigLocation.getURL()); //$NON-NLS-1$
-			if (currentPlatformConfiguration.config.isDirty())
-				// If this is a transient config (generated by PDE),do nothing
-				// otherwise, save the configuration with proper date
-				if (!currentPlatformConfiguration.isTransient())
-					currentPlatformConfiguration.save();
-		}
-	}
-
-	public static synchronized void shutdown() throws IOException {
-
-		// save platform configuration
-		PlatformConfiguration config = getCurrent();
-		if (config != null) {
-			// only save if there are changes in the config
-			if (config.config.isDirty() && !config.isTransient()) {
-				try {
-					config.save();
-				} catch (IOException e) {
-					Utils.debug("Unable to save configuration " + e.toString()); //$NON-NLS-1$
-					// will recover on next startup
-				}
-			}
-		}
-	}
-
-
-	private synchronized void initializeCurrent(Location platformConfigLocation) throws IOException {
-
-		// Configuration URL was is specified by the OSGi layer. 
-		// Default behavior is to look
-		// for configuration in the specified meta area. If not found, look
-		// for pre-initialized configuration in the installation location.
-		// If it is found it is used as the initial configuration. Otherwise
-		// a new configuration is created. In either case the resulting
-		// configuration is written into the specified configuration area.
-
-		URL configFileURL = new URL(platformConfigLocation.getURL(), CONFIG_NAME);
-		try {	
-			// check concurrent use lock
-			getConfigurationLock(platformConfigLocation.getURL());
-
-			// try loading the configuration
-			try {
-				config = loadConfig(configFileURL);
-				Utils.debug("Using configuration " + configFileURL.toString()); //$NON-NLS-1$
-			} catch (Exception e) {
-				// failed to load, see if we can find pre-initialized configuration.
-				try {
-					Location parentLocation = platformConfigLocation.getParentLocation();
-					if (parentLocation == null)
-						throw new IOException(); // no platform.xml found, need to create default site
-					
-					URL sharedConfigFileURL = new URL(parentLocation.getURL(), CONFIG_NAME);
-					config = loadConfig(sharedConfigFileURL);
-					
-					// pre-initialized config loaded OK ... copy any remaining update metadata
-					// Only copy if the default config location is not the install location
-					if (!sharedConfigFileURL.equals(configFileURL)) {
-						// need to link config info instead of using a copy
-						linkInitializedState(config, parentLocation, platformConfigLocation);
-						Utils.debug("Configuration initialized from    " + sharedConfigFileURL.toString()); //$NON-NLS-1$
-					}
-					return;
-				} catch (Exception ioe) {
-					Utils.debug("Creating default configuration from " + configFileURL.toExternalForm()); //$NON-NLS-1$
-					createDefaultConfiguration(configFileURL);
-				}
-			}
-		} finally {
-			configLocation = configFileURL;
-			if (config.getURL() == null)
-				config.setURL(configFileURL);
-			verifyPath(configLocation);
-			Utils.debug("Creating configuration " + configFileURL.toString()); //$NON-NLS-1$
-			// releaes concurrent use lock
-			clearConfigurationLock();
-		}
-	}
-
-	
-	private synchronized void initialize(URL url) throws Exception {
-		if (url != null) {
-			config = loadConfig(url);	
-			Utils.debug("Using configuration " + url.toString()); //$NON-NLS-1$
-		}
-		if (config == null) {
-			config = new Configuration();		
-			Utils.debug("Creating empty configuration object"); //$NON-NLS-1$
-		}
-		config.setURL(url);
-		configLocation = url;
-	}
-
-	private void createDefaultConfiguration(URL url)throws IOException{
-		// we are creating new configuration
-		config = new Configuration();
-		config.setURL(url);
-		SiteEntry defaultSite = (SiteEntry)getRootSite();
-		configureSite(defaultSite);
-		try {
-			// parse the site directory to discover features
-			defaultSite.loadFromDisk(0);
-		} catch (CoreException e1) {
-			Utils.log(Messages.getString("PlatformConfiguration.cannotLoadDefaultSite") + defaultSite.getResolvedURL()); //$NON-NLS-1$
-			return;
-		}
-	}
-	private ISiteEntry getRootSite() {
-		// create default site entry for the root
-		ISitePolicy defaultPolicy = createSitePolicy(DEFAULT_POLICY_TYPE, DEFAULT_POLICY_LIST);
-		URL siteURL = null;
-		try {
-			siteURL = new URL("platform:/base/"); //$NON-NLS-1$  // try using platform-relative URL
-		} catch (MalformedURLException e) {
-			siteURL = getInstallURL(); // ensure we come up ... use absolute file URL
-		}
-		ISiteEntry defaultSite = createSiteEntry(siteURL, defaultPolicy);
-		return defaultSite;
-	}
-	
-	/**
-	 * Gets the configuration lock
-	 * @param url configuration directory
-	 */
-	private void getConfigurationLock(URL url) {
-		if (!url.getProtocol().equals("file")) //$NON-NLS-1$
-			return;
-
-		File lockFile = new File(url.getFile(), ConfigurationActivator.NAME_SPACE+ File.separator+CONFIG_FILE_LOCK_SUFFIX);
-		verifyPath(url);
-		// PAL nio optional
-		lock = createLocker(lockFile); 
-		try {
-			lock.lock();
-		} catch (IOException ioe) {
-			lock = null;
-		}	
-	}
-	
-	private void clearConfigurationLock() {
-		// PAL nio optional
-		if (lock != null) {
-			lock.release();
-		}
-	}
-	
-	/**
-	 * Create a locker using java new I/O or regular I/O
-	 * depending whether we run in J2SE or cdcFoundation
-	 * PAL nio optional
-	 */
-	private static Locker createLocker(File lock) {
-		if (!checkNio) {
-			useNio = true;
-			try {
-				 Class.forName("java.nio.channels.FileLock"); //$NON-NLS-1$
-			} catch (ClassNotFoundException e) {
-				useNio = false;
-			}
-		}
-		if (useNio)
-			return new Locker_JavaNio(lock);
-		else
-			return new Locker_JavaIo(lock);
-	}
-	
-	private long computeChangeStamp() {
-		featuresChangeStamp = computeFeaturesChangeStamp();
-		pluginsChangeStamp = computePluginsChangeStamp();
-		changeStamp = Math.max(featuresChangeStamp, pluginsChangeStamp);
-		// round off to seconds
-		changeStamp = (changeStamp/1000)*1000;
-		return changeStamp;
-	}
-
-	private long computeFeaturesChangeStamp() {
-		if (featuresChangeStampIsValid)
-			return featuresChangeStamp;
-
-		long result = 0;
-		ISiteEntry[] sites = config.getSites();
-		for (int i = 0; i < sites.length; i++) {
-			result = Math.max(result, sites[i].getFeaturesChangeStamp());
-		}
-		featuresChangeStamp = result;
-		featuresChangeStampIsValid = true;
-		return featuresChangeStamp;
-	}
-
-	private long computePluginsChangeStamp() {
-		if (pluginsChangeStampIsValid)
-			return pluginsChangeStamp;
-
-		long result = 0;
-		ISiteEntry[] sites = config.getSites();
-		for (int i = 0; i < sites.length; i++) {
-			result = Math.max(result, sites[i].getPluginsChangeStamp());
-		}
-		pluginsChangeStamp = result;
-		pluginsChangeStampIsValid = true;
-		return pluginsChangeStamp;
-	}
-
-	private void configureExternalLinks() {
-		URL linkURL = getInstallURL();
-		if (!supportsDetection(linkURL))
-			return;
-
-		try {
-			linkURL = new URL(linkURL, LINKS + "/"); //$NON-NLS-1$
-		} catch (MalformedURLException e) {
-			// skip bad links ...
-			Utils.debug("Unable to obtain link URL"); //$NON-NLS-1$
-			return;
-		}
-
-		File linkDir = new File(linkURL.getFile());
-		File[] links = linkDir.listFiles();
-		if (links == null || links.length == 0) {
-			Utils.debug("No links detected in " + linkURL.toExternalForm()); //$NON-NLS-1$
-			return;
-		}
-
-		for (int i = 0; i < links.length; i++) {
-			if (links[i].isDirectory())
-				continue;
-			Utils.debug("Link file " + links[i].getAbsolutePath()); //$NON-NLS-1$
-			Properties props = new Properties();
-			FileInputStream is = null;
-			try {
-				is = new FileInputStream(links[i]);
-				props.load(is);
-				configureExternalLinkSite(links[i], props);
-			} catch (IOException e) {
-				// skip bad links ...
-				Utils.debug("   unable to load link file " + e); //$NON-NLS-1$
-				continue;
-			} finally {
-				if (is != null) {
-					try {
-						is.close();
-					} catch (IOException e) {
-						// ignore ...
-					}
-				}
-			}
-		}
-	}
-
-	private void configureExternalLinkSite(File linkFile, Properties props) {
-		String path = props.getProperty(LINK_PATH);
-		if (path == null) {
-			Utils.debug("   no path definition"); //$NON-NLS-1$
-			return;
-		}
-
-		String link;
-		boolean updateable = true;
-		URL siteURL;
-
-		// parse out link information
-		if (path.startsWith(LINK_READ + " ")) { //$NON-NLS-1$
-			updateable = false;
-			link = path.substring(2).trim();
-		} else if (path.startsWith(LINK_READ_WRITE + " ")) { //$NON-NLS-1$
-			link = path.substring(3).trim();
-		} else {
-			link = path.trim();
-		}
-
-		// 	make sure we have a valid link specification
-		try {
-			File siteFile = new File(link);
-			siteFile = new File(siteFile, ECLIPSE);
-			siteURL = siteFile.toURL();
-			if (findConfiguredSite(siteURL, true) != null)
-				// linked site is already known
-				return;
-		} catch (MalformedURLException e) {
-			// ignore bad links ...
-			Utils.debug("  bad URL " + e); //$NON-NLS-1$
-			return;
-		}
-		
-		// process the link
-		SiteEntry linkSite = (SiteEntry) externalLinkSites.get(siteURL);
-		if (linkSite == null) {
-			// this is a link to a new target so create site for it
-			ISitePolicy linkSitePolicy = createSitePolicy(DEFAULT_POLICY_TYPE, DEFAULT_POLICY_LIST);
-			linkSite = (SiteEntry) createSiteEntry(siteURL, linkSitePolicy);
-		}
-		// update site entry if needed
-		linkSite.setUpdateable(updateable);
-		linkSite.setLinkFileName(linkFile.getAbsolutePath());
-
-		// configure the new site
-		// NOTE: duplicates are not replaced (first one in wins)
-		configureSite(linkSite);
-		// there are changes in the config
-		config.setDirty(true);
-		Utils.debug("   " + (updateable ? "R/W -> " : "R/O -> ") + siteURL.toString()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	private void validateSites() {
-
-		// check to see if all sites are valid. Remove any sites that do not exist.
-		SiteEntry[] list = config.getSites();
-		for (int i = 0; i < list.length; i++) {
-			URL siteURL = list[i].getResolvedURL();
-			if (!supportsDetection(siteURL))
-				continue;
-
-			File siteRoot = new File(siteURL.getFile().replace('/', File.separatorChar));
-			if (!siteRoot.exists()) {
-				unconfigureSite(list[i]);
-				Utils.debug("Site " + siteURL + " does not exist ... removing from configuration"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			
-			// If multiple paths are defined in the same link file
-			// or if the path changes, the old site will still be kept.
-			// A better algorithm could be implemented by keeping track 
-			// of the previous content of the link file.
-			// TODO do the above
-			String linkName = list[i].getLinkFileName();
-			if (linkName != null) {
-				File linkFile = new File(linkName);
-				if (!linkFile.exists())  {
-					unconfigureSite(list[i]);
-					config.setDirty(true);
-					Utils.debug("Site " + siteURL + " is no longer linked ... removing from configuration"); //$NON-NLS-1$ //$NON-NLS-2$	
-				}
-			}
-		}
-	}
-	
-	private void linkInitializedState(Configuration sharedConfig, Location sharedConfigLocation, Location newConfigLocation) {
-		try {
-			URL newConfigIniURL = new URL(newConfigLocation.getURL(), CONFIG_INI);
-			if (!newConfigIniURL.getProtocol().equals("file")) //$NON-NLS-1$
-				return; // need to be able to do write
-
-			// modify config.ini and platform.xml to only link original files
-			File configIni = new File(newConfigIniURL.getFile());
-			Properties props = new Properties();
-			props.put("osgi.sharedConfiguration.area", sharedConfigLocation.getURL().toExternalForm()); //$NON-NLS-1$
-			props.store(new FileOutputStream(configIni), "Linked configuration"); //$NON-NLS-1$
-			
-			config = new Configuration(new Date());
-			config.setURL(new URL(newConfigLocation.getURL(), CONFIG_NAME));
-			config.setLinkedConfig(sharedConfig);
-			config.setDirty(true);
-		} catch (IOException e) {
-			// this is an optimistic copy. If we fail, the state will be reconciled
-			// when the update manager is triggered.
-			System.out.println(e);
-		}
-	}
-	
-	private Configuration loadConfig(URL url) throws Exception {
-		if (url == null)
-			throw new IOException(Messages.getString("cfig.unableToLoad.noURL")); //$NON-NLS-1$
-
-		// try to load saved configuration file (watch for failed prior save())
-		ConfigurationParser parser = null;
-		try {
-			parser = new ConfigurationParser();
-		} catch (InvocationTargetException e) {
-			throw (Exception)e.getTargetException();
-		}
-		
-		config = null;
-		Exception originalException = null;
-		try {
-			config = parser.parse(url);
-			if (config == null)
-				throw new Exception(Messages.getString("PlatformConfiguration.cannotFindConfigFile")); //$NON-NLS-1$
-		} catch (Exception e1) {
-			// check for save failures, so open temp and backup configurations
-			originalException = e1;
-			try {
-				URL tempURL = new URL(url.toExternalForm()+CONFIG_FILE_TEMP_SUFFIX);
-				config = parser.parse(tempURL); 
-				if (config == null)
-					throw new Exception();
-				else
-					config.setDirty(true); // force saving to platform.xml
-			} catch (Exception e2) {
-				try {
-					// check the backup
-					if ("file".equals(url.getProtocol())) { //$NON-NLS-1$
-						File cfigFile = new File(url.getFile().replace('/', File.separatorChar));
-						File workingDir = cfigFile.getParentFile();
-						if (workingDir != null && workingDir.exists()) {
-							File[] backups = workingDir.listFiles(new FileFilter(){
-								public boolean accept(File pathname) {
-									return pathname.isFile() && pathname.getName().endsWith(".xml"); //$NON-NLS-1$
-								}});
-							if (backups != null && backups.length > 0) {
-								URL backupUrl = backups[backups.length-1].toURL();
-								config = parser.parse(backupUrl);
-							}
-						}
-					}
-					if (config == null)
-						throw originalException; // we tried, but no config here ...
-					else
-						config.setDirty(true); // force saving to platform.xml
-				} catch (IOException e3) {
-					throw originalException; // we tried, but no config here ...
-				}
-			}
-		}
-
-		return config;
-	}
-
-	public static boolean supportsDetection(URL url) {
-		String protocol = url.getProtocol();
-		if (protocol.equals("file")) //$NON-NLS-1$
-			return true;
-		else if (protocol.equals("platform")) {
-			URL resolved = null;
-			try {
-				resolved = resolvePlatformURL(url); // 19536
-			} catch (IOException e) {
-				return false; // we tried but failed to resolve the platform URL
-			}
-			return resolved.getProtocol().equals("file"); //$NON-NLS-1$
-		} else
-			return false;
-	}
-
-	private static void verifyPath(URL url) {
-		String protocol = url.getProtocol();
-		String path = null;
-		if (protocol.equals("file")) //$NON-NLS-1$
-			path = url.getFile();
-		else if (protocol.equals("platform")) { // $NON-NLS-1$
-			URL resolved = null;
-			try {
-				resolved = resolvePlatformURL(url); // 19536
-				if (resolved.getProtocol().equals("file")) //$NON-NLS-1$
-					path = resolved.getFile();
-			} catch (IOException e) {
-				// continue ...
-			}
-		}
-
-		if (path != null) {
-			File dir = new File(path).getParentFile();
-			if (dir != null)
-				dir.mkdirs();
-		}
-	}
-
-	public static URL resolvePlatformURL(URL url) throws IOException {
-		// 19536
-		if (url.getProtocol().equals("platform")) { // $NON-NLS-1$;
-			url = Platform.asLocalURL(url);
-			// TODO URL resolution by platform returns url file:d:/path as opposed to file:/d:/path
-			File f = new File(url.getFile());
-			url = f.toURL();
-		}
-		return url;
-	}
-	
-	public static URL getInstallURL() {
-		return installURL;
-	}
-	
-	// Patch from Phil to support cdc/foundation: will use the method below instead of this one.
-//	private void saveAsXML(OutputStream stream) throws CoreException {	
-//		StreamResult result = null;
-//		try {
-//			DocumentBuilder docBuilder = documentBuilderFactory.newDocumentBuilder();
-//			Document doc = docBuilder.newDocument();
-//
-//			if (config == null)
-//				throw Utils.newCoreException(Messages.getString("PlatformConfiguration.cannotSaveNonExistingConfig"),null); //$NON-NLS-1$
-//			
-//			config.setDate(new Date());
-//			doc.appendChild(doc.createComment("Created on " + config.getDate().toString())); //$NON-NLS-1$
-//			Element configElement = config.toXML(doc);
-//			doc.appendChild(configElement);
-//
-//			// Write out to a file
-//			
-//			Transformer transformer=transformerFactory.newTransformer();
-//			transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-//			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
-//			transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-//			DOMSource source = new DOMSource(doc);
-//			result = new StreamResult(stream);
-//
-//			transformer.transform(source,result);
-//			//will close the stream in the caller
-//			//stream.close();
-//		} catch (Exception e) {
-//			throw Utils.newCoreException("", e); //$NON-NLS-1$
-//		} finally {
-//			result.setOutputStream(null);
-//			result = null;
-//		}
-//	}
-
-	private void saveAsXML(OutputStream stream) throws CoreException,IOException {			
-		BufferedWriter xmlWriter = new BufferedWriter(new OutputStreamWriter(stream,XML_ENCODING));
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			factory.setExpandEntityReferences(false);
-			factory.setValidating(false);
-			factory.setIgnoringComments(true);
-			DocumentBuilder docBuilder = factory.newDocumentBuilder();
-			Document doc = docBuilder.newDocument();
-			
-			if (config == null)
-				throw Utils.newCoreException(Messages.getString("PlatformConfiguration.cannotSaveNonExistingConfig"),null); //$NON-NLS-1$
-			
-			config.setDate(new Date());
-			Element configElement = config.toXML(doc);
-			doc.appendChild(configElement);
-			
-			// This is not DBCS friendly... PAL
-			//XMLPrintHandler.printComment(xmlWriter,"Created on " + config.getDate().toString());
-			XMLPrintHandler.printNode(xmlWriter,doc,XML_ENCODING);
-			
-		} catch (Exception e) {
-			throw Utils.newCoreException("", e); //$NON-NLS-1$
-		} finally {
-			xmlWriter.flush();
-			// will close the stream in the caller	
-			//xmlWriter.close();
-		}
-	} 
-	
-	private void reconcile() throws CoreException {
-		long lastChange = config.getDate().getTime();
-		SiteEntry[] sites = config.getSites();
-		for (int s=0; s<sites.length; s++) {
-			long siteTimestamp = sites[s].getChangeStamp();
-			if (siteTimestamp > lastChange)
-				sites[s].loadFromDisk(lastChange);
-		}
-		config.setDirty(true);
-	}
-	
-	public Configuration getConfiguration() {
-		return config;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfigurationFactory.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfigurationFactory.java
deleted file mode 100644
index 80c4457..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfigurationFactory.java
+++ /dev/null
@@ -1,34 +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.update.internal.configurator;
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.update.configurator.*;
-
-
-
-public class PlatformConfigurationFactory implements IPlatformConfigurationFactory {
-	public IPlatformConfiguration getCurrentPlatformConfiguration() {
-		return PlatformConfiguration.getCurrent();
-	}
-	public IPlatformConfiguration getPlatformConfiguration(URL url) throws IOException {
-		try {
-			return new PlatformConfiguration(url);
-		} catch (Exception e) {
-			if(e instanceof IOException)
-				throw (IOException)e;
-			else
-				throw new IOException(e.getMessage());
-		}
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginEntry.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginEntry.java
deleted file mode 100644
index c2b46cd..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginEntry.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.update.internal.configurator;
-
-
-/**
- */
-public class PluginEntry {
-
-	private String pluginId;
-	private String pluginVersion;
-	private boolean isFragment = false;
-	private VersionedIdentifier versionId;
-	private String url;
-	
-	public PluginEntry() {
-		super();
-	}
-
-	/**
-	 * @return url relative to the site location: plugins/org.eclipse.foo/plugin.xml
-	 * Note: to do: we should probably only use plugins/org.eclipse.foo/ in the future
-	 */
-	public String getURL() {
-		return url;
-	}
-	
-	/**
-	 * url is relative to the site
-	 */
-	public void setURL(String url) {
-		this.url = url;
-	}
-
-	/**
-	 * Returns the plug-in identifier for this entry.
-	 * 
-	 * @return the plug-in identifier, or <code>null</code>
-	 */
-	public String getPluginIdentifier() {
-		return pluginId;
-	}
-
-	/**
-	 * Returns the plug-in version for this entry.
-	 * 
-	 * @return the plug-in version, or <code>null</code>
-	 */
-	public String getPluginVersion() {
-		return pluginVersion;
-	}
-
-	/**
-	 * Indicates whether the entry describes a full plug-in, or 
-	 * a plug-in fragment.
-	 * 
-	 * @return <code>true</code> if the entry is a plug-in fragment, 
-	 * <code>false</code> if the entry is a plug-in
-	 */
-	public boolean isFragment() {
-		return isFragment;
-	}
-
-	/**
-	 * Sets the entry plug-in identifier.
-	 * Throws a runtime exception if this object is marked read-only.
-	 *
-	 * @param pluginId the entry identifier.
-	 */
-	void setPluginIdentifier(String pluginId) {
-		this.pluginId = pluginId;
-	}
-
-	/**
-	 * Sets the entry plug-in version.
-	 * Throws a runtime exception if this object is marked read-only.
-	 *
-	 * @param pluginVersion the entry version.
-	 */
-	void setPluginVersion(String pluginVersion) {
-		this.pluginVersion = pluginVersion;
-	}
-
-	/**
-	 * Indicates whether this entry represents a fragment or plug-in.
-	 * Throws a runtime exception if this object is marked read-only.
-	 *
-	 * @param isFragment fragment setting
-	 */
-	public void isFragment(boolean isFragment) {
-		this.isFragment = isFragment;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		String msg = (getPluginIdentifier()!=null)?getPluginIdentifier().toString():""; //$NON-NLS-1$
-		msg += getPluginVersion()!=null?" "+getPluginVersion().toString():""; //$NON-NLS-1$ //$NON-NLS-2$
-		msg += isFragment()?" fragment":" plugin"; //$NON-NLS-1$ //$NON-NLS-2$
-		return msg;
-	}
-
-
-	/**
-	 * Returns the identifier of this plugin entry
-	 */
-	public VersionedIdentifier getVersionedIdentifier() {
-		if (versionId != null)
-			return versionId;
-
-		String id = getPluginIdentifier();
-		String ver = getPluginVersion();
-		if (id != null && ver != null) {
-			try {
-				versionId = new VersionedIdentifier(id, ver);
-				return versionId;
-			} catch (Exception e) {
-				Utils.log(Messages.getString("PluginEntry.versionError", id, ver)); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-
-		versionId = new VersionedIdentifier("",null); //$NON-NLS-1$
-		return versionId;
-	}
-
-	/**
-	 * Sets the identifier of this plugin entry. 
-	 * 
-	 */
-	void setVersionedIdentifier(VersionedIdentifier identifier) {
-		setPluginIdentifier(identifier.getIdentifier());
-		setPluginVersion(identifier.getVersion().toString());
-	}	
-
-	/**
-	 * Compares two plugin entries for equality
-	 * 
-	 * @param object plugin entry object to compare with
-	 * @return <code>true</code> if the two entries are equal, 
-	 * <code>false</code> otherwise
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof PluginEntry))
-			return false;
-		PluginEntry e = (PluginEntry) object;
-		return getVersionedIdentifier().equals(e.getVersionedIdentifier());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getVersionedIdentifier().hashCode();
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginParser.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginParser.java
deleted file mode 100644
index 3c5a1dc..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginParser.java
+++ /dev/null
@@ -1,128 +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.update.internal.configurator;
-
-
-import java.io.*;
-
-import javax.xml.parsers.*;
-
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-
-/**
- * Parse default feature.xml
- */
-
-public class PluginParser extends DefaultHandler implements IConfigurationConstants {
-	private final static SAXParserFactory parserFactory =
-		SAXParserFactory.newInstance();
-	private SAXParser parser;
-	private PluginEntry pluginEntry;
-    private String location;
-
-	private class ParseCompleteException extends SAXException {
-		
-        private static final long serialVersionUID = 1L;
-
-        public ParseCompleteException(String arg0) {
-			super(arg0);
-		}
-	}
-
-	/**
-	 * Constructor for DefaultFeatureParser
-	 */
-	public PluginParser() {
-		super();
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			System.out.println(e);
-		} catch (SAXException e) {
-			System.out.println(e);
-		}
-	}
-
-	/**
-	 * @since 2.0
-	 */
-	public synchronized PluginEntry parse(File pluginFile) throws SAXException, IOException {
-		FileInputStream in = null;;
-		try{
-			in = new FileInputStream(pluginFile);
-			return parse(in, PLUGINS + "/" + pluginFile.getParentFile().getName() + "/"); //$NON-NLS-1$ //$NON-NLS-2$
-		}finally{
-			if (in != null){
-				try{
-					in.close();
-				}catch(IOException e){
-				}
-			}
-		}
-	}
-	/**
-	 * @since 3.0
-	 */
-	public synchronized PluginEntry parse(InputStream in, String bundleUrl) throws SAXException, IOException {
-		try {
-            location = bundleUrl;
-			pluginEntry = new PluginEntry();
-			pluginEntry.setURL(bundleUrl);
-			parser.parse(new InputSource(in), this);
-		} catch (ParseCompleteException e) {
-			// expected, we stopped the parsing when we have the information we need
-			/// no need to pursue the parsing
-		}
-		return pluginEntry;
-	}
-
-	/**
-	 * @see DefaultHandler#startElement(String, String, String, Attributes)
-	 */
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-
-		String tag = localName.trim();
-
-		if (tag.equalsIgnoreCase(CFG_PLUGIN)) {
-			pluginEntry.isFragment(false);			
-			processPlugin(attributes);
-			return;
-		}
-
-		if (tag.equalsIgnoreCase(CFG_FRAGMENT)) {
-			pluginEntry.isFragment(true);			
-			processPlugin(attributes);
-			return;
-		}
-	}
-
-	/** 
-	 * process plugin entry info
-	 */
-	private void processPlugin(Attributes attributes) throws ParseCompleteException {
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String version = attributes.getValue("version"); //$NON-NLS-1$
-		if (id == null || id.trim().length() == 0) {
-			id = "_no_id_"; //$NON-NLS-1$
-            Utils.log(Messages.getString("PluginParser.plugin_no_id", location));
-        }
-        if (version == null || version.trim().length() == 0) {
-            version = "0.0.0"; //$NON-NLS-1$
-            Utils.log(Messages.getString("PluginParser.plugin_no_version", location));
-        }
-		pluginEntry.setVersionedIdentifier(new VersionedIdentifier(id, version));
-		
-		// stop parsing now
-		throw new ParseCompleteException(""); //$NON-NLS-1$
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ProductProvider.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ProductProvider.java
deleted file mode 100644
index 6c7f199..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ProductProvider.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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.update.internal.configurator;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configurator.*;
-
-/**
- * Maps primary features to IProduct
- */
-public class ProductProvider implements IProductProvider{
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProductProvider#getProducts()
-	 */
-	public IProduct[] getProducts() {
-		IPlatformConfiguration configuration = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		if (configuration == null)
-			return new IProduct[0];
-		else {
-			IPlatformConfiguration.IFeatureEntry[] features = configuration.getConfiguredFeatureEntries();
-			ArrayList primaryFeatures = new ArrayList();
-			for (int i=0; i<features.length; i++)
-				if (features[i].canBePrimary())
-					primaryFeatures.add(features[i]);
-			// TODO handle unmanaged plugins later
-			return (IProduct[])primaryFeatures.toArray(new IProduct[primaryFeatures.size()]);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProductProvider#getName()
-	 */
-	public String getName() {
-		return Messages.getString("ProductProvider"); //$NON-NLS-1$
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
deleted file mode 100644
index 7aa8599..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
+++ /dev/null
@@ -1,761 +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.update.internal.configurator;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import java.util.zip.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.service.environment.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.configurator.IPlatformConfiguration.*;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-
-public class SiteEntry implements IPlatformConfiguration.ISiteEntry, IConfigurationConstants{	
-	private static final String MAC_OS_MARKER = ".DS_Store";
-	
-	private URL url; // this is the external URL for the site
-	private URL resolvedURL; // this is the resolved URL used internally
-	private ISitePolicy policy;
-	private boolean updateable = true;
-	private Map featureEntries;
-	private ArrayList pluginEntries;
-	private long changeStamp;
-	private long featuresChangeStamp;
-	private long pluginsChangeStamp;
-	private String linkFileName;
-	private boolean enabled = true;
-	private Configuration config;
-	
-	private static FeatureParser featureParser = new FeatureParser();
-	private static PluginParser pluginParser = new PluginParser();
-	private static boolean isMacOS = Platform.getOS().equals(Constants.OS_MACOSX);
-
-	public SiteEntry(URL url) {
-		this(url,null);
-	}
-	
-	public SiteEntry(URL url, ISitePolicy policy) {
-		if (url == null)
-			try {
-				url = new URL("platform:/base/"); //$NON-NLS-1$ try using platform-relative URL
-			} catch (MalformedURLException e) {
-				url = PlatformConfiguration.getInstallURL(); // ensure we come up ... use absolute file URL
-			}
-			
-		if (policy == null)
-			policy = new SitePolicy(DEFAULT_POLICY_TYPE, DEFAULT_POLICY_LIST);
-
-		if (url.getProtocol().equals("file")) { //$NON-NLS-1$
-			try {
-				// TODO remove this when platform fixes local file url's
-				this.url = new File(url.getFile()).toURL(); 
-			} catch (MalformedURLException e1) {
-				this.url = url;
-			}
-		} else
-			this.url = url;
-		
-		this.policy = policy;
-		this.resolvedURL = this.url;
-		if (url.getProtocol().equals("platform")) { // $NON-NLS-1$
-			try {
-				resolvedURL = PlatformConfiguration.resolvePlatformURL(url); // 19536
-			} catch (IOException e) {
-				// will use the baseline URL ...
-			}
-		}
-	}
-
-	public void setConfig(Configuration config) {
-		this.config = config;
-	}
-	
-	public Configuration getConfig() {
-		return config;
-	}
-	
-	/*
-	 * @see ISiteEntry#getURL()
-	 */
-	public URL getURL() {
-		return url;
-	}
-
-	/*
-	* @see ISiteEntry#getSitePolicy()
-	*/
-	public ISitePolicy getSitePolicy() {
-		return policy;
-	}
-
-	/*
-	 * @see ISiteEntry#setSitePolicy(ISitePolicy)
-	 */
-	public synchronized void setSitePolicy(ISitePolicy policy) {
-		if (policy == null)
-			throw new IllegalArgumentException();
-		this.policy = policy;
-	}
-
-	/*
-	 * @see ISiteEntry#getFeatures()
-	 */
-	public String[] getFeatures() {
-		return getDetectedFeatures();
-	}
-
-	/*
-	 * @see ISiteEntry#getPlugins()
-	 */
-	public String[] getPlugins() {
-
-		ISitePolicy policy = getSitePolicy();
-
-		if (policy.getType() == ISitePolicy.USER_INCLUDE)
-			return policy.getList();
-
-		if (policy.getType() == ISitePolicy.USER_EXCLUDE) {
-			ArrayList detectedPlugins = new ArrayList(Arrays.asList(getDetectedPlugins()));
-			String[] excludedPlugins = policy.getList();
-			for (int i = 0; i < excludedPlugins.length; i++) {
-				if (detectedPlugins.contains(excludedPlugins[i]))
-					detectedPlugins.remove(excludedPlugins[i]);
-			}
-			return (String[]) detectedPlugins.toArray(new String[0]);
-		}
-		
-		if (policy.getType() == ISitePolicy.MANAGED_ONLY) {
-			PluginEntry[] managedPlugins = getManagedPlugins();
-			String[] managedPluginsURLs = new String[managedPlugins.length];
-			for (int i=0; i<managedPlugins.length; i++)
-				managedPluginsURLs[i] = managedPlugins[i].getURL();
-			
-			return managedPluginsURLs;
-		}
-
-		// bad policy type
-		return new String[0];
-	}
-
-	private PluginEntry[] getManagedPlugins() {
-		// Note:
-		// We detect all the plugins on the site, but it would be faster
-		// to just lookup the plugins that correspond to the entries found in each feature.
-		// TODO fix the above
-		if (pluginEntries == null)
-			detectPlugins();
-		if (featureEntries == null)
-			detectFeatures();
-		
-		// cache all the plugin entries for faster lookup later
-		Map cachedPlugins = new HashMap(pluginEntries.size());
-		for (int i=0; i<pluginEntries.size(); i++) {
-			PluginEntry p = (PluginEntry)pluginEntries.get(i);
-			cachedPlugins.put(p.getVersionedIdentifier(), p);
-		}
-		
-		ArrayList managedPlugins = new ArrayList();
-		for (Iterator iterator=featureEntries.values().iterator(); iterator.hasNext();) {
-			Object feature = iterator.next();
-			if (!(feature instanceof FeatureEntry))
-				continue;
-			
-			PluginEntry[] plugins = ((FeatureEntry)feature).getPluginEntries();
-			for (int i=0; i<plugins.length; i++)
-				if (cachedPlugins.containsKey(plugins[i].getVersionedIdentifier()))
-					managedPlugins.add(cachedPlugins.get(plugins[i].getVersionedIdentifier()));
-					
-		}
-		return (PluginEntry[])managedPlugins.toArray(new PluginEntry[managedPlugins.size()]);
-	}
-	
-	public PluginEntry[] getPluginEntries() {
-		String[] pluginURLs = getPlugins();
-		// hash the array, for faster lookups
-		HashMap map = new HashMap(pluginURLs.length);
-		for (int i=0; i<pluginURLs.length; i++)
-			map.put(pluginURLs[i], pluginURLs[i]);
-		
-		if (pluginEntries == null)
-				detectPlugins();
-		
-		ArrayList plugins = new ArrayList(pluginURLs.length);
-		for (int i=0; i<pluginEntries.size(); i++) {
-			PluginEntry p = (PluginEntry)pluginEntries.get(i);
-			if (map.containsKey(p.getURL()))
-				plugins.add(p);
-		}
-		return (PluginEntry[])plugins.toArray(new PluginEntry[plugins.size()]);
-	}
-	
-	/*
-	 * @see ISiteEntry#getChangeStamp()
-	 */
-	public long getChangeStamp() {
-		if (changeStamp == 0)
-			computeChangeStamp();
-		return changeStamp;
-	}
-
-	/*
-	 * @see ISiteEntry#getFeaturesChangeStamp()
-	 */
-	public long getFeaturesChangeStamp() {
-		if (featuresChangeStamp == 0)
-			computeFeaturesChangeStamp();
-		return featuresChangeStamp;
-	}
-
-	/*
-	 * @see ISiteEntry#getPluginsChangeStamp()
-	 */
-	public long getPluginsChangeStamp() {
-		if (pluginsChangeStamp == 0)
-			computePluginsChangeStamp();
-		return pluginsChangeStamp;
-	}
-
-	/*
-	 * @see ISiteEntry#isUpdateable()
-	 */
-	public boolean isUpdateable() {
-		return updateable;
-	}
-	
-	public void setUpdateable(boolean updateable) {
-		this.updateable = updateable;
-	}
-
-	/*
-	 * @see ISiteEntry#isNativelyLinked()
-	 */
-	public boolean isNativelyLinked() {
-		return isExternallyLinkedSite();
-	}
-
-	public URL getResolvedURL() {
-		return resolvedURL;
-	}
-	
-	/**
-	 * Detect new features (timestamp > current site timestamp)
-	 * and validates existing features (they might have been removed)
-	 */
-	private void detectFeatures() {
-
-		if (featureEntries != null)
-			validateFeatureEntries();
-		else
-			featureEntries = new HashMap();
-
-		if (!PlatformConfiguration.supportsDetection(resolvedURL))
-			return;
-
-		// locate feature entries on site
-		File siteRoot = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-		File featuresDir = new File(siteRoot, FEATURES);
-		if (featuresDir.exists()) {
-			// handle the installed features under the features directory
-			File[] dirs = featuresDir.listFiles(new FileFilter() {
-				public boolean accept(File f) {
-					// mac os folders contain a file .DS_Store in each folder, and we need to skip it (bug 76869) 
-					if (isMacOS && f.getName().equals(MAC_OS_MARKER))
-						return false;
-					boolean valid = f.isDirectory() && (new File(f,FEATURE_XML).exists());
-					if (!valid)
-						Utils.log(Messages.getString("SiteEntry.cannotFindFeatureInDir", f.getAbsolutePath())); //$NON-NLS-1$
-					return valid;
-				}
-			});
-		
-			for (int index = 0; index < dirs.length; index++) {
-				try {
-					File featureXML = new File(dirs[index], FEATURE_XML);
-					if (featureXML.lastModified() <= featuresChangeStamp &&
-						dirs[index].lastModified() <= featuresChangeStamp)
-						continue;
-					URL featureURL = featureXML.toURL();
-					FeatureEntry featureEntry = featureParser.parse(featureURL);
-					if (featureEntry != null)
-						addFeatureEntry(featureEntry);
-				} catch (MalformedURLException e) {
-					Utils.log(Messages.getString("InstalledSiteParser.UnableToCreateURLForFile", featuresDir.getAbsolutePath()));//$NON-NLS-1$
-				}
-			}
-		}
-		
-		Utils.debug(resolvedURL.toString() + " located  " + featureEntries.size() + " feature(s)"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	/**
-	 * Detect new plugins (timestamp > current site timestamp)
-	 * and validates existing plugins (they might have been removed)
-	 */
-	private void detectPlugins() {
-		boolean compareTimeStamps = false;
-		if (pluginEntries != null) {
-			validatePluginEntries();
-			compareTimeStamps = true; // only pick up newer plugins
-		} else
-			pluginEntries = new ArrayList();
-
-		if (!PlatformConfiguration.supportsDetection(resolvedURL))
-			return;
-
-		// locate plugin entries on site
-		File pluginsDir = new File(resolvedURL.getFile(), PLUGINS);
-		
-		if (pluginsDir.exists() && pluginsDir.isDirectory()) {
-			File[] files = pluginsDir.listFiles();
-			for (int i = 0; i < files.length; i++) {
-				if(files[i].isDirectory()){
-					detectUnpackedPlugin(files[i], compareTimeStamps);
-				}else if(files[i].getName().endsWith(".jar")){ //$NON-NLS-1$
-					detectPackedPlugin(files[i], compareTimeStamps);
-				}else{
-					// not bundle file
-				}
-			}
-		} 
-		
-		Utils.debug(resolvedURL.toString() + " located  " + pluginEntries.size() + " plugin(s)"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * @param file a plugin jar
-	 * @param compareTimeStamps set to true when looking for plugins changed since last time they were detected
-	 */
-	private void detectPackedPlugin(File file, boolean compareTimeStamps) {
-		// plugin to run directly from jar
-		if (compareTimeStamps && file.lastModified() <= pluginsChangeStamp) {
-			return;
-		}
-		String entryName = META_MANIFEST_MF;
-		ZipFile z = null;
-		InputStream bundleManifestIn = null;
-		InputStream pluginManifestIn = null;
-		String pluginURL = PLUGINS + "/" + file.getName(); //$NON-NLS-1$
-		try {
-			// First, check if has valid bundle manifest
-			z = new ZipFile(file);
-			if (z.getEntry(entryName) != null) {
-				bundleManifestIn = z.getInputStream(new ZipEntry(entryName));
-				BundleManifest manifest = new BundleManifest(bundleManifestIn,
-						pluginURL);
-				if (manifest.exists()) {
-					addPluginEntry(manifest.getPluginEntry());
-					return;
-				}
-			}
-			// no bundle manifest, check for plugin.xml or fragment.xml
-			entryName = PLUGIN_XML;
-			if (z.getEntry(entryName) == null) {
-				entryName = FRAGMENT_XML;
-			}
-			if (z.getEntry(entryName) != null) {
-				pluginManifestIn = z.getInputStream(new ZipEntry(entryName));
-				PluginEntry entry1 = pluginParser.parse(pluginManifestIn,
-						pluginURL);
-				addPluginEntry(entry1);
-			}
-		} catch (IOException e5) {
-			String pluginFileString2 = pluginURL + "!" + entryName; //$NON-NLS-1$
-			Utils.log(Messages.getString("InstalledSiteParser.ErrorAccessing", //$NON-NLS-1$
-					pluginFileString2)); //$NON-NLS-1$
-		} catch (SAXException e3) {
-			String pluginFileString1 = pluginURL + "!" + entryName; //$NON-NLS-1$
-			Utils.log(Messages.getString(
-					"InstalledSiteParser.ErrorParsingFile", pluginFileString1)); //$NON-NLS-1$
-		} finally {
-			if (bundleManifestIn != null) {
-				try {
-					bundleManifestIn.close();
-				} catch (IOException e4) {
-				}
-			}
-			if (pluginManifestIn != null) {
-				try {
-					pluginManifestIn.close();
-				} catch (IOException e2) {
-				}
-			}
-			if (z != null) {
-				try {
-					z.close();
-				} catch (IOException e1) {
-				}
-			}
-		}
-	}
-	/**
-	 * @param file a plugin directory
-	 * @param compareTimeStamps set to true when looking for plugins changed since last time they were detected
-	 */
-	private void detectUnpackedPlugin(File file, boolean compareTimeStamps) {
-		// unpacked plugin
-		long dirTimestamp = file.lastModified();
-		File pluginFile = new File(file, META_MANIFEST_MF);
-		try {
-			// First, check if has valid bundle manifest
-			BundleManifest bundleManifest = new BundleManifest(pluginFile);
-			if (bundleManifest.exists()) {
-				if (compareTimeStamps
-						&& dirTimestamp <= pluginsChangeStamp
-						&& pluginFile.lastModified() <= pluginsChangeStamp)
-					return;
-				PluginEntry entry = bundleManifest.getPluginEntry();
-				addPluginEntry(entry);
-			} else {
-				// no bundle manifest, check for plugin.xml or fragment.xml
-				pluginFile = new File(file, PLUGIN_XML);
-				if (!pluginFile.exists()) { //$NON-NLS-1$
-					pluginFile = new File(file, FRAGMENT_XML); //$NON-NLS-1$
-				}
-				if (pluginFile.exists() && !pluginFile.isDirectory()) {
-					// TODO in the future, assume that the timestamps are not
-					// reliable,
-					// or that the user manually modified an existing plugin,
-					// so
-					// the apparently modifed plugin may actually be configured
-					// already.
-					// We will need to double check for this. END to do.
-					if (compareTimeStamps 
-							&& dirTimestamp <= pluginsChangeStamp
-							&& pluginFile.lastModified() <= pluginsChangeStamp)
-						return;
-					PluginEntry entry = pluginParser.parse(pluginFile);
-					addPluginEntry(entry);
-				}
-			}
-		} catch (IOException e) {
-			String pluginFileString = pluginFile.getAbsolutePath();
-			if (ConfigurationActivator.DEBUG)
-				Utils.log(Utils.newStatus(Messages.getString(
-						"InstalledSiteParser.ErrorParsingFile", pluginFileString), e));//$NON-NLS-1$
-			else
-				Utils.log(Messages.getString("InstalledSiteParser.ErrorAccessing", //$NON-NLS-1$
-						pluginFileString)); //$NON-NLS-1$
-		} catch (SAXException e) {
-			String pluginFileString = pluginFile.getAbsolutePath();
-			Utils.log(Messages.getString(
-					"InstalledSiteParser.ErrorParsingFile", pluginFileString)); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * @return list of feature url's (relative to site)
-	 */
-	private synchronized String[] getDetectedFeatures() {
-		if (featureEntries == null)
-			detectFeatures();
-		String[] features = new String[featureEntries.size()];
-		Iterator iterator = featureEntries.values().iterator();
-		for (int i=0; i<features.length; i++)
-			features[i] = ((FeatureEntry)iterator.next()).getURL();
-		return features;
-	}
-
-	/**
-	 * @return list of plugin url's (relative to site)
-	 */
-	private synchronized String[] getDetectedPlugins() {
-		if (pluginEntries == null)
-			detectPlugins();
-		
-		String[] plugins = new String[pluginEntries.size()];
-		for (int i=0; i<plugins.length; i++)
-			plugins[i] = ((PluginEntry)pluginEntries.get(i)).getURL();
-		return plugins;
-	}
-
-	private void computeChangeStamp() {
-		changeStamp = Math.max(computeFeaturesChangeStamp(), computePluginsChangeStamp());
-//		changeStampIsValid = true;
-	}
-
-	private synchronized long computeFeaturesChangeStamp() {
-		if (featuresChangeStamp > 0)
-			return featuresChangeStamp;
-		
-		long start = 0;
-		if (ConfigurationActivator.DEBUG)
-			start = (new Date()).getTime();
-		String[] features = getFeatures();
-	
-		// compute stamp for the features directory
-		long dirStamp = 0;
-		if (PlatformConfiguration.supportsDetection(resolvedURL)) {
-			File root = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-			File featuresDir = new File(root, FEATURES);
-			dirStamp = featuresDir.lastModified();
-		}
-		featuresChangeStamp = Math.max(dirStamp, computeStamp(features));
-		if (ConfigurationActivator.DEBUG) {
-			long end = (new Date()).getTime();
-			Utils.debug(resolvedURL.toString() + " feature stamp: " + featuresChangeStamp + " in " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		}
-		return featuresChangeStamp;
-	}
-
-	private synchronized long computePluginsChangeStamp() {
-		if (pluginsChangeStamp > 0)
-			return pluginsChangeStamp;
-		
-		if (!PlatformConfiguration.supportsDetection(resolvedURL)) {
-			Utils.log(Messages.getString("SiteEntry.computePluginStamp", resolvedURL.toExternalForm())); //$NON-NLS-1$
-			return 0;
-		}
-
-		// compute stamp for the plugins directory
-		File root = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-		File pluginsDir = new File(root, PLUGINS);
-		if (!pluginsDir.exists() || !pluginsDir.isDirectory()) {
-			Utils.log(Messages.getString("SiteEntry.pluginsDir", pluginsDir.getAbsolutePath())); //$NON-NLS-1$
-			return 0;
-		}
-
-		pluginsChangeStamp = pluginsDir.lastModified();
-		return pluginsChangeStamp;
-	}
-
-	private long computeStamp(String[] targets) {
-
-		long result = 0;
-		if (!PlatformConfiguration.supportsDetection(resolvedURL)) {
-			// NOTE:  this path should not be executed until we support running
-			//        from an arbitrary URL (in particular from http server). For
-			//        now just compute stamp across the list of names. Eventually
-			//        when general URLs are supported we need to do better (factor
-			//        in at least the existence of the target). However, given this
-			//        code executes early on the startup sequence we need to be
-			//        extremely mindful of performance issues.
-			// In fact, we should get the last modified from the connection
-			for (int i = 0; i < targets.length; i++)
-				result ^= targets[i].hashCode();
-			Utils.debug("*WARNING* computing stamp using URL hashcodes only"); //$NON-NLS-1$
-		} else {
-			// compute stamp across local targets
-			File rootFile = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-			if (rootFile.exists()) {
-				File f = null;
-				for (int i = 0; i < targets.length; i++) {
-					f = new File(rootFile, targets[i]);
-					if (f.exists())
-						result = Math.max(result, f.lastModified());
-				}
-			}
-		}
-
-		return result;
-	}
-	
-	public void setLinkFileName(String linkFileName) {
-		this.linkFileName = linkFileName;
-	}
-	
-	public String getLinkFileName() {
-		return linkFileName;
-	}
-
-	public boolean isExternallyLinkedSite() {
-		return (linkFileName != null && !linkFileName.trim().equals("")); //$NON-NLS-1$
-	}
-
-	public synchronized void refresh() {
-		// reset computed values. Will be updated on next access.
-		featuresChangeStamp = 0;
-		pluginsChangeStamp = 0;
-		changeStamp = 0;
-		featureEntries = null;
-		pluginEntries = null;
-	}
-	
-	public void refreshPlugins() {
-		// reset computed values. Will be updated on next access.
-		pluginsChangeStamp = 0;
-		changeStamp = 0;
-		pluginEntries = null;
-	}
-	
-	public void addFeatureEntry(IFeatureEntry feature) {
-		if (featureEntries == null)
-			featureEntries = new HashMap();
-		// Make sure we keep the larger version of same feature
-		IFeatureEntry existing = (FeatureEntry)featureEntries.get(feature.getFeatureIdentifier());
-		if (existing != null) {
-			VersionedIdentifier existingVersion = new VersionedIdentifier(existing.getFeatureIdentifier(), existing.getFeatureVersion());
-			VersionedIdentifier newVersion = new VersionedIdentifier(feature.getFeatureIdentifier(), feature.getFeatureVersion());
-			if (existingVersion.compareVersion(newVersion) == VersionedIdentifier.LESS_THAN) {
-				featureEntries.put(feature.getFeatureIdentifier(), feature);
-				pluginsChangeStamp = 0;
-			} else if (existingVersion.equals(newVersion)) {
-				// log error if same feature version/id but a different url
-				if (feature instanceof FeatureEntry && existing instanceof FeatureEntry &&
-						!((FeatureEntry)feature).getURL().equals(((FeatureEntry)existing).getURL()))
-				Utils.log(Messages.getString("SiteEntry.duplicateFeature",getURL().toExternalForm(), existing.getFeatureIdentifier())); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		} else {
-			featureEntries.put(feature.getFeatureIdentifier(), feature);
-			pluginsChangeStamp = 0;
-		}
-		if (feature instanceof FeatureEntry)
-			((FeatureEntry)feature).setSite(this);
-	}
-	
-	public FeatureEntry[] getFeatureEntries() {
-		if (featureEntries == null)
-			detectFeatures();
-		
-		if (featureEntries == null)
-			return new FeatureEntry[0];
-		else
-			return (FeatureEntry[])featureEntries.values().toArray(new FeatureEntry[featureEntries.size()]);
-	}
-	
-	public void addPluginEntry(PluginEntry plugin) {
-		if (pluginEntries == null)
-			pluginEntries = new ArrayList();
-		// Note: we could use the latest version of the same plugin, like we do for features, but we let the runtime figure it out
-		pluginEntries.add(plugin);
-	}
-	
-	public PluginEntry[] getAllPluginEntries() {
-		if (pluginEntries == null)
-			detectPlugins();
-		return (PluginEntry[])pluginEntries.toArray(new PluginEntry[pluginEntries.size()]);
-	}
-	
-	public void loadFromDisk(long lastChange) throws CoreException{
-		featuresChangeStamp = lastChange;
-		pluginsChangeStamp = lastChange;
-		detectFeatures();
-		detectPlugins();
-	}
-	
-	/**
-	 * Saves state as xml content in a given parent element
-	 * @param doc
-	 */
-	public Element toXML(Document doc) {
-
-		Element siteElement = doc.createElement(CFG_SITE);
-		
-		if (getURL().toString() != null)
-			siteElement.setAttribute(CFG_URL, getURL().toString());
-
-		siteElement.setAttribute(CFG_ENABLED, isEnabled() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		siteElement.setAttribute(CFG_UPDATEABLE, isUpdateable() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (isExternallyLinkedSite()) 
-			siteElement.setAttribute(CFG_LINK_FILE, getLinkFileName().trim().replace(File.separatorChar, '/')); 
-
-		int type = getSitePolicy().getType();
-		String typeString = CFG_POLICY_TYPE_UNKNOWN;
-		try {
-			typeString = CFG_POLICY_TYPE[type];
-		} catch (IndexOutOfBoundsException e) {
-			// ignore bad attribute ...
-		}
-		siteElement.setAttribute(CFG_POLICY, typeString); 
-		String[] list = getSitePolicy().getList();
-		if (list.length > 0) {
-			StringBuffer sb = new StringBuffer(256);
-			for (int i=0; i<list.length-1; i++) {
-				sb.append(list[i]);
-				sb.append(',');
-			}
-			sb.append(list[list.length-1]);
-			siteElement.setAttribute(CFG_LIST, sb.toString());
-		}
-//		// note: we don't save features inside the site element.
-		
-		// collect feature entries
-//		configElement.setAttribute(CFG_FEATURE_ENTRY_DEFAULT, defaultFeature);
-		FeatureEntry[] feats = getFeatureEntries();
-		for (int i = 0; i < feats.length; i++) {
-			Element featureElement = feats[i].toXML(doc);
-			siteElement.appendChild(featureElement);
-		}
-		
-		return siteElement;
-	}
-	
-	private void validateFeatureEntries() {
-		File root = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-		Iterator iterator = featureEntries.values().iterator();
-		Collection deletedFeatures = new ArrayList();
-		while(iterator.hasNext()) {
-			FeatureEntry feature = (FeatureEntry)iterator.next();
-			// Note: in the future, we can check for absolute url as well.
-			//       For now, feature url is features/org.eclipse.foo/feature.xml
-			File featureXML = new File(root, feature.getURL());
-			if (!featureXML.exists())
-				deletedFeatures.add(feature.getFeatureIdentifier());
-		}
-		for(Iterator it=deletedFeatures.iterator(); it.hasNext();){
-			featureEntries.remove(it.next());
-		}
-	}
-	
-	private void validatePluginEntries() {
-		File root = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-		Collection deletedPlugins = new ArrayList();
-		for (int i=0; i<pluginEntries.size(); i++) {
-			PluginEntry plugin = (PluginEntry)pluginEntries.get(i);
-			// Note: in the future, we can check for absolute url as well.
-			//       For now, feature url is plugins/org.eclipse.foo/plugin.xml
-			File pluginLocation = new File(root, plugin.getURL());
-			if (!pluginLocation.exists())
-				deletedPlugins.add(plugin);
-		}
-		for(Iterator it=deletedPlugins.iterator(); it.hasNext();){
-			pluginEntries.remove(it.next());
-		}
-	}
-	
-	public boolean isEnabled() {
-		return enabled;
-	}
-	
-	public void setEnabled(boolean enable) {
-		this.enabled = enable;
-	}
-	
-	public FeatureEntry getFeatureEntry(String id) {
-		FeatureEntry[] features = getFeatureEntries();
-		for (int i=0; i<features.length; i++)
-			if (features[i].getFeatureIdentifier().equals(id)) 
-				return features[i];
-		return null;
-	}
-	
-	
-	public boolean unconfigureFeatureEntry(IFeatureEntry feature) {
-		FeatureEntry existingFeature = getFeatureEntry(feature.getFeatureIdentifier());
-		if (existingFeature != null)
-			featureEntries.remove(existingFeature.getFeatureIdentifier());
-		return existingFeature != null;
-	}
-	
-	/*
-	 * This is a bit of a hack.
-	 * When no features were added to the site, but the site is initialized from platform.xml 
-	 * we need to set the feature set to empty, so we don't try to detect them.
-	 */
-	void initialized() { 
-		if (featureEntries == null)
-			featureEntries = new HashMap();
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SitePolicy.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SitePolicy.java
deleted file mode 100644
index 34988f8..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SitePolicy.java
+++ /dev/null
@@ -1,59 +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.update.internal.configurator;
-
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.configurator.IPlatformConfiguration.*;
-
-
-public class SitePolicy implements IPlatformConfiguration.ISitePolicy {
-
-	private int type;
-	private String[] list;
-
-	public SitePolicy() {
-	}
-	public SitePolicy(int type, String[] list) {
-		if (type != ISitePolicy.USER_INCLUDE && type != ISitePolicy.USER_EXCLUDE && type != ISitePolicy.MANAGED_ONLY)
-			throw new IllegalArgumentException();
-		this.type = type;
-
-		if (list == null)
-			this.list = new String[0];
-		else
-			this.list = list;
-	}
-
-	/*
-	 * @see ISitePolicy#getType()
-	 */
-	public int getType() {
-		return type;
-	}
-
-	/*
-	* @see ISitePolicy#getList()
-	*/
-	public String[] getList() {
-		return list;
-	}
-
-	/*
-	 * @see ISitePolicy#setList(String[])
-	 */
-	public synchronized void setList(String[] list) {
-		if (list == null)
-			this.list = new String[0];
-		else
-			this.list = list;
-	}
-
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/UpdateURLDecoder.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/UpdateURLDecoder.java
deleted file mode 100644
index 6f4079d..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/UpdateURLDecoder.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.update.internal.configurator;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-
-public class UpdateURLDecoder {
-	static boolean init=false;
-	static boolean useEnc=true;
-	
-	public static String decode(String s, String enc) throws UnsupportedEncodingException {
-		if (!init) {
-			init = true;
-			try {
-				return URLDecoder.decode(s, enc);
-			} catch (NoSuchMethodError e) {
-				useEnc=false;				
-			}
-		}
-		
-		if (useEnc) {
-			return URLDecoder.decode(s, enc);
-		} else {
-			return URLDecoder.decode(s);
-		}
-
-	}
-
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Utils.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Utils.java
deleted file mode 100644
index abe5142..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Utils.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.update.internal.configurator;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.framework.log.*;
-
-public class Utils {
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$
-	static FrameworkLog log;
-	
-	public static void debug(String s) {
-		if (ConfigurationActivator.DEBUG)
-			System.out.println("PlatformConfig: " + s); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Creates a CoreException from some other exception.
-	 * The type of the CoreException is <code>IStatus.ERROR</code>
-	 * If the exception passed as a parameter is also a CoreException,
-	 * the new CoreException will contain all the status of the passed
-	 * CoreException.
-	 * 
-	 * @see IStatus#ERROR
-	 * @param s exception string
-	 * @param e actual exception being reported
-	 * @return a CoreException
-	 * @since 2.0
-	 */
-	public static CoreException newCoreException(String s, Throwable e) {
-
-		// check the case of a multistatus
-		IStatus status;
-		if (e instanceof CoreException) {
-			if (s == null)
-				s = ""; //$NON-NLS-1$
-			status = new MultiStatus("org.eclipse.update.configurator", 0, s, e); //$NON-NLS-1$
-			IStatus childrenStatus = ((CoreException) e).getStatus();
-			((MultiStatus) status).add(childrenStatus);
-			((MultiStatus) status).addAll(childrenStatus);
-		} else {
-			StringBuffer completeString = new StringBuffer(""); //$NON-NLS-1$
-			if (s != null)
-				completeString.append(s);
-			if (e != null) {
-				completeString.append(" ["); //$NON-NLS-1$
-				String msg = e.getLocalizedMessage();
-				completeString.append(msg!=null?msg:e.toString());
-				completeString.append("]"); //$NON-NLS-1$
-			}
-			status = newStatus(completeString.toString(), e);
-		}
-		return new CoreException(status); //$NON-NLS-1$
-	}
-
-	public static IStatus newStatus(String message, Throwable e) {
-		return new Status(IStatus.ERROR, "org.eclipse.update.configurator", IStatus.OK, message, e); //$NON-NLS-1$
-	}
-	
-	public static void log(String message) {
-		log(newStatus(message, null));
-	}
-	
-	public static void log(IStatus status) {
-		if (log != null) {
-			log.log(new FrameworkLogEntry(ConfigurationActivator.PI_CONFIGURATOR, status.getMessage(), 0, status.getException(), null));
-		} else {
-			System.out.println(status.getMessage());
-			if (status.getException() != null)
-				status.getException().printStackTrace();
-		}
-	}
-	
-	/**
-	 * Returns the url as a platform:/ url, if possible, else leaves it unchanged
-	 * @param url
-	 * @return
-	 */
-	public static URL asPlatformURL(URL url) {
-		try {
-			URL platformURL = new URL("platform:/base/"); //$NON-NLS-1$  // try using platform-relative URL
-			URL resolvedPlatformURL = Platform.asLocalURL(platformURL);
-			// TODO workaround bug in platform url resolution
-			if (resolvedPlatformURL.getProtocol().equals("file")) //$NON-NLS-1$
-				resolvedPlatformURL = new File(resolvedPlatformURL.getFile()).toURL();
-			String platformURLAsString = resolvedPlatformURL.toExternalForm();
-			String urlAsString = url.toExternalForm();
-			if (urlAsString.startsWith(platformURLAsString))
-				return new URL(platformURL.toExternalForm() + urlAsString.substring(platformURLAsString.length()) );
-			else
-				return url;
-		} catch (Exception e) {
-			return url;
-		}
-	}
-	
-
-	/**
-	 * 
-	 */
-	public static boolean isValidEnvironment(String os, String ws, String arch, String nl) {
-		if (os!=null && !isMatching(os, Platform.getOS())) return false;
-		if (ws!=null && !isMatching(ws, Platform.getWS())) return false;
-		if (arch!=null && !isMatching(arch, Platform.getOSArch())) return false;
-		if (nl!=null && !isMatchingLocale(nl, Platform.getNL())) return false;
-		return true;
-	}
-
-	/**
-	 * 
-	 */	
-	private static boolean isMatching(String candidateValues, String siteValues) {
-		if (siteValues==null) return false;
-		if ("*".equalsIgnoreCase(candidateValues)) return true; //$NON-NLS-1$
-		siteValues = siteValues.toUpperCase();		
-		StringTokenizer stok = new StringTokenizer(candidateValues, ","); //$NON-NLS-1$
-		while (stok.hasMoreTokens()) {
-			String token = stok.nextToken().toUpperCase();
-			if (siteValues.indexOf(token)!=-1) return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * 
-	 */	
-	private static boolean isMatchingLocale(String candidateValues, String locale) {
-		if (locale==null) return false;
-		if ("*".equalsIgnoreCase(candidateValues)) return true; //$NON-NLS-1$
-		
-		locale = locale.toUpperCase();
-		candidateValues = candidateValues.toUpperCase();	
-		StringTokenizer stok = new StringTokenizer(candidateValues, ","); //$NON-NLS-1$
-		while (stok.hasMoreTokens()) {
-			String candidate = stok.nextToken();
-			if (locale.indexOf(candidate) == 0)
-				return true;
-			if (candidate.indexOf(locale) == 0)
-				return true;
-		}
-		return false;
-	}
-	
-	public static Locale getDefaultLocale() {
-		String nl = Platform.getNL();
-		// sanity test
-		if (nl == null)
-			return Locale.getDefault();
-		
-		// break the string into tokens to get the Locale object
-		StringTokenizer locales = new StringTokenizer(nl,"_"); //$NON-NLS-1$
-		if (locales.countTokens() == 1)
-			return new Locale(locales.nextToken(), ""); //$NON-NLS-1$
-		else if (locales.countTokens() == 2)
-			return new Locale(locales.nextToken(), locales.nextToken());
-		else if (locales.countTokens() == 3)
-			return new Locale(locales.nextToken(), locales.nextToken(), locales.nextToken());
-		else
-			return Locale.getDefault();
-	}
-	
-	
-	/**
-	 * Returns a resource string corresponding to the given argument 
-	 * value and bundle.
-	 * If the argument value specifies a resource key, the string
-	 * is looked up in the given resource bundle. If the argument does not
-	 * specify a valid key, the argument itself is returned as the
-	 * resource string. The key lookup is performed against the
-	 * specified resource bundle. If a resource string 
-	 * corresponding to the key is not found in the resource bundle
-	 * the key value, or any default text following the key in the
-	 * argument value is returned as the resource string.
-	 * A key is identified as a string begining with the "%" character.
-	 * Note that the "%" character is stripped off prior to lookup
-	 * in the resource bundle.
-	 * <p>
-	 * For example, assume resource bundle plugin.properties contains
-	 * name = Project Name
-	 * <pre>
-	 *     resolveNLString(b,"Hello World") returns "Hello World"</li>
-	 *     resolveNLString(b,"%name") returns "Project Name"</li>
-	 *     resolveNLString(b,"%name Hello World") returns "Project Name"</li>
-	 *     resolveNLString(b,"%abcd Hello World") returns "Hello World"</li>
-	 *     resolveNLString(b,"%abcd") returns "%abcd"</li>
-	 *     resolveNLString(b,"%%name") returns "%name"</li>
-	 * </pre>
-	 * </p>
-	 * 
-	 * @param resourceBundle resource bundle.
-	 * @param string translatable string from model
-	 * @return string, or <code>null</code>
-	 * @since 2.0
-	 */
-	public static String getResourceString(ResourceBundle resourceBundle, String string) {
-
-		if (string == null)
-			return null;
-
-		String s = string.trim();
-
-		if (s.equals("")) //$NON-NLS-1$
-			return string;
-
-		if (!s.startsWith(KEY_PREFIX))
-			return string;
-
-		if (s.startsWith(KEY_DOUBLE_PREFIX))
-			return s.substring(1);
-
-		int ix = s.indexOf(" "); //$NON-NLS-1$
-		String key = ix == -1 ? s : s.substring(0, ix);
-		String dflt = ix == -1 ? s : s.substring(ix + 1);
-
-		if (resourceBundle == null)
-			return dflt;
-
-		try {
-			return resourceBundle.getString(key.substring(1));
-		} catch (MissingResourceException e) {
-			return dflt;
-		}
-	}
-
-	public static boolean isAutomaticallyStartedBundle(String bundleURL) {
-		if (bundleURL.indexOf("org.eclipse.osgi") != -1) //$NON-NLS-1$
-			return true;
-		
-		String osgiBundles = System.getProperty("osgi.bundles"); //$NON-NLS-1$
-		StringTokenizer st = new StringTokenizer(osgiBundles, ","); //$NON-NLS-1$
-		while (st.hasMoreTokens()) {
-			String token = st.nextToken().trim();
-			int index = token.indexOf('@');
-			if (index != -1)
-				token = token.substring(0,index);
-			if (token.startsWith("reference:file:")) { //$NON-NLS-1$
-				File f = new File(token.substring(15));
-				if (bundleURL.indexOf(f.getName()) != -1)
-					return true;
-			}
-			if (bundleURL.indexOf(token) != -1)
-				return true;
-		}
-		return false;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/VersionedIdentifier.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/VersionedIdentifier.java
deleted file mode 100644
index 53d86c8..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/VersionedIdentifier.java
+++ /dev/null
@@ -1,168 +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.update.internal.configurator;
-
-import java.util.*;
-
-
-public class VersionedIdentifier {
-	private String identifier = ""; //$NON-NLS-1$
-	private int major = 0;
-	private int minor = 0;
-	private int service = 0;
-	private String qualifier = ""; //$NON-NLS-1$
-	private String version;
-
-	private static final String VER_SEPARATOR = "."; //$NON-NLS-1$
-	private static final String ID_SEPARATOR = "_"; //$NON-NLS-1$
-
-	public static final int LESS_THAN = -1;
-	public static final int EQUAL = 0;
-	public static final int EQUIVALENT = 1;
-	public static final int COMPATIBLE = 2;
-	public static final int GREATER_THAN = 3;
-
-	public VersionedIdentifier(String s) {
-		if (s == null || (s = s.trim()).equals("")) //$NON-NLS-1$
-			return;
-
-		int loc = s.lastIndexOf(ID_SEPARATOR);
-		if (loc != -1) {
-			this.identifier = s.substring(0, loc);
-			version = s.substring(loc + 1);
-			if(version==null)
-				version = "0.0.0";
-			parseVersion(version);
-		} else
-			this.identifier = s;
-	}
-	
-	public VersionedIdentifier(String id, String version) {
-		this(id+ID_SEPARATOR+ (version==null?"0.0.0":version) );
-		this.version = version;
-	}
-	
-	public String getVersion() {
-		return version;
-	}
-	
-	public String getIdentifier() {
-		return identifier;
-	}
-
-	public boolean equalIdentifiers(VersionedIdentifier id) {
-		if (id == null)
-			return identifier == null;
-		else
-			return id.identifier.equals(identifier);
-	}
-
-	public int compareVersion(VersionedIdentifier id) {
-
-		if (id == null) {
-			if (major == 0 && minor == 0 && service == 0)
-				return -1;
-			else
-				return 1;
-		}
-
-		if (major > id.major)
-			return GREATER_THAN;
-		if (major < id.major)
-			return LESS_THAN;
-		if (minor > id.minor)
-			return COMPATIBLE;
-		if (minor < id.minor)
-			return LESS_THAN;
-		if (service > id.service)
-			return EQUIVALENT;
-		if (service < id.service)
-			return LESS_THAN;
-		return compareQualifiers(qualifier, id.qualifier);
-	}
-
-	private int compareQualifiers(String q1, String q2) {
-		int result = q1.compareTo(q2);
-		if (result < 0)
-			return LESS_THAN;
-		else if (result > 0)
-			return EQUIVALENT;
-		else
-			return EQUAL;
-	}
-
-	private void parseVersion(String v) {
-		if (v == null || (v = v.trim()).equals("")) //$NON-NLS-1$
-			return;
-
-		try {
-			StringTokenizer st = new StringTokenizer(v, VER_SEPARATOR);
-			ArrayList elements = new ArrayList(4);
-
-			while (st.hasMoreTokens()) {
-				elements.add(st.nextToken());
-			}
-
-			if (elements.size() >= 1)
-				this.major = (new Integer((String) elements.get(0))).intValue();
-			if (elements.size() >= 2)
-				this.minor = (new Integer((String) elements.get(1))).intValue();
-			if (elements.size() >= 3)
-				this.service = (new Integer((String) elements.get(2))).intValue();
-			if (elements.size() >= 4)
-				this.qualifier = removeWhiteSpace((String) elements.get(3));
-
-		} catch (Exception e) {
-			// use what we got so far ...
-		}
-	}
-
-	private String removeWhiteSpace(String s) {
-		char[] chars = s.trim().toCharArray();
-		boolean whitespace = false;
-		for (int i = 0; i < chars.length; i++) {
-			if (Character.isWhitespace(chars[i])) {
-				chars[i] = '_';
-				whitespace = true;
-			}
-		}
-		return whitespace ? new String(chars) : s;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (!(obj instanceof VersionedIdentifier))
-			return false;
-		
-		VersionedIdentifier other = (VersionedIdentifier)obj;
-		return equalIdentifiers(other) &&
-			this.major == other.major &&
-			this.minor == other.minor &&
-			this.service == other.service &&
-			compareQualifiers(this.qualifier, other.qualifier) == EQUAL;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return (identifier + "_" + version).hashCode();
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return identifier + "_" + version;
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/XMLPrintHandler.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/XMLPrintHandler.java
deleted file mode 100644
index 5356367..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/XMLPrintHandler.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.update.internal.configurator;
-
-import java.io.*;
-
-import org.w3c.dom.*;
-
-
-public class XMLPrintHandler {
-	//	used to print XML file
-	public static final String XML_COMMENT_END_TAG = "-->";
-	public static final String XML_COMMENT_BEGIN_TAG = "<!--";
-	public static final String XML_HEAD = "<?xml version=\"1.0\" encoding=\"";
-	public static final String XML_HEAD_END_TAG = "?>";
-	public static final String XML_DBL_QUOTES = "\"";
-	public static final String XML_SPACE = " ";
-	public static final String XML_BEGIN_TAG = "<";
-	public static final String XML_END_TAG = ">";
-	public static final String XML_EQUAL = "=";
-	public static final String XML_SLASH = "/";
-
-	public static void printBeginElement(Writer xmlWriter, String elementString) throws IOException{
-		StringBuffer temp = new StringBuffer(XML_BEGIN_TAG);
-		temp.append(elementString).append(XML_END_TAG).append("\n");
-		xmlWriter.write(temp.toString());
-
-	}
-
-	public static void printEndElement(Writer xmlWriter, String elementString) throws IOException{
-		StringBuffer temp = new StringBuffer(XML_BEGIN_TAG);
-		temp.append(XML_SLASH).append(elementString).append(XML_END_TAG).append("\n");
-		xmlWriter.write(temp.toString());
-
-	}
-
-	
-	public static void printText(Writer xmlWriter, String text) throws IOException{
-		xmlWriter.write(encode(text).toString());
-	}
-
-	public static void printComment(Writer xmlWriter, String comment)throws IOException {
-		StringBuffer temp = new StringBuffer(XML_COMMENT_BEGIN_TAG);
-		temp.append(encode(comment).toString()).append(XML_COMMENT_END_TAG).append("\n");
-		xmlWriter.write(temp.toString());
-	}
-
-	public static void printHead(Writer xmlWriter, String encoding) throws IOException {
-		StringBuffer temp = new StringBuffer(XML_HEAD);
-		temp.append(encoding).append(XML_DBL_QUOTES).append(XML_HEAD_END_TAG).append("\n");
-		xmlWriter.write(temp.toString());
-	}
-
-	public static String wrapAttributeForPrint(String attribute, String value) throws IOException {
-		StringBuffer temp = new StringBuffer(XML_SPACE);
-		temp.append(attribute).append(XML_EQUAL).append(XML_DBL_QUOTES)
-				.append(encode(value).toString()).append(XML_DBL_QUOTES);
-		return temp.toString();
-
-	}
-
-	public static void printNode(Writer xmlWriter, Node node,String encoding)  throws Exception{
-		if (node == null) {
-			return;
-		}
-
-		switch (node.getNodeType()) {
-		case Node.DOCUMENT_NODE: {
-			printHead(xmlWriter,encoding);
-			printNode(xmlWriter, ((Document) node).getDocumentElement(),encoding);
-			break;
-		}
-		case Node.ELEMENT_NODE: {
-			//get the attribute list for this node.
-			StringBuffer tempElementString = new StringBuffer(node.getNodeName());
-			NamedNodeMap attributeList = node.getAttributes();
-			if ( attributeList != null ) {
-				for(int i= 0; i <attributeList.getLength();i++){
-					Node attribute = attributeList.item(i);
-					tempElementString.append(wrapAttributeForPrint(attribute.getNodeName(),attribute.getNodeValue()));
-				}
-			}
-			printBeginElement(xmlWriter,tempElementString.toString());
-			
-			// do this recursively for the child nodes.
-			NodeList childNodes = node.getChildNodes();
-			if (childNodes != null) {
-				int length = childNodes.getLength();
-				for (int i = 0; i < length; i++) {
-					printNode(xmlWriter, childNodes.item(i),encoding);
-				}
-			}
-			
-			printEndElement(xmlWriter,node.getNodeName());
-			break;
-		}
-		
-		case Node.TEXT_NODE: {
-			xmlWriter.write(encode(node.getNodeValue()).toString());
-			break;
-		}
-		default: {
-			throw new UnsupportedOperationException("Unsupported XML Node Type.");
-			
-		}
-		}
-
-	}
-
-	public static StringBuffer encode(String value) {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < value.length(); i++) {
-			char c = value.charAt(i);
-			switch (c) {
-				case '&' :
-					buf.append("&amp;"); //$NON-NLS-1$
-					break;
-				case '<' :
-					buf.append("&lt;"); //$NON-NLS-1$
-					break;
-				case '>' :
-					buf.append("&gt;"); //$NON-NLS-1$
-					break;
-				case '\'' :
-					buf.append("&apos;"); //$NON-NLS-1$
-					break;
-				case '\"' :
-					buf.append("&quot;"); //$NON-NLS-1$
-					break;
-				default :
-					buf.append(c);
-					break;
-			}
-		}
-		return buf;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/AboutInfo.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/AboutInfo.java
deleted file mode 100644
index dd2b59f..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/AboutInfo.java
+++ /dev/null
@@ -1,254 +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.update.internal.configurator.branding;
-
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-
-
-/**
- * The information within this object is obtained from the about INI file.
- * This file resides within an install configurations directory and must be a 
- * standard java property file.  
- * <p>
- * This class is not intended to be instantiated or subclassed by clients.
- * </p>
- */
-public final class AboutInfo {
-	private final static String INI_FILENAME = "about.ini"; //$NON-NLS-1$
-	private final static String PROPERTIES_FILENAME = "about.properties"; //$NON-NLS-1$
-	private final static String MAPPINGS_FILENAME = "about.mappings"; //$NON-NLS-1$
-
-	private String featureId;
-	private String versionId = ""; //$NON-NLS-1$
-	private String featurePluginLabel;
-	private String providerName;
-	private String appName;
-	private URL windowImageURL;
-	private URL[] windowImagesURLs;
-	private URL aboutImageURL;
-	private URL featureImageURL;
-	private URL welcomePageURL;
-	private String aboutText;
-	private String welcomePerspective;
-	private String tipsAndTricksHref;
-
-
-	/*
-	 * Create a new about info for a feature with the given id.
-	 */
-	/* package */ AboutInfo(String featureId) {
-		super();
-		this.featureId = featureId;
-	}
-
-	/**
-	 * Returns the configuration information for the feature with the 
-	 * given id.
-	 * 
-	 * @param featureId the feature id
-	 * @param versionId the version id (of the feature)
-	 * @param pluginId the plug-in id
-	 * @return the configuration information for the feature
-	 */
-	public static AboutInfo readFeatureInfo(String featureId, String versionId, String pluginId) {
-//		Assert.isNotNull(featureId);
-//		Assert.isNotNull(versionId);
-//		Assert.isNotNull(pluginId);
-		IniFileReader reader = new IniFileReader(featureId, pluginId, INI_FILENAME, PROPERTIES_FILENAME, MAPPINGS_FILENAME);
-		IStatus status = reader.load();
-// bug 78031
-//		if (!status.isOK()) {
-//			//return null;
-//			return new AboutInfo(featureId); // dummy about info
-//		}
-		
-		AboutInfo info = new AboutInfo(featureId);
-		Hashtable runtimeMappings  = new Hashtable();
-		runtimeMappings.put("{featureVersion}", versionId); //$NON-NLS-1$
-		info.versionId = versionId;
-		info.featurePluginLabel = reader.getFeaturePluginLabel();
-		info.providerName = reader.getProviderName();
-		info.appName = reader.getString("appName", true, runtimeMappings); //$NON-NLS-1$
-		info.aboutText = reader.getString("aboutText", true, runtimeMappings); //$NON-NLS-1$
-		info.windowImageURL = reader.getURL("windowImage"); //$NON-NLS-1$
-		// look for the newer array, but if its not there then use the older,
-		// single image definition
-		info.windowImagesURLs = reader.getURLs("windowImages"); //$NON-NLS-1$
-		info.aboutImageURL = reader.getURL("aboutImage"); //$NON-NLS-1$
-		info.featureImageURL = reader.getURL("featureImage"); //$NON-NLS-1$
-		info.welcomePageURL = reader.getURL("welcomePage"); //$NON-NLS-1$
-		info.welcomePerspective = reader.getString("welcomePerspective", false, runtimeMappings); //$NON-NLS-1$
-		info.tipsAndTricksHref = reader.getString("tipsAndTricksHref", false, runtimeMappings); //$NON-NLS-1$
-		return info;
-	}
-	
-	/**
-	 * Returns the URL for an image which can be shown in an "about" dialog 
-	 * for this product. Products designed to run "headless" typically would not 
-	 * have such an image.
-	 * 
-	 * @return the URL for an about image, or <code>null</code> if none
-	 */
-	public URL getAboutImageURL() {
-		return aboutImageURL;
-	}
-
-	/**
-	 * Returns the URL for an image which can be shown in an "about features" 
-	 * dialog. Products designed to run "headless" typically would not have such an image.
-	 * 
-	 * @return the URL for a feature image, or <code>null</code> if none
-	 */
-	public URL getFeatureImageURL() {
-		return featureImageURL;
-	}
-
-	/**
-	 * Returns the simple name of the feature image file.
-	 * 
-	 * @return the simple name of the feature image file,
-	 * or <code>null</code> if none
-	 */
-	public String getFeatureImageName() {
-		if (featureImageURL != null) {
-			IPath path = new Path(featureImageURL.getPath());
-			return path.lastSegment();
-		} else {
-			return null;
-		}
-	}
-
-		
-	/**
-	 * Returns a label for the feature plugn, or <code>null</code>.
-	 */
-	public String getFeatureLabel() {
-		return featurePluginLabel;
-	}
-
-	/**
-	 * Returns the id for this feature.
-	 * 
-	 * @return the feature id
-	 */
-	public String getFeatureId() {
-		return featureId;
-	}
-	
-	/**
-	 * Returns the text to show in an "about" dialog for this product.
-	 * Products designed to run "headless" typically would not have such text.
-	 * 
-	 * @return the about text, or <code>null</code> if none
-	 */
-	public String getAboutText() {
-		return aboutText;
-	}
-
-	/**
-	 * Returns the application name or <code>null</code>.
-	 * Note this is never shown to the user.
-	 * It is used to initialize the SWT Display.
-	 * <p>
-	 * On Motif, for example, this can be used
-	 * to set the name used for resource lookup.
-	 * </p>
-	 *
-	 * @return the application name, or <code>null</code>
-	 */
-	public String getAppName() {
-		return appName;
-	}
-
-	/**
-	 * Returns the product name or <code>null</code>.
-	 * This is shown in the window title and the About action.
-	 *
-	 * @return the product name, or <code>null</code>
-	 */
-	public String getProductName() {
-		return featurePluginLabel;
-	}
-
-	/**
-	 * Returns the provider name or <code>null</code>.
-	 *
-	 * @return the provider name, or <code>null</code>
-	 */
-	public String getProviderName() {
-		return providerName;
-	}
-
-	/**
-	 * Returns the feature version id.
-	 *
-	 * @return the version id of the feature
-	 */
-	public String getVersionId() {
-		return versionId;
-	}
-
-	/**
-	 * Returns a <code>URL</code> for the welcome page.
-	 * Products designed to run "headless" typically would not have such an page.
-	 * 
-	 * @return the welcome page, or <code>null</code> if none
-	 */
-	public URL getWelcomePageURL() {
-		return welcomePageURL;
-	}
-
-	/**
-	 * Returns the ID of a perspective in which to show the welcome page.
-	 * May be <code>null</code>.
-	 * 
-	 * @return the welcome page perspective id, or <code>null</code> if none
-	 */
-	public String getWelcomePerspectiveId() {
-		return welcomePerspective;
-	}
-
-	/**
-	 * Returns a <code>String</code> for the tips and trick href.
-	 * 
-	 * @return the tips and tricks href, or <code>null</code> if none
-	 */
-	public String getTipsAndTricksHref() {
-		return tipsAndTricksHref;
-	}
-
-	/**
-	 * Returns the image url for the window image to use for this product.
-	 * Products designed to run "headless" typically would not have such an image.
-	 * 
-	 * @return the image url for the window image, or <code>null</code> if none
-	 */
-	public URL getWindowImageURL() {
-		return windowImageURL;
-	}
-	
-	/**
-	 * Return an array of image URLs for the window images to use for
-	 * this product. The expectations is that the elements will be the same
-	 * image rendered at different sizes. Products designed to run "headless"
-	 * typically would not have such images.
-	 * 
-	 * @return an array of the image descriptors for the window images, or
-	 *         <code>null</code> if none
-	 * @since 3.0
-	 */
-	public URL[] getWindowImagesURLs() {
-		return windowImagesURLs;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IBundleGroupConstants.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IBundleGroupConstants.java
deleted file mode 100644
index 45179c0..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IBundleGroupConstants.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.update.internal.configurator.branding;
-
-/**
- * These constants define the set of properties that the UI expects to
- * be available via <code>IBundleGroup.getProperty(String)</code>.
- * 
- * @since 3.0
- * @see org.eclipse.core.runtime.IBundleGroup#getProperty(String)
- */
-public interface IBundleGroupConstants {
-	/**
-	 * An image which can be shown in an "about features" dialog (32x32).
-	 */
-	public static final String FEATURE_IMAGE = "featureImage"; //$NON-NLS-1$
-
-	/**
-	 * A help reference for the feature's tips and tricks page (optional).
-	 */
-	public static final String TIPS_AND_TRICKS_HREF = "tipsAndTricksHref"; //$NON-NLS-1$
-
-	/**
-	 * A URL for the feature's welcome page (special XML-based format)
-     * ($nl$/ prefix to permit locale-specific translations of entire file).
-	 * Products designed to run "headless" typically would not have such a page.
-	 */
-	public static final String WELCOME_PAGE = "welcomePage"; //$NON-NLS-1$
-
-	/**
-	 * The id of a perspective in which to show the welcome page
-	 * (optional).
-	 */
-	public static final String WELCOME_PERSPECTIVE = "welcomePerspective"; //$NON-NLS-1$
-	
-	/**
-	 * The URL of the license page for the feature
-	 * (optional).
-	 */
-	public static final String LICENSE_HREF = "licenseHref"; //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IProductConstants.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IProductConstants.java
deleted file mode 100644
index 179ef52..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IProductConstants.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the 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.update.internal.configurator.branding;
-
-/**
- * These constants define the set of properties that the UI expects to
- * be available via <code>IProduct.getProperty(String)</code>.
- * 
- * @since 3.0
- * @see org.eclipse.core.runtime.IProduct#getProperty(String)
- */
-public interface IProductConstants {
-	/**
-	 * The application name, used to initialize the SWT Display.  This
-	 * value is distinct from the string displayed in the application
-	 * title bar.
-	 * <p>
-	 * E.g., On motif, this can be used to set the name used for
-	 * resource lookup.
-	 * </p>
-	 */
-	public static final String APP_NAME = "appName"; //$NON-NLS-1$
-
-	/**
-	 * The text to show in an "about" dialog for this product.
-	 * Products designed to run "headless" typically would not
-	 * have such text.
-	 */
-	public static final String ABOUT_TEXT = "aboutText"; //$NON-NLS-1$
-
-	/**
-	 * An image which can be shown in an "about" dialog for this
-	 * product. Products designed to run "headless" typically would not 
-	 * have such an image.
-	 * <p>
-     * A full-sized product image (no larger than 500x330 pixels) is
-     * shown without the "aboutText" blurb.  A half-sized product image
-     * (no larger than 250x330 pixels) is shown with the "aboutText"
-     * blurb beside it.
-     */
-	public static final String ABOUT_IMAGE = "aboutImage"; //$NON-NLS-1$
-
-	/**
-	 * An image to be used as the window icon for this product (16x16).  
-	 * Products designed to run "headless" typically would not have such an image.
-	 * <p>
-	 * If the <code>WINDOW_IMAGES</code> property is given, then it supercedes
-	 * this one.
-	 * </p>
-	 */
-	public static final String WINDOW_IMAGE = "windowImage"; //$NON-NLS-1$
-
-	/**
-	 * An array of one or more images to be used for this product.  The
-	 * expectation is that the array will contain the same image rendered
-	 * at different sizes (16x16 and 32x32).  
-	 * Products designed to run "headless" typically would not have such images.
-	 * <p>
-	 * If this property is given, then it supercedes <code>WINDOW_IMAGE</code>.
-	 * </p>
-	 */
-	public static final String WINDOW_IMAGES = "windowImages"; //$NON-NLS-1$
-	/**
-	 * A URL for the products's welcome page (special XML-based format)
-	 * ($nl$/ prefix to permit locale-specific translations of entire file).
-	 * Products designed to run "headless" typically would not have such a page.
-	 */
-	public static final String WELCOME_PAGE = "welcomePage";  //$NON-NLS-1$
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IniFileReader.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IniFileReader.java
deleted file mode 100644
index 72e2235..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IniFileReader.java
+++ /dev/null
@@ -1,378 +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.update.internal.configurator.branding;
-
-import java.io.*;
-import java.net.*;
-import java.text.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.internal.configurator.*;
-import org.osgi.framework.*;
-
-/**
- * Reads the information found in an "INI" file. This file must be in a
- * standard Java properties format. A properties file may also be provided
- * to NL values in the INI file - values must start with the % prefix. A
- * mapping file may also be provided that contains "fill-ins" for the
- * properties file - format being "n = some text", where n is a number.
- */
-public class IniFileReader {
-	private static final String PID = "org.eclipse.update.configurator"; //$NON-NLS-1$
-	private static final Status OK_STATUS = new Status(IStatus.OK, PID, 0, "", null); //$NON-NLS-1$
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$
-	private static final String NLS_TAG = "$nl$"; //$NON-NLS-1$
-
-	private String featureId;
-	private String pluginId;
-	private String iniFilename;
-	private String propertiesFilename;
-	private String mappingsFilename;
-	private Properties ini = null;
-	private PropertyResourceBundle properties = null;
-	private String[] mappings = null;
-	private Bundle bundle;
-
-	/**
-	 * Creates an INI file reader that can parse the contents into key,value pairs.
-	 * 
-	 * @param featureId the unique identifier of the feature, must not be <code>null</code>
-	 * @param pluginId the unique identifier of the feature plug-in, must not be <code>null</code>
-	 * @param iniFilename the INI file name, must not be <code>null</code>
-	 * @param propertiesFilename the properties filename, can be <code>null</code> if not required
-	 * @param mappingsFilename the mappings filename, can be <code>null</code> if not required
-	 */
-	public IniFileReader(String featureId, String pluginId, String iniFilename, String propertiesFilename, String mappingsFilename) {
-		super();
-		
-		if (featureId == null || pluginId == null || iniFilename == null) {
-			throw new IllegalArgumentException();
-		}
-			
-		this.featureId = featureId;
-		this.pluginId = pluginId;
-		this.iniFilename = iniFilename;
-		this.propertiesFilename = propertiesFilename;
-		this.mappingsFilename = mappingsFilename;
-	}
-
-	/**
-	 * Read the contents of the INI, properties, and mappings files.
-	 * Does nothing if the content has already been read and parsed.
-	 * 
-	 * @return an <code>IStatus</code> indicating the success or failure
-	 * 	of reading and parsing the INI file content
-	 */
-	public IStatus load() {
-		if (ini != null)
-			return OK_STATUS;
-			
-		// attempt to locate the corresponding plugin
-		bundle = Platform.getBundle(pluginId);
-		if (bundle == null || bundle.getState() == Bundle.UNINSTALLED || bundle.getState() == Bundle.INSTALLED) {
-			bundle = null; // make it null for other test down the road
-			String message = Messages.getString("IniFileReader.MissingDesc", featureId);  //$NON-NLS-1$
-			return new Status(IStatus.ERROR, PID, 0, message, null);
-		}
-
-		// Determine the ini file location
-		URL iniURL = null;
-		IOException ioe = null;
-		try {
-			iniURL = Platform.find(bundle, new Path(NLS_TAG).append(iniFilename));
-			if (iniURL != null)
-				iniURL = Platform.resolve(iniURL);
-		} catch (IOException e) {
-			ioe = e;
-		}
-		if (iniURL == null) {
-			String message = Messages.getString("IniFileReader.OpenINIError", iniFilename);  //$NON-NLS-1$
-			return new Status(IStatus.ERROR, PID, 0, message, ioe);
-		}
-		
-		// Determine the properties file location
-		URL propertiesURL = null;
-		if (propertiesFilename != null & propertiesFilename.length() > 0) {
-			try {
-				propertiesURL = Platform.find(bundle, new Path(NLS_TAG).append(propertiesFilename));
-				if (propertiesURL != null)
-					propertiesURL = Platform.resolve(propertiesURL);
-			} catch (IOException e) {
-				String message = Messages.getString("IniFileReader.OpenPropError", propertiesFilename); //$NON-NLS-1$
-				return new Status(IStatus.ERROR, PID, 0, message, e);
-			}
-		}
-
-		// Determine the mappings file location
-		URL mappingsURL = null;
-		if (mappingsFilename != null && mappingsFilename.length() > 0) {
-			try {
-				mappingsURL = Platform.find(bundle, new Path(NLS_TAG).append(mappingsFilename));
-				if (mappingsURL != null)
-					mappingsURL = Platform.resolve(mappingsURL);
-			} catch (IOException e) {
-				String message = Messages.getString("IniFileReader.OpenMapError", mappingsFilename); //$NON-NLS-1$
-				return new Status(IStatus.ERROR, PID, 0, message, e);
-			}
-		}
-
-		// OK to pass null properties and/or mapping file
-		return load(iniURL, propertiesURL, mappingsURL);
-	}
-		
-	/**
-	 * Returns the string value for the given key, or <code>null</code>.
-	 * The string value is NLS if requested.
-	 * 
-	 * @return the string value for the given key, or <code>null</code>
-	 */
-	public String getString(String key, boolean doNls, Hashtable runtimeMappings) {
-		if (ini == null)
-			return null;
-		String value = ini.getProperty(key);
-		if (value != null && doNls)
-			return getResourceString(value, runtimeMappings);
-		return value;
-	}
-
-
-	/**
-	 * Returns a URL for the given key, or <code>null</code>.
-	 * 
-	 * @return a URL for the given key, or <code>null</code>
-	 */
-	public URL getURL(String key) {
-		if (ini == null)
-			return null;
-
-		URL url = null;
-		String fileName = ini.getProperty(key);
-		if (fileName != null) {
-			if (bundle == null)
-				return null;
-			url = Platform.find(bundle, new Path(fileName));
-		}
-		return url;
-	}
-	
-	/**
-	 * Returns a array of URL for the given key, or <code>null</code>. The
-	 * property value should be a comma separated list of urls, tokens for
-	 * which bundle cannot build an url will have a null entry.
-	 * 
-	 * @param key name of the property containing the requested urls
-	 * @return a URL for the given key, or <code>null</code>
-	 * @since 3.0
-	 */
-	public URL[] getURLs(String key) {
-		if (ini == null || bundle == null)
-			return null;
-
-		String value = ini.getProperty(key);
-		if (value == null)
-			return null;
-
-		StringTokenizer tokens = new StringTokenizer(value, ","); //$NON-NLS-1$
-		ArrayList array = new ArrayList(10);
-		while (tokens.hasMoreTokens()) {
-			String str = tokens.nextToken().trim();
-			array.add(Platform.find(bundle, new Path(str)));
-		}
-
-		URL[] urls = new URL[array.size()];
-		array.toArray(urls);
-		return urls;
-	}
-
-	/**
-	 * Returns the feature plugin label, or <code>null</code>.
-	 * 
-	 * @return the feature plugin lable, or <code>null</code> if none.
-	 */
-	public String getFeaturePluginLabel() {
-		if (bundle == null)
-			return null;
-		else {
-			return (String)bundle.getHeaders().get(Constants.BUNDLE_NAME);
-		}
-	}
-	
-	/**
-	 * Returns the provider name for this feature, or <code>null</code>.
-	 * 
-	 * @return the provider name for this feature, or <code>null</code>
-	 */
-	public String getProviderName() {
-		if (bundle == null)
-			return null;
-		else {
-			return (String)bundle.getHeaders().get(Constants.BUNDLE_VENDOR);
-		}
-	}
-	
-	/*
-	 * Returns a resource string corresponding to the given argument 
-	 * value and bundle.
-	 * If the argument value specifies a resource key, the string
-	 * is looked up in the given resource bundle. If the argument does not
-	 * specify a valid key, the argument itself is returned as the
-	 * resource string. The key lookup is performed against the
-	 * specified resource bundle. If a resource string 
-	 * corresponding to the key is not found in the resource bundle
-	 * the key value, or any default text following the key in the
-	 * argument value is returned as the resource string.
-	 * A key is identified as a string begining with the "%" character.
-	 * Note that the "%" character is stripped off prior to lookup
-	 * in the resource bundle.
-	 * <p>
-	 * For example, assume resource bundle plugin.properties contains
-	 * name = Project Name
-	 * <pre>
-	 *     <li>getResourceString("Hello World") returns "Hello World"</li>
-	 *     <li>getResourceString("%name") returns "Project Name"</li>
-	 *     <li>getResourceString("%name Hello World") returns "Project Name"</li>
-	 *     <li>getResourceString("%abcd Hello World") returns "Hello World"</li>
-	 *     <li>getResourceString("%abcd") returns "%abcd"</li>
-	 *     <li>getResourceString("%%name") returns "%name"</li>
-	 *     <li>getResourceString(<code>null</code>) returns <code>null</code></li>
-	 * </pre>
-	 * </p>
-	 *
-	 * @param value the value or <code>null</code>
-	 * @param runtimeMappings runtime mappings or <code>null</code>
-	 * @return the resource string
-	 */
-	 public String getResourceString(String value, Hashtable runtimeMappings) {
-		
-		if (value == null)
-			return null;
-		String s = value.trim();
-
-		if (!s.startsWith(KEY_PREFIX))
-			return s;
-
-		if (s.startsWith(KEY_DOUBLE_PREFIX))
-			return s.substring(1);
-
-		int ix = s.indexOf(" "); //$NON-NLS-1$
-		String key = ix == -1 ? s : s.substring(0, ix);
-		String dflt = ix == -1 ? s : s.substring(ix + 1);
-
-		if (properties == null)
-			return dflt;
-
-		String result = null;
-		try {
-			result = properties.getString(key.substring(1));
-		} catch (MissingResourceException e) {
-			return dflt;
-		}
-		if (runtimeMappings != null) {
-			for (Enumeration e = runtimeMappings.keys(); e.hasMoreElements();) {
-				String keyValue = (String) e.nextElement();
-				int i = result.indexOf(keyValue);
-				if (i != -1) {
-					String s1 = result.substring(0,i);
-					String s2 = (String) runtimeMappings.get(keyValue);
-					String s3 = result.substring(i+keyValue.length());
-					result = s1 + s2 + s3;
-				}
-			}
-		}
-	
-		if (result.indexOf('{') != -1) {
-			// We test for the curly braces since due to NL issues we do not
-			// want to use MessageFormat unless we have to.
-			result = MessageFormat.format(result, mappings);
-		}
-		
-		return result;	
-	}
-
-	/*
-	 * Read the contents of the ini, properties, and mappings files.
-	 */
-	private IStatus load(URL iniURL, URL propertiesURL, URL mappingsURL) {
-
-		InputStream is = null;
-		try {
-			is = iniURL.openStream();
-			ini = new Properties();
-			ini.load(is);
-		} catch (IOException e) {
-			ini = null;
-			String message = Messages.getString("IniFileReader.ReadIniError", iniURL.toExternalForm()); //$NON-NLS-1$
-			return new Status(IStatus.ERROR, PID, 0, message, e);
-		} finally {
-			try {
-				if (is != null)
-					is.close();
-			} catch (IOException e) {
-			}
-		}
-
-		if (propertiesURL != null) {
-			is = null;
-			try {
-				is = propertiesURL.openStream();
-				properties = new PropertyResourceBundle(is);
-			} catch (IOException e) {
-				properties = null;
-				String message = Messages.getString("IniFileReader.ReadPropError", propertiesURL.toExternalForm()); //$NON-NLS-1$
-				return new Status(IStatus.ERROR, PID, 0, message, e);
-			} finally {
-				try {
-					if (is != null)
-						is.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-
-		PropertyResourceBundle bundle = null;
-		if (mappingsURL != null) {
-			is = null;
-			try {
-				is = mappingsURL.openStream();
-				bundle = new PropertyResourceBundle(is);
-			} catch (IOException e) {
-				bundle = null;
-				String message = Messages.getString("IniFileReader.ReadMapError", mappingsURL.toExternalForm()); //$NON-NLS-1$
-				return new Status(IStatus.ERROR, PID, 0, message, e);
-			} finally {
-				try {
-					if (is != null)
-						is.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-
-		ArrayList mappingsList = new ArrayList();
-		if (bundle != null) {
-			boolean found = true;
-			int i = 0;
-			while (found) {
-				try {
-					mappingsList.add(bundle.getString(Integer.toString(i)));
-				} catch (MissingResourceException e) {
-					found = false;
-				}
-				i++;
-			}
-		}
-		mappings = (String[])mappingsList.toArray(new String[mappingsList.size()]);
-		
-		return OK_STATUS;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/messages.properties b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/messages.properties
deleted file mode 100644
index 639b480..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/messages.properties
+++ /dev/null
@@ -1,93 +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
-###############################################################################
-### Boot plugin message catalog
-
-ok = OK
-
-### URL
-url.badVariant=Unsupported \"platform:\" protocol variation {0}
-url.invalidURL=Invalid "platform:" URL {0}
-url.createConnection=Unable to create connection {0}
-url.noaccess=Unable to access URL as local {0}.
-
-### Platform Configuration
-cfig.inUse=\nConfiguration file \"{0}\" is in use by another instance of the platform, \n\
-	or there was a failure in deleting the old lock file.  If no other platform instances are running, \n\
-	delete file \"{1}\" and try starting the platform again.
-cfig.failCreateLock=Failed to create lock for configuration file \"{0}\"
-cfig.badUrlArg=Bad -configuration argument \"{0}\"
-cfig.unableToLoad.incomplete=Unable to load {0}
-cfig.unableToLoad.noURL=Configuration file location not specified
-cfig.unableToSave.noURL=Configuration file save location not specified
-cfig.unableToSave=Unable to save configuration file \"{0}\"
-cfig.badVersion=Unsupported configuration version \"{0}\"
-cfg.unableToCreateConfig.ini = Unable to create config.ini
-
-platform.running=The Platform is already running.
-platform.mustNotBeRunning=The Platform must not be running.
-platform.notRunning=The Platform is not running.
-
-ignore.plugin=Ignoring invalid plug-in location: {0}.
-application.notFound=Application not found: {0}.
-error.fatal=Fatal Error: Unable to determine platform installation URL {0}.
-error.boot=Fatal Error: Unable to locate boot.xml file for executing org.eclipse.core.boot.
-error.runtime=Fatal Error: Unable to locate matching org.eclipse.core.runtime plug-in.
-error.xerces=Fatal Error: Unable to locate matching org.apache.xerces plug-in.
-error.badNL=Bad value: \"{0}\" for NL. Using system default.
-
-InstalledSiteParser.DirectoryDoesNotExist=The directory \"{0}\" does not exist on the file system.
-InstalledSiteParser.UnableToCreateURL= Internal Error. Unable to create URL from \"{0}\".
-InstalledSiteParser.FileDoesNotExist= The file \"{0}\" does not exist.
-InstalledSiteParser.UnableToCreateURLForFile= Unable to create URL from \"{0}\".
-InstalledSiteParser.ErrorParsingFile= Unable to parse file \"{0}\".
-InstalledSiteParser.ErrorAccessing= Unable to access file \"{0}\".
-InstalledSiteParser.date = Invalid date attribute {0}
-BundleManifest.noVersion = {0} attribute not found in manifest for bundle \"{1}\".  Bundle will be ignored.
-
-FeatureParser.IdOrVersionInvalid= Error parsing feature stream. The unique identifier or the version is null or empty: unique identifier=\"{0}\" version=\"{1}\".
-
-BundleGroupProvider=Update Manager Configurator
-ProductProvider=Update Manager Configurator
-
-AboutInfo.notSpecified=Unspecified
-ConfigurationActivator.initialize=Cannot initialize the Update Configurator
-ConfigurationActivator.createConfig=Cannot create configuration in {0}
-ConfigurationActivator.uninstallBundle=Could not uninstall unused bundle {0} 
-ConfigurationParser.cannotLoadSharedInstall=Could not load from shared install
-ConfigurationActivator.installBundle=Could not install bundle {0}
-PluginEntry.versionError=Unable to create versioned identifier: {0} {1}
-
-IniFileReader.MissingDesc = Cannot find plugin for feature {0}
-IniFileReader.OpenINIError = Cannot open branding file {0}
-IniFileReader.OpenPropError = Cannot open branding properties file {0}
-IniFileReader.OpenMapError = Cannot open mapping file {0}
-IniFileReader.ReadIniError = Error reading branding file {0}
-IniFileReader.ReadPropError = Error reading branding properties file {0}
-IniFileReader.ReadMapError = Error reading mapping files {0}
-
-SiteEntry.computePluginStamp = Cannot compute plugins change stamp for site {0} because it does not support plugin detection.
-SiteEntry.cannotFindFeatureInDir=Unable to find feature.xml in directory: {0}
-SiteEntry.duplicateFeature=Duplicate feature found on site {0} : {1}
-SiteEntry.pluginsDir = {0} is not a valid plugins directory.
-PlatformConfiguration.expectingPlatformXMLorDirectory=Either specify the configuration directory or a file named platform.xml 
-PlatformConfiguration.cannotBackupConfig=Cannot backup current configuration
-PlatformConfiguration.cannotCloseStream=Could not close output stream for 
-PlatformConfiguration.cannotCloseTempFile=Could not close output stream for temp file 
-PlatformConfiguration.cannotRenameTempFile=Could not rename configuration temp file
-PlatformConfiguration.cannotLoadConfig=Cannot load configuration from 
-PlatformConfiguration.cannotLoadDefaultSite=Cannot load default site 
-PlatformConfiguration.cannotFindConfigFile=Platform configuration file cannot be found
-PlatformConfiguration.cannotSaveNonExistingConfig=Configuration cannot be saved because it does not exist
-HttpResponse.rangeExpected=Server returned full content instead of a range.
-HttpResponse.wrongRange=Server returned wrong range
-
-PluginParser.plugin_no_id = Plugin does not have a valid identifier: {0}
-PluginParser.pluing_no_version = Plugin does not have a valid version: {0}
\ No newline at end of file
diff --git a/update/org.eclipse.update.core.linux/.classpath b/update/org.eclipse.update.core.linux/.classpath
deleted file mode 100644
index 4848249..0000000
--- a/update/org.eclipse.update.core.linux/.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/update/org.eclipse.update.core.linux/.cvsignore b/update/org.eclipse.update.core.linux/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.core.linux/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.core.linux/.project b/update/org.eclipse.update.core.linux/.project
deleted file mode 100644
index 178e2b7..0000000
--- a/update/org.eclipse.update.core.linux/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.core.linux</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.core.runtime.compatibility</project>

-		<project>org.eclipse.update.configurator</project>

-		<project>org.eclipse.update.core</project>

-	</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/update/org.eclipse.update.core.linux/about.html b/update/org.eclipse.update.core.linux/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/update/org.eclipse.update.core.linux/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/update/org.eclipse.update.core.linux/build.properties b/update/org.eclipse.update.core.linux/build.properties
deleted file mode 100644
index 68d414f..0000000
--- a/update/org.eclipse.update.core.linux/build.properties
+++ /dev/null
@@ -1,17 +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
-###############################################################################
-bin.includes = fragment.xml,\
-               os/,\
-               fragment.properties,\
-               about.html
-src.includes = src/,\
-               fragment.xml,\
-               about.html
diff --git a/update/org.eclipse.update.core.linux/fragment.xml b/update/org.eclipse.update.core.linux/fragment.xml
deleted file mode 100644
index 6740684..0000000
--- a/update/org.eclipse.update.core.linux/fragment.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="org.eclipse.update.core.linux"
-   name="%fragmentNameLinux"
-   version="3.0.0"
-   provider-name="%providerName"
-   plugin-id="org.eclipse.update.core"
-   plugin-version="3.0.0"
-   match="compatible">
-
-   <runtime>
-   </runtime>
-
-
-</fragment>
diff --git a/update/org.eclipse.update.core.linux/os/linux/x86/libupdate.so b/update/org.eclipse.update.core.linux/os/linux/x86/libupdate.so
deleted file mode 100644
index d70a9e9..0000000
--- a/update/org.eclipse.update.core.linux/os/linux/x86/libupdate.so
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core.linux/src/build.xml b/update/org.eclipse.update.core.linux/src/build.xml
deleted file mode 100644
index cf44ead..0000000
--- a/update/org.eclipse.update.core.linux/src/build.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="buildlibrary" default="run" basedir="."> 
-  
-  <!-- The properties ${eclipse-home} ${jdk-path} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}/../.."/>
-  <property name="jdk-path" value="${java.home}"/>  
-  <property name="destination" value="${eclipse-home}/org.eclipse.update.core.linux/os/linux/x86/"/>
-  <property name="obj-path" value="${eclipse-home}/org.eclipse.update.core.linux/src/"/>
-  <property name="src-path" value="${eclipse-home}/org.eclipse.update.core.linux/src/"/>  
-  
-  <!-- sets the properties -->
-  <property name="library-name" value="libupdate"/>  
-  <property name="library-platform" value="so"/>    
-  <property name="library-file" value="${library-name}.${library-platform}"/>
-  
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${obj-path}" includes="${library-file}"/>
-      <fileset dir="${obj-path}" includes="${library-name}.o"/>
-    </delete>
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-      <delete>
-      <fileset dir="${obj-path}" includes="${library-file}"/>
-      <fileset dir="${obj-path}" includes="${library-name}.o"/>
-    </delete>
-  </target>
-  
-  
-  <!-- This target runs the build. -->
-  <target name="run" depends="init,build,cleanup">
-  </target>
-  
-  <!-- This target build the library -->
-  <target name="build">
-    <echo message="Building ${library-file}"/>
-
-    <property name="header-path" value="${jdk-path}/../include"/>
-    <property name="header-linux-path" value="${header-path}/linux" />
-
-	<echo message="gcc -o  ${library-file} -shared -I${src-path} -I${header-linux-path} ${library-file} -static -lc"/>
-
-    <apply executable="gcc" dest="${eclipse-home}/" parallel="false">
-      <arg value="-o"/>
-      <arg value="${library-file}"/>
-      <arg value="-shared"/>
-      <arg value="-I${src-path}"/>
-      <arg value="-I${header-path}"/>      
-      <arg value="-I${header-linux-path}"/>  
-	  <srcfile/>
-	  <arg value="-static"/>           
-      <arg value="-lc"/>	  
-      <fileset dir="${src-path}" includes="*.c"/>
-      <mapper type="glob" from="*.c" to="*.o"/>
-    </apply>
-    
-	<move file="${library-file}" todir="${destination}"/>
-  </target>
-  
-  
-</project>
\ No newline at end of file
diff --git a/update/org.eclipse.update.core.linux/src/update.c b/update/org.eclipse.update.core.linux/src/update.c
deleted file mode 100644
index a4508d7..0000000
--- a/update/org.eclipse.update.core.linux/src/update.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2002 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

- *******************************************************************************/

-

-/* bug 82520 : need to include stdlib.h */

-# include <stdlib.h>

-# include <sys/types.h>

-# include <sys/statfs.h>

-# include <update.h>

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetFreeSpace

- * Signature: (Ljava/io/File;)J

- */

-JNIEXPORT jlong JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetFreeSpace(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const char * lpDirectoryName;

-

-	// Linux Parameters

-	struct statfs buffer;

-

-	// the result

-	jlong result = org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN;

-

-	cls = (*jnienv) -> GetObjectClass(jnienv, file);

-	id = (*jnienv) -> GetMethodID(jnienv, cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = (*jnienv) -> CallObjectMethod(jnienv, file, id);

-	lpDirectoryName = (*jnienv) -> GetStringUTFChars(jnienv, (jstring) obj, 0);

-

-	// cast one argument as jlong to have a jlong result

-	int err = statfs(lpDirectoryName,&buffer);

-	if (err==0){

-		long size = buffer.f_bsize;

-		jlong free = buffer.f_bfree;

-		result = size*free;

-	}

-

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetLabel

- * Signature: (Ljava/io/File;)Ljava/lang/String;

- */

-JNIEXPORT jstring JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetLabel(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const char * lpDirectoryName;

-

-	// obtain the String from the parameter

-	cls = (*jnienv) -> GetObjectClass(jnienv, file);

-	id = (*jnienv) -> GetMethodID(jnienv, cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = (*jnienv) -> CallObjectMethod(jnienv, file, id);

-	lpDirectoryName = (*jnienv) -> GetStringUTFChars(jnienv, (jstring) obj, 0);

-

-	jstring result = NULL;

-

-	// Linux implementation following

-

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetType

- * Signature: (Ljava/io/File;)I

- */

-JNIEXPORT jint JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetType(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const char * lpDirectoryName;

-

-	// obtain the String from the parameter

-	cls = (*jnienv) -> GetObjectClass(jnienv, file);

-	id = (*jnienv) -> GetMethodID(jnienv, cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = (*jnienv) -> CallObjectMethod(jnienv, file, id);

-	lpDirectoryName = (*jnienv) -> GetStringUTFChars(jnienv, (jstring) obj, 0);

-

-	int result;

-	

-	// Linux implemantation

-

-	result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH;

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeListMountPoints

- * Signature: ()[Ljava/lang/String;

- */

-JNIEXPORT jobjectArray JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeListMountPoints(

-	JNIEnv * jnienv,

-	jclass javaClass) {

-

-	//

-	int drive;

-	char driveName[100];

-	jobjectArray returnArray;

-	int nDrive = 0;

-

-	// 

-	jclass stringClass;

-	jobject empty;

-	int index = 0;

-	jobject str;

-

-	// Linux implementation

-	// find mount points

-

-	drive = 0;

-	stringClass = (*jnienv) -> FindClass(jnienv, "java/lang/String");

-	empty = (*jnienv) -> NewStringUTF(jnienv, "");

-	//returnArray = (*jnienv) -> NewObjectArray(jnienv, nDrive, stringClass, empty);

-

-	// for now return null as method is not implemented

-	returnArray = NULL;

-

-	int i;

-	for (i = 0; i < drive; i++) {

-		// Linux implementation, create String for each mount point

-

-		str = (*jnienv) -> NewStringUTF(jnienv, driveName);

-		(*jnienv) -> SetObjectArrayElement(jnienv, returnArray, index, str);

-

-		index++;

-	}

-

-	return returnArray;

-}

diff --git a/update/org.eclipse.update.core.linux/src/update.h b/update/org.eclipse.update.core.linux/src/update.h
deleted file mode 100644
index fef0347..0000000
--- a/update/org.eclipse.update.core.linux/src/update.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */

-

-/*******************************************************************************

- * Copyright (c) 2000, 2002 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

- *******************************************************************************/

- 

-#include <jni.h>

-/* Header for class org_eclipse_update_configuration_LocalSystemInfo */

-

-#ifndef _Included_org_eclipse_update_configuration_LocalSystemInfo

-#define _Included_org_eclipse_update_configuration_LocalSystemInfo

-#ifdef __cplusplus

-extern "C" {

-#endif

-#undef org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN

-#define org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN -1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN -1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH -2L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE 1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FIXED

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FIXED 2L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOTE

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOTE 3L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_CDROM

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_CDROM 4L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_RAMDISK

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_RAMDISK 5L

-/* Inaccessible static: listeners */

-/* Inaccessible static: hasNatives */

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetFreeSpace

- * Signature: (Ljava/io/File;)J

- */

-JNIEXPORT jlong JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetFreeSpace

-  (JNIEnv *, jclass, jobject);

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetLabel

- * Signature: (Ljava/io/File;)Ljava/lang/String;

- */

-JNIEXPORT jstring JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetLabel

-  (JNIEnv *, jclass, jobject);

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetType

- * Signature: (Ljava/io/File;)I

- */

-JNIEXPORT jint JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetType

-  (JNIEnv *, jclass, jobject);

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeListMountPoints

- * Signature: ()[Ljava/lang/String;

- */

-JNIEXPORT jobjectArray JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeListMountPoints

-  (JNIEnv *, jclass);

-

-#ifdef __cplusplus

-}

-

-#endif

-#endif

diff --git a/update/org.eclipse.update.core.win32/.project b/update/org.eclipse.update.core.win32/.project
deleted file mode 100644
index 8c9b28f..0000000
--- a/update/org.eclipse.update.core.win32/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.core.win32</name>

-	<comment></comment>

-	<projects>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.pde.ManifestBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.SchemaBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.pde.PluginNature</nature>

-	</natures>

-</projectDescription>

diff --git a/update/org.eclipse.update.core.win32/about.html b/update/org.eclipse.update.core.win32/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/update/org.eclipse.update.core.win32/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/update/org.eclipse.update.core.win32/build.properties b/update/org.eclipse.update.core.win32/build.properties
deleted file mode 100644
index 99cd557..0000000
--- a/update/org.eclipse.update.core.win32/build.properties
+++ /dev/null
@@ -1,17 +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
-###############################################################################
-bin.includes = fragment.xml,\
-               os/,\
-               fragment.properties,\
-               about.html
-src.includes = fragment.xml,\
-               about.html,\
-               src/
diff --git a/update/org.eclipse.update.core.win32/fragment.xml b/update/org.eclipse.update.core.win32/fragment.xml
deleted file mode 100644
index 81d8e7b..0000000
--- a/update/org.eclipse.update.core.win32/fragment.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="org.eclipse.update.core.win32"
-   name="%fragmentNameWin"
-   version="3.0.0"
-   provider-name="%providerName"
-   plugin-id="org.eclipse.update.core"
-   plugin-version="3.0.0"
-   match="compatible">
-
-   <runtime>
-   </runtime>
-
-
-</fragment>
diff --git a/update/org.eclipse.update.core.win32/os/win32/x86/update.dll b/update/org.eclipse.update.core.win32/os/win32/x86/update.dll
deleted file mode 100644
index 428e60e..0000000
--- a/update/org.eclipse.update.core.win32/os/win32/x86/update.dll
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core.win32/src/build.xml b/update/org.eclipse.update.core.win32/src/build.xml
deleted file mode 100644
index 92286b7..0000000
--- a/update/org.eclipse.update.core.win32/src/build.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="buildlibrary" default="run" basedir="."> 
-  
-  <!-- The properties ${eclipse-home} ${jdk-path} should be passed into this script -->
-  <!-- The Path should point to the bin directory of BCC55 -->
-  <!-- http://www.borland.com/products/downloads/download_cbuilder.html -->
-  
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}/../.."/>
-  <property name="jdk-path" value="${java.home}"/>  
-  <property name="destination" value="${eclipse-home}/org.eclipse.update.core.win32/os/win32/x86/"/>
-  <property name="obj-path" value="${eclipse-home}/org.eclipse.update.core.win32/src"/>
-  <property name="src-path" value="${eclipse-home}/org.eclipse.update.core.win32/src/"/>  
-  
-  <!-- sets the properties -->
-  <property name="library-name" value="update"/>  
-  <property name="library-platform" value="dll"/>    
-  <property name="library-file" value="${library-name}.${library-platform}"/>
-  
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${obj-path}" includes="${library-file}"/>
-      <fileset dir="${obj-path}" includes="${library-name}.obj"/>
-      <fileset dir="${obj-path}" includes="${library-name}.tds"/>            
-    </delete>
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-      <delete>
-      <fileset dir="${obj-path}" includes="${library-file}"/>
-      <fileset dir="${obj-path}" includes="${library-name}.obj"/>
-      <fileset dir="${obj-path}" includes="${library-name}.tds"/>            
-    </delete>
-  </target>
-  
-  
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,build,cleanup">
-  </target>
-  
-  <!-- This target build the dll -->
-  <target name="build">
-    <echo message="Building ${library-file}"/>
-
-    <property name="header-path" value="${jdk-path}/include"/>
-    <property name="header-windows-path" value="${header-path}/win32" />
-
-	<echo message="bcc32 -I${src-path} -I${header-windows-path} -WD"/>
-
-    <apply executable="bcc32" dest="${eclipse-home}/" parallel="false">
-      <arg value="-I${src-path}"/>
-      <arg value="-I${header-path}"/>      
-      <arg value="-I${header-windows-path}"/> 
-      <!-- arg value="-DUNICODE" --> 
-	  <arg value="-w-8057"/>           
-      <arg value="-WD"/>
-	  <srcfile/>
-      <fileset dir="${src-path}" includes="*.cpp"/>
-      <mapper type="glob" from="*.cpp" to="*.obj"/>
-    </apply>
-    
-	<move file="${library-file}" todir="${destination}"/>
-  </target>
-  
-  
-</project>
\ No newline at end of file
diff --git a/update/org.eclipse.update.core.win32/src/update.cpp b/update/org.eclipse.update.core.win32/src/update.cpp
deleted file mode 100644
index cb27fd5..0000000
--- a/update/org.eclipse.update.core.win32/src/update.cpp
+++ /dev/null
@@ -1,487 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2002 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

- *******************************************************************************/

-

-# include <update.h>

-# include <windows.h>

-# include <winioctl.h> // IOCTL codes: MediaType

-

-// Windows Version

-int WIN98 = 0;

-int WINNT = 1;

-int WINME = 2;

-int WIN2000 = 3;

-int WINXP = 4;

-

-// set to 1 for DEBUG

-int DEBUG = 0;

-

-// set to 0 to run on Windows 95 *Unsupported*

-int NOWIN95 = 1;

-

-

-// GLOBAL METHODS

-// ---------------

-

-/*

- *

- */

-jstring WindowsTojstring( JNIEnv* jnienv, char* buf )

-{

-  jstring rtn = 0;

-  wchar_t* buffer = 0;

-  int bufferLen = strlen(buf);  

-  if( bufferLen == 0 ){

-    rtn = jnienv ->NewStringUTF(buf);

-	if (DEBUG)

-		printf("WindowsToJString Buffer is empty\n");    

-  } else {

-    int length = MultiByteToWideChar( CP_ACP, 0, (LPCSTR)buf, bufferLen, NULL, 0 );

-    buffer = (wchar_t*)malloc( length*2 + 1 );

-    if(int err=MultiByteToWideChar( CP_ACP, 0, (LPCSTR)buf, bufferLen, (LPWSTR)buffer, length ) >0 ){

-      rtn = jnienv->NewString((jchar*)buffer, length );

-    } else {

-		if (DEBUG)

-			printf("MultiByteToWideChar %i\n",err);    

-    }

-  }

-  if( buffer )

-   free( buffer );

-  return rtn;

-}

-

-

-

-/*

- * calls GetVolumeInformation to retrive the label of the volume

- * Returns NULL if an error occurs

- * @param driveLetter path to the drive "c:\\"

- * @prama jnienv JNIEnvironment

- */

-jstring getLabel(TCHAR driveLetter[],JNIEnv * jnienv){

-

-	jstring result = NULL;

-	TCHAR buf[128];	

-	

-	// always return null as UNICODE is not implemented

-	// how can we get the label of a volume as UNICODE char ?

-	return result;

-	

-	int err = GetVolumeInformation(

-		driveLetter,

-		buf,

-		sizeof(buf) - 1,

-		NULL,

-		NULL,

-		NULL,

-		NULL,

-		0);

-	if (err){

-		result = WindowsTojstring(jnienv, buf);

-	} else {

-		if (DEBUG)

-			printf("Error GetVolumeInformation %i\n",err);				

- 	}

-	return result;

-}

-

-/*

- * returns the Version of Windows

- * int 0 WIN98;

- * int 1 WINNT;

- * int 2 WINME;

- * int 3 WIN2000;

- * int 4 WINXP;

- * returns -1 otherwise

- */

-int getWindowsVersion(){

-	OSVERSIONINFOEX osvi;

-	int UNKNOWN = -1;

-	

-	ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));

-	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);

-	

-	if(!(GetVersionEx((OSVERSIONINFO *)&osvi))){

-		if (DEBUG)

-			printf("UNKNOWN VERSION: Cannot execute GetVersionEx\n");

-		// if OSVERSIONEX doesn't work, try OSVERSIONINFO

-		osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);			 	

-		if(!(GetVersionEx((OSVERSIONINFO *)&osvi))){

-		if (DEBUG)

-			printf("UNKNOWN VERSION: Cannot execute GetVersionEx\n");

-			return UNKNOWN;

-		}

-	}

-	

-	switch(osvi.dwPlatformId){

-		case VER_PLATFORM_WIN32_NT:

-			if (DEBUG)

-				printf("VERSION NT: Maj %i Min %i\n",osvi.dwMajorVersion,osvi.dwMinorVersion);				 	

-			if(osvi.dwMajorVersion<=4)

-				return WINNT;

-			if(osvi.dwMajorVersion==5){

-				if (osvi.dwMinorVersion==0)

-					return WIN2000;

-				if (osvi.dwMinorVersion==1)

-					return WINXP;

-			} else {

-				return UNKNOWN;

-			};

-			break;

-		case VER_PLATFORM_WIN32_WINDOWS:

-			if (DEBUG)

-				printf("VERSION Non NT: Maj %i Min %i\n",osvi.dwMajorVersion,osvi.dwMinorVersion);				 	

-			if(osvi.dwMajorVersion==4){

-				if (osvi.dwMinorVersion==10)

-					return WIN98;

-				if (osvi.dwMinorVersion==90)

-					return WINME;

-			} else {

-				return UNKNOWN;

-			}

-			break;

-		default:

-			if (DEBUG)

-				printf("VERSION UNKNOWN: Maj %i Min %i\n",osvi.dwMajorVersion,osvi.dwMinorVersion);				 	

-			return UNKNOWN;

-	}

-	return UNKNOWN;

-} 

-

-/*

- * Returns the type of Removable Drive 

- * Returns 

- * org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_3

- * org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_5

- * org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE

- */

-jlong getFloppy(TCHAR driveLetter[]){

-

-	TCHAR floppyPath[8];

-	HANDLE handle;

-	DISK_GEOMETRY geometry[20];

-	DWORD dw;

-	jlong UNKNOWN = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE;

-

-	sprintf(floppyPath, "\\\\.\\%c:", driveLetter[0]);

-	if (DEBUG)

-		printf("Path %s\n",floppyPath);

-	// BUG 25719

-    SetErrorMode( SEM_FAILCRITICALERRORS ); 		

-	handle=CreateFile(floppyPath,0,FILE_SHARE_READ,NULL,OPEN_ALWAYS,0,NULL);

-	if (handle==INVALID_HANDLE_VALUE){

-		if (DEBUG)

-			printf("Invalid Handle %s\n",floppyPath);

-		return UNKNOWN;

-	} else {

-		if(DeviceIoControl(handle,

-			IOCTL_DISK_GET_MEDIA_TYPES,0,0,

-			geometry,sizeof(geometry),&dw,0) 

-			&& dw>0) {

-			switch(geometry[0].MediaType){

-			 case F5_160_512:

-			 case F5_180_512:

-			 case F5_320_512:

-			 case F5_320_1024:

-			 case F5_360_512:

-			 case F5_1Pt2_512:

-				if (DEBUG)

-					printf("Found 5 1/4 Drive\n");				 	

-			 	return org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_5;

-			 case F3_720_512:			 				 				 				 				 

-			 case F3_1Pt44_512:

-			 case F3_2Pt88_512:

-			 case F3_20Pt8_512:				 				 				 

-				if (DEBUG)

-					printf("Found 3 1/2 Drive\n");				 	

-			 	return org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_3;

-			 default:

-			 	return UNKNOWN;

-			}

-		}

-	}

-	return UNKNOWN;	

-}

-

-/*

- * Returns the UNC name of a remote drive

- * (\\Machine\path\path1\path2$)

- * returns NULL if an error occurs

- */

- jstring getRemoteNetworkName(TCHAR driveLetter[],JNIEnv * jnienv){

- 	

- 	unsigned long size =256;

- 	TCHAR buf[256];	

- 	TCHAR drivePath[2];

- 	DWORD err;

- 	jstring result = NULL;

- 	

- 	// always return NULL as UNICODE not implemented

-	// how can we get the label of a remote network name as UNICODE char ? 	

- 	return result;

- 	

-	sprintf(drivePath, "%c:", driveLetter[0]); 	

- 	err = WNetGetConnection(drivePath,buf,&size);

- 	

- 	if (err==WN_SUCCESS){

-		result = WindowsTojstring(jnienv,buf);

-	} else {

-		if (DEBUG)

-			printf("Error WNEtGetConnection %i",err);				

- 	}

-	return result;

- }

-

-

-// JNI METHODS

-// ---------------

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetFreeSpace

- * Signature: (Ljava/io/File;)J

- */

-JNIEXPORT jlong JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetFreeSpace(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const TCHAR * lpDirectoryName;

-

-	// Windows Parameters

-	__int64 i64FreeBytesAvailableToCaller;

-	__int64 i64TotalNumberOfBytes;

-	__int64 i64TotalNumberOfFreeBytes;

-

-	// the result

-	jlong result = org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN;

-

-	// first, obtain the Path from the java.io.File parameter

-	cls = jnienv -> GetObjectClass(file);

-	id = jnienv -> GetMethodID(cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = jnienv -> CallObjectMethod(file, id);

-	lpDirectoryName = jnienv -> GetStringUTFChars((jstring) obj, 0);

-	if (DEBUG)

-		printf("Directory: [%s]\n",lpDirectoryName);

-

-	if (int win = (int)getWindowsVersion()<0 && NOWIN95){

-		// windows 95 or other

-		if (DEBUG)

-			printf("Unsupported Windows: %i\n",win);		

-		return result;

-	}

-

-	int err = GetDiskFreeSpaceEx(

-				lpDirectoryName,

-				(PULARGE_INTEGER) & i64FreeBytesAvailableToCaller,

-				(PULARGE_INTEGER) & i64TotalNumberOfBytes,

-				(PULARGE_INTEGER) & i64TotalNumberOfFreeBytes);

-			

-	if (err) {

-		result = (jlong) i64FreeBytesAvailableToCaller;

-	}

-

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetLabel

- * Signature: (Ljava/io/File;)Ljava/lang/String;

- */

-JNIEXPORT jstring JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetLabel(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const TCHAR * lpDirectoryName;

-

-	// obtain the String from the parameter

-	cls = jnienv -> GetObjectClass(file);

-	id = jnienv -> GetMethodID(cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = jnienv -> CallObjectMethod(file, id);

-	lpDirectoryName = jnienv -> GetStringUTFChars((jstring) obj, 0);

-	if (DEBUG)

-		printf("Directory: [%s]\n",lpDirectoryName);

-

-	//

-	jstring result = NULL;

-	int floppy;

-	

-	if (int win = (int)getWindowsVersion()<0 && NOWIN95){

-		// windows 95 or other

-		if (DEBUG)

-			printf("Unsupported Windows: %i\n",win);		

-		return result;

-	}

-		

-	// Make sure we have a String of the Form: <letter>:

-	if (':' == lpDirectoryName[1]) {

-		TCHAR driveLetter[4]; // i.e. -> C:\\

-		memcpy(driveLetter, lpDirectoryName, 2);

-		strcpy(driveLetter + 2, "\\");

-		switch (GetDriveType(driveLetter)) {

-			case DRIVE_REMOTE :

-				// check name of machine and path of remote

-				if (DEBUG)

-					printf("Remote Drive");

-				result = getRemoteNetworkName(driveLetter,jnienv);				

-				break;

-			default :

-				if (DEBUG)

-					printf("Another Drive at %s", driveLetter);

-				result = getLabel(driveLetter,jnienv);

-				break;

-		} 

-	} 

-

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetType

- * Signature: (Ljava/io/File;)I

- */

-JNIEXPORT jint JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetType(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const TCHAR * lpDirectoryName;

-

-	// obtain the String from the parameter

-	cls = jnienv -> GetObjectClass(file);

-	id = jnienv -> GetMethodID(cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = jnienv -> CallObjectMethod(file, id);

-	lpDirectoryName = jnienv -> GetStringUTFChars((jstring) obj, 0);

-	if (DEBUG)

-		printf("Directory: [%s]\n",lpDirectoryName);

-

-	int result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN;

-	if (int win = (int)getWindowsVersion()<0 && NOWIN95){

-		// windows 95 or other

-		if (DEBUG)

-			printf("Unsupported Windows: %i\n",win);		

-		return result;

-	}

-	

-	// Make sure we have a String of the Form: <letter>:

-	if (':' == lpDirectoryName[1]) {

-		TCHAR driveLetter[4]; //C:\\

-		memcpy(driveLetter, lpDirectoryName, 2);

-		strcpy(driveLetter + 2, "\\");

-

-		switch (GetDriveType(driveLetter)) {

-			case DRIVE_REMOVABLE :

-				// check if floppy 3.5, floppy 5.25	

-				// or other removable device (USB,PCMCIA ...)

-				if (DEBUG)

-					printf("Removable Device");

-				result = getFloppy(driveLetter);					

-				break;

-			case DRIVE_CDROM :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_CDROM;

-				break;

-			case DRIVE_FIXED :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FIXED;

-				break;

-			case DRIVE_REMOTE :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOTE;

-				break;

-			case DRIVE_NO_ROOT_DIR :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH;

-				break;

-			case DRIVE_RAMDISK :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_RAMDISK;

-				break;			

-			case DRIVE_UNKNOWN :

-			default :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN;

-				break;

-		}

-	} else {

-		result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH;

-	}

-

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeListMountPoints

- * Signature: ()[Ljava/lang/String;

- */

-JNIEXPORT jobjectArray JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeListMountPoints(

-	JNIEnv * jnienv,

-	jclass javaClass) {

-

-	//

-	DWORD logDrives;

-	UINT drive;

-	TCHAR driveName[100];

-	jobjectArray returnArray;

-	int nDrive = 0;

-

-	// 

-	jclass stringClass;

-	jobject empty;

-	int index = 0;

-	jobject str;

-

-

-	logDrives = GetLogicalDrives();

-	for (drive = 0; drive < 32; drive++) {

-		if (logDrives & (1 << drive)) {

-			nDrive++;

-		}

-	}

-

-	stringClass = jnienv -> FindClass("java/lang/String");

-	empty = jnienv -> NewStringUTF("");

-	returnArray = jnienv -> NewObjectArray(nDrive, stringClass, empty);

-

-	if (int win = (int)getWindowsVersion()<0 && NOWIN95){

-		// windows 95 or other

-		if (DEBUG)

-			printf("Unsupported Windows: %i\n",win);	

-		return NULL;

-	}

-

-	for (drive = 0; drive < 32; drive++) {

-		if (logDrives & (1 << drive)) {

-			sprintf(driveName, "%c:\\", drive + 'A');

-			str = jnienv -> NewStringUTF(driveName);

-			jnienv -> SetObjectArrayElement(returnArray, index, str);

-			index++;

-		}

-	}

-

-	return returnArray;

-}

-

diff --git a/update/org.eclipse.update.core.win32/src/update.h b/update/org.eclipse.update.core.win32/src/update.h
deleted file mode 100644
index 35673d1..0000000
--- a/update/org.eclipse.update.core.win32/src/update.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-
-/*******************************************************************************
- * Copyright (c) 2000, 2002 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
- *******************************************************************************/
-#include <jni.h>

-/* Header for class org_eclipse_update_configuration_LocalSystemInfo */
-
-#ifndef _Included_org_eclipse_update_configuration_LocalSystemInfo
-#define _Included_org_eclipse_update_configuration_LocalSystemInfo

-#ifdef __cplusplus
-extern "C" {
-#endif

-#undef org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN
-#define org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN -1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN -1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH -2L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE 1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FIXED
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FIXED 2L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOTE
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOTE 3L
-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_CDROM
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_CDROM 4L
-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_RAMDISK
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_RAMDISK 5L
-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_5
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_5 6L
-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_3
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_3 7L

-/* Inaccessible static: listeners */

-/* Inaccessible static: hasNatives */

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetFreeSpace

- * Signature: (Ljava/io/File;)J

- */

-JNIEXPORT jlong JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetFreeSpace

-  (JNIEnv *, jclass, jobject);
-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetLabel

- * Signature: (Ljava/io/File;)Ljava/lang/String;

- */

-JNIEXPORT jstring JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetLabel

-  (JNIEnv *, jclass, jobject);
-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetType

- * Signature: (Ljava/io/File;)I

- */

-JNIEXPORT jint JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetType

-  (JNIEnv *, jclass, jobject);
-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeListMountPoints

- * Signature: ()[Ljava/lang/String;

- */

-JNIEXPORT jobjectArray JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeListMountPoints

-  (JNIEnv *, jclass);
-

-#ifdef __cplusplus
-}
-
-#endif

-#endif

diff --git a/update/org.eclipse.update.examples/.classpath b/update/org.eclipse.update.examples/.classpath
deleted file mode 100644
index b48fe2a..0000000
--- a/update/org.eclipse.update.examples/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src/"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="src" path="/org.eclipse.update.core"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.examples/.cvsignore b/update/org.eclipse.update.examples/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.examples/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/.project b/update/org.eclipse.update.examples/.project
deleted file mode 100644
index 39cb54a..0000000
--- a/update/org.eclipse.update.examples/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.examples</name>

-	<comment></comment>

-	<projects>

-		<project>org.apache.xerces</project>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.update.core</project>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.jdt.core.javabuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.ui.ManifestBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.ui.SchemaBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.jdt.core.javanature</nature>

-		<nature>org.eclipse.pde.ui.PluginNature</nature>

-		<nature>org.eclipse.team.cvs.core.cvsnature</nature>

-	</natures>

-</projectDescription>

diff --git a/update/org.eclipse.update.examples/Scrapbook2.jpage b/update/org.eclipse.update.examples/Scrapbook2.jpage
deleted file mode 100644
index b5da99a..0000000
--- a/update/org.eclipse.update.examples/Scrapbook2.jpage
+++ /dev/null
@@ -1,111 +0,0 @@
-SiteManager.getSite(URL)throws CoreException

-  String type = getTypeForprotocol(URL.getprotocol);

-  try {

-    if (type != null){

-	attemptCreationSite(type,URL);

-    } else {

-	attemptCreationSite("http",URL);

-    }

-  } catch (CoreException e){

-    throw new CoreException("Cannot create site",e.getMessage());

-  }

-

-SiteManager.attemptCreationSite(type,URL)throws CoreException

-  try {

-    createSite(type,URL);

-  } catch (InvalidTypeException e){

-    try {

-      createSite(e.getRealType(),URL);

-    } catch (InvalidSiteExeption e){

-      throw new CoreException("Wrong site type");

-    }

-  }

-

-SiteManager.createSite(type,URL) throws CoreExeption, InvalidSiteTypeException

-

-

-try {

-			

-	factory.createSite(url, forceCreation);

-	

-} catch (IOException e) {

-	// if the URL is pointing to either a file 

-// or a directory, without reference			

-if (url.getRef() != null) {

-	// 4 nothing we can do

-	throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);

-} else if (url.getFile().endsWith("/")) {

-	// 1 try to add site.xml

-	try {

-		url = new URL(url,Site.SITE_XML);

-	} catch (MalformedURLException e1){

-		throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);

-	}

-	try {

-		site = factory.createSite(url, forceCreation);

-	} catch (ParsingException e1){

-		throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);					

-	} catch (IOException e1){

-		throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);					

-	}

-} else if (url.getFile().endsWith(Site.SITE_XML)) {

-	// 3 nothing we can do

-	throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);

-} else {

-	// 2 try to add /site.xml

-	try {

-		url = new URL(url.getProtocol(),url.getHost(), url.getPort(), url.getFile()+"/"+Site.SITE_XML);

-	} catch (MalformedURLException e1){

-		throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);

-	}

-	

-	try {

-		site = factory.createSite(url, forceCreation);

-	} catch (ParsingException e1){

-		throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Input/Output Error:"+e.getMessage(),e1);					

-	} catch (IOException e1){

-		throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Input/Output Error:"+e.getMessage(),e1);					

-				}				

-			}

-

-		} catch (ParsingException e) {

-			

-			// if the URL is pointing to either a file 

-// or a directory, without reference			

-if (url.getRef() != null) {

-	// 4 nothing we can do

-	throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);

-} else if (url.getFile().endsWith("/")) {

-	// 1 try to add site.xml

-	try {

-		url = new URL(url,Site.SITE_XML);

-	} catch (MalformedURLException e1){

-		throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);

-	}

-	try {

-		site = factory.createSite(url, forceCreation);

-	} catch (ParsingException e1){

-		throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);					

-	} catch (IOException e1){

-		throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);

-				}				

-

-			} else if (url.getFile().endsWith(Site.SITE_XML)) {

-				// 3 nothing we can do

-	throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);					

-} else {

-	// 2 try to add /site.xml

-	

-	try {

-		url = new URL(url.getProtocol(),url.getHost(), url.getPort(), url.getFile()+"/"+Site.SITE_XML);

-	} catch (MalformedURLException e1){

-		throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);

-	}

-	try {

-		site = factory.createSite(url, forceCreation);

-	} catch (ParsingException e1){

-		throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Parsing error:"+e.getMessage(),e1);					

-	} catch (IOException e1){

-		throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Parsing error:"+e.getMessage(),e1);

-	

-

diff --git a/update/org.eclipse.update.examples/about.html b/update/org.eclipse.update.examples/about.html
deleted file mode 100644
index 768324e..0000000
--- a/update/org.eclipse.update.examples/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>

-<head>

-<title>About</title>

-<style type="text/css">

-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}

-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}

-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}

-code { font-family: "Courier New", Courier, mono; font-size: 10pt}

-sup { font-family: arial,helvetica,geneva; font-size: 10px}

-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}

-li { font-family: arial, helvetica, geneva; font-size: 10pt}

-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}

-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect(   ); margin-top: 5mm; margin-left: 3mm}

-</style>

-</head>

-<body lang="EN-US" link="blue" vlink="purple">

-<table border="0" cellspacing="5" cellpadding="2" width="100%" >

-  <tr> 

-    <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

-<p>11th December, 2001</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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> &quot;CPL&quot;.  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>

-</td></tr></table>

-</body>

-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/build.properties b/update/org.eclipse.update.examples/build.properties
deleted file mode 100644
index fda21a6..0000000
--- a/update/org.eclipse.update.examples/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-source.updateexamplescore.jar = src/

-src.includes=about.html

-bin.includes=plugin.xml,plugin.properties,*.jar,about.html

diff --git a/update/org.eclipse.update.examples/plugin.properties b/update/org.eclipse.update.examples/plugin.properties
deleted file mode 100644
index 9a31f8c..0000000
--- a/update/org.eclipse.update.examples/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-

-name = Install/Update BuildZip Example

-provider-name = Eclipse.org
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/plugin.xml b/update/org.eclipse.update.examples/plugin.xml
deleted file mode 100644
index e8b4092..0000000
--- a/update/org.eclipse.update.examples/plugin.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin

-   id="org.eclipse.update.examples"

-   name="%name"

-   version="2.0.0"

-   provider-name="%provider-name">

-

-   <runtime>

-      <library name="updateexamples.jar">

-         <export name="*"/>

-      </library>

-   </runtime>

-   <requires>

-      <import plugin="org.eclipse.core.runtime"/>

-      <import plugin="org.apache.xerces"/>

-      <import plugin="org.eclipse.core.boot"/>

-      <import plugin="org.eclipse.update.core"/>

-   </requires>

-

-

-   <extension

-         id="zip"

-         point="org.eclipse.update.core.featureTypes">

-      <feature-factory

-            class="org.eclipse.update.examples.buildzip.BuildZipFeatureFactory">

-      </feature-factory>

-   </extension>

-   <extension

-         id="site.zip"

-         point="org.eclipse.update.core.siteTypes">

-      <site-factory

-            class="org.eclipse.update.examples.buildzip.BuildZipSiteFactory">

-      </site-factory>

-   </extension>

-   <extension

-         id="site.freeform"

-         point="org.eclipse.update.core.siteTypes">

-      <site-factory

-            class="org.eclipse.update.examples.freeform.FreeFormSiteFactory">

-      </site-factory>

-   </extension>

-

-</plugin>

diff --git a/update/org.eclipse.update.examples/site/features/com.reddot.reddot_1.0.0.jar b/update/org.eclipse.update.examples/site/features/com.reddot.reddot_1.0.0.jar
deleted file mode 100644
index 06507a7..0000000
--- a/update/org.eclipse.update.examples/site/features/com.reddot.reddot_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/site/features/com.reddot.reddot_2.0.0.jar b/update/org.eclipse.update.examples/site/features/com.reddot.reddot_2.0.0.jar
deleted file mode 100644
index 7236815..0000000
--- a/update/org.eclipse.update.examples/site/features/com.reddot.reddot_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/site/info/images/redDot.jpg b/update/org.eclipse.update.examples/site/info/images/redDot.jpg
deleted file mode 100644
index f0fb5c3..0000000
--- a/update/org.eclipse.update.examples/site/info/images/redDot.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/site/info/siteInfo.html b/update/org.eclipse.update.examples/site/info/siteInfo.html
deleted file mode 100644
index ceca97d..0000000
--- a/update/org.eclipse.update.examples/site/info/siteInfo.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!-- saved from url=(0040)http://dejan/testSite/info/siteInfo.html -->
-<HTML><HEAD>
-<META http-equiv=Content-Type content="text/html; charset=windows-1252">
-<META content="MSHTML 5.50.4807.2300" name=GENERATOR></HEAD>
-<BODY>
-<H1 align=left><IMG height=55 src="images/redDot.jpg" width=56 
-align=center border=0> <FONT color=#c0c0c0>Follow the Red Dot&nbsp;</FONT></H1>
-<P>Welcome to the <B><FONT color=#800000>Red Dot</FONT> </B>update site. Use 
-your Eclipse <B>Update Sites</B> view to locate the feature version you want to 
-install or update to.</P>
-<H2>About Red Dot Feature</H2>
-<P>Our revolutionary Red Dot Eclipse feature changed all preconceptions about 
-what Eclipse features can and cannot do. Using our strikingly simple concept of 
-adding buttons to the Eclipse tool bar, we allow you to open dialogs that show 
-you the version of the Red Dot feature. The beauty of the concept stems from its 
-simplicity, ease of use, high performance and small footprint. Never before was 
-it so easy to press a button on the tool bar to get some text shown in the 
-dialog.</P>
-<H2>News</H2>
-<UL>
-  <LI><B>November 2001</B> - version 2.0.0 of the Red Dot feature is available 
-  for download. This version brings improvements across the board, further 
-  strengthening an already established Eclipse feature classic. Improvements 
-  will be visible the moment you update your feature - our famous red dot tool 
-  bar button is now <B>25% more red</B>, making it even easier to spot among 
-  other buttons. 
-  <LI><B>October 2001</B> - version 1.0.0 of the Red Dot feature is available 
-  for download. Select it in the 'Sites' view of the Update Manager and press 
-  'Install' button. </LI></UL>
-<HR>
-<I>Copyright 2001 Red Dot Corporation Ltd. All rights reserved.</I> 
-</BODY></HTML>
diff --git a/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_1.0.0.jar b/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_1.0.0.jar
deleted file mode 100644
index c88b793..0000000
--- a/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_2.0.0.jar b/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_2.0.0.jar
deleted file mode 100644
index da31ad3..0000000
--- a/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/site/site.xml b/update/org.eclipse.update.examples/site/site.xml
deleted file mode 100644
index b091324..0000000
--- a/update/org.eclipse.update.examples/site/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<site>
-   <description url="info/siteInfo.html"/>
-
-   <feature url="features/com.reddot.reddot_1.0.0.jar">
-      <category name="reddot"/>
-   </feature>
-
-   <feature url="features/com.reddot.reddot_2.0.0.jar">
-      <category name="reddot"/>
-   </feature>
-
-   <category-def label="Red Dot Versions" name="reddot">
-      <description url="info/RedDotVersions.html">
-         This category contains all of the currently available versions of Red Dot feature.
-      </description>
-   </category-def>
-
-</site>   
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java
deleted file mode 100644
index e81ec2a..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */ 

- 

-import java.io.File;

-import java.io.FileOutputStream;

-import java.io.IOException;

-import java.io.InputStream;

-import java.io.StringBufferInputStream;

-import java.net.URL;

-import java.util.Properties;

-import java.util.jar.JarEntry;

-import java.util.jar.JarOutputStream;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.ContentReference;

-import org.eclipse.update.core.IFeature;

-import org.eclipse.update.core.IFeatureContentProvider;

-import org.eclipse.update.core.IPluginEntry;

-import org.eclipse.update.core.JarContentReference;

-import org.eclipse.update.core.model.InstallAbortedException;

-

-/**

- * Converts eclipse build .zip files into packaged feature

- */

-public class BuildZipConverter {

-

-	public static void main(String[] args) {

-		if (args.length <=0) {

-			System.out.println("Usage:     BuildZipConverter <path to the zip file>.\r\nExample: BuildZipConverter d:/download/integration-eclipse-SDK-20020109-win32.zip");

-			return;

-		}

-		try {

-			URL buildzip = new URL(("file:"+args[0]).replace(File.separatorChar, '/'));

-			BuildZipFeatureFactory factory = new BuildZipFeatureFactory();

-			IFeature feature = factory.createFeature(buildzip, null);

-			IFeatureContentProvider provider = feature.getFeatureContentProvider();

-			

-			ContentReference[] refs = provider.getFeatureEntryContentReferences(null);

-			

-			File site = new File((args[0]+".packaged/").replace('/',File.separatorChar));

-			site.mkdirs();

-			File featuresDir = new File(site,"features");

-			featuresDir.mkdirs();

-			File pluginsDir = new File(site, "plugins");

-			pluginsDir.mkdirs();

-			

-			File jarFile = new File(featuresDir,feature.getVersionedIdentifier()+".jar");

-			System.out.println("writing feature archive: "+feature.getVersionedIdentifier()+".jar");

-			writeJar(jarFile, refs, feature, null, null);

-			JarContentReference jar = new JarContentReference("build.zip",buildzip);

-			Properties manifest = getBuildManifest(jar);

-			

-			IPluginEntry[] plugins = feature.getPluginEntries();

-			for (int i=0; i<plugins.length; i++) {

-				refs = provider.getPluginEntryContentReferences(plugins[i], null);

-				jarFile = new File(pluginsDir,plugins[i].getVersionedIdentifier()+".jar");

-				System.out.println("writing plugin archive: "+plugins[i].getVersionedIdentifier()+".jar");

-				writeJar(jarFile, refs, feature, plugins[i].getVersionedIdentifier().getIdentifier(), manifest);

-			}

-			

-			writeSiteManifest(site, feature);

-		} catch(Exception e) {

-			e.printStackTrace();

-		}

-	}

-	

-	public static void writeJar(File jarFile,ContentReference[] refs, IFeature feature, String pluginId, Properties manifest) {

-			

-		JarOutputStream jos = null;

-		FileOutputStream os = null;

-		InputStream is = null;

-		

-		try {

-			os = new FileOutputStream(jarFile);

-			jos = new JarOutputStream(os);

-			JarEntry entry = null;

-			String buf = null;

-			StringBufferInputStream sbis = null;

-			

-			// write jar manifest (first entry in output stream)

-			buf = "Manifest-Version: 1.0\nCreated-By: 2.0.0 (www.eclipse.org Feature Packager)\n";

-			sbis = new StringBufferInputStream(buf);

-			entry = new JarEntry("META-INF/MANIFEST.MF");

-			jos.putNextEntry(entry);

-			Utilities.copy(sbis,jos,null);

-			sbis.close();

-			

-			// jar up the references

-			for (int i=0; i<refs.length; i++) {

-				String id = refs[i].getIdentifier();

-				entry = new JarEntry(id);

-				jos.putNextEntry(entry);

-				is = refs[i].getInputStream();

-				Utilities.copy(is,jos,null);

-				is.close(); is = null;

-			}

-			

-			// for plugin jars, write build manifest

-			if (pluginId != null && manifest != null) {

-				String key = "plugin@"+pluginId;

-				String value = manifest.getProperty(key);

-				if (value != null) {

-					if (value.equals("HEAD")) {

-						value += "-" + feature.getVersionedIdentifier().getVersion().getMajorComponent();

-					}

-					buf = key + "=" + value;

-					sbis = new StringBufferInputStream(buf);

-					entry = new JarEntry("buildmanifest.properties");

-					jos.putNextEntry(entry);

-					Utilities.copy(sbis,jos,null);

-					sbis.close();

-				}

-			}

-			

-			// close jar

-			jos.close(); jos = null; os = null;

-		} catch(Exception e) {

-			e.printStackTrace();

-		} finally {

-			if (is != null) 

-				try {is.close();} catch(IOException e) {}

-				

-			if (jos != null) 

-				try {jos.close();} catch(IOException e) {}

-			else if (os != null)

-				try {os.close();} catch(IOException e) {}

-		}		

-	}

-	

-	public static void writeSiteManifest(File site, IFeature feature) throws IOException, InstallAbortedException {

-		File manifest = new File(site, "site.xml");

-		FileOutputStream os = new FileOutputStream(manifest);

-		String siteXML = "<site>\n   <feature url=\"features/"+feature.getVersionedIdentifier().toString()+".jar\"/>\n</site>";

-		StringBufferInputStream sbis = new StringBufferInputStream(siteXML);

-		Utilities.copy(sbis,os,null);

-		os.close();

-		sbis.close();

-	}

-	

-	public static Properties getBuildManifest(JarContentReference jar) throws IOException {

-		ContentReference manifestEntry = jar.peek("eclipse/buildmanifest.properties",null/*ContentSelector*/, null/*ProgressMonitor*/);

-		InputStream is = null;

-		Properties props = null;

-		try {

-			props = new Properties();

-			is = manifestEntry.getInputStream();

-			props.load(is);

-		} finally {

-			if (is != null) try{ is.close(); } catch(IOException e) {}

-		}

-		return props;

-	}

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java
deleted file mode 100644
index a0f1c0e..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java
+++ /dev/null
@@ -1,256 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */ 

-

-import java.io.File;

-import java.io.FileOutputStream;

-import java.io.IOException;

-import java.net.URL;

-import java.util.jar.JarEntry;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.ContentReference;

-import org.eclipse.update.core.FeatureContentProvider;

-import org.eclipse.update.core.IFeatureContentProvider;

-import org.eclipse.update.core.INonPluginEntry;

-import org.eclipse.update.core.IPluginEntry;

-import org.eclipse.update.core.IVerifier;

-import org.eclipse.update.core.InstallMonitor;

-import org.eclipse.update.core.JarContentReference;

-import org.eclipse.update.core.JarContentReference.ContentSelector;

-import org.eclipse.update.core.model.FeatureModel;

-import org.eclipse.update.core.model.InstallAbortedException;

-

-/**

- * An example feature content provider. It handles features packaged as

- * build zip's using the format used for integration and stable builds

- * posted on the downloads pages at www.eclipse.org

- * </p>

- * @since 2.0

- */

-

-public class BuildZipFeatureContentProvider extends FeatureContentProvider implements IFeatureContentProvider {

-

-	private JarContentReference baseReference;

-	private ContentReference generatedFeatureManifest;	

-	private ContentReference[] featureEntryContentReferences;

-	private IPluginEntry currentPluginEntry;

-	private INonPluginEntry currentNonPluginEntry;

-	

-	public BuildZipFeatureContentProvider(URL base) {

-		super(base);

-		this.baseReference = new JarContentReference("build.zip",base);

-	}

-	

-	/*

-	 * @see IFeatureContentProvider#getFeatureManifest()

-	 */

-	public ContentReference getFeatureManifestReference(InstallMonitor monitor) throws CoreException {

-		if (generatedFeatureManifest == null) {

-			throw newCoreException("Feature manifest is not available",null);

-		}

-		else

-			return generatedFeatureManifest;

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getArchiveReferences()

-	 */

-	public ContentReference[] getArchiveReferences(InstallMonitor monitor) {

-		// the feature and all its plugins files are packaged in a single archive

-		return new ContentReference[] { baseReference };

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getFeatureEntryArchiveReferences()

-	 */

-	public ContentReference[] getFeatureEntryArchiveReferences(InstallMonitor monitor) {

-		// the feature and all its plugins files are packaged in a single archive

-		return new ContentReference[] { baseReference };

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getPluginEntryArchiveReferences(IPluginEntry)

-	 */

-	public ContentReference[] getPluginEntryArchiveReferences(IPluginEntry pluginEntry, InstallMonitor monitor) {

-		// the feature and all its plugins files are packaged in a single archive

-		return new ContentReference[] { baseReference };

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getNonPluginEntryArchiveReferences(INonPluginEntry)

-	 */

-	public ContentReference[] getNonPluginEntryArchiveReferences(INonPluginEntry nonPluginEntry, InstallMonitor monitor) 

-		throws CoreException {

-		try {

-			return peekNonPluginEntryContent(nonPluginEntry,monitor);

-		} catch(IOException e) {

-			throw newCoreException("Unable to return content for non plugin entry "+nonPluginEntry.getIdentifier(),e);

-		}

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getFeatureEntryContentReferences()

-	 */

-	public ContentReference[] getFeatureEntryContentReferences(InstallMonitor monitor) {

-		if (featureEntryContentReferences == null)

-			return new ContentReference[0];

-		else

-			return  featureEntryContentReferences;

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getPluginEntryContentReferences(IPluginEntry)

-	 */

-	public ContentReference[] getPluginEntryContentReferences(IPluginEntry pluginEntry, InstallMonitor monitor)

-		throws CoreException {

-		try {

-			return peekPluginEntryContent(pluginEntry, monitor);

-		} catch(IOException e) {

-			throw newCoreException("Unable to return content for plugin entry "+pluginEntry.getVersionedIdentifier(),e);

-		}

-	}

-	

-	public URL getFeatureBaseURL() throws IOException {

-		return getWorkingDirectory().toURL();

-			

-	}

-

-	ContentReference getFeatureBuildManifest() throws Exception {

-		return baseReference.peek("eclipse/buildmanifest.properties",null/*ContentSelector*/, null/*ProgressMonitor*/);

-	}

-

-	ContentReference getPluginManifest(String pluginId, boolean isFragment) throws Exception {			

-		String manifestName = "eclipse/plugins/" + pluginId + "/" + (isFragment ? "fragment.xml" : "plugin.xml");

-		return baseReference.peek(manifestName, null/*ContentSelector*/, null/*ProgressMonitor*/);

-	}

-	

-	void unpackFeatureEntryContent(FeatureModel feature, InstallMonitor monitor) throws IOException, InstallAbortedException {

-			

-		// define selector for feature entry files

-		ContentSelector selector = new ContentSelector() {

-			public boolean include(JarEntry jarEntry) {

-				if (jarEntry.isDirectory())

-					return false;					

-				String entry = jarEntry.getName();

-				if (entry.startsWith("eclipse/readme/"))

-					return true;

-				else if (entry.startsWith("eclipse/splash/"))

-					return true;

-				else if (entry.startsWith("eclipse/") && entry.indexOf("/",8)==-1 && entry.endsWith(".html"))

-					return true;

-				else

-					return false;	

-			}

-			public String defineIdentifier(JarEntry jarEntry) {

-				String entry = jarEntry.getName();

-				if (entry.startsWith("eclipse/"))

-					return entry.substring(8);

-				else

-					return entry;

-			}

-		};

-		

-		// unpack feature entry files

-		File tmpDir = getWorkingDirectory();

-		ContentReference[] refs = baseReference.unpack(tmpDir, selector, monitor);

-		

-		// write out feature manifest (feature.xml);

-		File manifest = Utilities.createLocalFile(tmpDir,"feature.xml");

-		ContentReference manifestReference = new ContentReference("feature.xml", manifest);

-		DefaultModelWriter w = new DefaultModelWriter(feature);

-		FileOutputStream os = null;

-		try {

-			os = new FileOutputStream(manifest);

-			w.writeFeatureManifest(os);

-		} finally {

-			if (os != null) try { os.close(); } catch(IOException e) {}

-		}

-		this.generatedFeatureManifest = manifestReference;

-		

-		// save references (newly-written feature.xml plus rest of selected feature files)

-		ContentReference[] allRefs = new ContentReference[refs.length+1];

-		allRefs[0] = manifestReference;

-		System.arraycopy(refs,0,allRefs,1,refs.length);

-		featureEntryContentReferences = allRefs;

-	}

-		

-	ContentReference[] peekPluginEntryContent(IPluginEntry plugin, InstallMonitor monitor) throws IOException {

-		

-		// define selector for plugin entry files

-		ContentSelector selector = new ContentSelector() {

-			public boolean include(JarEntry jarEntry) {

-				if (jarEntry.isDirectory())

-					return false;

-				String entry = jarEntry.getName();

-				String id = currentPluginEntry.getVersionedIdentifier().getIdentifier();

-				if (id==null)

-					return false;

-				else if (entry.startsWith("eclipse/plugins/"+id+"/"))

-					return true;

-				else

-					return false;	

-			}

-			public String defineIdentifier(JarEntry jarEntry) {

-				String entry = jarEntry.getName();

-				int ix = entry.indexOf("/",16);

-				if (ix != -1) {

-					return entry.substring(ix+1);

-				} else {

-					return entry;

-				}

-			}

-		};

-		

-		// unpack plugin entry files

-		currentPluginEntry = plugin;

-		return baseReference.peek(selector, monitor);

-	}

-		

-	ContentReference[] peekNonPluginEntryContent(INonPluginEntry data, InstallMonitor monitor) throws IOException {

-		

-		// define selector for non plugin entry files

-		ContentSelector selector = new ContentSelector() {

-			public boolean include(JarEntry jarEntry) {

-				if (jarEntry.isDirectory())

-					return false;

-				String entry = jarEntry.getName();

-				String id = currentNonPluginEntry.getIdentifier();

-				if (!id.equals("root"))

-					return false;

-				else if (!entry.startsWith("eclipse/plugins/"))

-					return true;

-				else

-					return false;	

-			}

-			public String defineIdentifier(JarEntry jarEntry) {

-				String entry = jarEntry.getName();

-				if (entry.startsWith("eclipse/"))

-					return entry.substring(8);

-				else

-					return entry;

-			}

-		};

-		

-		// unpack non plugin entry files

-		currentNonPluginEntry = data;

-		return baseReference.peek(selector, monitor);

-	}

-	

-	private CoreException newCoreException(String s, Throwable e) throws CoreException {

-		return new CoreException(new Status(IStatus.ERROR,"org.eclipse.update.examples",0,s,e));

-	}

-	/*

-	 * @see IFeatureContentProvider#getVerifier()

-	 */

-	public IVerifier getVerifier() throws CoreException {

-		return null;

-	}

-

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java
deleted file mode 100644
index d6150b7..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */ 

-

-import java.net.URL;

-

-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.update.core.BaseFeatureFactory;

-import org.eclipse.update.core.Feature;

-import org.eclipse.update.core.IFeature;

-import org.eclipse.update.core.IFeatureFactory;

-import org.eclipse.update.core.ISite;

-import org.eclipse.update.core.model.FeatureModel;

-

-/**

- * An example feature factory based on the packaging 

- * format used for integration and stable builds

- * posted on the downloads pages at www.eclipse.org

- * </p>

- * @since 2.0

- */

-

-public class BuildZipFeatureFactory

-	extends BaseFeatureFactory

-	implements IFeatureFactory {

-

-	/*

-	 * @see IFeatureFactory#createFeature(URL, ISite, IProgressMonitor)

-	 */

-	public IFeature createFeature(URL url, ISite site, IProgressMonitor monitor) throws CoreException {

-		try {

-			// create content provider for feature

-			BuildZipFeatureContentProvider cp = new BuildZipFeatureContentProvider(url);

-			Feature feature = null;

-			

-			// parse the feature

-			feature = (Feature) parseFeature(cp);

-			

-			// initialize feature

-			feature.setFeatureContentProvider(cp);

-			feature.setSite(site);

-			feature.resolve(cp.getFeatureBaseURL(), null); 

-			feature.markReadOnly();

-			return feature;

-		} catch (Exception e) {

-			throw new CoreException(new Status(IStatus.ERROR,"org.eclipse.update.examples.buildzip",0,"Unable to create feature",e));

-		}

-	}

-

-	/*

-	 * parse the build zip to reconstruct a feature model

-	 */

-	public FeatureModel parseFeature(BuildZipFeatureContentProvider cp) throws Exception {

-		return (new BuildZipFeatureParser(this)).parse(cp);

-	}

-

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java
deleted file mode 100644
index 6748ded..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */ 

- 

-import java.io.IOException;

-import java.io.InputStream;

-import java.net.URLDecoder;

-import java.util.Enumeration;

-import java.util.Properties;

-import java.util.StringTokenizer;

-

-import org.eclipse.core.runtime.PluginVersionIdentifier;

-import org.eclipse.update.core.ContentReference;

-import org.eclipse.update.core.model.FeatureModel;

-import org.eclipse.update.core.model.PluginEntryModel;

-import org.eclipse.update.core.model.URLEntryModel;

-

-/**

- * An example feature parser. It handles features packaged as

- * build zip's using the format used for integration and stable builds

- * posted on the downloads pages at www.eclipse.org

- * </p>

- * @since 2.0

- */

-

-public class BuildZipFeatureParser {	

-	

-	private BuildZipFeatureFactory factory;

-	private BuildZipPluginParser pluginParser;

-	

-	public BuildZipFeatureParser(BuildZipFeatureFactory factory) {

-		this.factory = factory;

-	}

-	

-	public FeatureModel parse(BuildZipFeatureContentProvider cp) throws Exception {				

-		return parseFeature(cp);

-	}

-	

-	private FeatureModel parseFeature(BuildZipFeatureContentProvider cp) throws Exception {		

-		

-		// get reference to the build manifest

-		ContentReference manifestRef = cp.getFeatureBuildManifest();

-		InputStream is = manifestRef.getInputStream();		

-		

-		// load buildmanifest.properties

-		Properties manifest = new Properties();

-		try {

-			manifest.load(is);

-		} finally {

-			if (is!=null) try { is.close(); } catch(IOException e) {}

-		}

-		

-		// populate feature model

-		FeatureModel feature = factory.createFeatureModel();

-		parseFeatureEntry(cp, feature, manifest);

-		

-		// parse plugin entries

-		parsePluginEntries(cp, feature, manifest); 

-		

-		// parse non-plugin entries

-		parseNonPluginEntries(cp, feature, manifest);

-		

-		// unpack feature entry content

-		cp.unpackFeatureEntryContent(feature, null/*IProgressMonitor*/);

-		

-		return feature;

-	}

-	

-	private void parseFeatureEntry(BuildZipFeatureContentProvider cp, FeatureModel feature, Properties manifest) throws Exception {

-		

-		// parse out build zip file name. It is assumed to be in the

-		// form <package identifier>-<build date>-<target platform>.zip,

-		// where

-		//		<package identifier> is hyphen (-) separaterd token list

-		//		<build date> is single all-numeric token

-		//		<target platform> is hyphen (-) separaterd token list

-		

-		String pkgId = "";

-		String target = "";

-		String build = "";

-		String state = "ID";

-		boolean firstToken = true;

-		String zipName = URLDecoder.decode(cp.getURL().getFile());

-		int ix = zipName.lastIndexOf("/");

-		if (ix != -1)

-			zipName = zipName.substring(ix+1);

-		if (zipName.endsWith(".zip")) {

-			zipName = zipName.substring(0,zipName.length()-4);

-		}

-		StringTokenizer tokenizer = new StringTokenizer(zipName,"-",false);

-		String token;

-		while(tokenizer.hasMoreTokens()) {

-			token = tokenizer.nextToken();

-			try {

-				Long.parseLong(token);

-				state = "TARGET";

-				target = "";

-				firstToken = true;

-				build = token+".0.0";

-			} catch (NumberFormatException e) {

-				if (state.equals("ID")) {

-					pkgId += (firstToken ? "" : " ") + token;

-				} else {

-					target += (firstToken ? "" : " ") + token;

-				}

-				firstToken = false;

-			}

-		}

-		

-		// generate base feature attributes

-		feature.setFeatureIdentifier(pkgId.replace(' ','.'));

-		feature.setFeatureVersion(build);

-		feature.setLabel(pkgId.substring(0,1).toUpperCase() + pkgId.substring(1) + " for " + target);

-		feature.setProvider("www.eclipse.org");

-		feature.setImageURLString("splash/splash_full.bmp");

-		feature.setOS(target.replace(' ','-'));	

-		

-		// add description

-		URLEntryModel description = factory.createURLEntryModel();

-		description.setURLString("readme/readme.html");

-		description.setAnnotation("x");

-		feature.setDescriptionModel(description);

-		

-		// add license

-		URLEntryModel license = factory.createURLEntryModel();

-		license.setURLString("about.html");

-		license.setAnnotation("You must view the full license by following the \"License\" link in the feature preview.\nSelecting \"Accept\" indicates that you have viewed and accepted the feature license.");

-		feature.setLicenseModel(license);

-		

-		// add copyright

-		URLEntryModel copyright = factory.createURLEntryModel();

-		copyright.setURLString("notice.html");

-		copyright.setAnnotation("x");

-		feature.setCopyrightModel(copyright);

-	}	

-	

-	private void parsePluginEntries(BuildZipFeatureContentProvider cp, FeatureModel feature, Properties manifest) throws Exception {

-		

-		Enumeration entries = manifest.keys();

-		String plugin;

-		String pluginId;

-		String pluginVersion;

-		String pluginBuildVersion;

-		PluginEntryModel pluginEntry;

-		while(entries.hasMoreElements()) {

-			plugin = (String) entries.nextElement();

-			if (plugin.startsWith("plugin@")) {

-				pluginId = plugin.substring(7);

-				pluginBuildVersion = manifest.getProperty(plugin);

-				if (pluginBuildVersion.equals("HEAD")) {

-					String featureVersion = feature.getFeatureVersion();

-					int ix = featureVersion.indexOf(".");

-					String featureMajor = ix==-1 ? featureVersion : featureVersion.substring(0,ix);

-					pluginBuildVersion += "-" + featureMajor;

-				}

-				pluginEntry = factory.createPluginEntryModel();

-				pluginVersion = parsePluginVersionInManifest(cp, pluginId, pluginEntry);

-				if (pluginVersion != null) {

-					pluginEntry.setPluginIdentifier(pluginId);

-					pluginEntry.setPluginVersion((new PluginVersionIdentifier(pluginVersion)).toString()+"."+pluginBuildVersion);

-					feature.addPluginEntryModel(pluginEntry);

-				}

-			}

-		}		

-	}

-	

-	private void parseNonPluginEntries(BuildZipFeatureContentProvider cp, FeatureModel feature, Properties manifest) throws Exception {

-	//	NonPluginEntryModel nonPluginEntry = factory.createNonPluginEntryModel();

-	//	nonPluginEntry.setIdentifier("root");

-	//	feature.addNonPluginEntryModel(nonPluginEntry);

-	}

-	

-	private String parsePluginVersionInManifest(BuildZipFeatureContentProvider cp, String pluginId, PluginEntryModel pluginEntry) {

-

-		if (pluginParser == null)

-			pluginParser = new BuildZipPluginParser();

-				

-		InputStream is = null;				

-		ContentReference pluginManifest;

-		try {

-			// try plugin.xml

-			pluginManifest  = cp.getPluginManifest(pluginId, false);

-			is = pluginManifest.getInputStream();

-			return pluginParser.parse(is);

-		} catch (Exception e) {

-			try {

-				// retry with feature.xml

-				pluginManifest  = cp.getPluginManifest(pluginId, true);

-				is = pluginManifest.getInputStream();

-				String result = pluginParser.parse(is);

-				pluginEntry.isFragment(true);

-				return result;

-			} catch (Exception e2) {

-				return null;

-			}

-		} finally {

-			if (is != null) try { is.close(); } catch (IOException e) {}

-		}

-	}

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java
deleted file mode 100644
index 90e1d1f..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */

-

-import java.io.IOException;

-import java.io.InputStream;

-

-import org.apache.xerces.parsers.SAXParser;

-import org.xml.sax.Attributes;

-import org.xml.sax.InputSource;

-import org.xml.sax.SAXException;

-import org.xml.sax.helpers.DefaultHandler;

-

-/**

- * Parse default feature.xml

- */

-

-public class BuildZipPluginParser extends DefaultHandler {

-

-	private SAXParser parser;

-	private String version;

-	

-	private static final String PLUGIN = "plugin";

-	private static final String FRAGMENT = "fragment";

-	private static final String ID = "id";

-	private static final String VERSION = "version";	

-	

-	private class ParseCompleteException extends SAXException {

-		public ParseCompleteException(String arg0) {

-			super(arg0);

-		}

-	}

-

-	/**

-	 * Constructor for DefaultFeatureParser

-	 */

-	public BuildZipPluginParser() {

-		super();

-		this.parser = new SAXParser();

-		this.parser.setContentHandler(this);

-	}

-	

-	/**

-	 * @since 2.0

-	 */

-	public synchronized String parse(InputStream in) throws SAXException, IOException {

-		try {

-			version = null;

-			parser.parse(new InputSource(in));

-		} catch(ParseCompleteException e) {

-		}

-		return version;

-	}

-	

-	/**

-	 * @see DefaultHandler#startElement(String, String, String, Attributes)

-	 */

-	public void startElement(String uri, String localName,String qName, Attributes attributes) throws SAXException {

-		

-		String tag = localName.trim();

-	

-		if (tag.equalsIgnoreCase(PLUGIN)) {

-			processPlugin(attributes);

-			return;

-		}

-	

-		if (tag.equalsIgnoreCase(FRAGMENT)) {

-			processPlugin(attributes);

-			return;

-		}

-	}

-	

-	/** 

-	 * process plugin entry info

-	 */

-	private void processPlugin(Attributes attributes) throws ParseCompleteException {

-		version = attributes.getValue("version");

-		throw new ParseCompleteException("");

-	}

-}

-

-

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java
deleted file mode 100644
index 05ec032..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */

-

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.SiteContentProvider;

-

-public class BuildZipSiteContentProvider extends SiteContentProvider {

-

-	/**

-	 * Constructor for SiteContentProvider.

-	 */

-	public BuildZipSiteContentProvider(URL url) {

-		super(url);

-	}

-	

-	/*

-	 * @see ISiteContentProvider#getArchiveReference(String)

-	 */

-	public URL getArchiveReference(String id) throws CoreException {

-		// build zip features do not have associated archives

-		// the zip file also contains the archives files

-		return null;

-	}

-

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java
deleted file mode 100644
index df9196b..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */

-

-import java.io.File;

-import java.io.FileFilter;

-import java.io.IOException;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.net.URLDecoder;

-import java.util.zip.ZipEntry;

-import java.util.zip.ZipFile;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.BaseSiteFactory;

-import org.eclipse.update.core.ISite;

-import org.eclipse.update.core.Site;

-import org.eclipse.update.core.model.InvalidSiteTypeException;

-import org.eclipse.update.core.model.CategoryModel;

-

-public class BuildZipSiteFactory extends BaseSiteFactory {

-

-	/*

-	 * @see ISiteFactory#createSite(URL)

-	 */

-	public ISite createSite(URL url) throws CoreException,InvalidSiteTypeException {

-

-		Site site = null;

-

-		// create site and add category

-		site = (Site) createSiteMapModel();

-		CategoryModel category = createSiteCategoryModel();

-		category.setName("eclipse-builds");

-		category.setLabel("Eclipse Builds");

-		site.addCategoryModel(category);

-

-		// set content provider

-		BuildZipSiteContentProvider contentProvider = new BuildZipSiteContentProvider(url);

-		site.setSiteContentProvider(contentProvider);

-

-		// get all matching zip files on the site

-		FileFilter filter = new FileFilter() {

-			public boolean accept(File file) {

-				if (file.getName().endsWith(".zip")) {

-					try {

-						ZipFile zip = new ZipFile(file);

-						ZipEntry entry = zip.getEntry("eclipse/buildmanifest.properties");

-						if (entry == null)

-							return false;

-						else

-							return true;

-					} catch (IOException e) {

-						return false;

-					}

-				} else

-					return false;

-			}

-		};

-		File file = new File(URLDecoder.decode(url.getFile()));

-		File[] zips = file.listFiles(filter);

-

-		// create a reference for each matching zip

-		SiteFeatureReferenceModel ref = null;

-		for (int i = 0; zips != null && i < zips.length; i++) {

-			ref = createFeatureReferenceModel();

-			ref.setType("org.eclipse.update.examples.zip");

-			ref.setSiteModel(site);

-			ref.setURLString("file:" + zips[i].getAbsolutePath());

-			ref.setCategoryNames(new String[] { "eclipse-builds" });

-			site.addFeatureReferenceModel(ref);

-		}

-		try {

-			site.resolve(url, null); // resolve any URLs relative to the site

-		} catch (MalformedURLException e){

-			throw Utilities.newCoreException("",e);

-		}

-

-		return site;

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java
deleted file mode 100644
index 9ca8bc4..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java
+++ /dev/null
@@ -1,228 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */ 
- 
-import java.io.OutputStream;
-import java.io.PrintWriter;
-
-import org.eclipse.update.core.model.*;
-
-/**
- * Write standard feature manifest (feature.xml) from model.
- * </p>
- * @since 2.0
- */
-
-public class DefaultModelWriter {
-	
-	private FeatureModel feature;
-	
-	/**
-	 * @since 2.0
-	 */
-	public DefaultModelWriter(FeatureModel feature) {
-		this.feature = feature;
-	}
-	
-	/**
-	 * @since 2.0
-	 */
-	public void writeFeatureManifest(OutputStream os) {
-		PrintWriter w = new PrintWriter(os);
-		writeFeature(w,0,feature);
-		w.flush();
-	}
-	
-	private void writeFeature(PrintWriter w, int level, FeatureModel feature) {
-		if (feature == null) return;
-		
-		String in = getIndent(level);
-		w.println(in+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-		
-		w.println(in+"<feature");
-		if (feature.getFeatureIdentifier()!=null)
-			w.println(in+"   "+"id=\""+feature.getFeatureIdentifier()+"\"");
-		if (feature.getFeatureVersion()!=null)
-			w.println(in+"   "+"version=\""+feature.getFeatureVersion()+"\"");
-		if (feature.getLabelNonLocalized()!=null)
-			w.println(in+"   "+"label=\""+feature.getLabelNonLocalized()+"\"");
-		if (feature.getProviderNonLocalized()!=null)
-			w.println(in+"   "+"provider-name=\""+feature.getProviderNonLocalized()+"\"");
-		if (feature.getImageURLString()!=null)
-			w.println(in+"   "+"image=\""+feature.getImageURLString()+"\"");
-		if (feature.getOS()!=null)
-			w.println(in+"   "+"os=\""+feature.getOS()+"\"");
-		if (feature.getWS()!=null)
-			w.println(in+"   "+"ws=\""+feature.getWS()+"\"");
-		if (feature.getNL()!=null)
-			w.println(in+"   "+"nl=\""+feature.getNL()+"\"");
-		if (feature.getApplication()!=null)
-			w.println(in+"   "+"application=\""+feature.getApplication()+"\"");
-		w.println(in+"   "+">");
-		
-		writeDescription(w, level+1, feature.getDescriptionModel());
-		writeCopyright(w, level+1, feature.getCopyrightModel());
-		writeLicense(w, level+1, feature.getLicenseModel());
-		writeURLs(w, level+1, feature);
-		writePrereqs(w, level+1, feature);
-		writePluginEntries(w, level+1, feature);
-		writeNonPluginEntries(w, level+1, feature);
-         
-        w.println("");
-        w.println(in+"</feature>");
-	}
-	
-	private void writeDescription(PrintWriter w, int level, URLEntryModel ue) {
-		writeDescriptionEntry(w,level, ue, "description");
-	}
-	
-	private void writeCopyright(PrintWriter w, int level, URLEntryModel ue) {
-		writeDescriptionEntry(w,level, ue, "copyright");
-	}
-	
-	private void writeLicense(PrintWriter w, int level, URLEntryModel ue) {
-		writeDescriptionEntry(w,level, ue, "license");
-	}
-	
-	private void writeDescriptionEntry(PrintWriter w, int level, URLEntryModel ue, String tag) {
-		if (ue == null) return;
-		String url = ue.getURLString();
-		String txt = ue.getAnnotationNonLocalized();
-		if (url==null && txt==null) return;
-		
-		String in = getIndent(level);
-		w.println("");
-		if (url==null)
-			w.println(in+"<"+tag+">");
-		else {
-			w.print(in+"<"+tag+" url=\""+ue.getURLString()+"\"");
-			if (txt==null)
-				w.println("/>");
-			else
-				w.println(">");
-		}
-		if (txt!=null) {
-			w.println(in + txt);
-			w.println(in+"</"+tag+">");
-		}
-	}
-	
-	private void writeURLs(PrintWriter w, int level, FeatureModel feature) {	
-		URLEntryModel update = feature.getUpdateSiteEntryModel();
-		URLEntryModel[] discovery = feature.getDiscoverySiteEntryModels();		
-		if (update == null && (discovery == null || discovery.length==0)) return;
-		
-		String in = getIndent(level);
-		String in2 = getIndent(level+1);		
-		w.println("");
-		w.println(in+"<url>");
-		
-		if (update != null) {
-			w.println(in2+"<update");
-			if (update.getURLString()!=null)
-				w.println(in2+"   "+"url=\""+update.getURLString()+"\"");
-			if (update.getAnnotationNonLocalized()!=null)
-				w.println(in2+"   "+"label=\""+update.getAnnotationNonLocalized()+"\"");
-			w.println(in2+"   "+"/>");
-		}
-		
-		for (int i=0; discovery!=null && i<discovery.length; i++) {
-			w.println(in2+"<discovery");
-			if (discovery[i].getURLString()!=null)	
-				w.println(in2+"   "+"url=\""+discovery[i].getURLString()+"\"");
-			if (discovery[i].getAnnotationNonLocalized()!=null)
-				w.println(in2+"   "+"label=\""+discovery[i].getAnnotationNonLocalized()+"\"");
-			w.println(in2+"   "+"/>");
-		}
-		
-		w.println(in+"</url>");
-	}
-	
-	private void writePrereqs(PrintWriter w, int level, FeatureModel feature) {	
-		ImportModel[] imp = feature.getImportModels();	
-		if (imp == null || imp.length == 0) return;
-		
-		String in = getIndent(level);
-		String in2 = getIndent(level+1);
-		w.println("");
-		w.println(in+"<requires>");
-		
-		for (int i=0; imp!=null && i<imp.length; i++) {
-			w.println(in2+"<import");
-			if (imp[i].getIdentifier()!=null)
-				w.println(in2+"   "+"plugin=\""+imp[i].getIdentifier()+"\"");
-			if (imp[i].getVersion()!=null)
-				w.println(in2+"   "+"version=\""+imp[i].getVersion()+"\"");
-			if (imp[i].getMatchingRuleName()!=null)
-				w.println(in2+"   "+"match=\""+imp[i].getMatchingRuleName()+"\"");
-			w.println(in2+"   "+"/>");
-		}
-		
-		w.println(in+"</requires>");
-	}
-	
-	private void writePluginEntries(PrintWriter w, int level, FeatureModel feature) {
-		PluginEntryModel[] plugin = feature.getPluginEntryModels();
-		if (plugin == null || plugin.length == 0) return;
-		
-		String in = getIndent(level);
-		w.println("");
-		
-		for (int i=0; i<plugin.length; i++) {
-			w.println(in+"<plugin");
-			if (plugin[i].getPluginIdentifier()!=null)
-				w.println(in+"   "+"id=\""+plugin[i].getPluginIdentifier()+"\"");
-			if (plugin[i].getPluginVersion()!=null)
-				w.println(in+"   "+"version=\""+plugin[i].getPluginVersion()+"\"");
-			if (plugin[i].isFragment())
-				w.println(in+"   "+"fragment=\""+plugin[i].isFragment()+"\"");
-			if (plugin[i].getOS()!=null)
-				w.println(in+"   "+"os=\""+plugin[i].getOS()+"\"");
-			if (plugin[i].getWS()!=null)
-				w.println(in+"   "+"ws=\""+plugin[i].getWS()+"\"");
-			if (plugin[i].getNL()!=null)
-				w.println(in+"   "+"nl=\""+plugin[i].getNL()+"\"");
-			if (plugin[i].getDownloadSize()!=ContentEntryModel.UNKNOWN_SIZE)
-				w.println(in+"   "+"download-size=\""+plugin[i].getDownloadSize()+"\"");
-			if (plugin[i].getInstallSize()!=ContentEntryModel.UNKNOWN_SIZE)
-				w.println(in+"   "+"install-size=\""+plugin[i].getInstallSize()+"\"");
-			w.println(in+"   "+"/>");
-		}
-	}
-	
-	private void writeNonPluginEntries(PrintWriter w, int level, FeatureModel feature) {
-		NonPluginEntryModel[] data = feature.getNonPluginEntryModels();
-		if (data == null || data.length == 0) return;
-		
-		String in = getIndent(level);
-		w.println("");
-		
-		for (int i=0; i<data.length; i++) {
-			w.println(in+"<data");
-			if (data[i].getIdentifier()!=null)
-				w.println(in+"   "+"id=\""+data[i].getIdentifier()+"\"");
-			if (data[i].getOS()!=null)
-				w.println(in+"   "+"os=\""+data[i].getOS()+"\"");
-			if (data[i].getWS()!=null)
-				w.println(in+"   "+"ws=\""+data[i].getWS()+"\"");
-			if (data[i].getNL()!=null)
-				w.println(in+"   "+"nl=\""+data[i].getNL()+"\"");
-			if (data[i].getDownloadSize()!=ContentEntryModel.UNKNOWN_SIZE)
-				w.println(in+"   "+"download-size=\""+data[i].getDownloadSize()+"\"");
-			if (data[i].getInstallSize()!=ContentEntryModel.UNKNOWN_SIZE)
-				w.println(in+"   "+"install-size=\""+data[i].getInstallSize()+"\"");
-			w.println(in+"   "+"/>");
-		}
-	}
-	
-	
-	private String getIndent(int level) {
-		String indent = "";
-		for (int i=0; i<level; i++) 
-			indent += "   ";
-		return indent;
-	}
-}
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java
deleted file mode 100644
index 1e189df..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */ 

-

-import java.net.URL;

-

-import org.eclipse.update.core.*;

- 

-/**

- * unit test harness

- */

-

-public class Test {

-

-	public static void main(String[] args) {

-		

-		try {

-			URL url = new URL("file:d:/downloads/eclipse 2.0/integration-eclipse-SDK-20020109-win32.zip");

-			BuildZipFeatureFactory factory = new BuildZipFeatureFactory();

-			Feature feature = (Feature) factory.createFeature(url,null/*ISite*/);

-			DefaultModelWriter w = new DefaultModelWriter(feature);

-			w.writeFeatureManifest(System.out);

-			

-			System.out.println("");

-			System.out.println("Feature entry references");

-			ContentReference[] refs = feature.getFeatureContentProvider().getFeatureEntryContentReferences(null);

-			for (int i=0; i< refs.length; i++) {

-				System.out.println("   "+refs[i].getIdentifier());

-			}

-			

-			System.out.println("");

-			System.out.println("Plug-in entry references");

-			IPluginEntry[] entry = feature.getPluginEntries();

-			refs = feature.getFeatureContentProvider().getPluginEntryContentReferences(entry[0], null);

-			for (int i=0; i< refs.length; i++) {

-				System.out.println("   "+refs[i].getIdentifier());

-			}			

-			

-			System.out.println("");

-			System.out.println("Non-plug-in entry references");

-			INonPluginEntry[] data = feature.getNonPluginEntries();

-			refs = feature.getFeatureContentProvider().getNonPluginEntryArchiveReferences(data[0], null);

-			for (int i=0; i< refs.length; i++) {

-				System.out.println("   "+refs[i].getIdentifier());

-			}			

-			

-			System.out.println("Done ...");

-		} catch (Exception e) {

-			e.printStackTrace();

-		}		

-	}

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage
deleted file mode 100644
index 6cb24bd..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage
+++ /dev/null
@@ -1,45 +0,0 @@
-

-

-java.util.Properties p = System.getProperties();

-java.util.Enumeration keys = p.keys();

-while (keys.hasMoreElements()) {

-	String key = (String)keys.nextElement();

-	System.out.println(key + " = " + (String)p.get(key));

-}

-

-

-

-

-

-String fileName = "d:\\downloads\\eclipse 2.0\\integration-eclipse-SDK-20020109-win32.zip";

-java.io.File archiveFile = new java.io.File(fileName);

-java.util.jar.JarFile jarArchive = new java.util.jar.JarFile(archiveFile);

-java.util.jar.JarEntry entry;

-java.util.Enumeration entries = jarArchive.entries();

-while(entries.hasMoreElements()) {

-	entry = (java.util.jar.JarEntry) entries.nextElement();

-	System.out.println(entry.getName());

-}

-

-

-String a = "223";

-String b = "123";

-a.compareTo(b);

-

-

-org.eclipse.update.core.Version v1 = 

-	new org.eclipse.update.core.Version(1,2,3,"build 127J");

-org.eclipse.update.core.Version v2 = 

-	new org.eclipse.update.core.Version(1,2,3,"build 127J");

-v1.compare(v2);

-

-

-java.io.File f = new java.io.File("d:\\downloads\\eclipse 2.0\\x\\");

-f.isDirectory();

-

-

-String s = "hello";

-Object a = java.lang.reflect.Array.newInstance(s.getClass(),0);

-System.out.println(a.getClass().getName());

-

-

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java
deleted file mode 100644
index 2cbeab4..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.update.examples.freeform;

-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.update.core.SiteContentProvider;

-

-public class FreeFormSiteContentProvider extends SiteContentProvider {

-

-	/**

-	 * Constructor for SiteContentProvider.

-	 */

-	public FreeFormSiteContentProvider(URL url) {

-		super(url);

-	}

-	

-	/*

-	 * @see ISiteContentProvider#getArchiveReference(String)

-	 */

-	public URL getArchiveReference(String id) throws CoreException {

-		try {

-			return new URL(getURL(),id);

-		} catch(MalformedURLException e) {

-			throw newCoreException("Unable to return archive URL",e);

-		}

-	}

-	

-	private CoreException newCoreException(String s, Throwable e) throws CoreException {

-		return new CoreException(new Status(IStatus.ERROR,"org.eclipse.update.examples",0,s,e));

-	}

-

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java
deleted file mode 100644
index cb3c7fc..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.update.examples.freeform;

-import java.io.IOException;

-import java.io.InputStream;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.BaseSiteFactory;

-import org.eclipse.update.core.ISite;

-import org.eclipse.update.core.Site;

-import org.eclipse.update.core.model.InvalidSiteTypeException;

-import org.eclipse.update.core.model.URLEntryModel;

-

-public class FreeFormSiteFactory extends BaseSiteFactory {

-

-	/*

-	 * @see ISiteFactory#createSite(URL)

-	 */

-	public ISite createSite(URL url)

-		throws CoreException, InvalidSiteTypeException {

-

-		// Create site

-		Site site = null;

-		InputStream is = null;

-		try {

-			is = url.openStream();

-			site = (Site) parseSite(is);

-

-			URLEntryModel realSiteRef = site.getDescriptionModel();

-			if (realSiteRef == null)

-				throw Utilities.newCoreException(

-					"Unable to obtain update site reference",

-					null);

-			String siteURLString = realSiteRef.getURLString();

-			if (siteURLString == null)

-				throw Utilities.newCoreException(

-					"Unable to obtain update site reference",

-					null);

-			URL siteURL = new URL(siteURLString);

-			FreeFormSiteContentProvider contentProvider =

-				new FreeFormSiteContentProvider(siteURL);

-			site.setSiteContentProvider(contentProvider);

-			site.resolve(siteURL, null); // resolve any URLs relative to the site

-

-		} catch (MalformedURLException e){

-			throw Utilities.newCoreException("Unable to create URL",e);

-		} catch (IOException e){

-			throw Utilities.newCoreException("Unable to access URL",e);

-		} finally {

-			if (is != null)

-				try {

-					is.close();

-				} catch (IOException e) {

-				}

-		}

-

-		return site;

-	}

-

-	/*

-	 * @see SiteModelFactory#canParseSiteType(String)

-	 */

-	public boolean canParseSiteType(String type) {

-		return type != null

-			&& type.equals("org.eclipse.update.examples.site.freeform");

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/.classpath b/update/org.eclipse.update.tests.core/.classpath
deleted file mode 100644
index 4848249..0000000
--- a/update/org.eclipse.update.tests.core/.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/update/org.eclipse.update.tests.core/.cvsignore b/update/org.eclipse.update.tests.core/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.tests.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/.project b/update/org.eclipse.update.tests.core/.project
deleted file mode 100644
index fc1ca7f..0000000
--- a/update/org.eclipse.update.tests.core/.project
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.tests.core</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.resources</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.core.runtime.compatibility</project>

-		<project>org.eclipse.help.appserver</project>

-		<project>org.eclipse.tomcat</project>

-		<project>org.eclipse.update.configurator</project>

-		<project>org.eclipse.update.core</project>

-		<project>org.eclipse.update.core.linux</project>

-		<project>org.junit</project>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.jdt.core.javabuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.ui.ManifestBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.ui.SchemaBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.jdt.core.javanature</nature>

-		<nature>org.eclipse.pde.ui.PluginNature</nature>

-	</natures>

-</projectDescription>

diff --git a/update/org.eclipse.update.tests.core/about.html b/update/org.eclipse.update.tests.core/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/update/org.eclipse.update.tests.core/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/update/org.eclipse.update.tests.core/build.properties b/update/org.eclipse.update.tests.core/build.properties
deleted file mode 100644
index 2861d65..0000000
--- a/update/org.eclipse.update.tests.core/build.properties
+++ /dev/null
@@ -1,12 +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.updatetests.jar=src/

-bin.includes=*.jar,about.html,test.xml,plugin.xml,data/,webserver/
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/feature3/feature.xml
deleted file mode 100644
index 361c287..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.core.tests.feature1.plugin1" install-size="1000" fragment="false" nl="en" os="WIN32,LINUX,HPUX" version="3.5.6" ws="WIN32,MOTIF,GTK"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/Pde_core.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/help.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/junit_3.7.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index 7f05d82..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">

-  <runtime>

-    <library name="junit.jar">

-      <export name="*"/>

-    </library>

-  </runtime>

-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/feature3/feature.xml
deleted file mode 100644
index c0634a4..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="en,fr" os="WIN32,LINUX,HPUX" version="1.1.1" ws="WIN32,GTK,MOTIF"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/helpFeature.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/helpFeature.jar
deleted file mode 100644
index 0213585..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/org.eclipse.pde.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/org.eclipse.pde.feature_1.0.0.jar
deleted file mode 100644
index 7e23cab..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/org.eclipse.pde.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/siteInfo.html b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

-<html>

-<head>

-</head>

-  <body>

-<img src="img/top_titlsm.gif" alt="" width="460" height="50">

-<br>

-<br>

-     It started with Smalltalk<br>

-    OTI has been building tools for platform-independent OO development since

-  1988. Our ENVY&reg; technology first brought collaborative software development,

-  version management and shared repositories to Smalltalk. IBM is one of

-many   companies to license ENVY, which continues to be the foundation of

-VisualAge&reg;   Smalltalk.<br>

-<br>

-<br>

-<br>

-      Next came Java&#8482;<br>

-    Because of our expertise in OO technology, IBM turned to OTI for a next-generation

-  development environment for Java. The result is VisualAge for Java, which

-  continues to win awards for its innovative IDE and team support. InfoWorld

-  has chosen VisualAge for Java as development tool of the year - year after

-  year after year!<br>

-<br>

-<br>

-<br>

-      Then pervasive computing<br>

-    OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art

-  platform for collaborative development of embedded applications and systems

-  that are very lean. As the steady stream of press releases attests, VisualAge

-  Micro Edition is already licensed to the leading microchip manufacturers,

-  microkernel developers, and producers of handheld and consumer devices.<br>

-<br>

-<br>

-<br>

-      Now it's Eclipse<br>

-    OTI has built the next generation IBM application development tools platform.

-  Eclipse is a kind of universal tool platform - an open extensible IDE for

-  anything and nothing in particular. The real value comes from tool plug-ins

-  that "teach" Eclipse how to work with things - java files, web content,

-graphics,  video - almost anything you can imagine. Eclipse allows you to

-independently  develop tools that integrate with other people's tools so

-seamlessly you won't know where one tool ends and another starts. The IBM

-supported version of this technology, WebSphere Studio Workbench, will be

-the core of the next  generation of IBM and IBM Business Partner e-business

-tools optimized for  the WebSphere software platform.<br>

-<br>

-<br>

-<br>

-      So what's next?<br>

-    OTI continues to deliver object-oriented technology that scales across

- platforms,  across teams and across project size. From a mainframe to a

-watch  - we're  closing in on that vision.<br>

-<br>

-<img src="img/wel_ml.jpg" width="460" height="460" alt="">

-<br>

-<br>

-<br>

-<br>

-<br>

-<br>

-</body>

-</html>

diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/Pde_core.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/help.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/junit_3.7.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index 7f05d82..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">

-  <runtime>

-    <library name="junit.jar">

-      <export name="*"/>

-    </library>

-  </runtime>

-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/site.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/site.xml
deleted file mode 100644
index b6211a8..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/site.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-<description url="info/siteInfo.html"/>

-  <feature url="features/helpFeature.jar" type="org.eclipse.update.core.packaged">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature url="features/org.eclipse.pde.feature_1.0.0.jar" type="org.eclipse.update.core.packaged">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <feature url="features/feature3/" os="LINUX">

-    <category name="eclipse"/>

-  </feature>

-  <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins/help.jar"/>

-  <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins/Pde_core.jar"/>

-  <archive path="plugins/org.junit_3.5.0.jar" url="plugins/junit_3.7.jar"/>

-  <archive path="plugins/org.eclipse.update.plugin1_1.1.1.jar" url="plugins/org.eclipse.update.plugin1_1.1.1"/>  

-  <category-def label="IBM WSAD Tools" name="eclipse"/>

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>  

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml b/update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml
deleted file mode 100644
index da62e2e..0000000
--- a/update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.tests.core.ftp">

-  <feature url="features/feature3/features2.jarfile"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml
deleted file mode 100644
index 2c98f42..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0">

-  <description>Description</description>

-  <copyright>copyright</copyright>

-  <license>license</license>

-  <url>

-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>

-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>

-  </url>

-  <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" os="WIN32,LINUX" version="1.1.1" ws="WIN32,MOTIF,GTK"/>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml
deleted file mode 100644
index 486d119..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-  <feature url="features/feature3" type="org.eclipse.update.tests.core.feature1"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile
deleted file mode 100644
index 240ab4f..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml
deleted file mode 100644
index fb5fe0e..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-  <feature url="features/feature3/features2.jarfile" type="org.eclipse.update.core.packaged"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile
deleted file mode 100644
index 240ab4f..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml
deleted file mode 100644
index daf372d..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-  <feature url="features/feature3/features2.jarfile" type="org.eclipse.update.core.unknowntype.jar"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar b/update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar
deleted file mode 100644
index 4b83c7e..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar b/update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar
deleted file mode 100644
index 4f1e991..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html b/update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

-<html>

-<head>

-</head>

-  <body>

-<img src="img/top_titlsm.gif" alt="" width="460" height="50">

-<br>

-<br>

-     It started with Smalltalk<br>

-    OTI has been building tools for platform-independent OO development since

-  1988. Our ENVY&reg; technology first brought collaborative software development,

-  version management and shared repositories to Smalltalk. IBM is one of

-many   companies to license ENVY, which continues to be the foundation of

-VisualAge&reg;   Smalltalk.<br>

-<br>

-<br>

-<br>

-      Next came Java&#8482;<br>

-    Because of our expertise in OO technology, IBM turned to OTI for a next-generation

-  development environment for Java. The result is VisualAge for Java, which

-  continues to win awards for its innovative IDE and team support. InfoWorld

-  has chosen VisualAge for Java as development tool of the year - year after

-  year after year!<br>

-<br>

-<br>

-<br>

-      Then pervasive computing<br>

-    OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art

-  platform for collaborative development of embedded applications and systems

-  that are very lean. As the steady stream of press releases attests, VisualAge

-  Micro Edition is already licensed to the leading microchip manufacturers,

-  microkernel developers, and producers of handheld and consumer devices.<br>

-<br>

-<br>

-<br>

-      Now it's Eclipse<br>

-    OTI has built the next generation IBM application development tools platform.

-  Eclipse is a kind of universal tool platform - an open extensible IDE for

-  anything and nothing in particular. The real value comes from tool plug-ins

-  that "teach" Eclipse how to work with things - java files, web content,

-graphics,  video - almost anything you can imagine. Eclipse allows you to

-independently  develop tools that integrate with other people's tools so

-seamlessly you won't know where one tool ends and another starts. The IBM

-supported version of this technology, WebSphere Studio Workbench, will be

-the core of the next  generation of IBM and IBM Business Partner e-business

-tools optimized for  the WebSphere software platform.<br>

-<br>

-<br>

-<br>

-      So what's next?<br>

-    OTI continues to deliver object-oriented technology that scales across

- platforms,  across teams and across project size. From a mainframe to a

-watch  - we're  closing in on that vision.<br>

-<br>

-<img src="img/wel_ml.jpg" width="460" height="460" alt="">

-<br>

-<br>

-<br>

-<br>

-<br>

-<br>

-</body>

-</html>

diff --git a/update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml
deleted file mode 100644
index 3b7890b..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="en,fr" os="WIN32,LINUX,HPUX" version="1.1.1" ws="WIN32,MOTIF,GTK"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index e01846c..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
-  <runtime>
-    <library name="junit.jar">
-      <export name="*"/>
-    </library>
-  </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/site.xml b/update/org.eclipse.update.tests.core/data/Site with space/site.xml
deleted file mode 100644
index 54928fb..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/site.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-<description url="info/siteInfo.html"/>

-  <feature url="features space/helpFeature.jar" type="org.eclipse.update.core.packaged">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature url="features space/space feature.jar" type="org.eclipse.update.core.packaged">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <feature url="install/features space/feature3/">

-    <category name="eclipse"/>

-  </feature>

-  <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins space/help.jar"/>

-  <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins space/Pde_core.jar"/>

-  <archive path="plugins/org.junit_3.5.0.jar" url="plugins space/junit_3.7.jar"/>

-  <archive path="plugins/org.eclipse.update.plugin1_1.1.1.jar" url="plugins space/org.eclipse.update.plugin1_1.1.1"/>  

-  <category-def label="IBM WSAD Tools" name="eclipse"/>

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>  

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile b/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile
deleted file mode 100644
index 240ab4f..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml b/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml
deleted file mode 100644
index 6f7165a..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.http">

-  <feature url="features/feature3/features2.jarfile"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar
deleted file mode 100644
index 9809713..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar
deleted file mode 100644
index f592c1d..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

-<html>

-<head>

-</head>

-  <body>

-<img src="img/top_titlsm.gif" alt="" width="460" height="50">

-<br>

-<br>

-     It started with Smalltalk<br>

-    OTI has been building tools for platform-independent OO development since

-  1988. Our ENVY&reg; technology first brought collaborative software development,

-  version management and shared repositories to Smalltalk. IBM is one of

-many   companies to license ENVY, which continues to be the foundation of

-VisualAge&reg;   Smalltalk.<br>

-<br>

-<br>

-<br>

-      Next came Java&#8482;<br>

-    Because of our expertise in OO technology, IBM turned to OTI for a next-generation

-  development environment for Java. The result is VisualAge for Java, which

-  continues to win awards for its innovative IDE and team support. InfoWorld

-  has chosen VisualAge for Java as development tool of the year - year after

-  year after year!<br>

-<br>

-<br>

-<br>

-      Then pervasive computing<br>

-    OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art

-  platform for collaborative development of embedded applications and systems

-  that are very lean. As the steady stream of press releases attests, VisualAge

-  Micro Edition is already licensed to the leading microchip manufacturers,

-  microkernel developers, and producers of handheld and consumer devices.<br>

-<br>

-<br>

-<br>

-      Now it's Eclipse<br>

-    OTI has built the next generation IBM application development tools platform.

-  Eclipse is a kind of universal tool platform - an open extensible IDE for

-  anything and nothing in particular. The real value comes from tool plug-ins

-  that "teach" Eclipse how to work with things - java files, web content,

-graphics,  video - almost anything you can imagine. Eclipse allows you to

-independently  develop tools that integrate with other people's tools so

-seamlessly you won't know where one tool ends and another starts. The IBM

-supported version of this technology, WebSphere Studio Workbench, will be

-the core of the next  generation of IBM and IBM Business Partner e-business

-tools optimized for  the WebSphere software platform.<br>

-<br>

-<br>

-<br>

-      So what's next?<br>

-    OTI continues to deliver object-oriented technology that scales across

- platforms,  across teams and across project size. From a mainframe to a

-watch  - we're  closing in on that vision.<br>

-<br>

-<img src="img/wel_ml.jpg" width="460" height="460" alt="">

-<br>

-<br>

-<br>

-<br>

-<br>

-<br>

-</body>

-</html>

diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml
deleted file mode 100644
index e3ea684..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site url = "artifacts/">
-<description url="info/siteInfo.html"/>
-  <feature url="features/helpFeature.jar" type="org.eclipse.update.core.packaged">
-    <category name="eclipse/UML"/>
-  </feature>
-  <feature url="features/org.eclipse.pde.feature_1.0.0.jar" type="org.eclipse.update.core.packaged">
-    <category name="eclipse/J2EE"/>
-  </feature>
-  <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins/help.jar"/>
-  <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins/Pde_core.jar"/>
-  <archive path="plugins/org.junit_3.5.0.jar" url="plugins/junit_3.7.jar"/>
-  <category-def label="IBM WSAD Tools" name="eclipse"/>
-  <category-def label="J2EE tools" name="eclipse/J2EE"/>
-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
-  <category-def label="UML tools" name="eclipse/UML"/>
-  <category-def label="Messaging Tools" name="B2B"/>  
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip
deleted file mode 100644
index 1a70b7e..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml
deleted file mode 100644
index 6b454ec..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0">

-	<install-handler handler="org.eclipse.update.core.DefaultInstallHandler"/>

-  	<data download-size="1500" id="file.zip" install-size="1000"/>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml
deleted file mode 100644
index c41f21d..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-<description url="info/siteInfo.html"/>

-  <feature url="install/features/feature3">

-  </feature>

-  <archive path="features/org.eclipse.update.core.tests.feature3_1.0.0/file.zip" url="file1.zip"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar
deleted file mode 100644
index 74c6eca..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip
deleted file mode 100644
index 1a70b7e..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml
deleted file mode 100644
index 040943c..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-<description url="info/siteInfo.html"/>

-  <feature url="features/features3.jar" type="org.eclipse.update.core.packaged">

-  </feature>

-  <archive path="features/org.eclipse.update.core.tests.feature3_1.0.0/file.zip" url="non data/another file.zip"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/features/features2.jar b/update/org.eclipse.update.tests.core/data/features/features2.jar
deleted file mode 100644
index e8d004d..0000000
--- a/update/org.eclipse.update.tests.core/data/features/features2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar
deleted file mode 100644
index 870a70d..0000000
--- a/update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar b/update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
deleted file mode 100644
index 9dc9463..0000000
--- a/update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar b/update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar
deleted file mode 100644
index 938ddc4..0000000
--- a/update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.project
deleted file mode 100644
index 5d52069..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>update-site1</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/build.log
deleted file mode 100644
index 3bce194..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/build.log
+++ /dev/null
@@ -1,318 +0,0 @@
-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin3.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin3.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin4.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin4.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature3_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/sitebuild.xml
deleted file mode 100644
index 1e700b9..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="update.feature1" version="1.0.0"/>
-   <feature id="update.feature2" version="1.0.0"/>
-   <feature id="update.feature3" version="1.0.0"/>
-</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar
deleted file mode 100644
index c812b0b..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar
deleted file mode 100644
index fbf1754..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar
deleted file mode 100644
index 8682a62..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar
deleted file mode 100644
index 8bbc7f3..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar
deleted file mode 100644
index 5d42583..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar
deleted file mode 100644
index aa94e52..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar
deleted file mode 100644
index c8cca28..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml
deleted file mode 100644
index 163f7bb..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/update.feature1_1.0.0.jar" id="update.feature1" version="1.0.0">
-      <category name="Site1-Category1"/>
-   </feature>
-   <feature url="features/update.feature2_1.0.0.jar" id="update.feature2" version="1.0.0">
-      <category name="Site1-Category2"/>
-   </feature>
-   <feature url="features/update.feature3_1.0.0.jar" id="update.feature3" version="1.0.0">
-      <category name="Site1-Category3"/>
-   </feature>
-   <category-def name="Site1-Category1" label="Site1-Category1-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-   <category-def name="Site1-Category2" label="Site1-Category2-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-   <category-def name="Site1-Category3" label="Site1-Category3-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-</site>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.project
deleted file mode 100644
index a4b687e..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>update-site2</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/build.log
deleted file mode 100644
index e977850..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/build.log
+++ /dev/null
@@ -1,203 +0,0 @@
-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin2.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/sitebuild.xml
deleted file mode 100644
index 2258820..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="update.feature1" version="1.0.1"/>
-   <feature id="update.feature2" version="1.0.1"/>
-</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature1_1.0.0.jar
deleted file mode 100644
index 5175b4a..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature2_1.0.0.jar
deleted file mode 100644
index d1660b9..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin1_1.0.0.jar
deleted file mode 100644
index d815f20..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin2_1.0.0.jar
deleted file mode 100644
index dec5f4c..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/site.xml
deleted file mode 100644
index f1d4b71..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/site.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/update.feature1_1.0.1.jar" id="update.feature1" version="1.0.1"/>
-   <feature url="features/update.feature2_1.0.1.jar" id="update.feature2" version="1.0.1"/>
-</site>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.project
deleted file mode 100644
index 0ddb6b7..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>update-site3</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/build.log
deleted file mode 100644
index 4a2ee01..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/build.log
+++ /dev/null
@@ -1,318 +0,0 @@
-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2a.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin2a.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin2.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2b_2.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml
deleted file mode 100644
index e3510b0..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="update.feature1b" version="2.0.0"/>
-   <feature id="update.feature2b" version="2.0.0"/>
-</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar
deleted file mode 100644
index 6b9a876..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar
deleted file mode 100644
index 97bb70f..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar
deleted file mode 100644
index ee2d41d..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar
deleted file mode 100644
index 97183c7..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar
deleted file mode 100644
index e31b28e..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar
deleted file mode 100644
index 557ba5d..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/site.xml
deleted file mode 100644
index e28506b..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/update.feature1b_2.0.0.jar" id="update.feature1b" version="2.0.0">
-      <category name="Site3-Category1"/>
-   </feature>
-   <feature url="features/update.feature2b_2.0.0.jar" id="update.feature2b" version="2.0.0">
-      <category name="Site3-Category2"/>
-   </feature>
-   <category-def name="Site3-Category1" label="Site3-Category1-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-   <category-def name="Site3-Category2" label="Site3-Category2-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-</site>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.project
deleted file mode 100644
index 8a07aaf..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>update-site4</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log
deleted file mode 100644
index 1cfe8e3..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log
+++ /dev/null
@@ -1,791 +0,0 @@
-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin1.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin1.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin1.jar

-Target finished: plugin1.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin1.jar

-Target finished: plugin1.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin1a.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin1a.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.features

-Target started: all.plugins

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature1c_3.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature1_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature1_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature1b_2.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Target finished: all.features

-Target started: all.plugins

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml
deleted file mode 100644
index 47cb017..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="update.feature1c" version="3.0.0"/>
-</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar
deleted file mode 100644
index 78d2f28..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar
deleted file mode 100644
index eeb0b6f..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar
deleted file mode 100644
index 31b6bcb..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar
deleted file mode 100644
index 3753305..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar
deleted file mode 100644
index 3e0760f..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar
deleted file mode 100644
index 634eb07..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml
deleted file mode 100644
index 2c73cbe..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/update.feature1c_3.0.0.jar" id="update.feature1c" version="3.0.0">
-      <category name="Site4-Category1"/>
-   </feature>
-   <category-def name="Site4-Category1" label="Site4-Category1-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-</site>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project
deleted file mode 100644
index 0a93302..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>update-site5</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log
deleted file mode 100644
index db44faa..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log
+++ /dev/null
@@ -1,791 +0,0 @@
-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin2.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2.jar

-Target finished: plugin2.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2a.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin2a.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2.jar

-Target finished: plugin2.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.features

-Target started: all.plugins

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2c_3.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2b_2.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Target finished: all.features

-Target started: all.plugins

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml
deleted file mode 100644
index 49243d3..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="update.feature1c" version="3.0.0"/>
-   <feature id="update.feature2c" version="3.0.0"/>
-</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar
deleted file mode 100644
index 152d9e2..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar
deleted file mode 100644
index eeb0b6f..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar
deleted file mode 100644
index 49b0764..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar
deleted file mode 100644
index d426f86..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar
deleted file mode 100644
index b070ccd..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar
deleted file mode 100644
index e48ac05..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar
deleted file mode 100644
index 00037df..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar
deleted file mode 100644
index 3543749..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar
deleted file mode 100644
index 632cc3f..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar
deleted file mode 100644
index dbc8a88..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar
deleted file mode 100644
index a3cd0fb..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml
deleted file mode 100644
index 6e26db1..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/update.feature1c_3.0.0.jar" id="update.feature1c" version="3.0.0">
-      <category name="Site5-Category1"/>
-   </feature>
-   <feature url="features/update.feature2c_3.0.0.jar" id="update.feature2c" version="3.0.0">
-      <category name="Site5-Category2"/>
-   </feature>
-   <category-def name="Site5-Category1" label="Site5-Category1-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-   <category-def name="Site5-Category2" label="Site5-Category2-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-</site>
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
deleted file mode 100644
index 6658034..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/rootfeature.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/rootfeature.jar
deleted file mode 100644
index b011050..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/rootfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 5d9f5bc..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 8b4b04a..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
deleted file mode 100644
index 52208fe..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/site.xml b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/site.xml
deleted file mode 100644
index 623cb1a..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature url="features/rootfeature.jar"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/childrenfeature.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/childrenfeature.jar
deleted file mode 100644
index 7e057e6..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/childrenfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/rootfeature.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/rootfeature.jar
deleted file mode 100644
index 38a0a3c..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/rootfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 5d9f5bc..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 8b4b04a..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
deleted file mode 100644
index 52208fe..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/site.xml b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/site.xml
deleted file mode 100644
index 1752da2..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature url="features/rootfeature.jar"/>
-  <feature url="features/childrenfeature.jar"/>  
-  
-  <archive path="features/org.eclipse.update.core.tests.childrenfeature_2.1.0.jar" url="features/childrenfeature.jar"/>  
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/childrenfeature.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/childrenfeature.jar
deleted file mode 100644
index 12ee4ba..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/childrenfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/rootfeature.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/rootfeature.jar
deleted file mode 100644
index 899bdda..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/rootfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 5d9f5bc..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 8b4b04a..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
deleted file mode 100644
index 52208fe..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/site.xml b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/site.xml
deleted file mode 100644
index 4f696ba..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/site.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature url="features/rootfeature.jar"/>
-  
-  <archive path="features/org.eclipse.update.core.tests.childrenfeature_2.1.0.jar" url="features/childrenfeature.jar"/>  
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature1.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature1.xml
deleted file mode 100644
index 93d7080..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature1.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-   id="org.eclipse.platform"
-   version="2.1.0"
-   label="Eclipse Platform"
-   provider-name="www.eclipse.org"
-   image="splash/splash_full.bmp"
-   >
-
-	<license>
-    	 license
-	</license>
-
-   <copyright url="notice.html"/>
-   x
-	
-   <license url="about.html">
-   x
-   </license>
-
-   <url>
-      <update url="file:/D:/" label="Eclipse Update Site"/>
-   </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature1bis.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature1bis.xml
deleted file mode 100644
index e855f97..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature1bis.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-   id="org.eclipse.platform"
-   version="2.1.0"
-   label="Eclipse Platform"
-   provider-name="www.eclipse.org"
-   image="splash/splash_full.bmp"
-   >
-
-   <description>
-   Eclipse platform feature.
-   </description>
-
-   <copyright url="notice.html"/>
-   <blah />
-	
-   <license url="about.html">
-
-   </license>
-
-   <url>
-      <update url="file:/D:/" label="Eclipse Update Site"/>
-   </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature2.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature2.xml
deleted file mode 100644
index 9c2df9b..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature2.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-   id="org.eclipse.platform"
-   version="2.1.0"
-   label="Eclipse Platform"
-   provider-name="www.eclipse.org"
-   image="splash/splash_full.bmp"
-   blah="blah"
-   >
-
-   <description blah="blah">
-   Eclipse platform feature.
-   </description>
-
-   <copyright url="notice.html" blah="blah"/>
-	
-   <license url="about.html" blah="blah">
-   </license>
-
-   <url blah="blah">
-      <update url="file:/D:/" label="Eclipse Update Site" blah="blah"/>
-   </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature3.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature3.xml
deleted file mode 100644
index ca660be..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature3.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-   id="org.eclipse.platform"
-   version="2.1.0"
-   label="Eclipse Platform"
-   provider-name="www.eclipse.org"
-   image="splash/splash_full.bmp"
-   >
-
-   <description>
-   Eclipse platform feature.
-   </description>
-
-   <copyright url="$os$/$ws$/notice.html"/>
-   x
-	
-   <license url="about.html">
-   x
-   </license>
-
-   <url>
-      <update url="file:/D:/" label="Eclipse Update Site"/>
-   </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature4.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature4.xml
deleted file mode 100644
index 17187c9..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature4.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-   id="org.eclipse.platform"
-   version="2.1.0"
-   label="Eclipse Platform"
-   provider-name="www.eclipse.org"
-   image="splash/splash_full.bmp"
-   >
-
-   <description>
-   Eclipse platform feature.
-   </description>
-
-   <copyright url="$os$/$ws$/notice.html"/>
-   x
-	
-   <license url="about.html">
-   x
-   </license>
-
-   <url>
-      <update url="file:/D:/" label="Eclipse Update Site"/>
-      <discovery url="file:/c:/" label = "Discovery" type="web"/>
-   </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/reddot.xml b/update/org.eclipse.update.tests.core/data/parsertests/reddot.xml
deleted file mode 100644
index f3f1701..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/reddot.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>

-<site url="info/siteInfo.html">

-<feature url="features/reddot_1.0.0.jar"> 

-<category name="reddot"/>

-</feature>

-<feature url="features/reddot_2.1.0.jar">

-<category name="reddot"/>

-</feature>

-<archive path="com.reddot.redot_1.0.0" url="plugins/com.reddot.reddot_1.0.0.jar"/>

-<archive path="com.reddot.redot_2.1.0" url="plugins/com.reddot.reddot_2.1.0.jar"/>

-<category-def label="Red Dot Versions" name="reddot">

-<description url="RedDotVersions.html">

-This category contains all of the &lt;currently&gt; available versions of Red Dot feature.

-<![CDATA[<greeting>Hello, world!</greeting>]]>

-</description>

-</category-def>

-</site>

-

-

diff --git a/update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml b/update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml
deleted file mode 100644
index 074490e..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>

-<site url="info/siteInfo.html">

-<feature url="features/reddot_1.0.0.jar"> 

-<category name="reddot"/>

-</feature>

-<feature url="features/reddot_2.1.0.jar">

-<category name="reddot"/>

-</feature>

-<archive path="com.reddot.redot_1.0.0" url="plugins/com.reddot.reddot_1.0.0.jar"/>

-<archive path="com.reddot.redot_2.1.0" url="plugins/com.reddot.reddot_2.1.0.jar"/>

-<category-def label="Red Dot Versions" name="reddot">

-<description url="RedDotVersions.html">

-This category contains all of the &lt;currently&gt; available versions of Red Dot feature.

-</description>

-</category-def>

-</site>

-

-

diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site.properties b/update/org.eclipse.update.tests.core/data/parsertests/site.properties
deleted file mode 100644
index 8e1ced4..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site.properties
+++ /dev/null
@@ -1,12 +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

-###############################################################################

-drivers=Required Drivers

-security=Security Fixes
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site.xml b/update/org.eclipse.update.tests.core/data/parsertests/site.xml
deleted file mode 100644
index b40d831..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file">

-  <handler>

-  	<boo class ="unknown"/>

-  </handler>

-  

-  <feature url="features/org.eclipse.test.feature_1.0.0.jar">

-    <category name="category1"/>

-  </feature>

-  

-  <feature url="features/features2.jar">

-    <category name="category1/subcat1"/>

-    <category name="category2"/>

-  </feature>

-  

-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">

-    <category name="category1"/>

-    <category name="category2"/>

-    <blah/>

-  </feature>

-  

-  <feature url="features/org.eclipse_test_feature.jar"/>

-  

-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">

-    <category name="category1"/>

-  </feature>

-  

-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">

-  </feature>

-  

-  <archive path="plugins/hello" >

-  	<default/>

-  </archive>

-

-  <category-def name="category2" label="%security"/>

-  <category-def name="category1/subcat1" label="Special Fix"/>

-  <category-def name="category1" label="%drivers"/>  

-

-

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site10.xml b/update/org.eclipse.update.tests.core/data/parsertests/site10.xml
deleted file mode 100644
index e42680d..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site10.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file" blah="blah">
-  
-  <feature url="features/org.eclipse.test.feature_1.0.0.jar" blah="blah" id="org.eclipse.test.feature" version="1.0.0"/>
-  
-  <feature url="features/features2.jar" id="unknwon.id" version="bad version"/>
-  
-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar" id="only.id"/>
-    
-  <feature url="features/org.eclipse_test_feature.jar" version="1.0.0"/>
-  
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site2.xml b/update/org.eclipse.update.tests.core/data/parsertests/site2.xml
deleted file mode 100644
index 007550e..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site2.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature id="com.ibm.jdt" url="http://www.not-eclipse.org/feature3" version="1.0.0"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site3.xml b/update/org.eclipse.update.tests.core/data/parsertests/site3.xml
deleted file mode 100644
index dbbb682..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site3.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature id="com.ibm.jdt" url="feature3/feature.jar" version="1.0.0">
-        <category name="unknown"/>
-  </feature>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site4.xml b/update/org.eclipse.update.tests.core/data/parsertests/site4.xml
deleted file mode 100644
index 41b7d16..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site4.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<site>
-   <description url="info/siteInfo.html"/>
-
-  <category-def label="Red Dot Versions" name="reddot">
-      <description url="RedDotVersions.html">
-         This category contains all of the currently available versions of Red Dot feature.
-      </description>
-   </category-def>
-   
-   <feature url="features/com.reddot.reddot_1.0.0.jar">
-      <category name="reddot"/>
-   </feature>
-
-   <feature url="features/com.reddot.reddot_2.1.0.jar">
-      <category name="reddot"/>
-   </feature>
-
- 
-</site>   
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site7.xml b/update/org.eclipse.update.tests.core/data/parsertests/site7.xml
deleted file mode 100644
index 2190d70..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site7.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file">
-  <handler>
-  	<boo class ="unknown"/>
-  </handler>
-  
-  <feature url="features/org.eclipse.test.feature_1.0.0.jar">
-    <category name="category1"/>
-  </feature>
-  
-  <feature url="features/features2.jar">
-    <category name="category1/subcat1"/>
-    <category name="category2"/>
-  </feature>
-  
-  <blah/>
-  
-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">
-    <category name="category1"/>
-    <category name="category2"/>
-    <blah/>
-  </feature>
-  
-  <feature url="features/org.eclipse_test_feature.jar"/>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-    <category name="category1"/>
-  </feature>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-  </feature>
-  
-  <archive path="plugins/hello" >
-  	<default/>
-  </archive>
-
-  <category-def name="category2" label="%security"/>
-  <category-def name="category1/subcat1" label="Special Fix"/>
-  <category-def name="category1" label="%drivers"/>  
-
-
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site8.xml b/update/org.eclipse.update.tests.core/data/parsertests/site8.xml
deleted file mode 100644
index afcbaa1..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site8.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file">
-  <handler>
-  	<boo class ="unknown"/>
-  </handler>
-  
-  <feature url="features/org.eclipse.test.feature_1.0.0.jar">
-    <category name="category1"/>
-  </feature>
-  
-  <feature url="features/features2.jar">
-    <category name="category1/subcat1"/>
-    <category name="category2"/>
-  </feature>
-  xcxgfsdfgsdsd
-  
-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">
-    <category name="category1"/>
-    <category name="category2"/>
-    <blah/>
-  </feature>
-  
-  <feature url="features/org.eclipse_test_feature.jar"/>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-    <category name="category1"/>
-  </feature>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-  </feature>
-  
-  <archive path="plugins/hello" >
-  	<default/>
-  </archive>
-
-  <category-def name="category2" label="%security"/>
-  <category-def name="category1/subcat1" label="Special Fix"/>
-  <category-def name="category1" label="%drivers"/>  
-
-
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site9.xml b/update/org.eclipse.update.tests.core/data/parsertests/site9.xml
deleted file mode 100644
index f38c5a4..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site9.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file" blah="blah">
-  <handler blah="blah">
-  	<boo class ="unknown" blah="blah"/>
-  </handler>
-  
-  <feature url="features/org.eclipse.test.feature_1.0.0.jar" blah="blah">
-    <category name="category1" blah="blah" />
-  </feature>
-  
-  <feature url="features/features2.jar">
-    <category name="category1/subcat1"/>
-    <category name="category2"/>
-  </feature>
-  
-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">
-    <category name="category1"/>
-    <category name="category2"/>
-    <blah/>
-  </feature>
-  
-  <feature url="features/org.eclipse_test_feature.jar"/>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-    <category name="category1"/>
-  </feature>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-  </feature>
-  
-  <archive path="plugins/hello" blah="blah">
-  	<default blah="blah"/>
-  </archive>
-
-  <category-def name="category2" label="%security" blah="blah"/>
-  <category-def name="category1/subcat1" label="Special Fix" blah="blah"/>
-  <category-def name="category1" label="%drivers"/>  
-
-
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml b/update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml
deleted file mode 100644
index f883ec0..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.tests.core.ftp">
-  <feature url="features/feature3/features2.jarfile"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.classpath b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.classpath
deleted file mode 100644
index 88acb39..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="/org.eclipse.update.core"/>
-	<classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-	<classpathentry kind="src" path="/org.eclipse.ui"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.project
deleted file mode 100644
index 1ebc505..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>FeatureWithInstallHandler</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/FeatureWithInstallHandler_1.0.0.jar b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/FeatureWithInstallHandler_1.0.0.jar
deleted file mode 100644
index 695b722..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/FeatureWithInstallHandler_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI$1.class b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI$1.class
deleted file mode 100644
index 57291b0..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI$1.class
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI.class b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI.class
deleted file mode 100644
index fe8e881..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI.class
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/build.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/build.properties
deleted file mode 100644
index f3794db..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.handler.jar = src/,\
-                     bin/
-output.handler.jar = bin/
-bin.includes = feature.xml,\
-               handler.jar
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/feature.xml
deleted file mode 100644
index 8b90ea7..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/feature.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="FeatureWithInstallHandler"
-      label="FeatureWithInstallHandler"
-      version="1.0.0">
-
-   <install-handler library="handler.jar" handler="HandlerWithUI" />
-
-   <description url="[Enter Feature URL here.]">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="[Enter Copyright URL here.]">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="[Enter License URL here.]">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="org.apache.lucene"
-         download-size="0"
-         install-size="0"
-         version="1.3.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/handler.jar b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/handler.jar
deleted file mode 100644
index 87bc244..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/handler.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/src/HandlerWithUI.java b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/src/HandlerWithUI.java
deleted file mode 100644
index 4c80d69..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/src/HandlerWithUI.java
+++ /dev/null
@@ -1,135 +0,0 @@
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.*;
-/*
- * Created on Oct 1, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-
-/**
- * @author birsan
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class HandlerWithUI implements IInstallHandler {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#completeConfigure()
-	 */
-	public void completeConfigure() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("completeConfigure()");
-
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#completeInstall(org.eclipse.update.core.IFeatureContentConsumer)
-	 */
-	public void completeInstall(IFeatureContentConsumer consumer)
-			throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("completeInstall()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#completeUnconfigure()
-	 */
-	public void completeUnconfigure() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("completeInstall()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#completeUninstall()
-	 */
-	public void completeUninstall() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("completeUninstall()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#configureCompleted(boolean)
-	 */
-	public void configureCompleted(boolean success) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("configureCompleted()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#configureInitiated()
-	 */
-	public void configureInitiated() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("configureInitiated()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#initialize(int, org.eclipse.update.core.IFeature, org.eclipse.update.core.IInstallHandlerEntry, org.eclipse.update.core.InstallMonitor)
-	 */
-	public void initialize(int type, IFeature feature,
-			IInstallHandlerEntry entry, InstallMonitor monitor)
-			throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("initialize()");
-		Display.getDefault().asyncExec( new Runnable() {
-			public void run() {
-				MessageDialog.openInformation(Display.getDefault().getActiveShell(), "InstallHandler", "This is a dummy message");
-			}
-		});
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#installCompleted(boolean)
-	 */
-	public void installCompleted(boolean success) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("installCompleted()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#installInitiated()
-	 */
-	public void installInitiated() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("installInitiated()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#nonPluginDataDownloaded(org.eclipse.update.core.INonPluginEntry[], org.eclipse.update.core.IVerificationListener)
-	 */
-	public void nonPluginDataDownloaded(INonPluginEntry[] nonPluginData,
-			IVerificationListener listener) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("nonPluginDataDownloaded()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#pluginsDownloaded(org.eclipse.update.core.IPluginEntry[])
-	 */
-	public void pluginsDownloaded(IPluginEntry[] plugins) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("pluginsDownloaded()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#unconfigureCompleted(boolean)
-	 */
-	public void unconfigureCompleted(boolean success) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("unconfigureCompleted()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#unconfigureInitiated()
-	 */
-	public void unconfigureInitiated() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("unconfigureInitiated()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#uninstallCompleted(boolean)
-	 */
-	public void uninstallCompleted(boolean success) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("uninstallCompleted()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#uninstallInitiated()
-	 */
-	public void uninstallInitiated() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("uninstallInitiated()");
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/cpl-v10.html
deleted file mode 100644
index 95416c1..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Common Public License - v 1.0</title>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-</head>
-<body bgcolor="#FFFFFF" vlink="#800000">
-<p style="font-weight: bold; text-align: center">Common Public
-License - v 1.0</p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF
-THIS AGREEMENT.</p>
-
-<p style="font-weight: bold">1. DEFINITIONS</p>
-
-<p>"Contribution" means:</p>
-
-<div style="margin-left: 2em">a) in the case of the initial
-Contributor, the initial code and documentation distributed under
-this Agreement, and<br clear="LEFT" />
-b) in the case of each subsequent Contributor:</div>
-
-<div style="margin-left: 2em">i) changes to the Program, and</div>
-
-<div style="margin-left: 2em">ii) additions to the Program;</div>
-
-<div style="margin-left: 2em">where such changes and/or additions
-to the Program originate from and are distributed by that
-particular Contributor. A Contribution 'originates' from a
-Contributor if it was added to the Program by such Contributor
-itself or anyone acting on such Contributor's behalf. Contributions
-do not include additions to the Program which: (i) are separate
-modules of software distributed in conjunction with the Program
-under their own license agreement, and (ii) are not derivative
-works of the Program.</div>
-
-<p>"Contributor" means any person or entity that distributes the
-Program.</p>
-
-<p>"Licensed Patents " mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of
-its Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance with
-this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under this
-Agreement, including all Contributors.</p>
-
-<p style="font-weight: bold">2. GRANT OF RIGHTS</p>
-
-<div style="margin-left: 2em">a) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free copyright license to
-reproduce, prepare derivative works of, publicly display, publicly
-perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and
-object code form.</div>
-
-<div style="margin-left: 2em">b) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free patent license under
-Licensed Patents to make, use, sell, offer to sell, import and
-otherwise transfer the Contribution of such Contributor, if any, in
-source code and object code form. This patent license shall apply
-to the combination of the Contribution and the Program if, at the
-time the Contribution is added by the Contributor, such addition of
-the Contribution causes such combination to be covered by the
-Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</div>
-
-<div style="margin-left: 2em">c) Recipient understands that
-although each Contributor grants the licenses to its Contributions
-set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual
-property rights of any other entity. Each Contributor disclaims any
-liability to Recipient for claims brought by any other entity based
-on infringement of intellectual property rights or otherwise. As a
-condition to exercising the rights and licenses granted hereunder,
-each Recipient hereby assumes sole responsibility to secure any
-other intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</div>
-
-<div style="margin-left: 2em">d) Each Contributor represents that
-to its knowledge it has sufficient copyright rights in its
-Contribution, if any, to grant the copyright license set forth in
-this Agreement.</div>
-
-<p style="font-weight: bold">3. REQUIREMENTS</p>
-
-<p>A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:</p>
-
-<div style="margin-left: 2em">a) it complies with the terms and
-conditions of this Agreement; and</div>
-
-<div style="margin-left: 2em">b) its license agreement:</div>
-
-<div style="margin-left: 2em">i) effectively disclaims on behalf of
-all Contributors all warranties and conditions, express and
-implied, including warranties or conditions of title and
-non-infringement, and implied warranties or conditions of
-merchantability and fitness for a particular purpose;</div>
-
-<div style="margin-left: 2em">ii) effectively excludes on behalf of
-all Contributors all liability for damages, including direct,
-indirect, special, incidental and consequential damages, such as
-lost profits;</div>
-
-<div style="margin-left: 2em">iii) states that any provisions which
-differ from this Agreement are offered by that Contributor alone
-and not by any other party; and</div>
-
-<div style="margin-left: 2em">iv) states that source code for the
-Program is available from such Contributor, and informs licensees
-how to obtain it in a reasonable manner on or through a medium
-customarily used for software exchange.</div>
-
-<p>When the Program is made available in source code form:</p>
-
-<div style="margin-left: 2em">a) it must be made available under
-this Agreement; and</div>
-
-<div style="margin-left: 2em">b) a copy of this Agreement must be
-included with each copy of the Program.</div>
-
-<p>Contributors may not remove or alter any copyright notices
-contained within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p style="font-weight: bold">4. COMMERCIAL DISTRIBUTION</p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and
-the like. While this license is intended to facilitate the
-commercial use of the Program, the Contributor who includes the
-Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors.
-Therefore, if a Contributor includes the Program in a commercial
-product offering, such Contributor ("Commercial Contributor")
-hereby agrees to defend and indemnify every other Contributor
-("Indemnified Contributor") against any losses, damages and costs
-(collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified
-Contributor to the extent caused by the acts or omissions of such
-Commercial Contributor in connection with its distribution of the
-Program in a commercial product offering. The obligations in this
-section do not apply to any claims or Losses relating to any actual
-or alleged intellectual property infringement. In order to qualify,
-an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial
-Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any
-such claim at its own expense.</p>
-
-<p>For example, a Contributor might include the Program in a
-commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes
-performance claims, or offers warranties related to Product X,
-those performance claims and warranties are such Commercial
-Contributor's responsibility alone. Under this section, the
-Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and
-warranties, and if a court requires any other Contributor to pay
-any damages as a result, the Commercial Contributor must pay those
-damages.</p>
-
-<p style="font-weight: bold">5. NO WARRANTY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient
-is solely responsible for determining the appropriateness of using
-and distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement, including but not
-limited to the risks and costs of program errors, compliance with
-applicable laws, damage to or loss of data, programs or equipment,
-and unavailability or interruption of operations.</p>
-
-<p style="font-weight: bold">6. DISCLAIMER OF LIABILITY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER
-RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p style="font-weight: bold">7. GENERAL</p>
-
-<p>If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and
-without further action by the parties hereto, such provision shall
-be reformed to the minimum extent necessary to make such provision
-valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against a Contributor
-with respect to a patent applicable to software (including a
-cross-claim or counterclaim in a lawsuit), then any patent licenses
-granted by that Contributor to such Recipient under this Agreement
-shall terminate as of the date such litigation is filed. In
-addition, if Recipient institutes patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the
-Program with other software or hardware) infringes such Recipient's
-patent(s), then such Recipient's rights granted under Section 2(b)
-shall terminate as of the date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions of
-this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all
-Recipient's rights under this Agreement terminate, Recipient agrees
-to cease use and distribution of the Program as soon as reasonably
-practicable. However, Recipient's obligations under this Agreement
-and any licenses granted by Recipient relating to the Program shall
-continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions
-(including revisions) of this Agreement from time to time. No one
-other than the Agreement Steward has the right to modify this
-Agreement. IBM is the initial Agreement Steward. IBM may assign the
-responsibility to serve as the Agreement Steward to a suitable
-separate entity. Each new version of the Agreement will be given a
-distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new
-version of the Agreement is published, Contributor may elect to
-distribute the Program (including its Contributions) under the new
-version. Except as expressly stated in Sections 2(a) and 2(b)
-above, Recipient receives no rights or licenses to the intellectual
-property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are
-reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each
-party waives its rights to a jury trial in any resulting
-litigation.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.properties
deleted file mode 100644
index f8cfdf4..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.properties
+++ /dev/null
@@ -1,141 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-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 - Initial API and implementation
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.2 2004/05/26 15:16:28 marcelop Exp $
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Modeling Framework (EMF) Documentation
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Modeling Framework. (documentation)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.xml
deleted file mode 100644
index 09363e7..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/**
- * <copyright>
- *
- * Copyright (c) 2002-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 - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: feature.xml,v 1.1 2004/03/06 17:31:31 marcelop Exp $
- */
--->
-
-<feature
-	id="org.eclipse.emf.doc"
-    label="%featureName"
-    version="2.0.0"
-    image= "eclipse_update_120.jpg"
-    provider-name="%providerName">
-
-	<description>
-    	%description
-	</description>
-
-    <license url="%licenseURL">
-		%license
-	</license>
-
-	<url>
-		<update url="http://update.eclipse.org/updates" label="%updateSiteName"/>
-	</url>
-
-	<plugin
-		id="org.eclipse.emf.doc"
-        download-size="0"
-        install-size="0"   		
-		version="2.0.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/license.html
deleted file mode 100644
index 07a5e18..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/license.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-<title>Eclipse.org Software User Agreement</title>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<h2>Eclipse.org Software User Agreement</h2>
-
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY
-"CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND
-CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF
-LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY
-USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
-GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY
-NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by
-Eclipse.org is provided to you under the terms and conditions of
-the Common Public License Version 1.0 ("CPL"). A copy of the CPL is
-provided with this Content and is also 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, "Program" will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object
-code, documentation and other files maintained in the Eclipse.org
-CVS repository ("Repository") in CVS modules ("Modules") and made
-available as downloadable archives ("Downloads").</p>
-
-<p>Content may be apportioned into plug-ins ("Plug-ins"), plug-in
-fragments ("Fragments"), and features ("Features"). A Feature is a
-bundle of one or more Plug-ins and/or Fragments and associated
-material. Files named "feature.xml" may contain a list of the names
-and version numbers of the Plug-ins and/or Fragments associated
-with a Feature. Plug-ins and Fragments are located in directories
-named "plugins" and Features are located in directories named
-"features".</p>
-
-<p>Features may also include other Features ("Included Features").
-Files named "feature.xml" may contain a list of the names and
-version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should
-be contained in files named "about.html" ("Abouts"). The terms and
-conditions governing Features and Included Features should be
-contained in files named "license.html" ("Feature Licenses").
-Abouts and Feature Licenses may be located in any directory of a
-Download or Module including, but not limited to the following
-locations:</p>
-
-<ul>
-<li>The top-level (root) directory</li>
-
-<li>Plug-in and Fragment directories</li>
-
-<li>Subdirectories of the directory named "src" of certain
-Plug-ins</li>
-
-<li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by Eclipse.org is installed
-using the Eclipse Update Manager, you must agree to a license
-("Feature Update License") during the installation process. If the
-Feature contains Included Features, the Feature Update License
-should either provide you with the terms and conditions governing
-the Included Features or inform you where you can locate them.
-Feature Update Licenses may be found in the "license" property of
-files named "feature.properties". Such Abouts, Feature Licenses and
-Feature Update Licenses contain the terms and conditions (or
-references to such terms and conditions) that govern your use of
-the associated Content in that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY
-REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
-CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
-ARE NOT LIMITED TO):</p>
-
-<ul>
-<li>Apache Software License 1.1 (available at <a
-href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-
-<li>IBM Public License 1.0 (available at <a
-href="http://oss.software.ibm.com/developerworks/opensource/license10.html">
-http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
-
-<li>Metro Link Public License 1.00 (available at <a
-href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">
-http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-<li>Mozilla Public License Version 1.1 (available at <a
-href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
-CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature
-License or Feature Update License is provided, please contact
-Eclipse.org to determine what terms and conditions govern that
-particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which
-you are currently may have restrictions on the import, possession,
-and use, and/or re-export to another country, of encryption
-software. BEFORE using any encryption software, please check the
-country's laws, regulations and policies concerning the import,
-possession, or use, and re-export of encryption software, to see if
-this is permitted.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 3a4d639..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.properties
deleted file mode 100644
index 0c94af5..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.properties
+++ /dev/null
@@ -1,141 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-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 - Initial API and implementation
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/03/26 15:24:15 marcelop Exp $ 
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=EMF Service Data Objects (SDO) Documentation
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=EMF Service Data Objects (SDO) Documentation
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.xml
deleted file mode 100644
index 1dfb44a..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/**
- * <copyright>
- *
- * Copyright (c) 2003-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 - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: feature.xml,v 1.2 2004/03/26 15:32:13 marcelop Exp $
- */
--->
-
-<feature
-	id="org.eclipse.emf.ecore.sdo.doc"
-    label="%featureName"
-    version="2.0.0"
-    image= "eclipse_update_120.jpg"
-    provider-name="%providerName">
-
-	<description>
-    	%description
-	</description>
-
-    <license url="%licenseURL">
-		%license
-	</license>
-
-	<url>
-		<update url="http://update.eclipse.org/updates" label="%updateSiteName"/>
-	</url>
-
-	<plugin
-		id="org.eclipse.emf.ecore.sdo.doc"
-        download-size="0"
-        install-size="0"   		
-		version="2.0.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 3a4d639..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.properties
deleted file mode 100644
index faf0eed..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.properties
+++ /dev/null
@@ -1,141 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-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 - Initial API and implementation
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/03/26 15:24:15 marcelop Exp $ 
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=EMF Service Data Objects (SDO) Source
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=EMF Service Data Objects (SDO) Source
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.xml
deleted file mode 100644
index ba5d87d..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.emf.ecore.sdo.source"  version="2.0.0">
-	<description >
-		%description
-	</description>
-	<copyright url="http://www.eclipse.org/legal/cpl-v10.html">
-		Copyright (c) 2002-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
-	</copyright>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/"/>
-		<discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/tools/emf/updates/"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.emf.ecore.sdo.source" version="2.0.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 3a4d639..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.properties
deleted file mode 100644
index 7d4ad3d..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-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 - Initial API and implementation
-#  *
-#  * </copyright>
-#  *
-#  * $id$
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=EMF Service Data Objects (SDO)
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=EMF Service Data Objects (SDO).
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
-
-# "secondaryUpdateSiteName" property - label for the secondary update site (on download.eclipse.org)
-secondaryUpdateSiteName=EMF/SDO/XSD Secondary Update Site
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.xml
deleted file mode 100644
index f04662b..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.emf.ecore.sdo"
-      label="%featureName"
-      version="2.0.0"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/cpl-v10.html">
-      Copyright (c) 2002-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
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/"/>
-      <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/tools/emf/updates/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.resources" version="3.0.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.ecore" version="2.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.emf.commonj.sdo"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.sdo"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.sdo.edit"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.sdo.editor"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/cpl-v10.html
deleted file mode 100644
index 95416c1..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Common Public License - v 1.0</title>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-</head>
-<body bgcolor="#FFFFFF" vlink="#800000">
-<p style="font-weight: bold; text-align: center">Common Public
-License - v 1.0</p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF
-THIS AGREEMENT.</p>
-
-<p style="font-weight: bold">1. DEFINITIONS</p>
-
-<p>"Contribution" means:</p>
-
-<div style="margin-left: 2em">a) in the case of the initial
-Contributor, the initial code and documentation distributed under
-this Agreement, and<br clear="LEFT" />
-b) in the case of each subsequent Contributor:</div>
-
-<div style="margin-left: 2em">i) changes to the Program, and</div>
-
-<div style="margin-left: 2em">ii) additions to the Program;</div>
-
-<div style="margin-left: 2em">where such changes and/or additions
-to the Program originate from and are distributed by that
-particular Contributor. A Contribution 'originates' from a
-Contributor if it was added to the Program by such Contributor
-itself or anyone acting on such Contributor's behalf. Contributions
-do not include additions to the Program which: (i) are separate
-modules of software distributed in conjunction with the Program
-under their own license agreement, and (ii) are not derivative
-works of the Program.</div>
-
-<p>"Contributor" means any person or entity that distributes the
-Program.</p>
-
-<p>"Licensed Patents " mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of
-its Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance with
-this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under this
-Agreement, including all Contributors.</p>
-
-<p style="font-weight: bold">2. GRANT OF RIGHTS</p>
-
-<div style="margin-left: 2em">a) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free copyright license to
-reproduce, prepare derivative works of, publicly display, publicly
-perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and
-object code form.</div>
-
-<div style="margin-left: 2em">b) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free patent license under
-Licensed Patents to make, use, sell, offer to sell, import and
-otherwise transfer the Contribution of such Contributor, if any, in
-source code and object code form. This patent license shall apply
-to the combination of the Contribution and the Program if, at the
-time the Contribution is added by the Contributor, such addition of
-the Contribution causes such combination to be covered by the
-Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</div>
-
-<div style="margin-left: 2em">c) Recipient understands that
-although each Contributor grants the licenses to its Contributions
-set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual
-property rights of any other entity. Each Contributor disclaims any
-liability to Recipient for claims brought by any other entity based
-on infringement of intellectual property rights or otherwise. As a
-condition to exercising the rights and licenses granted hereunder,
-each Recipient hereby assumes sole responsibility to secure any
-other intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</div>
-
-<div style="margin-left: 2em">d) Each Contributor represents that
-to its knowledge it has sufficient copyright rights in its
-Contribution, if any, to grant the copyright license set forth in
-this Agreement.</div>
-
-<p style="font-weight: bold">3. REQUIREMENTS</p>
-
-<p>A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:</p>
-
-<div style="margin-left: 2em">a) it complies with the terms and
-conditions of this Agreement; and</div>
-
-<div style="margin-left: 2em">b) its license agreement:</div>
-
-<div style="margin-left: 2em">i) effectively disclaims on behalf of
-all Contributors all warranties and conditions, express and
-implied, including warranties or conditions of title and
-non-infringement, and implied warranties or conditions of
-merchantability and fitness for a particular purpose;</div>
-
-<div style="margin-left: 2em">ii) effectively excludes on behalf of
-all Contributors all liability for damages, including direct,
-indirect, special, incidental and consequential damages, such as
-lost profits;</div>
-
-<div style="margin-left: 2em">iii) states that any provisions which
-differ from this Agreement are offered by that Contributor alone
-and not by any other party; and</div>
-
-<div style="margin-left: 2em">iv) states that source code for the
-Program is available from such Contributor, and informs licensees
-how to obtain it in a reasonable manner on or through a medium
-customarily used for software exchange.</div>
-
-<p>When the Program is made available in source code form:</p>
-
-<div style="margin-left: 2em">a) it must be made available under
-this Agreement; and</div>
-
-<div style="margin-left: 2em">b) a copy of this Agreement must be
-included with each copy of the Program.</div>
-
-<p>Contributors may not remove or alter any copyright notices
-contained within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p style="font-weight: bold">4. COMMERCIAL DISTRIBUTION</p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and
-the like. While this license is intended to facilitate the
-commercial use of the Program, the Contributor who includes the
-Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors.
-Therefore, if a Contributor includes the Program in a commercial
-product offering, such Contributor ("Commercial Contributor")
-hereby agrees to defend and indemnify every other Contributor
-("Indemnified Contributor") against any losses, damages and costs
-(collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified
-Contributor to the extent caused by the acts or omissions of such
-Commercial Contributor in connection with its distribution of the
-Program in a commercial product offering. The obligations in this
-section do not apply to any claims or Losses relating to any actual
-or alleged intellectual property infringement. In order to qualify,
-an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial
-Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any
-such claim at its own expense.</p>
-
-<p>For example, a Contributor might include the Program in a
-commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes
-performance claims, or offers warranties related to Product X,
-those performance claims and warranties are such Commercial
-Contributor's responsibility alone. Under this section, the
-Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and
-warranties, and if a court requires any other Contributor to pay
-any damages as a result, the Commercial Contributor must pay those
-damages.</p>
-
-<p style="font-weight: bold">5. NO WARRANTY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient
-is solely responsible for determining the appropriateness of using
-and distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement, including but not
-limited to the risks and costs of program errors, compliance with
-applicable laws, damage to or loss of data, programs or equipment,
-and unavailability or interruption of operations.</p>
-
-<p style="font-weight: bold">6. DISCLAIMER OF LIABILITY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER
-RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p style="font-weight: bold">7. GENERAL</p>
-
-<p>If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and
-without further action by the parties hereto, such provision shall
-be reformed to the minimum extent necessary to make such provision
-valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against a Contributor
-with respect to a patent applicable to software (including a
-cross-claim or counterclaim in a lawsuit), then any patent licenses
-granted by that Contributor to such Recipient under this Agreement
-shall terminate as of the date such litigation is filed. In
-addition, if Recipient institutes patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the
-Program with other software or hardware) infringes such Recipient's
-patent(s), then such Recipient's rights granted under Section 2(b)
-shall terminate as of the date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions of
-this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all
-Recipient's rights under this Agreement terminate, Recipient agrees
-to cease use and distribution of the Program as soon as reasonably
-practicable. However, Recipient's obligations under this Agreement
-and any licenses granted by Recipient relating to the Program shall
-continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions
-(including revisions) of this Agreement from time to time. No one
-other than the Agreement Steward has the right to modify this
-Agreement. IBM is the initial Agreement Steward. IBM may assign the
-responsibility to serve as the Agreement Steward to a suitable
-separate entity. Each new version of the Agreement will be given a
-distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new
-version of the Agreement is published, Contributor may elect to
-distribute the Program (including its Contributions) under the new
-version. Except as expressly stated in Sections 2(a) and 2(b)
-above, Recipient receives no rights or licenses to the intellectual
-property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are
-reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each
-party waives its rights to a jury trial in any resulting
-litigation.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.properties
deleted file mode 100644
index 9e4b7cd..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.properties
+++ /dev/null
@@ -1,130 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-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 - Initial API and implementation
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/03/06 17:31:31 marcelop Exp $
-#  */
-
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=EMF SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Binaries and API documentation and source zips for EMF.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.xml
deleted file mode 100644
index 6418de2..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/**
- * <copyright>
- *
- * Copyright (c) 2002-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 - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: feature.xml,v 1.2 2004/03/25 14:06:34 marcelop Exp $
- */
--->
-
-<feature
-    id="org.eclipse.emf.sdk"
-    label="%featureName"
-    version="2.0.0"
-    image= "eclipse_update_120.jpg"
-    provider-name="%providerName">
-
-	<description>
-        %description
-    </description>
-   
-	<license url="%licenseURL">
-        %license
-    </license>
-
-    <url>
-      <update url="http://update.eclipse.org/updates" label="%updateSiteName"/>
-    </url>
-
-    <includes
-        id="org.eclipse.emf"
-        version="2.0.0"
-        match="compatible"/> 
-        
-    <includes
-        id="org.eclipse.emf.source"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.emf.doc"
-        version="2.0.0"
-        match="compatible"/>   
-
-    <includes
-        id="org.eclipse.xsd"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.xsd.source"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.xsd.doc"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.emf.ecore.sdo"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.emf.ecore.sdo.source"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.emf.ecore.sdo.doc"
-        version="2.0.0"
-        match="compatible"/> 
-       
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/license.html
deleted file mode 100644
index 07a5e18..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/license.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-<title>Eclipse.org Software User Agreement</title>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<h2>Eclipse.org Software User Agreement</h2>
-
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY
-"CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND
-CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF
-LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY
-USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
-GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY
-NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by
-Eclipse.org is provided to you under the terms and conditions of
-the Common Public License Version 1.0 ("CPL"). A copy of the CPL is
-provided with this Content and is also 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, "Program" will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object
-code, documentation and other files maintained in the Eclipse.org
-CVS repository ("Repository") in CVS modules ("Modules") and made
-available as downloadable archives ("Downloads").</p>
-
-<p>Content may be apportioned into plug-ins ("Plug-ins"), plug-in
-fragments ("Fragments"), and features ("Features"). A Feature is a
-bundle of one or more Plug-ins and/or Fragments and associated
-material. Files named "feature.xml" may contain a list of the names
-and version numbers of the Plug-ins and/or Fragments associated
-with a Feature. Plug-ins and Fragments are located in directories
-named "plugins" and Features are located in directories named
-"features".</p>
-
-<p>Features may also include other Features ("Included Features").
-Files named "feature.xml" may contain a list of the names and
-version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should
-be contained in files named "about.html" ("Abouts"). The terms and
-conditions governing Features and Included Features should be
-contained in files named "license.html" ("Feature Licenses").
-Abouts and Feature Licenses may be located in any directory of a
-Download or Module including, but not limited to the following
-locations:</p>
-
-<ul>
-<li>The top-level (root) directory</li>
-
-<li>Plug-in and Fragment directories</li>
-
-<li>Subdirectories of the directory named "src" of certain
-Plug-ins</li>
-
-<li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by Eclipse.org is installed
-using the Eclipse Update Manager, you must agree to a license
-("Feature Update License") during the installation process. If the
-Feature contains Included Features, the Feature Update License
-should either provide you with the terms and conditions governing
-the Included Features or inform you where you can locate them.
-Feature Update Licenses may be found in the "license" property of
-files named "feature.properties". Such Abouts, Feature Licenses and
-Feature Update Licenses contain the terms and conditions (or
-references to such terms and conditions) that govern your use of
-the associated Content in that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY
-REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
-CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
-ARE NOT LIMITED TO):</p>
-
-<ul>
-<li>Apache Software License 1.1 (available at <a
-href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-
-<li>IBM Public License 1.0 (available at <a
-href="http://oss.software.ibm.com/developerworks/opensource/license10.html">
-http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
-
-<li>Metro Link Public License 1.00 (available at <a
-href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">
-http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-<li>Mozilla Public License Version 1.1 (available at <a
-href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
-CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature
-License or Feature Update License is provided, please contact
-Eclipse.org to determine what terms and conditions govern that
-particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which
-you are currently may have restrictions on the import, possession,
-and use, and/or re-export to another country, of encryption
-software. BEFORE using any encryption software, please check the
-country's laws, regulations and policies concerning the import,
-possession, or use, and re-export of encryption software, to see if
-this is permitted.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/cpl-v10.html
deleted file mode 100644
index 95416c1..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Common Public License - v 1.0</title>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-</head>
-<body bgcolor="#FFFFFF" vlink="#800000">
-<p style="font-weight: bold; text-align: center">Common Public
-License - v 1.0</p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF
-THIS AGREEMENT.</p>
-
-<p style="font-weight: bold">1. DEFINITIONS</p>
-
-<p>"Contribution" means:</p>
-
-<div style="margin-left: 2em">a) in the case of the initial
-Contributor, the initial code and documentation distributed under
-this Agreement, and<br clear="LEFT" />
-b) in the case of each subsequent Contributor:</div>
-
-<div style="margin-left: 2em">i) changes to the Program, and</div>
-
-<div style="margin-left: 2em">ii) additions to the Program;</div>
-
-<div style="margin-left: 2em">where such changes and/or additions
-to the Program originate from and are distributed by that
-particular Contributor. A Contribution 'originates' from a
-Contributor if it was added to the Program by such Contributor
-itself or anyone acting on such Contributor's behalf. Contributions
-do not include additions to the Program which: (i) are separate
-modules of software distributed in conjunction with the Program
-under their own license agreement, and (ii) are not derivative
-works of the Program.</div>
-
-<p>"Contributor" means any person or entity that distributes the
-Program.</p>
-
-<p>"Licensed Patents " mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of
-its Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance with
-this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under this
-Agreement, including all Contributors.</p>
-
-<p style="font-weight: bold">2. GRANT OF RIGHTS</p>
-
-<div style="margin-left: 2em">a) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free copyright license to
-reproduce, prepare derivative works of, publicly display, publicly
-perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and
-object code form.</div>
-
-<div style="margin-left: 2em">b) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free patent license under
-Licensed Patents to make, use, sell, offer to sell, import and
-otherwise transfer the Contribution of such Contributor, if any, in
-source code and object code form. This patent license shall apply
-to the combination of the Contribution and the Program if, at the
-time the Contribution is added by the Contributor, such addition of
-the Contribution causes such combination to be covered by the
-Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</div>
-
-<div style="margin-left: 2em">c) Recipient understands that
-although each Contributor grants the licenses to its Contributions
-set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual
-property rights of any other entity. Each Contributor disclaims any
-liability to Recipient for claims brought by any other entity based
-on infringement of intellectual property rights or otherwise. As a
-condition to exercising the rights and licenses granted hereunder,
-each Recipient hereby assumes sole responsibility to secure any
-other intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</div>
-
-<div style="margin-left: 2em">d) Each Contributor represents that
-to its knowledge it has sufficient copyright rights in its
-Contribution, if any, to grant the copyright license set forth in
-this Agreement.</div>
-
-<p style="font-weight: bold">3. REQUIREMENTS</p>
-
-<p>A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:</p>
-
-<div style="margin-left: 2em">a) it complies with the terms and
-conditions of this Agreement; and</div>
-
-<div style="margin-left: 2em">b) its license agreement:</div>
-
-<div style="margin-left: 2em">i) effectively disclaims on behalf of
-all Contributors all warranties and conditions, express and
-implied, including warranties or conditions of title and
-non-infringement, and implied warranties or conditions of
-merchantability and fitness for a particular purpose;</div>
-
-<div style="margin-left: 2em">ii) effectively excludes on behalf of
-all Contributors all liability for damages, including direct,
-indirect, special, incidental and consequential damages, such as
-lost profits;</div>
-
-<div style="margin-left: 2em">iii) states that any provisions which
-differ from this Agreement are offered by that Contributor alone
-and not by any other party; and</div>
-
-<div style="margin-left: 2em">iv) states that source code for the
-Program is available from such Contributor, and informs licensees
-how to obtain it in a reasonable manner on or through a medium
-customarily used for software exchange.</div>
-
-<p>When the Program is made available in source code form:</p>
-
-<div style="margin-left: 2em">a) it must be made available under
-this Agreement; and</div>
-
-<div style="margin-left: 2em">b) a copy of this Agreement must be
-included with each copy of the Program.</div>
-
-<p>Contributors may not remove or alter any copyright notices
-contained within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p style="font-weight: bold">4. COMMERCIAL DISTRIBUTION</p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and
-the like. While this license is intended to facilitate the
-commercial use of the Program, the Contributor who includes the
-Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors.
-Therefore, if a Contributor includes the Program in a commercial
-product offering, such Contributor ("Commercial Contributor")
-hereby agrees to defend and indemnify every other Contributor
-("Indemnified Contributor") against any losses, damages and costs
-(collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified
-Contributor to the extent caused by the acts or omissions of such
-Commercial Contributor in connection with its distribution of the
-Program in a commercial product offering. The obligations in this
-section do not apply to any claims or Losses relating to any actual
-or alleged intellectual property infringement. In order to qualify,
-an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial
-Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any
-such claim at its own expense.</p>
-
-<p>For example, a Contributor might include the Program in a
-commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes
-performance claims, or offers warranties related to Product X,
-those performance claims and warranties are such Commercial
-Contributor's responsibility alone. Under this section, the
-Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and
-warranties, and if a court requires any other Contributor to pay
-any damages as a result, the Commercial Contributor must pay those
-damages.</p>
-
-<p style="font-weight: bold">5. NO WARRANTY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient
-is solely responsible for determining the appropriateness of using
-and distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement, including but not
-limited to the risks and costs of program errors, compliance with
-applicable laws, damage to or loss of data, programs or equipment,
-and unavailability or interruption of operations.</p>
-
-<p style="font-weight: bold">6. DISCLAIMER OF LIABILITY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER
-RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p style="font-weight: bold">7. GENERAL</p>
-
-<p>If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and
-without further action by the parties hereto, such provision shall
-be reformed to the minimum extent necessary to make such provision
-valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against a Contributor
-with respect to a patent applicable to software (including a
-cross-claim or counterclaim in a lawsuit), then any patent licenses
-granted by that Contributor to such Recipient under this Agreement
-shall terminate as of the date such litigation is filed. In
-addition, if Recipient institutes patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the
-Program with other software or hardware) infringes such Recipient's
-patent(s), then such Recipient's rights granted under Section 2(b)
-shall terminate as of the date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions of
-this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all
-Recipient's rights under this Agreement terminate, Recipient agrees
-to cease use and distribution of the Program as soon as reasonably
-practicable. However, Recipient's obligations under this Agreement
-and any licenses granted by Recipient relating to the Program shall
-continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions
-(including revisions) of this Agreement from time to time. No one
-other than the Agreement Steward has the right to modify this
-Agreement. IBM is the initial Agreement Steward. IBM may assign the
-responsibility to serve as the Agreement Steward to a suitable
-separate entity. Each new version of the Agreement will be given a
-distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new
-version of the Agreement is published, Contributor may elect to
-distribute the Program (including its Contributions) under the new
-version. Except as expressly stated in Sections 2(a) and 2(b)
-above, Recipient receives no rights or licenses to the intellectual
-property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are
-reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each
-party waives its rights to a jury trial in any resulting
-litigation.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.properties
deleted file mode 100644
index b51fd10..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.properties
+++ /dev/null
@@ -1,141 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-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 - Initial API and implementation
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.2 2004/05/26 15:16:25 marcelop Exp $
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Modeling Framework (EMF) Source
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Modeling Framework. (source code)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.xml
deleted file mode 100644
index 2200214..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.emf.source"  version="2.0.0">
-	<description >
-		%description
-	</description>
-	<copyright url="http://www.eclipse.org/legal/cpl-v10.html">
-		Copyright (c) 2002-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
-	</copyright>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/"/>
-		<discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/tools/emf/updates/"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.emf.source" version="2.0.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/license.html
deleted file mode 100644
index 07a5e18..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/license.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-<title>Eclipse.org Software User Agreement</title>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<h2>Eclipse.org Software User Agreement</h2>
-
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY
-"CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND
-CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF
-LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY
-USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
-GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY
-NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by
-Eclipse.org is provided to you under the terms and conditions of
-the Common Public License Version 1.0 ("CPL"). A copy of the CPL is
-provided with this Content and is also 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, "Program" will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object
-code, documentation and other files maintained in the Eclipse.org
-CVS repository ("Repository") in CVS modules ("Modules") and made
-available as downloadable archives ("Downloads").</p>
-
-<p>Content may be apportioned into plug-ins ("Plug-ins"), plug-in
-fragments ("Fragments"), and features ("Features"). A Feature is a
-bundle of one or more Plug-ins and/or Fragments and associated
-material. Files named "feature.xml" may contain a list of the names
-and version numbers of the Plug-ins and/or Fragments associated
-with a Feature. Plug-ins and Fragments are located in directories
-named "plugins" and Features are located in directories named
-"features".</p>
-
-<p>Features may also include other Features ("Included Features").
-Files named "feature.xml" may contain a list of the names and
-version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should
-be contained in files named "about.html" ("Abouts"). The terms and
-conditions governing Features and Included Features should be
-contained in files named "license.html" ("Feature Licenses").
-Abouts and Feature Licenses may be located in any directory of a
-Download or Module including, but not limited to the following
-locations:</p>
-
-<ul>
-<li>The top-level (root) directory</li>
-
-<li>Plug-in and Fragment directories</li>
-
-<li>Subdirectories of the directory named "src" of certain
-Plug-ins</li>
-
-<li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by Eclipse.org is installed
-using the Eclipse Update Manager, you must agree to a license
-("Feature Update License") during the installation process. If the
-Feature contains Included Features, the Feature Update License
-should either provide you with the terms and conditions governing
-the Included Features or inform you where you can locate them.
-Feature Update Licenses may be found in the "license" property of
-files named "feature.properties". Such Abouts, Feature Licenses and
-Feature Update Licenses contain the terms and conditions (or
-references to such terms and conditions) that govern your use of
-the associated Content in that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY
-REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
-CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
-ARE NOT LIMITED TO):</p>
-
-<ul>
-<li>Apache Software License 1.1 (available at <a
-href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-
-<li>IBM Public License 1.0 (available at <a
-href="http://oss.software.ibm.com/developerworks/opensource/license10.html">
-http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
-
-<li>Metro Link Public License 1.00 (available at <a
-href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">
-http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-<li>Mozilla Public License Version 1.1 (available at <a
-href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
-CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature
-License or Feature Update License is provided, please contact
-Eclipse.org to determine what terms and conditions govern that
-particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which
-you are currently may have restrictions on the import, possession,
-and use, and/or re-export to another country, of encryption
-software. BEFORE using any encryption software, please check the
-country's laws, regulations and policies concerning the import,
-possession, or use, and re-export of encryption software, to see if
-this is permitted.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/cpl-v10.html
deleted file mode 100644
index 95416c1..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Common Public License - v 1.0</title>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-</head>
-<body bgcolor="#FFFFFF" vlink="#800000">
-<p style="font-weight: bold; text-align: center">Common Public
-License - v 1.0</p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF
-THIS AGREEMENT.</p>
-
-<p style="font-weight: bold">1. DEFINITIONS</p>
-
-<p>"Contribution" means:</p>
-
-<div style="margin-left: 2em">a) in the case of the initial
-Contributor, the initial code and documentation distributed under
-this Agreement, and<br clear="LEFT" />
-b) in the case of each subsequent Contributor:</div>
-
-<div style="margin-left: 2em">i) changes to the Program, and</div>
-
-<div style="margin-left: 2em">ii) additions to the Program;</div>
-
-<div style="margin-left: 2em">where such changes and/or additions
-to the Program originate from and are distributed by that
-particular Contributor. A Contribution 'originates' from a
-Contributor if it was added to the Program by such Contributor
-itself or anyone acting on such Contributor's behalf. Contributions
-do not include additions to the Program which: (i) are separate
-modules of software distributed in conjunction with the Program
-under their own license agreement, and (ii) are not derivative
-works of the Program.</div>
-
-<p>"Contributor" means any person or entity that distributes the
-Program.</p>
-
-<p>"Licensed Patents " mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of
-its Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance with
-this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under this
-Agreement, including all Contributors.</p>
-
-<p style="font-weight: bold">2. GRANT OF RIGHTS</p>
-
-<div style="margin-left: 2em">a) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free copyright license to
-reproduce, prepare derivative works of, publicly display, publicly
-perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and
-object code form.</div>
-
-<div style="margin-left: 2em">b) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free patent license under
-Licensed Patents to make, use, sell, offer to sell, import and
-otherwise transfer the Contribution of such Contributor, if any, in
-source code and object code form. This patent license shall apply
-to the combination of the Contribution and the Program if, at the
-time the Contribution is added by the Contributor, such addition of
-the Contribution causes such combination to be covered by the
-Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</div>
-
-<div style="margin-left: 2em">c) Recipient understands that
-although each Contributor grants the licenses to its Contributions
-set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual
-property rights of any other entity. Each Contributor disclaims any
-liability to Recipient for claims brought by any other entity based
-on infringement of intellectual property rights or otherwise. As a
-condition to exercising the rights and licenses granted hereunder,
-each Recipient hereby assumes sole responsibility to secure any
-other intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</div>
-
-<div style="margin-left: 2em">d) Each Contributor represents that
-to its knowledge it has sufficient copyright rights in its
-Contribution, if any, to grant the copyright license set forth in
-this Agreement.</div>
-
-<p style="font-weight: bold">3. REQUIREMENTS</p>
-
-<p>A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:</p>
-
-<div style="margin-left: 2em">a) it complies with the terms and
-conditions of this Agreement; and</div>
-
-<div style="margin-left: 2em">b) its license agreement:</div>
-
-<div style="margin-left: 2em">i) effectively disclaims on behalf of
-all Contributors all warranties and conditions, express and
-implied, including warranties or conditions of title and
-non-infringement, and implied warranties or conditions of
-merchantability and fitness for a particular purpose;</div>
-
-<div style="margin-left: 2em">ii) effectively excludes on behalf of
-all Contributors all liability for damages, including direct,
-indirect, special, incidental and consequential damages, such as
-lost profits;</div>
-
-<div style="margin-left: 2em">iii) states that any provisions which
-differ from this Agreement are offered by that Contributor alone
-and not by any other party; and</div>
-
-<div style="margin-left: 2em">iv) states that source code for the
-Program is available from such Contributor, and informs licensees
-how to obtain it in a reasonable manner on or through a medium
-customarily used for software exchange.</div>
-
-<p>When the Program is made available in source code form:</p>
-
-<div style="margin-left: 2em">a) it must be made available under
-this Agreement; and</div>
-
-<div style="margin-left: 2em">b) a copy of this Agreement must be
-included with each copy of the Program.</div>
-
-<p>Contributors may not remove or alter any copyright notices
-contained within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p style="font-weight: bold">4. COMMERCIAL DISTRIBUTION</p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and
-the like. While this license is intended to facilitate the
-commercial use of the Program, the Contributor who includes the
-Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors.
-Therefore, if a Contributor includes the Program in a commercial
-product offering, such Contributor ("Commercial Contributor")
-hereby agrees to defend and indemnify every other Contributor
-("Indemnified Contributor") against any losses, damages and costs
-(collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified
-Contributor to the extent caused by the acts or omissions of such
-Commercial Contributor in connection with its distribution of the
-Program in a commercial product offering. The obligations in this
-section do not apply to any claims or Losses relating to any actual
-or alleged intellectual property infringement. In order to qualify,
-an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial
-Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any
-such claim at its own expense.</p>
-
-<p>For example, a Contributor might include the Program in a
-commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes
-performance claims, or offers warranties related to Product X,
-those performance claims and warranties are such Commercial
-Contributor's responsibility alone. Under this section, the
-Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and
-warranties, and if a court requires any other Contributor to pay
-any damages as a result, the Commercial Contributor must pay those
-damages.</p>
-
-<p style="font-weight: bold">5. NO WARRANTY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient
-is solely responsible for determining the appropriateness of using
-and distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement, including but not
-limited to the risks and costs of program errors, compliance with
-applicable laws, damage to or loss of data, programs or equipment,
-and unavailability or interruption of operations.</p>
-
-<p style="font-weight: bold">6. DISCLAIMER OF LIABILITY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER
-RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p style="font-weight: bold">7. GENERAL</p>
-
-<p>If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and
-without further action by the parties hereto, such provision shall
-be reformed to the minimum extent necessary to make such provision
-valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against a Contributor
-with respect to a patent applicable to software (including a
-cross-claim or counterclaim in a lawsuit), then any patent licenses
-granted by that Contributor to such Recipient under this Agreement
-shall terminate as of the date such litigation is filed. In
-addition, if Recipient institutes patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the
-Program with other software or hardware) infringes such Recipient's
-patent(s), then such Recipient's rights granted under Section 2(b)
-shall terminate as of the date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions of
-this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all
-Recipient's rights under this Agreement terminate, Recipient agrees
-to cease use and distribution of the Program as soon as reasonably
-practicable. However, Recipient's obligations under this Agreement
-and any licenses granted by Recipient relating to the Program shall
-continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions
-(including revisions) of this Agreement from time to time. No one
-other than the Agreement Steward has the right to modify this
-Agreement. IBM is the initial Agreement Steward. IBM may assign the
-responsibility to serve as the Agreement Steward to a suitable
-separate entity. Each new version of the Agreement will be given a
-distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new
-version of the Agreement is published, Contributor may elect to
-distribute the Program (including its Contributions) under the new
-version. Except as expressly stated in Sections 2(a) and 2(b)
-above, Recipient receives no rights or licenses to the intellectual
-property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are
-reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each
-party waives its rights to a jury trial in any resulting
-litigation.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.properties
deleted file mode 100644
index 374b9bf..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-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 - Initial API and implementation
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.4 2004/05/26 15:16:25 marcelop Exp $
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Modeling Framework (EMF)
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Modeling Framework. (Binary runtime)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
-
-# "secondaryUpdateSiteName" property - label for the secondary update site (on download.eclipse.org)
-secondaryUpdateSiteName=EMF/SDO/XSD Secondary Update Site
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.xml
deleted file mode 100644
index 6d59f37..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.emf"
-      label="%featureName"
-      version="2.0.0"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/cpl-v10.html">
-      Copyright (c) 2002-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
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/"/>
-      <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/tools/emf/updates/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.resources" version="3.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.emf"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.codegen"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.codegen.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.codegen.ecore"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.codegen.ecore.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.common"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.common.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.edit"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.editor"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.change"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.change.edit"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.xmi"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.edit"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.edit.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping.ecore2ecore"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping.ecore2ecore.editor"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/license.html
deleted file mode 100644
index 07a5e18..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/license.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-<title>Eclipse.org Software User Agreement</title>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<h2>Eclipse.org Software User Agreement</h2>
-
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY
-"CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND
-CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF
-LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY
-USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
-GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY
-NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by
-Eclipse.org is provided to you under the terms and conditions of
-the Common Public License Version 1.0 ("CPL"). A copy of the CPL is
-provided with this Content and is also 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, "Program" will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object
-code, documentation and other files maintained in the Eclipse.org
-CVS repository ("Repository") in CVS modules ("Modules") and made
-available as downloadable archives ("Downloads").</p>
-
-<p>Content may be apportioned into plug-ins ("Plug-ins"), plug-in
-fragments ("Fragments"), and features ("Features"). A Feature is a
-bundle of one or more Plug-ins and/or Fragments and associated
-material. Files named "feature.xml" may contain a list of the names
-and version numbers of the Plug-ins and/or Fragments associated
-with a Feature. Plug-ins and Fragments are located in directories
-named "plugins" and Features are located in directories named
-"features".</p>
-
-<p>Features may also include other Features ("Included Features").
-Files named "feature.xml" may contain a list of the names and
-version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should
-be contained in files named "about.html" ("Abouts"). The terms and
-conditions governing Features and Included Features should be
-contained in files named "license.html" ("Feature Licenses").
-Abouts and Feature Licenses may be located in any directory of a
-Download or Module including, but not limited to the following
-locations:</p>
-
-<ul>
-<li>The top-level (root) directory</li>
-
-<li>Plug-in and Fragment directories</li>
-
-<li>Subdirectories of the directory named "src" of certain
-Plug-ins</li>
-
-<li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by Eclipse.org is installed
-using the Eclipse Update Manager, you must agree to a license
-("Feature Update License") during the installation process. If the
-Feature contains Included Features, the Feature Update License
-should either provide you with the terms and conditions governing
-the Included Features or inform you where you can locate them.
-Feature Update Licenses may be found in the "license" property of
-files named "feature.properties". Such Abouts, Feature Licenses and
-Feature Update Licenses contain the terms and conditions (or
-references to such terms and conditions) that govern your use of
-the associated Content in that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY
-REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
-CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
-ARE NOT LIMITED TO):</p>
-
-<ul>
-<li>Apache Software License 1.1 (available at <a
-href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-
-<li>IBM Public License 1.0 (available at <a
-href="http://oss.software.ibm.com/developerworks/opensource/license10.html">
-http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
-
-<li>Metro Link Public License 1.00 (available at <a
-href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">
-http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-<li>Mozilla Public License Version 1.1 (available at <a
-href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
-CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature
-License or Feature Update License is provided, please contact
-Eclipse.org to determine what terms and conditions govern that
-particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which
-you are currently may have restrictions on the import, possession,
-and use, and/or re-export to another country, of encryption
-software. BEFORE using any encryption software, please check the
-country's laws, regulations and policies concerning the import,
-possession, or use, and re-export of encryption software, to see if
-this is permitted.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/.project
deleted file mode 100644
index 472b822..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.properties
deleted file mode 100644
index 38ba95a..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.properties
+++ /dev/null
@@ -1,124 +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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Java Development Tools
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Java development tools. (Binary runtime and user documentation.)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.xml
deleted file mode 100644
index cb0b530..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jdt"
-      label="%featureName"
-      version="3.1.0"
-      image= "eclipse_update_120.jpg"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-     %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-   </url>
-
-  <requires>
-      <import plugin="org.eclipse.platform" version="3.1.0" match="compatible" />
-  </requires>
-  
-   <plugin
-         id="org.eclipse.jdt"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.ant.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.ltk.core.refactoring"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.ltk.ui.refactoring"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.debug.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.debug"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.junit"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.junit.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.launching"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.junit"
-         download-size="0"
-         install-size="0"
-         version="3.8.1">
-   </plugin>
-
-   <plugin id="org.eclipse.jdt.doc.user" version="3.1.0"/>
-
-   <plugin id="org.eclipse.jdt.launching.macosx" version="3.1.0"  os="macosx" ws="carbon"/>  
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/.project
deleted file mode 100644
index 35af184..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.source-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/cpl-v10.html
deleted file mode 100644
index 158d99c..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.properties
deleted file mode 100644
index 631ceca..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.properties
+++ /dev/null
@@ -1,124 +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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse JDT Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=API documentation and source code zips for Eclipse Java development tools.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.xml
deleted file mode 100644
index 336ac86..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.jdt.source"  version="3.1.0">
-	<description >
-		%description
-	</description>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-		<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.jdt.doc.isv" version="3.1.0"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.jdt.source" version="3.1.0"/>
-	<plugin ws="carbon"  os="macosx" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.jdt.source.macosx.carbon.ppc" version="3.1.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/.project
deleted file mode 100644
index 223a24d..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.properties
deleted file mode 100644
index 7b82e46..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.properties
+++ /dev/null
@@ -1,124 +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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Plug-in Development Environment
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse plug-in development environment.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.xml
deleted file mode 100644
index 5d22266..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.pde"
-      label="%featureName"
-      version="3.1.0"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.jdt" version="3.0.0" match="compatible"/>
-      <import plugin="org.eclipse.platform" version="3.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.pde"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.pde.build"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.pde.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.pde.junit.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-         
-   <plugin
-         id="org.eclipse.pde.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.pde.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.pde.doc.user"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/.project
deleted file mode 100644
index f4bce7b..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.source-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.properties
deleted file mode 100644
index cd87634..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the 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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse PDE Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse plug-in development environment, including documentation and source code zips.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.xml
deleted file mode 100644
index 5abbbc7..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.pde.source"  version="3.1.0">
-	<description >
-		%description
-	</description>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-		<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.pde.source" version="3.1.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/.project
deleted file mode 100644
index 9f53c70..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.platform-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.properties
deleted file mode 100644
index 2e3efd1..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.properties
+++ /dev/null
@@ -1,124 +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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Platform
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Common OS-independent base of the Eclipse platform. (Binary runtime and user documentation.)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.xml
deleted file mode 100644
index 872f5cb..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.xml
+++ /dev/null
@@ -1,387 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-In the following markup, ignore the "primary" and "application" attributes.
-See https://bugs.eclipse.org/bugs/show_bug.cgi?id=68351 for more details.
--->
-<feature
-      id="org.eclipse.platform"
-      label="%featureName"
-      version="3.1.0"
-      provider-name="%providerName"
-      plugin=""
-      image="eclipse_update_120.jpg"
-      primary="true"
-      application="org.eclipse.ui.ide.workbench">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-   </url>
-
-   <plugin
-         id="org.apache.ant"
-         download-size="0"
-         install-size="0"
-         version="1.6.2"/>
-
-   <plugin
-         id="org.apache.lucene"
-         download-size="0"
-         install-size="0"
-         version="1.3.0"/>
-
-   <plugin
-         id="org.eclipse.ant.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.compare"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.core.boot"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-         
-   <plugin
-   		 id="org.eclipse.core.filebuffers"
-   		 download-size="0"
-   		 install-size="0"
-   		 version="3.1.0"/>
-   
-   <plugin
-   		 id="org.eclipse.core.expressions"
-   		 download-size="0"
-   		 install-size="0"
-   		 version="3.1.0"/>
-   
-   <plugin
-         id="org.eclipse.core.resources"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.core.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.core.runtime.compatibility"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.osgi"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.osgi.services"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.osgi.util"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.core.variables"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-         
-   <plugin
-         id="org.eclipse.debug.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.debug.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.help"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.help.webapp"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.help.base"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.help.ui"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.help.appserver"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.help.ide"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.platform"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.platform.doc.user"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.search"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.swt"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ssh"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ssh2"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.tomcat"
-         download-size="0"
-         install-size="0"
-         version="4.1.30"/>
-
-   <plugin
-         id="org.eclipse.text"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.jface"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.jface.text"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-	
-   <plugin
-         id="org.eclipse.ui.console"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.presentations.r21"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-            
-   <plugin
-         id="org.eclipse.ui.intro"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.cheatsheets"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-            
-   <plugin
-         id="org.eclipse.ui.workbench"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench.texteditor"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.views"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.editors"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-         
-   <plugin
-         id="org.eclipse.ui.forms"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-         
-   <plugin
-         id="org.eclipse.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.externaltools"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.ide"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.update.configurator"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.update.core"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.update.scheduler"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.update.ui"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-        
-  <!-- Pre-3.0 binary compatibility -->
-   <plugin
-         id="org.eclipse.ui.workbench.compatibility"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"
-         fragment="true"/>
-
-  <!--Aix platform inclusion -->
-  <plugin id="org.eclipse.swt.motif" download-size="0" install-size="0" version="3.1.0" fragment="true" os="aix" ws="motif"/>
-  
-  <!-- HPUX Platform specifics -->
-  <plugin id="org.eclipse.swt.motif" download-size="0" install-size="0" version="3.1.0" fragment="true" os="hpux" ws="motif"/>
-  <plugin id="org.eclipse.core.resources.hpux" download-size="0" install-size="0" version="3.0.0" fragment="true" os="hpux"/>
-
-  <!-- LINUX GTK-->  
-  <plugin id="org.eclipse.swt.gtk" download-size="0" install-size="0" version="3.1.0"  fragment="true" os="linux" ws="gtk" arch="x86" />
-  <plugin id="org.eclipse.swt.gtk" download-size="0" install-size="0" version="3.1.0"  fragment="true" os="linux" ws="gtk" arch="ppc" />
-  <plugin id="org.eclipse.core.resources.linux" download-size="0" install-size="0" version="3.0.0" fragment="true" os="linux"/>
-  <plugin id="org.eclipse.update.core.linux" download-size="0" install-size="0" version="3.0.0" fragment="true" os="linux" />
-
-  <!-- LINUX GTK AMD64-->
-  <plugin id="org.eclipse.swt.gtk64" download-size="0" install-size="0" version="3.1.0"  fragment="true" os="linux" ws="gtk" arch="amd64" />
-
-  <!-- LINUX Motif-->    
-  <plugin id="org.eclipse.swt.motif" download-size="0" install-size="0" version="3.1.0" fragment="true" os="linux" ws="motif"/>
-  <plugin id="org.eclipse.core.resources.linux" download-size="0" install-size="0" version="3.0.0" fragment="true" os="linux"/>
-  <plugin id="org.eclipse.update.core.linux" download-size="0" install-size="0" version="3.0.0" fragment="true" os="linux" />
-
-  <!-- MacOS X Carbon -->  
-  <plugin id="org.eclipse.swt.carbon" download-size="0" install-size="0" version="3.1.0"  fragment="true" os="macosx" ws="carbon"/> 
-  <plugin id="org.eclipse.core.resources.macosx" download-size="0" install-size="0" version="3.0.0" fragment="true" os="macosx" ws="carbon"/>
-  <plugin id="org.eclipse.ui.carbon" download-size="0" install-size="0" version="3.1.0" fragment="true" os="macosx" ws="carbon"/>
-  
-  <!-- QNX Photon -->
-  <plugin id="org.eclipse.swt.photon" download-size="0" install-size="0" version="3.1.0" fragment="true" os="qnx" ws="photon"/>
-  <plugin id="org.eclipse.core.resources.qnx" download-size="0" install-size="0" version="3.0.0" fragment="true" os="qnx" ws="photon"/>
-  
-  <!-- Solaris Motif -->
-  <plugin id="org.eclipse.swt.motif" download-size="0" install-size="0" version="3.1.0" fragment="true" os="solaris" ws="motif"/>
-  
-  <!-- Win32 -->
-  <plugin id="org.eclipse.swt.win32" download-size="0" install-size="0" version="3.1.0" fragment="true" ws="win32"/>
-  <plugin id="org.eclipse.core.resources.win32" download-size="0" install-size="0" version="3.0.0" fragment="true" os="win32"/>
-  <plugin id="org.eclipse.ui.win32" download-size="0" install-size="0" version="3.1.0" fragment="true" ws="win32"/>
-  <plugin id="org.eclipse.update.core.win32" download-size="0" install-size="0" version="3.0.0" fragment="true" os="win32"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/.project
deleted file mode 100644
index d7ca40c..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.platform.source-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.properties
deleted file mode 100644
index 6ab9956..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.properties
+++ /dev/null
@@ -1,124 +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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Platform Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Common OS-independent API documentation and source code zips for the Eclipse Platform.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.xml
deleted file mode 100644
index 3bdee40..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.platform.source"  version="3.1.0">
-	<description >
-		%description
-	</description>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-		<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.platform.doc.isv" version="3.1.0"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.platform.source" version="3.1.0"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="ia64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.ia64" version="3.1.0"/>
-	<plugin ws="carbon"  os="macosx" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.platform.source.macosx.carbon.ppc" version="3.1.0"/>
-	<plugin ws="photon"  os="qnx" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.qnx.photon.x86" version="3.1.0"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.ppc" version="3.1.0"/>
-	<plugin ws="motif"  os="hpux" fragment="true" arch="PA_RISC" download-size="0" install-size="0" id="org.eclipse.platform.source.hpux.motif.PA_RISC" version="3.1.0"/>
-	<plugin ws="motif"  os="aix" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.platform.source.aix.motif.ppc" version="3.1.0"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.x86" version="3.1.0"/>
-	<plugin ws="win32"  os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.win32.win32.x86" version="3.1.0"/>
-	<plugin ws="motif"  os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.platform.source.solaris.motif.sparc" version="3.1.0"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="amd64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.amd64" version="3.1.0"/>
-	<plugin ws="motif"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.motif.x86" version="3.1.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/.project
deleted file mode 100644
index 49f7d79..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.sdk-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.properties
deleted file mode 100644
index b46d29a..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.properties
+++ /dev/null
@@ -1,124 +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
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Project SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=SDK for Eclipse.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.xml
deleted file mode 100644
index f29904c..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.sdk"
-      label="%featureName"
-      version="3.1.0"
-      image= "eclipse_update_120.jpg"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-   
-   <license url="%licenseURL">
-     %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-   </url>
-
-  <includes id="org.eclipse.platform" version="3.1.0" /> 
-  <includes id="org.eclipse.platform.source" version="3.1.0" /> 
-  <includes id="org.eclipse.jdt" version="3.1.0" />
-  <includes id="org.eclipse.jdt.source" version="3.1.0" /> 
-  <includes id="org.eclipse.pde" version="3.1.0" /> 
-  <includes id="org.eclipse.pde.source" version="3.1.0" /> 
-  <plugin id="org.eclipse.sdk" version="3.1.0"/>
-  
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.properties
deleted file mode 100644
index d328679..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.properties
+++ /dev/null
@@ -1,141 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-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 - Initial API and implementation
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.2 2004/05/26 15:16:26 marcelop Exp $
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=XML Schema Infoset Model (XSD) Documentation
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Modeling Framework. (documentation)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.xml
deleted file mode 100644
index fe4f380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/**
- * <copyright>
- *
- * Copyright (c) 2002-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 - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: feature.xml,v 1.1 2004/03/06 18:00:09 marcelop Exp $
- */
--->
-
-<feature
-      id="org.eclipse.xsd.doc"
-      label="%featureName"
-      version="2.0.0"
-      image= "eclipse_update_120.jpg"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-     %license
-   </license>
-
-   <url>
-      <update url="http://update.eclipse.org/updates" label="%updateSiteName"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.xsd.doc"
-         download-size="0"
-         install-size="0"
-         version="2.0.0">
-   </plugin>
-   		
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.properties
deleted file mode 100644
index 0c1959e..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.properties
+++ /dev/null
@@ -1,141 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-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 - Initial API and implementation
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.2 2004/05/26 15:16:27 marcelop Exp $
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=XML Schema Infoset Model (XSD) Source
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Modeling Framework. (source code)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.xml
deleted file mode 100644
index d5f2b77..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/**
- * <copyright>
- *
- * Copyright (c) 2002-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 - Initial API and implementation
- *
- * </copyright>
- *
- * $Id: feature.xml,v 1.1 2004/03/06 18:00:11 marcelop Exp $
- */
--->
-
-<feature
-      id="org.eclipse.xsd.source"
-      label="%featureName"
-      version="2.0.0"
-      image= "eclipse_update_120.jpg"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-     %license
-   </license>
-
-   <url>
-      <update url="http://update.eclipse.org/updates" label="%updateSiteName"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.xsd.source"
-         download-size="0"
-         install-size="0"
-         version="2.0.0">
-   </plugin>
-   
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.properties
deleted file mode 100644
index 58b3ec7..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.properties
+++ /dev/null
@@ -1,144 +0,0 @@
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-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 - Initial API and implementation
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.3 2004/04/28 16:27:45 nickb Exp $ 
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=XSD Schema Infoset Model
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=XML Schema Infoset Model
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
-
-# "secondaryUpdateSiteName" property - label for the secondary update site (on download.eclipse.org)
-secondaryUpdateSiteName=EMF/SDO/XSD Secondary Update Site
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.xml
deleted file mode 100644
index 3e51342..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.xsd"
-      label="%featureName"
-      version="2.0.0"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/cpl-v10.html">
-      Copyright (c) 2002-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
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/"/>
-      <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/tools/emf/updates/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.resources" version="3.0.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.ecore" version="2.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.xsd"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.xsd.edit"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.xsd.editor"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.xsd.test"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping.xsd2ecore"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping.xsd2ecore.editor"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org 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 provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/platform.xml b/update/org.eclipse.update.tests.core/data/perf/platform.xml
deleted file mode 100644
index 983e5c4..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/platform.xml
+++ /dev/null
@@ -1,179 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Created on Mon Aug 23 15:05:43 EDT 2004-->
-<config date="1093287943134" transient="false" version="3.0">
-<site enabled="true" policy="USER-EXCLUDE" updateable="true" url="platform:/base/">
-<feature id="org.eclipse.barrup.rad.feature" url="features/org.eclipse.barrup.rad.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.dev.product" url="features/org.eclipse.barupdate.dev.product_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.dev" url="features/org.eclipse.barupdate.dev_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.uml2" url="features/org.eclipse.uml2_1.0.1/" version="1.0.1"/>
-<feature id="org.eclipse.barxtools.comparemerge.ejbddfeature" url="features/org.eclipse.barxtools.comparemerge.ejbdd-feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.serverattach.v5" url="features/org.eclipse.foo.serverattach.v5_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.xsl" url="features/org.eclipse.bardebug.xsl_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barxtools.platform.feature" url="features/org.eclipse.barxtools.platform.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barsupport.rad.doc" url="features/org.eclipse.barsupport.rad.doc_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barr2a.rdj.feature" url="features/org.eclipse.barr2a.rdj.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.test.ct.feature" url="features/org.eclipse.barupdate.test.ct.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barxtools.eDataviz.feature" url="features/org.eclipse.barxtools.eDataviz.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barrad.welcome.feature" url="features/org.eclipse.barrad.welcome.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.wsa.launch.load" url="features/org.eclipse.bardebug.wsa.launch.load_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barrup.feature" url="features/org.eclipse.barrup.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barxtools.visualization.feature" url="features/org.eclipse.barxtools.visualization.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barrad.nav.doc.feature" url="features/org.eclipse.barrad.nav.doc.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.test" primary="true" url="features/org.eclipse.y.test_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.bardebug.activescript.win32" url="features/org.eclipse.bardebug.activescript.win32_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barxtools.platform.win32.feature" url="features/org.eclipse.barxtools.platform.win32.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.portal.tools.feature" url="features/org.eclipse.foo.portal.tools.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.serverattach" url="features/org.eclipse.foo.serverattach_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.test.examples" primary="true" url="features/org.eclipse.y.test.examples_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barz.common.ui" url="features/org.eclipse.barz.common.ui_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.ejb" url="features/org.eclipse.barz.ejb_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.profiling" primary="true" url="features/org.eclipse.y.profiling_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.foo.ejbdeploy.feature.nl1" url="features/org.eclipse.foo.ejbdeploy.feature.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.emf.integration" url="features/org.eclipse.barz.emf.integration_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.javascript" url="features/org.eclipse.bardebug.javascript_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.ast.feature" url="features/org.eclipse.bardebug.ast.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.wsvt-feature" url="features/org.eclipse.wsvt-feature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.sib.mediation.develop.feature" url="features/org.eclipse.foo.sib.mediation.develop.feature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.creation.ejb.feature.nl1" url="features/org.eclipse.foo.webservice.was.creation.ejb.feature.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webedit.editor.feature" url="features/org.eclipse.foo.webedit.editor.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.data" url="features/org.eclipse.barz.data_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.sib.mediation.deploy.feature" url="features/org.eclipse.foo.sib.mediation.deploy.feature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.e" url="features/org.eclipse.foo.e_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.creation.ejb.feature" url="features/org.eclipse.foo.webservice.was.creation.ejb.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.siteedit.feature" url="features/org.eclipse.foo.siteedit.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.profiling.server.compatible" url="features/org.eclipse.foo.profiling.server.compatible_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.ws" url="features/org.eclipse.barz.ws_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ejb.samples-feature" url="features/org.eclipse.foo.ejb.samples-feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.activities.feature" url="features/org.eclipse.barz.activities.feature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.examples" url="features/org.eclipse.foo.examples_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barx.sdk" url="features/org.eclipse.barx.sdk_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.pdt.win32" url="features/org.eclipse.bardebug.pdt.win32_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.wsa" url="features/org.eclipse.bardebug.wsa_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.jve.express" url="features/org.eclipse.foo.jve.express_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardata.linux" url="features/org.eclipse.bardata.linux_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barsse.xmlmarkup" url="features/org.eclipse.barsse.xmlmarkup_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.validation" url="features/org.eclipse.barz.validation_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.gla" primary="true" url="features/org.eclipse.y.gla_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barz.ws.model" url="features/org.eclipse.barz.ws.model_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barx.ast" url="features/org.eclipse.barx.ast_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.st.ext.nl1" url="features/org.eclipse.barws.ast.st.ext.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.common.utilities" url="features/org.eclipse.barz.common.utilities_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barz.common" url="features/org.eclipse.barz.common_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.xml.model" url="features/org.eclipse.barz.xml.model_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.pdt" url="features/org.eclipse.bardebug.pdt_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.navigator" url="features/org.eclipse.barz.navigator_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webtools.feature" url="features/org.eclipse.foo.webtools.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.emf.integration.core" url="features/org.eclipse.barz.emf.integration.core_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.struts.feature" url="features/org.eclipse.foo.struts.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barsse.base" url="features/org.eclipse.barsse.base_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.help.doc" url="features/org.eclipse.bardebug.help.doc_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.models" url="features/org.eclipse.y.models_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.y.logging" url="features/org.eclipse.y.logging_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.bardebug.javascript.nl1.feature" url="features/org.eclipse.bardebug.javascript.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.st.batch" url="features/org.eclipse.barws.ast.st.batch_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barsse.snippets" url="features/org.eclipse.barsse.snippets_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.rapiddeploy" plugin-identifier="org.eclipse.barws.rapiddeploy.core" url="features/org.eclipse.barws.rapiddeploy_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.bardata" url="features/org.eclipse.bardata_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.security" url="features/org.eclipse.foo.security_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.probekit" url="features/org.eclipse.foo.probekit_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.jsf.feature" url="features/org.eclipse.foo.jsf.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.analysis" url="features/org.eclipse.foo.analysis_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ac-tech" url="features/org.eclipse.foo.ac-tech_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.creation.feature" url="features/org.eclipse.foo.webservice.was.creation.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ejb" url="features/org.eclipse.foo.ejb_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ejbdeploy.feature" url="features/org.eclipse.foo.ejbdeploy.feature_5.1.1/" version="5.1.1"/>
-<feature id="org.eclipse.barz.e" url="features/org.eclipse.barz.e_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ftp" url="features/org.eclipse.foo.ftp_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.examples" url="features/org.eclipse.y.examples_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.foo.jve.core" url="features/org.eclipse.foo.jve.core_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.core" url="features/org.eclipse.y.core_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barz.ws.axis" url="features/org.eclipse.barz.ws.axis_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.jve.e" url="features/org.eclipse.foo.jve.e_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.resources.common.feature" url="features/org.eclipse.foo.resources.common.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws" url="features/org.eclipse.barws_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y" url="features/org.eclipse.y_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.bardebug.ast.nl1.feature" url="features/org.eclipse.bardebug.ast.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz" url="features/org.eclipse.barz_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barlpex" url="features/org.eclipse.barlpex_3.0.0/" version="3.0.0"/>
-<feature id="org.eclipse.barxml" url="features/org.eclipse.barxml_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.ws.consumption" url="features/org.eclipse.barz.ws.consumption_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.egl.feature" url="features/org.eclipse.foo.egl.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.server.tomcat" url="features/org.eclipse.barz.server.tomcat_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.rapiddeploy.cmdframework" url="features/org.eclipse.barws.rapiddeploy.cmdframework_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.ejb.sbf.feature" url="features/org.eclipse.foo.ejb.sbf.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.qev" url="features/org.eclipse.foo.qev_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ws.ext.feature" url="features/org.eclipse.foo.ws.ext.feature_5.9.0/" version="5.9.0"/>
-<feature id="org.eclipse.barz.xml" url="features/org.eclipse.barz.xml_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.web.developer" url="features/org.eclipse.barupdate.web.developer_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.st.base.nl1" url="features/org.eclipse.barws.ast.st.base.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.jdt.integration" url="features/org.eclipse.barz.jdt.integration_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.source" url="features/org.eclipse.y.source_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.foo.gla" url="features/org.eclipse.foo.gla_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ws.ejb.nl1.feature" url="features/org.eclipse.foo.ws.ejb.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.st.base" url="features/org.eclipse.barws.ast.st.base_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barsupport.rwd.doc" url="features/org.eclipse.barsupport.rwd.doc_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barupdate.pd.prof" url="features/org.eclipse.barupdate.pd.prof_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.creation.feature.nl1" url="features/org.eclipse.foo.webservice.was.creation.feature.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.wsvtvalidatorfeature" url="features/org.eclipse.wsvtvalidatorfeature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barws.ast.st.batch.nl1" url="features/org.eclipse.barws.ast.st.batch.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.doc.feature" url="features/org.eclipse.barws.ast.doc.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ws.ejb.feature" url="features/org.eclipse.foo.ws.ejb.feature_5.9.0/" version="5.9.0"/>
-<feature id="org.eclipse.barws.rapiddeploy.nl1" url="features/org.eclipse.barws.rapiddeploy.nl1_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barz.jca" url="features/org.eclipse.barz.jca_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.xml.validate" url="features/org.eclipse.barz.xml.validate_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.extension" url="features/org.eclipse.barz.extension_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.env.ui" url="features/org.eclipse.barz.env.ui_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.env" url="features/org.eclipse.barz.env_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.jscrib.framework" url="features/org.eclipse.barupdate.jscrib.framework_1.2.0/" version="1.2.0"/>
-<feature id="org.eclipse.bardebug.pdt.nl1.feature" url="features/org.eclipse.bardebug.pdt.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barrwd.doc.feature" url="features/org.eclipse.barrwd.doc.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.orphans" url="features/org.eclipse.barupdate.orphans_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.profiling" url="features/org.eclipse.foo.profiling_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.probekit" url="features/org.eclipse.y.probekit_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barsse.webmarkup" url="features/org.eclipse.barsse.webmarkup_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardata.win32" url="features/org.eclipse.bardata.win32_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.server" url="features/org.eclipse.barz.server_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.jem" url="features/org.eclipse.jem_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.project.interchange" url="features/org.eclipse.foo.project.interchange_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.ve" url="features/org.eclipse.ve_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.bardebug.wsa.nl1.feature" url="features/org.eclipse.bardebug.wsa.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.deploy.feature.nl1" url="features/org.eclipse.foo.webservice.was.deploy.feature.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ws.ext.nl1.feature" url="features/org.eclipse.foo.ws.ext.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.helpas.doc" url="features/org.eclipse.bardebug.helpas.doc_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.emf.ui.integration" url="features/org.eclipse.foo.emf.ui.integration_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.deploy.feature" url="features/org.eclipse.foo.webservice.was.deploy.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.web" url="features/org.eclipse.barz.web_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.profiling.server" url="features/org.eclipse.foo.profiling.server_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.st.ext" url="features/org.eclipse.barws.ast.st.ext_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barrup.updatezone.feature" url="features/org.eclipse.barrup.updatezone.feature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barsamplegallery-feature" url="features/org.eclipse.barsamplegallery-feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.jdt.source" url="features/org.eclipse.jdt.source_3.0.1/" version="3.0.1"/>
-<feature application="org.eclipse.ui.ide.workbench" id="org.eclipse.barupdate.sdp.feature" primary="true" url="features/org.eclipse.barupdate.sdp.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.pde.source" url="features/org.eclipse.pde.source_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.foo.lum.utils.feature" url="features/org.eclipse.foo.lum.utils.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.baresupport.client.nl1" url="features/org.eclipse.baresupport.client/" version="0.9.14"/>
-<feature id="org.eclipse.y.logging" url="features/org.eclipse.y.logging_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.emf.ecore.sdo.doc" url="features/org.eclipse.emf.ecore.sdo.doc_2.0.0/" version="2.0.0"/>
-<feature id="org.eclipse.foo.logging" url="features/org.eclipse.foo.logging_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.welcome.feature.nl1" url="features/org.eclipse.barupdate.welcome.feature.nl1/" version="6.0.0"/>
-<feature application="org.eclipse.ui.ide.workbench" id="org.eclipse.platform" primary="true" url="features/org.eclipse.platform_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barcommon.doc.feature" url="features/org.eclipse.barcommon.doc.feature/" version="6.0.0"/>
-<feature id="org.eclipse.jdt" url="features/org.eclipse.jdt_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barsupport.core.doc" url="features/org.eclipse.barsupport.core.doc/" version="1.0.0"/>
-<feature id="org.eclipse.xyz.clearcase" url="features/org.eclipse.xyz.clearcase_6.0.11/" version="6.0.11"/>
-<feature id="org.eclipse.bartutorialgallery-feature" url="features/org.eclipse.bartutorialgallery-feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.welcome.feature" url="features/org.eclipse.barupdate.welcome.feature/" version="6.0.0"/>
-<feature id="org.eclipse.emf" url="features/org.eclipse.emf_2.0.1/" version="2.0.1"/>
-<feature id="org.eclipse.platform.source" url="features/org.eclipse.platform.source_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barupdate.common.activities.feature" url="features/org.eclipse.barupdate.common.activities.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.cdi.itlm" url="features/org.eclipse.barupdate.cdi.itlm_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.pde" url="features/org.eclipse.pde_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.emf.doc" url="features/org.eclipse.emf.doc_2.0.1/" version="2.0.1"/>
-<feature id="org.eclipse.emf.ecore.sdo" url="features/org.eclipse.emf.ecore.sdo_2.0.1/" version="2.0.1"/>
-<feature id="org.eclipse.barsupport.core.doc.nl1" url="features/org.eclipse.barsupport.core.doc.nl1/" version="1.0.0"/>
-<feature id="org.eclipse.barxtools.comparemerge" url="features/org.eclipse.barxtools.comparemerge_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barxtools.common.ui.properties" url="features/org.eclipse.barxtools.common.ui.properties_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.xsd" url="features/org.eclipse.xsd_2.0.1/" version="2.0.1"/>
-<feature id="org.eclipse.gef" url="features/org.eclipse.gef_3.0.0/" version="3.0.0"/>
-</site>
-</config>
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
deleted file mode 100644
index 78f193d..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 2275ade..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index ea958c7..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index 7f05d82..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">

-  <runtime>

-    <library name="junit.jar">

-      <export name="*"/>

-    </library>

-  </runtime>

-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml
deleted file mode 100644
index 3141af8..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="1.1.1" ws="WS_WIN32"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index e01846c..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
-  <runtime>
-    <library name="junit.jar">
-      <export name="*"/>
-    </library>
-  </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml
deleted file mode 100644
index 68a7de8..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.core" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="2.1.0" ws="WS_WIN32"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml
deleted file mode 100644
index e01846c..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
-  <runtime>
-    <library name="junit.jar">
-      <export name="*"/>
-    </library>
-  </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar b/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/resources.properties b/update/org.eclipse.update.tests.core/data/resources.properties
deleted file mode 100644
index 1a3ab90..0000000
--- a/update/org.eclipse.update.tests.core/data/resources.properties
+++ /dev/null
@@ -1,13 +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

-###############################################################################

-HTTP_PATH_1=/org.eclipse.update.tests.core.updatetests/UpdateManager2/

-HTTP_PATH_2=/org.eclipse.update.tests.core.updatetests/UpdateManager/

-HTTP_PATH_3=/org.eclipse.update.tests.core.updatetests/Site with space/
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/site.xml b/update/org.eclipse.update.tests.core/data/site.xml
deleted file mode 100644
index 3fc60c7..0000000
--- a/update/org.eclipse.update.tests.core/data/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-<description url="info/siteInfo.html"/>

-  <feature url="testAPI/features/feature3">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature url="http://www.eclipse.org/feature2">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <feature url="http://www.eclipse.org/feature1">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <archive path="plugins/org.eclipse.update.plugin1_1.1.1.jar" url="plugins/org.eclipse.update.plugin1_1.1.1"/>    

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>

-  <category-def label="Eclipse Tools" name="eclipse"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/site2/site.xml b/update/org.eclipse.update.tests.core/data/site2/site.xml
deleted file mode 100644
index 39d1c11..0000000
--- a/update/org.eclipse.update.tests.core/data/site2/site.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site url="Info.html" type="org.eclipse.update.core.file">

-  <feature url="features/feature1"/>

-  <archive path="org.eclipse.update.plugin1" url="plugins/plugin1"/>

-  <archive path="org.eclipse.update.archive2" url="plugins/plugin2"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/META-INF/MANIFEST.MF
deleted file mode 100644
index c223e4f..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Generated-from: 1077062603708
-Bundle-Name: Test
-Bundle-Version: 1.0.3
-Bundle-SymbolicName: org.eclipse.update.core.tests.bundleAndPluginManifestsBUNDLEPARSED
-Bundle-Vendor: Eclipse.org
-Bundle-ClassPath: plugin.jar
-Legacy: true
-Bundle-Activator: org.eclipse.update.core.tests.bundleAndPluginManifests.Activator
-Require-Bundle: 
- org.eclipse.core.runtime,
- org.eclipse.ui
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/plugin.xml b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/plugin.xml
deleted file mode 100644
index 6b59ddb..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/plugin.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.bundleAndPluginManifests" version="1.0.3" vendor-name="Eclipse.org">
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleManifest_1.0.1/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleManifest_1.0.1/META-INF/MANIFEST.MF
deleted file mode 100644
index 656e680..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleManifest_1.0.1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Generated-from: 1077062603708
-Bundle-Name: Test
-Bundle-Version: 1.0.1
-Bundle-SymbolicName: org.eclipse.update.core.tests.bundleManifest; singleton=true
-Bundle-Vendor: Eclipse.org
-Bundle-ClassPath: plugin.jar
-Legacy: true
-Bundle-Activator: org.eclipse.update.core.tests.bundleManifest.Activator
-Require-Bundle: 
- org.eclipse.core.runtime,
- org.eclipse.ui
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/plugin.xml b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/plugin.xml
deleted file mode 100644
index 7f81c46..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin2" version="5.0.0" vendor-name="junit.org">

-  <runtime>

-    <library name="junit.jar">

-      <export name="*"/>

-    </library>

-  </runtime>

-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/src.jar b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/plugin.xml b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/plugin.xml
deleted file mode 100644
index efb3c26..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin2" version="5.0.1" vendor-name="junit.org">

-  <runtime>

-    <library name="junit.jar">

-      <export name="*"/>

-    </library>

-  </runtime>

-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/src.jar b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/notBundleManifest_1.0.2/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/notBundleManifest_1.0.2/META-INF/MANIFEST.MF
deleted file mode 100644
index 866fb0f..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/notBundleManifest_1.0.2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Generated-from: 1077062603708
-Bundle-Name: Not Valid Bundle Manifest
-Bundle-Version: 1.0.2
-Bundle-Vendor: Eclipse.org
-Bundle-ClassPath: plugin.jar
-Require-Bundle: 
- org.eclipse.core.runtime,
- org.eclipse.ui
diff --git a/update/org.eclipse.update.tests.core/data/testAPI/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/testAPI/features/feature3/feature.xml
deleted file mode 100644
index f878d60..0000000
--- a/update/org.eclipse.update.tests.core/data/testAPI/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="us" os="WIN32,LINUX" version="1.1.1"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index e01846c..0000000
--- a/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
-  <runtime>
-    <library name="junit.jar">
-      <export name="*"/>
-    </library>
-  </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/testAPI/site.xml b/update/org.eclipse.update.tests.core/data/testAPI/site.xml
deleted file mode 100644
index 4c15d43..0000000
--- a/update/org.eclipse.update.tests.core/data/testAPI/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.file">
-<description url="info/siteInfo.html"/>
-  <feature url="features/feature3">
-    <category name="eclipse/UML"/>
-  </feature>
-  <feature url="http://www.eclipse.org/feature2">
-    <category name="eclipse/J2EE"/>
-  </feature>
-  <feature url="http://www.eclipse.org/feature1">
-    <category name="eclipse/J2EE"/>
-  </feature>
-  <archive path="plugins/org.eclipse.update.plugin1_1.1.1.jar" url="plugins/org.eclipse.update.plugin1_1.1.1"/>    
-  <category-def label="J2EE tools" name="eclipse/J2EE"/>
-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
-  <category-def label="UML tools" name="eclipse/UML"/>
-  <category-def label="Messaging Tools" name="B2B"/>
-  <category-def label="Eclipse Tools" name="eclipse"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site2/.eclipseproduct b/update/org.eclipse.update.tests.core/data/validation/site2/.eclipseproduct
deleted file mode 100644
index 8b829aa..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site2/.eclipseproduct
+++ /dev/null
@@ -1,3 +0,0 @@
-id=another.product.id

-name=Name of the product

-ver=1.2.4
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site3/.eclipseextension b/update/org.eclipse.update.tests.core/data/validation/site3/.eclipseextension
deleted file mode 100644
index 6d72df7..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site3/.eclipseextension
+++ /dev/null
@@ -1 +0,0 @@
-id=id.of.extended.product
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site4/eclipse/.eclipseextension b/update/org.eclipse.update.tests.core/data/validation/site4/eclipse/.eclipseextension
deleted file mode 100644
index acc84e9..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site4/eclipse/.eclipseextension
+++ /dev/null
@@ -1 +0,0 @@
-id=different.product.id
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site5/.eclipseUM b/update/org.eclipse.update.tests.core/data/validation/site5/.eclipseUM
deleted file mode 100644
index 196c522..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site5/.eclipseUM
+++ /dev/null
@@ -1,3 +0,0 @@
-id=org.eclipse.platform

-name=a Product 

-version=3.5.6
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site5/eclipse/.eclipseextension b/update/org.eclipse.update.tests.core/data/validation/site5/eclipse/.eclipseextension
deleted file mode 100644
index fff40a3..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site5/eclipse/.eclipseextension
+++ /dev/null
@@ -1,3 +0,0 @@
-id=org.eclipse.platform
-name=Eclipse Platform
-version=3.1.0
diff --git a/update/org.eclipse.update.tests.core/data/validation/site6/.eclipseUM b/update/org.eclipse.update.tests.core/data/validation/site6/.eclipseUM
deleted file mode 100644
index 597f9f8..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site6/.eclipseUM
+++ /dev/null
@@ -1 +0,0 @@
-id=org.eclipse.sdk
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site6/children/children/eclipse/.eclipseextension b/update/org.eclipse.update.tests.core/data/validation/site6/children/children/eclipse/.eclipseextension
deleted file mode 100644
index 597f9f8..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site6/children/children/eclipse/.eclipseextension
+++ /dev/null
@@ -1 +0,0 @@
-id=org.eclipse.sdk
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse.test.feature_1.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse.test.feature_1.0.0/feature.xml
deleted file mode 100644
index 1511800..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse.test.feature_1.0.0/feature.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.test1.ident1" label="Feature One" nl="en_us,fr,de" os="OS_WIN32,OS_LINUX" provider-name="Object Technology International" version="1.0.0" ws="WS_WIN32,WS_MOTIF,WS_GTK">

-  <description>Test feature for testIdentifier test</description>

-  <copyright>Copyright (c) the company</copyright>

-  <license>Do you accept the license ?</license>

-  <url>

-    <update label="URL to update teh feature" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>

-  </url>

-  <plugin download-size="1500" id="org.eclipse.update.core.tests.feature1.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="3.5.6" ws="WS_WIN32"/>

-  <plugin download-size="1200" id="org.eclipse.update.core.tests.feature1.plugin2" install-size="978" fragment="false" version="5.0.0"/>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse_test_feature/feature.xml b/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse_test_feature/feature.xml
deleted file mode 100644
index 9f05cda..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse_test_feature/feature.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.test1.ident2" label="Feature One" nl="en_us,fr,de" os="OS_WIN32,OS_LINUX" provider-name="Object Technology International" version="1.0.0" ws="WS_WIN32,WS_MOTIF,WS_GTK">

-  <description>Test feature for testIdentifier test</description>

-  <copyright>Copyright (c) the company</copyright>

-  <license>Do you accept the license ?</license>

-  <url>

-    <update label="URL to update teh feature" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>

-  </url>

-  <plugin download-size="1500" url="org.eclipse.update.core.tests.feature1.plugin1" id="org.eclipse.update.core.tests.feature1.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="3.5.6" ws="WS_WIN32"/>

-  <plugin download-size="1200" id="org.eclipse.update.core.tests.feature1.plugin2" install-size="978" fragment="false" version="5.0.0"/>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature.xml
deleted file mode 100644
index c4ee139..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.eclipse.update.core.tests.feature1" image="feature1.gif" label="Feature One" nl="en,fr,de" os="OS_WIN32,OS_LINUX" provider-name="Object Technology International" version="1.0.4" ws="WS_WIN32,WS_MOTIF,WS_GTK">

-  <description>I believe this is the description of feature 1, well, feature 1 is an exceptional feature that you should install right NOW on your machine... try it.</description>

-  <copyright>Ok, now, this is a very very complex Copyright  not prepared by a lawyer Copyright (c) the company</copyright>

-  <license>#1 Do you accept it #2 you do nto accept it ...Do you accpt it ?</license>

-  <url>

-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>

-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>

-  </url>

-  <plugin download-size="1500" id="org.eclipse.update.core.tests.feature1.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="3.5.6" ws="WS_WIN32"/>

-  <plugin download-size="1200" id="org.eclipse.update.core.tests.feature1.plugin2" install-size="978" fragment="false" version="5.0.0"/>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif b/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif
deleted file mode 100644
index 03e30a2..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/xmls/site1/site.xml b/update/org.eclipse.update.tests.core/data/xmls/site1/site.xml
deleted file mode 100644
index 44823c0..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/site1/site.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site url="info" type="org.eclipse.update.core.file">

-  <feature id="org.isv.feature3" url="www.eclipse.org/feature3" version="3.4.5">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature id="org.eclipse.update.core.tests.feature2" url="www.eclipse.org/feature2" version="3.4.6">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <feature id="org.eclipse.update.core.tests.fature1" url="www.eclipse.org/feature1" version="2.3.5">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <archive path="org.eclipse.update.plugin1" url="www.eclipse.org/pluign1"/>

-  <archive path="org.eclipse.update.archive2" url="www.eclipse.org/plugin2"/>

-  <archive path="org.eclipse.update.plugin3" url="www.eclipse.org/plugin3"/>

-  <archive path="org.eclipse.unknown.plugin" url="www.eclipse.org/plugins/plugin4"/>

-  <archive path="org.eclipse.update.core.tests.feature1.foo1" url="www.eclipse.org/plugin1"/>

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>

-  <category-def label="Eclipse tools" name="eclipse"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/plugin.properties b/update/org.eclipse.update.tests.core/plugin.properties
deleted file mode 100644
index 1caa664..0000000
--- a/update/org.eclipse.update.tests.core/plugin.properties
+++ /dev/null
@@ -1,13 +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

-###############################################################################

-

-name = Install/Update Core Tests

-provider-name = Eclipse.org
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/plugin.xml b/update/org.eclipse.update.tests.core/plugin.xml
deleted file mode 100644
index 083a090..0000000
--- a/update/org.eclipse.update.tests.core/plugin.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.0"?>

-<plugin

-   id="org.eclipse.update.tests.core"

-   name="%name"

-   version="3.0.0"

-   provider-name="%provider-name"

-   class="org.eclipse.update.tests.UpdateTestsPlugin">

-

-   <runtime>

-      <library name="updatetests.jar">

-         <export name="*"/>

-      </library>

-   </runtime>

-   <requires>

-      <import plugin="org.eclipse.core.runtime"/>

-      <import plugin="org.junit"/>

-      <import plugin="org.eclipse.core.resources"/>

-      <import plugin="org.eclipse.update.core"/>

-      <import plugin="org.eclipse.tomcat"/>

-      <import plugin="org.eclipse.help.appserver"/>

-      <import plugin="org.eclipse.update.configurator"/>

-      <import plugin="org.eclipse.test.performance"/>

-   </requires>

-

-

-   <extension

-         id="feature1"

-         point="org.eclipse.update.core.featureTypes">

-      <feature-factory

-            class="org.eclipse.update.internal.core.FeatureExecutableFactory">

-      </feature-factory>

-   </extension>

-   <extension

-         id="ftp"

-         point="org.eclipse.update.core.siteTypes">

-      <site-factory

-            class="org.eclipse.update.tests.implementation.SiteFTPFactory">

-      </site-factory>

-   </extension>

-

-</plugin>

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java
deleted file mode 100644
index d215b5d..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java
+++ /dev/null
@@ -1,57 +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.update.tests;

-

-import junit.framework.Test;

-import junit.framework.TestSuite;

-import org.eclipse.update.tests.api.AllAPITests;

-import org.eclipse.update.tests.branding.*;

-//import org.eclipse.update.tests.configurations.AllConfigurationsTests;

-import org.eclipse.update.tests.core.boot.AllPlatformConfigurationTests;

-import org.eclipse.update.tests.mirror.*;

-import org.eclipse.update.tests.model.AllModelTests;

-import org.eclipse.update.tests.nestedfeatures.AllNestedTests;

-import org.eclipse.update.tests.parser.AllParserTests;

-//import org.eclipse.update.tests.perfms.*;

-import org.eclipse.update.tests.reconciliation.AllReconciliationTests;

-import org.eclipse.update.tests.regularInstall.AllRegularInstallTests;

-//import org.eclipse.update.tests.regularRemove.AllRegularRemoveTests;

-import org.eclipse.update.tests.sitevalidation.AllSiteValidationTests;

-//import org.eclipse.update.tests.standalone.*;

-import org.eclipse.update.tests.types.AllTypesTests;

-import org.eclipse.update.tests.uivalues.AllCoreUITests;

-

-public class AllTests extends TestSuite {

-	public AllTests(String name) {

-		super(name);

-	}

-	public static Test suite() throws Exception {

-		TestSuite suite = new TestSuite();

-		suite.setName("All Update Manager Tests");

-		suite.addTest(AllMirrorTests.suite());	

-		suite.addTest(AllSiteValidationTests.suite());

-		suite.addTest(AllPlatformConfigurationTests.suite());

-		suite.addTest(AllRegularInstallTests.suite());

-		suite.addTest(AllAPITests.suite());

-		suite.addTest(AllParserTests.suite());

-		suite.addTest(AllCoreUITests.suite());

-//		suite.addTest(AllConfigurationsTests.suite());

-		suite.addTest(AllTypesTests.suite());

-//		suite.addTest(AllRegularRemoveTests.suite());

-		suite.addTest(AllNestedTests.suite());	

-		suite.addTest(AllReconciliationTests.suite());					

-		suite.addTest(AllModelTests.suite());

-		suite.addTest(AllBrandingTests.suite());

-		//suite.addTest(AllStandaloneTests.suite());

-		//suite.addTest(AllPerformanceTests.suite());

-		return suite;

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java
deleted file mode 100644
index a388b2d..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java
+++ /dev/null
@@ -1,163 +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.update.tests;

-

-

-import java.io.File;

-import java.io.IOException;

-import java.net.*;

-import java.util.*;

-

-import junit.framework.TestCase;

-import org.eclipse.core.runtime.*;

-import org.eclipse.core.runtime.IPluginDescriptor;

-import org.eclipse.core.runtime.Platform;

-import org.eclipse.update.configuration.IConfiguredSite;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.IFeature;

-import org.eclipse.update.core.IPluginEntry;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-/**

- * All Help System Test cases must subclass this base Testcase.

- * See SampleTestCase.java for a template.

- */

-

-public abstract class UpdateManagerTestCase extends TestCase {

-

-	protected static ResourceBundle bundle;

-	protected static String dataPath;

-

-	protected static URL SOURCE_FILE_SITE;

-	protected static URL SOURCE_FILE_SITE_INSTALLED;

-	protected static URL SOURCE_HTTP_SITE;

-	protected static URL TARGET_FILE_SITE;

-

-	private static final String DATA_PATH = "data/";

-

-	/**

-	 * Default Constructor

-	 */

-	public UpdateManagerTestCase(String name) {

-		super(name);

-		try {

-			init();

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-	}

-

-	protected static void init() throws MissingResourceException, IOException, MalformedURLException {

-

-		IPluginDescriptor dataDesc = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.update.tests.core");

-		URL resolvedURL = Platform.asLocalURL(Platform.resolve(dataDesc.getInstallURL()));

-		URL dataURL = new URL(resolvedURL, DATA_PATH);

-		dataPath = dataURL.getFile();

-		String homePath = (System.getProperty("java.io.tmpdir")).replace(File.separatorChar, '/');

-

-		if (bundle == null) {

-			ClassLoader l = new URLClassLoader(new URL[] { dataURL }, null);

-			bundle = ResourceBundle.getBundle("resources", Locale.getDefault(), l);

-		}

-

-		try {

-			SOURCE_FILE_SITE = new File(dataPath).toURL();

-			SOURCE_FILE_SITE_INSTALLED = new File(dataPath + "testAPI/").toURL();

-			SOURCE_HTTP_SITE = new URL("http", getHttpHost(), getHttpPort(), bundle.getString("HTTP_PATH_1"));

-			TARGET_FILE_SITE = new URL("file", null, homePath + "/target/");

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-

-		//cleanup target 

-		File target = new File(homePath + "/target/");

-		UpdateManagerUtils.removeFromFileSystem(target);

-		// cleanup info about just installed plugins

-		InstallRegistry.cleanup();

-		

-		// setup cache site to false. 

-		// Note: the standalone tests will set it back to true

-		InternalSiteManager.globalUseCache = false;

-	}

-

-	/**

-	 * Simple implementation of setUp. Subclasses are prevented 

-	 * from overriding this method to maintain logging consistency.

-	 * umSetUp() should be overriden instead.

-	 */

-	protected final void setUp() throws Exception {

-		System.out.println("----- " + this.getName());

-		System.out.println(this.getName() + ": setUp...");

-		umSetUp();

-	}

-

-	/**

-	 * Sets up the fixture, for example, open a network connection.

-	 * This method is called before a test is executed.

-	 */

-	protected void umSetUp() throws Exception {

-		// do nothing.

-	}

-

-	/**

-	 * Simple implementation of tearDown.  Subclasses are prevented 

-	 * from overriding this method to maintain logging consistency.

-	 * umTearDown() should be overriden instead.

-	 */

-	protected final void tearDown() throws Exception {

-		System.out.println(this.getName() + ": tearDown...\n");

-		umTearDown();

-	}

-

-	/**

-	 * Tears down the fixture, for example, close a network connection.

-	 * This method is called after a test is executed.

-	 */

-	protected void umTearDown() throws Exception {

-		// do nothing.

-	}

-

-	protected static String getHttpHost() {

-		return UpdateTestsPlugin.getWebAppServerHost();

-	}

-

-	protected static int getHttpPort() {

-		return UpdateTestsPlugin.getWebAppServerPort();

-	}

-

-	protected void remove(IFeature feature, IConfiguredSite configSite) throws CoreException {

-		ISite site = configSite.getSite();

-		remove(feature, site);

-	}

-

-	protected void remove(IFeature feature, ISite site) throws CoreException {

-		site.getFeatureReference(feature);

-		// remove the plugins and features dir

-		String sitePath = site.getURL().getFile();

-		File file = null;

-

-		String featureName = feature.getVersionedIdentifier().getIdentifier().toString() + "_" + feature.getVersionedIdentifier().getVersion().toString();

-		file = new File(sitePath, "features" + File.separator + featureName);

-		System.out.println("****************************************Removing :" + file);

-		UpdateManagerUtils.removeFromFileSystem(file);

-

-		IPluginEntry[] entries = feature.getPluginEntries();

-		for (int i = 0; i < entries.length; i++) {

-			String name = entries[i].getVersionedIdentifier().getIdentifier().toString() + "_" + entries[i].getVersionedIdentifier().getVersion().toString() + File.separator;

-			file = new File(sitePath, "plugins" + File.separator + name);

-			System.out.println("****************************************Removing :" + file);

-			UpdateManagerUtils.removeFromFileSystem(file);

-			InstallRegistry.unregisterPlugin(entries[i]);

-		}

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java
deleted file mode 100644
index 1843ffd..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java
+++ /dev/null
@@ -1,88 +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.update.tests;

-import org.eclipse.core.runtime.*;

-import org.eclipse.help.internal.appserver.WebappManager;

-import org.eclipse.update.internal.core.UpdateCore;

-import org.osgi.framework.*;

-

-/**

- * manages the startuo and shutown of the 

- * web server

- */

-public class UpdateTestsPlugin extends Plugin {

-

-	private static String appServerHost = null;

-	private static int appServerPort = 0;

-	private static UpdateTestsPlugin plugin;

-	private static BundleContext bundleContext;

-	private static boolean initialized=false;

-

-	public static UpdateTestsPlugin getPlugin() {

-		return plugin;

-	}

-

-	/* (non-Javadoc)

-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)

-	 */

-	public void start(BundleContext context) throws Exception {

-		super.start(context);

-		plugin = this;

-		bundleContext = context;

-	}

-	

-	/* (non-Javadoc)

-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)

-	 */

-	public void stop(BundleContext context) throws Exception {

-		WebappManager.stop("org.eclipse.update.tests.core.updatetests");

-		plugin = null;

-		bundleContext = null;

-		super.stop(context);

-	}

-

-	/**

-	 * Returns the host identifier for the web app server

-	 */

-	public static String getWebAppServerHost() {

-		if (!initialized) initialize();

-		return appServerHost;

-	}

-

-	/**

-	 * Returns the port identifier for the web app server

-	 */

-	public static int getWebAppServerPort() {

-		if (!initialized) initialize();		

-		return appServerPort;

-	}

-	/**

-	 * Method initialize.

-	 */

-	private static void initialize() {

-		String text = null;

-		try {

-			WebappManager.start("org.eclipse.update.tests.core.updatetests", "org.eclipse.update.tests.core", new Path("webserver"));

-			appServerHost = WebappManager.getHost();

-			appServerPort = WebappManager.getPort();

-

-			text = "The webServer did start ip:" + appServerHost + ":" + appServerPort;

-		} catch (CoreException e) {

-			text = "The webServer didn't start ";

-			IStatus status = new Status(IStatus.ERROR, "org.eclipse.update.tests.core", IStatus.OK, "WebServer not started. Update Tests results are invalid", null);

-			UpdateCore.warn("",new CoreException(status));

-		}finally {

-			System.out.println(text);

-			initialized = true;

-		}

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java
deleted file mode 100644
index ab96b39..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java
+++ /dev/null
@@ -1,46 +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.update.tests.api;

-import junit.framework.Test;

-import junit.framework.TestSuite;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-/**

- * Manages the API tests

- */

-public class AllAPITests extends UpdateManagerTestCase {

-	/**

-	 * Constructor

-	 */

-	public AllAPITests(String name) {

-		super(name);

-	}

-	

-	/**

-	 * List of API tests

-	 */

-	public static Test suite() throws Exception {

-		TestSuite suite = new TestSuite();

-		suite.setName("API Tests");

-

-		suite.addTest(new TestSuite(TestSiteAPI.class));

-		suite.addTest(new TestSuite(TestLocalSiteAPI.class));		

-		suite.addTest(new TestSuite(TestUpdateManagerUtilsAPI.class));		

-		suite.addTest(new TestSuite(TestDefaultExecutableFeatureAPI.class));

-		suite.addTest(new TestSuite(TestDefaultPackageFeatureAPI.class));

-		suite.addTest(new TestSuite(TestPluginContainerAPI.class));

-		suite.addTest(new TestSuite(TestSiteManagerAPI.class));		

-		suite.addTest(new TestSuite(TestNestedFeatureAPI.class));

-		suite.addTest(new TestSuite(TestFeatureContentProvider_FileFilterAPI.class));

-		return suite;

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java
deleted file mode 100644
index 3456bb3..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java
+++ /dev/null
@@ -1,173 +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.update.tests.api;

-

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.internal.core.FeatureExecutableContentProvider;

-/**

- * Abstract Class that implements most of the behavior of a feature

- * A feature ALWAYS belongs to an ISite

- */

-public class DefaultFeature extends Feature {

-

-

-	/**

-	 * Copy constructor

-	 */

-	public DefaultFeature(IFeature sourceFeature, ISite targetSite) throws CoreException {

-		this(targetSite);

-		this.setFeatureContentProvider(sourceFeature.getFeatureContentProvider());

-		this.setIdentifier(sourceFeature.getVersionedIdentifier());

-		this.setLabel(sourceFeature.getLabel());

-		this.setUpdateSiteEntry(sourceFeature.getUpdateSiteEntry());

-		this.setDiscoverySiteEntries(sourceFeature.getDiscoverySiteEntries());

-		this.setProvider(sourceFeature.getProvider());

-		this.setDescription(sourceFeature.getDescription());

-		this.setCopyright(sourceFeature.getCopyright());

-		this.setLicense(sourceFeature.getLicense());

-		this.setPluginEntries(sourceFeature.getPluginEntries());

-		this.setImage(sourceFeature.getImage());

-	}

-	

-	/**

-	 * Constructor

-	 */

-	public DefaultFeature(ISite targetSite) throws CoreException {

-		super();

-		this.setSite(targetSite);		

-	}	

-	

-	

-	/**

-	 * Sets the identifier

-	 * @param identifier The identifier to set

-	 */

-	public void setIdentifier(VersionedIdentifier identifier) {

-		setFeatureIdentifier(identifier.getIdentifier());

-		setFeatureVersion(identifier.getVersion().toString());

-	}

-

-	/**

-	 * Sets the discoverySiteEntries

-	 * @param discoveryInfos The discoveryInfos to set

-	 */

-	public void setDiscoverySiteEntries(IURLEntry[] discoveryInfos) {

-		setDiscoverySiteEntryModels((URLEntryModel[]) discoveryInfos);

-	}

-

-	/**

-	 * Sets the updateSiteEntry

-	 * @param updateInfo The updateInfo to set

-	 */

-	public void setUpdateSiteEntry(IURLEntry updateInfo) {

-		setUpdateSiteEntryModel((URLEntryModel) updateInfo);

-	}

-

-	/**

-	 * Adds a discoveryInfo

-	 * @param discoveryInfo The discoveryInfo to add

-	 */

-	public void addDiscoverySiteEntry(IURLEntry discoveryInfo) {

-		addDiscoverySiteEntryModel((URLEntryModel) discoveryInfo);

-	}

-

-	/**

-	 * Sets the description

-	 * @param description The description to set

-	 */

-	public void setDescription(IURLEntry description) {

-		setDescriptionModel((URLEntryModel) description);

-	}

-

-	/**

-	 * Sets the copyright

-	 * @param copyright The copyright to set

-	 */

-	public void setCopyright(IURLEntry copyright) {

-		setCopyrightModel((URLEntryModel) copyright);

-	}

-

-	/**

-	 * Sets the license

-	 * @param license The license to set

-	 */

-	public void setLicense(IURLEntry license) {

-		setLicenseModel((URLEntryModel) license);

-	}

-

-	/**

-	 * Sets the image

-	 * @param image The image to set

-	 */

-	public void setImage(URL image) {

-		if (image==null) return;

-		setImageURLString(image.toExternalForm());

-	}

-

-	/**

-	 * Adds an import

-	 * @param anImport The import to add

-	 */

-	public void addImport(IImport anImport) {

-		if (anImport != null) {

-			addImportModel((ImportModel) anImport);

-		}

-	}

-

-

-	/**

-	 * Sets the pluginEntries

-	 * @param pluginEntries The pluginEntries to set

-	 */

-	public void setPluginEntries(IPluginEntry[] pluginEntries) {

-		if (pluginEntries != null) {

-			for (int i = 0; i < pluginEntries.length; i++) {

-				addPluginEntry(pluginEntries[i]);

-			}

-		}

-	}

-

-

-	/**

-	 * sets teh URL isf not already present

-	 */

-	public void setURL(URL url) throws CoreException{

-		//if (getFeatureContentProvider()==null){

-			FeatureContentProvider contentProvider = new FeatureExecutableContentProvider(url);

-			this.setFeatureContentProvider(contentProvider);

-			contentProvider.setFeature(this);

-		//}

-	}

-	

-	

-	/*

-	 * @see IPluginContainer#addPluginEntry(IPluginEntry)

-	 */

-	public void addPluginEntry(IPluginEntry pluginEntry) {

-		if (pluginEntry != null) {

-			addPluginEntryModel((PluginEntryModel) pluginEntry);

-		}

-	}

-

-	/*

-	 * @see IFeature#addNonPluginEntry(INonPluginEntry)

-	 */

-	public void addNonPluginEntry(INonPluginEntry dataEntry) {

-		if (dataEntry != null) {

-			addNonPluginEntryModel((NonPluginEntryModel) dataEntry);

-		}

-	}	

-

-	}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java
deleted file mode 100644
index 5944db4..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java
+++ /dev/null
@@ -1,31 +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.update.tests.api;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.update.core.URLEntry;

-

-/**

- * Wrapper around URLEntry

- */

-public class MyURLEntry extends URLEntry {

-	

-	public MyURLEntry(String annotation, URL url) throws MalformedURLException {

-		super();

-		setAnnotation(annotation);

-		if (url!=null) {

-			setURLString(url.toExternalForm());

-			resolve(null,null);

-		}

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java
deleted file mode 100644
index 7886db4..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java
+++ /dev/null
@@ -1,184 +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.update.tests.api;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-

-public class TestDefaultExecutableFeatureAPI extends UpdateManagerTestCase {

-	

-	private DefaultFeature remoteFeature=null;

-	

-	/**

-	 * Test the testFeatures()

-	 */

-	public TestDefaultExecutableFeatureAPI(String arg0) {

-		super(arg0);

-	}

-	

-	/**

-	 * the feature to test

-	 */

-	private DefaultFeature getFeature() throws MalformedURLException, CoreException {

-		if (remoteFeature == null){

-

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-		URL url = UpdateManagerUtils.getURL(site.getURL(),"testAPI/"+Site.DEFAULT_INSTALLED_FEATURE_PATH+"feature3/",null);

-		SiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(site);

-		ref.setURL(url);

-		IFeature feature = ref.getFeature(null);

-		remoteFeature = new DefaultFeature(feature,site);

-

-		}

-		return remoteFeature;

-	}

-

-	public void testIdentifier() throws CoreException, MalformedURLException {

-		String id1 = "xmls/apitests/org.eclipse.test.feature_1.0.0/";

-		String id2 = "xmls/apitests/org.eclipse_test_feature";

-		VersionedIdentifier ident1 = new VersionedIdentifier("org.test1.ident1","1.0.0");

-		VersionedIdentifier ident2 = new VersionedIdentifier("org.test1.ident2","1.0.0");		

-		

-

-			ISite site = SiteManager.getSite(SOURCE_FILE_SITE,null);

-			

-			URL url1 = UpdateManagerUtils.getURL(site.getURL(),id1,null);			

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(url1);

-			remoteFeature.setIdentifier(ident1);

-			assertEquals(ident1.toString(),remoteFeature.getVersionedIdentifier().toString());

-	 	

-			 URL url2 = UpdateManagerUtils.getURL(site.getURL(),id2,null);		

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(url2);

-			remoteFeature.setIdentifier(ident2);

-			assertEquals(ident2.toString(),remoteFeature.getVersionedIdentifier().toString());

-		

-

-	}

-

-

-

-	public void testSite() throws MalformedURLException, CoreException{

-		String ident1 = Site.DEFAULT_INSTALLED_FEATURE_PATH+"feature3/";		

-

-			ISite site = SiteManager.getSite(SOURCE_FILE_SITE,null);

-			

-			URL id = UpdateManagerUtils.getURL(site.getURL(),ident1,null);			

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(id);

-			assertEquals(site,remoteFeature.getSite());

-

-	}

-

-

-	public void testLabel() throws CoreException,MalformedURLException {

-		String label = "dummy label";

-		Feature feature = getFeature();

-		feature.setLabel(label);

-		assertEquals(label,feature.getLabel());

-	}

-

-

-	public void testUpdateURL() throws CoreException,MalformedURLException {

-		URL url = null;

-		String label = "OTI Site";

-		try {

-			url = new URL("http://www.oti.com/");

-			

-		} catch (java.net.MalformedURLException e){} // impossible eh !

-		DefaultFeature feature = getFeature();

-		feature.setUpdateSiteEntry(new MyURLEntry(label, url));

-		assertEquals(url,feature.getUpdateSiteEntry().getURL());

-		assertEquals(label,feature.getUpdateSiteEntry().getAnnotation());

-

-	} 

-

-

-	

-	public void testDiscoveryURLs() throws CoreException,MalformedURLException {

-		IURLEntry[] urlInfo = new MyURLEntry[2];

-		URL[] url = new URL[2];

-		String[] label = new String[2];

-		try {

-			url[0] = new URL("http://www.oti.com/");

-			url[1] = new URL("http://eclipse.org/");

-			label[0] = "OTI Site";

-			label[1] = "Eclipse Site";

-		} catch (java.net.MalformedURLException e){} // impossible eh !

-		DefaultFeature feature = getFeature();

-		for (int i=0;i<2;i++){

-				urlInfo[i] = new MyURLEntry(label[i],url[i]);

-		}

-		feature.setDiscoverySiteEntries(urlInfo);

-		for (int i=0; i<feature.getDiscoverySiteEntries().length;i++){

-			assertEquals(urlInfo[i],feature.getDiscoverySiteEntries()[i]);

-		}

-

-	}

-

-

-	public void testProvider() throws CoreException,MalformedURLException {

-		String provider = "not so dummy provider";

-		IFeature feature = getFeature();

-		((Feature)feature).setProvider(provider);

-		assertEquals(provider,feature.getProvider());

-	}

-

-

-

-	public void testDescription() throws CoreException,MalformedURLException {

-		String desc = "pretty long description as a string with \r\n and \t and \n";

-		IURLEntry info = new MyURLEntry(desc,null);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(desc,feature.getDescription().getAnnotation());

-	}

-	

-

-	public void testDescription1() throws CoreException, MalformedURLException {

-		URL url = null;

-		try {

-			url = new URL("http://www.oti.com");

-		} catch (MalformedURLException e){/*pretty impossible*/}

-		IURLEntry info = new MyURLEntry(null,url);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(url,feature.getDescription().getURL());

-	}	

-	

-

-	public void testDescription2() throws CoreException, MalformedURLException {

-		

- 	 URL url = null;

-		try {

-			url = new URL("http://www.oti.com");

-		} catch (MalformedURLException e){/*pretty impossible*/}

-		String desc = "pretty long description as a string with \r\n and \t and \n";

-		IURLEntry info = new MyURLEntry(desc,url);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		String result = feature.getDescription().getAnnotation();

-		assertEquals(desc,result);

-		assertEquals(url,feature.getDescription().getURL());

-	}	

-

-

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java
deleted file mode 100644
index f1f757d..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java
+++ /dev/null
@@ -1,175 +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.update.tests.api;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-

-public class TestDefaultPackageFeatureAPI extends UpdateManagerTestCase {

-	

-	private	DefaultFeature remoteFeature=null;

-	

-	/**

-	 * Test the testFeatures()

-	 */

-	public TestDefaultPackageFeatureAPI(String arg0) {

-		super(arg0);

-	}

-	

-	/**

-	 * the feature to test

-	 */

-	private DefaultFeature getFeature() throws MalformedURLException, CoreException {

-		if (remoteFeature == null){

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-		URL id = UpdateManagerUtils.getURL(site.getURL(),"org.eclipse.update.core.feature1_1.0.0.jar",null);	

-		remoteFeature = new DefaultFeature(site);

-		remoteFeature.setURL(id);

-		}

-		return remoteFeature;

-	}

-

-	public void testIdentifier() throws CoreException, MalformedURLException {

-		

-		String id1 = "features/org.eclipse.test.feature_1.0.0.jar";

-		String id2 = "features/org.eclipse_test_feature.jar";

-		VersionedIdentifier ident1 = new VersionedIdentifier("org.test1.ident1","1.0.0");

-		VersionedIdentifier ident2 = new VersionedIdentifier("org.test1.ident2","1.0.0");		

-		

-

-			ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-			

-			URL url1 = UpdateManagerUtils.getURL(site.getURL(),id1,null);			

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(url1);

-			remoteFeature.setIdentifier(ident1);

-			assertEquals(ident1.toString(),remoteFeature.getVersionedIdentifier().toString());

-		

-			 URL url2 = UpdateManagerUtils.getURL(site.getURL(),id2,null);		

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(url2);

-			remoteFeature.setIdentifier(ident2);			

-			assertEquals(ident2.toString(),remoteFeature.getVersionedIdentifier().toString());

-	}

-

-

-	public void testSite() throws MalformedURLException, CoreException {

-		String ident1 = "org.eclipse.test.feature_1.0.0.jar";		

-

-			ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-			

-			URL id = UpdateManagerUtils.getURL(site.getURL(),ident1,null);		

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(id);	

-			assertEquals(site,remoteFeature.getSite());

-

-	}

-

-

-	public void testLabel() throws CoreException, MalformedURLException {

-		String label = "dummy label";

-		Feature feature = getFeature();

-		feature.setLabel(label);

-		assertEquals(label,feature.getLabel());

-	}

-

-	public void testUpdateURL() throws CoreException, MalformedURLException {

-		URL url = null;

-		String label = "OTI Site";

-		try {

-			url = new URL("http://www.oti.com/");

-			

-		} catch (java.net.MalformedURLException e){} // impossible eh !

-		DefaultFeature feature = getFeature();

-		feature.setUpdateSiteEntry(new MyURLEntry(label, url));

-		assertEquals(url,feature.getUpdateSiteEntry().getURL());

-		assertEquals(label,feature.getUpdateSiteEntry().getAnnotation());

-

-	} 

-

-

-	

-	public void testDiscoveryURLs() throws CoreException, MalformedURLException {

-		IURLEntry[] urlInfo = new URLEntry[2];

-		URL[] url = new URL[2];

-		String[] label = new String[2];

-		try {

-			url[0] = new URL("http://www.oti.com/");

-			url[1] = new URL("http://eclipse.org/");

-			label[0] = "OTI Site";

-			label[1] = "Eclipse Site";

-		} catch (java.net.MalformedURLException e){} // impossible eh !

-		DefaultFeature feature = getFeature();

-		for (int i=0;i<2;i++){

-				urlInfo[i] = new MyURLEntry(label[i],url[i]);

-		}

-		feature.setDiscoverySiteEntries(urlInfo);

-		for (int i=0; i<feature.getDiscoverySiteEntries().length;i++){

-			assertEquals(urlInfo[i],feature.getDiscoverySiteEntries()[i]);

-		}

-

-

-	}

-

-

-	public void testProvider() throws CoreException, MalformedURLException {

-		String provider = "not so dummy provider";

-		Feature feature = getFeature();

-		feature.setProvider(provider);

-		assertEquals(provider,feature.getProvider());

-	}

-

-

-

-	public void testDescription() throws CoreException, MalformedURLException {

-		String desc = "pretty long description as a string with \r\n and \t and \n";

-		IURLEntry info = new MyURLEntry(desc,null);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(desc,feature.getDescription().getAnnotation());

-	}

-	

-

-	public void testDescription1() throws CoreException, MalformedURLException {

-		URL url = null;

-		try {

-			url = new URL("http://www.oti.com");

-		} catch (MalformedURLException e){/*pretty impossible*/}

-		IURLEntry info = new MyURLEntry(null,url);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(url,feature.getDescription().getURL());

-	}	

-	

-	public void testDescription2() throws CoreException, MalformedURLException {

-		

-		URL url = null;

-		try {

-			url = new URL("http://www.oti.com");

-		} catch (MalformedURLException e){/*pretty impossible*/}

-		String desc = "pretty long description as a string with \r\n and \t and \n";

-		IURLEntry info = new MyURLEntry(desc,url);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(desc,feature.getDescription().getAnnotation());

-		assertEquals(url,feature.getDescription().getURL());

-	}

-

-

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestFeatureContentProvider_FileFilterAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestFeatureContentProvider_FileFilterAPI.java
deleted file mode 100644
index 55deb03..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestFeatureContentProvider_FileFilterAPI.java
+++ /dev/null
@@ -1,85 +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.update.tests.api;
-import org.eclipse.update.core.FeatureContentProvider;
-import org.eclipse.update.internal.core.FeatureExecutableContentProvider;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-
-
-public class TestFeatureContentProvider_FileFilterAPI extends UpdateManagerTestCase {
-	
-	
-	/**
-	 * Test the testFeatures()
-	 */
-	public TestFeatureContentProvider_FileFilterAPI(String arg0) {
-		super(arg0);
-	}
-	
-	public void testFileFilter(){
-		
-		String p1 = "/p1/p2/a.*";
-		String p2 = "p1/p2/b.*";
-		String p3 = "/p1/p2/a.txt";
-		String p4 = "/p1/p2/*.txt";
-		
-		String name1 = "/p1/p2/a.txt";
-		String name2 = "/p1/p2/b.txt";
-		String name3 = "/p3/p2/a.txt";
-		String name4 = "p1/p2/a.txt";
-		String name5 = "/p1/p2/b.txt";
-		String name6 = "/p1/p2/c.txt";
-		String name7 = "/p1/p2/p3/a.txt";
-		
-		
-		FeatureContentProvider cp = new FeatureExecutableContentProvider(null);
-		
-		FeatureContentProvider.FileFilter filter1 = cp.new FileFilter(p1);
-		FeatureContentProvider.FileFilter filter2 = cp.new FileFilter(p2);
-		FeatureContentProvider.FileFilter filter3 = cp.new FileFilter(p3);
-		FeatureContentProvider.FileFilter filter4 = cp.new FileFilter(p4);
-
-		assertTrue("1.1",filter1.accept(name1));		
-		assertTrue("1.2",!filter1.accept(name2));		
-		assertTrue("1.3",!filter1.accept(name3));	
-		assertTrue("1.4",!filter1.accept(name4));		
-		assertTrue("1.5",!filter1.accept(name5));		
-		assertTrue("1.6",!filter1.accept(name6));		
-		assertTrue("1.7",!filter1.accept(name7));
-	
-		assertTrue("2.1",!filter2.accept(name1));		
-		assertTrue("2.2",!filter2.accept(name2));		
-		assertTrue("2.3",!filter2.accept(name3));	
-		assertTrue("2.4",!filter2.accept(name4));		
-		assertTrue("2.5",!filter2.accept(name5));		
-		assertTrue("2.6",!filter2.accept(name6));		
-		assertTrue("2.7",!filter2.accept(name7));
-
-		assertTrue("3.1",filter3.accept(name1));		
-		assertTrue("3.2",!filter3.accept(name2));		
-		assertTrue("3.3",!filter3.accept(name3));	
-		assertTrue("3.4",!filter3.accept(name4));		
-		assertTrue("3.5",!filter3.accept(name5));		
-		assertTrue("3.6",!filter3.accept(name6));		
-		assertTrue("3.7",!filter3.accept(name7));
-		
-		assertTrue("4.1",filter4.accept(name1));		
-		assertTrue("4.2",filter4.accept(name2));		
-		assertTrue("4.3",!filter4.accept(name3));	
-		assertTrue("4.4",!filter4.accept(name4));		
-		assertTrue("4.5",filter4.accept(name5));		
-		assertTrue("4.6",filter4.accept(name6));		
-		assertTrue("4.7",!filter4.accept(name7));								
-					
-	}
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java
deleted file mode 100644
index ab49a5f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java
+++ /dev/null
@@ -1,117 +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.update.tests.api;

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.CategoryModel;

-import org.eclipse.update.core.model.SiteModel;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestLocalSiteAPI extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestLocalSiteAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testFileParsing() throws Exception {

-

-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE,"siteTestLocalSite/"), null);

-		IArchiveReference[] info = site.getArchives();

-		

-		if (info.length<=0){

-			fail("no plugins in site: "+site.getURL().toExternalForm());

-		}

-		 

-		boolean found1 = false;

-		boolean found2 = false;

-		String name1= "plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar";

-		String name2 = "plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar";

-		

-		for (int i =0; i<info.length; i++){

-			if (info[i].getPath().equals(name1)) found1 = true;

-			if (info[i].getPath().equals(name2)) found2 = true;

-		}

-		

-		if (!found1 || !found2){

-			fail("Cannot find plugin : org.eclipse.update.core.tests.feature1.plugin2 version 5.0.0 and 5.0.1 on the site, by parsing file system");

-		}

-		

-

-	}

-	

-	public void testBundleManifestParsing() throws Exception {

-

-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE,"siteTestLocalSite/"),null);

-		IArchiveReference[] info = site.getArchives();

-		

-		if (info.length<=0){

-			fail("no plugins in site: "+site.getURL().toExternalForm());

-		}

-		 

-		boolean found1 = false;

-		boolean found2 = false;

-		boolean found3 = false;

-		String name1= "plugins/org.eclipse.update.core.tests.bundleManifest_1.0.1.jar";

-		String name2 = "plugins/org.eclipse.update.core.tests.bundleAndPluginManifestsBUNDLEPARSED_1.0.3.jar";

-		String name3 = "plugins/org.eclipse.update.core.tests.bundleAndPluginManifests_1.0.3.jar";

-		

-		for (int i =0; i<info.length; i++){

-			if (info[i].getPath().equals(name1)) found1 = true;

-			if (info[i].getPath().equals(name2)) found2 = true;

-			if (info[i].getPath().equals(name3)) found3 = true;

-		}

-		

-		if (!found1 || !found2){

-			fail("Cannot find plugin : org.eclipse.update.core.tests.feature1.plugin2 version 5.0.0 and 5.0.1 on the site, by parsing file system");

-		}

-		if (found3){

-			fail("Plugin manifest parsed instead of bundle manifest.");

-		}

-		

-

-	}

-	

-	

-	public void testCategories() throws Exception {

-

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-		

-		ICategory category = new Category("category","Label of category");

-		

-		((SiteModel)site).addCategoryModel((CategoryModel)category);

-		

-		ICategory[] categories = site.getCategories();

-		boolean found = false;

-		for (int index = 0; index < categories.length; index++) {

-			ICategory element = categories[index];

-			if (element.getName().equals("category")) found = true;

-		}

-		if (!found) fail("cannot find category 'category' in site");

-

-		ISiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(site);

-		ref.addCategory(category);		

-		categories = ref.getCategories();

-		found = false;

-		for (int index = 0; index < categories.length; index++) {

-			ICategory element = categories[index];

-			if (element.getName().equals("category")) found = true;

-		}

-		if (!found) fail("cannot find category 'category' in feature");

-		

-			}

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestNestedFeatureAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestNestedFeatureAPI.java
deleted file mode 100644
index 5cf3585..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestNestedFeatureAPI.java
+++ /dev/null
@@ -1,153 +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.update.tests.api;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.UpdateManagerUtils;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestNestedFeatureAPI extends UpdateManagerTestCase {
-
-	/**
-	 * Test the testFeatures()
-	 */
-	public TestNestedFeatureAPI(String arg0) {
-		super(arg0);
-	}
-
-	/**
-	 * the feature to test
-	 */
-	private IFeature getRootFeature() throws MalformedURLException, CoreException {
-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest/site.xml"),null);
-		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "rootfeature.jar", null);
-		SiteFeatureReference ref = new SiteFeatureReference();
-		ref.setSite(site);
-		ref.setURL(url);
-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-		IFeature feature = ref.getFeature(null);
-		return feature;
-	}
-
-	/**
-	 * the feature to test
-	 */
-	private IFeature getChildFeature() throws MalformedURLException, CoreException {
-
-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest/"), null);
-		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "org.eclipse.update.core.tests.childrenfeature_2.0.0.jar", null);
-		SiteFeatureReference ref = new SiteFeatureReference();
-		ref.setSite(site);
-		ref.setURL(url);
-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-		IFeature feature = ref.getFeature(null);
-		return feature;
-	}
-
-	/*
-	 * 
-	 */
-	public void testNested() throws Exception {
-
-		IFeature rootFeature = getRootFeature();
-		IFeatureReference[] ref = rootFeature.getIncludedFeatureReferences();
-		IFeature childFeature = getChildFeature();
-		assertEquals("Children feature are not equal", childFeature, ref[0].getFeature(null));
-	}
-
-	/**
-	 * the feature to test
-	 */
-	private IFeature getRootFeature2() throws MalformedURLException, CoreException {
-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest2/site.xml"),null);
-		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "rootfeature.jar", null);
-		SiteFeatureReference ref = new SiteFeatureReference();
-		ref.setSite(site);
-		ref.setURL(url);
-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-		IFeature feature = ref.getFeature(null);
-		return feature;
-	}
-
-	/**
-	 * the feature to test
-	 */
-	private IFeature getChildFeature2() throws MalformedURLException, CoreException {
-
-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest2/site.xml"),null);
-		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "childrenfeature.jar", null);
-		SiteFeatureReference ref = new SiteFeatureReference();
-		ref.setSite(site);
-		ref.setURL(url);
-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-		IFeature feature = ref.getFeature(null);
-		return feature;
-	}
-
-	/*
-	 * 
-	 */
-	public void testNested2() throws Exception {
-
-		IFeature rootFeature = getRootFeature2();
-		IFeatureReference[] ref = rootFeature.getIncludedFeatureReferences();
-		IFeature childFeature = getChildFeature2();
-		assertEquals("Children feature are not equal", childFeature, ref[0].getFeature(null));
-	}
-
-//	/**
-//	 * the feature to test
-//	 */
-//	private IFeature getRootFeature3() throws MalformedURLException, CoreException {
-//		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest3/site.xml"), null);
-//		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "rootfeature.jar", null);
-//		SiteFeatureReference ref = new SiteFeatureReference();
-//		ref.setSite(site);
-//		ref.setURL(url);
-//		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-//		IFeature feature = ref.getFeature(null);
-//		return feature;
-//	}
-
-//	/**
-//	 * the feature to test
-//	 */
-//	private IFeature getChildFeature3() throws MalformedURLException, CoreException {
-//
-//		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest3/site.xml"));
-//		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "childrenfeature.jar", null);
-//		SiteFeatureReference ref = new SiteFeatureReference();
-//		ref.setSite(site);
-//		ref.setURL(url);
-//		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-//		IFeature feature = ref.getFeature(null);
-//		return feature;
-//	}
-
-	/*
-	 * 
-	 */
-	/*	public void testNested3() throws Exception {
-	
-			IFeature rootFeature = getRootFeature3();
-			IFeatureReference[] ref = rootFeature.getIncludedFeatureReferences();
-			IFeature childFeature = getChildFeature3();
-			assertEquals(
-				"Children feature are not equal",
-				childFeature,
-				ref[0].getFeature());
-		}
-	*/
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java
deleted file mode 100644
index 37e56f3..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java
+++ /dev/null
@@ -1,77 +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.update.tests.api;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestPluginContainerAPI extends UpdateManagerTestCase {

-

-	private Site site;

-	private DefaultFeature feature;

-

-	/**

-	 * the Site to test

-	 */

-	private Site getSite() throws CoreException, MalformedURLException {

-		if (site == null) {

-

-			site = (Site)SiteManager.getSite(new URL(SOURCE_FILE_SITE,"testAPI/"), null);

-

-		}

-		return site;

-	}

-

-	/**

-	 * the feature to test

-	 */

-	private DefaultFeature getFeature() throws MalformedURLException, CoreException {

-		if (feature == null) {

-			ISite site = getSite();

-			URL id = UpdateManagerUtils.getURL(site.getURL(),"org.eclipse.update.core.feature1_1.0.0.jar",null);						

-			feature = new DefaultFeature(site);

-			feature.setURL(id);	

-		}

-		return feature;

-	}

-

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestPluginContainerAPI(String arg0) throws CoreException {

-		super(arg0);

-	}

-

-	public void testAbstractFeature() throws CoreException, MalformedURLException {

-		PluginEntry pluginEntry = new PluginEntry();

-		pluginEntry.setVersionedIdentifier(new VersionedIdentifier("id", "6"));

-		Feature _feature = getFeature();

-		((DefaultFeature)_feature).addPluginEntry(pluginEntry);

-		assertEquals(_feature.getPluginEntryCount(), 1);

-		assertEquals(_feature.getPluginEntries()[0], pluginEntry);

-

-	}

-

-	public void testAbstactSite() throws CoreException, MalformedURLException {

-		PluginEntry pluginEntry = new PluginEntry();

-		pluginEntry.setVersionedIdentifier(new VersionedIdentifier("id", "6"));

-		Site _site = getSite();

-		_site.addPluginEntry(pluginEntry);

-		assertEquals(_site.getPluginEntryCount(), 1);

-		assertEquals(_site.getPluginEntries()[0], pluginEntry);

-

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteAPI.java
deleted file mode 100644
index c2362d4..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteAPI.java
+++ /dev/null
@@ -1,39 +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.update.tests.api;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.update.core.ISite;

-import org.eclipse.update.core.SiteManager;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestSiteAPI extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestSiteAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testURL() throws Exception {

-

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-		assertEquals(new File(site.getURL().getFile()),new File(SOURCE_FILE_SITE.getFile()));

-		

-		ISite site2 = SiteManager.getSite(SOURCE_HTTP_SITE, null);

-		assertEquals(site2.getURL(),new URL("http", getHttpHost(),getHttpPort(), bundle.getString("HTTP_PATH_1")+"site.xml"));

-

-	}

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java
deleted file mode 100644
index 428c465..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.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.update.tests.api;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestSiteManagerAPI extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestSiteManagerAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testFile() throws Exception {

-		ISite fileSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		String site = fileSite.getURL().toExternalForm();		

-		assertEquals(TARGET_FILE_SITE.toExternalForm(), site);

-	}

-	

-	public void testUnknown() throws Exception {

-		URL url = new URL("ftp://255.255.255.255/");

-		try {

-		SiteManager.getSite(url,null);

-		fail("Connected to ftp://255.255.255.255/, should not happen");

-		} catch (CoreException e){

-			// expected

-		} catch (IllegalArgumentException e){

-			// expected as the version of the WebDav HTTP Connection returns so

-		}

-	}

-	

-	public void testLocalSite() throws Exception {

-		

-		ILocalSite site = SiteManager.getLocalSite();

-		IConfiguredSite[] instSites = site.getCurrentConfiguration().getConfiguredSites();

-		assertTrue(instSites.length>0);

-		System.out.println("Local Site:"+instSites[0].getSite().getURL().toExternalForm());

-		

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE_INSTALLED,null);

-		IFeature remoteFeature = remoteSite.getFeatureReferences()[0].getFeature(null);

-		remove(remoteFeature,instSites[0].getSite());		

-		instSites[0].getSite().install(remoteFeature,null,null);

-		

-		IFeatureReference[] features = site.getCurrentConfiguration().getConfiguredSites()[0].getSite().getFeatureReferences();

-		assertTrue(features.length>0);

-

-		//cleanup

-		assertNotNull(remoteFeature);		

-		File file = new File(instSites[0].getSite().getURL().getFile()+File.separator+Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		file = new File(instSites[0].getSite().getURL().getFile()+File.separator+Site.DEFAULT_PLUGIN_PATH+"org.eclipse.update.plugin1_1.1.1");

-		UpdateManagerUtils.removeFromFileSystem(file);		

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-

-	}

-	

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestUpdateManagerUtilsAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestUpdateManagerUtilsAPI.java
deleted file mode 100644
index d82488e..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestUpdateManagerUtilsAPI.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

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-import java.net.URL;

-

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestUpdateManagerUtilsAPI extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestUpdateManagerUtilsAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testgetURL() throws Exception {

-		URL url1 = new URL("http://www.eclipse.org");

-		URL url2 = new URL("file://c:/hello");

-		URL url3 = new URL("file:/home/eclipse/");

-		URL url4 = new URL("ftp:/host:8080/path/");

-		URL url5 = new URL("jar:file:/tmp/100100!/");

-		

-		String default1 = "default1/default";

-		String default2 = "/default2/";

-		

-		String str1 = "http://dev.eclipse.org";

-		String str2 = "relative1/path/";

-		String str3 = "/relative2/path";

-		

-		String result1=null;

-		String result2=null;

-		

-		//****************************************************************************************

-		// 1.0

-		result1 = UpdateManagerUtils.getURL(url1,str1,default1).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("1.0",result2,result1);

-		

-		// 1.1

-		 result1 = UpdateManagerUtils.getURL(null,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("1.1",result2,result1);

-		

-		// 1.2

-		 result1 = UpdateManagerUtils.getURL(url1,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("1.2",result2,result1);

-		

-		// 1.3

-		 result1 = UpdateManagerUtils.getURL(url1,str2,default1).toExternalForm();

-		 result2 = "http://www.eclipse.org/relative1/path/";

-		assertEquals("1.3",result2,result1);

-		

-		// 1.4

-		 result1 = UpdateManagerUtils.getURL(url1,str3,default1).toExternalForm();

-		 result2 = "http://www.eclipse.org/relative2/path";

-		assertEquals("1.4",result2,result1);

-		

-		// 1.5

-		 result1 = UpdateManagerUtils.getURL(url1,null,default1).toExternalForm();

-		 result2 = "http://www.eclipse.org/default1/default";

-		assertEquals("1.5",result2,result1);

-		

-		// 1.6

-		 result1 = UpdateManagerUtils.getURL(url1,null,default2).toExternalForm();

-		 result2 = "http://www.eclipse.org/default2/";

-		assertEquals("1.6",result2,result1);

-		

-		//****************************************************************************************

-		// 2.0

-		 result1 = UpdateManagerUtils.getURL(url2,str1,default1).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("2.0",result2,result1);

-		

-		// 2.1

-		 result1 = UpdateManagerUtils.getURL(null,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("2.1",result2,result1);

-		

-		// 2.2

-		 result1 = UpdateManagerUtils.getURL(url2,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("2.2",result2,result1);

-		

-		// 2.3

-		 result1 = UpdateManagerUtils.getURL(url2,str2,default1).toExternalForm();

-		 result2 = "file://c:/relative1/path/";

-		assertEquals("2.3",result2,result1);

-		

-		// 2.4

-		 result1 = UpdateManagerUtils.getURL(url2,str3,default1).toExternalForm();

-		 result2 = "file://c:/relative2/path";

-		assertEquals("2.4",result2,result1);

-		

-		// 2.5

-		 result1 = UpdateManagerUtils.getURL(url2,null,default1).toExternalForm();

-		 result2 = "file://c:/default1/default";

-		assertEquals("2.5",result2,result1);

-		

-		// 2.6

-		 result1 = UpdateManagerUtils.getURL(url2,null,default2).toExternalForm();

-		 result2 = "file://c:/default2/";

-		assertEquals("2.6",result2,result1);

-		

-

-		//****************************************************************************************

-		// 3.0

-		 result1 = UpdateManagerUtils.getURL(url3,str1,default1).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("3.0",result2,result1);

-		

-		// 3.1

-		 result1 = UpdateManagerUtils.getURL(null,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("3.1",result2,result1);

-		

-		// 3.2

-		 result1 = UpdateManagerUtils.getURL(url3,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("3.2",result2,result1);

-		

-		// 3.3

-		 result1 = UpdateManagerUtils.getURL(url3,str2,default1).toExternalForm();

-		 result2 = "file:/home/eclipse/relative1/path/";

-		assertEquals("3.3",result2,result1);

-		

-		// 3.4

-		 result1 = UpdateManagerUtils.getURL(url3,str3,default1).toExternalForm();

-		 result2 = "file:/home/eclipse/relative2/path";

-		assertEquals("3.4",result2,result1);

-		

-		// 3.5

-		 result1 = UpdateManagerUtils.getURL(url3,null,default1).toExternalForm();

-		 result2 = "file:/home/eclipse/default1/default";

-		assertEquals("3.5",result2,result1);

-		

-		// 3.6

-		 result1 = UpdateManagerUtils.getURL(url3,null,default2).toExternalForm();

-		 result2 = "file:/home/eclipse/default2/";

-		assertEquals("3.6",result2,result1);

-				

-		//****************************************************************************************

-		// 4.0

-		 result1 = UpdateManagerUtils.getURL(url4,str1,default1).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("4.0",result2,result1);

-		

-		// 4.1

-		 result1 = UpdateManagerUtils.getURL(null,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("4.1",result2,result1);

-		

-		// 4.2

-		 result1 = UpdateManagerUtils.getURL(url4,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("4.2",result2,result1);

-		

-		// 4.3

-		 result1 = UpdateManagerUtils.getURL(url4,str2,default1).toExternalForm();

-		 result2 = "ftp:/host:8080/path/relative1/path/";

-		assertEquals("4.3",result2,result1);

-		

-		// 4.4

-		 result1 = UpdateManagerUtils.getURL(url4,str3,default1).toExternalForm();

-		 result2 = "ftp:/host:8080/path/relative2/path";

-		assertEquals("4.4",result2,result1);

-		

-		// 4.5

-		 result1 = UpdateManagerUtils.getURL(url4,null,default1).toExternalForm();

-		 result2 = "ftp:/host:8080/path/default1/default";

-		assertEquals("4.5",result2,result1);

-		

-		// 4.6

-		 result1 = UpdateManagerUtils.getURL(url4,null,default2).toExternalForm();

-		 result2 = "ftp:/host:8080/path/default2/";

-		assertEquals("4.6",result2,result1);

-		

-		//****************************************************************************************

-		// 5.0

-		 result1 = UpdateManagerUtils.getURL(url5,str1,default1).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("5.0",result2,result1);

-		

-		// 5.1

-		 result1 = UpdateManagerUtils.getURL(null,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("5.1",result2,result1);

-		

-		// 5.2

-		 result1 = UpdateManagerUtils.getURL(url5,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("5.2",result2,result1);

-		

-		// 5.3

-		 result1 = UpdateManagerUtils.getURL(url5,str2,default1).toExternalForm();

-		 result2 = "jar:file:/tmp/100100!/relative1/path/";

-		assertEquals("5.3",result2,result1);

-		

-		// 5.4

-		 result1 = UpdateManagerUtils.getURL(url5,str3,default1).toExternalForm();

-		 result2 = "jar:file:/tmp/100100!/relative2/path";

-		assertEquals("5.4",result2,result1);

-		

-		// 5.5

-		 result1 = UpdateManagerUtils.getURL(url5,null,default1).toExternalForm();

-		 result2 = "jar:file:/tmp/100100!/default1/default";

-		assertEquals("5.5",result2,result1);

-		

-		// 5.6

-		 result1 = UpdateManagerUtils.getURL(url5,null,default2).toExternalForm();

-		 result2 = "jar:file:/tmp/100100!/default2/";

-		assertEquals("5.6",result2,result1);				

-

-	}

-	

-	

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/AllBrandingTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/AllBrandingTests.java
deleted file mode 100644
index 197f60b..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/AllBrandingTests.java
+++ /dev/null
@@ -1,40 +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.update.tests.branding;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-/**
- * Manages the API tests
- */
-public class AllBrandingTests extends UpdateManagerTestCase {
-	/**
-	 * Constructor
-	 */
-	public AllBrandingTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * List of API tests
-	 */
-	public static Test suite() throws Exception {
-		TestSuite suite = new TestSuite();
-		suite.setName("Branding Tests");
-
-		suite.addTest(new TestSuite(BundleProviderTest.class));	
-		suite.addTest(new TestSuite(ProductTest.class));	
-
-		return suite;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/BundleProviderTest.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/BundleProviderTest.java
deleted file mode 100644
index f9b2765..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/BundleProviderTest.java
+++ /dev/null
@@ -1,50 +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.update.tests.branding;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.internal.configurator.branding.*;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import org.osgi.framework.*;
-
-public class BundleProviderTest extends UpdateManagerTestCase {
-
-	public BundleProviderTest(String testcase){
-		super(testcase);
-	}
-
-	public void testMain() throws Exception {
-		
-		IBundleGroupProvider[] bundleGroupProviders = Platform.getBundleGroupProviders();
-		for (int i=0; i<bundleGroupProviders.length; i++) {
-			System.out.println("BundleGroupProvider:"+bundleGroupProviders[i].getName());
-			IBundleGroup[] bundleGroups = bundleGroupProviders[i].getBundleGroups();
-			for (int j=0; j<bundleGroups.length; j++) {
-				System.out.println("BundleGroup name:"+bundleGroups[j].getName() +"\n" +
-						"description:" + bundleGroups[j].getDescription() + "\n"+
-						"id:" + bundleGroups[j].getIdentifier() + "\n" +
-						"provider:" + bundleGroups[j].getProviderName() + "\n" +
-						"version:" + bundleGroups[j].getVersion() + "\n" +
-						"license:" + bundleGroups[j].getProperty(IBundleGroupConstants.LICENSE_HREF) + "\n" +
-						"featureImage:" + bundleGroups[j].getProperty(IBundleGroupConstants.FEATURE_IMAGE) + "\n" +
-						"tips and tricks:" + bundleGroups[j].getProperty(IBundleGroupConstants.TIPS_AND_TRICKS_HREF) + "\n" +
-						"welcomePage:" + bundleGroups[j].getProperty(IBundleGroupConstants.WELCOME_PAGE) + "\n" +
-						"welcomePerspective:" + bundleGroups[j].getProperty(IBundleGroupConstants.WELCOME_PERSPECTIVE));
-				System.out.println("bundles:");
-				Bundle[] bundles = bundleGroups[j].getBundles();
-				for (int b=0; b<bundles.length; b++)
-					System.out.println(bundles[b].getSymbolicName());
-				System.out.println();
-			}
-		}
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/ProductTest.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/ProductTest.java
deleted file mode 100644
index 9b068c1..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/ProductTest.java
+++ /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
- *******************************************************************************/
-package org.eclipse.update.tests.branding;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.internal.configurator.branding.*;
-import org.eclipse.update.tests.*;
-
-public class ProductTest extends UpdateManagerTestCase {
-
-	public ProductTest(String testcase){
-		super(testcase);
-	}
-
-	public void testMain() throws Exception {
-		
-		IProduct product = Platform.getProduct();
-		if (product == null)
-			System.out.println("No product defined");
-		else
-			System.out.println("Product is: \n" +
-					"name=" + product.getName() + "\n" +
-					"application=" + product.getApplication() + "\n" +
-					"description=" + product.getDescription() + "\n" +
-					"id="+ product.getId() + "\n" +
-					"about_text:"+product.getProperty(IProductConstants.ABOUT_TEXT) +"\n" +
-					"about_image:"+product.getProperty(IProductConstants.ABOUT_IMAGE) +"\n" +
-					"app_name:"+product.getProperty(IProductConstants.APP_NAME) +"\n" +
-					"window_image:"+product.getProperty(IProductConstants.WINDOW_IMAGE) +"\n" +
-					"window_images:"+product.getProperty(IProductConstants.WINDOW_IMAGES) );
-				
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java
deleted file mode 100644
index bd8748e..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java
+++ /dev/null
@@ -1,30 +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.update.tests.configurations;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllConfigurationsTests extends UpdateManagerTestCase {

-public AllConfigurationsTests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Regular Install Tests");

-	

-//	suite.addTest(new TestSuite(TestRevert.class));

-	suite.addTest(new TestSuite(TestBackward.class));

-		

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java
deleted file mode 100644
index 052d474..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java
+++ /dev/null
@@ -1,65 +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.update.tests.configurations;

-import java.io.File;

-

-

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestBackward extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestBackward(String arg0) {

-		super(arg0);

-	}

-	

-	public void testSimpleBackward() throws Exception {

-

-		// cleanup

-		SiteLocal siteLocal = ((SiteLocal)SiteManager.getLocalSite());

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeatureReference featureRef = remoteSite.getFeatureReferences()[0];

-		

-		IInstallConfiguration oldInstallConfig = site.getCurrentConfiguration();

-		IConfiguredSite oldConfigSite = oldInstallConfig.getConfiguredSites()[0];

-		

-		((ConfiguredSite)oldConfigSite).setUpdatable(true);	

-		assertNotNull("Reference is null",featureRef);

-		remove(featureRef.getFeature(null),oldConfigSite);	

-		oldConfigSite.install(featureRef.getFeature(null),null,null);

-		site.save();

-	

-		

-		// Activity -> InstallConfig

-		IInstallConfiguration current = site.getCurrentConfiguration();

-//		IActivity activity = current.getActivities()[0];	

-//		assertTrue(activity.getInstallConfiguration().equals(current));

-		

-		// ConfigSite->InstallConfig

-		IConfiguredSite newConfigSite = current.getConfiguredSites()[0];

-		assertTrue(newConfigSite.getInstallConfiguration().equals(current));

-		

-		// cleanup

-		localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);			

-	}

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java
deleted file mode 100644
index 88b855a..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java
+++ /dev/null
@@ -1,127 +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.update.tests.configurations;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.configurator.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.internal.model.ConfigurationPolicyModel;

-import org.eclipse.update.internal.model.ConfiguredSiteModel;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestRevert extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestRevert(String arg0) {

-		super(arg0);

-	}

-	

-	public void testSimpleRevertInstall() throws Exception {

-

-		// cleanup

-		SiteLocal siteLocal = ((SiteLocal)SiteManager.getLocalSite());

-		File localFile = new File(siteLocal.getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeatureReference featureRef = remoteSite.getFeatureReferences()[0];

-		IFeatureReference featureRef2 = remoteSite.getFeatureReferences()[1];

-		IFeature feature = featureRef.getFeature(null);

-		

-		// old config, no features installed

-		IInstallConfiguration old = site.getCurrentConfiguration();

-		ConfigurationPolicy excludepolicy = new ConfigurationPolicy();

-		excludepolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_EXCLUDE);

-		IConfiguredSite oldConfigSite = old.getConfiguredSites()[0];

-		excludepolicy.setConfiguredSiteModel((ConfiguredSiteModel)oldConfigSite);		

-		((ConfiguredSiteModel)oldConfigSite).setConfigurationPolicyModel((ConfigurationPolicyModel)excludepolicy);

-		

-		// install one feature

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration();

-		IConfiguredSite configSite = newConfig.getConfiguredSites()[0];

-		if (!configSite.getSite().equals(oldConfigSite.getSite())) fail("Config sites are not equals");

-		site.addConfiguration(newConfig);	

-		

-		((ConfiguredSite)configSite).setUpdatable(true);			

-		IFeatureReference installedFeature = configSite.install(feature,null,null);

-		site.save();

-

-		// unconfigure it

-		configSite.unconfigure(installedFeature.getFeature(null));

-

-		// install another feature

-		IFeature feature2 = featureRef2.getFeature(null);

-		IInstallConfiguration newConfig2 = site.cloneCurrentConfiguration();

-		IConfiguredSite anotherConfigSite = newConfig2.getConfiguredSites()[0];

-		if (!anotherConfigSite.getSite().equals(oldConfigSite.getSite())) fail("Config sites are not equals");		

-		site.addConfiguration(newConfig2);		

-		anotherConfigSite.install(feature2,null,null);

-		site.save();

-

-		// revert to old state where no feature where configured

-		site.revertTo(old,null,null);

-		site.save();

-		

-		// check

-		String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-		File file = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		

-		//find configured site

-		IConfiguredSite newConfigSite = null;

-		IConfiguredSite[] sites = site.getCurrentConfiguration().getConfiguredSites();

-		for (int i = 0; i < sites.length; i++) {

-			if (sites[i].getSite().equals(oldConfigSite.getSite())){

-				 newConfigSite = sites[i];

-				 break;

-			}

-		}

-		if (newConfigSite==null) fail("Cannot find configuration site");

-

-		int oldNumber = oldConfigSite.getConfiguredFeatures().length;

-		int newNumber = newConfigSite.getConfiguredFeatures().length;

-		

-		//

-		IFeatureReference[] configFeatures = newConfigSite.getConfiguredFeatures();

-		for (int i = 0; i < configFeatures.length; i++) {

-			System.out.println(configFeatures[i]);

-		}		

-		assertTrue("Wrong number of configured features old:"+oldNumber+" new:"+newNumber,oldNumber==newNumber);

-		

-		// test only 2 install config in local site

-		int newNumberUnconfiguredFeatures = ((ConfiguredSite)newConfigSite).getConfigurationPolicy().getUnconfiguredFeatures().length;

-		int oldNumberUnconfiguredFeatures = ((ConfiguredSite)oldConfigSite).getConfigurationPolicy().getUnconfiguredFeatures().length;		

-		assertEquals("wrong number of unconfigured features",oldNumberUnconfiguredFeatures+2,newNumberUnconfiguredFeatures);

-		

-		// cleanup

-		localFile = new File(siteLocal.getLocationURL().getFile());;

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);				

-		UpdateManagerUtils.removeFromFileSystem(file);	

-		time = ""+newConfig.getCreationDate().getTime();

-		file = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),"DefaultConfig"+time+".xml").getFile());	

-		UpdateManagerUtils.removeFromFileSystem(file);	

-		time = ""+newConfig2.getCreationDate().getTime();

-		file = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),"DefaultConfig"+time+".xml").getFile());	

-		UpdateManagerUtils.removeFromFileSystem(file);	

-	}

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java
deleted file mode 100644
index fc1fef9..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java
+++ /dev/null
@@ -1,38 +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.update.tests.core.boot;

-

-import junit.framework.Test;

-import junit.framework.TestSuite;

-

-public class AllPlatformConfigurationTests

-	extends PlatformConfigurationTestCase {

-	/**

-	 * Constructor

-	 */

-	public AllPlatformConfigurationTests(String name) {

-		super(name);

-	}

-	

-	/**

-	 * List of API tests

-	 */

-	public static Test suite() throws Exception {

-		TestSuite suite = new TestSuite();

-		suite.setName("PlatformConfiguration Tests");

-

-		suite.addTest(new TestSuite(TestPlatCfgAPI.class));

-

-		return suite;

-	}

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/PlatformConfigurationTestCase.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/PlatformConfigurationTestCase.java
deleted file mode 100644
index c9fa01e..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/PlatformConfigurationTestCase.java
+++ /dev/null
@@ -1,78 +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.update.tests.core.boot;

-

-import java.io.File;

-import java.util.Date;

-

-import junit.framework.TestCase;

-

-public class PlatformConfigurationTestCase extends TestCase {

-	

-	protected String tempDir;

-	

-	public PlatformConfigurationTestCase(String name) {

-		super(name);

-		try {

-			init();

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-	}

-	

-	protected void init() {

-	}

-	

-	protected void setUp() {

-		// get new temp directory for testcase

-		String root = getTempDirectoryName();

-		setupDirectory(root);

-		tempDir = root;

-	}

-	

-	protected void tearDown() {

-		// cleanup testcase temp directory

-		if (tempDir != null)

-			cleanupDirectory(tempDir);

-	}

-	

-	protected String getTempDirectoryName() {

-		String tmp = System.getProperty("java.io.tmpdir");

-		if (!tmp.endsWith(File.separator))

-			tmp += File.separator;

-		return tmp+"eclipse"+File.separator+(new Date().getTime()+File.separator);

-	}

-	

-	protected void setupDirectory(String name) {

-		File dir = new File(name);

-		dir.mkdirs();

-	}

-	

-	protected void cleanupDirectory(String name) {

-		File dir = new File(name);

-		deleteDirectory(dir);

-	}

-	

-	private void deleteDirectory(File dir) {

-		File[] list = dir.listFiles();

-		if (list == null)

-			return;

-			

-		for (int i=0; i<list.length; i++) {

-			if (list[i].isDirectory()) 

-				deleteDirectory(list[i]);

-			if (!list[i].delete())

-				System.out.println("Unable to delete "+list[i].toString());

-		}

-	}

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java
deleted file mode 100644
index d7b8d1f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java
+++ /dev/null
@@ -1,209 +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.update.tests.core.boot;

-

-import java.io.IOException;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import junit.framework.Assert;

-import org.eclipse.update.configurator.*;

-import org.eclipse.update.configurator.IPlatformConfiguration.*;

-

-public class TestPlatCfgAPI extends PlatformConfigurationTestCase {

-			

-	public TestPlatCfgAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testBasic() throws Exception {

-		

-		// get new config object

-		IPlatformConfiguration cfig = null;

-		try {

-			cfig = ConfiguratorUtils.getPlatformConfiguration(null);

-		} catch (IOException e) {

-			Assert.fail("0.0.0 "+e.toString());

-		}

-		ISiteEntry[] dflt = cfig.getConfiguredSites();

-		Assert.assertEquals("0.0.1",dflt.length,0);

-		

-		// policy tests

-		ISitePolicy p1 = cfig.createSitePolicy(ISitePolicy.USER_INCLUDE, null);

-		Assert.assertEquals("1.0.0",p1.getType(),ISitePolicy.USER_INCLUDE);

-		Assert.assertEquals("1.0.1",p1.getList().length,0);

-		p1.setList(new String[] {"first"});

-		Assert.assertEquals("1.0.2",p1.getList().length,1);

-		Assert.assertEquals("1.0.3",p1.getList()[0],"first");

-		

-		ISitePolicy p2 = cfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, new String[0]);

-		Assert.assertEquals("1.1.0",p2.getType(),ISitePolicy.USER_EXCLUDE);

-		Assert.assertEquals("1.1.1",p2.getList().length,0);

-		p2.setList(new String[] {"first", "second"});

-		Assert.assertEquals("1.1.2",p2.getList().length,2);

-		Assert.assertEquals("1.1.3",p2.getList()[1],"second");

-		

-		// create some urls

-		URL u1 = null;

-		URL u2 = null;

-

-		URL u4 = null;

-		try {

-			u1 = new URL("file:/d:/temp_test_dummy");

-//			u2 = new URL("file://localhost/temp");

-			new URL("http://some.server/temp/");

-			u4 = new URL("http://bad.url");

-		} catch (MalformedURLException e) {

-			Assert.fail("2.0.0 unable to create URL "+e);

-		}

-				

-		// site creation tests

-		ISiteEntry s1 = cfig.createSiteEntry(u1,p2);

-		Assert.assertEquals("3.0.0",s1.getURL(),u1);

-		Assert.assertEquals("3.0.1",s1.getSitePolicy(),p2);

-		s1.setSitePolicy(p1);

-		Assert.assertEquals("3.0.2",s1.getSitePolicy(),p1);

-		

-//		ISiteEntry s2 = cfig.createSiteEntry(u2,p1);

-//		Assert.assertEquals("3.1.0",s2.getURL(),u2);

-//		Assert.assertEquals("3.1.1",s2.getSitePolicy(),p1);

-//		s2.setSitePolicy(p2);

-//		Assert.assertEquals("3.1.2",s2.getSitePolicy(),p2);

-		

-		// configure site tests

-		Assert.assertEquals("3.3.0",cfig.getConfiguredSites().length,0);

-		cfig.configureSite(s1);

-		Assert.assertEquals("3.3.1",cfig.getConfiguredSites().length,1);

-//		cfig.configureSite(s2);

-//		Assert.assertEquals("3.3.2",cfig.getConfiguredSites().length,2);

-//		

-		// lookup site tests

-		Assert.assertEquals("3.4.0",cfig.findConfiguredSite(u1),s1);

-//		Assert.assertEquals("3.4.1",cfig.findConfiguredSite(u2),s2);

-		Assert.assertNull("3.4.3",cfig.findConfiguredSite(u4));

-		

-		// unconfigure site tests

-		cfig.unconfigureSite(s1);

-		Assert.assertEquals("3.5.0",cfig.getConfiguredSites().length,0);

-		Assert.assertNull("3.5.1",cfig.findConfiguredSite(u1));		

-//		cfig.unconfigureSite(s2);

-//		Assert.assertEquals("3.5.2",cfig.getConfiguredSites().length,0);

-//		Assert.assertNull("3.5.3",cfig.findConfiguredSite(u2));	

-	}

-	

-	public void testSaveRestore() throws Exception {

-				

-		Assert.assertNotNull("0.0 Unable to obtain temp directory",tempDir);

-		

-		// get new config object

-		IPlatformConfiguration cfig = null;

-		try {

-			cfig = ConfiguratorUtils.getPlatformConfiguration(null);

-		} catch (IOException e) {

-			Assert.fail("0.0.0 "+e.toString());

-		}

-		ISiteEntry[] sites = cfig.getConfiguredSites();

-		Assert.assertEquals("0.0.1",sites.length,0);

-				

-		// create policies

-		ISitePolicy p1 = cfig.createSitePolicy(ISitePolicy.USER_INCLUDE, null);

-		ISitePolicy p2 = cfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, new String[0]);		

-		ISitePolicy p3 = cfig.createSitePolicy(ISitePolicy.USER_INCLUDE, new String[] {"first"});

-		ISitePolicy p4 = cfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, new String[] {"first", "second"});

-						

-		// create some urls

-		URL u1 = null;

-		URL u2 = null;

-		URL u3 = null;

-		URL u4 = null;

-

-		try {

-			u1 = new URL("file:d:/temp/");

-			u2 = new URL("file://localhost/temp/");

-			u3 = new URL("http://some.server/temp/");

-			u4 = new URL("http://another.server/temp/");

-			new URL("http://one.more.server/temp/");

-		} catch (MalformedURLException e) {

-			Assert.fail("1.0 unable to create URL "+e);

-		}

-		

-		// create and configure sites

-		ISiteEntry s1 = cfig.createSiteEntry(u1,p1);

-		cfig.configureSite(s1);

-		ISiteEntry s2 = cfig.createSiteEntry(u2,p2);

-		cfig.configureSite(s2);

-		ISiteEntry s3 = cfig.createSiteEntry(u3,p3);

-		cfig.configureSite(s3);

-		ISiteEntry s4 = cfig.createSiteEntry(u4,p4);

-		cfig.configureSite(s4);

-		sites = cfig.getConfiguredSites();

-		Assert.assertEquals("1.1",sites.length,4);

-		

-		// do save

-		try {

-			cfig.save();

-			Assert.fail("2.0 was expecting IOException");

-		} catch (IOException e) {

-		}

-		

-		URL cfigURL = null;

-		try {

-			cfigURL = new URL("file:"+tempDir+ "platform.xml");

-		} catch(MalformedURLException e) {

-			Assert.fail("2.1 unable to create URL "+e);

-		}

-		

-		try {

-			cfig.save(cfigURL);

-		} catch (IOException e) {

-			Assert.fail("2.2 "+e);

-		}

-		

-		// reload configuration	

-		try {

-			ConfiguratorUtils.getPlatformConfiguration(cfigURL);

-		} catch (IOException e) {

-			Assert.fail("2.3 "+e.toString());

-		}

-		ISiteEntry[] newSites = cfig.getConfiguredSites();

-		Assert.assertEquals("2.4",newSites.length,4);

-		

-		// check what we've got

-		Assert.assertEquals("3.0.1",sites[0].getURL(),newSites[0].getURL());

-		Assert.assertEquals("3.0.2",sites[0].getSitePolicy().getType(),newSites[0].getSitePolicy().getType());

-		Assert.assertEquals("3.0.3",sites[0].getSitePolicy().getList(),newSites[0].getSitePolicy().getList());

-		

-		Assert.assertEquals("3.1.1",sites[1].getURL(),newSites[1].getURL());

-		Assert.assertEquals("3.1.2",sites[1].getSitePolicy().getType(),newSites[1].getSitePolicy().getType());

-		Assert.assertEquals("3.1.3",sites[1].getSitePolicy().getList(),newSites[1].getSitePolicy().getList());

-		

-		Assert.assertEquals("3.2.1",sites[2].getURL(),newSites[2].getURL());

-		Assert.assertEquals("3.2.2",sites[2].getSitePolicy().getType(),newSites[2].getSitePolicy().getType());

-		Assert.assertEquals("3.2.3",sites[2].getSitePolicy().getList(),newSites[2].getSitePolicy().getList());

-		

-		Assert.assertEquals("3.3.1",sites[3].getURL(),newSites[3].getURL());

-		Assert.assertEquals("3.3.2",sites[3].getSitePolicy().getType(),newSites[3].getSitePolicy().getType());

-		Assert.assertEquals("3.3.3",sites[3].getSitePolicy().getList(),newSites[3].getSitePolicy().getList());

-		

-	}

-	

-	public void testCurrentConfiguration() throws Exception {

-				

-		Assert.assertNotNull("0.0 Unable to obtain temp directory",tempDir);

-		

-		// get new config object

-		IPlatformConfiguration cfig = null;

-		cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();

-		cfig.getPluginPath();

-		cfig.save();

-	}

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java
deleted file mode 100644
index 0a3710a..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.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.update.tests.core.boot;

-

-import org.eclipse.update.configurator.*;

-

-

-public class TestPlatCfgDefault

-	extends PlatformConfigurationTestCase {

-		

-	public TestPlatCfgDefault(String arg0) {

-		super(arg0);

-	}

-	

-	public void testInitial() throws Exception {

-		IPlatformConfiguration cfig = null;

-		cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();

-		IPlatformConfiguration.ISiteEntry se = cfig.getConfiguredSites()[0];

-		IPlatformConfiguration.ISitePolicy sp = cfig.createSitePolicy(IPlatformConfiguration.ISitePolicy.USER_EXCLUDE, new String[] {"1", "2","3","4","5","6","7","8","9","10","11","12"});

-		se.setSitePolicy(sp);

-		cfig.save();

-		System.out.println("done ...");

-	}

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java
deleted file mode 100644
index a49d320..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java
+++ /dev/null
@@ -1,272 +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.update.tests.implementation;

-

-import java.io.InputStream;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.IFeature;

-import org.eclipse.update.core.IFeatureReference;

-import org.eclipse.update.core.IPluginEntry;

-import org.eclipse.update.core.IURLEntry;

-import org.eclipse.update.core.model.InstallAbortedException;

-import org.eclipse.update.internal.core.*;

-

-public class SiteFTP implements ISite {

-

-	private URL url;

-	public SiteFTP(URL url){

-		this.url = url;

-	}

-

-	/*

-	 * @see ISite#getFeatureReferences()

-	 */

-	public ISiteFeatureReference[] getFeatureReferences() {

-		return null;

-	}

-

-	/*

-	 * @see ISite#install(IFeature, FeatureVerification verifier,IProgressMonitor)

-	 */

-	public IFeatureReference install(IFeature feature,IVerificationListener verificationListener, IProgressMonitor monitor) throws CoreException {

-		return null;

-	}

-

-	/*

-	 * @see ISite#remove(IFeature, IProgressMonitor)

-	 */

-	public void remove(IFeature feature, IProgressMonitor monitor) throws CoreException {

-	}

-

-	/*

-	 * @see ISite#addSiteChangedListener(IConfiguredSiteChangedListener)

-	 */

-	public void addSiteChangedListener(IConfiguredSiteChangedListener listener) {

-	}

-

-	/*

-	 * @see ISite#removeSiteChangedListener(IConfiguredSiteChangedListener)

-	 */

-	public void removeSiteChangedListener(IConfiguredSiteChangedListener listener) {

-	}

-

-	/*

-	 * @see ISite#getURL()

-	 */

-	public URL getURL() {

-		return url;

-	}

-

-	/*

-	 * @see ISite#getType()

-	 */

-	public String getType() {

-		return "org.eclipse.update.tests.ftp";

-	}

-

-	/*

-	 * @see ISite#getCategories()

-	 */

-	public ICategory[] getCategories() {

-		return null;

-	}

-

-	/*

-	 * @see ISite#getArchives()

-	 */

-	public IArchiveReference[] getArchives() {

-		return null;

-	}

- 

-	/*

-	 * @see ISite#addCategory(ICategory)

-	 */

-	public void addCategory(ICategory category) {

-	}

-

-	/*

-	 * @see ISite#save()

-	 */

-	public void save() throws CoreException {

-	}

-

-	/*

-	 * @see IPluginContainer#getPluginEntries()

-	 */

-	public IPluginEntry[] getPluginEntries() {

-		return null;

-	}

-

-	/*

-	 * @see IPluginContainer#getPluginEntryCount()

-	 */

-	public int getPluginEntryCount() {

-		return 0;

-	}

-

-	/*

-	 * @see ISite#getDownloadSizeFor(IFeature)

-	 */

-	public long getDownloadSizeFor(IFeature feature) {

-		return 0;

-	}

-

-	/*

-	 * @see ISite#getInstallSizeFor(IFeature)

-	 */

-	public long getInstallSizeFor(IFeature feature) {

-		return 0;

-	}

-

-

-	/*

-	 * @see IPluginContainer#store(IPluginEntry, String, InputStream)

-	 */

-	public void store(IPluginEntry entry, String name, InputStream inStream) throws CoreException {

-	}

-

-	/*

-	 * @see IAdaptable#getAdapter(Class)

-	 */

-	public Object getAdapter(Class adapter) {

-		return null;

-	}

-

-	/*

-	 * @see IPluginContainer#remove(IPluginEntry)

-	 */

-	public void remove(IPluginEntry entry) throws CoreException {

-	}

-

-	/*

-	 * @see ISite#setSiteContentConsumer(ISiteContentConsumer)

-	 */

-	public void setSiteContentConsumer(ISiteContentConsumer contentConsumer) {

-	}

-

-	/*

-	 * @see ISite#setSiteContentProvider(ISiteContentProvider)

-	 */

-	public void setSiteContentProvider(ISiteContentProvider siteContentProvider) {

-	}

-

-	/*

-	 * @see ISite#getSiteContentProvider()

-	 */

-	public ISiteContentProvider getSiteContentProvider() {

-		return null;

-	}

-

-	/*

-	 * @see ISite#getDefaultPackagedFeatureType()

-	 */

-	public String getDefaultPackagedFeatureType() {

-		return null;

-	}

-

-	/*

-	 * @see ISite#store(IFeature, String, InputStream, IProgressMonitor)

-	 */

-	public void store(IFeature feature, String name, InputStream inStream, IProgressMonitor monitor) throws CoreException {

-	}

-

-

-	/*

-	 * @see IPluginContainer#remove(IPluginEntry, IProgressMonitor)

-	 */

-	public void remove(IPluginEntry entry, IProgressMonitor monitor) throws CoreException {

-	}

-

-	/*

-	 * @see ISite#getCategory(String)

-	 */

-	public ICategory getCategory(String key) {

-		return null;

-	}

-

-	/*

-	 * @see ISite#createSiteContentConsumer(IFeature)

-	 */

-	public ISiteContentConsumer createSiteContentConsumer(IFeature feature) throws CoreException {

-		return null;

-	}

-

-	/*

-	 * @see ISite#getFeatureReference(IFeature)

-	 */

-	public ISiteFeatureReference getFeatureReference(IFeature feature) {

-		return null;

-	}

-

-	/*

-	 * @see ISite#getDescription()

-	 */

-	public IURLEntry getDescription() {

-		return null;

-	}

-

-	/*

-	 * @see ISite#getPluginEntriesOnlyReferencedBy(IFeature)

-	 */

-	public IPluginEntry[] getPluginEntriesOnlyReferencedBy(IFeature feature) throws CoreException {

-		return null;

-	}

-

-	/**

-	 * @see ISite#addPluginEntry(IPluginEntry)

-	 */

-	public void addPluginEntry(IPluginEntry pluginEntry) {

-	}

-

-	/**

-	 * @see org.eclipse.update.core.ISite#install(IFeature, IFeatureReference[], IVerificationListener, IProgressMonitor)

-	 */

-	public IFeatureReference install(IFeature feature, IFeatureReference[] optionalfeatures, IVerificationListener verificationListener, IProgressMonitor monitor) throws InstallAbortedException, CoreException {

-		return null;

-	}

-

-

-	public IConfiguredSite getCurrentConfiguredSite() {

-		return null;

-	}

-

-	public IFeature createFeature(String type, URL url) throws CoreException {

-		return null;

-	}

-

-	/**

-	 * @see org.eclipse.update.core.ISite#createFeature(java.lang.String, java.net.URL, org.eclipse.core.runtime.IProgressMonitor)

-	 */

-	public IFeature createFeature(String type, URL url, IProgressMonitor monitor) throws CoreException {

-		return null;

-	}

-

-

-	/**

-	 * @see org.eclipse.update.core.ISite#getRawFeatureReferences()

-	 */

-	public ISiteFeatureReference[] getRawFeatureReferences() {

-		return null;

-	}

-

-

-	/* (non-Javadoc)

-	 * @see org.eclipse.update.core.ISite#getMirrorSiteEntries()

-	 */

-	public IURLEntry[] getMirrorSiteEntries() throws CoreException {

-		return null;

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java
deleted file mode 100644
index 0d4fd25..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java
+++ /dev/null
@@ -1,64 +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.update.tests.implementation;

-import java.io.IOException;

-import java.io.InputStream;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.internal.core.URLEncoder;

-

-public class SiteFTPFactory extends SiteModelFactory implements ISiteFactory {

-

-	public static final String FILE = "a/b/c/";

-

-	/*

-	 * @see ISiteFactory#createSite(URL, boolean)

-	 */

-	public ISite createSite(URL url)

-		throws CoreException, InvalidSiteTypeException {

-		ISite site = null;

-		InputStream siteStream = null;

-

-		try {

-			URL resolvedURL = URLEncoder.encode(url);

-			siteStream = resolvedURL.openStream();

-

-			SiteModelFactory factory = (SiteModelFactory) this;

-			factory.parseSite(siteStream);

-

-			site = new SiteFTP(new URL("http://eclipse.org/" + FILE));

-			

-		} catch (MalformedURLException e) {

-			throw Utilities.newCoreException("Unable to create URL", e);

-		} catch (IOException e) {

-			throw Utilities.newCoreException("Unable to access URL",ISite.SITE_ACCESS_EXCEPTION, e);

-		} finally {

-			try {

-				if (siteStream != null)

-					siteStream.close();

-			} catch (Exception e) {

-			}

-		}

-		return site;

-	}

-

-	/*

-	 * @see SiteModelFactory#canParseSiteType(String)

-	 */

-	public boolean canParseSiteType(String type) {

-		return "org.eclipse.update.tests.core.ftp".equalsIgnoreCase(type);

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/AllMirrorTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/AllMirrorTests.java
deleted file mode 100644
index d699186..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/AllMirrorTests.java
+++ /dev/null
@@ -1,40 +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.update.tests.mirror;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class AllMirrorTests extends UpdateManagerTestCase {
-	
-	public AllMirrorTests(String name){
-		super(name);
-	}
-	
-	public static Test suite(){
-		TestSuite suite = new TestSuite();
-		suite.setName("Mirror Tests");
-		
-		// the following will take all the test methods in the class that starts with "test"
-		
-		suite.addTest(new TestSuite(TestRemoteFeatureVersionMirror.class));
-		suite.addTest(new TestSuite(TestRemoteEmbeddedFeatureMirror.class));
-		suite.addTest(new TestSuite(TestRemoteDoubleEmbeddedFeatureMirror.class));
-		
-		// or you can specify the method
-		//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));
-		return suite;	
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java
deleted file mode 100644
index d70e4d8..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java
+++ /dev/null
@@ -1,464 +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.update.tests.mirror;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.internal.core.UpdateCore;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-
-public class MirrorManagerTestCase extends UpdateManagerTestCase{
-	public static int exitValue=-1;
-	public static StringBuffer errOutput;
-	
-	public MirrorManagerTestCase(String arg0){
-		super(arg0);
-	}
-	
-	//WatchDog thread to kill mirroring process if it hangs (or takes too long)
-	public static class Timer extends Thread{
-		private Process proc;
-		
-		public Timer(Process proc){
-			super();
-			this.setDaemon(true);
-			this.proc = proc;
-		}
-		
-		public void run(){
-			try {
-				// Note: normal test on 2.2Ghz P4 is 2.9s 
-				//:. giving 100x leeway to complete process before killing it
-				sleep(300000); 
-				proc.destroy();
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-	}
-	
-	// structure to hold category definition names and descriptions
-	class CategoryDefinition {
-		private String name;
-		private String desc;
-		public void setName(String name) {
-			this.name = name;
-		}
-		public void setDesc(String desc) {
-			this.desc = desc;
-		}
-		public String getName() {
-			return name;
-		}
-		public String getDesc() {
-			return desc;
-		}
-	}
-	
-	// structure to hold feature IDs and their category names
-	public class FeatureCategory{
-		private String featureId;
-		private ArrayList category;
-		
-		public FeatureCategory(){
-			category = new ArrayList();
-		}
-		
-		public void setFeatureID(String fid){
-			featureId = fid;
-		}
-		
-		public void addCategory(String cat){
-			category.add(cat);
-		}
-		
-		public String getFeatureID(){
-			return featureId;
-		}
-		
-		public String[] getCategories(){
-			return (String[])category.toArray(new String[category.size()]);
-		}
-	}
-	
-	// StreamConsumer to display output to output files or console
-	public static class StreamConsumer extends Thread {
-		private BufferedReader bReader;
-
-		public StreamConsumer(InputStream inputStream) {
-			super();
-			setDaemon(true);
-			bReader = new BufferedReader(new InputStreamReader(inputStream));
-		}
-
-		public void run() {
-			try {
-				String line;
-				while (null != (line = bReader.readLine())) {
-					System.out.println(line);
-					errOutput.append(line);
-					errOutput.append("\n");
-				}
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-	}
-	
-	/**
-	 * Returns a string array consisting of commands and their arguments to
-	 * be run.
-	 * @param remoteLoc - path of remote site (site being mirrored)
-	 * @param toLocalSiteUrl - path of local site (new mirror site)
-	 * @param fid - feature id of featuring being mirror (optional - can be null)
-	 * @param ver - version of feature to be mirrored (optional - can be null)
-	 * @param mirUrl - directory location of policy.xml (optional - can be mull)
-	 * @return
-	 */
-	public String[] getCommand(
-		String remoteLoc,
-		String toLocalSiteUrl,
-		String fid,
-		String ver,
-		String mirUrl) {
-		final String classpath = "startup.jar";
-		final String launcher = "org.eclipse.core.launcher.Main";
-		final String command = "mirror";
-		final String application = "org.eclipse.update.core.standaloneUpdate";
-		final String FLAG_CP = "-cp";
-		final String FLAG_APP = "-application";
-		final String FLAG_CMD = "-command";
-		final String FLAG_FID = "-featureId";
-		final String FLAG_DATA = "-data";
-		final String FLAG_VERSION = "-version";
-		final String FLAG_FROM = "-from";
-		final String FLAG_TO = "-to";
-		final String FLAG_URL = "-mirrorURL";
-		final String FLAG_SPLASH = "-nosplash";
-		final String FLAG_CONSOLELOG = "-consolelog";
-		final String data =
-			UpdateCore.getPlugin().getStateLocation().toOSString();
-		String[] cmd =
-			new String[] {
-				getJavaVMPath(),
-				FLAG_CP,
-				classpath,
-				launcher,
-				FLAG_APP,
-				application,
-				FLAG_CMD,
-				command,
-				FLAG_FROM,
-				(remoteLoc !=null ? remoteLoc : ""),
-				FLAG_TO,
-				toLocalSiteUrl,
-				(fid != null ? FLAG_FID : ""),
-				(fid != null ? fid : ""),
-				(ver != null ? FLAG_VERSION : ""),
-				(ver != null ? ver : ""),
-				(mirUrl != null ? FLAG_URL : ""),
-				(mirUrl != null ? mirUrl : ""),
-				FLAG_SPLASH,
-				FLAG_DATA,
-				data,
-				FLAG_CONSOLELOG};
-		return cmd;
-	}
-	
-	public boolean checkFeatureInSiteXMLExists(String url, String fid, String ver){
-		File site = new File(url + "/site.xml");
-		assertTrue(site.exists());
-		BufferedReader breader;
-		FileReader freader;
-		String text = new String();
-		String jarName = fid + "_" + ver + ".jar";
-		String feature = "<feature url=\"" +
-			"features/" + jarName + 
-			"\" id=\"" + fid + 
-			"\" version=\"" + ver+"\">";
-		try {
-			freader = new FileReader(site);
-			breader = new BufferedReader(freader);
-		} catch (FileNotFoundException e) {
-			// would have been caught by assert above
-			return false;
-		}
-		try {
-			while ((text = breader.readLine()) != null) {
-				text = text.trim();
-				if (text.equals(feature)){
-					breader.close();
-					freader.close();
-					return true;
-				}
-			}
-
-			breader.close();
-			freader.close();
-			return false;
-		} catch (IOException e) {
-			e.printStackTrace();
-			return false;
-		}
-	}
-
-	public void checkSiteXML(String url) throws Exception {
-		File mirror = new File(url);
-		File site = new File(url + "/site.xml");
-		assertTrue(mirror.isDirectory());
-		assertTrue(mirror.exists());
-		assertTrue(site.exists());
-	}
-
-	public void checkPolicyXML(String url) throws Exception {
-		File mirror = new File(url);
-		File site = new File(url + "/policy.xml");
-		assertTrue(mirror.isDirectory());
-		assertTrue(mirror.exists());
-		assertTrue(site.exists());
-	}
-	public boolean checkPolicyURL(String url, String mirrorUrl){
-		File site = new File(url + "/policy.xml");
-		assertTrue(site.exists());
-		BufferedReader breader;
-		FileReader freader;
-		String text = new String();
-
-		try {
-			freader = new FileReader(site);
-			breader = new BufferedReader(freader);
-		} catch (FileNotFoundException e) {
-			// would have been caught by assert above
-			return false;
-		}
-
-		try {
-			while ((text = breader.readLine()) != null) {
-				if (text.indexOf(mirrorUrl)!=-1){
-					breader.close();
-					freader.close();	
-					return true;
-				}
-			}
-
-			breader.close();
-			freader.close();
-			return false;
-		} catch (IOException e) {
-			e.printStackTrace();
-			return false;
-		}
-	}
-
-	public boolean doesCategoryDefinitionExist(String url) {
-		File site = new File(url + "/site.xml");
-		assertTrue(site.exists());
-		BufferedReader breader;
-		FileReader freader;
-		String text = new String();
-
-		try {
-			freader = new FileReader(site);
-			breader = new BufferedReader(freader);
-		} catch (FileNotFoundException e) {
-			// would have been caught by assert above
-			return false;
-		}
-
-		try {
-			while ((text = breader.readLine()) != null) {
-				if (text.indexOf("category-def")!=-1)
-					return true;
-			}
-
-			breader.close();
-			freader.close();
-			return false;
-		} catch (IOException e) {
-			e.printStackTrace();
-			return false;
-		}
-
-	}
-	
-	public String getEclipseRoot() {
-		return ConfiguratorUtils.getInstallURL().toExternalForm().replaceFirst(
-			"file:",
-			"");
-	}
-	
-	public FeatureCategory[] getFeatureCategories(String url){
-		File site = new File(url + "/site.xml");
-		assertTrue(site.exists());
-		BufferedReader breader;
-		FileReader freader;
-		String text = new String();
-		ArrayList featureCategories = new ArrayList();
-		
-		try {
-			freader = new FileReader(site);
-			breader = new BufferedReader(freader);
-		} catch (FileNotFoundException e) {
-			// would have been caught by assert above
-			return new FeatureCategory[0];
-		}
-
-		try {
-			FeatureCategory currTok = new FeatureCategory();
-			boolean add = false;
-			while((text =breader.readLine())!=null){
-				StringTokenizer strTok = new StringTokenizer(text);
-				while (strTok.hasMoreTokens()){
-					String temp = strTok.nextToken();
-					if (temp.equals("</feature>")){
-						add = true;
-					} else if (temp.startsWith("id")){
-						currTok.setFeatureID(temp.split("\"")[1]);
-					} else if (temp.startsWith("name")){
-						currTok.addCategory(temp.split("\"")[1]);
-					}
-				}
-				if (add){
-					featureCategories.add(currTok);
-					currTok = new FeatureCategory();
-					add = false;
-				}
-			}
-
-			breader.close();
-			freader.close();
-			return (FeatureCategory[])featureCategories.toArray(new FeatureCategory[featureCategories.size()]);
-		} catch (IOException e) {
-			System.err.println(e);
-			return new FeatureCategory[0];
-		}
-	}
-	
-	public String getJavaVMPath() {
-		// Create command string for launching the process
-		String vm = System.getProperty("java.vm.name");
-		String executable = "J9".equals(vm) ? "j9" : "java";
-		if (org.eclipse.osgi.service.environment.Constants.OS_WIN32.equals(Platform.getOS()))
-			executable += "w.exe";
-
-		String javaInstallDir =
-			System.getProperty("java.home") + File.separator + "bin";
-		return javaInstallDir + File.separator + executable;
-	}
-	
-	public CategoryDefinition[] getCategoryDefinitions(String url) {
-		File site = new File(url + "/site.xml");
-		assertTrue(site.exists());
-		BufferedReader breader;
-		FileReader freader;
-		String text = new String();
-		ArrayList catDef = new ArrayList();
-
-		try {
-			freader = new FileReader(site);
-			breader = new BufferedReader(freader);
-		} catch (FileNotFoundException e) {
-			// would have been caught by assert above
-			return new CategoryDefinition[0];
-		}
-
-		try {
-			boolean add = false;
-			boolean isDesc = false;
-			CategoryDefinition temp = new CategoryDefinition();
-			while ((text = breader.readLine()) != null) {
-				if (text.trim().startsWith("<category-def")
-					&& text.indexOf("name") != -1) {
-					temp.setName(text.split("\"")[1]);
-					add = false;
-				} else if (text.trim().equals("<description>")) {
-					isDesc = true;
-				} else if (text.trim().equals("</description>")) {
-					isDesc = false;
-				} else if (isDesc) {
-					temp.setDesc(text.trim());
-				} else if (text.trim().equals("</category-def>")) {
-					add = true;
-				}
-				if (add) {
-					catDef.add(temp);
-					add = false;
-					temp = new CategoryDefinition();
-				}
-			}
-
-			breader.close();
-			freader.close();
-			return (CategoryDefinition[])catDef.toArray(new CategoryDefinition[catDef.size()]);
-		} catch (IOException e) {
-			System.err.println(e);
-			return new CategoryDefinition[0];
-		}
-
-	}
-	
-	public int performMirror(String[] cmd_mirror) {
-		File file = new File(getEclipseRoot());
-		try {
-			System.out.println("Launching:");
-			for(int i=0; i<cmd_mirror.length; i++){
-				System.out.print(cmd_mirror[i]+" ");
-			}
-			System.out.println();
-			Process proc =
-				Runtime.getRuntime().exec(cmd_mirror, (String[]) null, file);
-
-			StreamConsumer outputs = new StreamConsumer(proc.getInputStream());
-			outputs.start();
-			StreamConsumer errors = new StreamConsumer(proc.getErrorStream());
-			errors.start();
-			Timer timer = new Timer(proc);
-			timer.start();
-
-			return proc.waitFor();
-		} catch (IOException e) {
-			System.err.println(e);
-		} catch (InterruptedException e) {
-			System.err.println(e);
-		} catch (Exception e) {
-			System.err.println(e);
-		}
-		return -1;
-	}
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		assertEquals(exitValue, 0);
-	}
-	
-	// ensure output string buffer ends with "Mirror command completed
-	// successfully."
-	// note: output may instead by "Command completed successfully."
-	public void testMirrorSuccess() throws Exception {
-		StringTokenizer tokenizer =
-			new StringTokenizer(
-				errOutput.toString(),
-				"\n");
-		String lastLine = new String();
-		while (tokenizer.hasMoreTokens()){
-			lastLine = tokenizer.nextToken();
-		}
-		assertTrue(
-			lastLine.equals("Mirror command completed successfully.")
-				|| lastLine.equals("Command completed successfully."));
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java
deleted file mode 100644
index e4cad27..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java
+++ /dev/null
@@ -1,215 +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.update.tests.mirror;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.update.tests.UpdateTestsPlugin;
-
-public class TestRemoteDoubleEmbeddedFeatureMirror extends MirrorManagerTestCase {
-	private static boolean isMirrored;
-
-	public TestRemoteDoubleEmbeddedFeatureMirror(String arg0) {
-		super(arg0);
-		errOutput = new StringBuffer();
-		isMirrored = false;
-	}
-
-	public void umSetUp() {
-		String featureId = "update.feature1c";
-		String version = "3.0.0";
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		// first mirror
-		String fromRemoteSiteUrl =
-			"file:"
-				+ dataPath
-				+ "mirrors/update-site1";
-		if (!isMirrored) {
-			exitValue =
-				performMirror(
-					getCommand(fromRemoteSiteUrl,toLocalSiteUrl, null, null, mirrorURL));
-		
-		// end of first mirror
-		fromRemoteSiteUrl =
-			"file:"
-			+ dataPath
-			+ "mirrors/update-site5";
-			exitValue =
-				performMirror(
-					getCommand(fromRemoteSiteUrl,toLocalSiteUrl, featureId, version, mirrorURL));
-			isMirrored = true;
-		}
-	}
-
-	// make sure each feature is under its correct category names
-	public void testFeatureCategories() throws Exception{
-		String fromRemoteSiteUrl =
-		        dataPath
-				+ "mirrors/update-site5";
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		FeatureCategory[] mirrorFeatures = getFeatureCategories(toLocalSiteUrl);
-		FeatureCategory[] required = new FeatureCategory[1];
-		required[0] = new FeatureCategory();
-		required[0].setFeatureID("update.feature1c");
-		required[0].addCategory("Site5-Category1");
-		assertTrue(checkFeatureCategoriesContained(required, mirrorFeatures));
-	}
-	
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		super.testExitValue();
-	}
-	
-	// ensure category definitions exist
-	public void testCategoryDefinitionsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		assertTrue(doesCategoryDefinitionExist(toLocalSiteUrl));
-	}
-
-	// ensure feature exists per site.xml
-	public void testFeatureInSiteXMLExists() {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String featureId = "update.feature1c";
-		String version = "3.0.0";
-		assertTrue(
-			checkFeatureInSiteXMLExists(toLocalSiteUrl, featureId, version));
-	}
-
-	// ensure site.xml is generated
-	public void testSiteXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		checkSiteXML(toLocalSiteUrl);
-	}
-
-	// ensure policy.xml is generated
-	public void testPolicyXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		checkPolicyXML(toLocalSiteUrl);
-	}
-
-	// ensure policy.xml references the correct mirrorURL
-	public void testPolicyURL() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		assertTrue(checkPolicyURL(toLocalSiteUrl, mirrorURL));
-	}
-
-	// ensure all jars in features directory mirrored
-	public void testAllFeatureJarsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String[] featureJars = { "update.feature1b_2.0.0.jar" };
-		assertTrue(checkAllFeatureJars(toLocalSiteUrl, featureJars));
-	}
-
-	// ensure all jars in plugins directory mirrored
-	public void testAllPluginJarsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String[] pluginJars =
-			{ "com.plugin1_1.0.0.jar", "com.plugin1a_1.0.1.jar" };
-		assertTrue(checkAllPluginJars(toLocalSiteUrl, pluginJars));
-	}
-
-	// ensure output string buffer ends with "Mirror command completed
-	// successfully."
-	// note: output may instead by "Command completed successfully."
-	public void testMirrorSuccess() throws Exception {
-		super.testMirrorSuccess();
-	}
-	
-	public boolean checkAllFeatureJars(String url, String[] jarNames) {
-		File featuresDir = new File(url + "/features");
-		assertTrue(featuresDir.exists());
-		assertTrue(featuresDir.isDirectory());
-		String[] list = featuresDir.list();
-
-		ArrayList ls = new ArrayList();
-		for (int i = 0; i < list.length; i++) {
-			ls.add(list[i]);
-		}
-
-		for (int j = 0; j < jarNames.length; j++) {
-			assertTrue(ls.contains(jarNames[j]));
-		}
-		return true;
-	}
-
-	public boolean checkAllPluginJars(String url, String[] jarNames) {
-		File pluginsDir = new File(url + "/plugins");
-		assertTrue(pluginsDir.exists());
-		assertTrue(pluginsDir.isDirectory());
-		String[] list = pluginsDir.list();
-
-		ArrayList ls = new ArrayList();
-		for (int i = 0; i < list.length; i++) {
-			ls.add(list[i]);
-		}
-
-		for (int j = 0; j < jarNames.length; j++) {
-			assertTrue(ls.contains(jarNames[j]));
-		}
-		return true;
-	}
-
-	public boolean checkFeatureCategoriesContained(FeatureCategory[] required,FeatureCategory[] localDefs){
-		boolean hasMatch;
-		for (int i = 0 ; i<required.length; i++){
-			hasMatch = false;
-			for (int j = 0; j<localDefs.length; j++){
-				if (localDefs[j].getFeatureID().equals(required[i].getFeatureID()) &&
-					checkCategoriesMatch(localDefs[j].getCategories(), required[i].getCategories())){
-						hasMatch = true;
-						j=localDefs.length;
-				}
-			}
-			if (!hasMatch)
-				return false;
-		}
-		return true;
-	}
-	
-	public boolean checkCategoriesMatch(String[] localCat, String[] remoteCat){
-		boolean hasMatch;
-		for (int i = 0; i<localCat.length; i++){
-			hasMatch = false;
-			for (int j = 0; j<remoteCat.length; i++){
-				if (localCat[i].equals(remoteCat[j])){
-					hasMatch = true;
-					j=remoteCat.length;
-				}
-			}
-			if(!hasMatch)
-				return false;
-		}
-		return true;
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java
deleted file mode 100644
index 86ea260..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java
+++ /dev/null
@@ -1,189 +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.update.tests.mirror;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.update.tests.UpdateTestsPlugin;
-
-public class TestRemoteEmbeddedFeatureMirror extends MirrorManagerTestCase {
-	private static boolean isMirrored;
-
-	public TestRemoteEmbeddedFeatureMirror(String arg0) {
-		super(arg0);
-		errOutput = new StringBuffer();
-		isMirrored = false;
-	}
-
-	public void umSetUp() {
-		String featureId = "update.feature1c";
-		String version = "3.0.0";
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		String fromRemoteSiteUrl =
-				"file:"
-				+ dataPath
-				+ "mirrors/update-site4";
-		if (!isMirrored) {
-			exitValue =
-				performMirror(
-					getCommand(fromRemoteSiteUrl,toLocalSiteUrl, featureId, version, mirrorURL));
-			isMirrored = true;
-		}
-	}
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		super.testExitValue();
-	}
-
-	// ensure all category definitions exist
-	public void testCategoryDefinitionsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		assertTrue(doesCategoryDefinitionExist(toLocalSiteUrl));
-	}
-
-	public void testFeatureInSiteXMLExists() {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String featureId = "update.feature1c";
-		String version = "3.0.0";
-		assertTrue(
-			checkFeatureInSiteXMLExists(toLocalSiteUrl, featureId, version));
-	}
-
-	// ensure site.xml is generated
-	public void testSiteXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		checkSiteXML(toLocalSiteUrl);
-	}
-
-	// ensure policy.xml is generated
-	public void testPolicyXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		checkPolicyXML(toLocalSiteUrl);
-	}
-
-	// ensure policy.xml uses the correct mirrorURL
-	public void testPolicyURL() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		assertTrue(checkPolicyURL(toLocalSiteUrl, mirrorURL));
-	}
-
-	// ensure all jars in features directory mirrored
-	public void testAllFeatureJarsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String[] featureJars = { "update.feature1_1.0.0.jar", "update.feature1_1.0.1.jar", "update.feature1b_2.0.0.jar", "update.feature1c_3.0.0.jar" };
-		assertTrue(checkAllFeatureJars(toLocalSiteUrl, featureJars));
-	}
-
-	// ensure all jars in plugins directory mirrored
-	public void testAllPluginJarsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String[] pluginJars =
-			{ "com.plugin1_1.0.0.jar", "com.plugin1a_1.0.1.jar" };
-		assertTrue(checkAllPluginJars(toLocalSiteUrl, pluginJars));
-	}
-
-	// ensure output string buffer ends with "Mirror command completed
-	// successfully."
-	// note: output may instead by "Command completed successfully."
-	public void testMirrorSuccess() throws Exception {
-		super.testMirrorSuccess();
-	}
-
-	public boolean checkAllFeatureJars(String url, String[] jarNames) {
-		File featuresDir = new File(url + "/features");
-		assertTrue(featuresDir.exists());
-		assertTrue(featuresDir.isDirectory());
-		String[] list = featuresDir.list();
-
-		ArrayList ls = new ArrayList();
-		for (int i = 0; i < list.length; i++) {
-			ls.add(list[i]);
-		}
-
-		assertEquals(list.length, jarNames.length);
-		for (int j = 0; j < jarNames.length; j++) {
-			assertTrue(ls.contains(jarNames[j]));
-		}
-		return true;
-	}
-
-	public boolean checkAllPluginJars(String url, String[] jarNames) {
-		File pluginsDir = new File(url + "/plugins");
-		assertTrue(pluginsDir.exists());
-		assertTrue(pluginsDir.isDirectory());
-		String[] list = pluginsDir.list();
-
-		ArrayList ls = new ArrayList();
-		for (int i = 0; i < list.length; i++) {
-			ls.add(list[i]);
-		}
-
-		assertEquals(list.length, jarNames.length);
-		for (int j = 0; j < jarNames.length; j++) {
-			assertTrue(ls.contains(jarNames[j]));
-		}
-		return true;
-	}
-
-	public boolean checkCategoryDefinitionsContained(CategoryDefinition[] localDefs, CategoryDefinition[] remoteDefs){
-		boolean hasMatch;
-		for (int i = 0 ; i<localDefs.length; i++){
-			hasMatch = false;
-			for (int j = 0; j<remoteDefs.length; j++){
-				if (localDefs[i].getName().equals(remoteDefs[j].getName())
-						&& localDefs[i].getDesc().equals(remoteDefs[j].getDesc()))
-					hasMatch = true;
-			}
-			if (!hasMatch)
-				return false;
-		}
-		return true;
-	}
-	
-
-
-	// start testing category definitions
-	public void testCategoryDefinitions() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String fromRemoteSiteUrl =
-		        dataPath
-				+ "mirrors/update-site4";
-		CategoryDefinition[] localDefs = getCategoryDefinitions(toLocalSiteUrl);
-		CategoryDefinition[] remoteDefs = getCategoryDefinitions(fromRemoteSiteUrl);
-		assertTrue(checkCategoryDefinitionsContained(localDefs, remoteDefs));
-	}
-
-
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteFeatureVersionMirror.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteFeatureVersionMirror.java
deleted file mode 100644
index f3a0b25..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteFeatureVersionMirror.java
+++ /dev/null
@@ -1,110 +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.update.tests.mirror;
-
-import java.io.File;
-
-import org.eclipse.update.tests.UpdateTestsPlugin;
-
-public class TestRemoteFeatureVersionMirror extends MirrorManagerTestCase {
-	private static boolean isMirrored;
-	
-	public TestRemoteFeatureVersionMirror(String arg0) {
-		super(arg0);
-		errOutput = new StringBuffer();
-		isMirrored = false;
-	}
-
-	public void umSetUp() {
-		String featureId = "update.feature1";
-		String version = "1.0.0";
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		String fromRemoteSiteUrl = "file:" + dataPath + "mirrors/update-site1";
-		if (!isMirrored) {
-			exitValue =
-				performMirror(
-					getCommand(fromRemoteSiteUrl,toLocalSiteUrl, featureId, version, mirrorURL));
-			isMirrored = true;
-		}
-	}
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		super.testExitValue();
-	}
-
-	// ensure all category definitions exist
-	public void testCategoryDefinitionsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		assertTrue(doesCategoryDefinitionExist(toLocalSiteUrl));
-	}
-
-	// ensure feature exists per site.xml
-	public void testFeatureInSiteXMLExists(){
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		String featureId = "update.feature1";
-		String version = "1.0.0";
-		assertTrue(checkFeatureInSiteXMLExists(toLocalSiteUrl, featureId, version));
-	}
-	
-	// ensure site.xml is generated
-	public void testSiteXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		checkSiteXML(toLocalSiteUrl);
-	}
-
-	// ensure policy.xml is generated
-	public void testPolicyXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		checkPolicyXML(toLocalSiteUrl);
-	}
-	
-	// ensure policy.xml uses the correct mirrorURL
-	public void testPolicyURL() throws Exception{
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		assertTrue(checkPolicyURL(toLocalSiteUrl, mirrorURL));
-	}
-
-	// ensure all jars for features and plugins mirrored
-	public void testAllJarsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		String featureId = "update.feature1";
-		String version = "1.0.0";
-		String jarName = featureId + "_" + version + ".jar";
-		File file = new File(toLocalSiteUrl + "/features/" + jarName);
-		assertTrue(file.exists());
-	}
-
-	// ensure output string buffer ends with "Mirror command completed
-	// successfully."
-	// note: output may instead by "Command completed successfully."
-	public void testMirrorSuccess() throws Exception {
-		super.testMirrorSuccess();
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java
deleted file mode 100644
index dad8de5..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java
+++ /dev/null
@@ -1,40 +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.update.tests.model;

-import junit.framework.Test;

-import junit.framework.TestSuite;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-/**

- * Manages the API tests

- */

-public class AllModelTests extends UpdateManagerTestCase {

-	/**

-	 * Constructor

-	 */

-	public AllModelTests(String name) {

-		super(name);

-	}

-	

-	/**

-	 * List of API tests

-	 */

-	public static Test suite() throws Exception {

-		TestSuite suite = new TestSuite();

-		suite.setName("Model Tests");

-

-		suite.addTest(new TestSuite(FeatureMain.class));

-		suite.addTest(new TestSuite(SiteMain.class));		

-

-		return suite;

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java
deleted file mode 100644
index 803b5bb..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java
+++ /dev/null
@@ -1,183 +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.update.tests.model;

-

-import java.io.*;

-import java.net.URL;

-import java.util.ResourceBundle;

-

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class FeatureMain extends UpdateManagerTestCase {

-

-	public FeatureMain(String testcase){

-		super(testcase);

-	}

-

-	public void testMain() throws Exception {

-		

-		FeatureModelFactory factory = new FeatureModelFactory();

-		InputStream is = null;

-		FeatureModel feature = null;

-		

-		System.out.println("Parsing feature ...");

-		try {

-			is = FeatureMain.class.getResourceAsStream("feature.xml");		

-			feature = factory.parseFeature(is);

-		} finally {

-			if (is != null) {

-				try { is.close();} catch(IOException e) {}

-			}

-		}

-		

-		String base = "http://another.server/feature.xml";

-		System.out.println("Resolving feature using "+base+" ...");

-		ResourceBundle bundle = null;

-		bundle = ResourceBundle.getBundle("org/eclipse/update/tests/model/test");

-		feature.resolve(new URL(base), new URL(base));

-	}

-	

-//	private static void writeFeature(PrintWriter w, int level, FeatureModel feature) {

-//		if (feature == null) return;

-//		

-//		String in = getIndent(level);

-//		w.println(in+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

-//		

-//		w.println(in+"<feature");

-//		w.println(in+"   "+"id=\""+feature.getFeatureIdentifier()+"\"");

-//		w.println(in+"   "+"version=\""+feature.getFeatureVersion()+"\"");

-//		w.println(in+"   "+"label=\""+feature.getLabel()+"\"");

-//		w.println(in+"   "+"provider-name=\""+feature.getProvider()+"\"");

-//		w.println(in+"   "+"image=\""+feature.getImageURLString()+"\" -> "+feature.getImageURL());

-//		w.println(in+"   "+"os=\""+feature.getOS()+"\"");

-//		w.println(in+"   "+"ws=\""+feature.getWS()+"\"");

-//		w.println(in+"   "+"nl=\""+feature.getNL()+"\"");

-//		w.println(in+"   "+"application=\""+feature.getApplication()+"\"");

-//		w.println(in+"   "+">");

-//		

-//		writeDescription(w, level+1, feature.getDescriptionModel());

-//		writeCopyright(w, level+1, feature.getCopyrightModel());

-//		writeLicense(w, level+1, feature.getLicenseModel());

-//		writeURLs(w, level+1, feature);

-//		writePrereqs(w, level+1, feature);

-//		writePluginEntries(w, level+1, feature);

-//		writeNonPluginEntries(w, level+1, feature);

-//		         

-//        w.println(in+"</feature>");

-//	}

-//	

-//	private static void writeDescription(PrintWriter w, int level, URLEntryModel ue) {

-//		String in = getIndent(level);

-//		w.println("");

-//		w.println(in+"<description url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");

-//		w.println(in+ue.getAnnotation());

-//		w.println(in+"</description>");

-//	}

-//	

-//	private static void writeCopyright(PrintWriter w, int level, URLEntryModel ue) {

-//		String in = getIndent(level);

-//		w.println("");

-//		w.println(in+"<copyright url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");

-//		w.println(in+ue.getAnnotation());

-//		w.println(in+"</copyright>");

-//	}

-//	

-//	private static void writeLicense(PrintWriter w, int level, URLEntryModel ue) {

-//		String in = getIndent(level);

-//		w.println("");

-//		w.println(in+"<license url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");

-//		w.println(in+ue.getAnnotation());

-//		w.println(in+"</license>");

-//	}

-//	

-//	private static void writeURLs(PrintWriter w, int level, FeatureModel feature) {

-//		String in = getIndent(level);

-//		String in2 = getIndent(level+1);

-//		w.println("");

-//		w.println(in+"<url>");

-//		

-//		URLEntryModel update = feature.getUpdateSiteEntryModel();

-//		w.println(in2+"<update");

-//		w.println(in2+"   "+"url=\""+update.getURLString()+"\" -> "+update.getURL());

-//		w.println(in2+"   "+"label=\""+update.getAnnotation()+"\"");

-//		w.println(in2+"   "+"/>");

-//		

-//		URLEntryModel[] discovery = feature.getDiscoverySiteEntryModels();

-//		for (int i=0; i<discovery.length; i++) {

-//			w.println(in2+"<discovery");

-//			w.println(in2+"   "+"url=\""+discovery[i].getURLString()+"\" -> "+discovery[i].getURL());

-//			w.println(in2+"   "+"label=\""+discovery[i].getAnnotation()+"\"");

-//			w.println(in2+"   "+"/>");

-//		}

-//		

-//		w.println(in+"</url>");

-//	}

-//	

-//	private static void writePrereqs(PrintWriter w, int level, FeatureModel feature) {

-//		String in = getIndent(level);

-//		String in2 = getIndent(level+1);

-//		w.println("");

-//		w.println(in+"<requires>");

-//		

-//		ImportModel[] imp = feature.getImportModels();

-//		for (int i=0; i<imp.length; i++) {

-//			w.println(in2+"<import");

-//			w.println(in2+"   "+"plugin=\""+imp[i].getIdentifier()+"\"");

-//			w.println(in2+"   "+"version=\""+imp[i].getVersion()+"\"");

-//			w.println(in2+"   "+"match=\""+imp[i].getMatchingRuleName()+"\"");

-//			w.println(in2+"   "+"/>");

-//		}

-//		

-//		w.println(in+"</requires>");

-//	}

-//	

-//	private static void writePluginEntries(PrintWriter w, int level, FeatureModel feature) {

-//		String in = getIndent(level);

-//		w.println("");

-//		

-//		PluginEntryModel[] plugin = feature.getPluginEntryModels();

-//		for (int i=0; i<plugin.length; i++) {

-//			w.println(in+"<plugin");

-//			w.println(in+"   "+"id=\""+plugin[i].getPluginIdentifier()+"\"");

-//			w.println(in+"   "+"version=\""+plugin[i].getPluginVersion()+"\"");

-//			w.println(in+"   "+"fragment=\""+plugin[i].isFragment()+"\"");

-//			w.println(in+"   "+"os=\""+plugin[i].getOS()+"\"");

-//			w.println(in+"   "+"ws=\""+plugin[i].getWS()+"\"");

-//			w.println(in+"   "+"nl=\""+plugin[i].getNL()+"\"");

-//			w.println(in+"   "+"download-size=\""+plugin[i].getDownloadSize()+"\"");

-//			w.println(in+"   "+"install-size=\""+plugin[i].getInstallSize()+"\"");

-//			w.println(in+"   "+"/>");

-//		}

-//	}

-//	

-//	private static void writeNonPluginEntries(PrintWriter w, int level, FeatureModel feature) {

-//		String in = getIndent(level);

-//		w.println("");

-//		

-//		NonPluginEntryModel[] data = feature.getNonPluginEntryModels();

-//		for (int i=0; i<data.length; i++) {

-//			w.println(in+"<data");

-//			w.println(in+"   "+"id=\""+data[i].getIdentifier()+"\"");

-//			w.println(in+"   "+"download-size=\""+data[i].getDownloadSize()+"\"");

-//			w.println(in+"   "+"install-size=\""+data[i].getInstallSize()+"\"");

-//			w.println(in+"   "+"/>");

-//		}

-//	}

-//	

-//	

-//	private static String getIndent(int level) {

-//		String indent = "";

-//		for (int i=0; i<level; i++) 

-//			indent += "   ";

-//		return indent;

-//	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java
deleted file mode 100644
index cc49bf2..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java
+++ /dev/null
@@ -1,158 +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.update.tests.model;

-

-import java.io.*;

-import java.net.URL;

-

-import org.eclipse.update.core.SiteFeatureReferenceModel;

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class SiteMain extends UpdateManagerTestCase {

-	

-	public SiteMain(String name){

-		super(name);

-	}

-

-	public void testMain() throws Exception {

-		

-		StringWriter strWriter=new StringWriter();

-		PrintWriter w = new PrintWriter(strWriter);

-

-		process("site_old_format.xml",w);

-		process("site.xml",w);

-		try {

-			process("site_with_type.xml",w);

-			fail("InvalidSiteTypeException not thrown");

-		} catch (InvalidSiteTypeException e) {

-			assertEquals(e.getNewType(),"some.other.site.type");

-		} finally {

-			System.out.println(strWriter);

-			w.close();

-		}

-	}

-	

-	private static void process(String xml, PrintWriter w) throws Exception {

-		

-		SiteModelFactory factory = new SiteModelFactory();

-		InputStream is = null;

-		SiteModel site = null;

-		

-		w.println("");

-		w.println("Parsing site map ...");

-		try {

-			is = SiteMain.class.getResourceAsStream(xml);		

-			site = factory.parseSite(is);

-		}  finally {

-			if (is != null) {

-				try { is.close();} catch(IOException e) {}

-			}

-		}

-		

-		if (site == null) return;

-		

-		String base = "http://another.server/site.xml";

-		w.println("Resolving site using "+base+" ...");

-		site.resolve(new URL(base), null);

-		

-		w.println("Writing site ...");

-		writeSite(w,0,site);

-	}

-	

-	private static void writeSite(PrintWriter w, int level, SiteModel site) {

-		if (site == null) return;

-		

-		String in = getIndent(level);

-		w.println(in+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

-		

-		w.println(in+"<site");

-		w.println(in+"   "+"type=\""+site.getType()+"\"");

-		w.println(in+"   "+">");

-		

-		writeDescription(w, level+1, site.getDescriptionModel());

-		writeFeatures(w, level+1, site);

-		writeArchives(w, level+1, site);

-		writeCategoryDefs(w, level+1, site);

-         

-        w.println(in+"</feature>");

-	}

-	

-	private static void writeDescription(PrintWriter w, int level, URLEntryModel ue) {

-		if (ue == null) return;

-		String in = getIndent(level);

-		w.println("");

-		w.println(in+"<description url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");

-		w.println(in+ue.getAnnotation());

-		w.println(in+"</description>");

-	}

-	

-	private static void writeFeatures(PrintWriter w, int level, SiteModel site) {

-		String in = getIndent(level);

-		getIndent(level+1);

-		w.println("");

-		

-		SiteFeatureReferenceModel[] features = site.getFeatureReferenceModels();

-		for (int i=0; i<features.length; i++) {

-			w.println(in+"<feature");

-			w.println(in+"   "+"type=\""+features[i].getType()+"\"");

-			w.println(in+"   "+"url=\""+features[i].getURLString()+"\" -> "+features[i].getURL());

-			w.println(in+"   "+">");

-			writeCategories(w, level+1, features[i]);

-			w.println(in+"</feature>");

-		}

-	}

-	

-	private static void writeArchives(PrintWriter w, int level, SiteModel site) {

-		String in = getIndent(level);

-		w.println("");

-		

-		ArchiveReferenceModel[] archive = site.getArchiveReferenceModels();

-		for (int i=0; i<archive.length; i++) {

-			w.println(in+"<archive");

-			w.println(in+"   "+"path=\""+archive[i].getPath()+"\"");

-			w.println(in+"   "+"url=\""+archive[i].getURLString()+"\" -> "+archive[i].getURL());

-			w.println(in+"   "+"/>");

-		}

-	}

-	

-	private static void writeCategoryDefs(PrintWriter w, int level, SiteModel site) {

-		String in = getIndent(level);

-		getIndent(level+1);

-		w.println("");

-		

-		CategoryModel[] cat = site.getCategoryModels();

-		for (int i=0; i<cat.length; i++) {

-			w.println(in+"<category-def");

-			w.println(in+"   "+"name=\""+cat[i].getName()+"\"");

-			w.println(in+"   "+"label=\""+cat[i].getLabel()+"\"");

-			w.println(in+"   "+">");

-			writeDescription(w, level+1, cat[i].getDescriptionModel());

-			w.println(in+"</category-def>");

-		}

-	}

-	

-	private static void writeCategories(PrintWriter w, int level, SiteFeatureReferenceModel feature) {

-		String in = getIndent(level);

-		String[] cat = feature.getCategoryNames();

-		for (int i=0; i<cat.length; i++) {

-			w.println(in+"<category name=\""+cat[i]+"\"");

-		}

-	}

-	

-	private static String getIndent(int level) {

-		String indent = "";

-		for (int i=0; i<level; i++) 

-			indent += "   ";

-		return indent;

-	}

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml
deleted file mode 100644
index 1db9650..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<feature id="my.feature" version="3.7.1" label="%s1" provider-name="VK Inc."

-         image="images/feature.gif" os="Win32" ws="Win32" nl="en_CA,en_US"

-         application="org.eclipse.ui.workbench">

-

-   <install-handler url="install/handler.html" library="custom.jar" class="InstallHandler"/>

-   

-   <description url="http://www.tools.com/features/my.feature">

-      Description of my.feature

-   </description>

-   

-   <copyright url="copyright/my.feature">

-      Copyright for my.feature

-   </copyright>

-   

-   <license url="%url1">

-      License for my.feature

-   </license>

-   

-   <url>

-      <update url="http://www.tools.com/update" label="Update site"/>

-      <discovery url="http://www.tools.com/discovery1" label="%s2"/>

-      <discovery url="%url2" label="%s3 Discovery site 2"/>

-      <discovery url="%url3 http://www.tools.com/discovery3" label="Discovery site 3"/>

-   </url>

-   

-   <requires>

-      <import plugin="plugin.1" version="1.0.0" match="perfect"/>

-      <import plugin="plugin.2" version="3.2.0"/>

-      <import plugin="plugin.3"/>

-   </requires>

-   

-   <plugin id="my.plugin.1" version="1.0.0" fragment="true"

-           os="Win32" ws="Win32" nl="en_US" download-size="23456" install-size="1234567"/>

-   <plugin id="my.plugin.2" version="1.0.1"/>

-   <plugin id="my.plugin.3" version="1.0.2"/>

-   

-   <data id="examples.zip" download-size="23456" install-size="1234567"/>

-   <data id="custom/rt.jar"/>

-

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml
deleted file mode 100644
index 7516f26..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<site>

-

-   <description url="http://www.tools.com/updateSite">

-      Site description

-   </description>

-

-   <feature type="my.feature.type" url="feature1.jar">

-      <category name="tools"/>

-      <category name="utilities"/>

-      <category name="windows.tools"/>

-   </feature>

-   

-   <feature type="" url="file:/feature2.jar">

-      <category name="utilities"/>

-   </feature>

-   

-   

-   <archive path="first/archive" url="archive1.jar"/>

-   <archive path="second/archive" url="archive2.jar"/>

-   

-   <category-def name="tools" label="Development Tools">

-      <description url="http://www.tools.com/tools">

-         This is description for tools

-      </description>

-   </category-def>

-   

-   <category-def name="utilities" label="Utilities">

-      <description url="tools.html"/>/

-   </category-def>

-   

-   <category-def name="windows.tools" label="Windows Development Tools"/>

-

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml
deleted file mode 100644
index dd10ef7..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<site url="www.tools.com/updateSite">

-

-   <feature type="my.feature.type" url="feature1.jar">

-      <category name="tools"/>

-      <category name="utilities"/>

-      <category name="windows.tools"/>

-   </feature>

-   

-   <feature type="" url="feature2.jar">

-      <category name="utilities"/>

-   </feature>

-  

-   <archive path="first/archive" url="archive1.jar"/>

-   <archive path="second/archive" url="archive2.jar"/>

-   

-   <category-def name="tools" label="Development Tools">

-      <description url="http://www.tools.com/tools">

-         This is description for tools

-      </description>

-   </category-def>

-   

-   <category-def name="utilities" label="Utilities">

-      <description url="utilities.html"/>

-   </category-def>

-   

-   <category-def name="windows.tools" label="Windows Development Tools"/>

-

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml
deleted file mode 100644
index 2ee3a3f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<site url="http://www.tools.com/updateSite" type="some.other.site.type">

-

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties
deleted file mode 100644
index 4201818..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties
+++ /dev/null
@@ -1,14 +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

-###############################################################################

-s1 = String 1

-s2 = String 2

-url1 = relative/index.html

-url2 = http://some.server/tools.html

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nativeTests/TestLocalSystemInfo.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nativeTests/TestLocalSystemInfo.java
deleted file mode 100644
index ffcccbd..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nativeTests/TestLocalSystemInfo.java
+++ /dev/null
@@ -1,68 +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.update.tests.nativeTests;
-import java.io.File;
-
-import org.eclipse.update.configuration.IVolume;
-import org.eclipse.update.configuration.LocalSystemInfo;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestLocalSystemInfo extends UpdateManagerTestCase {
-
-	/**
-	 * Test the natives
-	 */
-	public TestLocalSystemInfo(String arg0) {
-		super(arg0);
-	}
-
-	public void testNative() throws Exception {
-	
-		// mount point
-       IVolume[] a = LocalSystemInfo.getVolumes();
-        if (a==null) throw new Exception("cannot find native library");
-		System.out.println("Found "+a.length+" mount points.");
-		for (int i =0; i<a.length;i++){
-			System.out.print("#"+i+" - "+a[i]);
-			
-			File root = a[i].getFile();
-			String label = a[i].getLabel();
-			if (label==null) label="NO LABEL";
-			int type = a[i].getType();
-			long size = LocalSystemInfo.getFreeSpace(root);
-			System.out.println(" ->:"+label+":"+getType(type)+":"+getSize(size));
-		}
-	}
-	
-	private String getType(int type){
-		switch (type) {
-			case LocalSystemInfo.VOLUME_FIXED :
-				return "VOLUME FIXED";
-			case LocalSystemInfo.VOLUME_REMOTE :
-				return "VOLUME REMOTE";
-			case LocalSystemInfo.VOLUME_REMOVABLE :
-				return "VOLUME REMOVABLE";
-			case LocalSystemInfo.VOLUME_CDROM :
-				return "VOLUME CDROM";				
-			case LocalSystemInfo.VOLUME_UNKNOWN :
-				return "VOLUME UNKNOWN";
-			default :
-				return "WRONG VOLUME INFO";
-		}
-	}
-	
-	private String getSize(long size){
-		if (size==LocalSystemInfo.SIZE_UNKNOWN) return "UNKNOWN SIZE";
-		
-		long kb = size/(1024*1024);
-		return new String(size+" ("+kb+"MB)");
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/AllNestedTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/AllNestedTests.java
deleted file mode 100644
index dc233c0..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/AllNestedTests.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.update.tests.nestedfeatures;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import junit.framework.*;
-
-public class AllNestedTests extends UpdateManagerTestCase {
-public AllNestedTests(String name) {
-	super(name);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.setName("Nested Install Tests");
-	
-	// the following will take all teh test methods in teh class that start with 'test'
-
-	suite.addTest(new TestSuite(TestInstall.class));
-
-	// or you can specify the method
-	//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));	
-	
-	return suite;
-}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/TestInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/TestInstall.java
deleted file mode 100644
index b4f5070..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/TestInstall.java
+++ /dev/null
@@ -1,301 +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.update.tests.nestedfeatures;
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestInstall extends UpdateManagerTestCase {
-
-	/**
-	 * Constructor for Test1
-	 */
-	public TestInstall(String arg0) {
-		super(arg0);
-	}
-
-	public void testFileSite() throws Exception {
-		
-		//cleanup target 
-		File target = new File(TARGET_FILE_SITE.getFile());
-		UpdateManagerUtils.removeFromFileSystem(target);		
-		InstallRegistry.cleanup();
-		
-
-		ISite remoteSite =
-			SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest/site.xml"),null);
-		IFeature remoteFeature = remoteSite.getFeatureReferences()[0].getFeature(null);
-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);
-		localSite.install(remoteFeature, null, null);
-
-		// verify root Feature
-		String site = localSite.getURL().getFile();
-		IPluginEntry[] entries = remoteFeature.getPluginEntries();
-		assertTrue("no plugins entry", (entries != null && entries.length != 0));
-		String pluginName = entries[0].getVersionedIdentifier().toString();
-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-		assertTrue(
-			"plugin files not installed locally:" + pluginFile,
-			pluginFile.exists());
-		File pluginXMLFile =
-			new File(
-				site,
-				Site.DEFAULT_PLUGIN_PATH + pluginName + File.separator + "plugin.xml");
-		assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());
-
-		File featureFile =
-			new File(
-				site,
-				Site.DEFAULT_INSTALLED_FEATURE_PATH
-					+ remoteFeature.getVersionedIdentifier().toString());
-		assertTrue(
-			"feature info not installed locally:" + featureFile,
-			featureFile.exists());
-
-		// clean plugins & feature
-		for (int i = 0; i < entries.length; i++) {
-			pluginName = entries[i].getVersionedIdentifier().toString();
-			pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-			UpdateManagerUtils.removeFromFileSystem(pluginFile);
-			InstallRegistry.unregisterPlugin(entries[i]);
-		}
-		UpdateManagerUtils.removeFromFileSystem(featureFile);
-
-		// verify child Feature
-		IFeature childFeature =
-			remoteFeature.getIncludedFeatureReferences()[0].getFeature(null);
-		entries = childFeature.getPluginEntries();
-		assertTrue("no plugins entry", (entries != null && entries.length != 0));
-		pluginName = entries[0].getVersionedIdentifier().toString();
-		pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-		assertTrue(
-			"plugin files not installed locally:" + pluginFile,
-			pluginFile.exists());
-		pluginXMLFile =
-			new File(
-				site,
-				Site.DEFAULT_PLUGIN_PATH + pluginName + File.separator + "plugin.xml");
-		assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());
-
-		featureFile =
-			new File(
-				site,
-				Site.DEFAULT_INSTALLED_FEATURE_PATH
-					+ childFeature.getVersionedIdentifier().toString());
-		assertTrue(
-			"feature info not installed locally:" + featureFile,
-			featureFile.exists());
-
-		// clean plugins
-		for (int i = 0; i < entries.length; i++) {
-			pluginName = entries[0].getVersionedIdentifier().toString();
-			pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-			UpdateManagerUtils.removeFromFileSystem(pluginFile);
-		}
-
-		// clean features
-		UpdateManagerUtils.removeFromFileSystem(featureFile);
-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));
-		InstallRegistry.cleanup();
-	}
-
-	/**
-	 * 
-	 */
-	public void testHTTPSite() throws Exception {
-
-		ISite remoteSite =
-			SiteManager.getSite(new URL(SOURCE_HTTP_SITE, "nestedFeatureSiteTest/"),null);
-		IFeatureReference[] features = remoteSite.getFeatureReferences();
-		IFeature remoteFeature = null;
-
-		if (features == null || features.length == 0)
-			fail("No features on the site");
-
-		for (int i = 0; i < features.length; i++) {
-			if (features[i].getURL().toExternalForm().endsWith("rootfeature.jar")) {
-				remoteFeature = features[i].getFeature(null);
-				break;
-			}
-		}
-
-		assertNotNull("Cannot find rootfeature.jar on site", remoteFeature);
-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);
-		localSite.install(remoteFeature, null, null);
-
-		// rootfeature.jar should not be in the local site
-		IFeatureReference[] localFeatures = localSite.getFeatureReferences();
-		if (localFeatures == null || localFeatures.length == 0)
-			fail("No features on the target site");
-
-		boolean found = false;
-		for (int i = 0; i < localFeatures.length; i++) {
-			if (localFeatures[i].getURL().toExternalForm().endsWith("rootfeature.jar")) {
-				found = true;
-				break;
-			}
-		}
-
-		assertTrue(
-			"Found rootfeature.jar on target site. Target site feature ref shouldnot contain JAR file",
-			!found);
-
-		// check root
-		String site = localSite.getURL().getFile();
-		IPluginEntry[] entries = remoteFeature.getPluginEntries();
-		assertTrue("no plugins entry", (entries != null && entries.length != 0));
-
-		String pluginName = entries[0].getVersionedIdentifier().toString();
-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-		assertTrue(
-			"plugin files not installed locally:" + pluginFile,
-			pluginFile.exists());		
-		File pluginXMLFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName+ File.separator + "plugin.xml");
-		assertTrue(
-			"plugin info not installed locally:" + pluginXMLFile,
-			pluginXMLFile.exists());
-
-		File featureFile =
-			new File(
-				site,
-				Site.DEFAULT_INSTALLED_FEATURE_PATH
-					+ remoteFeature.getVersionedIdentifier().toString());
-		assertTrue("feature info not installed locally", featureFile.exists());
-
-		// clean plugins & feature
-		for (int i = 0; i < entries.length; i++) {
-			pluginName = entries[i].getVersionedIdentifier().toString();
-			pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-			UpdateManagerUtils.removeFromFileSystem(pluginFile);
-			InstallRegistry.unregisterPlugin(entries[i]);
-		}
-		UpdateManagerUtils.removeFromFileSystem(featureFile);
-
-		// verify child Feature
-		IFeature childFeature =
-			remoteFeature.getIncludedFeatureReferences()[0].getFeature(null);
-		entries = childFeature.getPluginEntries();
-		assertTrue("no plugins entry", (entries != null && entries.length != 0));
-		pluginName = entries[0].getVersionedIdentifier().toString();
-		pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-		assertTrue(
-			"plugin files not installed locally:" + pluginFile,
-			pluginFile.exists());
-		pluginXMLFile =
-			new File(
-				site,
-				Site.DEFAULT_PLUGIN_PATH + pluginName + File.separator + "plugin.xml");
-		assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());
-
-		featureFile =
-			new File(
-				site,
-				Site.DEFAULT_INSTALLED_FEATURE_PATH
-					+ childFeature.getVersionedIdentifier().toString());
-		assertTrue(
-			"feature info not installed locally:" + featureFile,
-			featureFile.exists());
-
-		// clean plugins
-		for (int i = 0; i < entries.length; i++) {
-			pluginName = entries[0].getVersionedIdentifier().toString();
-			pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-			UpdateManagerUtils.removeFromFileSystem(pluginFile);
-		}
-
-		// clean features
-		UpdateManagerUtils.removeFromFileSystem(featureFile);
-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));
-	}
-
-//	public void testInstall() throws Exception {
-//
-//		// cleanup local files...
-//		URL localURL = ((SiteLocal) SiteManager.getLocalSite()).getLocationURL();
-//		File localFile = new File(localURL.getFile());
-//		UpdateManagerUtils.removeFromFileSystem(localFile);
-//		InstallRegistry.cleanup();
-//
-//		URL INSTALL_SITE = null;
-//		try {
-//			INSTALL_SITE = new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest/site.xml");
-//		} catch (Exception e) {
-//			fail(e.toString());
-//			e.printStackTrace();
-//		}
-//
-//		ISite remoteSite = SiteManager.getSite(INSTALL_SITE,null);
-//		IFeatureReference[] features = remoteSite.getFeatureReferences();
-//		IFeature remoteFeature = null;
-//
-//		if (features == null || features.length == 0)
-//			fail("No features on the site");
-//
-//		for (int i = 0; i < features.length; i++) {
-//			if (features[i].getURL().toExternalForm().endsWith("rootfeature.jar")) {
-//				remoteFeature = features[i].getFeature(null);
-//				break;
-//			}
-//		}
-//
-//		assertNotNull("Cannot find rootfeature.jar on site", remoteFeature);
-//		ILocalSite localSite = SiteManager.getLocalSite();
-//		IConfiguredSite site =
-//			localSite.getCurrentConfiguration().getConfiguredSites()[0];
-//
-//		((ConfiguredSite)site).setUpdatable(true);
-//		site.install(remoteFeature, null, null);
-//
-//		IPluginEntry[] entries = remoteFeature.getPluginEntries();
-//		assertTrue("no plugins entry", (entries != null && entries.length != 0));
-//
-//		String sitePath = site.getSite().getURL().getFile();
-//		String pluginName = entries[0].getVersionedIdentifier().toString();
-//		File pluginFile = new File(sitePath, Site.DEFAULT_PLUGIN_PATH + pluginName);
-//		assertTrue("plugin info not installed locally"+pluginFile, pluginFile.exists());
-//
-//		File featureFile =
-//			new File(
-//				sitePath,
-//				Site.DEFAULT_INSTALLED_FEATURE_PATH
-//					+ remoteFeature.getVersionedIdentifier().toString());
-//		assertTrue("feature info not installed locally", featureFile.exists());
-//
-//		//cleanup
-//		File file =
-//			new File(
-//				site.getSite().getURL().getFile()
-//					+ File.separator
-//					+ Site.DEFAULT_INSTALLED_FEATURE_PATH
-//					+ remoteFeature.getVersionedIdentifier());
-//		// clean plugins
-//		for (int i = 0; i < entries.length; i++) {
-//			pluginName = entries[0].getVersionedIdentifier().toString();
-//			pluginFile =
-//				new File(
-//					site.getSite().getURL().getFile(),
-//					Site.DEFAULT_PLUGIN_PATH + pluginName);
-//			UpdateManagerUtils.removeFromFileSystem(pluginFile);
-//		}
-//
-//		UpdateManagerUtils.removeFromFileSystem(file);
-//		UpdateManagerUtils.removeFromFileSystem(pluginFile);
-//		UpdateManagerUtils.removeFromFileSystem(localFile);
-//		UpdateManagerUtils.removeFromFileSystem(
-//			new File(
-//				((InstallConfiguration) localSite.getCurrentConfiguration())
-//					.getURL()
-//					.getFile()));
-//	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java
deleted file mode 100644
index 4cc01a9..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java
+++ /dev/null
@@ -1,35 +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.update.tests.parser;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllParserTests extends UpdateManagerTestCase {

-public AllParserTests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Parsing Tests");

-	

-	// the following will take all teh test methods in teh class that start with 'test'

-	suite.addTest(new TestSuite(TestFeatureParse.class));

-	suite.addTest(new TestSuite(TestSiteParse.class));	

-	suite.addTest(new TestSuite(TestCategories.class));		

-	

-	// or you can specify the method

-	//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));	

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestCategories.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestCategories.java
deleted file mode 100644
index 8a2566c..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestCategories.java
+++ /dev/null
@@ -1,62 +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.update.tests.parser;

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestCategories extends UpdateManagerTestCase {

-	/**

-	 * Constructor for Test1

-	 */

-	public TestCategories(String arg0) {

-		super(arg0);

-	}

-

-	public void testCategories() throws Exception {

-

-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "xmls/site1/");

-		ISite remoteSite = SiteManager.getSite(remoteUrl,null);

-

-		ISiteFeatureReference[] feature = remoteSite.getFeatureReferences();

-		//ICategory[] categories = remoteSite.getCategories();

-

-		ICategory featureCategory = feature[0].getCategories()[0];

-

-		assertEquals("UML tools", featureCategory.getLabel());

-

-	}

-

-	public void testOrderedCategories() throws Exception {

-

-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "xmls/site1/");

-		ISite remoteSite = SiteManager.getSite(remoteUrl,null);

-

-		ICategory[] categories = remoteSite.getCategories();

-		for (int i = 0; i < categories.length; i++) {

-			System.out.println("Cat ordered->" + categories[i].getName());

-		}

-

-		assertEquals("Eclipse tools", categories[1].getLabel());

-

-	}

-

-	public void testTranslatedCategories() throws Exception {

-

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-

-		ICategory[] categories = remoteSite.getCategories();

-

-		assertEquals("Required Drivers", categories[0].getLabel());

-

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestFeatureParse.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestFeatureParse.java
deleted file mode 100644
index 665980f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestFeatureParse.java
+++ /dev/null
@@ -1,132 +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.update.tests.parser;

-

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.DefaultFeatureParser;

-import org.eclipse.update.core.model.FeatureModel;

-import org.eclipse.update.core.model.URLEntryModel;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import org.xml.sax.SAXParseException;

-

-public class TestFeatureParse extends UpdateManagerTestCase {

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestFeatureParse(String arg0) {

-		super(arg0);

-	}

-

-	public void testParse() throws Exception {

-

-		String xmlFile = "xmls/feature_1.0.0/";

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE, null);

-		URL url = UpdateManagerUtils.getURL(remoteSite.getURL(), xmlFile, null);

-

-		SiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(remoteSite);

-		ref.setURL(url);

-		IFeature feature = ref.getFeature(null);

-

-		String prov = feature.getProvider();

-		assertEquals("Object Technology International", prov);

-

-	}

-

-	public void testParseValid1() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/feature1.xml");

-			DefaultFeatureParser parser = new DefaultFeatureParser();

-			parser.init(new FeatureExecutableFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			FeatureModel remoteFeature = parser.parse(resolvedURL.openStream());

-			remoteFeature.resolve(remoteURL, null);

-

-		} catch (SAXParseException e) {

-			fail("Exception should NOT be thrown");

-		}

-	}

-

-	public void testParseValid1bis() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/feature1bis.xml");

-			DefaultFeatureParser parser = new DefaultFeatureParser();

-			parser.init(new FeatureExecutableFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			FeatureModel remoteFeature = parser.parse(resolvedURL.openStream());

-			remoteFeature.resolve(remoteURL, null);

-

-		} catch (SAXParseException e) {

-			fail("Exception should NOT be thrown");

-		}

-	}

-

-	public void testParseValid2() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/feature2.xml");

-			DefaultFeatureParser parser = new DefaultFeatureParser();

-			parser.init(new FeatureExecutableFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			FeatureModel remoteFeature = parser.parse(resolvedURL.openStream());

-			remoteFeature.resolve(remoteURL, null);

-

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-	public void testParseValid3() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/feature3.xml");

-			DefaultFeatureParser parser = new DefaultFeatureParser();

-			parser.init(new FeatureExecutableFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			FeatureModel remoteFeature = parser.parse(resolvedURL.openStream());

-			remoteFeature.resolve(remoteURL, null);

-

-			String copyrightString = remoteFeature.getCopyrightModel().getURL().getFile();

-			boolean resolved = copyrightString.indexOf(SiteManager.getOS()) != -1;

-			assertTrue("Copyright URL not resolved:" + copyrightString, resolved);

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-	// parse type

-	public void testParseValid4() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/feature4.xml");

-			DefaultFeatureParser parser = new DefaultFeatureParser();

-			parser.init(new FeatureExecutableFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			FeatureModel remoteFeature = parser.parse(resolvedURL.openStream());

-			remoteFeature.resolve(remoteURL, null);

-

-			URLEntryModel[] models = remoteFeature.getDiscoverySiteEntryModels();

-			assertTrue("Discovery model is not a Web Model", models[0].getType()==IURLEntry.WEB_SITE);

-			URLEntryModel copyright = remoteFeature.getCopyrightModel();

-			assertTrue("Copyright model is not an Update Model", copyright.getType()==IURLEntry.UPDATE_SITE);

-			

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java
deleted file mode 100644
index 1a970a0..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java
+++ /dev/null
@@ -1,288 +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.update.tests.parser;

-

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.internal.core.SiteFileFactory;

-import org.eclipse.update.internal.core.URLEncoder;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import org.xml.sax.SAXParseException;

-

-public class TestSiteParse extends UpdateManagerTestCase {

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestSiteParse(String arg0) {

-		super(arg0);

-	}

-

-	public void testParse() throws Exception {

-

-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "xmls/site1/");

-		ISite remoteSite = SiteManager.getSite(remoteUrl,null);

-

-		//IFeatureReference[] feature = remoteSite.getFeatureReferences();

-		//ICategory[] categories = remoteSite.getCategories();

-

-		String path = remoteUrl.getFile();

-		String path2 = remoteSite.getDescription().getURL().getFile();

-		assertEquals(new File(path + "index.html"), new File(path2));

-

-	}

-

-	public void testNumberOfFeatures() throws Exception {

-

-		URL remoteURL = new URL("http", getHttpHost(), getHttpPort(), bundle.getString("HTTP_PATH_2"));

-		ISite remoteSite = SiteManager.getSite(remoteURL,null);

-

-		IFeatureReference[] feature = remoteSite.getFeatureReferences();

-		assertEquals(feature.length, 2);

-

-	}

-

-	public void testParseValid1() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();

-		CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", feature.length == 6);

-		assertTrue("Wrong number of categories", categories.length == 3);

-		assertTrue("Wrong number of archives", archives.length == 0);

-

-		String path = new URL(SOURCE_FILE_SITE + "parsertests/").getFile();

-		String path2 = remoteSite.getDescriptionModel().getURL().getFile();

-		assertEquals(path + "index.html", path2);

-

-	}

-

-	public void testParseValid2() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/reddot.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();

-		CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", feature.length == 2);

-		assertTrue("Wrong number of categories", categories.length == 1);

-		assertTrue("Wrong number of archives", archives.length == 2);

-

-		String valideString = "This category contains all of the <currently> available versions of Red Dot feature. <greeting>Hello, world!</greeting>";

-		assertEquals(valideString, remoteSite.getCategoryModels()[0].getDescriptionModel().getAnnotation());

-

-		String path = new URL(SOURCE_FILE_SITE + "parsertests/").getFile();

-		String path2 = remoteSite.getDescriptionModel().getURL().getFile();

-		assertEquals(path + "index.html", path2);

-

-	}

-

-	public void testParseValid3() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/reddot1.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();

-		CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", feature.length == 2);

-		assertTrue("Wrong number of categories", categories.length == 1);

-		assertTrue("Wrong number of archives", archives.length == 2);

-

-		String valideString = "This category contains all of the <currently> available versions of Red Dot feature.";

-		assertEquals(valideString, remoteSite.getCategoryModels()[0].getDescriptionModel().getAnnotation());

-

-		String path = new URL(SOURCE_FILE_SITE + "parsertests/").getFile();

-		String path2 = remoteSite.getDescriptionModel().getURL().getFile();

-		assertEquals(path + "index.html", path2);

-

-	}

-

-	public void testParseValid4() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "SiteURLTest/data/site.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();

-		//CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", feature.length == 2);

-		assertTrue("Wrong number of archives", archives.length == 3);

-

-		URL path1 = new URL(SOURCE_FILE_SITE + "SiteURLTest/data/artifacts/features/helpFeature.jar");

-		URL url1 = feature[0].getURL();

-		assertEquals(path1, url1);

-		URL path2 = new URL(SOURCE_FILE_SITE + "SiteURLTest/data/artifacts/plugins/help.jar");

-		assertEquals(path2, archives[0].getURL());

-

-		String path = new URL(SOURCE_FILE_SITE + "SiteURLTest/data/info/").getFile();

-		String path3 = remoteSite.getDescriptionModel().getURL().getFile();

-		assertEquals(path + "siteInfo.html", path3);

-

-	}

-

-	public void testParseValid5() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site2.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] featureRef = remoteSite.getFeatureReferenceModels();

-		//CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", featureRef.length == 1);

-		assertTrue("Wrong number of archives", archives.length == 0);

-

-		try {

-			((FeatureReference) featureRef[0]).getFeature(null);

-		} catch (CoreException e) {

-			Throwable e1 = e.getStatus().getException();

-			if (e1.getMessage().indexOf("not-eclipse") == -1) {

-				throw e;

-			}

-		}

-	}

-

-	public void testParseValid6() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site4.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] featureRef = remoteSite.getFeatureReferenceModels();

-		//CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", featureRef.length == 2);

-		assertTrue("Wrong number of archives", archives.length == 0);

-

-		try {

-			((FeatureReference) featureRef[0]).getFeature(null);

-		} catch (CoreException e) {

-			Throwable e1 = e.getStatus().getException();

-			String msg = e1.getMessage().replace(File.separatorChar, '/');

-			if (msg.indexOf("_1.0.0.jar/feature.xml") == -1) {

-				throw e;

-			}

-		}

-	}

-

-	public void testParseUnknownCategory() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site3.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] featureRef = remoteSite.getFeatureReferenceModels();

-		ICategory[] categories = ((SiteFeatureReference) featureRef[0]).getCategories();

-		assertTrue(categories.length == 0);

-	}

-

-	public void testParseValid7() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site7.xml");

-			DefaultSiteParser parser = new DefaultSiteParser();

-			parser.init(new SiteFileFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-			remoteSite.resolve(remoteURL, null);

-

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-	public void testParseValid8() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site8.xml");

-			DefaultSiteParser parser = new DefaultSiteParser();

-			parser.init(new SiteFileFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-			remoteSite.resolve(remoteURL, null);

-

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-	public void testParseValid9() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site9.xml");

-			DefaultSiteParser parser = new DefaultSiteParser();

-			parser.init(new SiteFileFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-			remoteSite.resolve(remoteURL, null);

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-	public void testParseValid10() throws Exception {

-

-		SiteModel remoteSite = null;

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site10.xml");

-			DefaultSiteParser parser = new DefaultSiteParser();

-			parser.init(new SiteFileFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			remoteSite = parser.parse(resolvedURL.openStream());

-			remoteSite.resolve(remoteURL, null);

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-		FeatureReferenceModel[] models = remoteSite.getFeatureReferenceModels();

-		assertEquals("Invalid versioned identifier", models[0].getFeatureIdentifier(), "org.eclipse.test.feature");

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/AllPerformanceTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/AllPerformanceTests.java
deleted file mode 100644
index e669b7d..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/AllPerformanceTests.java
+++ /dev/null
@@ -1,29 +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.update.tests.perfms;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import junit.framework.*;
-
-
-public class AllPerformanceTests extends UpdateManagerTestCase {
-public AllPerformanceTests(String name) {
-	super(name);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.setName("Update Performance Tests");
-	
-	// the following will take all teh test methods in the class that start with 'test'
-	suite.addTest(new TestSuite(TestStartup.class));
-	return suite;
-}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/TestStartup.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/TestStartup.java
deleted file mode 100644
index cf2d9e1..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/TestStartup.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.update.tests.perfms;
-//import java.net.*;
-
-import java.io.*;
-import java.net.*;
-
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.internal.configurator.*;
-import org.eclipse.test.performance.*;
-import org.eclipse.update.tests.*;
-
-
-
-public class TestStartup extends UpdateManagerTestCase {
-	public TestStartup(String arg0) {
-		super(arg0);
-	}
-	
-
-	public void testConfigurationCreation() {
-		Performance perf= Performance.getDefault();
-		PerformanceMeter performanceMeter= perf.createPerformanceMeter(perf.getDefaultScenarioId(this));
-		perf.tagAsGlobalSummary(performanceMeter, "Configuration creation", Dimension.ELAPSED_PROCESS);
-		
-		try {
-			for (int i= 0; i < 10; i++) {
-				performanceMeter.start();
-				try {
-					URL platformXml = new URL("file", "",dataPath + "/" + "perf/platform.xml");
-					IPlatformConfiguration config = new PlatformConfigurationFactory().getPlatformConfiguration(platformXml);
-				} catch (IOException e) {
-					System.out.println("Cannot create configuration for performance measurement");
-				}
-				performanceMeter.stop();
-	 		}
-			performanceMeter.commit();
-			perf.assertPerformance(performanceMeter);
-	 	} finally {
-			performanceMeter.dispose();
-	 	}
-	}
-	
-	public void testConfigurationDetection() {
-		Performance perf= Performance.getDefault();
-		PerformanceMeter performanceMeter= perf.createPerformanceMeter(perf.getDefaultScenarioId(this));
-		perf.tagAsGlobalSummary(performanceMeter, "Configuration detection", Dimension.ELAPSED_PROCESS);
-
-		try {
-			for (int i= 0; i < 10; i++) {
-				performanceMeter.start();
-				try {
-					URL siteURL = new URL("file", "",dataPath + "/" + "perf/eclipse");
-					SiteEntry site = new SiteEntry(siteURL);
-					site.loadFromDisk(0);
-				} catch (Exception e) {
-					System.out.println("Cannot create site entry for performance measurement");
-				}
-				performanceMeter.stop();
-	 		}
-			performanceMeter.commit();
-			perf.assertPerformance(performanceMeter);
-	 	} finally {
-			performanceMeter.dispose();
-	 	}
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java
deleted file mode 100644
index 8b9d17a..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java
+++ /dev/null
@@ -1,40 +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.update.tests.reconciliation;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-/**
- * Manages the API tests
- */
-public class AllReconciliationTests extends UpdateManagerTestCase {
-	/**
-	 * Constructor
-	 */
-	public AllReconciliationTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * List of API tests
-	 */
-	public static Test suite() throws Exception {
-		TestSuite suite = new TestSuite();
-		suite.setName("API Tests");
-
-
-		suite.addTest(new TestSuite(TestSiteReconciliation.class));
-
-		return suite;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java
deleted file mode 100644
index 8b1b0e1..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java
+++ /dev/null
@@ -1,169 +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.update.tests.reconciliation;
-import java.io.*;
-import java.net.*;
-
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.configurator.IPlatformConfiguration;
-import org.eclipse.update.configurator.IPlatformConfiguration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.*;
-
-public class TestSiteReconciliation extends UpdateManagerTestCase {
-	
-
-	
-
-	/**
-	 * Test the getFeatures()
-	 */
-	public TestSiteReconciliation(String arg0) {
-		super(arg0);
-	}
-
-	private void addConfigSite(int policy, URL url,String[] listOfPlugins) throws Exception {
-		String xmlFile = ((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile();
-		UpdateManagerUtils.removeFromFileSystem(new File(xmlFile));		
-		InternalSiteManager.localSite=null;
-		// get new config object
-		IPlatformConfiguration cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		ISitePolicy p1 = cfig.createSitePolicy(policy, listOfPlugins);	
-		ISiteEntry s1 = cfig.createSiteEntry(url,p1);
-		cfig.configureSite(s1);	
-	}
-	
-	private void removeConfigSite(URL url) throws Exception {
-		// get new config object
-		IPlatformConfiguration cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		ISiteEntry s1 = cfig.findConfiguredSite(url);
-		assertNotNull("Unable to find site entry:"+url,s1);
-		cfig.unconfigureSite(s1);
-		cfig.save();
-	}	
-	/**
-	 * Site 1 contains a feature which needs a plugin taht is not on the path when we start
-	 * it will never be configured
-	 */
-	public void testNewSiteInclude1() throws Exception {
-	
-		int policy  = ISitePolicy.USER_INCLUDE;
-		URL url = new URL("file",null,dataPath+"reconciliationSites/site1/");
-		String[] plugins = new String[]{};
-		addConfigSite(policy,url, plugins);
-
-		ILocalSite local = SiteManager.getLocalSite();
-		((SiteLocal)local).setStamp(0);
-		IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
-		IConfiguredSite newSite = null;
-		for (int i = 0; i < newSites.length; i++) {
-			if (UpdateManagerUtils.sameURL(newSites[i].getSite().getURL(),url)){
-				newSite = newSites[i];
-			}
-		}
-		
-		if (newSite==null) fail("Site not found in configuration");
-		
-		IFeatureReference[] ref = newSite.getConfiguredFeatures();
-		assertEquals("Wrong number of configured features",0,ref.length);		
-		ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
-		assertEquals("Wrong number of unconfigured features",0,ref.length);		
-		
-		removeConfigSite(url);
-	}
-
-	public void testNewSiteExclude1() throws Exception {
-		
-		int policy  = ISitePolicy.USER_EXCLUDE;
-		URL url = new URL("file",null,dataPath+"reconciliationSites/site1/");
-		String[] plugins = new String[]{};
-		addConfigSite(policy,url, plugins);
-		
-		ILocalSite local = SiteManager.getLocalSite();
-		((SiteLocal)local).setStamp(0);		
-		IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
-		IConfiguredSite newSite = null;
-		for (int i = 0; i < newSites.length; i++) {
-			if (UpdateManagerUtils.sameURL(newSites[i].getSite().getURL(),url)){
-				newSite = newSites[i];
-			}
-		}
-		
-		if (newSite==null) fail("Site not found in configuration");
-		
-		IFeatureReference[] ref = newSite.getConfiguredFeatures();
-		assertEquals("Wrong number of configured features",0,ref.length);		
-		ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
-		assertEquals("Wrong number of unconfigured features",0,ref.length);				
-		removeConfigSite(url);
-	}
-
-	/**
-	 * Site 2 contains a feature which needs a plugin taht is on the path when we start
-	 * it will be configured
-	 */
-	public void testNewSiteInclude2() throws Exception {
-		
-		int policy  = ISitePolicy.USER_INCLUDE;
-		URL url = new URL("file",null,dataPath+"reconciliationSites/site2/");
-		String[] plugins = new String[]{};
-		addConfigSite(policy,url, plugins);
-		ILocalSite local = SiteManager.getLocalSite();
-		((SiteLocal)local).setStamp(0);		
-		IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
-		IConfiguredSite newSite = null;
-		for (int i = 0; i < newSites.length; i++) {
-			if (UpdateManagerUtils.sameURL(newSites[i].getSite().getURL(),url)){
-				newSite = newSites[i];
-			}
-		}
-		
-		if (newSite==null) fail("Site not found in configuration");
-		
-		IFeatureReference[] ref = newSite.getConfiguredFeatures();
-		assertEquals("Wrong number of configured features",0,ref.length);
-		ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
-		assertEquals("Wrong number of unconfigured features",0,ref.length);
-		
-		removeConfigSite(url);
-	}
-
-
-
-	public void testNewSiteExclude2() throws Exception {
-		
-		int policy  = ISitePolicy.USER_EXCLUDE;
-		URL url = new URL("file",null,dataPath+"reconciliationSites/site2/");
-		String[] plugins = new String[]{};
-		addConfigSite(policy,url, plugins);
-		ILocalSite local = SiteManager.getLocalSite();
-		((SiteLocal)local).setStamp(0);		
-		IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
-		IConfiguredSite newSite = null;
-		for (int i = 0; i < newSites.length; i++) {
-			if (UpdateManagerUtils.sameURL(newSites[i].getSite().getURL(),url)){
-				newSite = newSites[i];
-			}
-		}
-		
-		if (newSite==null) fail("Site not found in configuration");
-		
-		IFeatureReference[] ref = newSite.getConfiguredFeatures();
-		assertEquals("Wrong number of configured features",0,ref.length);
-		ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
-		assertEquals("Wrong number of unconfigured features",0,ref.length);
-
-		removeConfigSite(url);
-	}
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java
deleted file mode 100644
index d857b55..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java
+++ /dev/null
@@ -1,41 +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.update.tests.regularInstall;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllRegularInstallTests extends UpdateManagerTestCase {

-public AllRegularInstallTests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Regular Install Tests");

-	

-	// the following will take all teh test methods in teh class that start with 'test'

-

-	suite.addTest(new TestSuite(TestInstall.class));

-	suite.addTest(new TestSuite(TestInstallURLSIteXML.class));	

-	suite.addTest(new TestSuite(TestSpaceInInstall.class));	

-	suite.addTest(new TestSuite(TestGetFeature.class));

-	suite.addTest(new TestSuite(TestExecutableInstall.class));	

-	suite.addTest(new TestSuite(TestExecutablePackagedInstall.class));		

-	suite.addTest(new TestSuite(TestDataEntryInstall.class));

-	suite.addTest(new TestSuite(TestLocalSite.class));		

-	

-	// or you can specify the method

-	//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));	

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.java
deleted file mode 100644
index f0325b2..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.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.update.tests.regularInstall;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class MultipleTestLocalSite extends UpdateManagerTestCase {

-public MultipleTestLocalSite(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Multiple Test Local Site");

-	

-	// the following will take all teh test methods in teh class that start with 'test'

-	

-	for(int i=0; i<50; i++){

-		suite.addTest(new TestSuite(TestLocalSite.class));

-	}

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java
deleted file mode 100644
index c22e94c..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java
+++ /dev/null
@@ -1,100 +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.update.tests.regularInstall;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestDataEntryInstall extends UpdateManagerTestCase {

-	/**

-	 * Constructor for Test1

-	 */

-	public TestDataEntryInstall(String arg0) {

-		super(arg0);

-	}

-

-	/**

-	 * With site.xml

-	 */

-	public void testDataEntrySite() throws Exception {

-

-		//cleanup target 

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-		URL newURL =new File(dataPath + "dataEntrySiteTest/site1/site.xml").toURL();

-		ISite remoteSite = SiteManager.getSite(newURL,null);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		IFeature remoteFeature = null;

-		

-		for (int i = 0; i < featuresRef.length; i++) {

-			remoteFeature = featuresRef[i].getFeature(null);

-			localSite.install(remoteFeature, null,null);

-

-			// verify

-			String site = localSite.getURL().getFile();

-			INonPluginEntry[] entries = remoteFeature.getNonPluginEntries();

-			assertTrue("no data entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString()+File.separator+ pluginName);

-			assertTrue("data files not installed locally:"+pluginFile, pluginFile.exists());

-		} 

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}

-	

-	

-	/**

-	 * With site.xml

-	 */

-	public void testDataEntrySitePackaged() throws Exception {

-

-		//cleanup target 

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-		URL newURL =new File(dataPath + "dataEntrySiteTest/site2/site.xml").toURL();

-		ISite remoteSite = SiteManager.getSite(newURL,null);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		IFeature remoteFeature = null;

-		

-		for (int i = 0; i < featuresRef.length; i++) {

-			remoteFeature = featuresRef[i].getFeature(null);

-			localSite.install(remoteFeature, null,null);

-

-			// verify

-			String site = localSite.getURL().getFile();

-			INonPluginEntry[] entries = remoteFeature.getNonPluginEntries();

-			assertTrue("no data entry", (entries != null && entries.length != 0));

-			entries[0].getIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString()+File.separator+ "nondata"+File.separator+"file1.zip");

-			assertTrue("Data file inside the jar not installed locally:"+pluginFile, pluginFile.exists());

-			pluginFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString()+File.separator+ "file.zip");

-			assertTrue("Data file outside the jar not installed locally:"+pluginFile, pluginFile.exists());

-			

-		} 

-		

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}	

-	

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutableInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutableInstall.java
deleted file mode 100644
index b99411f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutableInstall.java
+++ /dev/null
@@ -1,72 +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.update.tests.regularInstall;

-

-import java.io.File;

-import java.util.Locale;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-public class TestExecutableInstall extends UpdateManagerTestCase {

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestExecutableInstall(String arg0) {

-		super(arg0);

-	}

-	

-

-

-	public void testFileSite() throws Exception{

-		

-		//cleanup target 

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);		

-		InstallRegistry.cleanup();

-		

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE_INSTALLED,null);

-		IFeatureReference[] remoteFeatureReference = remoteSite.getFeatureReferences();

-		IFeature remoteFeature = remoteFeatureReference[0].getFeature(null);

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		assertNotNull(remoteFeature);

-		remove(remoteFeature,localSite);		

-		localSite.install(remoteFeature,null,null);

-		

-		// verify

-		String site = localSite.getURL().getFile();

-		IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-		assertTrue("no plugins entry",(entries!=null && entries.length!=0));

-		String pluginName= entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(site,Site.DEFAULT_PLUGIN_PATH+pluginName);

-		if (Locale.getDefault().toString().indexOf("us") != -1)

-			assertTrue("plugin files not installed locally",pluginFile.exists());

-

-		File featureFile = new File(site,Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier().toString());

-		assertTrue("feature info not installed locally:"+featureFile,featureFile.exists());

-		assertTrue("feature is a file, not a directory:"+featureFile,featureFile.isDirectory());

-

-		

-		File featureFileXML = new File(site,Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier().toString()+File.separator+"feature.xml");

-		assertTrue("feature info not installed locally: no feature.xml",featureFileXML.exists());

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-	}

-

-}

-

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java
deleted file mode 100644
index 4385887..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java
+++ /dev/null
@@ -1,147 +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.update.tests.regularInstall;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestExecutablePackagedInstall extends UpdateManagerTestCase {

-	/**

-	 * Constructor for Test1

-	 */

-	public TestExecutablePackagedInstall(String arg0) {

-		super(arg0);

-	}

-

-	/**

-	 * With site.xml

-	 */

-	public void testFilePackageExecutableFeatureSite() throws Exception {

-

-		//cleanup target  

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-		URL newURL = new File(dataPath + "ExecutableFeaturePackagedSite/data2/site.xml").toURL();

-		ISite remoteSite = SiteManager.getSite(newURL,null);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		IFeature remoteFeature = null;

-		

-		// at least one executable feature and on packaged

-		boolean execFeature = false;

-		boolean packFeature = false;

-

-		if (featuresRef.length==0) fail ("no feature found");

-	

-		for (int i = 0; i < featuresRef.length; i++) {

-			remoteFeature = featuresRef[i].getFeature(null);

-			remove(remoteFeature,localSite);			

-			localSite.install(remoteFeature, null,null);

-			

-			if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;

-			if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;

-

-			// verify

-			String site = localSite.getURL().getFile();

-			IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-			assertTrue("no plugins entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getVersionedIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-			assertTrue("plugin files not installed locally:"+pluginFile, pluginFile.exists());

-

-			File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());

-			assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-

-			File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");

-			assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());

-		}

-

-		if (!execFeature && !packFeature){

-			fail("cannot find one executable and one package feature on teh site");

-		}

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}

-	

-	

-	/**

-	 * Without site.xml

-	 */

-	public void testFileNoSiteXMLSite() throws Exception {

-

-		//cleanup target 

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-		URL newURL = new File(dataPath + "ExecutableFeaturePackagedSite/data/").toURL();

-		ISite remoteSite = SiteManager.getSite(newURL,null);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		IFeature remoteFeature = null;

-		

-		// at least one executable feature and on packaged

-		boolean execFeature = false;

-		boolean packFeature = false;

-

-		if (featuresRef.length==0) fail ("no feature found");

-	

-		for (int i = 0; i < featuresRef.length; i++) {

-			try {

-				remoteFeature = featuresRef[i].getFeature(null);

-			} catch (CoreException e){

-				Throwable e1 = e.getStatus().getException();

-				String msg = e1.getMessage().replace(File.separatorChar,'/');

-				if (msg.indexOf("CVS/feature.xml")==-1){

-					throw e;

-				}				

-			}

-			if (remoteFeature!=null){

-				remove(remoteFeature,localSite);

-				localSite.install(remoteFeature,null, null);

-				

-				if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;

-				if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;

-	

-				// verify

-				String site = localSite.getURL().getFile();

-				IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-				assertTrue("no plugins entry", (entries != null && entries.length != 0));

-				String pluginName = entries[0].getVersionedIdentifier().toString();

-				File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-				assertTrue("plugin files not installed locally:"+pluginFile, pluginFile.exists());

-	

-				File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());

-				assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-	

-				File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");

-				assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());

-			}

-		}

-

-		if (!execFeature && !packFeature){

-			fail("cannot find one executable and one package feature on teh site");

-		}

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}

-	

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestGetFeature.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestGetFeature.java
deleted file mode 100644
index 518a0eb..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestGetFeature.java
+++ /dev/null
@@ -1,49 +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.update.tests.regularInstall;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-public class TestGetFeature extends UpdateManagerTestCase {

-

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestGetFeature(String arg0) {

-		super(arg0);

-	}

-	

-	

-	public void testFeatureFileSite() throws Exception{

-		

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		IFeatureReference[] remoteFeatures = remoteSite.getFeatureReferences();

-		if (remoteFeatures==null || remoteFeatures.length==0) fail("No feature available for testing");

-		for (int i=0;i<remoteFeatures.length;i++){

-			System.out.println("feature:"+remoteFeatures[i].getURL().toExternalForm());

-		}

-	}

-

-

-	public void testFeatureHTTPSite() throws Exception{ 

-		

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeatureReference[] remoteFeatures = remoteSite.getFeatureReferences();

-		if (remoteFeatures==null || remoteFeatures.length==0) fail("No feature available for testing");		

-		for (int i=0;i<remoteFeatures.length;i++){

-			System.out.println("feature:"+remoteFeatures[i].getURL().toExternalForm());

-		}

-	}

-}

-

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java
deleted file mode 100644
index b999543..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java
+++ /dev/null
@@ -1,313 +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.update.tests.regularInstall;

-import java.io.File;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.Locale;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestInstall extends UpdateManagerTestCase {

-

-	/**

-	 * 

-	 */

-	public static final String PACKAGED_FEATURE_TYPE = "packaged"; //$NON-NLS-1$

-

-	public class Listener implements IConfiguredSiteChangedListener {

-

-		public boolean notified = false;

-

-		public void featureInstalled(IFeature feature) {

-			notified = true;

-			System.out.println("Notified DefaultFeature Installed");

-		}

-

-		public void featureRemoved(IFeature feature) {

-		}

-

-		public void featureConfigured(IFeature feature) {

-		};

-		public void featureUnconfigured(IFeature feature) {

-		};

-

-		public boolean isNotified() {

-			return notified;

-		}

-	}

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestInstall(String arg0) {

-		super(arg0);

-	}

-

-	private IFeature getFeature1(ISite site)

-		throws MalformedURLException, CoreException {

-		SiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(site);

-		ref.setURLString("features/org.eclipse.update.core.tests.feature1_1.0.4.jar");

-		ref.setType(getDefaultInstallableFeatureType());

-		ref.resolve(site.getURL(), null);

-		return ref.getFeature(null);

-	}

-

-	public void testFileSite() throws Exception {

-

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		IFeature remoteFeature = getFeature1(remoteSite);

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		localSite.install(remoteFeature, null, null);

-

-		// verify

-		String site = localSite.getURL().getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin files not installed locally:"+pluginFile, pluginFile.exists());

-		File pluginXMLFile =

-			new File(

-				site,

-				Site.DEFAULT_PLUGIN_PATH + pluginName + File.separator + "plugin.xml");

-		assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());

-

-		File featureFile =

-			new File(

-				site,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		assertTrue(

-			"feature info not installed locally:" + featureFile,

-			featureFile.exists());

-		//cleanup

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));

-

-	}

-

-	/**

-	 * 

-	 */

-	public void testHTTPSite() throws Exception {

-

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeatureReference[] features = remoteSite.getFeatureReferences();

-		IFeature remoteFeature = null;

-

-		if (features == null || features.length == 0)

-			fail("No features on the site");

-

-		for (int i = 0; i < features.length; i++) {

-			if (features[i].getURL().toExternalForm().endsWith("features2.jar")) {

-				remoteFeature = features[i].getFeature(null);

-				break;

-			}

-		}

-

-		assertNotNull("Cannot find feature2.jar on site", remoteFeature);

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		localSite.install(remoteFeature, null, null);

-

-		// feature2.jar should not be in the local site

-		IFeatureReference[] localFeatures = localSite.getFeatureReferences();

-		if (localFeatures == null || localFeatures.length == 0)

-			fail("No features on the target site");

-

-		boolean found = false;

-		for (int i = 0; i < localFeatures.length; i++) {

-			if (localFeatures[i].getURL().toExternalForm().endsWith("features2.jar")) {

-				found = true;

-				break;

-			}

-		}

-

-		assertTrue(

-			"Found feature2.jar on target site. Target site feature ref shouldnot contain JAR file",

-			!found);

-

-		// check

-		String site = localSite.getURL().getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin info not installed locally:"+pluginFile, pluginFile.exists());

-

-		File featureFile =

-			new File(

-				site,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		assertTrue("feature info not installed locally", featureFile.exists());

-

-		//localSite.save();

-

-		//cleanup

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));

-	}

-

-	public void testInstall() throws Exception {

-

-		// cleanup local files...

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-

-		URL INSTALL_SITE = null;

-		try {

-			INSTALL_SITE =

-				new URL("http", getHttpHost(), getHttpPort(), bundle.getString("HTTP_PATH_2"));

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-

-		ISite remoteSite = SiteManager.getSite(INSTALL_SITE,null);

-		IFeatureReference[] features = remoteSite.getFeatureReferences();

-		IFeature remoteFeature = null;

-

-		if (features == null || features.length == 0)

-			fail("No features on the site");

-

-		for (int i = 0; i < features.length; i++) {

-			if (features[i].getURL().toExternalForm().endsWith("helpFeature.jar")) {

-				remoteFeature = features[i].getFeature(null);

-				break;

-			}

-		}

-

-		assertNotNull("Cannot find help.jar on site", remoteFeature);

-		ILocalSite localSite = SiteManager.getLocalSite();

-		IConfiguredSite site =

-			localSite.getCurrentConfiguration().getConfiguredSites()[0];

-		Listener listener = new Listener();

-		site.addConfiguredSiteChangedListener(listener);

-

-		((ConfiguredSite)site).setUpdatable(true);

-		site.install(remoteFeature, null, null);

-

-		IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-

-		String sitePath = site.getSite().getURL().getFile();

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(sitePath, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		if (Locale.getDefault().toString().indexOf("fr") != -1)

-			assertTrue("plugin info not installed locally", pluginFile.exists());

-

-		File featureFile =

-			new File(

-				sitePath,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		assertTrue("feature info not installed locally", featureFile.exists());

-

-		//cleanup

-		File file =

-			new File(

-				site.getSite().getURL().getFile()

-					+ File.separator

-					+ Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		InstallRegistry.unregisterPlugin(entries[0]);

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-		UpdateManagerUtils.removeFromFileSystem(

-			new File(

-				((InstallConfiguration) localSite.getCurrentConfiguration())

-					.getURL()

-					.getFile()));

-

-		site.removeConfiguredSiteChangedListener(listener);

-		assertTrue("Listener hasn't received notification", listener.isNotified());

-	}

-

-	public void testFileSiteWithoutSiteXML() throws Exception {

-

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		IFeature remoteFeature = getFeature1(remoteSite);

-		IConfiguredSite localSite =

-			SiteManager.getLocalSite().getCurrentConfiguration().getConfiguredSites()[0];

-		localSite.getSite().install(remoteFeature, null, null);

-

-		IFeatureReference[] features = localSite.getSite().getFeatureReferences();

-		if (features.length == 0)

-			fail("The local site does not contain feature, should not contain an XML file but features should be found anyway by parsing");

-		if (localSite.getSite().getArchives().length == 0)

-			fail("The local site does not contain archives, should not contain an XML file but archives should be found anyway by parsing");

-

-		//cleanup

-		File file =

-			new File(

-				localSite.getSite().getURL().getFile()

-					+ File.separator

-					+ Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		file =

-			new File(

-				localSite.getSite().getURL().getFile()

-					+ File.separator

-					+ Site.DEFAULT_PLUGIN_PATH

-					+ "org.eclipse.update.core.tests.feature1.plugin1_3.5.6");

-		UpdateManagerUtils.removeFromFileSystem(file);

-		file =

-			new File(

-				localSite.getSite().getURL().getFile()

-					+ File.separator

-					+ Site.DEFAULT_PLUGIN_PATH

-					+ "org.eclipse.update.core.tests.feature1.plugin2_5.0.0");

-		UpdateManagerUtils.removeFromFileSystem(file);

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-

-		try {

-			SiteManager.getSite(new URL("http://www.eclipse.org/"),null);

-			fail("The site contains site.xml... it should be an HTTP site without an XML file");			

-		} catch (CoreException e) {

-			// expected

-		}

-

-	}

-

-//	/**

-//	* 

-//	*/

-//	private Feature createPackagedFeature(URL url, ISite site)

-//		throws CoreException {

-//		String packagedFeatureType = ISite.DEFAULT_PACKAGED_FEATURE_TYPE;

-//		Feature result = null;

-//		if (packagedFeatureType != null) {

-//			IFeatureFactory factory =

-//				FeatureTypeFactory.getInstance().getFactory(packagedFeatureType);

-//			result = (Feature) factory.createFeature(url, site);

-//		}

-//		return result;

-//	}

-	/*

-	 * @see ISite#getDefaultInstallableFeatureType()

-	 */

-	public String getDefaultInstallableFeatureType() {

-		String pluginID =

-			UpdateCore.getPlugin().getDescriptor().getUniqueIdentifier() + ".";

-		return pluginID + PACKAGED_FEATURE_TYPE;

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java
deleted file mode 100644
index 5c2b72b..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java
+++ /dev/null
@@ -1,332 +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.update.tests.regularInstall;

-import java.io.*;

-import java.net.*;

-import java.util.Locale;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.*;

-

-public class TestInstallURLSIteXML extends UpdateManagerTestCase {

-

-	/**

-	 * 

-	 */

-	public static final String PACKAGED_FEATURE_TYPE = "packaged"; //$NON-NLS-1$	

-

-	public class Listener implements IConfiguredSiteChangedListener {

-

-		public boolean notified = false;

-

-		public void featureInstalled(IFeature feature) {

-			notified = true;

-			System.out.println("Notified DefaultFeature Installed");

-		}

-

-		public void featureRemoved(IFeature feature) {

-		}

-

-		public void featureConfigured(IFeature feature) {

-		}

-		public void featureUnconfigured(IFeature feature) {

-		}

-

-		public boolean isNotified() {

-			return notified;

-		}

-	}

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestInstallURLSIteXML(String arg0) {

-		super(arg0);

-	}

-

-	private IFeature getFeature1(ISite site)

-		throws MalformedURLException, CoreException {

-		SiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(site);

-		ref.setURLString("features/org.eclipse.update.core.tests.feature1_1.0.4.jar");

-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);

-		ref.resolve(site.getURL(), null);

-		return ref.getFeature(null);

-	}

-

-	public void testFileSite() throws Exception {

-

-		ISite remoteSite =

-			SiteManager.getSite(new URL(SOURCE_FILE_SITE, Site.SITE_XML),true,null);

-		IFeature remoteFeature = getFeature1(remoteSite);

-		URL url = TARGET_FILE_SITE;

-		File file = new File(TARGET_FILE_SITE.getFile());

-		if (!file.exists()) file.mkdirs();

-		ISite localSite = SiteManager.getSite(url,true,null);

-		remove(remoteFeature,localSite);

-		localSite.install(remoteFeature, null, null);

-

-		// verify

-		String site = TARGET_FILE_SITE.getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin files not installed locally", pluginFile.exists());

-		File pluginXMLFile =

-			new File(

-				site,

-				Site.DEFAULT_PLUGIN_PATH + pluginName + File.separator + "plugin.xml");

-		assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());

-

-		File featureFile =

-			new File(

-				site,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		assertTrue(

-			"feature info not installed locally:" + featureFile,

-			featureFile.exists());

-		//cleanup

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));

-		InstallRegistry.cleanup();

-	}

-

-	/**

-	 * 

-	 */

-	public void testHTTPSite() throws Exception {

-

-		// clean

-		File targetFile  = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(targetFile);

-		InstallRegistry.cleanup();

-

-		ISite remoteSite =

-			SiteManager.getSite(new URL(SOURCE_HTTP_SITE, Site.SITE_XML),true,null);

-		IFeatureReference[] features = remoteSite.getFeatureReferences();

-		IFeature remoteFeature = null;

-

-		if (features == null || features.length == 0)

-			fail("No features on the site");

-

-		for (int i = 0; i < features.length; i++) {

-			if (features[i].getURL().toExternalForm().endsWith("features2.jar")) {

-				remoteFeature = features[i].getFeature(null);

-				break;

-			}

-		}

-

-		assertNotNull("Cannot find feature2.jar on site", remoteFeature);

-		URL url = TARGET_FILE_SITE;

-		File file = new File(TARGET_FILE_SITE.getFile());

-		if (!file.exists()) file.mkdirs();

-		ISite localSite = SiteManager.getSite(url,true,null);

-		localSite.install(remoteFeature, null, null);

-

-		// feature2.jar should not be in the local site

-		IFeatureReference[] localFeatures = localSite.getFeatureReferences();

-		if (localFeatures == null || localFeatures.length == 0)

-			fail("No features on the target site");

-

-		boolean found = false;

-		for (int i = 0; i < localFeatures.length; i++) {

-			if (localFeatures[i].getURL().toExternalForm().endsWith("features2.jar")) {

-				found = true;

-				break;

-			}

-		}

-

-		assertTrue(

-			"Found feature2.jar on target site. Target site feature ref shouldnot contain JAR file",

-			!found);

-

-		// check

-		String site = TARGET_FILE_SITE.getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin info not installed locally", pluginFile.exists());

-

-		File featureFile =

-			new File(

-				site,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		assertTrue("feature info not installed locally", featureFile.exists());

-

-		//localSite.save();

-

-		//cleanup

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));

-		InstallRegistry.cleanup();

-	}

-

-	public void testInstall() throws Exception {

-

-		// cleanup local files...

-		SiteLocal siteLocal = ((SiteLocal) SiteManager.getLocalSite());

-		File localFile = new File(siteLocal.getLocationURL().getFile());

-		//if (!localFile.exists()) fail("LocalSite file doesn't exist ->"+localFile.getAbsolutePath()+"<-");

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		/*

-		localFile = new File(localFile,SiteLocal.SITE_LOCAL_FILE);

-		if (!localFile.exists()) fail("LocalSite.xml doesn't exist:"+localFile);

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-		*/

-		

-		InternalSiteManager.localSite = null;

-

-		URL INSTALL_SITE = null;

-		try {

-			INSTALL_SITE =

-				new URL("http", getHttpHost(), getHttpPort(), bundle.getString("HTTP_PATH_2"));

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-

-		ISite remoteSite = SiteManager.getSite(INSTALL_SITE,true,null);

-		IFeatureReference[] features = remoteSite.getFeatureReferences();

-		IFeature remoteFeature = null;

-

-		if (features == null || features.length == 0)

-			fail("No features on the site");

-

-		for (int i = 0; i < features.length; i++) {

-			if (features[i].getURL().toExternalForm().endsWith("helpFeature.jar")) {

-				remoteFeature = features[i].getFeature(null);

-				break;

-			}

-		}

-

-		assertNotNull("Cannot find help.jar on site", remoteFeature);

-		ILocalSite localSite = SiteManager.getLocalSite();

-		IConfiguredSite site = localSite.getCurrentConfiguration().getConfiguredSites()[0];

-		Listener listener = new Listener();

-		site.addConfiguredSiteChangedListener(listener);

-

-		((ConfiguredSite)site).setUpdatable(true);

-		site.install(remoteFeature, null, null);

-

-		IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-

-		String sitePath = site.getSite().getURL().getFile();

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(sitePath, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		if (Locale.getDefault().toString().indexOf("fr") != -1)

-			assertTrue("plugin info not installed locally:"+pluginFile, pluginFile.exists());

-

-		File featureFile =

-			new File(

-				sitePath,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		if (Locale.getDefault().toString().indexOf("fr") != -1 ||

-				Locale.getDefault().toString().indexOf("us") != -1 ||

-				Locale.getDefault().toString().indexOf("de") != -1)

-		assertTrue("feature info not installed locally", featureFile.exists());

-

-		//cleanup

-		File file =

-			new File(

-				site.getSite().getURL().getFile()

-					+ File.separator

-					+ Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-		UpdateManagerUtils.removeFromFileSystem(

-			new File(

-				((InstallConfiguration) localSite.getCurrentConfiguration())

-					.getURL()

-					.getFile()));

-		InstallRegistry.cleanup();

-		

-		site.removeConfiguredSiteChangedListener(listener);

-		assertTrue("Listener hasn't received notification", listener.isNotified());

-	}

-

-//	public void testFileSiteWithoutSiteXML() throws Exception {

-//

-//		ISite remoteSite =

-//			SiteManager.getSite(new URL(SOURCE_FILE_SITE, Site.SITE_XML),true,null);

-//		IFeature remoteFeature = getFeature1(remoteSite);

-//		IConfiguredSite localSite =

-//			SiteManager.getLocalSite().getCurrentConfiguration().getConfiguredSites()[0];

-//		localSite.getSite().install(remoteFeature, null, null);

-//

-//		IFeatureReference[] features = localSite.getSite().getFeatureReferences();

-//		if (features.length == 0)

-//			fail("The local site does not contain feature, should not contain an XML file but features should be found anyway by parsing");

-//		if (localSite.getSite().getArchives().length == 0)

-//			fail("The local site does not contain archives, should not contain an XML file but archives should be found anyway by parsing");

-//

-//		//cleanup

-//		File file =

-//			new File(

-//				localSite.getSite().getURL().getFile()

-//					+ File.separator

-//					+ Site.DEFAULT_INSTALLED_FEATURE_PATH

-//					+ remoteFeature.getVersionedIdentifier());

-//		UpdateManagerUtils.removeFromFileSystem(file);

-//		file =

-//			new File(

-//				localSite.getSite().getURL().getFile()

-//					+ File.separator

-//					+ Site.DEFAULT_PLUGIN_PATH

-//					+ "org.eclipse.update.core.tests.feature1.plugin1_3.5.6");

-//		UpdateManagerUtils.removeFromFileSystem(file);

-//		file =

-//			new File(

-//				localSite.getSite().getURL().getFile()

-//					+ File.separator

-//					+ Site.DEFAULT_PLUGIN_PATH

-//					+ "org.eclipse.update.core.tests.feature1.plugin2_5.0.0");

-//		UpdateManagerUtils.removeFromFileSystem(file);

-//		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-//		UpdateManagerUtils.removeFromFileSystem(localFile);

-//

-//	}

-

-	/**

-	* 

-	*/

-//	private Feature createPackagedFeature(URL url, ISite site)

-//		throws CoreException {

-//		String packagedFeatureType = ISite.DEFAULT_PACKAGED_FEATURE_TYPE;

-//		Feature result = null;

-//		if (packagedFeatureType != null) {

-//			IFeatureFactory factory =

-//				FeatureTypeFactory.getInstance().getFactory(packagedFeatureType);

-//			result = (Feature) factory.createFeature(url, site);

-//		}

-//		return result;

-//	}

-	/*

-	 * @see ISite#getDefaultInstallableFeatureType()

-	 */

-	public String getDefaultInstallableFeatureType() {

-		String pluginID =

-			UpdateCore.getPlugin().getDescriptor().getUniqueIdentifier() + ".";

-		return pluginID + PACKAGED_FEATURE_TYPE;

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java
deleted file mode 100644
index d123f00..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java
+++ /dev/null
@@ -1,422 +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.update.tests.regularInstall;

-import java.io.*;

-import java.net.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.configurator.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.internal.model.*;

-import org.eclipse.update.tests.*;

-

-public class TestLocalSite extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestLocalSite(String arg0) {

-		super(arg0);

-	}

-	

-	public void testCreationConfigFile() throws Exception {

-

-		//clean up

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		InternalSiteManager.localSite=null;	

-

-

-		ILocalSite site = SiteManager.getLocalSite();

-		site.save();

-		assertTrue("config file hasn't been saved in :"+localFile.getAbsolutePath(), localFile.exists());

-		

-		// cleanup

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		

-

-	}

-	

-	public void testDefaultConfigFile() throws Exception {

-

-		//clean up

-

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		InternalSiteManager.localSite=null;

-

-		ILocalSite site = SiteManager.getLocalSite();

-		assertTrue("The local site does not contain an history of install configuration",site.getConfigurationHistory().length!=0);

-		assertTrue("The local site does not contain an current install configuration",site.getCurrentConfiguration()!=null);

-		assertTrue("The local site does not contain a default configuration site for the current install config",site.getCurrentConfiguration().getConfiguredSites().length!=0);

-		

-		System.out.println("Default Config Site is :"+site.getCurrentConfiguration().getConfiguredSites()[0].getSite().getURL().toExternalForm());

-		

-		// cleanup	

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		

-

-	}

-	

-/*	public void testInstallFeatureSaveConfig() throws Exception {

-

-		//clean up

-		SiteLocal siteLocal = (SiteLocal)SiteManager.getLocalSite();

-		URL newURL = new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE);

-		File localFile = new File(newURL.getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));	

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE_INSTALLED);

-		IFeature feature = remoteSite.getFeatureReferences()[0].getFeature();

-		int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;

-		

-		// we are not checking if this is read only

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration();

-		newConfig.setLabel("new Label");		

-		//IInstallConfiguration newConfig = site.getCurrentConfiguration();

-		IConfiguredSite configSite = newConfig.getConfiguredSites()[0];

-		ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();

-		configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);

-		((ConfiguredSite)configSite).setConfigurationPolicy((ConfigurationPolicy)configPolicy);

-		int oldNumberOfhistory = site.getConfigurationHistory().length;		

-		site.addConfiguration(newConfig);	

-		assertNotNull(feature);	

-

-		((ConfiguredSite)configSite).isUpdatable(true);

-		remove(feature,configSite);				

-		configSite.install(feature,null,null);

-				

-		// teh current one points to a real fature

-		// does not throw error.

-		IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];

-		assertTrue("No Configured features found",configSite.getConfiguredFeatures().length>0);

-		IFeatureReference ref = configSite2.getConfiguredFeatures()[0];

-		IFeature feature2 = ref.getFeature();

-		//String configuredFeature = feature2.getLabel();

-

-		assertEquals(feature2.getVersionedIdentifier().toString(),"org.eclipse.update.core.tests.feature3_1.0.0");

-		assertTrue("Wrong id  version of feature",feature2.getVersionedIdentifier().toString().equalsIgnoreCase("org.eclipse.update.core.tests.feature3_1.0.0"));

-		

-		// only one feature configured

-		assertTrue("too many features configured",configSite2.getConfiguredFeatures().length==1);

-		

-		// no feature unconfigured

-		assertTrue("too many unconfigured features",((ConfiguredSite)configSite2).getConfigurationPolicy().getUnconfiguredFeatures().length==0);

-		

-		// test only 2 install config in local site

-		//assertEquals("wrong number of history in Local site:",oldNumberOfhistory+1,site.getConfigurationHistory().length);

-		

-		// test same # of sites in current config

-		assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);

-		

-		//test only one feature for the site

-		assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);

-		

-		// test only 2 activities

-		assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);

-

-		site.save();		

-

-		// check

-		// there are 2 configuration

-		String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-		URL location = ((SiteLocal)site).getLocationURL();

-		File file = new File(new URL(location,"Config"+time+".xml").getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		// cleanup

-		localFile = new File(new URL(location,SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(new URL(location,SiteLocal.DEFAULT_CONFIG_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());		

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature2.getVersionedIdentifier().toString()).getFile());		

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		UpdateManagerUtils.removeFromFileSystem(file);		

-		localFile = new File(feature2.getURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-	}

-*/

-	

-	public void testRetriveConfig() throws Exception {

-

-		//clean up

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE_INSTALLED,null);

-		IFeature feature = remoteSite.getFeatureReferences()[0].getFeature(null);

-		int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;		

-		

-		// we are not checking if this is read only

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration();

-		newConfig.setLabel("new Label");		

-		IConfiguredSite configSite = newConfig.getConfiguredSites()[0];

-		ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();

-		configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);

-		((ConfiguredSite)configSite).setConfigurationPolicyModel((ConfigurationPolicyModel)configPolicy);	

-		int oldNumberOfhistory = site.getConfigurationHistory().length;			

-		site.addConfiguration(newConfig);

-		assertNotNull(feature);			

-		

-		((ConfiguredSite)configSite).setUpdatable(true);

-		remove(feature,configSite);			

-		configSite.install(feature,null,null);

-		site.save();

-		

-		// we created the second xml file

-

-		//do not cleanup, we want to reuse previously created local site

-		// but force re-read of xml File

-		InternalSiteManager.localSite=null;

-		site = SiteManager.getLocalSite();

-		

-		// check

-		// there are 2 configuration

-		String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-		URL location = ((SiteLocal)site).getLocationURL();		

-		File file = new File(new URL(location,"platform.xml").getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		// teh current one points to a real fature

-		// does not throw error.

-		IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];

-		IFeatureReference[] refs = configSite2.getConfiguredFeatures();

-		IFeature feature2 = null;

-		for (int i = 0; i < refs.length; i++) {

-			IFeature feature3 = refs[i].getFeature(null);			

-			if ("org.eclipse.update.core.tests.feature3_1.0.0".equals(feature3.getVersionedIdentifier().toString())){

-				feature2 = feature3;

-				break;

-			}		

-		}

-		assertNotNull("Feature 2 is Null",feature2);

-		assertTrue("Wrong id  version of feature",feature2.getVersionedIdentifier().toString().equalsIgnoreCase("org.eclipse.update.core.tests.feature3_1.0.0"));

-		

-		// test only 2 install config in local site

-//		assertEquals("wrong number of history in Local site:",oldNumberOfhistory+1,site.getConfigurationHistory().length);

-		

-		// test # of sites in current config

-		assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);

-		

-		//test only one feature for the site

-//		assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);

-		

-		// test only 2 activities

-//		assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);

-		

-		

-		// cleanup

-		localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());		

-		UpdateManagerUtils.removeFromFileSystem(localFile);					

-		UpdateManagerUtils.removeFromFileSystem(file);		

-	}

-

-/*	public void testRetriveConfigHTTPInstall() throws Exception {

-

-		//clean up

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeature feature = remoteSite.getFeatureReferences()[0].getFeature(null);

-		

-		// we are not checking if this is read only

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration();

-		newConfig.setLabel("new Label");		

-		IConfiguredSite configSite = newConfig.getConfiguredSites()[0];

-		ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();

-		configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);

-		((ConfiguredSite)configSite).setConfigurationPolicyModel((ConfigurationPolicyModel)configPolicy);	

-		int oldNumberOfhistory = site.getConfigurationHistory().length;			

-		site.addConfiguration(newConfig);

-		

-	

-		((ConfiguredSite)configSite).setUpdatable(true);				

-		configSite.install(feature,null,null);

-		site.save();

-

-		//do not cleanup, we want to reuse previously created local site

-		// but force re-read of xml File

-		InternalSiteManager.localSite=null;

-		site = SiteManager.getLocalSite();

-		feature = remoteSite.getFeatureReferences()[0].getFeature(null);

-		int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;		

-		

-		// check

-		// there are 2 configuration

-		String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-		URL location = ((SiteLocal)site).getLocationURL();		

-		File file = new File(new URL(location,"platform.xml").getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		// teh current one points to a real fature

-		// does not throw error.

-		IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];

-		

-		IFeatureReference[] refs = configSite2.getConfiguredFeatures();

-		boolean found = false;

-		IFeature feature2 = null;

-		for (int i = 0; !found && i < refs.length; i++) {

-			IFeature feature3 = refs[i].getFeature(null);			

-			if ("org.test1.ident1_1.0.0".equals(feature3.getVersionedIdentifier().toString())){

-				feature2 = feature3;

-				found = true;

-			}		

-		}

-

-		//String configuredFeature = feature2.getLabel();

-		assertTrue("cannot find feature org.test1.ident1_1.0.0 in configured Site",found);

-		assertTrue("Wrong id  version of feature",feature2.getVersionedIdentifier().toString().equalsIgnoreCase("org.test1.ident1_1.0.0"));

-		

-		// test only 2 install config in local site

-//		assertEquals("wrong number of history in Local site:",oldNumberOfhistory+1,site.getConfigurationHistory().length);

-		

-		// test same number of sites in current config

-		assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);

-		

-		//test only one feature for the site

-//		assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);

-		

-		// test only 2 activities

-//		assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);

-		

-		

-		// cleanup

-		localFile = new File(location.getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());		

-		UpdateManagerUtils.removeFromFileSystem(localFile);							

-		UpdateManagerUtils.removeFromFileSystem(file);		

-		localFile = new File(feature2.getURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-	}*/

-	

-//TODO uncomment this once site disabling is supported

-public void testRetriveConfigHTTPInstallNotEnable() throws Exception {

-/*

-	//clean up

-	SiteLocal siteLocal = (SiteLocal)SiteManager.getLocalSite();

-	URL newURL = new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE);

-	File localFile = new File(newURL.getFile());

-	UpdateManagerUtils.removeFromFileSystem(localFile);

-	UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));	

-	InternalSiteManager.localSite=null;		

-

-	ILocalSite site = SiteManager.getLocalSite();

-	ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE);

-	IFeature feature = remoteSite.getFeatureReferences()[0].getFeature(null);

-		

-	// we are not checking if this is read only

-	IInstallConfiguration newConfig = site.cloneCurrentConfiguration();

-	newConfig.setLabel("new Label");		

-	IConfiguredSite configSite = newConfig.getConfiguredSites()[0];

-	ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();

-	configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);

-	((ConfiguredSite)configSite).setConfigurationPolicyModel((ConfigurationPolicyModel)configPolicy);	

-	int oldNumberOfhistory = site.getConfigurationHistory().length;			

-	site.addConfiguration(newConfig);

-		

-	

-	((ConfiguredSite)configSite).setUpdatable(true);

-	configSite.install(feature,null,null);

-	((ConfiguredSite)configSite).setEnabled(false);	

-	site.save();

-

-	//do not cleanup, we want to reuse previously created local site

-	// but force re-read of xml File

-	InternalSiteManager.localSite=null;

-	site = SiteManager.getLocalSite();

-	feature = remoteSite.getFeatureReferences()[0].getFeature(null);

-	int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;		

-		

-	// check

-	// there are 2 configuration

-	String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-	URL location = ((SiteLocal)site).getLocationURL();		

-	File file = new File(location.getFile());

-	assertTrue("new configuration does not exist", file.exists());

-		

-	// teh current one points to a real fature

-	// does not throw error.

-	IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];

-		

-	IFeatureReference[] refs = configSite2.getConfiguredFeatures();

-	boolean found = false;

-	IFeature feature2 = null;

-	for (int i = 0; !found && i < refs.length; i++) {

-		IFeature feature3 = refs[i].getFeature(null);			

-		if ("org.test1.ident1_1.0.0".equals(feature3.getVersionedIdentifier().toString())){

-			feature2 = feature3;

-			found = true;

-		}		

-	}

-

-	//String configuredFeature = feature2.getLabel();

-	assertTrue("found feature org.test1.ident1_1.0.0 in disabled configured Site",!found);

-		

-	//test no configured features

-//	assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==0);

-	

-	

-	configSite2.setEnabled(true);

-	refs = configSite2.getConfiguredFeatures();	

-	for (int i = 0; i < refs.length; i++) {

-		IFeature feature3 = refs[i].getFeature(null);			

-		if ("org.test1.ident1_1.0.0".equals(feature3.getVersionedIdentifier().toString())){

-			feature2 = feature3;

-			found = true;

-		}		

-	}

-

-	//String configuredFeature = feature2.getLabel();

-	assertTrue("cannot find feature org.test1.ident1_1.0.0 in configured Site",found);

-	assertTrue("Wrong id  version of feature",feature2.getVersionedIdentifier().toString().equalsIgnoreCase("org.test1.ident1_1.0.0"));

-		

-	// test only 2 install config in local site

-//	assertEquals("wrong number of history in Local site:",oldNumberOfhistory+1,site.getConfigurationHistory().length);

-		

-	// test same number of sites in current config

-//	assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);

-		

-	//test only one feature for the site

-//	assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);

-		

-	// test only 2 activities

-//	assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);

-		

-		

-	// cleanup

-	localFile = new File(new URL(location,SiteLocal.SITE_LOCAL_FILE).getFile());

-	UpdateManagerUtils.removeFromFileSystem(localFile);		

-	localFile = new File(new URL(location,SiteLocal.DEFAULT_CONFIG_FILE).getFile());

-	UpdateManagerUtils.removeFromFileSystem(localFile);	

-	localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());		

-	UpdateManagerUtils.removeFromFileSystem(localFile);	

-	UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)site.getCurrentConfiguration()).getURL().getFile()));						

-	UpdateManagerUtils.removeFromFileSystem(file);		

-	localFile = new File(feature2.getURL().getFile());

-	UpdateManagerUtils.removeFromFileSystem(localFile);*/

-}

-

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java
deleted file mode 100644
index 5e6e4a9..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java
+++ /dev/null
@@ -1,141 +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.update.tests.regularInstall;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestSpaceInInstall extends UpdateManagerTestCase {

-	/**

-	 * Constructor for Test1

-	 */

-	public TestSpaceInInstall(String arg0) {

-		super(arg0);

-	}

-

-	/**

-	 *

-	 */

-	public void testSpaceInURL() throws Exception {

-

-		//cleanup target 

-		URL testURL = new URL(TARGET_FILE_SITE,"test site space/"); 

-		String testPath = testURL.getFile();

-		File target = new File(testPath);

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-		URL newURL = new File(dataPath + "Site with space/site.xml").toURL();

-		ISite remoteSite = SiteManager.getSite(newURL,true,null);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		File file = new File(testURL.getFile());

-		if (!file.exists()) file.mkdirs();

-		ISite localSite = SiteManager.getSite(testURL,true,null);

-		IFeature remoteFeature = null;

-		

-		// at least one executable feature and on packaged

-		boolean execFeature = false;

-		boolean packFeature = false;

-

-		if (featuresRef.length==0) fail ("no feature found");

-	

-		for (int i = 0; i < featuresRef.length; i++) {

-			remoteFeature = featuresRef[i].getFeature(null);

-			remove(remoteFeature,localSite); 

-			localSite.install(remoteFeature, null,null);

-			

-			if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;

-			if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;

-

-			// verify

-			String site = testURL.getFile();

-			IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-			assertTrue("no plugins entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getVersionedIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-			assertTrue("plugin files not installed locally", pluginFile.exists());

-

-			File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());

-			assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-

-			File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");

-			assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());

-		}

-

-		if (!execFeature && !packFeature){

-			fail("cannot find one executable and one package feature on teh site");

-		}

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}

-	

-	

-	/**

-	 *

-	 */

-	public void testSpaceInHTTPURL() throws Exception {

-

-		//cleanup target  

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);

-		InstallRegistry.cleanup();

-		

-		String path = bundle.getString("HTTP_PATH_3");

-		ISite remoteSite = SiteManager.getSite(new URL("http",getHttpHost(),getHttpPort(),path),true,null);		

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,true,null);

-		IFeature remoteFeature = null;

-		

-		// at least one executable feature and on packaged

-		boolean execFeature = false;

-		boolean packFeature = false;

-

-		if (featuresRef.length==0) fail ("no feature found");

-	

-		for (int i = 0; i < featuresRef.length; i++) {

-			remoteFeature = featuresRef[i].getFeature(null);

-			localSite.install(remoteFeature, null,null);

-			

-			if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;

-			if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;

-

-			// verify

-			String site = TARGET_FILE_SITE.getFile();			

-			IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-			assertTrue("no plugins entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getVersionedIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-			assertTrue("plugin files not installed locally", pluginFile.exists());

-

-			File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());

-			assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-

-			File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");

-			assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());

-		}

-

-		if (!execFeature && !packFeature){

-			fail("cannot find one executable and one package feature on teh site");

-		}

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-		InstallRegistry.cleanup();

-

-	}

-		

-		

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java
deleted file mode 100644
index 937ec75..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java
+++ /dev/null
@@ -1,29 +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.update.tests.regularRemove;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllRegularRemoveTests extends UpdateManagerTestCase {

-public AllRegularRemoveTests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Regular Remove Tests");

-	

-	suite.addTest(new TestSuite(TestRemove.class));

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java
deleted file mode 100644
index 4ac13a6..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.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.update.tests.regularRemove;

-import java.io.File;

-import java.net.MalformedURLException;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.configuration.IConfiguredSiteChangedListener;

-import org.eclipse.update.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestRemove extends UpdateManagerTestCase {

-

-	public class Listener implements IConfiguredSiteChangedListener {

-

-		public boolean notified = false;

-

-		public void featureInstalled(IFeature feature) {

-			notified = true;

-			System.out.println("Notified DefaultFeature Installed");

-		}

-

-		public void featureRemoved(IFeature feature) {

-		}

-		public void featureConfigured(IFeature feature) {

-		};

-		public void featureUnconfigured(IFeature feature) {

-		};

-

-		public boolean isNotified() {

-			return notified;

-		}

-	}

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestRemove(String arg0) {

-		super(arg0);

-	}

-

-	private IFeature getFeature1(ISite site)

-		throws MalformedURLException, CoreException {

-		//URL url = UpdateManagerUtils.getURL(site.getURL(), "features/org.eclipse.update.core.tests.feature1_1.0.4.jar", null);

-		SiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(site);

-		ref.setURLString("features/org.eclipse.update.core.tests.feature1_1.0.4.jar");

-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);

-		ref.resolve(site.getURL(), null);

-		return ref.getFeature(null);

-	}

-

-	public void testRemoveFeature() throws Exception {

-

-		// install feature

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		IFeature remoteFeature = getFeature1(remoteSite);

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		IFeatureReference ref = localSite.install(remoteFeature, null, null);

-

-		// then remove it

-		assertNotNull("Feature is null",ref.getFeature(null));

-		String featureRef = ref.getFeature(null).getVersionedIdentifier().toString();

-		localSite.remove(ref.getFeature(null), null);

-

-		// verify

-		String site = TARGET_FILE_SITE.getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin files installed locally", !pluginFile.exists());

-

-		File featureFile =

-			new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + featureRef);

-		assertTrue(

-			"feature info installed locally:" + featureFile,

-			!featureFile.exists());

-

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/AllSiteValidationTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/AllSiteValidationTests.java
deleted file mode 100644
index 7d063a9..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/AllSiteValidationTests.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.update.tests.sitevalidation;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import junit.framework.*;
-
-public class AllSiteValidationTests extends UpdateManagerTestCase {
-	public AllSiteValidationTests(String name) {
-		super(name);
-	}
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.setName("Site Validation Tests");
-
-		// the following will take all teh test methods in teh class that start with 'test'
-
-		suite.addTest(new TestSuite(TestSiteValidation.class));
-
-		return suite;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/TestSiteValidation.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/TestSiteValidation.java
deleted file mode 100644
index b608ce7..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/TestSiteValidation.java
+++ /dev/null
@@ -1,163 +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.update.tests.sitevalidation;
-import java.io.*;
-import java.net.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.configurator.IPlatformConfiguration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.tests.*;
-
-public class TestSiteValidation extends UpdateManagerTestCase {
-
-
-	/**
-	 * Constructor 
-	 */
-	public TestSiteValidation(String arg0) {
-		super(arg0);
-	}
-
-	private void removeConfigSite(URL url) throws Exception {
-		// get new config object
-		IPlatformConfiguration cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		ISiteEntry s1 = cfig.findConfiguredSite(url);
-		assertNotNull("Unable to find site entry:"+url,s1);
-		cfig.unconfigureSite(s1);
-	}
-
-	public void testSite1() throws Exception {
-
-		URL remoteUrl = new URL(TARGET_FILE_SITE + "validation/site1/eclipse");
-		File file = new File(remoteUrl.getFile());
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		file.mkdirs();
-		IConfiguredSite configuredSite = currentConfig.createConfiguredSite(file);
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-		String msg = "The site "+file+" should be updatable.";
-		if (!status.isOK()){
-			fail(msg+status.getMessage());
-		}
-		currentConfig.removeConfiguredSite(configuredSite);
-		removeConfigSite(configuredSite.getSite().getURL());
-	}
-	
-	public void testSite2() throws Exception {
-
-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "validation/site2/eclipse/");
-		File file = new File(remoteUrl.getFile());
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		IConfiguredSite configuredSite;
-		try {
-		 configuredSite = currentConfig.createConfiguredSite(file);
-		} catch (CoreException e){
-			return;
-		}
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-//		UpdateManagerUtils.removeFromFileSystem(new File(file,".eclipseUM"));
-
-		String msg = "The site "+file+" should not be updatable.";
-		if (status.isOK()){
-			fail(msg+status.getMessage());
-		}
-		if (status.getMessage().indexOf("This site is contained in another site:")==-1){
-			fail("Wrong validation:"+status.getMessage());
-		}
-	}	
-
-	public void testSite3() throws Exception {
-
-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "validation/site3/eclipse/");
-		File file = new File(remoteUrl.getFile());
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		IConfiguredSite configuredSite = currentConfig.createConfiguredSite(file);
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-//		UpdateManagerUtils.removeFromFileSystem(new File(file,".eclipseUM"));
-
-		String msg = "The site "+file+" should not be updatable.";
-		if (status.isOK()){
-			fail(msg+status.getMessage());
-		}
-//		if (status.getMessage().indexOf("This site is contained in another site:")==-1){
-//			fail("Wrong validation:"+status.getMessage());
-//		}
-	}	
-
-	public void testSite4() throws Exception {
-
-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "validation/site4/eclipse/");
-		File file = new File(remoteUrl.getFile());
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		IConfiguredSite configuredSite = currentConfig.createConfiguredSite(file);
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-		String msg = "The site "+file+" should not be updatable.";
-		if (status.isOK()){
-			fail(msg+status.getMessage());
-		}
-		if (status.getMessage().indexOf("The site cannot be modified by this product. It is already associated with product:")==-1){
-			fail("Wrong validation:"+status.getMessage());
-		}
-	}	
-
-	public void testSite5() throws Exception {
-
-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "validation/site5/");
-		File file = new File(remoteUrl.getFile());
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		IConfiguredSite configuredSite = currentConfig.createConfiguredSite(file);
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-		String msg = "The site "+file+" should be updatable.";
-		if (!status.isOK()){
-			fail(msg+status.getMessage());
-		}
-		
-			// get new config object
-		URL url = configuredSite.getSite().getURL();
-		IPlatformConfiguration cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		ISiteEntry s1 = cfig.findConfiguredSite(url);
-		assertNotNull("Site entry not found:"+url,s1);
-		cfig.unconfigureSite(s1);
-		cfig.save();
-	}
-	
-	public void testSite6() throws Exception {
-
-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "validation/site6/children/children/eclipse/");
-		File file = new File(remoteUrl.getFile());
-		if (!file.exists()) file.mkdirs();
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		IConfiguredSite configuredSite = currentConfig.createConfiguredSite(file);
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-//		UpdateManagerUtils.removeFromFileSystem(new File(file,".eclipseUM"));
-
-		String msg = "The site "+file+" should not be updatable.";
-		if (status.isOK()){
-			fail(msg+status.getMessage());
-		}
-//		if (status.getMessage().indexOf("This site is contained in another site:")==-1){
-//			fail("Wrong validation:"+status.getMessage());
-//		}
-	}	
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/AllStandaloneTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/AllStandaloneTests.java
deleted file mode 100644
index bb60c51..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/AllStandaloneTests.java
+++ /dev/null
@@ -1,43 +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.update.tests.standalone;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-
-public class AllStandaloneTests extends UpdateManagerTestCase{
-
-	public AllStandaloneTests(String name){
-		super(name);
-	}
-	
-	public static Test suite(){
-		TestSuite suite = new TestSuite();
-		suite.setName("Standalone Tests");
-		
-		// the following will take all the test methods in 
-		// the class that start with "test"
-		suite.addTest(new TestSuite(TestFeatureInstall.class));
-		suite.addTest(new TestSuite(TestFeatureUpdate.class));
-		suite.addTest(new TestSuite(TestFeatureEnable.class));
-		suite.addTest(new TestSuite(TestFeatureDisable.class));
-		suite.addTest(new TestSuite(TestFeatureUninstall.class));
-		suite.addTest(new TestSuite(TestBundlesInstall.class));
-		//and this one's for fun :)
-//		suite.addTest(new TestSuite(TestSiteSearch.class));
-		
-		return suite;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/StandaloneManagerTestCase.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/StandaloneManagerTestCase.java
deleted file mode 100644
index ece2944..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/StandaloneManagerTestCase.java
+++ /dev/null
@@ -1,327 +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.update.tests.standalone;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.*;
-
-public class StandaloneManagerTestCase extends UpdateManagerTestCase {
-	public static StringBuffer errOutput;
-	public static Integer exitValue= new Integer(-1);
-	public static URL TARGET_FILE_SITE;
-	private boolean oldCache = false;
-	
-	static {
-		File targetDir = new File(System.getProperty("java.io.tmpdir"));
-		targetDir = new File(targetDir, "standalone");
-		targetDir = new File(targetDir, "mytarget");
-		if (targetDir.exists())
-			deleteDirectory(targetDir);
-		try {
-			TARGET_FILE_SITE = targetDir.toURL();
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	public StandaloneManagerTestCase (String arg0){
-		super(arg0);
-	}
-	
-	/**
-	 * Sets up the fixture, for example, open a network connection.
-	 * This method is called before a test is executed.
-	 */
-	protected void umSetUp() {
-		// setup cache site to true
-		oldCache = InternalSiteManager.globalUseCache;
-		InternalSiteManager.globalUseCache = true;
-	}
-	
-	/**
-	 * Tears down the fixture, for example, close a network connection.
-	 * This method is called after a test is executed.
-	 */
-	protected void umTearDown() {
-		// do nothing.
-		InternalSiteManager.globalUseCache = oldCache;
-	}
-	
-	public void checkConfiguredSites(){
-		ILocalSite localSite;
-		System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
-		try {
-			localSite = SiteManager.getLocalSite();
-			System.out.println("LocalSite: " + localSite.getCurrentConfiguration().getLabel());
-		
-		//Get site to install to
-		IInstallConfiguration currentConfig = localSite.getCurrentConfiguration();
-		IConfiguredSite[] sites = currentConfig.getConfiguredSites();
-//	
-//			// start of config site print
-		System.out.println("GETTING CONFIGURED SITES...");
-		for (int i = 0; i<sites.length; i++){
-			System.out.println("site #" + i + ": " + sites[i].getSite().getURL().getFile());
-		}
-		System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
-		} catch (CoreException e) {
-			System.err.println(e);
-		}
-	}
-	
-	// get the first configured site found because this is the one we're most likely to 
-	// have installed into
-	public ISite getConfiguredSite(URL target){
-		try {
-			ILocalSite local = SiteManager.getLocalSite();
-			IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-			IConfiguredSite[] sites = currentConfig.getConfiguredSites();
-			System.out.println("\nretrieving configured sites...");
-			String targetFile = new File(target.getFile()).getAbsolutePath();
-			for (int i = 0; i<sites.length ; i++){
-				System.out.println("site["+i+"]: " + sites[i].getSite().getURL());
-				String siteFile = new File(sites[i].getSite().getURL().getFile()).getAbsolutePath();
-				if (targetFile.equals(siteFile))
-					return sites[i].getSite();
-			}
-			if (sites.length == 0)
-				return null;
-			return sites[0].getSite();
-		} catch (CoreException e) {
-			System.err.println(e);
-			return null;
-		}
-	}
-	//WatchDog thread to kill mirroring process if it hangs (or takes too long)
-	public static class Timer extends Thread{
-		private Process proc;
-		
-		public Timer(Process proc){
-			super();
-			this.setDaemon(true);
-			this.proc = proc;
-		}
-		
-		public void run(){
-			try {
-				// sleep time 5min
-				sleep(300000); 
-				System.out.println("destroying process");
-				proc.destroy();
-			} catch (Exception e) {
-				System.err.println(e);
-				e.printStackTrace();
-			}
-		}
-	}
-	
-	// StreamConsumer to display output to output files or console
-	public static class StreamConsumer extends Thread {
-		private BufferedReader bReader;
-
-		public StreamConsumer(InputStream inputStream) {
-			super();
-			setDaemon(true);
-			bReader = new BufferedReader(new InputStreamReader(inputStream));
-			errOutput = new StringBuffer();
-		}
-
-		public void run() {
-			try {
-				String line;
-				while (null != (line = bReader.readLine())) {
-					System.err.println(line);
-					errOutput.append(line);
-					errOutput.append("\n");
-				}
-			} catch (IOException e) {
-				System.err.println(e);
-				e.printStackTrace();
-			}
-		}
-	}
-	
-	/**
-	 * @param command : command argument to run on site/feature 
-	 * (i.e. 'install', 'enable', 'disable', 'update') *<i>required</i>*
-	 * @param fid : feature id of the feature being installed, enabled, etc.
-	 * (optional - can be null)
-	 * @param ver : version of feature being installed, enabled, etc. (optional - can be null)
-	 * @param config : location of configuration info (i.e. file:D:\temp\.config\)
-	 * @param remoteLoc : remote site url (required for installing/searching from remote site)
-	 * @param localLoc : target site directory (required unless updating/searching)
-	 * @return a string array consisting of commands and their arguments to
-	 * be run
-	 */
-	public String[] getCommand(
-		String command,
-		String fid,
-		String ver,
-		String config,
-		String remoteLoc,
-		String localLoc){
-		final String classpath = "startup.jar";
-		final String launcher = "org.eclipse.core.launcher.Main";
-		final String application = "org.eclipse.update.core.standaloneUpdate";
-		final String FLAG_CP = "-cp";
-		final String FLAG_APP = "-application";
-		final String FLAG_CMD = "-command";
-		final String FLAG_FID = "-featureId";
-		final String FLAG_DATA = "-data";
-		final String FLAG_VERSION = "-version";
-		final String FLAG_FROM = "-from";
-		final String FLAG_TO = "-to";
-		final String FLAG_CONFIG = "-configuration";
-//		final String FLAG_URL = "-mirrorURL";
-		final String FLAG_SPLASH = "-nosplash";
-		final String FLAG_CONSOLELOG = "-consolelog";
-		final String data =
-			UpdateCore.getPlugin().getStateLocation().toOSString();
-		String[] cmd =
-			new String[] {
-				getJavaVMPath(),
-				FLAG_CP,
-				classpath,
-				launcher,
-				FLAG_APP,
-				application,
-				FLAG_CMD,
-				command,
-				(remoteLoc !=null ? FLAG_FROM : ""),
-				(remoteLoc !=null ? remoteLoc : ""),
-				(localLoc !=null ? FLAG_TO : ""),
-				(localLoc !=null ?localLoc.replaceFirst("file:", "") : ""),
-				(fid != null ? FLAG_FID : ""),
-				(fid != null ? fid : ""),
-				(ver != null ? FLAG_VERSION : ""),
-				(ver != null ? ver : ""),
-				(config != null ? FLAG_CONFIG : ""),
-				(config != null ? config : ""),
-				FLAG_SPLASH,
-				FLAG_DATA,
-				data,
-				FLAG_CONSOLELOG};
-		for (int i = 0 ;i<cmd.length; i++){
-			System.out.print(cmd[i] + " ");			
-		}System.out.println();
-		return cmd;
-	}
-	
-	public String getJavaVMPath() {
-		// Create command string for launching the process
-		String vm = System.getProperty("java.vm.name");
-		String executable = "J9".equals(vm) ? "j9" : "java";
-		if (org.eclipse.osgi.service.environment.Constants.OS_WIN32.equals(Platform.getOS()))
-			executable += "w.exe";
-
-		String javaInstallDir =
-			System.getProperty("java.home") + File.separator + "bin";
-		return javaInstallDir + File.separator + executable;
-	}
-	
-	public int performAction(String[] cmd) {
-		File file = new File(getEclipseRoot());
-		try {
-
-			Process proc =
-				Runtime.getRuntime().exec(cmd, (String[]) null, file);
-
-			StreamConsumer outputs = new StreamConsumer(proc.getInputStream());
-			outputs.start();
-			StreamConsumer errors = new StreamConsumer(proc.getErrorStream());
-			errors.start();
-			Timer timer = new Timer(proc);
-			timer.start();
-
-			return proc.waitFor();
-		} catch (IOException e) {
-			System.err.println(e);
-		} catch (InterruptedException e) {
-			System.err.println(e);
-		} catch (Exception e) {
-			System.err.println(e);
-		}
-		return -1;
-	}
-	
-	public String getEclipseRoot() {
-		return ConfiguratorUtils.getInstallURL().toExternalForm().replaceFirst(
-			"file:",
-			"");
-	}
-	
-	public ArrayList getArrayList(String[] list){
-		ArrayList temp = new ArrayList();
-		for(int i = 0; i< list.length; i++){
-			temp.add(list[i]);
-		}
-		return temp;
-	}
-	
-	public File getLatestConfigurationFile(File localFile) {
-
-		try {
-			System.out.println("reading from : " + localFile.getAbsolutePath());
-				FileReader freader = new FileReader(localFile);
-				BufferedReader breader = new BufferedReader(freader);
-				String configFileName="", line;
-				while (breader.ready()) {
-					line = breader.readLine();
-//					System.out.println(line);
-					if (line.trim().startsWith("<config url")) {
-						configFileName = line.split("\"")[1];
-					}
-				}
-				// read config file
-				File parent = new File(localFile.getParent());
-				System.out.println("parent: " + parent.getAbsolutePath());
-				String[] parList = parent.list();
-				int latest = 0; 
-				for (int i = parList.length-1; i>=0; i--){
-					System.out.println("parList[" + i + "]: " + parList[i]);
-					if (parList[i].startsWith("platform")){
-						latest = i;
-						break;
-					}
-				}
-				File configFile = new File(parent.getAbsolutePath() + File.separator + parList[latest]);
-				return configFile;
-				// end of config file read
-		} catch (Exception e) {
-			System.err.println(e);
-			e.printStackTrace();
-		}
-		return localFile;
-	}
-	
-	private static void deleteDirectory(File dir) {
-		File[] list = dir.listFiles();
-		if (list == null)
-			return;
-			
-		for (int i=0; i<list.length; i++) {
-			if (list[i].isDirectory()) 
-				deleteDirectory(list[i]);
-			if (!list[i].delete())
-				System.out.println("Unable to delete "+list[i].toString());
-		}
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestBundlesInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestBundlesInstall.java
deleted file mode 100644
index bb04678..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestBundlesInstall.java
+++ /dev/null
@@ -1,127 +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.update.tests.standalone;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.standalone.*;
-
-
-public class TestBundlesInstall extends StandaloneManagerTestCase {
-	private static boolean isInstalled;
-
-	public TestBundlesInstall(String arg0) {
-		super(arg0);
-		isInstalled = false;
-	}
-
-	public void umSetUp() {
-		super.umSetUp();
-		//System.out.println("looking at configured sites available....");
-		//checkConfiguredSites();
-		
-		String featureId = "com.example.bundle.feature";
-		String version = "1.0.0";
-
-		String fromRemoteSiteUrl = "http://"+getHttpHost()+":"+ getHttpPort()+ "/org.eclipse.update.tests.core.updatetests/bundleSite/";;
-		if (!isInstalled) {
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-					"install",
-					featureId,
-					version,
-					null,
-					fromRemoteSiteUrl,
-					TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isInstalled = true;
-		}
-		
-	}
-
-	public void testPluginsExist() {
-		ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
-		
-		System.out.println("localSite: " + localSite.getURL().getFile());
-		IPluginEntry[] pluginEntries = localSite.getPluginEntries();
-		ArrayList list = new ArrayList();
-		if (pluginEntries == null || pluginEntries.length == 0){
-			System.err.println("No plugin entries on the target site");
-			fail("No plugin entries on the target site");
-		} else{
-			for (int i = 0; i < pluginEntries.length; i++){
-				System.out.println("found plugin: " + pluginEntries[i].getVersionedIdentifier().toString());
-				list.add(pluginEntries[i].getVersionedIdentifier().toString());
-			}
-		}
-
-		String[] pluginNames =
-			{	"com.example.bundle.plugin_1.0.0",
-				"com.example.bundle.plugin.ui_2.0.0",
-				"com.example.bundle.fragment_1.0.0",
-				"com.example.budle.fragment.ui_1.0.0"};
-		assertTrue(checkFilesInList(pluginNames, list));
-	}
-
-	public void testFeaturesExist() {
-		try {
-			ISite localSite =  getConfiguredSite(TARGET_FILE_SITE);
-
-			System.out.println("localSite: " + localSite.getURL().getFile());
-			// get feature references 
-			IFeatureReference[] localFeatures =
-				localSite.getFeatureReferences();
-			System.out.println("local currentCOnfigSite: " + localSite.getCurrentConfiguredSite());
-			ArrayList list = new ArrayList();
-			if (localFeatures == null || localFeatures.length == 0){
-				System.err.println("No features on the target site");
-				fail("No features on the target site");
-			} else {
-				for (int i = 0; i < localFeatures.length; i++)
-					list.add(localFeatures[i].getVersionedIdentifier().toString());
-			}
-			String[] featureNames =
-				{
-					"com.example.bundle.feature_1.0.0"};
-			assertTrue(checkFilesInList(featureNames, list));
-		} catch (CoreException e) {
-			System.err.println(e);
-		}
-	}
-
-	// makes sure all files/directories in "names" are in the directory listing "list"
-	public boolean checkFilesInList(
-		String[] names,
-		ArrayList list) {
-		
-		for (int i = 0; i < names.length; i++) {
-			System.out.println(names[i]);
-			if (!list.contains(names[i])){
-				return false;
-			}
-		}
-		return true;
-	}
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureDisable.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureDisable.java
deleted file mode 100644
index 3b332a2..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureDisable.java
+++ /dev/null
@@ -1,103 +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.update.tests.standalone;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.standalone.*;
-
-public class TestFeatureDisable extends StandaloneManagerTestCase {
-	public static boolean isDisabled;
-	
-	public TestFeatureDisable(String arg0) {
-		super(arg0);
-		isDisabled = false;
-	}
-
-	public void umSetUp() {
-		super.umSetUp();
-		
-		String featureId = "my.alphabet";
-		String version = "1.0.0";
-
-		checkConfiguredSites();
-		if (!isDisabled) {
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-					"disable",
-					featureId,
-					version,
-					null,
-					null,
-					TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isDisabled = true;
-			checkConfiguredSites();
-		}
-	}
-	
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-
-	public void testFeatureStatus() throws Exception {
-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());
-		System.out.println(localFile.getAbsolutePath());
-		assertTrue(localFile.exists());
-		File configFile = getLatestConfigurationFile(localFile);
-	
-		String[] names =
-			{
-				"features/my.alphabet.round.letters_1.0.0/",
-				"features/my.alphabet.straight.letters_1.0.0/",
-				"features/my.alphabet_1.0.0/" };
-		assertTrue(configFile.exists());
-		assertTrue(checkFeaturesDisabled(getArrayList(names),configFile, TARGET_FILE_SITE.getFile()));
-	}
-
-	public boolean checkFeaturesDisabled(ArrayList featureNames, File configFile, String siteLocation){
-		try {
-			FileReader freader = new FileReader(configFile);
-			BufferedReader breader = new BufferedReader(freader);
-			String line;
-			System.out.println("now reading..." + configFile.getAbsolutePath());
-			boolean isSiteToCheck = false;
-			while (breader.ready()) {
-				line = breader.readLine();
-				if (line.trim().startsWith("<site url")){
-					isSiteToCheck = line.trim().split("\"")[1].replaceFirst("file:","").equals(siteLocation);
-				} else if (isSiteToCheck && line.trim().startsWith("<feature configured")){
-					System.err.println(line);
-					String[] configLine = line.split("\"");
-					if (featureNames.contains(configLine[3]) && configLine[1].equals("true")){
-						fail(configLine[3] + " has not been disabled.");
-					}
-				}
-			}
-		} catch (Exception e) {
-			System.err.println(e);
-		} 
-		return true;
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureEnable.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureEnable.java
deleted file mode 100644
index dad8983..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureEnable.java
+++ /dev/null
@@ -1,109 +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.update.tests.standalone;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.standalone.*;
-
-public class TestFeatureEnable extends StandaloneManagerTestCase {
-	public static boolean isEnabled;
-	
-	public TestFeatureEnable(String arg0) {
-		super(arg0);
-		isEnabled = false;
-	}
-
-	public void umSetUp() {
-
-		super.umSetUp();
-		
-		String featureId = "my.alphabet";
-		String version = "1.0.0";
-
-		checkConfiguredSites();
-		if (!isEnabled) {
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-					"enable",
-					featureId,
-					version,
-					null,
-					null,
-					TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isEnabled = true;
-			checkConfiguredSites();
-		}
-	}
-	
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-
-	public void testFeatureStatus() throws Exception {
-	
-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());
-		System.out.println(localFile.getAbsolutePath());
-		assertTrue(localFile.exists());
-		File configFile = getLatestConfigurationFile(localFile);
-		
-		String[] names =
-			{
-				"features/my.alphabet.round.letters_1.0.0/",
-				"features/my.alphabet.straight.letters_1.0.0/",
-				"features/my.alphabet_1.0.0/" };
-		assertTrue(configFile.exists());
-		assertTrue(checkFeaturesEnabled(getArrayList(names),configFile, TARGET_FILE_SITE.getFile()));
-	}
-
-	public boolean checkFeaturesEnabled(ArrayList featureNames, File configFile, String siteLocation){
-		try {
-			FileReader freader = new FileReader(configFile);
-			BufferedReader breader = new BufferedReader(freader);
-			String line;
-			System.out.println("now reading..." + configFile.getAbsolutePath());
-			boolean isSiteToCheck = false;
-			while (breader.ready()) {
-				line = breader.readLine();
-				if (line.trim().startsWith("<site url")){
-					isSiteToCheck = line.trim().split("\"")[1].replaceFirst("file:","").equals(siteLocation);
-				} else if (isSiteToCheck && line.trim().startsWith("<feature configured")){
-					System.err.println(line);
-					String[] configLine = line.split("\"");
-					if (featureNames.contains(configLine[3]) && configLine[1].equals("false")){
-						fail(configLine[3] + " has not been enabled.");
-					}
-					// temp - delete later
-					if (featureNames.contains(configLine[3]))
-						System.err.println(line);
-					// end of temp delete
-				}
-			}
-		} catch (Exception e) {
-			System.err.println(e);
-		} 
-		return true;
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureInstall.java
deleted file mode 100644
index 19fcbcd..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureInstall.java
+++ /dev/null
@@ -1,134 +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.update.tests.standalone;
-
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.standalone.*;
-
-
-public class TestFeatureInstall extends StandaloneManagerTestCase {
-	private static boolean isInstalled;
-
-	public TestFeatureInstall(String arg0) {
-		super(arg0);
-		isInstalled = false;
-	}
-
-	public void umSetUp() {
-		super.umSetUp();
-		//System.out.println("looking at configured sites available....");
-		//checkConfiguredSites();
-		
-		String featureId = "my.alphabet";
-		String version = "1.0.0";
-
-		String fromRemoteSiteUrl =
-			"http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/3.0/site/";
-		if (!isInstalled) {
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-					"install",
-					featureId,
-					version,
-					null,
-					fromRemoteSiteUrl,
-					TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isInstalled = true;
-		}
-		
-	}
-
-	public void testPluginsExist() {
-		ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
-		
-		System.out.println("localSite: " + localSite.getURL().getFile());
-		IPluginEntry[] pluginEntries = localSite.getPluginEntries();
-		ArrayList list = new ArrayList();
-		if (pluginEntries == null || pluginEntries.length == 0){
-			System.err.println("No plugin entries on the target site");
-			fail("No plugin entries on the target site");
-		} else{
-			for (int i = 0; i < pluginEntries.length; i++){
-				System.out.println("found plugin: " + pluginEntries[i].getVersionedIdentifier().toString());
-				list.add(pluginEntries[i].getVersionedIdentifier().toString());
-			}
-		}
-
-		String[] pluginNames =
-			{	"my.alphabet.letter.a_1.0.0",
-				"my.alphabet.letter.b_1.0.0",
-				"my.alphabet.letter.c_1.0.0",
-				"my.alphabet.letter.e_1.0.0",
-				"my.alphabet.round.letters_1.0.0",
-				"my.alphabet.straight.letters_1.0.0",
-				"my.alphabet_1.0.0" };
-		assertTrue(checkFilesInList(pluginNames, list));
-	}
-
-	public void testFeaturesExist() {
-		try {
-			ISite localSite =  getConfiguredSite(TARGET_FILE_SITE);
-
-			System.out.println("localSite: " + localSite.getURL().getFile());
-			// get feature references 
-			IFeatureReference[] localFeatures =
-				localSite.getFeatureReferences();
-			System.out.println("local currentCOnfigSite: " + localSite.getCurrentConfiguredSite());
-			ArrayList list = new ArrayList();
-			if (localFeatures == null || localFeatures.length == 0){
-				System.err.println("No features on the target site");
-				fail("No features on the target site");
-			} else {
-				for (int i = 0; i < localFeatures.length; i++)
-					list.add(localFeatures[i].getVersionedIdentifier().toString());
-			}
-			String[] featureNames =
-				{
-					"my.alphabet.round.letters_1.0.0",
-					"my.alphabet.straight.letters_1.0.0",
-					"my.alphabet_1.0.0" };
-			assertTrue(checkFilesInList(featureNames, list));
-		} catch (CoreException e) {
-			System.err.println(e);
-		}
-	}
-
-	// makes sure all files/directories in "names" are in the directory listing "list"
-	public boolean checkFilesInList(
-		String[] names,
-		ArrayList list) {
-		
-		for (int i = 0; i < names.length; i++) {
-			System.out.println(names[i]);
-			if (!list.contains(names[i])){
-				return false;
-			}
-		}
-		return true;
-	}
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUninstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUninstall.java
deleted file mode 100644
index a256646..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUninstall.java
+++ /dev/null
@@ -1,123 +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.update.tests.standalone;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.standalone.*;
-
-
-public class TestFeatureUninstall extends StandaloneManagerTestCase {
-	public static boolean isUninstalled;
-	
-	public TestFeatureUninstall(String arg0){
-		super(arg0);
-		isUninstalled = false;
-	}
-	
-	public void umSetUp() {
-		super.umSetUp();
-		System.out.println("looking at configured sites available....");
-		checkConfiguredSites();
-		
-		String featureId = "my.alphabet";
-		String version = "1.0.0";
-
-		if(!isUninstalled){
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-					"uninstall",
-					featureId,
-					version,
-					null,
-					null,
-					TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isUninstalled = true;
-		}
-	}
-	
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-	
-	public void testFeaturesUninstalled() throws Exception {
-		try {
-			ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
-			
-			// get feature references 
-			IFeatureReference[] localFeatures =
-				localSite.getFeatureReferences();
-			ArrayList list = new ArrayList();
-			if (localFeatures == null || localFeatures.length == 0){
-				fail("No features on the target site");
-			} else {
-				for (int i = 0; i < localFeatures.length; i++)
-					list.add(localFeatures[i].getVersionedIdentifier().toString());
-			}
-			String[] featureNames =
-				{
-					"my.alphabet.round.letters_1.0.0",
-					"my.alphabet.straight.letters_1.0.0",
-					"my.alphabet_1.0.0" };
-			assertTrue(checkFilesNotInList(featureNames, list));
-		} catch (CoreException e) {
-			System.err.println(e);
-		}
-	}
-	
-	public void testPluginsUninstalled() throws Exception {
-			ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
-			
-			IPluginEntry[] pluginEntries = localSite.getPluginEntries();
-			ArrayList list = new ArrayList();
-			if (pluginEntries == null || pluginEntries.length == 0)
-				fail("No plugin entries on the target site");
-			else
-				for (int i = 0; i < pluginEntries.length; i++){
-					list.add(pluginEntries[i].getVersionedIdentifier().toString());
-					System.out.println("plugin found: " + pluginEntries[i].getVersionedIdentifier().toString());
-				}
-
-			String[] pluginNames =
-				{	"my.alphabet.letter.a_1.0.0",
-					"my.alphabet.letter.b_1.0.0",
-					"my.alphabet.letter.c_1.0.0",
-					"my.alphabet.letter.e_1.0.0",
-					"my.alphabet.round.letters_1.0.0",
-					"my.alphabet.straight.letters_1.0.0",
-					"my.alphabet_1.0.0" };
-			assertTrue(checkFilesNotInList(pluginNames, list));	
-	}
-	
-	// makes sure all files/directories in "names" are NOT in the directory listing "list"
-	public boolean checkFilesNotInList(
-		String[] names,
-		ArrayList list) {
-		
-		for (int i = 0; i < names.length; i++) {
-			System.out.println("searching for " + names[i] + "...");
-			if (list.contains(names[i]))
-				return false;
-		}
-		return true;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUpdate.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUpdate.java
deleted file mode 100644
index a7e20c1..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUpdate.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.update.tests.standalone;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.standalone.*;
-
-public class TestFeatureUpdate extends StandaloneManagerTestCase {
-	public static boolean isUpdated;
-	
-	public TestFeatureUpdate(String arg0) {
-		super(arg0);
-		isUpdated = false;
-	}
-
-	public void umSetUp() {
-		super.umSetUp();
-		System.out.println("looking at configured sites available....");
-		checkConfiguredSites();
-		
-		String featureId = "my.alphabet";
-		String version = "1.0.1";
-
-		if (!isUpdated) {
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-						"update",
-						featureId,
-						version,
-						null,
-						null,
-						TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isUpdated = true;
-		}
-	}
-
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-	
-	public void testPluginsExist() {
-
-			ISite localSite =  getConfiguredSite(TARGET_FILE_SITE);
-
-			IPluginEntry[] pluginEntries = localSite.getPluginEntries();
-			ArrayList list = new ArrayList();
-			if (pluginEntries == null || pluginEntries.length == 0)
-				fail("No plugin entries on the target site");
-			else
-				for (int i = 0; i < pluginEntries.length; i++) {
-					list.add(
-						pluginEntries[i].getVersionedIdentifier().toString());
-				}
-
-			String[] pluginNames =
-				{
-					"my.alphabet.letter.a_1.0.0",
-					"my.alphabet.letter.b_1.0.0",
-					"my.alphabet.letter.c_1.0.0",
-					"my.alphabet.letter.e_1.0.0",
-					"my.alphabet.round.letters_1.0.0",
-					"my.alphabet.straight.letters_1.0.0",
-					"my.alphabet_1.0.0",
-					"my.alphabet.letter.a_1.0.1",
-					"my.alphabet.letter.b_1.0.1",
-					"my.alphabet.letter.c_1.0.1",
-					"my.alphabet.letter.e_1.0.1",
-					"my.alphabet.round.letters_1.0.1",
-					"my.alphabet.straight.letters_1.0.1",
-					"my.alphabet_1.0.1" };
-			assertTrue(checkFilesInList(pluginNames, list));
-	}
-
-	public void testFeaturesExist() {
-		try {
-			ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
-
-			// get feature references
-			IFeatureReference[] localFeatures =
-				localSite.getFeatureReferences();
-			ArrayList list = new ArrayList();
-			if (localFeatures == null || localFeatures.length == 0) {
-				fail("No features on the target site");
-			} else {
-				for (int i = 0; i < localFeatures.length; i++) {
-					list.add(
-						localFeatures[i].getVersionedIdentifier().toString());
-					System.out.println(
-						localFeatures[i].getVersionedIdentifier().toString());
-				}
-			}
-			String[] featureNames =
-				{
-					"my.alphabet.round.letters_1.0.0",
-					"my.alphabet.straight.letters_1.0.0",
-					"my.alphabet_1.0.0",
-					"my.alphabet.round.letters_1.0.1",
-					"my.alphabet.straight.letters_1.0.1",
-					"my.alphabet_1.0.1" };
-			assertTrue(checkFilesInList(featureNames, list));
-		} catch (CoreException e) {
-			System.err.println(e);
-		}
-	}
-
-	// makes sure all files/directories in "names" are in the directory listing
-	// "list"
-	public boolean checkFilesInList(String[] names, ArrayList list) {
-
-		for (int i = 0; i < names.length; i++) {
-			if (!list.contains(names[i]))
-				return false;
-		}
-		return true;
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java
deleted file mode 100644
index 970648d..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.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.update.tests.types;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllTypesTests extends UpdateManagerTestCase {

-public AllTypesTests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Regular Install Tests");

-	

-	// the following will take all teh test methods in teh class that start with 'test'

-	suite.addTest(new TestSuite(TestFeatureType.class));

-	suite.addTest(new TestSuite(TestSiteType.class));	

-	

-	// or you can specify the method

-	//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));	

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java
deleted file mode 100644
index bf5479f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java
+++ /dev/null
@@ -1,155 +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.update.tests.types;

-

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-public class TestFeatureType extends UpdateManagerTestCase {

-

-

-	private static final String PACKAGED_FEATURE_TYPE = "packaged"; //$NON-NLS-1$

-	private static final String INSTALLED_FEATURE_TYPE = "installed"; //$NON-NLS-1$	

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestFeatureType(String arg0) {

-		super(arg0);

-	}

-	

-	

-	public String getDefaultInstallableFeatureType() {

-		String pluginID = UpdateCore.getPlugin().getDescriptor().getUniqueIdentifier() + "."; //$NON-NLS-1$

-		return pluginID + PACKAGED_FEATURE_TYPE;

-	}

-	

-	public String getDefaultExecutableFeatureType() {

-		String pluginID = UpdateCore.getPlugin().getDescriptor().getUniqueIdentifier() + "."; //$NON-NLS-1$

-		return pluginID + INSTALLED_FEATURE_TYPE;

-	}		

-	

-	/**

-	 * @throws Exception

-	 */

-	public void testSimplePackagedFeatureType() throws Exception{ 

-		FeatureTypeFactory factories = FeatureTypeFactory.getInstance();

-		IFeatureFactory factory = factories.getFactory(getDefaultInstallableFeatureType());

-		

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		URL featureURL = new URL(SOURCE_FILE_SITE,"features/features2.jar ");

-		

-		IFeature anotherFeature = factory.createFeature(featureURL,site,null);

-		

-		assertTrue("Factory doesn't create same feature",anotherFeature.getVersionedIdentifier().equals(anotherFeature.getVersionedIdentifier()));

-	}	

-	

-		/**

-	 * @throws Exception

-	 */

-	public void testSimpleExecutableFeatureType() throws Exception{ 

-		FeatureTypeFactory factories = FeatureTypeFactory.getInstance();

-		IFeatureFactory factory = factories.getFactory(getDefaultExecutableFeatureType());

-		

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		URL featureURL = new URL(SOURCE_FILE_SITE,"testAPI/"+Site.DEFAULT_INSTALLED_FEATURE_PATH+"feature3/");

-		

-		IFeature anotherFeature = factory.createFeature(featureURL,site,null);

-		

-		assertTrue("Factory doesn't create same feature",anotherFeature.getVersionedIdentifier().equals(anotherFeature.getVersionedIdentifier()));

-	}	

-	

-	/**

-	 * @throws Exception

-	 */

-	public void testFeatureType() throws Exception{ 

-		FeatureTypeFactory factories = FeatureTypeFactory.getInstance();

-		IFeatureFactory factory = factories.getFactory(getDefaultInstallableFeatureType());

-		

-		ISite site = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeature feature = site.getFeatureReferences()[0].getFeature(null);

-		

-		IFeature anotherFeature = factory.createFeature(feature.getURL(),site,null);

-		

-		assertTrue("Factory doesn't create same feature",feature.getVersionedIdentifier().equals(anotherFeature.getVersionedIdentifier()));

-	}

-	

-	

-	/**

-	 * @throws Exception

-	 */

-	public void testFeatureNewType() throws Exception{ 

-		FeatureTypeFactory factories = FeatureTypeFactory.getInstance();

-		IFeatureFactory factory = factories.getFactory(getDefaultExecutableFeatureType());

-		

-		String featurePath = dataPath+"FeatureTypeExamples/site1/site.xml";

-		ISite site = SiteManager.getSite(new File(featurePath).toURL(),null);

-		IFeatureReference ref = site.getFeatureReferences()[0];

-		IFeature feature = ref.getFeature(null);

-		

-		IFeature anotherFeature = factory.createFeature(feature.getURL(),site,null);

-

-		assertTrue(feature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider);		

-		assertTrue(((FeatureReference)ref).getType().equals("org.eclipse.update.tests.core.feature1"));		

-		assertTrue("Factory doesn't create same feature",feature.getVersionedIdentifier().equals(anotherFeature.getVersionedIdentifier()));

-

-

-	}

-	

-	

-		/**

-	 * @throws Exception

-	 */

-	public void testFeatureAnotherType() throws Exception{ 

-		FeatureTypeFactory factories = FeatureTypeFactory.getInstance();

-		IFeatureFactory factory = factories.getFactory(getDefaultInstallableFeatureType());

-		

-		String featurePath = dataPath+"FeatureTypeExamples/site2/site.xml";

-		ISite site = SiteManager.getSite(new File(featurePath).toURL(),null);

-		IFeatureReference ref = site.getFeatureReferences()[0];		

-		IFeature feature = ref.getFeature(null);

-		

-		IFeature anotherFeature = factory.createFeature(feature.getURL(),site,null);

-		

-		assertTrue("Factory doesn't create same feature",feature.getVersionedIdentifier().equals(anotherFeature.getVersionedIdentifier()));

-		assertTrue(feature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider);

-		assertTrue(((FeatureReference)ref).getType().equals("org.eclipse.update.core.packaged"));

-		

-	}

-		

-		

-	/**

-	 * @throws Exception

-	 */

-	public void testFeatureUnknownType() throws Exception{ 

-		String featurePath = dataPath+"FeatureTypeExamples/site3/site.xml";

-		ISite site = SiteManager.getSite(new File(featurePath).toURL(),null);

-		IFeatureReference ref = site.getFeatureReferences()[0];		

-		try {

-			ref.getFeature(null);

-			assertTrue("id found, should not be found",false);

-		} catch (CoreException e){

-			if (e.getMessage().indexOf("org.eclipse.update.core.unknowntype.jar")==-1){

-				throw e;

-			}

-		}

-		

-	}		

-		

-}

-

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java
deleted file mode 100644
index f4513d4..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java
+++ /dev/null
@@ -1,80 +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.update.tests.types;

-

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.FeaturePackagedContentProvider;

-import org.eclipse.update.internal.core.SiteURLContentProvider;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import org.eclipse.update.tests.implementation.SiteFTPFactory;

-

-public class TestSiteType extends UpdateManagerTestCase {

-

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestSiteType(String arg0) {

-		super(arg0);

-	}

-

-	/**

-	 * @throws Exception

-	 */

-	public void testSiteType() throws Exception {

-

-		String featurePath = dataPath + "SiteTypeExamples/site1/site.xml";

-		ISite site = SiteManager.getSite(new File(featurePath).toURL(),null);

-		IFeatureReference ref = site.getFeatureReferences()[0];

-		IFeature feature = ref.getFeature(null);

-

-		assertTrue(site.getSiteContentProvider() instanceof SiteURLContentProvider);

-		assertTrue(((Site) site).getType().equals("org.eclipse.update.core.http"));

-		assertTrue(feature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider);

-

-	}

-

-	/**

-		 * @throws Exception

-		 */

-	public void testFTPSiteType() throws Exception {

-

-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE + "FTPLikeSite/"),null);

-

-		// should not find the mapping

-		// but then should attempt to read the XML file

-		// found a new type

-		// call the new type

-		assertTrue(

-			"Wrong site type",

-			site.getType().equals("org.eclipse.update.tests.ftp"));

-		assertTrue(

-			"Wrong file",

-			site.getURL().getFile().equals("/" + SiteFTPFactory.FILE));

-

-	}

-

-	public void testParseValid1() throws Exception {

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/siteftp.xml");

-			ISite site = SiteManager.getSite(remoteURL,null);

-			site.getArchives();

-		} catch (CoreException e) {

-			if (e.getMessage().indexOf("</feature>") == -1) {

-				throw e;

-			}

-		}

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.java
deleted file mode 100644
index a18ab16..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.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.update.tests.uivalues;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllCoreUITests extends UpdateManagerTestCase {

-public AllCoreUITests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Regular Install Tests");

-	

-	// the following will take all teh test methods in teh class that start with 'test'

-	suite.addTest(new TestSuite(TestUILabel.class));

-	

-	// or you can specify the method

-	//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));	

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/TestUILabel.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/TestUILabel.java
deleted file mode 100644
index a8915d5..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/TestUILabel.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.update.tests.uivalues;

-

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-public class TestUILabel extends UpdateManagerTestCase {

-

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestUILabel(String arg0) {

-		super(arg0);

-	}

-	

-	

-	/**

-	 * Method testHTTPSite.

-	 * @throws Exception

-	 */

-	public void testUpdateManagerSite() throws Exception{ 

-		

-		ISite remoteSite = SiteManager.getSite(new URL("http",getHttpHost(),getHttpPort(),bundle.getString("HTTP_PATH_2")),null);

-		ICategory[] categories = remoteSite.getCategories();

-		for (int i =0; i<categories.length; i++){

-			System.out.println("Category ->"+categories[i].getLabel()+":"+categories[i].getName());

-		}

-		System.out.println(remoteSite.getDescription().getURL().toExternalForm());

-		IFeatureReference[] remoteFeatures = remoteSite.getFeatureReferences();

-		if (remoteFeatures==null || remoteFeatures.length==0) fail("No feature available for testing");		

-		for (int i=0;i<remoteFeatures.length;i++){

-			IFeature feature = remoteFeatures[i].getFeature(null);

-			System.out.println("feature:"+feature.getVersionedIdentifier()+"->"+feature.getLabel());

-			print(feature.getLicense(),"License");

-			print(feature.getCopyright(),"Copyright");			

-			print(feature.getDescription(),"Description");				

-			

-			// check that it downloads the feature.jar under the cover

-			// and unpack it

-			

-			URL url = feature.getLicense().getURL();

-			if (url!=null){

-				assertTrue((new File(url.getFile())).exists());

-			}

-

-			url = feature.getCopyright().getURL();

-			if (url!=null){

-				assertTrue((new File(url.getFile())).exists());

-			}

-			

-			url = feature.getDescription().getURL();

-			if (url!=null){

-				assertTrue((new File(url.getFile())).exists());

-			}

-			

-		}

-	}

-	

-	

-	/**

-	 * Method print.

-	 * @param info

-	 * @param text

-	 */

-	private void print(IURLEntry info, String text){

-		System.out.print("->"+text+":");

-		if (info.getURL()!=null) 

-			System.out.println("<"+info.getURL().toExternalForm()+">");

-		else 

-			System.out.println(info.getAnnotation());

-	}

-} 

-

-

diff --git a/update/org.eclipse.update.tests.core/test.xml b/update/org.eclipse.update.tests.core/test.xml
deleted file mode 100644
index 1da81e0..0000000
--- a/update/org.eclipse.update.tests.core/test.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>

-<project name="testsuite" default="run" basedir="."> 

-  

-  <!-- The property ${eclipse-home} should be passed into this script -->

-  <!-- Set a meaningful default value for when it is not. -->

-  <property name="eclipse-home" value="${basedir}/../.."/>

-  

-  <!-- sets the properties eclipse-home, and library-file -->

-  <property name="plugin-name" value="org.eclipse.update.tests.core"/>

-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>

-  <property name="class-name" value="org.eclipse.update.tests.AllTests" />

-  

-  <!-- This target holds all initialization code that needs to be done for -->

-  <!-- all tests that are to be run. Initialization for individual tests -->

-  <!-- should be done within the body of the suite target. -->

-  <target name="init">

-    <tstamp/>

-    <delete>

-      <fileset dir="${eclipse-home}" includes="org*.xml"/>

-    </delete>

-  </target>

-  

-  <!-- This target defines the tests that need to be run. -->

-  <target name="suite">

-    <property name="sniff-folder" value="${eclipse-home}/update_core_sniff_folder"/>

-    <delete dir="${sniff-folder}" quiet="true"/>

-    

-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">

-      <property name="data-dir" value="${sniff-folder}"/>

-      <property name="plugin-name" value="${plugin-name}"/>

-      <property name="classname" value="${class-name}"/>

-    </ant>

-  </target>

-  

-  <!-- This target holds code to cleanup the testing environment after -->

-  <!-- after all of the tests have been run. You can use this target to -->

-  <!-- delete temporary files that have been created. -->

-  <target name="cleanup">

-  </target>

-  

-  <!-- This target runs the test suite. Any actions that need to happen -->

-  <!-- after all the tests have been run should go here. -->

-   <target name="run" depends="init,suite,cleanup">

-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">

-      <property name="includes" value="org*.xml"/>

-      <property name="output-file" value="${plugin-name}.xml"/>

-    </ant>

-  </target>

-	

-	<!-- This target defines the performance tests that need to be run. -->

-	<target name="performance-suite">

-	  <property name="your-performance-folder" value="${eclipse-home}/update_performance_folder"/>

-	  <delete dir="${your-performance-folder}" quiet="true"/>

-	  <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">

-	    <property name="data-dir" value="${your-performance-folder}"/>

-	    <property name="plugin-name" value="${plugin-name}"/>

-	    <property name="classname" value="org.eclipse.update.tests.perfms.AllPerformanceTests"/>

-	  </ant>

-	</target>

-	

-  <!-- This target runs the performance test suites. -->

-	<target name="performance" depends="init,performance-suite">

-	  <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">

-	    <property name="includes" value="org*.xml"/>

-	    <property name="output-file" value="${plugin-name}.xml"/>

-	  </ant>

-	</target>

-

-</project>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/test_with_mail.xml b/update/org.eclipse.update.tests.core/test_with_mail.xml
deleted file mode 100644
index 9f1d408..0000000
--- a/update/org.eclipse.update.tests.core/test_with_mail.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0"?>
-<project name="testsuite" default="run" basedir="."> 
-  
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}/../.."/>
-  
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.update.tests.core"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-  <property name="class-name" value="org.eclipse.update.tests.AllTests" />
-  
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-  
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="sniff-folder" value="${eclipse-home}/update_core_sniff_folder"/>
-    <delete dir="${sniff-folder}" quiet="true"/>
-    
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${sniff-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="${class-name}"/>
-    </ant>
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-  
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-   <target name="run" depends="init,suite,cleanup">
-
-    <property name="email-from" value="Eclipse_Automated_Test@oti.com"/>
-    <property name="email-subject" value="Install/Update: Nightly Build Report"/>
-    <property name="email-subject-log" value="Install/Update: Nightly .log"/>
-    <property name="email-server" value="d25ml04.torolab.ibm.com"/>
-    <property name="infile" value="${eclipse-home}/${plugin-name}.xml"/>
-    <property name="infile-log" value="${eclipse-home}/workspace/.metadata/.log"/>
-      
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-    
-    <touch file="${infile-log}"/>
-
-    <mail from="${email-from}" tolist="celek@ca.ibm.com"
-          subject="${email-subject}" files="${infile}"
-          mailhost="${email-server}"/>
-
-    <mail from="${email-from}" tolist="celek@ca.ibm.com"
-          subject="${email-subject-log}" files="${infile-log}"
-          mailhost="${email-server}"/>
-
-    <mail from="${email-from}" tolist="celek@rogers.com"
-          subject="${email-subject-log}" files="${infile-log}"
-          mailhost="${email-server}"/>
-
-    <mail from="${email-from}" tolist="celek@rogers.com"
-          subject="${email-subject}" files="${infile}"
-          mailhost="${email-server}"/>
-
-  </target>
-</project>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar
deleted file mode 100644
index 1a23946..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar
deleted file mode 100644
index 33c3d5d..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html b/update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

-<html>

-<head>

-</head>

-  <body>

-<img src="img/top_titlsm.gif" alt="" width="460" height="50">

-<br>

-<br>

-     It started with Smalltalk<br>

-    OTI has been building tools for platform-independent OO development since

-  1988. Our ENVY&reg; technology first brought collaborative software development,

-  version management and shared repositories to Smalltalk. IBM is one of

-many   companies to license ENVY, which continues to be the foundation of

-VisualAge&reg;   Smalltalk.<br>

-<br>

-<br>

-<br>

-      Next came Java&#8482;<br>

-    Because of our expertise in OO technology, IBM turned to OTI for a next-generation

-  development environment for Java. The result is VisualAge for Java, which

-  continues to win awards for its innovative IDE and team support. InfoWorld

-  has chosen VisualAge for Java as development tool of the year - year after

-  year after year!<br>

-<br>

-<br>

-<br>

-      Then pervasive computing<br>

-    OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art

-  platform for collaborative development of embedded applications and systems

-  that are very lean. As the steady stream of press releases attests, VisualAge

-  Micro Edition is already licensed to the leading microchip manufacturers,

-  microkernel developers, and producers of handheld and consumer devices.<br>

-<br>

-<br>

-<br>

-      Now it's Eclipse<br>

-    OTI has built the next generation IBM application development tools platform.

-  Eclipse is a kind of universal tool platform - an open extensible IDE for

-  anything and nothing in particular. The real value comes from tool plug-ins

-  that "teach" Eclipse how to work with things - java files, web content,

-graphics,  video - almost anything you can imagine. Eclipse allows you to

-independently  develop tools that integrate with other people's tools so

-seamlessly you won't know where one tool ends and another starts. The IBM

-supported version of this technology, WebSphere Studio Workbench, will be

-the core of the next  generation of IBM and IBM Business Partner e-business

-tools optimized for  the WebSphere software platform.<br>

-<br>

-<br>

-<br>

-      So what's next?<br>

-    OTI continues to deliver object-oriented technology that scales across

- platforms,  across teams and across project size. From a mainframe to a

-watch  - we're  closing in on that vision.<br>

-<br>

-<img src="img/wel_ml.jpg" width="460" height="460" alt="">

-<br>

-<br>

-<br>

-<br>

-<br>

-<br>

-</body>

-</html>

diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml b/update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml
deleted file mode 100644
index 67741d9..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >

-  <description>Description</description>

-  <copyright>copyright</copyright>

-  <license>license</license>

-  <url>

-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>

-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>

-  </url>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/site.xml b/update/org.eclipse.update.tests.core/webserver/Site with space/site.xml
deleted file mode 100644
index b5d4bbf..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/site.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site>

-<description url="info/siteInfo.html"/>

-  <feature url="features space/helpFeature.jar">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature url="features space/space feature.jar">

-    <category name="eclipse/J2EE"/>

-  </feature>

-

-  <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins space/help.jar"/>

-  <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins space/Pde_core.jar"/>

-  <archive path="plugins/org.junit_3.5.0.jar" url="plugins space/junit_3.7.jar"/>

-  <archive path="plugins/org.eclipse.update.plugin1_1.1.1" url="plugins space/org.eclipse.update.plugin1_1.1.1"/>  

-  <category-def label="IBM WSAD Tools" name="eclipse"/>

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>  

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar
deleted file mode 100644
index aec67d4..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar
deleted file mode 100644
index 870b40a..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html b/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

-<html>

-<head>

-</head>

-  <body>

-<img src="img/top_titlsm.gif" alt="" width="460" height="50">

-<br>

-<br>

-     It started with Smalltalk<br>

-    OTI has been building tools for platform-independent OO development since

-  1988. Our ENVY&reg; technology first brought collaborative software development,

-  version management and shared repositories to Smalltalk. IBM is one of

-many   companies to license ENVY, which continues to be the foundation of

-VisualAge&reg;   Smalltalk.<br>

-<br>

-<br>

-<br>

-      Next came Java&#8482;<br>

-    Because of our expertise in OO technology, IBM turned to OTI for a next-generation

-  development environment for Java. The result is VisualAge for Java, which

-  continues to win awards for its innovative IDE and team support. InfoWorld

-  has chosen VisualAge for Java as development tool of the year - year after

-  year after year!<br>

-<br>

-<br>

-<br>

-      Then pervasive computing<br>

-    OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art

-  platform for collaborative development of embedded applications and systems

-  that are very lean. As the steady stream of press releases attests, VisualAge

-  Micro Edition is already licensed to the leading microchip manufacturers,

-  microkernel developers, and producers of handheld and consumer devices.<br>

-<br>

-<br>

-<br>

-      Now it's Eclipse<br>

-    OTI has built the next generation IBM application development tools platform.

-  Eclipse is a kind of universal tool platform - an open extensible IDE for

-  anything and nothing in particular. The real value comes from tool plug-ins

-  that "teach" Eclipse how to work with things - java files, web content,

-graphics,  video - almost anything you can imagine. Eclipse allows you to

-independently  develop tools that integrate with other people's tools so

-seamlessly you won't know where one tool ends and another starts. The IBM

-supported version of this technology, WebSphere Studio Workbench, will be

-the core of the next  generation of IBM and IBM Business Partner e-business

-tools optimized for  the WebSphere software platform.<br>

-<br>

-<br>

-<br>

-      So what's next?<br>

-    OTI continues to deliver object-oriented technology that scales across

- platforms,  across teams and across project size. From a mainframe to a

-watch  - we're  closing in on that vision.<br>

-<br>

-<img src="img/wel_ml.jpg" width="460" height="460" alt="">

-<br>

-<br>

-<br>

-<br>

-<br>

-<br>

-</body>

-</html>

diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml b/update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml
deleted file mode 100644
index 5e5fda7..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site >

-<description url="info/siteInfo.html"/>

-  <feature url="features/helpFeature.jar">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature url="features/org.eclipse.pde.feature_1.0.0.jar">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins/help.jar"/>

-  <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins/Pde_core.jar"/>

-  <archive path="plugins/org.junit_3.5.0.jar" url="plugins/junit_3.7.jar"/>

-  <category-def label="IBM WSAD Tools" name="eclipse"/>

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>  

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar
deleted file mode 100644
index 81df72c..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar
deleted file mode 100644
index d1aee3f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
deleted file mode 100644
index f515ff4..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar
deleted file mode 100644
index 2be38d3..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
deleted file mode 100644
index 022665c..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/rootfeature.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/rootfeature.jar
deleted file mode 100644
index b519803..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/rootfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 5d9f5bc..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 8b4b04a..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
deleted file mode 100644
index 52208fe..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/site.xml b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/site.xml
deleted file mode 100644
index 7b09c86..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature url="features/rootfeature.jar" os="*"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar
deleted file mode 100644
index b00d882..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
deleted file mode 100644
index d6737f6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index eb8690f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 90a612f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties
deleted file mode 100644
index 8e1ced4..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties
+++ /dev/null
@@ -1,12 +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

-###############################################################################

-drivers=Required Drivers

-security=Security Fixes
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml
deleted file mode 100644
index 657d9b2..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1">

-  <feature url="features/org.eclipse.test.feature_1.0.0.jar">

-    <category name="category1"/>

-  </feature>

-  <feature url="features/features2.jar">

-    <category name="category1/subcat1"/>

-    <category name="category2"/>

-  </feature>

-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">

-    <category name="category1"/>

-    <category name="category2"/>

-  </feature>

-  <feature url="features/org.eclipse_test_feature.jar"/>

-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">

-    <category name="category1"/>

-  </feature>

-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">

-  </feature>

-

-  <category-def name="category1/subcat1" label="Special Fix"/>

-  <category-def name="category1" label="%drivers"/>

-  <category-def name="category2" label="%security"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml b/update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml
deleted file mode 100644
index 1a6d904..0000000
--- a/update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>

-

-

-<!DOCTYPE web-app

-    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

-    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">

-

-<web-app>

-    

-</web-app>

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/features/com.example.bundle.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/bundleSite/features/com.example.bundle.feature_1.0.0.jar
deleted file mode 100644
index 20d3589..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/features/com.example.bundle.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.budle.fragment.ui_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.budle.fragment.ui_1.0.0.jar
deleted file mode 100644
index d79d2cd..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.budle.fragment.ui_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.fragment_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.fragment_1.0.0.jar
deleted file mode 100644
index edb02bb..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin.ui_2.0.0.jar b/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin.ui_2.0.0.jar
deleted file mode 100644
index 32ec02c..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin.ui_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin_1.0.0.jar
deleted file mode 100644
index 2b1b693..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/site.xml b/update/org.eclipse.update.tests.core/webserver/bundleSite/site.xml
deleted file mode 100644
index bab1332..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/com.example.bundle.feature_1.0.0.jar" id="com.example.bundle.feature" version="1.0.0">
-      <category name="BundleFeature"/>
-   </feature>
-   <category-def name="BundleFeature" label="Feature with Bundles"/>
-</site>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.classpath b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.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/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.project b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.project
deleted file mode 100644
index 8e20903..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.project
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.example.budle.fragment.ui</name>
-	<comment></comment>
-	<projects>
-		<project>com.example.bundle.plugin</project>
-		<project>com.example.bundle.plugin.ui</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.template b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.template
deleted file mode 100644
index f3bcd41..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>

-</form>

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 2ad686f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Generated-from: 1077062974451

-Bundle-Name: Ui Fragment

-Bundle-Version: 1.0.0

-Bundle-SymbolicName: com.example.budle.fragment.ui

-Bundle-Vendor: Eclipse.org

-Bundle-ClassPath: ui.jar

-Legacy: true

-Fragment-Host: com.example.bundle.plugin.ui; bundle-version=2.0.0

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/build.properties b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/build.properties
deleted file mode 100644
index 9adc643..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 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
-###############################################################################
-source.ui.jar = src/
-output.ui.jar = bin/
-bin.includes = fragment.xml,\
-               META-INF/,\
-               ui.jar
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/fragment.xml b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/fragment.xml
deleted file mode 100644
index 3c484b3..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/fragment.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="com.example.budle.fragment.ui"
-   name="Ui Fragment"
-   version="1.0.0"
-   provider-name="Eclipse.org"
-   plugin-id="com.example.bundle.plugin.ui"
-   plugin-version="2.0.0"
-   match="greaterOrEqual">
-
-   <runtime>
-      <library name="ui.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-</fragment>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/.project b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/.project
deleted file mode 100644
index 8f3e4bc..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.example.bundle.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/build.properties b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/build.properties
deleted file mode 100644
index 8be2b5a..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 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
-###############################################################################
-bin.includes = feature.xml
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/feature.xml b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/feature.xml
deleted file mode 100644
index bb41043..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/feature.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="com.example.bundle.feature"
-      label="com.example.bundle.feature"
-      version="1.0.0"
-      provider-name="Eclipse.org">
-
-   <license>
-      A placeholder license for the feature.
-   </license>
-
-   <install-handler/>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-   <plugin
-         id="com.example.bundle.plugin"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"/>
-
-   <plugin
-         id="com.example.budle.fragment.ui"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="com.example.bundle.fragment"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="com.example.bundle.plugin.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.classpath b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.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/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.project b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.project
deleted file mode 100644
index 06d0c21..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.example.bundle.fragment</name>
-	<comment></comment>
-	<projects>
-		<project>com.example.bundle.plugin</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.template b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.template
deleted file mode 100644
index f3bcd41..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>

-</form>

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/META-INF/MANIFEST.MF
deleted file mode 100644
index 9d66480..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Generated-from: 1077062909487

-Bundle-Name: Fragment Fragment

-Bundle-Version: 1.0.0

-Bundle-SymbolicName: com.example.bundle.fragment

-Bundle-Vendor: Eclipse.org

-Bundle-ClassPath: fragment.jar

-Legacy: true

-Fragment-Host: com.example.bundle.plugin; bundle-version=1.0.0

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/build.properties b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/build.properties
deleted file mode 100644
index a9f2221..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 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
-###############################################################################
-source.fragment.jar = src/
-output.fragment.jar = bin/
-bin.includes = fragment.xml,\
-               META-INF/,\
-               fragment.jar
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/fragment.xml b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/fragment.xml
deleted file mode 100644
index 2a5cd6e..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/fragment.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="com.example.bundle.fragment"
-   name="Fragment Fragment"
-   version="1.0.0"
-   provider-name="Eclipse.org"
-   plugin-id="com.example.bundle.plugin"
-   plugin-version="1.0.0">
-
-   <runtime>
-      <library name="fragment.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-</fragment>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.classpath b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.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/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.project b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.project
deleted file mode 100644
index 83c3553..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.example.bundle.plugin.ui</name>
-	<comment></comment>
-	<projects>
-		<project>com.example.bundle.plugin</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.template b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.template
deleted file mode 100644
index f3bcd41..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>

-</form>

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index e3507a9..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Generated-from: 1077062999827

-Bundle-Name: Ui Plug-in

-Bundle-Version: 2.0.0

-Bundle-SymbolicName: com.example.bundle.plugin.ui

-Bundle-Vendor: Eclipse.org

-Bundle-ClassPath: ui.jar

-Legacy: true

-Bundle-Activator: com.example.bundle.plugin.ui.UiPlugin

-Require-Bundle: 

- org.eclipse.core.runtime,

- org.eclipse.ui,

- com.example.bundle.plugin; bundle-version=1.0.0;version-match=perfect

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/bin/com/example/bundle/plugin/ui/UiPlugin.class b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/bin/com/example/bundle/plugin/ui/UiPlugin.class
deleted file mode 100644
index 5f73189..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/bin/com/example/bundle/plugin/ui/UiPlugin.class
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/build.properties b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/build.properties
deleted file mode 100644
index 0577e11..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 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
-###############################################################################
-source.ui.jar = src/
-output.ui.jar = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               ui.jar
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/plugin.xml b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/plugin.xml
deleted file mode 100644
index aeffdef..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="com.example.bundle.plugin.ui"
-   name="Ui Plug-in"
-   version="2.0.0"
-   provider-name="Eclipse.org"
-   class="com.example.bundle.plugin.ui.UiPlugin">
-
-   <runtime>
-      <library name="ui.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="com.example.bundle.plugin" version="1.0.0" match="perfect"/>
-   </requires>
-
-
-</plugin>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/src/com/example/bundle/plugin/ui/UiPlugin.java b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/src/com/example/bundle/plugin/ui/UiPlugin.java
deleted file mode 100644
index a9549db..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/src/com/example/bundle/plugin/ui/UiPlugin.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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 com.example.bundle.plugin.ui;
-
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UiPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static UiPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public UiPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("com.example.bundle.plugin.ui.UiPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static UiPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = UiPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.classpath b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.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/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.project b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.project
deleted file mode 100644
index 1719d73..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.example.bundle.plugin</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</project>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.template b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.template
deleted file mode 100644
index f3bcd41..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>

-</form>

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/META-INF/MANIFEST.MF
deleted file mode 100644
index fc1adaf..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Generated-from: 1077062603708

-Bundle-Name: Plugin Plug-in

-Bundle-Version: 1.0.0

-Bundle-SymbolicName: com.example.bundle.plugin

-Bundle-Vendor: EXAMPLE

-Bundle-ClassPath: plugin.jar

-Legacy: true

-Bundle-Activator: com.example.bundle.plugin.PluginPlugin

-Require-Bundle: 

- org.eclipse.core.runtime,

- org.eclipse.ui

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/bin/com/example/bundle/plugin/PluginPlugin.class b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/bin/com/example/bundle/plugin/PluginPlugin.class
deleted file mode 100644
index 76caf03..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/bin/com/example/bundle/plugin/PluginPlugin.class
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/build.properties b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/build.properties
deleted file mode 100644
index 44de1ca..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 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
-###############################################################################
-source.plugin.jar = src/
-output.plugin.jar = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               plugin.jar
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/plugin.xml b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/plugin.xml
deleted file mode 100644
index 297bc76..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="com.example.bundle.plugin"
-   name="Plugin Plug-in"
-   version="1.0.0"
-   provider-name="Eclipse.org"
-   class="com.example.bundle.plugin.PluginPlugin">
-
-   <runtime>
-      <library name="plugin.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-</plugin>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/src/com/example/bundle/plugin/PluginPlugin.java b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/src/com/example/bundle/plugin/PluginPlugin.java
deleted file mode 100644
index a8a69f6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/src/com/example/bundle/plugin/PluginPlugin.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 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 com.example.bundle.plugin;
-
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class PluginPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static PluginPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public PluginPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("com.example.bundle.plugin.PluginPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static PluginPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = PluginPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-}
diff --git a/update/org.eclipse.update.ui.forms/.classpath b/update/org.eclipse.update.ui.forms/.classpath
deleted file mode 100644
index 4848249..0000000
--- a/update/org.eclipse.update.ui.forms/.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/update/org.eclipse.update.ui.forms/.cvsignore b/update/org.eclipse.update.ui.forms/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.ui.forms/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/.project b/update/org.eclipse.update.ui.forms/.project
deleted file mode 100644
index 8540f9e..0000000
--- a/update/org.eclipse.update.ui.forms/.project
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.ui.forms</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.runtime.compatibility</project>

-		<project>org.eclipse.ui</project>

-		<project>org.eclipse.ui.ide</project>

-	</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/update/org.eclipse.update.ui.forms/about.html b/update/org.eclipse.update.ui.forms/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/update/org.eclipse.update.ui.forms/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/update/org.eclipse.update.ui.forms/build.properties b/update/org.eclipse.update.ui.forms/build.properties
deleted file mode 100644
index 14fda25..0000000
--- a/update/org.eclipse.update.ui.forms/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.properties,\

-               *.jar,\

-               plugin.xml,\

-               about.html

-source.forms.jar = src/

-src.includes = about.html

diff --git a/update/org.eclipse.update.ui.forms/plugin.properties b/update/org.eclipse.update.ui.forms/plugin.properties
deleted file mode 100644
index 2699472..0000000
--- a/update/org.eclipse.update.ui.forms/plugin.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

-###############################################################################

-#

-# plugin.xml properties

-#

-

-name = Install/Update Forms

-provider-name = Eclipse.org

-

diff --git a/update/org.eclipse.update.ui.forms/plugin.xml b/update/org.eclipse.update.ui.forms/plugin.xml
deleted file mode 100644
index ab2a167..0000000
--- a/update/org.eclipse.update.ui.forms/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.0"?>

-<plugin

-   id="org.eclipse.update.ui.forms"

-   name="%name"

-   version="3.0.0"

-   provider-name="%provider-name"

-   class="org.eclipse.update.ui.forms.internal.FormsPlugin">

-

-   <runtime>

-      <library name="forms.jar">

-         <export name="*"/>

-         <packages prefixes="org.eclipse.update.ui.forms.internal"/>

-      </library>

-   </runtime>

-   <requires>

-      <import plugin="org.eclipse.core.runtime.compatibility"/>

-      <import plugin="org.eclipse.ui"/>

-   </requires>

-

-

-</plugin>

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java
deleted file mode 100644
index c125441..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java
+++ /dev/null
@@ -1,233 +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.update.ui.forms.internal;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.jface.preference.*;

-import org.eclipse.jface.preference.IPreferenceStore;

-import org.eclipse.jface.resource.*;

-import org.eclipse.jface.util.*;

-import org.eclipse.ui.actions.*;

-

-/**

- * This class implements IForm interface and

- * provides some common services to its subclasses.

- * It handles some common properties like heading

- * text, image and colors, as well as

- * font change processing.

- */

-

-public abstract class AbstractForm implements IForm, IPropertyChangeListener {

-	protected FormWidgetFactory factory;

-	protected Color headingBackground;

-	protected Color headingForeground;

-	protected boolean headingVisible = true;

-	protected Image headingImage;

-	protected String headingText;

-	protected Font titleFont;

-	private IPropertyChangeListener hyperlinkColorListener;

-

-	public AbstractForm() {

-		factory = new FormWidgetFactory();

-		titleFont = JFaceResources.getHeaderFont();

-		JFaceResources.getFontRegistry().addListener(this);

-		IPreferenceStore pstore = JFacePreferences.getPreferenceStore();

-		hyperlinkColorListener = new IPropertyChangeListener() {

-			public void propertyChange(PropertyChangeEvent e) {

-				if (e.getProperty().equals(JFacePreferences.HYPERLINK_COLOR)

-					|| e.getProperty().equals(

-						JFacePreferences.ACTIVE_HYPERLINK_COLOR)) {

-					updateHyperlinkColors();

-				}

-			}

-		};

-		pstore.addPropertyChangeListener(hyperlinkColorListener);

-	}

-	

-	protected void updateHyperlinkColors() {

-		factory.updateHyperlinkColors();

-	}

-

-	/**

-	 * @see IForm#commitChanges(boolean)

-	 */

-	public void commitChanges(boolean onSave) {

-	}

-

-	/**

-	 * @see IForm#createControl(Composite)

-	 */

-	public abstract Control createControl(Composite parent);

-

-	/**

-	 * @see IForm#dispose()

-	 */

-	public void dispose() {

-		factory.dispose();

-		JFaceResources.getFontRegistry().removeListener(this);

-		IPreferenceStore pstore = JFacePreferences.getPreferenceStore();

-		pstore.removePropertyChangeListener(this);

-		pstore.removePropertyChangeListener(hyperlinkColorListener);

-	}

-

-	/**

-	 * @see IForm#doGlobalAction(String)

-	 */

-	public boolean doGlobalAction(String actionId) {

-		return false;

-	}

-

-	/**

-	 * @see IForm#expandTo(Object)

-	 */

-	public void expandTo(Object object) {

-	}

-

-	/**

-	 * @see IForm#getControl()

-	 */

-	public abstract Control getControl();

-

-	/**

-	 * @see IForm#getFactory()

-	 */

-	public FormWidgetFactory getFactory() {

-		return factory;

-	}

-

-	/**

-	 * @see IForm#getHeadingBackground()

-	 */

-	public Color getHeadingBackground() {

-		return headingBackground;

-	}

-

-	/**

-	 * @see IForm#getHeadingForeground()

-	 */

-	public Color getHeadingForeground() {

-		return headingForeground;

-	}

-

-	/**

-	 * @see IForm#getHeadingImage()

-	 */

-	public Image getHeadingImage() {

-		return headingImage;

-	}

-

-	/**

-	 * @see IForm#getHeading()

-	 */

-	public String getHeadingText() {

-		if (headingText == null)

-			return "";

-		return headingText;

-	}

-

-	/**

-	 * @see IForm#initialize(Object)

-	 */

-	public void initialize(Object model) {

-	}

-

-	/**

-	 * @see IForm#isHeadingVisible()

-	 */

-	public boolean isHeadingVisible() {

-		return headingVisible;

-	}

-

-	/**

-	 * @see IForm#registerSection(FormSection)

-	 */

-	public void registerSection(FormSection section) {

-	}

-

-	/**

-	 * @see IForm#setFocus()

-	 */

-	public void setFocus() {

-	}

-

-	/**

-	 * @see IForm#setHeadingBackground(Color)

-	 */

-	public void setHeadingBackground(Color newHeadingBackground) {

-		this.headingBackground = newHeadingBackground;

-	}

-

-	/**

-	 * @see IForm#setHeadingForeground(Color)

-	 */

-	public void setHeadingForeground(Color newHeadingForeground) {

-		this.headingForeground = newHeadingForeground;

-	}

-

-	/**

-	 * @see IForm#setHeadingImage(Image)

-	 */

-	public void setHeadingImage(Image headingImage) {

-		this.headingImage = headingImage;

-	}

-

-	/**

-	 * @see IForm#setHeadingVisible(boolean)

-	 */

-	public void setHeadingVisible(boolean newHeadingVisible) {

-		this.headingVisible = newHeadingVisible;

-	}

-

-	/**

-	 * @see IForm#setHeading(String)

-	 */

-	public void setHeadingText(String headingText) {

-		this.headingText = headingText;

-	}

-

-	/**

-	 * @see IForm#update()

-	 */

-	public void update() {

-	}

-

-	protected boolean canPerformDirectly(String id, Control control) {

-		if (control instanceof Text) {

-			Text text = (Text) control;

-			if (id.equals(ActionFactory.CUT.getId())) {

-				text.cut();

-				return true;

-			}

-			if (id.equals(ActionFactory.COPY.getId())) {

-				text.copy();

-				return true;

-			}

-			if (id.equals(ActionFactory.PASTE.getId())) {

-				text.paste();

-				return true;

-			}

-			if (id.equals(ActionFactory.SELECT_ALL.getId())) {

-				text.selectAll();

-				return true;

-			}

-			if (id.equals(ActionFactory.DELETE.getId())) {

-				int count = text.getSelectionCount();

-				if (count == 0) {

-					int caretPos = text.getCaretPosition();

-					text.setSelection(caretPos, caretPos + 1);

-				}

-				text.insert("");

-				return true;

-			}

-		}

-		return false;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java
deleted file mode 100644
index 02903ca..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java
+++ /dev/null
@@ -1,217 +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.update.ui.forms.internal;

-import java.util.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.dnd.Clipboard;

-import org.eclipse.swt.custom.ScrolledComposite;

-import org.eclipse.swt.graphics.*;

-

-/**

- * This form class understands form sections.

- * It assumes that they are part of the form

- * and it offers life cycle handling of sections

- * once they are registered.

- */

-

-public abstract class AbstractSectionForm extends AbstractForm {

-	public static final int H_SCROLL_INCREMENT = 5;

-	public static final int V_SCROLL_INCREMENT = 64;

-	protected Vector sections = null;

-

-	public void registerSection(FormSection section) {

-		if (sections == null)

-			sections = new Vector();

-		if (!sections.contains(section))

-			sections.add(section);

-	}

-

-	public void unregisterSection(FormSection section) {

-		if (sections != null && sections.contains(section))

-			sections.remove(section);

-	}

-

-	public void initialize(Object model) {

-		if (sections != null) {

-			for (Iterator iter = sections.iterator(); iter.hasNext();) {

-				FormSection section = (FormSection) iter.next();

-				section.initialize(model);

-			}

-		}

-	}

-

-	public void setFocus() {

-		if (sections != null && sections.size() > 0) {

-			FormSection firstSection = (FormSection) sections.firstElement();

-			firstSection.setFocus();

-		}

-	}

-

-	public void update() {

-		if (sections != null) {

-			for (Iterator iter = sections.iterator(); iter.hasNext();) {

-				FormSection section = (FormSection) iter.next();

-				section.update();

-			}

-		}

-	}

-

-	public void commitChanges(boolean onSave) {

-		if (sections != null) {

-			for (Iterator iter = sections.iterator(); iter.hasNext();) {

-				FormSection section = (FormSection) iter.next();

-				if (section.isDirty())

-					section.commitChanges(onSave);

-			}

-		}

-	}

-

-	public boolean doGlobalAction(String actionId) {

-		Control focusControl = getFocusControl();

-		if (focusControl == null)

-			return false;

-

-		if (canPerformDirectly(actionId, focusControl))

-			return true;

-		Composite parent = focusControl.getParent();

-		FormSection targetSection = null;

-		while (parent != null) {

-			Object data = parent.getData();

-			if (data != null && data instanceof FormSection) {

-				targetSection = (FormSection) data;

-				break;

-			}

-			parent = parent.getParent();

-		}

-		if (targetSection != null) {

-			return targetSection.doGlobalAction(actionId);

-		}

-		return false;

-	}

-

-	protected Control getFocusControl() {

-		Control control = getControl();

-		if (control == null || control.isDisposed())

-			return null;

-		Display display = control.getDisplay();

-		Control focusControl = display.getFocusControl();

-		if (focusControl == null || focusControl.isDisposed())

-			return null;

-		return focusControl;

-	}

-

-	public boolean canPaste(Clipboard clipboard) {

-		Control focusControl = getFocusControl();

-		if (focusControl == null)

-			return false;

-		Composite parent = focusControl.getParent();

-		FormSection targetSection = null;

-		while (parent != null) {

-			Object data = parent.getData();

-			if (data != null && data instanceof FormSection) {

-				targetSection = (FormSection) data;

-				break;

-			}

-			parent = parent.getParent();

-		}

-		if (targetSection != null) {

-			return targetSection.canPaste(clipboard);

-		}

-		return false;

-	}

-

-	public void dispose() {

-		if (sections != null) {

-			for (Iterator iter = sections.iterator(); iter.hasNext();) {

-				FormSection section = (FormSection) iter.next();

-				section.dispose();

-			}

-		}

-		super.dispose();

-	}

-

-	public static void ensureVisible(ScrolledComposite scomp, Control control) {

-		Point controlSize = control.getSize();

-		Point controlOrigin = getControlLocation(scomp, control);

-		ensureVisible(scomp, controlOrigin, controlSize);

-	}

-

-	public static void ensureVisible(ScrolledComposite scomp, Point controlOrigin, Point controlSize) {

-		Point area = scomp.getContent().getSize();

-		Point scompOrigin = scomp.getOrigin();

-

-		int x = scompOrigin.x;

-		int y = scompOrigin.y;

-

-		if (controlOrigin.x + controlSize.x > scompOrigin.x + area.x) {

-			x = controlOrigin.x + controlSize.x - area.x;

-		}		

-		if (controlOrigin.x < x ) {

-			 x = controlOrigin.x;

-		 }         

-		

-		if (controlOrigin.y + controlSize.y > scompOrigin.y + area.y) {

-			y = controlOrigin.y + controlSize.y - area.y;

-		}

-		if (controlOrigin.y < y ) {

-			 y = controlOrigin.y;

-		 }         

-		scomp.setOrigin(x, y);

-	}

-	

-	public static Point getControlLocation(ScrolledComposite scomp, Control control) {

-		int x = 0;

-		int y = 0;

-		Control currentControl = control;

-		for (;;) {

-			if (currentControl == scomp)

-				break;

-			if (currentControl.getLocation().x > 0)

-				x += currentControl.getLocation().x;

-			if (currentControl.getLocation().y > 0)

-				y += currentControl.getLocation().y;

-			currentControl = currentControl.getParent();

-		}

-		return new Point(x, y);

-	}

-	

-	public static void scrollVertical(ScrolledComposite scomp, boolean up) {

-		scroll(scomp, 0, up ? -V_SCROLL_INCREMENT : V_SCROLL_INCREMENT);

-	}

-	public static void scrollHorizontal(ScrolledComposite scomp, boolean left) {

-		scroll(scomp, left ? -H_SCROLL_INCREMENT : H_SCROLL_INCREMENT, 0);

-	}

-	public static void scrollPage(ScrolledComposite scomp, boolean up) {

-		Rectangle clientArea = scomp.getClientArea();

-		int increment = up ? -clientArea.height : clientArea.height;

-		scroll(scomp, 0, increment);

-	}

-	private static void scroll(ScrolledComposite scomp, int xoffset, int yoffset) {

-		Point origin = scomp.getOrigin();

-		Point contentSize = scomp.getContent().getSize();

-		int xorigin = origin.x + xoffset;

-		int yorigin = origin.y + yoffset;

-		xorigin = Math.max(xorigin, 0);

-		xorigin = Math.min(xorigin, contentSize.x - 1);

-		yorigin = Math.max(yorigin, 0);

-		yorigin = Math.min(yorigin, contentSize.y - 1);

-		scomp.setOrigin(xorigin, yorigin);

-	}

-

-	public static void updatePageIncrement(ScrolledComposite scomp) {

-		ScrollBar vbar = scomp.getVerticalBar();

-		if (vbar != null) {

-			Rectangle clientArea = scomp.getClientArea();

-			int increment = clientArea.height - 5;

-			vbar.setPageIncrement(increment);

-		}

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java
deleted file mode 100644
index f88ebcc..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java
+++ /dev/null
@@ -1,143 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import java.util.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-import org.eclipse.swt.custom.*;

-

-

-public class CustomWorkbook implements IFormWorkbook {

-	private Hashtable pages;

-	private boolean firstPageSelected=true;

-	private CTabFolder tabFolder;

-	private Vector listeners=new Vector();

-	private IFormPage currentPage;

-

-public CustomWorkbook() {

-	pages = new Hashtable();

-}

-public void addFormSelectionListener(IFormSelectionListener listener) {

-	listeners.addElement(listener);

-}

-public void addPage(IFormPage page) {

-	CTabItem item = new CTabItem(tabFolder, SWT.NULL);

-	item.setText(page.getLabel());

-	item.setToolTipText(page.getTitle());

-	item.setData(page);

-	pages.put(page, item);

-	

-	if (firstPageSelected && currentPage == null)

-		selectPage(page, true);

-}

-public void createControl(Composite parent) {

-	tabFolder = new CTabFolder(parent, SWT.BOTTOM);

-	tabFolder.addSelectionListener(new SelectionAdapter() {

-		public void widgetSelected(SelectionEvent e) {

-			CTabItem item = (CTabItem) e.item;

-			IFormPage page = (IFormPage) item.getData();

-			if (page != null)

-				selectPage(page, true);

-		}

-	});

-	// listener to resize visible components

-	tabFolder.addListener(SWT.Resize, new Listener() {

-		public void handleEvent(Event e) {

-			if (currentPage != null)

-				setControlSize(currentPage.getControl());

-		}

-	});

-}

-private void fireSelectionChanged(IFormPage page, boolean setFocus) {

-	for (Iterator iter = listeners.iterator(); iter.hasNext();) {

-		IFormSelectionListener listener = (IFormSelectionListener) iter.next();

-		listener.formSelected(page, setFocus);

-	}

-}

-public Control getControl() {

-	return tabFolder;

-}

-public IFormPage getCurrentPage() {

-	return currentPage;

-}

-public boolean isFirstPageSelected() {

-	return firstPageSelected;

-}

-public void removeFormSelectionListener(IFormSelectionListener listener) {

-	listeners.removeElement(listener);

-}

-public void removePage(IFormPage page) {

-	CTabItem item = (CTabItem) pages.get(page);

-	if (item != null)

-		item.dispose();

-}

-private void reselectPage(final IFormPage page) {

-	tabFolder.getDisplay().asyncExec(new Runnable() {

-		public void run() {

-		selectPage(page, true);

-		}

-	});

-}

-public void selectPage(final IFormPage page, final boolean setFocus) {

-	final IFormPage oldPage = currentPage;

-	currentPage = page;

-

-	// It may take a while

-	BusyIndicator.showWhile(tabFolder.getDisplay(), new Runnable() {

-		public void run() {

-			switchPages(oldPage, page, setFocus);

-		}

-	});

-}

-private void setControlSize(Control control) {

-	Rectangle bounds = tabFolder.getBounds();

-	Rectangle offset = tabFolder.getClientArea();

-	bounds.x += offset.x;

-	bounds.y += offset.y;

-	bounds.width = offset.width;

-	bounds.height = offset.height;

-	control.setBounds(bounds);

-	control.moveAbove(tabFolder);

-}

-private void setControlVisible(Control control) {

-	if (control == null)

-		return;

-	setControlSize(control);

-	control.setVisible(true);

-}

-public void setFirstPageSelected(boolean newFirstPageSelected) {

-	firstPageSelected = newFirstPageSelected;

-}

-private void switchPages(IFormPage oldPage, IFormPage newPage, boolean setFocus) {

-	if (oldPage != null && oldPage!=newPage) {

-		boolean okToSwitch = oldPage.becomesInvisible(newPage);

-		if (!okToSwitch) {

-			// We must try to go back to the source page

-			reselectPage(oldPage);

-			return;

-		}

-	}

-	if (newPage.getControl() == null)

-		newPage.createControl(tabFolder);

-	tabFolder.setSelection((CTabItem) pages.get(newPage));

-	if (oldPage != null && oldPage != newPage) {

-		Control oldControl = oldPage.getControl();

-		if (oldControl!=null) oldControl.setVisible(false);

-	}

-	Control newControl = newPage.getControl();

-	newPage.becomesVisible(oldPage);

-	setControlVisible(newControl);

-	fireSelectionChanged(newPage, setFocus);

-}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java
deleted file mode 100644
index edb5f8a..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java
+++ /dev/null
@@ -1,211 +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.update.ui.forms.internal;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.*;

-

-public abstract class ExpandableGroup {

-	private String text;

-	private boolean expanded;

-	private Composite expansion;

-	protected SelectableFormLabel textLabel;

-	private Composite control;

-	private boolean expandable=true;

-	

-class ExpandableLayout extends Layout {

-	protected void layout(Composite parent, boolean changed) {

-		Rectangle clientArea = parent.getClientArea();

-		Point size = textLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);

-		int x = 0;

-		int y = 1;

-		

-		if (expandable) {

-			x = 8 + 8;

-		}

-		textLabel.setBounds(x, y, size.x, size.y);

-	

-		if (expandable)

-		   y = Math.max(size.y, 8) + 2 + 2;

-		else

-		   y = size.y + 2;

-		if (expanded) {

-			int areaWidth = clientArea.width - x;

-			size = expansion.computeSize(areaWidth, SWT.DEFAULT, changed);

-			expansion.setBounds(x, y, size.x, size.y);

-		}

-	}

-

-	protected Point computeSize(Composite parent, int wHint, int hHint, boolean changed) {

-		int width = 0, height = 0;

-		Point size = textLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);

-		width = size.x;

-		height = size.y + 2 + 2;

-		if (expanded) {

-			size = expansion.computeSize(wHint, SWT.DEFAULT, changed);

-			width = Math.max(width, size.x);

-			height += size.y;

-		}

-		if (expandable) {

-			height = Math.max(height, 8);

-			width += 8 + 8;

-		}

-		return new Point(width, height);

-	}

-}

-

-	public ExpandableGroup() {

-	}

-	

-	public ExpandableGroup(int style) {

-		//this.style = style;

-	}

-	

-	public Control getControl() {

-		return control;

-	}

-	

-	public void createControl(Composite parent, final FormWidgetFactory factory) {

-		final Canvas container = new Canvas(parent, SWT.NULL);

-		container.setBackground(factory.getBackgroundColor());

-		container.setLayout(new ExpandableLayout());

-		container.addPaintListener(new PaintListener() {

-			public void paintControl(PaintEvent e) {

-				if (expandable) repaint(e);

-			}

-		});

-		container.addMouseListener(new MouseAdapter() {

-			public void mouseUp(MouseEvent e) {

-				Rectangle box = getBoxBounds(null);

-				if (box.contains(e.x, e.y)) {

-					container.setCursor(factory.getBusyCursor());

-					setExpanded(!isExpanded());

-					container.setCursor(null);

-				}

-			}

-		});

-		textLabel = createTextLabel(container, factory);

-		getHyperlinkHandler(factory).registerHyperlink(textLabel, new HyperlinkAdapter () {

-			public void linkActivated(Control link) {

-				ExpandableGroup.this.linkActivated();

-				if (expandable) setExpanded(!isExpanded());

-			}

-		});

-		textLabel.addFocusListener(factory.visibilityHandler);

-		textLabel.addKeyListener(factory.keyboardHandler);		

-		if (text!=null) textLabel.setText(text);

-		expansion = factory.createComposite(container);

-		fillExpansion(expansion, factory);

-		this.control = container;

-	}

-	

-	protected SelectableFormLabel createTextLabel(Composite parent, FormWidgetFactory factory) {

-		SelectableFormLabel text = new SelectableFormLabel(parent, SWT.WRAP);

-		text.setBackground(factory.getBackgroundColor());

-		return text;

-	}

-	

-	protected HyperlinkHandler getHyperlinkHandler(FormWidgetFactory factory) {

-		return factory.getHyperlinkHandler();

-	}

-	

-	public abstract void fillExpansion(Composite expansion, FormWidgetFactory factory);

-	

-	public void setText(String text) {

-		this.text = text;

-		if (textLabel!=null)

-		   textLabel.setText(text);

-	}

-	

-	public String getText() {

-		return text;

-	}

-	

-	public boolean isExpanded() {

-		return expanded;

-	}

-	

-	public void setExpandable(boolean expandable) {

-		this.expandable = expandable;

-	}

-	

-	public boolean isExpandable() {

-		return expandable;

-	}

-	

-	public void setExpanded(boolean expanded) {

-		if (this.expanded != expanded) {

-			if (expanded) {

-				aboutToExpand();

-			}

-			else {

-				aboutToCollapse();

-			}

-			this.expanded = expanded;

-			expansion.setVisible(expanded);

-			control.layout();

-			if (expanded) {

-				this.expanded();

-			}

-			else {

-				collapsed();

-			}

-		}

-	}

-	

-	private void repaint(PaintEvent e) {

-		GC gc = e.gc;

-		Rectangle box = getBoxBounds(gc);

-		gc.setForeground(control.getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW));

-		gc.drawRectangle(box);

-		gc.setForeground(control.getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND));

-		gc.drawLine(box.x+2, box.y+4, box.x+6, box.y+4);

-		if (!isExpanded()) {

-			gc.drawLine(box.x+4, box.y+2, box.x+4, box.y+6);

-		}

-	}

-	

-	private Rectangle getBoxBounds(GC gc) {

-		int x = 0;

-		int y = 0;

-		boolean noGC = false;

-	

-		if (gc==null) {

-			gc = new GC(control);

-			noGC = true;

-		}

-		gc.setFont(textLabel.getFont());

-		int height = gc.getFontMetrics().getHeight();

-		y = height/2 - 4 +1;

-		y = Math.max(y, 0);

-		if (noGC) gc.dispose();

-		return new Rectangle(x, y, 8, 8);

-	}

-	

-	protected void updateLayout() {

-		control.layout();

-	}

-	

-	protected void aboutToExpand() {

-	}

-	

-	protected void aboutToCollapse() {

-	}

-	

-	protected void expanded() {

-	}

-	protected void collapsed() {

-	}

-	protected void linkActivated() {

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java
deleted file mode 100644
index c307edf..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.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.update.ui.forms.internal;

-

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.graphics.*;

-

-public class FormButton {

-	private Button button;

-	private Image image;

-	private FormWidgetFactory factory;

-	private Image hoverImage;

-	private boolean inside;

-	private Image disabledImage;

-

-public FormButton(Button button, FormWidgetFactory factory) {

-	this.button = button;

-	this.factory = factory;

-	button.addMouseTrackListener(new MouseTrackAdapter() {

-		public void mouseEnter(MouseEvent e) {

-			inside=true;

-			updateImage();

-		}

-		public void mouseExit(MouseEvent e) {

-			inside=false;

-			updateImage();

-		}

-	});

-}

-public Button getButton() {

-	return button;

-}

-public Image getDisabledImage() {

-	return disabledImage;

-}

-public Image getHoverImage() {

-	return hoverImage;

-}

-public Image getImage() {

-	return image;

-}

-public void setDisabledImage(Image newDisabledImage) {

-	disabledImage = newDisabledImage;

-}

-public void setEnabled(boolean enabled) {

-	button.setEnabled(enabled);

-	updateImage();

-}

-public void setHoverImage(Image newHoverImage) {

-	hoverImage = newHoverImage;

-}

-public void setImage(Image newImage) {

-	image = newImage;

-	if (hoverImage==null) hoverImage = image;

-	if (disabledImage==null) disabledImage = image;

-	updateImage();

-}

-public void updateImage() {

-	boolean enabled = button.isEnabled();

-	if (enabled == false) {

-		button.setImage(disabledImage);

-	} else {

-		if (inside) {

-			button.setCursor(factory.getHyperlinkCursor());

-			button.setImage(hoverImage);

-		} else {

-			button.setCursor(null);

-			button.setImage(image);

-		}

-	}

-}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java
deleted file mode 100644
index a5e7e14..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java
+++ /dev/null
@@ -1,103 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.widgets.*;

-import java.util.*;

-

-public class FormEntry {

-	private Text text;

-	private String value;

-	private boolean dirty;

-	private Vector listeners=new Vector();

-	boolean ignoreModify=false;

-

-public FormEntry(Text text) {

-	this.text = text;

-	this.value = text.getText();

-	addListeners();

-}

-public void addFormTextListener(IFormTextListener listener) {

-	listeners.addElement(listener);

-}

-private void addListeners() {

-	text.addKeyListener(new KeyAdapter() {

-		public void keyReleased(KeyEvent e) {

-			keyReleaseOccured(e);

-		}

-	});

-	text.addModifyListener(new ModifyListener() {

-		public void modifyText(ModifyEvent e) {

-			editOccured(e);

-		}

-	});

-	text.addFocusListener (new FocusAdapter() {

-		public void focusLost(FocusEvent e) {

-			if (dirty) commit();

-		}

-	});

-}

-public void commit() {

-	if (dirty) {

-		value = text.getText();

-		//notify

-		for (Iterator iter = listeners.iterator(); iter.hasNext();) {

-			((IFormTextListener) iter.next()).textValueChanged(this);

-		}

-	}

-	dirty = false;

-}

-protected void editOccured(ModifyEvent e) {

-	if (ignoreModify) return;

-	dirty = true;

-	for (Iterator iter = listeners.iterator(); iter.hasNext();) {

-		((IFormTextListener) iter.next()).textDirty(this);

-	}

-}

-

-public Text getControl() {

-	return text;

-}

-public java.lang.String getValue() {

-	return value;

-}

-public boolean isDirty() {

-	return dirty;

-}

-protected void keyReleaseOccured(KeyEvent e) {

-	if (e.character == '\r') {

-		// commit value

-		if (dirty) commit();

-	}

-	else if (e.character == '\u001b') { // Escape character

-		text.setText(value!=null?value:""); // restore old

-		dirty= false;

-	}

-}

-public void removeFormTextListener(IFormTextListener listener) {

-	listeners.removeElement(listener);

-}

-public void setDirty(boolean newDirty) {

-	dirty = newDirty;

-}

-public void setValue(String value) {

-	if (text!=null) text.setText(value!=null?value:"");

-	this.value = value;

-}

-

-public void setValue(String value, boolean blockNotification) {

-	ignoreModify = blockNotification;

-	setValue(value);

-	ignoreModify = false;

-}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java
deleted file mode 100644
index 965e1e8..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java
+++ /dev/null
@@ -1,238 +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.update.ui.forms.internal;

-

-import java.text.BreakIterator;

-

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.accessibility.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-

-/**

- * FormText is a windowless control that

- * draws text in the provided context.

- */

-public class FormLabel extends Canvas {

-	private String text = "";

-	protected int textMarginWidth = 5;

-	protected int textMarginHeight = 5;

-	private boolean underlined;

-

-	public FormLabel(Composite parent, int style) {

-		super(parent, style);

-		addPaintListener(new PaintListener() {

-			public void paintControl(PaintEvent e) {

-				paint(e);

-			}

-		});

-		initAccessible();

-	}

-	public String getText() {

-		return text;

-	}

-	public void setText(String text) {

-		if (text != null)

-			this.text = text;

-		else

-			text = "";

-	}

-

-	protected void initAccessible() {

-		Accessible accessible = getAccessible();

-		accessible.addAccessibleListener(new AccessibleAdapter() {

-			public void getName(AccessibleEvent e) {

-				e.result = getText();

-			}

-

-			public void getHelp(AccessibleEvent e) {

-				e.result = getToolTipText();

-			}

-		});

-

-		accessible

-			.addAccessibleControlListener(new AccessibleControlAdapter() {

-			public void getChildAtPoint(AccessibleControlEvent e) {

-				Point pt = toControl(new Point(e.x, e.y));

-				e.childID =

-					(getBounds().contains(pt))

-						? ACC.CHILDID_SELF

-						: ACC.CHILDID_NONE;

-			}

-

-			public void getLocation(AccessibleControlEvent e) {

-				Rectangle location = getBounds();

-				Point pt = toDisplay(new Point(location.x, location.y));

-				e.x = pt.x;

-				e.y = pt.y;

-				e.width = location.width;

-				e.height = location.height;

-			}

-

-			public void getChildCount(AccessibleControlEvent e) {

-				e.detail = 0;

-			}

-

-			public void getRole(AccessibleControlEvent e) {

-				e.detail = ACC.ROLE_LABEL;

-			}

-

-			public void getState(AccessibleControlEvent e) {

-				e.detail = ACC.STATE_READONLY;

-			}

-		});

-	}

-

-	public void setUnderlined(boolean underlined) {

-		this.underlined = underlined;

-	}

-

-	public boolean isUnderlined() {

-		return underlined;

-	}

-

-	public Point computeSize(int wHint, int hHint, boolean changed) {

-		checkWidget();

-		int innerWidth = wHint;

-		if (innerWidth != SWT.DEFAULT)

-			innerWidth -= textMarginWidth * 2;

-		Point textSize = computeTextSize(innerWidth, hHint);

-		int textWidth = textSize.x + 2 * textMarginWidth;

-		int textHeight = textSize.y + 2 * textMarginHeight;

-		return new Point(textWidth, textHeight);

-	}

-

-	public static int computeWrapHeight(GC gc, String text, int width) {

-		BreakIterator wb = BreakIterator.getWordInstance();

-		wb.setText(text);

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-

-		int saved = 0;

-		int last = 0;

-		int height = lineHeight;

-

-		for (int loc = wb.first();

-			loc != BreakIterator.DONE;

-			loc = wb.next()) {

-			String word = text.substring(saved, loc);

-			Point extent = gc.textExtent(word);

-			if (extent.x > width) {

-				// overflow

-				saved = last;

-				height += extent.y;

-			}

-			last = loc;

-		}

-		return height;

-	}

-

-	private Point computeTextSize(int wHint, int hHint) {

-		Point extent;

-		GC gc = new GC(this);

-

-		gc.setFont(getFont());

-		if ((getStyle() & SWT.WRAP) != 0 && wHint != SWT.DEFAULT) {

-			int height = computeWrapHeight(gc, text, wHint);

-			extent = new Point(wHint, height);

-		} else {

-			extent = gc.textExtent(getText());

-		}

-		gc.dispose();

-		return extent;

-	}

-

-	public static void paintWrapText(

-		GC gc,

-		Point size,

-		String text,

-		int marginWidth,

-		int marginHeight) {

-		paintWrapText(gc, size, text, marginWidth, marginHeight, false);

-	}

-

-	public static void paintWrapText(

-		GC gc,

-		Point size,

-		String text,

-		int marginWidth,

-		int marginHeight,

-		boolean underline) {

-		BreakIterator wb = BreakIterator.getWordInstance();

-		wb.setText(text);

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-		int descent = fm.getDescent();

-

-		int saved = 0;

-		int last = 0;

-		int y = marginHeight;

-		int width = size.x - marginWidth * 2;

-

-		for (int loc = wb.first();

-			loc != BreakIterator.DONE;

-			loc = wb.next()) {

-			String line = text.substring(saved, loc);

-			Point extent = gc.textExtent(line);

-			if (extent.x > width) {

-				// overflow

-				String prevLine = text.substring(saved, last);

-				gc.drawString(prevLine, marginWidth, y, true);

-				if (underline) {

-					Point prevExtent = gc.textExtent(prevLine);

-					int lineY = y + lineHeight - descent + 1;

-					gc.drawLine(marginWidth, lineY, prevExtent.x, lineY);

-				}

-

-				saved = last;

-				y += lineHeight;

-			}

-			last = loc;

-		}

-		// paint the last line

-		String lastLine = text.substring(saved, last);

-		gc.drawString(lastLine, marginWidth, y, true);

-		if (underline) {

-			int lineY = y + lineHeight - descent + 1;

-			Point lastExtent = gc.textExtent(lastLine);

-			gc.drawLine(marginWidth, lineY, marginWidth + lastExtent.x, lineY);

-		}

-	}

-

-	protected void paint(PaintEvent e) {

-		GC gc = e.gc;

-		Point size = getSize();

-		gc.setFont(getFont());

-		gc.setForeground(getForeground());

-		if ((getStyle() & SWT.WRAP) != 0) {

-			paintWrapText(

-				gc,

-				size,

-				text,

-				textMarginWidth,

-				textMarginHeight,

-				underlined);

-		} else {

-			gc.drawText(getText(), textMarginWidth, textMarginHeight, true);

-			if (underlined) {

-				FontMetrics fm = gc.getFontMetrics();

-				int descent = fm.getDescent();

-				int lineY = size.y - textMarginHeight - descent + 1;

-				gc.drawLine(

-					textMarginWidth,

-					lineY,

-					size.x - textMarginWidth,

-					lineY);

-			}

-		}

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java
deleted file mode 100644
index 742231d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java
+++ /dev/null
@@ -1,531 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.*;

-import org.eclipse.jface.util.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.dnd.Clipboard;

-

-public abstract class FormSection implements IPropertyChangeListener {

-	public static final int SELECTION = 1;

-	private String headerColorKey = FormWidgetFactory.DEFAULT_HEADER_COLOR;

-	private String headerText;

-	private Control client;

-	protected Label header;

-	protected Control separator;

-	private SectionChangeManager sectionManager;

-	private String description;

-	private boolean dirty;

-	protected Label descriptionLabel;

-	private ToggleControl toggle;

-	private boolean readOnly;

-	private boolean addSeparator = true;

-	private boolean descriptionPainted = true;

-	private boolean headerPainted = true;

-	private boolean collapsable = false;

-	private boolean collapsed = false;

-	private int widthHint = SWT.DEFAULT;

-	private int heightHint = SWT.DEFAULT;

-	private Composite control;

-	public boolean compactMode=false;

-

-	/*

-	 * This is a special layout for the section. Both the

-	 * header and the description labels will wrap and

-	 * they will use client's size to calculate needed

-	 * height. This kind of behaviour is not possible

-	 * with stock grid layout.

-	 */

-	class SectionLayout extends Layout implements ILayoutExtension {

-		int vspacing = 3;

-		int sepHeight = 2;

-

-		public int getMinimumWidth(Composite parent, boolean flush) {

-			return 30;

-		}

-

-		public int getMaximumWidth(Composite parent, boolean flush) {

-			int maxWidth = 0;

-			if (client != null) {

-				if (client instanceof Composite) {

-					Layout cl = ((Composite) client).getLayout();

-					if (cl instanceof ILayoutExtension)

-						maxWidth =

-							((ILayoutExtension) cl).getMaximumWidth(

-								(Composite) client,

-								flush);

-				}

-				if (maxWidth == 0) {

-					Point csize =

-						client.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);

-					maxWidth = csize.x;

-				}

-			}

-			if (headerPainted && header != null) {

-				Point hsize =

-					header.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);

-				maxWidth = Math.max(maxWidth, hsize.x);

-			}

-			if (descriptionPainted && descriptionLabel != null) {

-				Point dsize =

-					descriptionLabel.computeSize(

-						SWT.DEFAULT,

-						SWT.DEFAULT,

-						flush);

-				maxWidth = Math.max(maxWidth, dsize.x);

-			}

-			return maxWidth;

-		}

-

-		protected Point computeSize(

-			Composite parent,

-			int wHint,

-			int hHint,

-			boolean flush) {

-			int width = 0;

-			int height = 0;

-			int cwidth = 0;

-			int collapsedHeight = 0;

-

-			if (wHint != SWT.DEFAULT)

-				width = wHint;

-			if (hHint != SWT.DEFAULT)

-				height = hHint;

-

-			cwidth = width;

-

-			if (client != null && !client.isDisposed()) {

-				if (toggle != null && toggle.getSelection() && compactMode) {

-				}

-				else {

-				//Point csize = client.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);

-				Point csize = client.computeSize(wHint, SWT.DEFAULT);

-				if (width == 0) {

-					width = csize.x;

-					cwidth = width;

-				}

-				if (height == 0)

-					height = csize.y;

-				}

-			}

-

-			Point toggleSize = null;

-

-			if (collapsable && toggle != null)

-				toggleSize =

-					toggle.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);

-

-			if (hHint == SWT.DEFAULT && headerPainted && header != null) {

-				int hwidth = cwidth;

-				if (toggleSize != null)

-					hwidth = cwidth - toggleSize.x - 5;

-				Point hsize = header.computeSize(hwidth, SWT.DEFAULT, flush);

-				height += hsize.y;

-				collapsedHeight = hsize.y;

-				height += vspacing;

-			}

-

-			if (hHint == SWT.DEFAULT && addSeparator) {

-				height += sepHeight;

-				height += vspacing;

-				collapsedHeight += vspacing + sepHeight;

-			}

-			if (hHint == SWT.DEFAULT

-				&& descriptionPainted

-				&& descriptionLabel != null) {

-				Point dsize =

-					descriptionLabel.computeSize(cwidth, SWT.DEFAULT, flush);

-				height += dsize.y;

-				height += vspacing;

-			}

-			if (toggle != null && toggle.getSelection()) {

-				// collapsed state

-				height = collapsedHeight;

-			}

-			return new Point(width, height);

-		}

-		protected void layout(Composite parent, boolean flush) {

-			int width = parent.getClientArea().width;

-			int height = parent.getClientArea().height;

-			int y = 0;

-			Point toggleSize = null;

-

-			if (collapsable) {

-				toggleSize =

-					toggle.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);

-			}

-			if (headerPainted && header != null) {

-				Point hsize;

-

-				int availableWidth = width;

-				if (toggleSize != null)

-					availableWidth = width - toggleSize.x - 5;

-				hsize = header.computeSize(availableWidth, SWT.DEFAULT, flush);

-				int hx = 0;

-				if (toggle != null) {

-					int ty = y + hsize.y - toggleSize.y;

-					toggle.setBounds(0, ty, toggleSize.x, toggleSize.y);

-					hx = toggleSize.x; // + 5;

-				}

-				header.setBounds(hx, y, availableWidth, hsize.y);

-

-				y += hsize.y + vspacing;

-			}

-			if (addSeparator && separator != null) {

-				separator.setBounds(0, y, width, 2);

-				y += sepHeight + vspacing;

-			}

-			if (toggle != null && toggle.getSelection()) {

-				return;

-			}

-			if (descriptionPainted && descriptionLabel != null) {

-				Point dsize =

-					descriptionLabel.computeSize(width, SWT.DEFAULT, flush);

-				descriptionLabel.setBounds(0, y, width, dsize.y);

-				y += dsize.y + vspacing;

-			}

-			if (client != null) {

-				client.setBounds(0, y, width, height - y);

-			}

-		}

-	}

-

-	/**

-	 * @return

-	 */

-	public boolean isCompactMode() {

-		return compactMode;

-	}

-

-	/**

-	 * @param compactMode

-	 */

-	public void setCompactMode(boolean compactMode) {

-		this.compactMode = compactMode;

-	}

-

-	public FormSection() {

-		/*

-		// Description causes problems re word wrapping

-		// and causes bad layout in schema and

-		// feature editors when in Motif - turning off

-		if (SWT.getPlatform().equals("motif")) {

-			descriptionPainted = false;

-		}

-		*/

-		JFaceResources.getFontRegistry().addListener(this);

-	}

-	public void commitChanges(boolean onSave) {

-	}

-	public abstract Composite createClient(

-		Composite parent,

-		FormWidgetFactory factory);

-	public final Control createControl(

-		Composite parent,

-		final FormWidgetFactory factory) {

-		Composite section = factory.createComposite(parent);

-		SectionLayout slayout = new SectionLayout();

-		section.setLayout(slayout);

-		section.setData(this);

-

-		if (headerPainted) {

-			Color headerColor = factory.getColor(getHeaderColorKey());

-			header =

-				factory.createHeadingLabel(

-					section,

-					getHeaderText(),

-					headerColor,

-					SWT.WRAP);

-			if (collapsable) {

-				toggle = new ToggleControl(section, SWT.NULL);

-				toggle.setSelection(collapsed);

-				toggle.setBackground(factory.getBackgroundColor());

-				toggle.setActiveDecorationColor(factory.getHyperlinkColor());

-				toggle.setDecorationColor(

-					factory.getColor(

-						FormWidgetFactory.COLOR_COMPOSITE_SEPARATOR));

-				toggle.setActiveCursor(factory.getHyperlinkCursor());

-				toggle.addFocusListener(factory.visibilityHandler);

-				toggle.addKeyListener(factory.keyboardHandler);

-				toggle.addSelectionListener(new SelectionAdapter() {

-					public void widgetSelected(SelectionEvent e) {

-						doToggle();

-					}

-				});

-				header.addMouseListener(new MouseAdapter() {

-					public void mouseDown(MouseEvent e) {

-						toggle.setSelection(!toggle.getSelection());

-						toggle.redraw();

-						doToggle();

-					}

-				});

-				header.addMouseTrackListener(new MouseTrackAdapter() {

-					public void mouseEnter(MouseEvent e) {

-						header.setCursor(factory.getHyperlinkCursor());

-					}

-					public void mouseExit(MouseEvent e) {

-						header.setCursor(null);

-					}

-				});

-			}

-		}

-

-		if (addSeparator) {

-			//separator = factory.createSeparator(section, SWT.HORIZONTAL);

-			separator = factory.createCompositeSeparator(section);

-		}

-

-		if (descriptionPainted && description != null) {

-			descriptionLabel =

-				factory.createLabel(section, description, SWT.WRAP);

-		}

-		client = createClient(section, factory);

-		section.setData(this);

-		control = section;

-		return section;

-	}

-

-	private void doToggle() {

-		collapsed = toggle.getSelection();

-		reflow();

-		if (descriptionLabel != null)

-			descriptionLabel.setVisible(!collapsed);

-		if (client != null)

-			client.setVisible(!collapsed);

-	}

-

-	protected void reflow() {

-		control.setRedraw(false);

-		control.getParent().setRedraw(false);

-		control.layout(true);

-		control.getParent().layout(true);

-		control.setRedraw(true);

-		control.getParent().setRedraw(true);

-	}

-

-	protected Text createText(

-		Composite parent,

-		String label,

-		FormWidgetFactory factory) {

-		return createText(parent, label, factory, 1);

-	}

-	protected Text createText(

-		Composite parent,

-		String label,

-		FormWidgetFactory factory,

-		int span) {

-		factory.createLabel(parent, label);

-		Text text = factory.createText(parent, "");

-		int hfill =

-			span == 1

-				? GridData.FILL_HORIZONTAL

-				: GridData.HORIZONTAL_ALIGN_FILL;

-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);

-		gd.horizontalSpan = span;

-		text.setLayoutData(gd);

-		return text;

-	}

-	protected Text createText(

-		Composite parent,

-		String label,

-		FormWidgetFactory factory,

-		int span,

-		int style) {

-		Label l = factory.createLabel(parent, label);

-		if ((style & SWT.MULTI) != 0) {

-			GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);

-			l.setLayoutData(gd);

-		}

-		Text text = factory.createText(parent, "", style);

-		int hfill =

-			span == 1

-				? GridData.FILL_HORIZONTAL

-				: GridData.HORIZONTAL_ALIGN_FILL;

-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);

-		gd.horizontalSpan = span;

-		text.setLayoutData(gd);

-		return text;

-	}

-	protected Text createText(

-		Composite parent,

-		FormWidgetFactory factory,

-		int span) {

-		Text text = factory.createText(parent, "");

-		int hfill =

-			span == 1

-				? GridData.FILL_HORIZONTAL

-				: GridData.HORIZONTAL_ALIGN_FILL;

-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);

-		//gd.grabExcessHorizontalSpace = true;

-		gd.horizontalSpan = span;

-		text.setLayoutData(gd);

-		return text;

-	}

-	public void dispose() {

-		JFaceResources.getFontRegistry().removeListener(this);

-	}

-	public boolean doGlobalAction(String actionId) {

-		return false;

-	}

-	public void expandTo(Object object) {

-	}

-	public final void fireChangeNotification(

-		int changeType,

-		Object changeObject) {

-		if (sectionManager == null)

-			return;

-		sectionManager.dispatchNotification(this, changeType, changeObject);

-	}

-	public final void fireSelectionNotification(Object changeObject) {

-		fireChangeNotification(SELECTION, changeObject);

-	}

-	public java.lang.String getDescription() {

-		return description;

-	}

-	public java.lang.String getHeaderColorKey() {

-		return headerColorKey;

-	}

-	public java.lang.String getHeaderText() {

-		return headerText;

-	}

-	public int getHeightHint() {

-		return heightHint;

-	}

-	public int getWidthHint() {

-		return widthHint;

-	}

-	public void initialize(Object input) {

-	}

-	public boolean isAddSeparator() {

-		return addSeparator;

-	}

-	public boolean isDescriptionPainted() {

-		return descriptionPainted;

-	}

-	public boolean isDirty() {

-		return dirty;

-	}

-	public boolean isHeaderPainted() {

-		return headerPainted;

-	}

-	public boolean isReadOnly() {

-		return readOnly;

-	}

-	public void sectionChanged(

-		FormSection source,

-		int changeType,

-		Object changeObject) {

-	}

-	public void setAddSeparator(boolean newAddSeparator) {

-		addSeparator = newAddSeparator;

-	}

-

-	private String trimNewLines(String text) {

-		StringBuffer buff = new StringBuffer();

-		for (int i = 0; i < text.length(); i++) {

-			char c = text.charAt(i);

-			if (c == '\n')

-				buff.append(' ');

-			else

-				buff.append(c);

-		}

-		return buff.toString();

-	}

-

-	public void setDescription(java.lang.String newDescription) {

-		// we will trim the new lines so that we can

-		// use layout-based word wrapping instead

-		// of hard-coded one

-		description = trimNewLines(newDescription);

-		//description = newDescription;

-		if (descriptionLabel != null)

-			descriptionLabel.setText(newDescription);

-	}

-	public void setDescriptionPainted(boolean newDescriptionPainted) {

-		descriptionPainted = newDescriptionPainted;

-	}

-	public void setDirty(boolean newDirty) {

-		dirty = newDirty;

-	}

-	public void setFocus() {

-		if (toggle != null)

-			toggle.setFocus();

-	}

-	public void setHeaderColorKey(java.lang.String newHeaderColorKey) {

-		headerColorKey = newHeaderColorKey;

-	}

-	public void setHeaderPainted(boolean newHeaderPainted) {

-		headerPainted = newHeaderPainted;

-	}

-	public void setHeaderText(java.lang.String newHeaderText) {

-		headerText = newHeaderText;

-		if (header != null)

-			header.setText(headerText);

-	}

-	public void setHeightHint(int newHeightHint) {

-		heightHint = newHeightHint;

-	}

-	void setManager(SectionChangeManager manager) {

-		this.sectionManager = manager;

-	}

-	public void setReadOnly(boolean newReadOnly) {

-		readOnly = newReadOnly;

-	}

-

-	public void setWidthHint(int newWidthHint) {

-		widthHint = newWidthHint;

-	}

-

-	public void update() {

-	}

-

-	public void propertyChange(PropertyChangeEvent arg0) {

-		if (control != null && header != null && !control.isDisposed() && !header.isDisposed()) {

-			header.setFont(JFaceResources.getBannerFont());

-			control.layout(true);

-		}

-	}

-

-	/**

-	 * Gets the collapsable.

-	 * @return Returns a boolean

-	 */

-	public boolean getCollapsable() {

-		return collapsable;

-	}

-

-	/**

-	 * Sets the collapsable.

-	 * @param collapsable The collapsable to set

-	 */

-	public void setCollapsable(boolean collapsable) {

-		this.collapsable = collapsable;

-	}

-

-	public void setCollapsed(boolean collapsed) {

-		this.collapsed = collapsed;

-	}

-	

-	public boolean isCollapsed() {

-		return collapsed;

-	}

-

-	public boolean canPaste(Clipboard clipboard) {

-		return false;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java
deleted file mode 100644
index 74b9cd7..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java
+++ /dev/null
@@ -1,435 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.graphics.*;

-import java.util.*;

-import org.eclipse.swt.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.custom.*;

-import org.eclipse.ui.actions.*;

-import org.eclipse.update.ui.forms.internal.engine.FormEngine;

-

-public class FormWidgetFactory {

-	public static final String KEY_DRAW_BORDER = "FormWidgetFactory.drawBorder";

-	public static final String TREE_BORDER = "treeBorder";

-	public static final String DEFAULT_HEADER_COLOR = "__default__header__";

-	public static final String COLOR_BORDER = "__border";

-	public static final String COLOR_COMPOSITE_SEPARATOR = "__compSep";

-

-	private Hashtable colorRegistry = new Hashtable();

-	private Color backgroundColor;

-	private KeyListener deleteListener;

-	private Color foregroundColor;

-	private Display display;

-	public static final int BORDER_STYLE = SWT.NONE; //SWT.BORDER;

-	private BorderPainter borderPainter;

-	private Color borderColor;

-	private HyperlinkHandler hyperlinkHandler;

-	/* default */ VisibilityHandler visibilityHandler;

-	/* default */ KeyboardHandler keyboardHandler;

-

-	class BorderPainter implements PaintListener {

-		public void paintControl(PaintEvent event) {

-			Composite composite = (Composite) event.widget;

-			Control[] children = composite.getChildren();

-			for (int i = 0; i < children.length; i++) {

-				Control c = children[i];

-				boolean inactiveBorder=false;

-				if (c.getEnabled() == false && !(c instanceof CCombo))

-					continue;

-				if (c instanceof SelectableFormLabel)

-					continue;

-				Object flag = c.getData(KEY_DRAW_BORDER);

-				if (flag!=null) {

-					if (flag.equals(Boolean.FALSE)) continue;

-					if (flag.equals(TREE_BORDER)) inactiveBorder=true;

-				}

-				 

-				if (!inactiveBorder && (c instanceof Text || c instanceof Canvas || c instanceof CCombo)) {

-					Rectangle b = c.getBounds();

-					GC gc = event.gc;

-					gc.setForeground(c.getBackground());

-					gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1, b.height + 1);

-					gc.setForeground(foregroundColor);

-					if (c instanceof CCombo)

-						gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1, b.height + 1);

-					else 

-						gc.drawRectangle(b.x - 1, b.y - 2, b.width + 1, b.height + 3);

-				} else if (inactiveBorder ||c instanceof Table || c instanceof Tree || c instanceof TableTree) {

-					Rectangle b = c.getBounds();

-					GC gc = event.gc;

-					gc.setForeground(borderColor);

-					//gc.drawRectangle(b.x - 2, b.y - 2, b.width + 3, b.height + 3);

-					gc.drawRectangle(b.x - 1, b.y - 1, b.width + 2, b.height + 2);

-				}

-			}

-		}

-	}

-

-	class VisibilityHandler extends FocusAdapter {

-		public void focusGained(FocusEvent e) {

-			Widget w = e.widget;

-			if (w instanceof Control) {

-				ensureVisible((Control) w);

-			}

-		}

-	}

-

-	class KeyboardHandler extends KeyAdapter {

-		public void keyPressed(KeyEvent e) {

-			Widget w = e.widget;

-			if (w instanceof Control) {

-				processKey(e.keyCode, (Control) w);

-			}

-		}

-	}

-

-	public FormWidgetFactory() {

-		this(Display.getCurrent());

-	}

-

-	public FormWidgetFactory(Display display) {

-		this.display = display;

-		initialize();

-	}

-

-	public static ScrolledComposite getScrolledComposite(Control c) {

-		Composite parent = c.getParent();

-

-		while (parent != null) {

-			if (parent instanceof ScrolledComposite) {

-				return (ScrolledComposite) parent;

-			}

-			parent = parent.getParent();

-		}

-		return null;

-	}

-

-	public static void ensureVisible(Control c) {

-		ScrolledComposite scomp = getScrolledComposite(c);

-		if (scomp != null) {

-			AbstractSectionForm.ensureVisible(scomp, c);

-		}

-	}

-

-	public static void processKey(int keyCode, Control c) {

-		ScrolledComposite scomp = getScrolledComposite(c);

-		if (scomp != null) {

-			switch (keyCode) {

-				case SWT.ARROW_DOWN :

-					AbstractSectionForm.scrollVertical(scomp, false);

-					break;

-				case SWT.ARROW_UP :

-					AbstractSectionForm.scrollVertical(scomp, true);

-					break;

-				case SWT.ARROW_LEFT :

-					AbstractSectionForm.scrollHorizontal(scomp, true);

-					break;

-				case SWT.ARROW_RIGHT :

-					AbstractSectionForm.scrollHorizontal(scomp, false);

-					break;

-				case SWT.PAGE_UP :

-					AbstractSectionForm.scrollPage(scomp, true);

-					break;

-				case SWT.PAGE_DOWN :

-					AbstractSectionForm.scrollPage(scomp, false);

-					break;

-			}

-		}

-	}

-

-	public Button createButton(Composite parent, String text, int style) {

-		int flatStyle = BORDER_STYLE == SWT.BORDER ? SWT.NULL : SWT.FLAT;

-		//int flatStyle = SWT.NULL;

-		Button button = new Button(parent, style | flatStyle);

-		button.setBackground(backgroundColor);

-		button.setForeground(foregroundColor);

-		if (text != null)

-			button.setText(text);

-		button.addFocusListener(visibilityHandler);

-		return button;

-	}

-	public Composite createComposite(Composite parent) {

-		return createComposite(parent, SWT.NULL);

-	}

-	public Composite createComposite(Composite parent, int style) {

-		Composite composite = new Composite(parent, style);

-		composite.setBackground(backgroundColor);

-		composite.addMouseListener(new MouseAdapter() {

-			public void mousePressed(MouseEvent e) {

-				((Control) e.widget).setFocus();

-			}

-		});

-		composite.setMenu(parent.getMenu());

-		return composite;

-	}

-	public Composite createCompositeSeparator(Composite parent) {

-		final Composite composite = new Composite(parent, SWT.NONE);

-		composite.addListener(SWT.Paint, new Listener() {

-			public void handleEvent(Event e) {

-				if (composite.isDisposed()) return;

-				Rectangle bounds = composite.getBounds();

-				GC gc = e.gc;

-				gc.setForeground(getColor(COLOR_COMPOSITE_SEPARATOR));

-				gc.setBackground(getBackgroundColor());

-				gc.fillGradientRectangle(0, 0, bounds.width, bounds.height, false);	

-			}

-		});

-		return composite;

-	}

-

-	public Label createHeadingLabel(Composite parent, String text) {

-		return createHeadingLabel(parent, text, null, SWT.NONE);

-	}

-

-	public Label createHeadingLabel(Composite parent, String text, int style) {

-		return createHeadingLabel(parent, text, null, style);

-	}

-

-	public Label createHeadingLabel(Composite parent, String text, Color bg) {

-		return createHeadingLabel(parent, text, bg, SWT.NONE);

-	}

-

-	public Label createHeadingLabel(

-		Composite parent,

-		String text,

-		Color bg,

-		int style) {

-		Label label = new Label(parent, style);

-		if (text != null)

-			label.setText(text);

-		label.setBackground(backgroundColor);

-		label.setForeground(foregroundColor);

-		label.setFont(JFaceResources.getFontRegistry().get(JFaceResources.BANNER_FONT));

-		return label;

-	}

-

-	public Label createHyperlinkLabel(

-		Composite parent,

-		String text,

-		IHyperlinkListener listener) {

-		return createHyperlinkLabel(parent, text, listener, SWT.NULL);

-	}

-	public Label createHyperlinkLabel(

-		Composite parent,

-		String text,

-		IHyperlinkListener listener,

-		int style) {

-		Label label = createLabel(parent, text, style);

-		turnIntoHyperlink(label, listener);

-		return label;

-	}

-	public Label createLabel(Composite parent, String text) {

-		return createLabel(parent, text, SWT.NONE);

-	}

-	public Label createLabel(Composite parent, String text, int style) {

-		Label label = new Label(parent, style);

-		if (text != null)

-			label.setText(text);

-		label.setBackground(backgroundColor);

-		label.setForeground(foregroundColor);

-		return label;

-	}

-

-	public SelectableFormLabel createSelectableLabel(

-		Composite parent,

-		String text) {

-		return createSelectableLabel(parent, text, SWT.NONE);

-	}

-

-	public SelectableFormLabel createSelectableLabel(

-		Composite parent,

-		String text,

-		int style) {

-		SelectableFormLabel label = new SelectableFormLabel(parent, style);

-		if (text != null)

-			label.setText(text);

-		label.setBackground(backgroundColor);

-		label.setForeground(foregroundColor);

-		label.addFocusListener(visibilityHandler);

-		label.addKeyListener(keyboardHandler);

-		return label;

-	}

-

-	public FormEngine createFormEngine(Composite parent) {

-		return createFormEngine(parent, false);

-	}

-	

-	public FormEngine createFormEngine(Composite parent, boolean trackFocus) {

-		FormEngine engine = new FormEngine(parent, SWT.WRAP);

-		engine.setBackground(backgroundColor);

-		engine.setForeground(foregroundColor);

-		engine.marginWidth = 1;

-		engine.marginHeight = 0;

-		engine.setHyperlinkSettings(getHyperlinkHandler());

-		if (trackFocus) engine.addFocusListener(visibilityHandler);

-		engine.addKeyListener(keyboardHandler);

-		engine.setMenu(parent.getMenu());

-		return engine;

-	}

-	

-	public Label createSeparator(Composite parent, int style) {

-		Label label = new Label(parent, SWT.SEPARATOR | style);

-		label.setBackground(backgroundColor);

-		label.setForeground(borderColor);

-		return label;

-	}

-	public Table createTable(Composite parent, int style) {

-		Table table = new Table(parent, BORDER_STYLE | style);

-		table.setBackground(backgroundColor);

-		table.setForeground(foregroundColor);

-		hookDeleteListener(table);

-		return table;

-	}

-	public Text createText(Composite parent, String value) {

-		return createText(parent, value, BORDER_STYLE | SWT.SINGLE);

-	}

-	public Text createText(Composite parent, String value, int style) {

-		Text text = new Text(parent, style);

-		if (value != null)

-			text.setText(value);

-		text.setBackground(backgroundColor);

-		text.setForeground(foregroundColor);

-		text.addFocusListener(visibilityHandler);

-		return text;

-	}

-	public Tree createTree(Composite parent, int style) {

-		Tree tree = new Tree(parent, BORDER_STYLE | style);

-		tree.setBackground(backgroundColor);

-		tree.setForeground(foregroundColor);

-		hookDeleteListener(tree);

-		return tree;

-	}

-	private void deleteKeyPressed(Widget widget) {

-		if (!(widget instanceof Control))

-			return;

-		Control control = (Control) widget;

-		for (Control parent = control.getParent();

-			parent != null;

-			parent = parent.getParent()) {

-			if (parent.getData() instanceof FormSection) {

-				FormSection section = (FormSection) parent.getData();

-				section.doGlobalAction(ActionFactory.DELETE.getId());

-				break;

-			}

-		}

-	}

-	public void dispose() {

-		Enumeration colors = colorRegistry.elements();

-		while (colors.hasMoreElements()) {

-			Color c = (Color) colors.nextElement();

-			c.dispose();

-		}

-		hyperlinkHandler.dispose();

-		colorRegistry = null;

-	}

-	public Color getBackgroundColor() {

-		return backgroundColor;

-	}

-	public Color getBorderColor() {

-		return borderColor;

-	}

-	public Cursor getBusyCursor() {

-		return hyperlinkHandler.getBusyCursor();

-	}

-	public Color getColor(String key) {

-		return (Color) colorRegistry.get(key);

-	}

-	public Color getForegroundColor() {

-		return foregroundColor;

-	}

-	public HyperlinkHandler getHyperlinkHandler() {

-		return hyperlinkHandler;

-	}

-	public Cursor getHyperlinkCursor() {

-		return hyperlinkHandler.getHyperlinkCursor();

-	}

-	public Color getHyperlinkColor() {

-		return hyperlinkHandler.getForeground();

-	}

-	public Color getHyperlinkHoverColor() {

-		return hyperlinkHandler.getActiveForeground();

-	}

-	public int getHyperlinkUnderlineMode() {

-		return hyperlinkHandler.getHyperlinkUnderlineMode();

-	}

-	public void hookDeleteListener(Control control) {

-		if (deleteListener == null) {

-			deleteListener = new KeyAdapter() {

-				public void keyPressed(KeyEvent event) {

-					if (event.character == SWT.DEL && event.stateMask == 0) {

-						deleteKeyPressed(event.widget);

-					}

-				}

-			};

-		}

-		control.addKeyListener(deleteListener);

-	}

-	private void initialize() {

-		backgroundColor = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);

-		registerColor(COLOR_BORDER, 195, 191, 179);

-		registerColor(COLOR_COMPOSITE_SEPARATOR, 152, 170, 203);

-		registerColor(DEFAULT_HEADER_COLOR, 0x48, 0x70, 0x98);

-		if (isWhiteBackground())

-			borderColor = getColor(COLOR_BORDER);

-		else

-			borderColor = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);

-		foregroundColor = display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);

-		hyperlinkHandler = new HyperlinkHandler();

-		hyperlinkHandler.setBackground(backgroundColor);

-		updateHyperlinkColors();

-		visibilityHandler = new VisibilityHandler();

-		keyboardHandler = new KeyboardHandler();

-	}

-	

-	public boolean isWhiteBackground() {

-		return backgroundColor.getRed()==255 && backgroundColor.getGreen()==255 &&

-			backgroundColor.getBlue()==255;

-	}

-

-	public void updateHyperlinkColors() {

-		Color hyperlinkColor = JFaceColors.getHyperlinkText(display);

-		Color activeHyperlinkColor = JFaceColors.getActiveHyperlinkText(display);

-		hyperlinkHandler.setForeground(hyperlinkColor);

-		hyperlinkHandler.setActiveForeground(activeHyperlinkColor);

-	}

-

-	public void paintBordersFor(Composite parent) {

-		if (BORDER_STYLE == SWT.BORDER)

-			return;

-		if (borderPainter == null)

-			borderPainter = new BorderPainter();

-		parent.addPaintListener(borderPainter);

-	}

-	public Color registerColor(String key, int r, int g, int b) {

-		Color c = new Color(display, r, g, b);

-		colorRegistry.put(key, c);

-		return c;

-	}

-	public void setBackgroundColor(Color color) {

-		backgroundColor = color;

-	}

-	public void setHyperlinkColor(Color color) {

-		hyperlinkHandler.setForeground(color);

-	}

-	public void setHyperlinkHoverColor(org.eclipse.swt.graphics.Color hoverColor) {

-		hyperlinkHandler.setActiveForeground(hoverColor);

-	}

-	public void setHyperlinkUnderlineMode(int newHyperlinkUnderlineMode) {

-		hyperlinkHandler.setHyperlinkUnderlineMode(newHyperlinkUnderlineMode);

-	}

-	public void turnIntoHyperlink(Control control, IHyperlinkListener listener) {

-		hyperlinkHandler.registerHyperlink(control, listener);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPlugin.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPlugin.java
deleted file mode 100644
index 5448093..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPlugin.java
+++ /dev/null
@@ -1,134 +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.update.ui.forms.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class FormsPlugin extends AbstractUIPlugin {
-	private static FormsPlugin instance;
-	private ResourceBundle resourceBundle;
-
-	/**
-	 * Constructor for FormsPlugin.
-	 * @param descriptor
-	 */
-	public FormsPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		instance = this;
-		try {
-			resourceBundle =
-				ResourceBundle.getBundle(
-					"org.eclipse.update.ui.forms.internal.FormsPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		FormsPlugin inst = FormsPlugin.getDefault();
-		if (inst==null) return key;
-		ResourceBundle bundle = FormsPlugin.getDefault().getResourceBundle();
-		try {
-			return bundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getFormattedMessage(String key, String[] args) {
-		String text = getResourceString(key);
-		return java.text.MessageFormat.format(text, args);
-	}
-
-	public static String getFormattedMessage(String key, String arg) {
-		String text = getResourceString(key);
-		return java.text.MessageFormat.format(text, new Object[] { arg });
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-
-	public static FormsPlugin getDefault() {
-		return instance;
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		return getDefault().internalGetActivePage();
-	}
-
-	private IWorkbenchPage internalGetActivePage() {
-		return getWorkbench().getActiveWorkbenchWindow().getActivePage();
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		return getActiveWorkbenchWindow().getShell();
-	}
-
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-
-	public static void logException(Throwable e) {
-		logException(e, true);
-	}
-
-	public static void logException(Throwable e, boolean showErrorDialog) {
-		if (e instanceof InvocationTargetException) {
-			e = ((InvocationTargetException) e).getTargetException();
-		}
-
-		IStatus status = null;
-		if (e instanceof CoreException) {
-			status = ((CoreException) e).getStatus();
-		} else {
-			String message = e.getMessage();
-			if (message == null)
-				message = e.toString();
-			status =
-				new Status(
-					IStatus.ERROR,
-					getPluginId(),
-					IStatus.OK,
-					message,
-					e);
-		}
-		log(status, showErrorDialog);
-	}
-
-	public static void log(IStatus status, boolean showErrorDialog) {
-		if (showErrorDialog)
-			ErrorDialog.openError(
-				getActiveWorkbenchShell(),
-				null,
-				null,
-				status);
-		Platform.getPlugin("org.eclipse.core.runtime").getLog().log(status);
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPluginResources.properties b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPluginResources.properties
deleted file mode 100644
index 6d45e06..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPluginResources.properties
+++ /dev/null
@@ -1,13 +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
-###############################################################################
-
-FormEgine.linkPopup.open = &Open
-FormEgine.linkPopup.copyShortcut = &Copy as Shortcut
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java
deleted file mode 100644
index 0dd2126..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java
+++ /dev/null
@@ -1,678 +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.update.ui.forms.internal;

-import java.util.Vector;

-

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-

-/**

- * This implementation of the layout algorithm attempts to position controls in

- * the composite using a two-pass autolayout HTML table altorithm recommeded by

- * HTML 4.01 W3C specification. The main differences with GridLayout is that it

- * has two passes and that width and height are not calculated in the same

- * pass.

- * <p>

- * The advantage of the algorithm over GridLayout is that it is capable of

- * flowing text controls capable of line wrap. These controls do not have

- * natural 'preferred size'. Instead, they are capable of providing the

- * required height if the width is set. Consequently, this algorithm first

- * calculates the widths that will be assigned to columns, and then passes

- * those widths to the controls to calculate the height. When a composite with

- * this layout is a child of the scrolling composite, they should interact in

- * such a way that reduction in the scrolling composite width results in the

- * reflow and increase of the overall height.

- * <p>

- * If none of the columns contain expandable and wrappable controls, the

- * end-result will be similar to the one provided by GridLayout. The difference

- * will show up for layouts that contain controls whose minimum and maximum

- * widths are not the same.

- */

-

-public class HTMLTableLayout extends Layout implements ILayoutExtension {

-	public int numColumns = 1;

-	public int leftMargin = 5;

-	public int rightMargin = 5;

-	public int topMargin = 5;

-	public int bottomMargin = 5;

-	public int horizontalSpacing = 5;

-	public int verticalSpacing = 5;

-	public boolean makeColumnsEqualWidth = false;

-

-	private boolean initialLayout = true;

-	private Vector grid = null;

-	private int[] minColumnWidths, maxColumnWidths;

-	private int widestColumnWidth;

-	private int[] growingColumns;

-

-	public int getMinimumWidth(Composite parent, boolean changed) {

-		changed = true;

-		initializeIfNeeded(parent, changed);

-		if (initialLayout) {

-			changed = true;

-			initialLayout = false;

-		}

-		if (grid == null || changed) {

-			changed = true;

-			grid = new Vector();

-			createGrid(parent);

-		}

-		if (minColumnWidths == null)

-			minColumnWidths = new int[numColumns];

-		for (int i = 0; i < numColumns; i++) {

-			minColumnWidths[i] = 0;

-		}

-		return internalGetMinimumWidth(parent, changed);

-	}

-

-	public int getMaximumWidth(Composite parent, boolean changed) {

-		changed = true;

-		initializeIfNeeded(parent, changed);

-		if (initialLayout) {

-			changed = true;

-			initialLayout = false;

-		}

-		if (grid == null || changed) {

-			changed = true;

-			grid = new Vector();

-			createGrid(parent);

-		}

-		if (maxColumnWidths == null)

-			maxColumnWidths = new int[numColumns];

-		for (int i = 0; i < numColumns; i++) {

-			maxColumnWidths[i] = 0;

-		}

-		return internalGetMaximumWidth(parent, changed);

-	}

-

-	/**

-	 * @see Layout#layout(Composite, boolean)

-	 */

-	protected void layout(Composite parent, boolean changed) {

-		Rectangle clientArea = parent.getClientArea();

-		Control[] children = parent.getChildren();

-		if (children.length == 0)

-			return;

-		int parentWidth = clientArea.width;

-		changed = true;

-		initializeIfNeeded(parent, changed);

-		if (initialLayout) {

-			changed = true;

-			initialLayout = false;

-		}

-		if (grid == null || changed) {

-			changed = true;

-			grid = new Vector();

-			createGrid(parent);

-		}

-		resetColumnWidths();

-		int minWidth = internalGetMinimumWidth(parent, changed);

-		int maxWidth = internalGetMaximumWidth(parent, changed);

-

-		int tableWidth = parentWidth;

-

-		int[] columnWidths;

-

-		if (parentWidth < minWidth) {

-			tableWidth = minWidth;

-			if (makeColumnsEqualWidth) {

-				columnWidths = new int[numColumns];

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = widestColumnWidth;

-				}

-			} else

-				columnWidths = minColumnWidths;

-		} else if (parentWidth > maxWidth) {

-			if (growingColumns.length == 0) {

-				tableWidth = maxWidth;

-				columnWidths = maxColumnWidths;

-			} else {

-				columnWidths = new int[numColumns];

-				int colSpace = tableWidth - leftMargin - rightMargin;

-				colSpace -= (numColumns - 1) * horizontalSpacing;

-				int extra = parentWidth - maxWidth;

-				int colExtra = extra / growingColumns.length;

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = maxColumnWidths[i];

-

-					if (isGrowingColumn(i)) {

-						columnWidths[i] += colExtra;

-					}

-				}

-			}

-		} else {

-			columnWidths = new int[numColumns];

-			if (makeColumnsEqualWidth) {

-				int colSpace = tableWidth - leftMargin - rightMargin;

-				colSpace -= (numColumns - 1) * horizontalSpacing;

-				int col = colSpace / numColumns;

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = col;

-				}

-			} else {

-				int[] extraSpace =

-					calculateExtraSpace(tableWidth, maxWidth, minWidth);

-				for (int i = 0; i < numColumns; i++) {

-					int minCWidth = minColumnWidths[i];

-					columnWidths[i] = minCWidth + extraSpace[i];

-				}

-			}

-		}

-		int x = 0;

-		int y = topMargin;

-		// assign widths

-		for (int i = 0; i < grid.size(); i++) {

-			TableData[] row = (TableData[]) grid.elementAt(i);

-			// assign widths, calculate heights

-			int rowHeight = 0;

-			x = leftMargin;

-			for (int j = 0; j < numColumns; j++) {

-				TableData td = row[j];

-				if (td.isItemData == false) {

-					continue;

-				}

-				Control child = children[td.childIndex];

-				int span = td.colspan;

-				int cwidth = 0;

-				for (int k = j; k < j + span; k++) {

-					cwidth += columnWidths[k];

-					if (k < j + span - 1)

-						cwidth += horizontalSpacing;

-				}

-				Point size = computeSize(child, cwidth, changed);

-				td.compWidth = cwidth;

-				if (td.heightHint != SWT.DEFAULT) {

-					size = new Point(size.x, td.heightHint);

-				}

-				td.compSize = size;

-				rowHeight = Math.max(rowHeight, size.y);

-			}

-			for (int j = 0; j < numColumns; j++) {

-				TableData td = row[j];

-				if (td.isItemData == false) {

-					continue;

-				}

-				Control child = children[td.childIndex];

-				placeControl(child, td, x, y, rowHeight);

-				x += td.compWidth;

-				if (j < numColumns - 1)

-					x += horizontalSpacing;

-			}

-			y += rowHeight + verticalSpacing;

-		}

-	}

-

-	boolean isGrowingColumn(int col) {

-		if (growingColumns == null)

-			return false;

-		for (int i = 0; i < growingColumns.length; i++) {

-			if (col == growingColumns[i])

-				return true;

-		}

-		return false;

-	}

-

-	int[] calculateExtraSpace(int tableWidth, int maxWidth, int minWidth) {

-		int fixedPart =

-			leftMargin + rightMargin + (numColumns - 1) * horizontalSpacing;

-		int D = maxWidth - minWidth;

-

-		int W = tableWidth - fixedPart - minWidth;

-

-		int extraSpace[] = new int[numColumns];

-

-		int rem = 0;

-		for (int i = 0; i < numColumns; i++) {

-			int cmin = minColumnWidths[i];

-			int cmax = maxColumnWidths[i];

-			int d = cmax - cmin;

-			int extra = D != 0 ? (d * W) / D : 0;

-			if (i < numColumns - 1) {

-				extraSpace[i] = extra;

-				rem += extra;

-			} else {

-				extraSpace[i] = W - rem;

-			}

-		}

-		return extraSpace;

-	}

-

-	Point computeSize(Control child, int width, boolean changed) {

-		int widthArg = width;

-		if (!isWrap(child))

-			widthArg = SWT.DEFAULT;

-		Point size = child.computeSize(widthArg, SWT.DEFAULT, changed);

-		return size;

-	}

-

-	void placeControl(

-		Control control,

-		TableData td,

-		int x,

-		int y,

-		int rowHeight) {

-		int xloc = x + td.indent;

-		int yloc = y;

-		int width = td.compSize.x;

-		int height = td.compSize.y;

-		int colWidth = td.compWidth;

-

-		// align horizontally

-		if (td.align == TableData.CENTER) {

-			xloc = x + colWidth / 2 - width / 2;

-		} else if (td.align == TableData.RIGHT) {

-			xloc = x + colWidth - width;

-		} else if (td.align == TableData.FILL) {

-			width = colWidth;

-		}

-		// align vertically

-		if (td.valign == TableData.MIDDLE) {

-			yloc = y + rowHeight / 2 - height / 2;

-		} else if (td.valign == TableData.BOTTOM) {

-			yloc = y + rowHeight - height;

-		} else if (td.valign == TableData.FILL) {

-			height = rowHeight;

-		}

-		control.setBounds(xloc, yloc, width, height);

-	}

-

-	void createGrid(Composite composite) {

-		int row, column, rowFill, columnFill;

-		Control[] children;

-		TableData spacerSpec;

-		Vector growingCols = new Vector();

-

-		// 

-		children = composite.getChildren();

-		if (children.length == 0)

-			return;

-

-		// 

-		grid.addElement(createEmptyRow());

-		row = 0;

-		column = 0;

-

-		// Loop through the children and place their associated layout specs in

-		// the

-		// grid. Placement occurs left to right, top to bottom (i.e., by row).

-		for (int i = 0; i < children.length; i++) {

-			// Find the first available spot in the grid.

-			Control child = children[i];

-			TableData spec = (TableData) child.getLayoutData();

-			while (((TableData[]) grid.elementAt(row))[column] != null) {

-				column = column + 1;

-				if (column >= numColumns) {

-					row = row + 1;

-					column = 0;

-					if (row >= grid.size()) {

-						grid.addElement(createEmptyRow());

-					}

-				}

-			}

-			// See if the place will support the widget's horizontal span. If

-			// not, go to the

-			// next row.

-			if (column + spec.colspan - 1 >= numColumns) {

-				grid.addElement(createEmptyRow());

-				row = row + 1;

-				column = 0;

-			}

-

-			// The vertical span for the item will be at least 1. If it is > 1,

-			// add other rows to the grid.

-			for (int j = 2; j <= spec.rowspan; j++) {

-				if (row + j > grid.size()) {

-					grid.addElement(createEmptyRow());

-				}

-			}

-

-			// Store the layout spec. Also cache the childIndex. NOTE: That we

-			// assume the children of a

-			// composite are maintained in the order in which they are created

-			// and added to the composite.

-			 ((TableData[]) grid.elementAt(row))[column] = spec;

-			spec.childIndex = i;

-

-			if (spec.grabHorizontal) {

-				updateGrowingColumns(growingCols, spec, column);

-			}

-

-			// Put spacers in the grid to account for the item's vertical and

-			// horizontal

-			// span.

-			rowFill = spec.rowspan - 1;

-			columnFill = spec.colspan - 1;

-			for (int r = 1; r <= rowFill; r++) {

-				for (int c = 0; c < spec.colspan; c++) {

-					spacerSpec = new TableData();

-					spacerSpec.isItemData = false;

-					((TableData[]) grid.elementAt(row + r))[column + c] =

-						spacerSpec;

-				}

-			}

-			for (int c = 1; c <= columnFill; c++) {

-				for (int r = 0; r < spec.rowspan; r++) {

-					spacerSpec = new TableData();

-					spacerSpec.isItemData = false;

-					((TableData[]) grid.elementAt(row + r))[column + c] =

-						spacerSpec;

-				}

-			}

-			column = column + spec.colspan - 1;

-		}

-

-		// Fill out empty grid cells with spacers.

-		for (int k = column + 1; k < numColumns; k++) {

-			spacerSpec = new TableData();

-			spacerSpec.isItemData = false;

-			((TableData[]) grid.elementAt(row))[k] = spacerSpec;

-		}

-		for (int k = row + 1; k < grid.size(); k++) {

-			spacerSpec = new TableData();

-			spacerSpec.isItemData = false;

-			((TableData[]) grid.elementAt(k))[column] = spacerSpec;

-		}

-		growingColumns = new int[growingCols.size()];

-		for (int i = 0; i < growingCols.size(); i++) {

-			growingColumns[i] = ((Integer) growingCols.get(i)).intValue();

-		}

-	}

-

-	private void updateGrowingColumns(

-		Vector growingColumns,

-		TableData spec,

-		int column) {

-		int affectedColumn = column + spec.colspan - 1;

-		for (int i = 0; i < growingColumns.size(); i++) {

-			Integer col = (Integer) growingColumns.get(i);

-			if (col.intValue() == affectedColumn)

-				return;

-		}

-		growingColumns.add(new Integer(affectedColumn));

-	}

-

-	private TableData[] createEmptyRow() {

-		TableData[] row = new TableData[numColumns];

-		for (int i = 0; i < numColumns; i++)

-			row[i] = null;

-		return row;

-	}

-

-	/**

-	 * @see Layout#computeSize(Composite, int, int, boolean)

-	 */

-	protected Point computeSize(

-		Composite parent,

-		int wHint,

-		int hHint,

-		boolean changed) {

-		Control[] children = parent.getChildren();

-		if (children.length == 0) {

-			return new Point(0, 0);

-		}

-		int parentWidth = wHint;

-		changed = true;

-		initializeIfNeeded(parent, changed);

-		if (initialLayout) {

-			changed = true;

-			initialLayout = false;

-		}

-		if (grid == null || changed) {

-			changed = true;

-			grid = new Vector();

-			createGrid(parent);

-		}

-		resetColumnWidths();

-		int minWidth = internalGetMinimumWidth(parent, changed);

-		int maxWidth = internalGetMaximumWidth(parent, changed);

-

-		int tableWidth = parentWidth;

-

-		int[] columnWidths;

-

-		if (parentWidth < minWidth) {

-			tableWidth = minWidth;

-			if (makeColumnsEqualWidth) {

-				columnWidths = new int[numColumns];

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = widestColumnWidth;

-				}

-			} else

-				columnWidths = minColumnWidths;

-		} else if (parentWidth > maxWidth) {

-			if (makeColumnsEqualWidth) {

-				columnWidths = new int[numColumns];

-				int colSpace = parentWidth - leftMargin - rightMargin;

-				colSpace -= (numColumns - 1) * horizontalSpacing;

-				int col = colSpace / numColumns;

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = col;

-				}

-			} else {

-				tableWidth = maxWidth;

-				columnWidths = maxColumnWidths;

-			}

-		} else {

-			columnWidths = new int[numColumns];

-			if (makeColumnsEqualWidth) {

-				int colSpace = tableWidth - leftMargin - rightMargin;

-				colSpace -= (numColumns - 1) * horizontalSpacing;

-				int col = colSpace / numColumns;

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = col;

-				}

-			} else {

-				int[] extraSpace =

-					calculateExtraSpace(tableWidth, maxWidth, minWidth);

-				for (int i = 0; i < numColumns; i++) {

-					int minCWidth = minColumnWidths[i];

-					columnWidths[i] = minCWidth + extraSpace[i];

-				}

-			}

-		}

-		int totalHeight = 0;

-		int y = topMargin;

-		// compute widths

-		for (int i = 0; i < grid.size(); i++) {

-			TableData[] row = (TableData[]) grid.elementAt(i);

-			// assign widths, calculate heights

-			int rowHeight = 0;

-			for (int j = 0; j < numColumns; j++) {

-				TableData td = row[j];

-				if (td.isItemData == false) {

-					continue;

-				}

-				Control child = children[td.childIndex];

-				int span = td.colspan;

-				int cwidth = 0;

-				for (int k = j; k < j + span; k++) {

-					if (k > j)

-						cwidth += horizontalSpacing;

-					cwidth += columnWidths[k];

-				}

-				int cy = td.heightHint;

-				if (cy == SWT.DEFAULT) {

-					Point size = computeSize(child, cwidth, changed);

-					cy = size.y;

-				}

-				rowHeight = Math.max(rowHeight, cy);

-			}

-			y += rowHeight + verticalSpacing;

-		}

-		totalHeight = y + bottomMargin;

-		return new Point(tableWidth, totalHeight);

-	}

-

-	int internalGetMinimumWidth(Composite parent, boolean changed) {

-		if (changed)

-			calculateMinimumColumnWidths(parent, true);

-		int minimumWidth = 0;

-

-		widestColumnWidth = 0;

-

-		if (makeColumnsEqualWidth) {

-			for (int i = 0; i < numColumns; i++) {

-				widestColumnWidth =

-					Math.max(widestColumnWidth, minColumnWidths[i]);

-			}

-		}

-		for (int i = 0; i < numColumns; i++) {

-			if (i > 0)

-				minimumWidth += horizontalSpacing;

-			if (makeColumnsEqualWidth)

-				minimumWidth += widestColumnWidth;

-			else

-				minimumWidth += minColumnWidths[i];

-		}

-		// add margins

-		minimumWidth += leftMargin + rightMargin;

-		return minimumWidth;

-	}

-

-	int internalGetMaximumWidth(Composite parent, boolean changed) {

-		if (changed)

-			calculateMaximumColumnWidths(parent, true);

-		int maximumWidth = 0;

-		for (int i = 0; i < numColumns; i++) {

-			if (i > 0)

-				maximumWidth += horizontalSpacing;

-			maximumWidth += maxColumnWidths[i];

-		}

-		// add margins

-		maximumWidth += leftMargin + rightMargin;

-		return maximumWidth;

-	}

-

-	void resetColumnWidths() {

-		if (minColumnWidths == null)

-			minColumnWidths = new int[numColumns];

-		if (maxColumnWidths == null)

-			maxColumnWidths = new int[numColumns];

-		for (int i = 0; i < numColumns; i++) {

-			minColumnWidths[i] = 0;

-		}

-		for (int i = 0; i < numColumns; i++) {

-			maxColumnWidths[i] = 0;

-		}

-	}

-

-	void calculateMinimumColumnWidths(Composite parent, boolean changed) {

-		Control[] children = parent.getChildren();

-

-		for (int i = 0; i < grid.size(); i++) {

-			TableData[] row = (TableData[]) grid.elementAt(i);

-			for (int j = 0; j < numColumns; j++) {

-				TableData td = row[j];

-				if (td.isItemData == false)

-					continue;

-				Control child = children[td.childIndex];

-				int minWidth = -1;

-				if (child instanceof Composite) {

-					Composite cc = (Composite) child;

-					Layout l = cc.getLayout();

-					if (l instanceof ILayoutExtension) {

-						minWidth =

-							((ILayoutExtension) l).getMinimumWidth(cc, changed);

-					}

-				}

-				if (minWidth == -1) {

-					if (isWrap(child)) {

-						// Should be the width of the

-						// longest word, we'll pick

-						// some small number instead

-						minWidth = 30;

-					} else {

-						Point size =

-							child.computeSize(

-								SWT.DEFAULT,

-								SWT.DEFAULT,

-								changed);

-						minWidth = size.x;

-					}

-				}

-				minWidth += td.indent;

-				minColumnWidths[j] = Math.max(minColumnWidths[j], minWidth);

-			}

-		}

-	}

-

-	boolean isWrap(Control control) {

-		if (control instanceof Composite

-			&& ((Composite) control).getLayout() instanceof ILayoutExtension)

-			return true;

-		return (control.getStyle() & SWT.WRAP) != 0;

-	}

-

-	void calculateMaximumColumnWidths(Composite parent, boolean changed) {

-		Control[] children = parent.getChildren();

-

-		for (int i = 0; i < numColumns; i++) {

-			maxColumnWidths[i] = 0;

-		}

-		for (int i = 0; i < grid.size(); i++) {

-			TableData[] row = (TableData[]) grid.elementAt(i);

-			for (int j = 0; j < numColumns; j++) {

-				TableData td = row[j];

-				if (td.isItemData == false)

-					continue;

-				Control child = children[td.childIndex];

-				int maxWidth = -1;

-				if (child instanceof Composite) {

-					Composite cc = (Composite) child;

-					Layout l = cc.getLayout();

-					if (l instanceof ILayoutExtension) {

-						maxWidth =

-							((ILayoutExtension) l).getMaximumWidth(cc, changed);

-					}

-				}

-				if (maxWidth == -1) {

-					Point size =

-						child.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);

-					maxWidth = size.x;

-				}

-				maxWidth += td.indent;

-				if (td.colspan == 1)

-					maxColumnWidths[j] = Math.max(maxColumnWidths[j], maxWidth);

-				else {

-					// grow the last column

-					int last = j + td.colspan - 1;

-					int rem = 0;

-					for (int k = j; k < j + td.colspan - 1; k++) {

-						rem += maxColumnWidths[k];

-					}

-					int reduced = maxWidth - rem;

-					maxColumnWidths[last] =

-						Math.max(maxColumnWidths[last], reduced);

-				}

-			}

-		}

-	}

-

-	private void initializeIfNeeded(Composite parent, boolean changed) {

-		if (changed)

-			initialLayout = true;

-		if (initialLayout) {

-			initializeLayoutData(parent);

-			initialLayout = false;

-		}

-	}

-

-	void initializeLayoutData(Composite composite) {

-		Control[] children = composite.getChildren();

-		for (int i = 0; i < children.length; i++) {

-			Control child = children[i];

-			if (child.getLayoutData() == null) {

-				child.setLayoutData(new TableData());

-			}

-		}

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java
deleted file mode 100644
index 8180a2d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java
+++ /dev/null
@@ -1,21 +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.update.ui.forms.internal;

-

-public class HyperlinkAdapter implements IHyperlinkListener {

-

-public HyperlinkAdapter() {

-	super();

-}

-public void linkActivated(org.eclipse.swt.widgets.Control linkLabel) {}

-public void linkEntered(org.eclipse.swt.widgets.Control linkLabel) {}

-public void linkExited(org.eclipse.swt.widgets.Control linkLabel) {}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java
deleted file mode 100644
index 031aef6..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java
+++ /dev/null
@@ -1,224 +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.update.ui.forms.internal;

-

-import java.util.Enumeration;

-import java.util.Hashtable;

-

-import org.eclipse.swt.events.MouseEvent;

-import org.eclipse.swt.events.MouseListener;

-import org.eclipse.swt.events.MouseTrackListener;

-import org.eclipse.swt.events.PaintEvent;

-import org.eclipse.swt.events.PaintListener;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.events.SelectionListener;

-import org.eclipse.swt.graphics.Color;

-import org.eclipse.swt.graphics.GC;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.graphics.Rectangle;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.swt.widgets.Label;

-

-public class HyperlinkHandler

-	extends HyperlinkSettings

-	implements MouseListener, MouseTrackListener, SelectionListener, PaintListener {

-	private Hashtable hyperlinkListeners;

-	private Control lastActivated;

-	private Control lastEntered;

-

-	public HyperlinkHandler() {

-		hyperlinkListeners = new Hashtable();

-	}

-

-	public Control getLastLink() {

-		return lastActivated;

-	}

-

-	public void mouseDoubleClick(MouseEvent e) {

-	}

-

-	public void mouseDown(MouseEvent e) {

-		if (e.button == 1)

-			return;

-		lastActivated = (Control) e.widget;

-	}

-	public void mouseEnter(MouseEvent e) {

-		Control control = (Control) e.widget;

-		linkEntered(control);

-	}

-	public void mouseExit(MouseEvent e) {

-		Control control = (Control) e.widget;

-		linkExited(control);

-	}

-	public void mouseHover(MouseEvent e) {

-	}

-

-	public void mouseUp(MouseEvent e) {

-		if (e.button != 1)

-			return;

-		Control linkControl = (Control) e.widget;

-		Point size = linkControl.getSize();

-		// Filter out mouse up events outside

-		// the link. This can happen when mouse is

-		// clicked, dragged outside the link, then

-		// released.

-		if (e.x < 0)

-			return;

-		if (e.y < 0)

-			return;

-		if (e.x >= size.x)

-			return;

-		if (e.y >= size.y)

-			return;

-		linkActivated(linkControl);

-	}

-

-	public void widgetDefaultSelected(SelectionEvent e) {

-		Control link = (Control) e.widget;

-		linkActivated(link);

-	}

-

-	public void widgetSelected(SelectionEvent e) {

-		Control link = (Control) e.widget;

-		SelectableFormLabel l = (SelectableFormLabel) link;

-		if (l.getSelection())

-			linkEntered(link);

-		else

-			linkExited(link);

-	}

-

-	private void linkActivated(Control link) {

-		IHyperlinkListener action =

-			(IHyperlinkListener) hyperlinkListeners.get(link);

-		if (action != null) {

-			link.setCursor(getBusyCursor());

-			action.linkActivated(link);

-			if (!link.isDisposed())

-				link.setCursor(

-					isHyperlinkCursorUsed() ? getHyperlinkCursor() : null);

-		}

-	}

-

-	private void linkEntered(Control link) {

-		if (lastEntered != null

-			&& lastEntered instanceof SelectableFormLabel) {

-			SelectableFormLabel fl = (SelectableFormLabel) lastEntered;

-			linkExited(fl);

-		}

-		if (isHyperlinkCursorUsed())

-			link.setCursor(getHyperlinkCursor());

-		if (activeBackground != null)

-			link.setBackground(activeBackground);

-		if (activeForeground != null)

-			link.setForeground(activeForeground);

-		if (hyperlinkUnderlineMode == UNDERLINE_ROLLOVER)

-			underline(link, true);

-

-		IHyperlinkListener action =

-			(IHyperlinkListener) hyperlinkListeners.get(link);

-		if (action != null)

-			action.linkEntered(link);

-		lastEntered = link;

-	}

-

-	private void linkExited(Control link) {

-		if (isHyperlinkCursorUsed())

-			link.setCursor(null);

-		if (hyperlinkUnderlineMode == UNDERLINE_ROLLOVER)

-			underline(link, false);

-		if (background != null)

-			link.setBackground(background);

-		if (foreground != null)

-			link.setForeground(foreground);

-		IHyperlinkListener action =

-			(IHyperlinkListener) hyperlinkListeners.get(link);

-		if (action != null)

-			action.linkExited(link);

-		if (lastEntered == link)

-			lastEntered = null;

-	}

-

-	public void paintControl(PaintEvent e) {

-		Control label = (Control) e.widget;

-		if (hyperlinkUnderlineMode == UNDERLINE_ALWAYS)

-			HyperlinkHandler.underline(label, true);

-	}

-

-	public void registerHyperlink(

-		Control control,

-		IHyperlinkListener listener) {

-		if (background != null)

-			control.setBackground(background);

-		if (foreground != null)

-			control.setForeground(foreground);

-		control.addMouseListener(this);

-		control.addMouseTrackListener(this);

-

-		if (hyperlinkUnderlineMode == UNDERLINE_ALWAYS

-			&& control instanceof Label)

-			control.addPaintListener(this);

-		if (control instanceof SelectableFormLabel) {

-			SelectableFormLabel sl = (SelectableFormLabel) control;

-			sl.addSelectionListener(this);

-			if (hyperlinkUnderlineMode == UNDERLINE_ALWAYS)

-				sl.setUnderlined(true);

-		}

-		hyperlinkListeners.put(control, listener);

-		removeDisposedLinks();

-	}

-

-	private void removeDisposedLinks() {

-		for (Enumeration keys = hyperlinkListeners.keys();

-			keys.hasMoreElements();

-			) {

-			Control control = (Control) keys.nextElement();

-			if (control.isDisposed()) {

-				hyperlinkListeners.remove(control);

-			}

-		}

-	}

-

-	public void reset() {

-		hyperlinkListeners.clear();

-	}

-

-	public static void underline(Control control, boolean inside) {

-		if (control instanceof SelectableFormLabel) {

-			SelectableFormLabel l = (SelectableFormLabel) control;

-			l.setUnderlined(inside);

-			l.redraw();

-			return;

-		}

-		if (!(control instanceof Label))

-			return;

-		Composite parent = control.getParent();

-		Rectangle bounds = control.getBounds();

-		GC gc = new GC(parent);

-		Color color =

-			inside ? control.getForeground() : control.getBackground();

-		gc.setForeground(color);

-		int y = bounds.y + bounds.height;

-		gc.drawLine(bounds.x, y, bounds.x + bounds.width, y);

-		gc.dispose();

-	}

-

-	public void setForeground(Color color) {

-		super.setForeground(color);

-		removeDisposedLinks();

-		for (Enumeration links = hyperlinkListeners.keys();

-			links.hasMoreElements();

-			) {

-			Control control = (Control) links.nextElement();

-			control.setForeground(color);

-		}

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java
deleted file mode 100644
index 3a1c6a0..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java
+++ /dev/null
@@ -1,115 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.*;

-

-public class HyperlinkSettings {

-	public static final int UNDERLINE_NEVER = 1;

-	public static final int UNDERLINE_ROLLOVER = 2;

-	public static final int UNDERLINE_ALWAYS = 3;

-

-	protected boolean hyperlinkCursorUsed = true;

-	protected int hyperlinkUnderlineMode = UNDERLINE_ALWAYS;

-	protected Color background;

-	protected Color foreground;

-	protected Color activeBackground;

-	protected Color activeForeground;

-	protected static Cursors cursors = new Cursors();

-

-	static class Cursors {

-		Cursor hyperlinkCursor;

-		Cursor busyCursor;

-		Cursor textCursor;

-		int counter = 0;

-

-		public void allocate() {

-			if (counter == 0) {

-				hyperlinkCursor =

-					new Cursor(Display.getCurrent(), SWT.CURSOR_HAND);

-				busyCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_WAIT);

-				textCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_IBEAM);

-			}

-			counter++;

-		}

-		public void dispose() {

-			counter--;

-			if (counter == 0) {

-				hyperlinkCursor.dispose();

-				busyCursor.dispose();

-				textCursor.dispose();

-				hyperlinkCursor = null;

-				busyCursor = null;

-				textCursor = null;

-			}

-		}

-	}

-

-	public HyperlinkSettings() {

-		cursors.allocate();

-	}

-

-	public void dispose() {

-		if (cursors != null)

-			cursors.dispose();

-	}

-

-	public Color getActiveBackground() {

-		return activeBackground;

-	}

-	public Color getActiveForeground() {

-		return activeForeground;

-	}

-	public Color getBackground() {

-		return background;

-	}

-	public Cursor getBusyCursor() {

-		return cursors.busyCursor;

-	}

-	public Cursor getTextCursor() {

-		return cursors.textCursor;

-	}

-	public Color getForeground() {

-		return foreground;

-	}

-	public Cursor getHyperlinkCursor() {

-		return cursors.hyperlinkCursor;

-	}

-	public int getHyperlinkUnderlineMode() {

-		return hyperlinkUnderlineMode;

-	}

-

-	public boolean isHyperlinkCursorUsed() {

-		return hyperlinkCursorUsed;

-	}

-

-	public void setActiveBackground(Color newActiveBackground) {

-		activeBackground = newActiveBackground;

-	}

-	public void setActiveForeground(Color newActiveForeground) {

-		activeForeground = newActiveForeground;

-	}

-	public void setBackground(Color newBackground) {

-		background = newBackground;

-	}

-	public void setForeground(Color newForeground) {

-		foreground = newForeground;

-	}

-	public void setHyperlinkCursorUsed(boolean newHyperlinkCursorUsed) {

-		hyperlinkCursorUsed = newHyperlinkCursorUsed;

-	}

-	public void setHyperlinkUnderlineMode(int newHyperlinkUnderlineMode) {

-		hyperlinkUnderlineMode = newHyperlinkUnderlineMode;

-	}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java
deleted file mode 100644
index 1661485..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.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.update.ui.forms.internal;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.graphics.*;

-

-public interface IForm {

-public void commitChanges(boolean onSave);

-public Control createControl(Composite parent);

-public void dispose();

-public boolean doGlobalAction(String actionId);

-public void expandTo(Object object);

-public Control getControl();

-public FormWidgetFactory getFactory();

-public Color getHeadingBackground();

-public Color getHeadingForeground();

-public Image getHeadingImage();

-public String getHeadingText();

-public void initialize(Object model);

-public boolean isHeadingVisible();

-public void registerSection(FormSection section);

-public void setFocus();

-public void setHeadingBackground(Color newHeadingBackground);

-public void setHeadingForeground(Color newHeadingForeground);

-public void setHeadingImage(Image headingImage);

-public void setHeadingVisible(boolean newHeadingVisible);

-public void setHeadingText(String heading);

-public void update();

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java
deleted file mode 100644
index 8839598..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.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.update.ui.forms.internal;

-

-import org.eclipse.swt.widgets.*;

-

-public interface IFormPage {

-

-boolean becomesInvisible(IFormPage newPage);

-void becomesVisible(IFormPage previousPage);

-void createControl(Composite parent);

-Control getControl();

-String getLabel();

-String getTitle();

-boolean isSource();

-boolean isVisible();

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java
deleted file mode 100644
index a334d41..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java
+++ /dev/null
@@ -1,15 +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.update.ui.forms.internal;

-

-public interface IFormSelectionListener {

-	public void formSelected(IFormPage page, boolean setFocus);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java
deleted file mode 100644
index 237f714..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java
+++ /dev/null
@@ -1,16 +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.update.ui.forms.internal;

-

-public interface IFormTextListener {

-	public void textValueChanged(FormEntry text);

-	public void textDirty(FormEntry text);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java
deleted file mode 100644
index 9fe78ab..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java
+++ /dev/null
@@ -1,27 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.widgets.*;

-

-public interface IFormWorkbook {

-

-	void addFormSelectionListener(IFormSelectionListener listener);

-	public void addPage(IFormPage page);

-	public void createControl(Composite parent);

-	Control getControl();

-	public IFormPage getCurrentPage();

-	boolean isFirstPageSelected();

-	void removeFormSelectionListener(IFormSelectionListener listener);

-	public void removePage(IFormPage page);

-	public void selectPage(final IFormPage page, boolean setFocus);

-	void setFirstPageSelected(boolean selected);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java
deleted file mode 100644
index d69af34..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java
+++ /dev/null
@@ -1,20 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.widgets.*;

-

-public interface IHyperlinkListener {

-

-public void linkActivated(Control linkLabel);

-public void linkEntered(Control linkLabel);

-public void linkExited(Control linkLabel);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ILayoutExtension.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ILayoutExtension.java
deleted file mode 100644
index c6d947b..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ILayoutExtension.java
+++ /dev/null
@@ -1,28 +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.update.ui.forms.internal;
-
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Classes that extend abstract class Layout and implement
- * this interface can take part in layout computation of
- * the HTMLTableLayout manager. The said layout uses
- * alternative algorithm that computes columns before rows.
- * It allows it to 'flow' wrapped text proportionally
- * (as in the popular web browsers). Custom layout managers
- * that implement this interface allow recursive reflow
- * to be performed.
- */
-public interface ILayoutExtension {
-	public int getMinimumWidth(Composite parent, boolean changed);
-	public int getMaximumWidth(Composite parent, boolean changed); 
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.java
deleted file mode 100644
index 8355501..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.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.update.ui.forms.internal;

-

-import java.util.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-import org.eclipse.ui.part.*;

-import org.eclipse.swt.custom.*;

-

-public class NoTabsWorkbook implements IFormWorkbook {

-	private Vector pages;

-	private boolean firstPageSelected = true;

-	private PageBook pageBook;

-	private Vector listeners = new Vector();

-	private IFormPage currentPage;

-

-	public NoTabsWorkbook() {

-		pages = new Vector();

-	}

-	public void addFormSelectionListener(IFormSelectionListener listener) {

-		listeners.addElement(listener);

-	}

-	public void addPage(IFormPage page) {

-		pages.add(page);

-

-		if (firstPageSelected && currentPage == null)

-			selectPage(page, true);

-	}

-

-	public void createControl(Composite parent) {

-		pageBook = new PageBook(parent, SWT.NULL);

-	}

-

-	private void fireSelectionChanged(IFormPage page, boolean setFocus) {

-		for (Iterator iter = listeners.iterator(); iter.hasNext();) {

-			IFormSelectionListener listener = (IFormSelectionListener) iter.next();

-			listener.formSelected(page, setFocus);

-		}

-	}

-	

-	public IFormPage [] getPages() {

-		return (IFormPage[])pages.toArray(new IFormPage[pages.size()]);

-	}

-

-	public Control getControl() {

-		return pageBook;

-	}

-

-	public IFormPage getCurrentPage() {

-		return currentPage;

-	}

-

-	public boolean isFirstPageSelected() {

-		return firstPageSelected;

-	}

-	public void removeFormSelectionListener(IFormSelectionListener listener) {

-		listeners.removeElement(listener);

-	}

-

-	public void removePage(IFormPage page) {

-		if (pages.contains(page)) {

-			Control c = page.getControl();

-			if (c!=null && !c.isDisposed())

-				c.dispose();

-			pages.remove(page);

-		}

-	}

-

-	public void selectPage(final IFormPage page, final boolean setFocus) {

-		final IFormPage oldPage = currentPage;

-		currentPage = page;

-

-		if (pageBook != null) {

-

-			// It may take a while

-			BusyIndicator.showWhile(pageBook.getDisplay(), new Runnable() {

-				public void run() {

-					switchPages(oldPage, page, setFocus);

-				}

-			});

-		}

-	}

-

-	public void setFirstPageSelected(boolean newFirstPageSelected) {

-		firstPageSelected = newFirstPageSelected;

-	}

-

-	private void switchPages(IFormPage oldPage, IFormPage newPage, boolean setFocus) {

-		if (oldPage != null && oldPage != newPage) {

-			oldPage.becomesInvisible(newPage);

-		}

-		if (newPage.getControl() == null)

-			newPage.createControl(pageBook);

-		pageBook.showPage(newPage.getControl());

-

-		newPage.becomesVisible(oldPage);

-		fireSelectionChanged(newPage, setFocus);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java
deleted file mode 100644
index 8abd1ff..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java
+++ /dev/null
@@ -1,113 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.custom.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-

-/**

- * This version of the section form adds scrolling

- * capability. However, scrolling can be disabled

- * using 'setScrollable' method. For this reason,

- * this class can be used instead of the SectionForm.

- */

-

-public class ScrollableSectionForm extends SectionForm {

-	private Composite container;

-	private boolean verticalFit;

-	private boolean scrollable = true;

-

-	public ScrollableSectionForm() {

-	}

-	public Control createControl(Composite parent) {

-		container = createParent(parent);

-		Control formControl = super.createControl(container);

-		if (container instanceof ScrolledComposite) {

-			ScrolledComposite sc = (ScrolledComposite) container;

-			sc.setContent(formControl);

-		}

-		GridData gd = new GridData(GridData.FILL_BOTH);

-		formControl.setLayoutData(gd);

-		container.setBackground(formControl.getBackground());

-		return container;

-	}

-	protected Composite createParent(Composite parent) {

-		Composite result = null;

-		if (isScrollable()) {

-			ScrolledComposite scomp =

-				new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);

-			if (isVerticalFit()) {

-				scomp.setExpandHorizontal(true);

-				scomp.setExpandVertical(true);

-			}

-			initializeScrollBars(scomp);

-			result = scomp;

-		} else {

-			result = new Composite(parent, SWT.NONE);

-			GridLayout layout = new GridLayout();

-			layout.marginHeight = 0;

-			layout.marginWidth = 0;

-			result.setLayout(layout);

-		}

-		result.setMenu(parent.getMenu());

-		return result;

-	}

-	public boolean isScrollable() {

-		return scrollable;

-	}

-	public boolean isVerticalFit() {

-		return verticalFit;

-	}

-	public void setScrollable(boolean newScrollable) {

-		scrollable = newScrollable;

-	}

-

-	public void setVerticalFit(boolean newVerticalFit) {

-		verticalFit = newVerticalFit;

-	}

-

-	private void initializeScrollBars(ScrolledComposite scomp) {

-		ScrollBar hbar = scomp.getHorizontalBar();

-		if (hbar != null) {

-			hbar.setIncrement(H_SCROLL_INCREMENT);

-		}

-		ScrollBar vbar = scomp.getVerticalBar();

-		if (vbar != null) {

-			vbar.setIncrement(V_SCROLL_INCREMENT);

-		}

-		updatePageIncrement(scomp);

-	}

-

-	public void update() {

-		super.update();

-		if (container instanceof ScrolledComposite) {

-			updateScrolledComposite();

-		} else {

-			container.layout(true);

-		}

-	}

-	public void updateScrollBars() {

-		if (container instanceof ScrolledComposite) {

-			updateScrolledComposite();

-		}

-	}

-	public void updateScrolledComposite() {

-		ScrolledComposite sc = (ScrolledComposite) container;

-		Control formControl = getControl();

-		Point newSize = formControl.computeSize(SWT.DEFAULT, SWT.DEFAULT);

-		formControl.setSize(newSize);

-		sc.setMinSize(newSize);

-		updatePageIncrement(sc);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java
deleted file mode 100644
index 52d301b..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java
+++ /dev/null
@@ -1,44 +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.update.ui.forms.internal;

-

-import java.util.*;

-

-public class SectionChangeManager {

-	Hashtable sources = new Hashtable();

-

-	public SectionChangeManager() {

-		super();

-	}

-	public void dispatchNotification(

-		FormSection source,

-		int type,

-		Object changeObject) {

-		Vector targets = (Vector) sources.get(source);

-		if (targets != null) {

-			for (Iterator iter = targets.iterator(); iter.hasNext();) {

-				FormSection section = (FormSection) iter.next();

-				section.sectionChanged(source, type, changeObject);

-			}

-		}

-	}

-	public void linkSections(FormSection source, FormSection target) {

-		source.setManager(this);

-		Vector targets = null;

-

-		targets = (Vector) sources.get(source);

-		if (targets == null) {

-			targets = new Vector();

-			sources.put(source, targets);

-		}

-		targets.addElement(target);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java
deleted file mode 100644
index be28b6c..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java
+++ /dev/null
@@ -1,166 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.jface.util.PropertyChangeEvent;

-

-/**

- * This form implementation assumes that it contains

- * form sections and that they fill up the screen.

- * Typically, the form client will use up the entire

- * parent area below the heading. Sections must

- * be able to return their preferred size in both

- * dimensions. If they contain wrappable text,

- * WebForm should be used instead.

- */

-

-public class SectionForm extends AbstractSectionForm implements PaintListener {

-	private Composite control;

-	private int TITLE_HMARGIN = 10;

-	private int TITLE_VMARGIN = 5;

-

-	class FormLayout extends Layout {

-		protected Point computeSize(

-			Composite composite,

-			int wHint,

-			int hHint,

-			boolean flushCache) {

-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)

-				return new Point(wHint, hHint);

-			Control client = composite.getChildren()[0];

-			Point csize = client.computeSize(widthHint, heightHint, flushCache);

-			if (headingVisible)

-				csize.y += getTitleHeight();

-			return csize;

-		}

-		protected void layout(Composite composite, boolean flushCache) {

-			Rectangle clientArea = composite.getClientArea();

-			Control client = composite.getChildren()[0];

-			if (client != null && !client.isDisposed()) {

-				int theight = headingVisible ? getTitleHeight() : 0;

-				client.setBounds(

-					clientArea.x,

-					clientArea.y + theight,

-					clientArea.width,

-					clientArea.height - theight);

-			}

-		}

-	}

-	private int widthHint = SWT.DEFAULT;

-	private int heightHint = SWT.DEFAULT;

-

-	public SectionForm() {

-	}

-

-	public Control createControl(Composite parent) {

-		Composite canvas = new Composite(parent, SWT.NONE);

-		canvas.setBackground(factory.getBackgroundColor());

-		canvas.setForeground(factory.getForegroundColor());

-		canvas.addPaintListener(this);

-		canvas.setLayout(new FormLayout());

-		canvas.setMenu(parent.getMenu());

-		Composite formParent = factory.createComposite(canvas);

-		createFormClient(formParent);

-		this.control = canvas;

-		//canvas.setFocus();

-		return canvas;

-	}

-

-	protected void createFormClient(Composite parent) {

-		factory.createComposite(parent);

-	}

-

-	public Control getControl() {

-		return control;

-	}

-

-	private int getTitleHeight() {

-		int imageHeight = 0;

-		if (headingImage != null

-			&& SWT.getPlatform().equals("motif") == false) {

-			imageHeight = headingImage.getBounds().height;

-		}

-		GC gc = new GC(control);

-		gc.setFont(titleFont);

-		FontMetrics fm = gc.getFontMetrics();

-		int fontHeight = fm.getHeight();

-		gc.dispose();

-

-		int height = fontHeight + TITLE_VMARGIN + TITLE_VMARGIN;

-		return Math.max(height, imageHeight);

-	}

-

-	private void paint(Control form, GC gc) {

-		Rectangle bounds = form.getBounds();

-		int height = getTitleHeight();

-		if (headingImage != null) {

-			Rectangle imageBounds = headingImage.getBounds();

-			int x = bounds.width - imageBounds.width;

-			int y = 0;

-			//x = Math.max(x, 0);

-			x = 0;

-			if (headingBackground != null) {

-				gc.setBackground(headingBackground);

-				gc.fillRectangle(0, 0, bounds.width, height);

-			}

-			if (SWT.getPlatform().equals("motif") == false) {

-				gc.drawImage(headingImage, x, y);

-			}

-			if (headingForeground != null)

-				gc.setForeground(headingForeground);

-			else

-				gc.setForeground(factory.getForegroundColor());

-			gc.setFont(titleFont);

-			gc.drawText(getHeadingText(), TITLE_HMARGIN, TITLE_VMARGIN, true);

-		} else {

-			gc.setFont(titleFont);

-			gc.setBackground(factory.getColor(FormWidgetFactory.DEFAULT_HEADER_COLOR));

-			//gc.fillRectangle(TITLE_HMARGIN, TITLE_VMARGIN, bounds.width-TITLE_HMARGIN*2, height-TITLE_VMARGIN*2);

-			gc.setForeground(factory.getForegroundColor());

-			gc.drawText(getHeadingText(), TITLE_HMARGIN, TITLE_VMARGIN, true);

-		}

-	}

-

-	public final void paintControl(PaintEvent event) {

-		if (!headingVisible)

-			return;

-		GC gc = event.gc;

-		Control form = (Control) event.widget;

-		paint(form, gc);

-	}

-

-	public void setHeadingVisible(boolean newHeadingVisible) {

-		super.setHeadingVisible(newHeadingVisible);

-		if (control != null)

-			control.layout(true);

-	}

-	public void setHeadingText(String headingText) {

-		super.setHeadingText(headingText);

-		if (control != null) {

-			control.layout(true);

-			control.redraw();

-		}

-	}

-

-	public void propertyChange(PropertyChangeEvent event) {

-		titleFont = JFaceResources.getHeaderFont();

-		if (control != null && !control.isDisposed()) {

-			control.layout(true);

-			control.redraw();

-		}

-	}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java
deleted file mode 100644
index 8479133..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java
+++ /dev/null
@@ -1,100 +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.update.ui.forms.internal;

-

-

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.*;

-

-/**

- * FormText is a windowless control that

- * draws text in the provided context.

- */

-public abstract class SelectableControl extends Canvas {

-	private boolean hasFocus;

-

-	public SelectableControl(Composite parent, int style) {

-		super(parent, style);

-		addPaintListener(new PaintListener() {

-			public void paintControl(PaintEvent e) {

-				paint(e);

-			}

-		});

-		addMouseListener(new MouseAdapter () {

-			public void mouseUp(MouseEvent e) {

-				notifyListeners(SWT.Selection);

-			}

-		});

-		addKeyListener(new KeyAdapter() {

-			public void keyPressed(KeyEvent e) {

-				if (e.character == '\r') {

-					// Activation

-					notifyListeners(SWT.Selection);

-				}

-			}

-		});

-		addListener(SWT.Traverse, new Listener () {

-			public void handleEvent(Event e) {

-				if (e.detail != SWT.TRAVERSE_RETURN)

-					e.doit = true;

-			}

-		});

-		addFocusListener(new FocusListener() {

-			public void focusGained(FocusEvent e) {

-				if (!hasFocus) {

-				   hasFocus=true;

-				   redraw();

-				}

-			}

-			public void focusLost(FocusEvent e) {

-				if (hasFocus) {

-					hasFocus=false;

-					redraw();

-				}

-			}

-		});

-	}

-

-	protected void paint(PaintEvent e) {

-		GC gc = e.gc;

-		Point size = getSize();

-	   	gc.setFont(getFont());

-	   	paint(gc);

-		if (hasFocus) {

-	   		gc.setForeground(getForeground());

-	   		gc.drawFocus(0, 0, size.x, size.y);

-		}

-	}

-	

-	protected abstract void paint(GC gc);

-	

-	private void notifyListeners(int eventType) {

-		Event event = new Event();

-		event.type = eventType;

-		event.widget = this;

-		notifyListeners(eventType, event);

-	}

-	

-	public void addSelectionListener(SelectionListener listener) {

-		checkWidget ();

-		if (listener == null) return;

-		TypedListener typedListener = new TypedListener (listener);

-		addListener (SWT.Selection,typedListener);

-	}

-	

-	public void removeSelectionListener(SelectionListener listener) {

-		checkWidget ();

-		if (listener == null) return;

-		removeListener (SWT.Selection, listener);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java
deleted file mode 100644
index ea5d5c4..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java
+++ /dev/null
@@ -1,149 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.accessibility.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-

-public class SelectableFormLabel extends FormLabel {

-	private boolean hasFocus;

-

-	public boolean getSelection() {

-		return hasFocus;

-	}

-	

-	/**

-	 * Constructor for SelectableFormLabel

-	 */

-	public SelectableFormLabel(Composite parent, int style) {

-		super(parent, style);

-		addKeyListener(new KeyAdapter() {

-			public void keyPressed(KeyEvent e) {

-				if (e.character == '\r') {

-					// Activation

-					notifyListeners(SWT.DefaultSelection);

-				}

-			}

-		});

-		addListener(SWT.Traverse, new Listener () {

-			public void handleEvent(Event e) {

-				switch (e.detail) {

-					case SWT.TRAVERSE_PAGE_NEXT:

-					case SWT.TRAVERSE_PAGE_PREVIOUS:

-					case SWT.TRAVERSE_ARROW_NEXT:

-					case SWT.TRAVERSE_ARROW_PREVIOUS:

-					case SWT.TRAVERSE_RETURN:

-					e.doit = false;

-					return;

-				}

-				e.doit = true;

-			}

-		});

-		addFocusListener(new FocusListener() {

-			public void focusGained(FocusEvent e) {

-				if (!hasFocus) {

-				   hasFocus=true;

-				   notifyListeners(SWT.Selection);

-				   redraw();

-				}

-			}

-			public void focusLost(FocusEvent e) {

-				if (hasFocus) {

-					hasFocus=false;

-					notifyListeners(SWT.Selection);

-					redraw();

-				}

-			}

-		});

-		textMarginWidth = 1;

-		textMarginHeight = 1;

-	}

-	

-	protected void initAccessible() {

-		Accessible accessible = getAccessible();

-		accessible.addAccessibleListener(new AccessibleAdapter() {

-			public void getName(AccessibleEvent e) {

-				e.result = getText();

-			}

-

-			public void getHelp(AccessibleEvent e) {

-				e.result = getToolTipText();

-			}

-		});

-

-		accessible

-			.addAccessibleControlListener(new AccessibleControlAdapter() {

-			public void getChildAtPoint(AccessibleControlEvent e) {

-				Point pt = toControl(new Point(e.x, e.y));

-				e.childID =

-					(getBounds().contains(pt))

-						? ACC.CHILDID_SELF

-						: ACC.CHILDID_NONE;

-			}

-

-			public void getLocation(AccessibleControlEvent e) {

-				Rectangle location = getBounds();

-				Point pt = toDisplay(new Point(location.x, location.y));

-				e.x = pt.x;

-				e.y = pt.y;

-				e.width = location.width;

-				e.height = location.height;

-			}

-

-			public void getChildCount(AccessibleControlEvent e) {

-				e.detail = 0;

-			}

-

-			public void getRole(AccessibleControlEvent e) {

-				e.detail = ACC.ROLE_PUSHBUTTON;

-			}

-

-			public void getState(AccessibleControlEvent e) {

-				e.detail = SelectableFormLabel.this.getSelection()?ACC.STATE_SELECTED:ACC.STATE_NORMAL;

-			}

-		});

-	}

-	

-	private void notifyListeners(int eventType) {

-		Event event = new Event();

-		event.type = eventType;

-		event.widget = this;

-		notifyListeners(eventType, event);

-	}

-

-	protected void paint(PaintEvent e) {

-		super.paint(e);

-	   	if (hasFocus) {

-	   		GC gc = e.gc;

-	   		Point size = getSize();

-	   		gc.setForeground(getForeground());

-	   		gc.drawFocus(0, 0, size.x, size.y);

-		}

-	}

-

-	public void addSelectionListener(SelectionListener listener) {

-		checkWidget ();

-		if (listener == null) return;

-		TypedListener typedListener = new TypedListener (listener);

-		addListener (SWT.Selection,typedListener);

-		addListener (SWT.DefaultSelection,typedListener);

-	}

-	

-	public void removeSelectionListener(SelectionListener listener) {

-		checkWidget ();

-		if (listener == null) return;

-		removeListener (SWT.Selection, listener);

-		removeListener (SWT.DefaultSelection, listener);

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java
deleted file mode 100644
index bd3cfc4..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java
+++ /dev/null
@@ -1,60 +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.update.ui.forms.internal;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.graphics.Point;

-

-/**

- * 

- * @author dejan

- *

- * To change the template for this generated type comment go to

- * Window - Preferences - Java - Code Generation - Code and Comments

- */

-

-public class TableData {

-	public static final int LEFT = 1;

-	public static final int CENTER = 2;

-	public static final int RIGHT = 3;

-	public static final int TOP = 4;

-	public static final int MIDDLE = 5;

-	public static final int BOTTOM = 6;

-	public static final int FILL = 7;

-	public int colspan=1;

-	public int rowspan=1;

-	public int align = LEFT;

-	public int valign = TOP;

-	public int indent = 0;

-	public int maxWidth = SWT.DEFAULT;

-	public int maxHeight = SWT.DEFAULT;

-	public int heightHint = SWT.DEFAULT;

-	public boolean grabHorizontal=false;

-	

-	//private

-	int childIndex;

-	boolean isItemData=true; 

-	int compWidth;

-	Point compSize;

-		

-	public TableData() {

-	}

-	

-	public TableData(int align, int valign) {

-		this(align, valign, 1, 1);

-	}

-	

-	public TableData(int align, int valign, int rowspan, int colspan) {

-		this.align = align;

-		this.valign = valign;

-		this.rowspan = rowspan;

-		this.colspan = colspan;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java
deleted file mode 100644
index 417e4e2..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java
+++ /dev/null
@@ -1,243 +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.update.ui.forms.internal;

-import org.eclipse.jface.action.StatusLineManager;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.ScrolledComposite;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.graphics.Rectangle;

-import org.eclipse.swt.layout.FillLayout;

-import org.eclipse.swt.layout.RowLayout;

-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.Shell;

-

-public class TableLayoutTest {

-

-public static void main (String [] args) {

-     Display display = new Display ();

-     Shell shell = new Shell (display);

-     shell.setLayout(new FillLayout());

-     final ScrolledComposite sc = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL);

-    // sc.setAlwaysShowScrollBars(true);

-     sc.setBackground(sc.getDisplay().getSystemColor(SWT.COLOR_WHITE));

-     final Composite c = new Composite(sc, SWT.NONE);

-     //c.setBackground(c.getDisplay().getSystemColor(SWT.COLOR_RED));

-     sc.setContent(c);

-     sc.addListener (SWT.Resize,  new Listener () {

-		public void handleEvent (Event e) {

-			Rectangle ssize = sc.getClientArea();

-			int swidth = ssize.width;

-			HTMLTableLayout layout = (HTMLTableLayout)c.getLayout();

-			Point size = layout.computeSize(c, swidth, SWT.DEFAULT, true);

-			//if (size.x < swidth) size.x = swidth;

-			Rectangle trim = c.computeTrim(0, 0, size.x, size.y);

-			size = new Point(trim.width, trim.height);

-			/*

-			Point size = c.computeSize(swidth, SWT.DEFAULT, true);

-			*/

-			//System.out.println("in: "+swidth+", out: "+size.x);

-			c.setSize(size);

-		}

-	});

-     c.setBackground(c.getDisplay().getSystemColor(SWT.COLOR_WHITE));

-     HTMLTableLayout layout = new HTMLTableLayout();

-     layout.numColumns = 2;

-     //layout.horizontalSpacing = 0;

-     layout.leftMargin = 0;

-     layout.rightMargin = 0;

-     layout.makeColumnsEqualWidth=false;

-     //layout.marginWidth = layout.marginHeight = 0;

-     //layout.horizontalSpacing = 0;

-     c.setLayout(layout);

-     

-     Label label;

-     Button b;

-     TableData td;

-/*     

-     label = new Label(c, SWT.NULL);

-     label.setText("Single line1");

-     

-     //label = new Label(c, SWT.WRAP);

-     Text text = new Text(c, SWT.MULTI | SWT.WRAP);

-     text.setEditable(false);

-     text.setText("This is a much longer text that I want wrapped,"+

-     " but depending on the window size it can be rendered completely.");

-     

-     b = new Button(c, SWT.PUSH);

-     b.setText("Simple button");

-     

-     label = new Label(c, SWT.WRAP);

-     label.setText("Another text that may or may not be wrapped");

-

-     label = new Label(c, SWT.NULL);

-     td = new TableData(TableData.RIGHT, TableData.BOTTOM);

-     label.setLayoutData(td);

-     label.setText("Fixed label");

-     

-     Composite nested = new Composite(c, SWT.NULL);

-     layout = new HTMLTableLayout();

-     layout.numColumns = 2;

-     nested.setLayout(layout);

-     b = new Button(nested, SWT.PUSH);

-     b.setText("Button2");

-     label = new Label(nested, SWT.WRAP);

-     td = new TableData(TableData.LEFT, TableData.MIDDLE);

-     label.setLayoutData(td);

-     label.setText("Some text in the nested label that can be wrapped");

-*/     

-     label = new Label(c, SWT.NULL);

-     label.setText("Text in the left column");

-     

-     b = new Button(c, SWT.CHECK);

-     b.setText("Checkbox in the right column");

-

-     

-     label = new Label(c, SWT.WRAP);

-     label.setText("This assignment step is then repeated for nested tables using the minimum and maximum widths derived for all such tables in the first pass. In this case, the width of the parent table cell plays the role of the current window size in the above description. This process is repeated recursively for all nested tables. The topmost table is then rendered using the assigned widths. Nested tables are subsequently rendered as part of the parent table's cell contents.");

-     td = new TableData();

-     td.colspan = 2;

-     td.align = TableData.FILL;

-     label.setLayoutData(td);

-     

-     ExpandableGroup exp = new ExpandableGroup (SWT.WRAP) {

-     	public void fillExpansion(Composite container, FormWidgetFactory factory) {

-     		HTMLTableLayout layout = new HTMLTableLayout();

-     		container.setLayout(layout);

-     		layout.leftMargin = layout.rightMargin = 0;

-     		Button button = factory.createButton(container, null, SWT.PUSH);

-     		button.setText("Button");

-    	}

-     	public void expanded() {

-     		c.layout(true);

-     		updateSize(sc, c);

-     	}

-     	public void collapsed() {

-     		c.layout(true);

-     		updateSize(sc, c);

-     	}

-     };

-     exp.setText("Expandable Section");

-     //exp.setExpandable(false);

-     FormWidgetFactory factory = new FormWidgetFactory();

-     exp.createControl(c, factory);

-     //exp.getControl().setBackground(label.getDisplay().getSystemColor(SWT.COLOR_GREEN));

-     td = new TableData();

-     td.colspan = 2;

-     td.align = TableData.FILL;

-     exp.getControl().setLayoutData(td);

-     

-	 StatusLineManager manager = new StatusLineManager();

-     //addFormEngine(c, factory, manager);

-     //addFormEngine(c, factory, manager);

-     //addFormEngine(c, factory, manager);

-     

-     addRow(c);

- 

-     Control mcontrol = manager.createControl(c);

-     td = new TableData();

-     td.colspan = 2;

-     td.align = TableData.FILL;

-     mcontrol.setLayoutData(td);

-     

-     factory.setHyperlinkUnderlineMode(HyperlinkHandler.UNDERLINE_ROLLOVER);

-     

-     SelectableFormLabel ft = new SelectableFormLabel(c, SWT.WRAP);

-     ft.setText("Some text in the form text that should also wrap");

-     factory.turnIntoHyperlink(ft, new IHyperlinkListener() {

-     	public void linkEntered(Control link) {

-     		System.out.println("Link entered");

-     	}

-     	public void linkExited(Control link) {

-    		System.out.println("Link exited");

-     	}

-     	public void linkActivated(Control link) {

-     		System.out.println("Link activated");

-     	}

-     });

-

-     ft = new SelectableFormLabel(c, SWT.WRAP);

-     ft.setText("Some more form text here");

-     factory.turnIntoHyperlink(ft, new IHyperlinkListener() {

-     	public void linkEntered(Control link) {

-     		System.out.println("Link entered");

-     	}

-     	public void linkExited(Control link) {

-    		System.out.println("Link exited");

-     	}

-     	public void linkActivated(Control link) {

-     		System.out.println("Link activated");

-     	}

-     });

-   

-     shell.open ();

-     while (!shell.isDisposed ()) {

-          if (!display.readAndDispatch ()) display.sleep ();

-     }

-     display.dispose ();

-}

-

-/*

-

-public static void addFormEngine(Composite c, FormWidgetFactory factory, IStatusLineManager manager) {

-     new Label(c, SWT.NULL);

-     RichText html = new RichText(c, SWT.WRAP);

-     html.setHyperlinkSettings(factory.getHyperlinkHandler());

-     RichTextHTTPAction action = new RichTextHTTPAction(manager);

-     URL i1URL = TableLayoutTest.class.getResource("image1.gif");

-     ImageDescriptor id1 = ImageDescriptor.createFromURL(i1URL);

-     html.registerTextObject("urlHandler", action);

-     html.registerTextObject("image1", id1.createImage());

-     //html.setBackground(factory.getBackgroundColor());

-     html.setForeground(factory.getForegroundColor());

-     InputStream is = TableLayoutTest.class.getResourceAsStream("index.xml");

-     //html.setParagraphsSeparated(false);

-     html.setContents(is, true);

-     TableData td = new TableData();

-     td.colspan = 1;

-     td.align = TableData.FILL;

-     html.setLayoutData(td);

-}

-*/

-

-public static void addRow(Composite c) {

-	Composite row = new Composite(c, SWT.WRAP);

-	RowLayout layout = new RowLayout();

-	layout.wrap = true;

-	row.setLayout(layout);

-	

-	for (int i=0; i<10; i++) {

-		Button button = new Button(row, SWT.PUSH);

-		button.setText("Button that should be wrapped");

-	}

-	TableData td = new TableData();

-	td.colspan = 2;

-	td.align = TableData.FILL;

-	td.grabHorizontal = true;

-	row.setLayoutData(td);

-}

-

-private static void updateSize(ScrolledComposite sc, Composite c) {

-	Rectangle ssize = sc.getClientArea();

-	int swidth = ssize.width;

-	HTMLTableLayout layout = (HTMLTableLayout)c.getLayout();

-	Point size = layout.computeSize(c, swidth, SWT.DEFAULT, true);

-	Rectangle trim = c.computeTrim(0, 0, size.x, size.y);

-	size = new Point(trim.width, trim.height);

-	c.setSize(size);

-}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java
deleted file mode 100644
index f4a127e..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java
+++ /dev/null
@@ -1,169 +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.update.ui.forms.internal;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.accessibility.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.Composite;

-

-public class ToggleControl extends SelectableControl {

-	private boolean selection;

-	private Color decorationColor;

-	private Color activeColor;

-	private Cursor activeCursor;

-	private boolean hover=false;

-	private static final int marginWidth = 2;

-	private static final int marginHeight = 2;

-	private static final int WIDTH = 9;

-	private static final int HEIGHT = 9;

-	private static final int [] offPoints = { 0,2, 8,2, 4,6 };

-	private static final int [] onPoints = { 2, -1, 2,8, 6,4 };	

-

-	public ToggleControl(Composite parent, int style) {

-		super(parent, style);

-		addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				selection = !selection;

-				redraw();

-			}

-		});

-

-		addMouseTrackListener(new MouseTrackAdapter() {

-			public void mouseEnter(MouseEvent e) {

-				hover = true;

-				if (activeCursor!=null)

-				   setCursor(activeCursor);

-				redraw();

-			}

-			public void mouseExit(MouseEvent e) {

-				hover = false;

-				if (activeCursor!=null)

-				   setCursor(null);

-				redraw();

-			}

-		});

-		initAccessible();

-	}

-	void initAccessible() {

-		getAccessible().addAccessibleListener(new AccessibleAdapter() {

-			public void getHelp(AccessibleEvent e) {

-				e.result = getToolTipText();

-			}

-		});

-		

-		getAccessible().addAccessibleControlListener(new AccessibleControlAdapter() {

-			public void getChildAtPoint(AccessibleControlEvent e) {

-				Point testPoint = toControl(new Point(e.x, e.y));

-				if (getBounds().contains(testPoint)) {

-					e.childID = ACC.CHILDID_SELF;

-				}

-			}

-		

-			public void getLocation(AccessibleControlEvent e) {

-				Rectangle location = getBounds();

-				Point pt = toDisplay(new Point(location.x, location.y));

-				e.x = pt.x;

-				e.y = pt.y;

-				e.width = location.width;

-				e.height = location.height;

-			}

-		

-			public void getChildCount(AccessibleControlEvent e) {

-				e.detail = 0;

-			}

-		

-			public void getRole(AccessibleControlEvent e) {

-				e.detail = ACC.ROLE_TREE;

-			}

-		

-			public void getState(AccessibleControlEvent e) {

-				e.detail = ToggleControl.this.getSelection()?ACC.STATE_EXPANDED:ACC.STATE_COLLAPSED;

-			}

-

-			public void getValue(AccessibleControlEvent e) {

-				e.result = ToggleControl.this.getSelection()?"1":"0";

-			}

-		});

-	}

-	

-	public void setDecorationColor(Color decorationColor) {

-		this.decorationColor = decorationColor;

-	}

-	

-	public Color getDecorationColor() {

-		return decorationColor;

-	}

-	

-	public void setActiveDecorationColor(Color activeColor) {

-		this.activeColor = activeColor;

-	}

-	

-	public void setActiveCursor(Cursor activeCursor) {

-		this.activeCursor = activeCursor;

-	}

-	

-	public Color getActiveDecorationColor() {

-		return activeColor;

-	}

-	

-	public Point computeSize(int wHint, int hHint, boolean changed) {

-		int width, height;

-		

-		if (wHint!=SWT.DEFAULT) width = wHint; 

-		else 

-		   width = WIDTH + 2*marginWidth;

-		if (hHint!=SWT.DEFAULT) height = hHint;

-		else height = HEIGHT + 2*marginHeight;

-		return new Point(width, height);

-	}

-

-	/*

-	 * @see SelectableControl#paint(GC)

-	 */

-	protected void paint(GC gc) {

-		if (hover && activeColor!=null)

-			gc.setBackground(activeColor);

-		else if (decorationColor!=null)

-	   	   gc.setBackground(decorationColor);

-	   	else

-	   			gc.setBackground(getForeground());

-		int [] data;

-		Point size = getSize();

-		int x = (size.x - 9)/2;

-		int y = (size.y - 9)/2;

-		if (selection)

-			data = translate(onPoints, x, y);

-		else 

-			data = translate(offPoints, x, y);

-		gc.fillPolygon(data);

-		gc.setBackground(getBackground());

-	}

-	

-	private int [] translate(int [] data, int x, int y) {

-		int [] target = new int [data.length];

-		for (int i=0; i<data.length; i+=2) {

-			target[i] = data[i]+ x;

-		}

-		for (int i=1; i<data.length; i+=2) {

-			target[i] = data[i]+y;

-		}

-		return target;

-	}

-

-	public boolean getSelection() {

-		return selection;

-	}

-	

-	public void setSelection(boolean selection) {

-		this.selection = selection;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java
deleted file mode 100644
index ee6c76e..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java
+++ /dev/null
@@ -1,237 +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.update.ui.forms.internal;

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.jface.util.PropertyChangeEvent;

-import org.eclipse.swt.custom.*;

-

-/**

- * This form implementation assumes that it contains

- * children that do not have independent dimensions.

- * In other words, these widgets are not capable

- * of answering their preferred size. Instead,

- * desired width must be supplied to get the

- * preferred height. These forms are layed out

- * top to bottom, left to right and use

- * a layout algorithm very similar to

- * HTML tables. Scrolling is not optional

- * for this type of presentation - 

- * scroll bars will show up when needed.

- */

-

-public class WebForm extends AbstractSectionForm {

-	protected ScrolledComposite scrollComposite;

-	private Composite control;

-	private Composite client;

-	private final static int HMARGIN = 5;

-	private final static int VMARGIN = 5;

-	private Image headingUnderlineImage;

-

-	class WebFormLayout extends Layout {

-

-		protected void layout(Composite parent, boolean changed) {

-			Rectangle bounds = parent.getClientArea();

-			int x = 0;

-			int y = 0;

-			if (isHeadingVisible()) {

-				y = getHeadingHeight(parent);

-			}

-			Point csize;

-

-			Layout layout = client.getLayout();

-			if (layout != null && layout instanceof HTMLTableLayout) {

-				HTMLTableLayout hlayout = (HTMLTableLayout) layout;

-				csize = hlayout.computeSize(client, bounds.width, SWT.DEFAULT, true);

-				if (csize.x < bounds.width)

-					csize.x = bounds.width;

-				Rectangle trim = control.computeTrim(0, 0, csize.x, csize.y);

-				csize = new Point(trim.width, trim.height);

-			} else {

-				csize = client.computeSize(bounds.width, SWT.DEFAULT, changed);

-			}

-			client.setBounds(x, y, csize.x, csize.y);

-		}

-

-		protected Point computeSize(

-			Composite parent,

-			int wHint,

-			int hHint,

-			boolean changed) {

-			int width = wHint;

-			int height = 0;

-			if (isHeadingVisible()) {

-				height = getHeadingHeight(parent);

-			}

-			Point csize;

-			Layout layout = client.getLayout();

-

-			if (layout != null && layout instanceof HTMLTableLayout) {

-				HTMLTableLayout hlayout = (HTMLTableLayout) layout;

-				csize = hlayout.computeSize(client, width, SWT.DEFAULT, true);

-				if (csize.x < width)

-					csize.x = width;

-				Rectangle trim = control.computeTrim(0, 0, csize.x, csize.y);

-				csize = new Point(trim.width, trim.height);

-			} else {

-				csize = client.computeSize(width, SWT.DEFAULT, changed);

-			}

-			width = csize.x;

-			height += csize.y;

-			return new Point(width, height);

-		}

-	}

-

-	public WebForm() {

-	}

-

-	public Control createControl(Composite parent) {

-		scrollComposite = new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);

-		scrollComposite.setBackground(factory.getBackgroundColor());

-		scrollComposite.setMenu(parent.getMenu());

-		final Composite form = factory.createComposite(scrollComposite);

-

-		scrollComposite.setContent(form);

-		scrollComposite.addListener(SWT.Resize, new Listener() {

-			public void handleEvent(Event e) {

-				updateSize();

-			}

-		});

-		WebFormLayout layout = new WebFormLayout();

-		form.setLayout(layout);

-		form.addPaintListener(new PaintListener() {

-			public void paintControl(PaintEvent e) {

-				paint(e);

-			}

-		});

-		this.control = form;

-		client = factory.createComposite(form);

-		createContents(client);

-		initializeScrollBars(scrollComposite);

-		//form.setFocus();

-		return scrollComposite;

-	}

-	private void initializeScrollBars(ScrolledComposite scomp) {

-		ScrollBar hbar = scomp.getHorizontalBar();

-		if (hbar != null) {

-			hbar.setIncrement(H_SCROLL_INCREMENT);

-		}

-		ScrollBar vbar = scomp.getVerticalBar();

-		if (vbar != null) {

-			vbar.setIncrement(V_SCROLL_INCREMENT);

-		}

-		updatePageIncrement(scomp);

-	}

-

-	public int getHeadingHeight(Composite parent) {

-		int width = parent.getSize().x;

-		int height = 0;

-		int imageHeight = 0;

-		if (getHeadingImage() != null) {

-			Rectangle ibounds = getHeadingImage().getBounds();

-			imageHeight = ibounds.height;

-		}

-		GC gc = new GC(parent);

-		gc.setFont(titleFont);

-		int textWidth = width - 2 * HMARGIN;

-		height = FormLabel.computeWrapHeight(gc, getHeadingText(), textWidth);

-		height += 2 * VMARGIN;

-		height = Math.max(height, imageHeight);

-		if (headingUnderlineImage != null) {

-			Rectangle ibounds = headingUnderlineImage.getBounds();

-			height += ibounds.height;

-		}

-		gc.dispose();

-		return height;

-	}

-

-	protected void createContents(Composite parent) {

-	}

-

-	public Control getControl() {

-		return control;

-	}

-

-	public void setHeadingVisible(boolean newHeadingVisible) {

-		super.setHeadingVisible(newHeadingVisible);

-		if (control != null)

-			control.layout();

-	}

-

-	public Image getHeadingUnderlineImage() {

-		return headingUnderlineImage;

-	}

-

-	public void setHeadingUnderlineImage(Image image) {

-		this.headingUnderlineImage = image;

-	}

-

-	public void propertyChange(PropertyChangeEvent event) {

-		titleFont = JFaceResources.getHeaderFont();

-		if (control != null && !control.isDisposed()) {

-			control.layout();

-		}

-	}

-	

-	protected void updateHyperlinkColors() {

-		factory.updateHyperlinkColors();

-		if (control != null && !control.isDisposed()) {

-			control.redraw();

-		}

-	}

-

-	public void updateSize() {

-		Rectangle ssize = scrollComposite.getClientArea();

-		int swidth = ssize.width;

-		WebFormLayout layout = (WebFormLayout) control.getLayout();

-		Point size = layout.computeSize(control, swidth, SWT.DEFAULT, true);

-		if (size.x < swidth)

-			size.x = swidth;

-		Rectangle trim = control.computeTrim(0, 0, size.x, size.y);

-		size = new Point(trim.width, trim.height);

-		control.setSize(size);

-		updatePageIncrement(scrollComposite);

-	}

-

-	private void paint(PaintEvent e) {

-		if (isHeadingVisible() == false)

-			return;

-		GC gc = e.gc;

-		if (headingImage != null) {

-			gc.drawImage(headingImage, 0, 0);

-		}

-		Point size = control.getSize();

-		if (getHeadingBackground() != null)

-			gc.setBackground(getHeadingBackground());

-		if (getHeadingForeground() != null)

-			gc.setForeground(getHeadingForeground());

-		gc.setFont(titleFont);

-		FormLabel.paintWrapText(gc, size, getHeadingText(), HMARGIN, VMARGIN);

-		if (headingUnderlineImage != null) {

-			int y =

-				getHeadingHeight(control)

-					- headingUnderlineImage.getBounds().height;

-			gc.drawImage(headingUnderlineImage, 0, y);

-		}

-	}

-	public void setHeadingText(String headingText) {

-		super.setHeadingText(headingText);

-		if (control!=null)

-			control.redraw();

-	}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java
deleted file mode 100644
index de3f838..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java
+++ /dev/null
@@ -1,103 +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.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.GC;
-import java.util.Hashtable;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Color;
-
-public class BulletParagraph extends Paragraph implements IBulletParagraph {
-	private int style = CIRCLE;
-	private String text;
-	private int CIRCLE_DIAM = 5;
-	private int SPACING = 10;
-	private int indent = -1;
-	/**
-	 * Constructor for BulletParagraph.
-	 * @param addVerticalSpace
-	 */
-	public BulletParagraph(boolean addVerticalSpace) {
-		super(addVerticalSpace);
-	}
-
-	public int getIndent() {
-		if (indent != -1)
-			return indent;
-		switch (style) {
-			case CIRCLE :
-				return CIRCLE_DIAM + SPACING;
-		}
-		return 20;
-	}
-
-	/*
-	 * @see IBulletParagraph#getBulletStyle()
-	 */
-	public int getBulletStyle() {
-		return style;
-	}
-
-	public void setBulletStyle(int style) {
-		this.style = style;
-	}
-
-	public void setBulletText(String text) {
-		this.text = text;
-	}
-
-	public void setIndent(int indent) {
-		this.indent = indent;
-	}
-
-	/*
-	 * @see IBulletParagraph#getBulletText()
-	 */
-	public String getBulletText() {
-		return text;
-	}
-
-	public void paint(
-		GC gc,
-		int width,
-		Locator loc,
-		int lineHeight,
-		Hashtable objectTable,
-		IHyperlinkSegment selectedLink) {
-		paintBullet(gc, loc, lineHeight, objectTable);
-		super.paint(gc, width, loc, lineHeight, objectTable, selectedLink);
-	}
-
-	public void paintBullet(
-		GC gc,
-		Locator loc,
-		int lineHeight,
-		Hashtable objectTable) {
-		int x = loc.x - getIndent();
-		if (style == CIRCLE) {
-			int y = loc.y + lineHeight / 2 - CIRCLE_DIAM / 2;
-			Color bg = gc.getBackground();
-			Color fg = gc.getForeground();
-			gc.setBackground(fg);
-			gc.fillRectangle(x, y + 1, 5, 3);
-			gc.fillRectangle(x + 1, y, 3, 5);
-			gc.setBackground(bg);
-		} else if (style == TEXT && text != null) {
-			gc.drawText(text, x, loc.y);
-		} else if (style == IMAGE && text != null) {
-			Image image = (Image) objectTable.get(text);
-			if (image != null) {
-				int y = loc.y + lineHeight / 2 - image.getBounds().height / 2;
-				gc.drawImage(image, x, y);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java
deleted file mode 100644
index 53c8c7f..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java
+++ /dev/null
@@ -1,560 +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.update.ui.forms.internal.engine;

-

-import java.io.InputStream;

-import java.util.Hashtable;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.jface.action.*;

-import org.eclipse.jface.action.IMenuManager;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.accessibility.*;

-import org.eclipse.swt.accessibility.Accessible;

-import org.eclipse.swt.custom.ScrolledComposite;

-import org.eclipse.swt.dnd.*;

-import org.eclipse.swt.dnd.Clipboard;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.update.ui.forms.internal.*;

-

-public class FormEngine extends Canvas {

-	public static final String URL_HANDLER_ID = "urlHandler";

-	boolean hasFocus;

-	boolean paragraphsSeparated = true;

-	TextModel model;

-	Hashtable objectTable = new Hashtable();

-	public int marginWidth = 0;

-	public int marginHeight = 1;

-	IHyperlinkSegment entered;

-	boolean mouseDown = false;

-	Point dragOrigin;

-	private Action openAction;

-	private Action copyShortcutAction;

-	private boolean loading=true;

-	private String loadingText="Loading...";

-

-	public boolean getFocus() {

-		return hasFocus;

-	}

-	

-	public boolean isLoading() {

-		return loading;

-	}

-	

-	public String getLoadingText() {

-		return loadingText;

-	}

-	

-	public void setLoadingText(String loadingText) {

-		this.loadingText = loadingText;

-	}

-

-	public int getParagraphSpacing(int lineHeight) {

-		return lineHeight / 2;

-	}

-

-	public void setParagraphsSeparated(boolean value) {

-		paragraphsSeparated = value;

-	}

-

-	/**

-	 * Constructor for SelectableFormLabel

-	 */

-	public FormEngine(Composite parent, int style) {

-		super(parent, style);

-		setLayout(new FormEngineLayout());

-		model = new TextModel();

-

-		addDisposeListener(new DisposeListener() {

-			public void widgetDisposed(DisposeEvent e) {

-				model.dispose();

-			}

-		});

-		addPaintListener(new PaintListener() {

-			public void paintControl(PaintEvent e) {

-				paint(e);

-			}

-		});

-		addListener(SWT.KeyDown, new Listener() {

-			public void handleEvent(Event e) {

-				if (e.character == '\r') {

-					activateSelectedLink();

-					return;

-				}

-			}

-		});

-		addListener(SWT.Traverse, new Listener() {

-			public void handleEvent(Event e) {

-				switch (e.detail) {

-					case SWT.TRAVERSE_PAGE_NEXT :

-					case SWT.TRAVERSE_PAGE_PREVIOUS :

-					case SWT.TRAVERSE_ARROW_NEXT :

-					case SWT.TRAVERSE_ARROW_PREVIOUS :

-						e.doit = false;

-						return;

-				}

-				if (!model.hasFocusSegments()) {

-					e.doit = true;

-					return;

-				}

-				if (e.detail == SWT.TRAVERSE_TAB_NEXT)

-					e.doit = advance(true);

-				else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)

-					e.doit = advance(false);

-				else if (e.detail != SWT.TRAVERSE_RETURN)

-					e.doit = true;

-			}

-		});

-		addFocusListener(new FocusListener() {

-			public void focusGained(FocusEvent e) {

-				if (!hasFocus) {

-					hasFocus = true;

-					handleFocusChange();

-				}

-			}

-			public void focusLost(FocusEvent e) {

-				if (hasFocus) {

-					hasFocus = false;

-					handleFocusChange();

-				}

-			}

-		});

-		addMouseListener(new MouseListener() {

-			public void mouseDoubleClick(MouseEvent e) {

-			}

-			public void mouseDown(MouseEvent e) {

-				// select a link

-				handleMouseClick(e, true);

-			}

-			public void mouseUp(MouseEvent e) {

-				// activate a link

-				handleMouseClick(e, false);

-			}

-		});

-		addMouseTrackListener(new MouseTrackListener() {

-			public void mouseEnter(MouseEvent e) {

-				handleMouseMove(e);

-			}

-			public void mouseExit(MouseEvent e) {

-				if (entered != null) {

-					exitLink(entered);

-					paintLinkHover(entered, false);

-					entered = null;

-					setCursor(null);

-				}

-			}

-			public void mouseHover(MouseEvent e) {

-				handleMouseHover(e);

-			}

-		});

-		addMouseMoveListener(new MouseMoveListener() {

-			public void mouseMove(MouseEvent e) {

-				handleMouseMove(e);

-			}

-		});

-		initAccessible();

-		makeActions();

-	}

-

-	private void makeActions() {

-		openAction = new Action() {

-			public void run() {

-				activateSelectedLink();

-			}

-		};

-		openAction.setText(

-			FormsPlugin.getResourceString("FormEgine.linkPopup.open"));

-		copyShortcutAction = new Action() {

-			public void run() {

-				copyShortcut(getSelectedLink());

-			}

-		};

-		copyShortcutAction.setText(

-			FormsPlugin.getResourceString("FormEgine.linkPopup.copyShortcut"));

-	}

-

-	private String getAcessibleText() {

-		return model.getAccessibleText();

-	}

-

-	private void initAccessible() {

-		Accessible accessible = getAccessible();

-		accessible.addAccessibleListener(new AccessibleAdapter() {

-			public void getName(AccessibleEvent e) {

-				e.result = getAcessibleText();

-			}

-

-			public void getHelp(AccessibleEvent e) {

-				e.result = getToolTipText();

-			}

-		});

-

-		accessible

-			.addAccessibleControlListener(new AccessibleControlAdapter() {

-			public void getChildAtPoint(AccessibleControlEvent e) {

-				Point pt = toControl(new Point(e.x, e.y));

-				e.childID =

-					(getBounds().contains(pt))

-						? ACC.CHILDID_SELF

-						: ACC.CHILDID_NONE;

-			}

-

-			public void getLocation(AccessibleControlEvent e) {

-				Rectangle location = getBounds();

-				Point pt = toDisplay(new Point(location.x, location.y));

-				e.x = pt.x;

-				e.y = pt.y;

-				e.width = location.width;

-				e.height = location.height;

-			}

-

-			public void getChildCount(AccessibleControlEvent e) {

-				e.detail = 0;

-			}

-

-			public void getRole(AccessibleControlEvent e) {

-				e.detail = ACC.ROLE_TEXT;

-			}

-

-			public void getState(AccessibleControlEvent e) {

-				e.detail = ACC.STATE_READONLY;

-			}

-		});

-	}

-

-	private void handleMouseClick(MouseEvent e, boolean down) {

-		if (down) {

-			// select a hyperlink

-			IHyperlinkSegment segmentUnder = model.findHyperlinkAt(e.x, e.y);

-			if (segmentUnder != null) {

-				IHyperlinkSegment oldLink = model.getSelectedLink();

-				model.selectLink(segmentUnder);

-				enterLink(segmentUnder);

-				paintFocusTransfer(oldLink, segmentUnder);

-			}

-			mouseDown = true;

-			dragOrigin = new Point(e.x, e.y);

-		} else {

-			if (e.button == 1) {

-				IHyperlinkSegment segmentUnder =

-					model.findHyperlinkAt(e.x, e.y);

-				if (segmentUnder != null) {

-					activateLink(segmentUnder);

-				}

-			}

-			mouseDown = false;

-		}

-	}

-	private void handleMouseHover(MouseEvent e) {

-	}

-	private void handleMouseMove(MouseEvent e) {

-		if (mouseDown) {

-			handleDrag(e);

-			return;

-		}

-		ITextSegment segmentUnder = model.findSegmentAt(e.x, e.y);

-

-		if (segmentUnder == null) {

-			if (entered != null) {

-				exitLink(entered);

-				paintLinkHover(entered, false);

-				entered = null;

-			}

-			setCursor(null);

-		} else {

-			if (segmentUnder instanceof IHyperlinkSegment) {

-				IHyperlinkSegment linkUnder = (IHyperlinkSegment) segmentUnder;

-				if (entered == null) {

-					entered = linkUnder;

-					enterLink(linkUnder);

-					paintLinkHover(entered, true);

-					setCursor(

-						model.getHyperlinkSettings().getHyperlinkCursor());

-				}

-			} else {

-				if (entered != null) {

-					exitLink(entered);

-					paintLinkHover(entered, false);

-					entered = null;

-				}

-				setCursor(model.getHyperlinkSettings().getTextCursor());

-			}

-		}

-	}

-

-	private void handleDrag(MouseEvent e) {

-	}

-

-	public HyperlinkSettings getHyperlinkSettings() {

-		return model.getHyperlinkSettings();

-	}

-

-	public void setHyperlinkSettings(HyperlinkSettings settings) {

-		model.setHyperlinkSettings(settings);

-	}

-

-	private boolean advance(boolean next) {

-		IHyperlinkSegment current = model.getSelectedLink();

-		if (current != null)

-			exitLink(current);

-

-		boolean valid = model.traverseLinks(next);

-		

-		IHyperlinkSegment newLink = model.getSelectedLink();

-

-		if (valid)

-			enterLink(newLink);

-		paintFocusTransfer(current, newLink);

-		if (newLink!=null) ensureVisible(newLink);

-		return !valid;

-	}

-

-	public IHyperlinkSegment getSelectedLink() {

-		return model.getSelectedLink();

-	}

-

-	private void handleFocusChange() {

-		if (hasFocus) {

-			model.traverseLinks(true);

-			enterLink(model.getSelectedLink());

-			paintFocusTransfer(null, model.getSelectedLink());

-		} else {

-			paintFocusTransfer(model.getSelectedLink(), null);

-			model.selectLink(null);

-		}

-	}

-

-	private void enterLink(IHyperlinkSegment link) {

-		if (link == null)

-			return;

-		HyperlinkAction action = link.getAction(objectTable);

-		if (action != null)

-			action.linkEntered(link);

-	}

-

-	private void exitLink(IHyperlinkSegment link) {

-		if (link == null)

-			return;

-		HyperlinkAction action = link.getAction(objectTable);

-		if (action != null)

-			action.linkExited(link);

-	}

-

-	private void paintLinkHover(IHyperlinkSegment link, boolean hover) {

-		GC gc = new GC(this);

-

-		HyperlinkSettings settings = getHyperlinkSettings();

-

-		gc.setForeground(

-			hover ? settings.getActiveForeground() : settings.getForeground());

-		gc.setBackground(getBackground());

-		gc.setFont(getFont());

-		boolean selected = (link == getSelectedLink());

-		link.repaint(gc, hover);

-		if (selected) {

-			link.paintFocus(gc, getBackground(), getForeground(), false);

-			link.paintFocus(gc, getBackground(), getForeground(), true);

-		}

-		gc.dispose();

-	}

-

-	private void activateSelectedLink() {

-		IHyperlinkSegment link = model.getSelectedLink();

-		if (link != null)

-			activateLink(link);

-	}

-

-	private void activateLink(IHyperlinkSegment link) {

-		setCursor(model.getHyperlinkSettings().getBusyCursor());

-		HyperlinkAction action = link.getAction(objectTable);

-		if (action != null)

-			action.linkActivated(link);

-		if (!isDisposed())

-			setCursor(model.getHyperlinkSettings().getHyperlinkCursor());

-	}

-

-	protected void paint(PaintEvent e) {

-		int width = getClientArea().width;

-

-		GC gc = e.gc;

-		gc.setFont(getFont());

-		gc.setForeground(getForeground());

-		gc.setBackground(getBackground());

-

-		Locator loc = new Locator();

-		loc.marginWidth = marginWidth;

-		loc.marginHeight = marginHeight;

-		loc.x = marginWidth;

-		loc.y = marginHeight;

-

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-		

-		if (loading) {

-			int textWidth = gc.textExtent(loadingText).x;

-			gc.drawText(loadingText, width/2-textWidth/2, getClientArea().height/2-lineHeight/2);

-			return;

-		}

-		

-		IParagraph[] paragraphs = model.getParagraphs();

-

-		IHyperlinkSegment selectedLink = model.getSelectedLink();

-

-		for (int i = 0; i < paragraphs.length; i++) {

-			IParagraph p = paragraphs[i];

-

-			if (i > 0 && paragraphsSeparated && p.getAddVerticalSpace())

-				loc.y += getParagraphSpacing(lineHeight);

-

-			loc.indent = p.getIndent();

-			loc.resetCaret();

-			loc.rowHeight = 0;

-			p.paint(gc, width, loc, lineHeight, objectTable, selectedLink);

-		}

-	}

-

-	public void registerTextObject(String key, Object value) {

-		objectTable.put(key, value);

-	}

-

-	public void load(String text, boolean parseTags, boolean expandURLs) {

-		try {

-			if (parseTags)

-				model.parseTaggedText(text, expandURLs);

-			else

-				model.parseRegularText(text, expandURLs);

-		} catch (CoreException e) {

-			FormsPlugin.logException(e);

-		}

-		finally {

-			loading = false;

-		}

-	}

-	public void load(InputStream is, boolean expandURLs) {

-		try {

-			model.parseInputStream(is, expandURLs);

-		} catch (CoreException e) {

-			FormsPlugin.logException(e);

-		}

-		finally {

-			loading = false;

-		}

-	}

-

-	public boolean setFocus() {

-		/*

-		if (!model.hasFocusSegments())

-			return false;

-		*/

-		return super.setFocus();

-	}

-

-	private void paintFocusTransfer(

-		IHyperlinkSegment oldLink,

-		IHyperlinkSegment newLink) {

-		GC gc = new GC(this);

-		Color bg = getBackground();

-		Color fg = getForeground();

-

-		gc.setFont(getFont());

-

-		if (oldLink != null) {

-			gc.setBackground(bg);

-			gc.setForeground(fg);

-			oldLink.paintFocus(gc, bg, fg, false);

-		}

-		if (newLink != null) {

-			//ensureVisible(newLink);

-			gc.setBackground(bg);

-			gc.setForeground(fg);

-			newLink.paintFocus(gc, bg, fg, true);

-		}

-		gc.dispose();

-	}

-	/**

-	 * Gets the marginWidth.

-	 * @return Returns a int

-	 */

-	public int getMarginWidth() {

-		return marginWidth;

-	}

-

-	/**

-	 * Sets the marginWidth.

-	 * @param marginWidth The marginWidth to set

-	 */

-	public void setMarginWidth(int marginWidth) {

-		this.marginWidth = marginWidth;

-	}

-

-	/**

-	 * Gets the marginHeight.

-	 * @return Returns a int

-	 */

-	public int getMarginHeight() {

-		return marginHeight;

-	}

-

-	/**

-	 * Sets the marginHeight.

-	 * @param marginHeight The marginHeight to set

-	 */

-	public void setMarginHeight(int marginHeight) {

-		this.marginHeight = marginHeight;

-	}

-

-	public void contextMenuAboutToShow(IMenuManager manager) {

-		IHyperlinkSegment link = getSelectedLink();

-		if (link != null)

-			contributeLinkActions(manager, link);

-	}

-

-	private void contributeLinkActions(

-		IMenuManager manager,

-		IHyperlinkSegment link) {

-		manager.add(openAction);

-		manager.add(copyShortcutAction);

-		manager.add(new Separator());

-	}

-

-	private void copyShortcut(IHyperlinkSegment link) {

-		String text = link.getText();

-		Clipboard clipboard = new Clipboard(getDisplay());

-		clipboard.setContents(

-			new Object[] { text },

-			new Transfer[] { TextTransfer.getInstance()});

-	}

-

-	private void ensureVisible(IHyperlinkSegment segment) {

-		Rectangle bounds = segment.getBounds();

-		ScrolledComposite scomp = getScrolledComposite();

-		if (scomp == null)

-			return;

-		Point origin = AbstractSectionForm.getControlLocation(scomp, this);

-		origin.x += bounds.x;

-		origin.y += bounds.y;

-		AbstractSectionForm.ensureVisible(

-			scomp,

-			origin,

-			new Point(bounds.width, bounds.height));

-	}

-	ScrolledComposite getScrolledComposite() {

-		Composite parent = getParent();

-		while (parent != null) {

-			if (parent instanceof ScrolledComposite)

-				return (ScrolledComposite) parent;

-			parent = parent.getParent();

-		}

-		return null;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java
deleted file mode 100644
index ecaee4d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java
+++ /dev/null
@@ -1,111 +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.update.ui.forms.internal.engine;

-

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.update.ui.forms.internal.ILayoutExtension;

-

-/**

- * @version 	1.0

- * @author

- */

-public class FormEngineLayout extends Layout implements ILayoutExtension {

-

-	public int getMaximumWidth(Composite parent, boolean changed) {

-		return computeSize(parent, SWT.DEFAULT, SWT.DEFAULT, changed).x;

-	}

-

-	public int getMinimumWidth(Composite parent, boolean changed) {

-		return 30;

-	}

-

-	/*

-	 * @see Layout#computeSize(Composite, int, int, boolean)

-	 */

-

-	public Point computeSize(

-		Composite composite,

-		int wHint,

-		int hHint,

-		boolean changed) {

-		FormEngine engine = (FormEngine) composite;

-		int innerWidth = wHint;

-		if (engine.isLoading()) {

-			return computeLoading(engine);

-		}

-		if (innerWidth != SWT.DEFAULT)

-			innerWidth -= engine.marginWidth * 2;

-		Point textSize = computeTextSize(engine, innerWidth);

-		int textWidth = textSize.x + 2 * engine.marginWidth;

-		int textHeight = textSize.y + 2 * engine.marginHeight;

-		Point result = new Point(textWidth, textHeight);

-		return result;

-	}

-	

-	private Point computeLoading(FormEngine engine) {

-		GC gc = new GC(engine);

-		gc.setFont(engine.getFont());

-		String loadingText = engine.getLoadingText();

-		Point size = gc.textExtent(loadingText);

-		gc.dispose();

-		size.x += 2 * engine.marginWidth;

-		size.y += 2 * engine.marginHeight;

-		return size;

-	}

-

-	private Point computeTextSize(FormEngine engine, int wHint) {

-		IParagraph[] paragraphs = engine.model.getParagraphs();

-

-		GC gc = new GC(engine);

-		gc.setFont(engine.getFont());

-

-		Locator loc = new Locator();

-

-		int width = wHint != SWT.DEFAULT ? wHint : 0;

-

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-

-		for (int i = 0; i < paragraphs.length; i++) {

-			IParagraph p = paragraphs[i];

-

-			if (i > 0 && engine.paragraphsSeparated && p.getAddVerticalSpace())

-				loc.y += engine.getParagraphSpacing(lineHeight);

-

-			loc.rowHeight = 0;

-			loc.indent = p.getIndent();

-			loc.x = p.getIndent();

-

-			IParagraphSegment[] segments = p.getSegments();

-			if (segments.length > 0) {

-				for (int j = 0; j < segments.length; j++) {

-					IParagraphSegment segment = segments[j];

-					segment.advanceLocator(gc, wHint, loc, engine.objectTable);

-					width = Math.max(width, loc.width);

-				}

-				loc.y += loc.rowHeight;

-			} else {

-				// empty new line

-				loc.y += lineHeight;

-			}

-		}

-		gc.dispose();

-		return new Point(width, loc.y);

-	}

-

-	/*

-	 * @see Layout#layout(Composite, boolean)

-	 */

-	protected void layout(Composite composite, boolean flushCache) {

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java
deleted file mode 100644
index cd3d0b5..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.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.update.ui.forms.internal.engine;

-import org.eclipse.swt.program.Program;

-

-/**

- * @version 	1.0

- * @author

- */

-public class HTTPAction extends HyperlinkAction {

-	public HTTPAction () {

-	}

-	

-	public void linkActivated(IHyperlinkSegment link) {

-		Program.launch(link.getText());

-	}

-	

-	public void linkEntered(IHyperlinkSegment link) {

-		setDescription(link.getText());

-		super.linkEntered(link);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java
deleted file mode 100644
index 3b11a68..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java
+++ /dev/null
@@ -1,51 +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.update.ui.forms.internal.engine;

-

-import org.eclipse.jface.action.IStatusLineManager;

-

-/**

- * @version 	1.0

- * @author

- */

-public class HyperlinkAction {

-	IStatusLineManager manager;

-	private String description;

-	

-	public HyperlinkAction() {

-	}

-	

-	public void linkActivated(final IHyperlinkSegment link) {

-	}

-	

-	public void linkEntered(IHyperlinkSegment link) {

-		if (manager!=null && description!=null) {

-			manager.setMessage(description);

-		}

-	}

-

-	public void linkExited(IHyperlinkSegment link) {

-		if (manager!=null && description!=null) {

-			manager.setMessage(null);

-		}

-	}

-	

-	public void setStatusLineManager(IStatusLineManager manager) {

-		this.manager = manager;

-	}

-	

-	public String getDescription() {

-		return description;

-	}

-	public void setDescription(String description) {

-		this.description = description;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java
deleted file mode 100644
index 2c41587..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java
+++ /dev/null
@@ -1,100 +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.update.ui.forms.internal.engine;

-

-import java.util.Hashtable;

-import org.eclipse.update.ui.forms.internal.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.graphics.GC;

-

-/**

- * @version 	1.0

- * @author

- */

-public class HyperlinkSegment

-	extends TextSegment

-	implements IHyperlinkSegment {

-	private String actionId;

-	private String arg;

-	private HyperlinkSettings settings;

-	

-	public HyperlinkSegment(String text, HyperlinkSettings settings, String fontId) {

-		super(text, fontId);

-		this.settings = settings;

-		underline = settings.getHyperlinkUnderlineMode()==HyperlinkSettings.UNDERLINE_ALWAYS;

-	}

-	

-	/*

-	 * @see IHyperlinkSegment#getListener(Hashtable)

-	 */

-	public HyperlinkAction getAction(Hashtable objectTable) {

-		if (actionId==null) return null;

-		Object obj = objectTable.get(actionId);

-		if (obj==null) return null;

-		if (obj instanceof HyperlinkAction) return (HyperlinkAction)obj;

-		return null;

-	}

-	

-	/*

-	 * @see IObjectReference#getObjectId()

-	 */

-	public String getObjectId() {

-		return actionId;

-	}

-	

-	void setActionId(String id) {

-		this.actionId = id;

-	}

-	public void paint(GC gc, int width, Locator locator, Hashtable objectTable, boolean selected) {

-		setColor(settings.getForeground());

-		super.paint(gc, width, locator, objectTable, selected);

-	}

-	

-	public void repaint(GC gc, boolean hover) {

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-		int descent = fm.getDescent();

-		boolean rolloverMode = settings.getHyperlinkUnderlineMode()==HyperlinkSettings.UNDERLINE_ROLLOVER;

-		for (int i=0; i<areaRectangles.size(); i++) {

-			AreaRectangle areaRectangle = (AreaRectangle)areaRectangles.get(i);

-			Rectangle rect = areaRectangle.rect;

-			String text = areaRectangle.getText();

-			Point extent = gc.textExtent(text);

-			int textX = rect.x + 1;

-			gc.drawString(text, textX, rect.y, true);

-			if (underline || hover || rolloverMode) {

-				int lineY = rect.y + lineHeight - descent + 1;

-				Color saved=null;

-				if (rolloverMode && !hover) {

-					saved = gc.getForeground();

-					gc.setForeground(gc.getBackground());

-				}

-				gc.drawLine(textX, lineY, textX+extent.x, lineY);

-				if (saved!=null)

-					gc.setForeground(saved);

-			}

-		}

-	}

-	/**

-	 * @return

-	 */

-	public String getArg() {

-		return arg;

-	}

-

-	/**

-	 * @param string

-	 */

-	public void setArg(String string) {

-		arg = string;

-	}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java
deleted file mode 100644
index 55f3383..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.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.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.GC;
-import java.util.Hashtable;
-
-public interface IBulletParagraph extends IParagraph {
-	int CIRCLE = 0;
-	int TEXT = 1;
-	int IMAGE = 2;
-	public int getBulletStyle();
-	public String getBulletText();
-
-	public void paintBullet(GC gc, Locator loc, int lineHeight, Hashtable objectTable);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java
deleted file mode 100644
index ea5b58a..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java
+++ /dev/null
@@ -1,29 +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.update.ui.forms.internal.engine;

-

-import java.util.Hashtable;

-

-import org.eclipse.swt.graphics.GC;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IHyperlinkSegment extends ITextSegment, IObjectReference {

-	HyperlinkAction getAction(Hashtable objectTable);

-	

-	boolean contains(int x, int y);

-	

-	String getArg();

-	

-	public void repaint(GC gc, boolean hover);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java
deleted file mode 100644
index 1e9bd56..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java
+++ /dev/null
@@ -1,27 +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.update.ui.forms.internal.engine;

-import org.eclipse.swt.graphics.Image;

-import java.util.Hashtable;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IImageSegment extends IParagraphSegment, IObjectReference {

-	public static final int TOP = 1;

-	public static final int MIDDLE = 2;

-	public static final int BOTTOM = 3;

-	

-	public int getVerticalAlignment();

-

-	Image getImage(Hashtable objectTable);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java
deleted file mode 100644
index f12a7eb..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java
+++ /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

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IObjectReference {

-	public String getObjectId();

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java
deleted file mode 100644
index fb336eb..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java
+++ /dev/null
@@ -1,29 +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.update.ui.forms.internal.engine;

-

-

-import org.eclipse.swt.graphics.GC;

-import java.util.Hashtable;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IParagraph {

-	public int getIndent();

-	public IParagraphSegment [] getSegments();

-	public void addSegment(IParagraphSegment segment);

-	public boolean getAddVerticalSpace();

-	public ITextSegment findSegmentAt(int x, int y);

-	public void paint(GC gc, int width, Locator loc, int lineHeight, Hashtable objectTable, IHyperlinkSegment selectedLink);

-	public String getAccessibleText();

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java
deleted file mode 100644
index 9217105..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.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.update.ui.forms.internal.engine;

-

-import org.eclipse.swt.graphics.GC;

-import java.util.Hashtable;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IParagraphSegment {

-	

-	public void advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable);

-	

-	public void paint(GC gc, int width, Locator loc, Hashtable objectTable, boolean selected);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java
deleted file mode 100644
index 4071ad2..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java
+++ /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

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import org.eclipse.core.runtime.CoreException;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface ITextModel {

-	IParagraph [] getParagraphs();

-	public void parseTaggedText(String taggedText, boolean expandURLs) throws CoreException;

-	public void parseRegularText(String regularText, boolean expandURLs) throws CoreException;

-	public void dispose();

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java
deleted file mode 100644
index 47e5fb0..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java
+++ /dev/null
@@ -1,28 +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.update.ui.forms.internal.engine;

-

-import org.eclipse.swt.graphics.*;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface ITextSegment extends IParagraphSegment {

-	String getText();

-	Color getColor();

-	Font getFont();

-	boolean isWordWrapAllowed();

-	boolean isSelectable();

-	boolean contains(int x, int y);

-	Rectangle getBounds();

-	void paintFocus(GC gc, Color bg, Color fg, boolean selected);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java
deleted file mode 100644
index 4c84cb9..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java
+++ /dev/null
@@ -1,99 +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.update.ui.forms.internal.engine;

-

-import org.eclipse.swt.graphics.*;

-import java.util.Hashtable;

-import org.eclipse.swt.SWT;

-

-/**

- * @version 	1.0

- * @author

- */

-public class ImageSegment extends ParagraphSegment implements IImageSegment {

-	private int alignment = BOTTOM;

-	private String imageId;

-	

-	public int getVerticalAlignment() {

-		return alignment;

-	}

-	

-	void setVerticalAlignment(int alignment) {

-		this.alignment = alignment;

-	}

-	

-	public Image getImage(Hashtable objectTable) {

-		if (imageId==null) return null;

-		Object obj = objectTable.get(imageId);

-		if (obj==null) return null;

-		if (obj instanceof Image) return (Image)obj;

-		return null;

-	}

-	

-	public String getObjectId() {

-		return imageId;

-	}

-	

-	void setObjectId(String imageId) {

-		this.imageId = imageId;

-	}

-	

-	public void advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable) {

-		Image image = getImage(objectTable);

-		int iwidth = 0;

-		int iheight = 0;

-		if (image!=null) {

-			Rectangle rect = image.getBounds();

-			iwidth = rect.width;

-			iheight = rect.height;

-		}

-		if (wHint != SWT.DEFAULT && loc.x + iwidth > wHint) {

-			// new line

-			loc.x = loc.indent + iwidth;

-			loc.width = loc.x;

-			loc.y += loc.rowHeight;

-			loc.rowHeight = iheight;

-		}

-		else {

-			loc.x += iwidth;

-			loc.rowHeight = Math.max(loc.rowHeight, iheight);

-		}

-	}

-

-	public void paint(GC gc, int width, Locator loc, Hashtable objectTable, boolean selected) {

-		Image image = getImage(objectTable);

-		int iwidth = 0;

-		int iheight = 0;

-		if (image!=null) {

-			Rectangle rect = image.getBounds();

-			iwidth = rect.width;

-			iheight = rect.height;

-		}

-		else return;

-		loc.width = iwidth;

-		loc.height = iheight;

-		

-		int ix = loc.x;

-		int iy = loc.y;

-		

-		if (ix + iwidth > width) {

-			// new row

-			ix = loc.indent + loc.marginWidth;

-			iy += loc.rowHeight;

-			loc.rowHeight = 0;

-		}

-		

-		gc.drawImage(image, ix, iy);

-		loc.x = ix + iwidth;

-		loc.y = iy;

-		loc.rowHeight = Math.max(loc.rowHeight, iheight);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
deleted file mode 100644
index 350154b..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.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.update.ui.forms.internal.engine;

-

-/**

- * @version 	1.0

- * @author

- */

-public class Locator { 

-	public int indent;

-	public int x, y;

-	public int width, height;

-	public int rowHeight;

-	public int marginWidth;

-	public int marginHeight;

-	

-	public void newLine() {

-		resetCaret();

-		y += rowHeight;

-		rowHeight = 0;

-	}

-	

-	public void resetCaret() {

-		x = marginWidth + indent;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java
deleted file mode 100644
index a9a4352..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java
+++ /dev/null
@@ -1,159 +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.update.ui.forms.internal.engine;

-

-import java.io.*;

-import java.util.*;

-

-import org.eclipse.swt.graphics.GC;

-import org.eclipse.update.ui.forms.internal.HyperlinkSettings;

-

-/**

- * @version 	1.0

- * @author

- */

-public class Paragraph implements IParagraph {

-	public static final String HTTP = "http://";

-	private Vector segments;

-	private boolean addVerticalSpace = true;

-

-	public Paragraph(boolean addVerticalSpace) {

-		this.addVerticalSpace = addVerticalSpace;

-	}

-

-	public int getIndent() {

-		return 0;

-	}

-

-	public boolean getAddVerticalSpace() {

-		return addVerticalSpace;

-	}

-

-	/*

-	 * @see IParagraph#getSegments()

-	 */

-	public IParagraphSegment[] getSegments() {

-		if (segments == null)

-			return new IParagraphSegment[0];

-		return (IParagraphSegment[]) segments.toArray(

-			new IParagraphSegment[segments.size()]);

-	}

-

-	public void addSegment(IParagraphSegment segment) {

-		if (segments == null)

-			segments = new Vector();

-		segments.add(segment);

-	}

-

-	public void parseRegularText(

-		String text,

-		boolean expandURLs,

-		HyperlinkSettings settings,

-		String fontId) {

-		if (text.length() == 0)

-			return;

-		if (expandURLs) {

-			int loc = text.indexOf(HTTP);

-

-			if (loc == -1)

-				addSegment(new TextSegment(text, fontId));

-			else {

-				int textLoc = 0;

-				while (loc != -1) {

-					addSegment(new TextSegment(text.substring(textLoc, loc), fontId));

-					boolean added = false;

-					for (textLoc = loc; textLoc < text.length(); textLoc++) {

-						char c = text.charAt(textLoc);

-						if (Character.isSpaceChar(c)) {

-							addHyperlinkSegment(text.substring(loc, textLoc), settings, fontId);

-							added = true;

-							break;

-						}

-					}

-					if (!added) {

-						// there was no space - just end of text

-						addHyperlinkSegment(text.substring(loc), settings, fontId);

-						break;

-					}

-					loc = text.indexOf(HTTP, textLoc);

-				}

-				if (textLoc < text.length()) {

-					addSegment(new TextSegment(text.substring(textLoc), fontId));

-				}

-			}

-		} else {

-			addSegment(new TextSegment(text, fontId));

-		}

-	}

-

-	private void addHyperlinkSegment(

-		String text,

-		HyperlinkSettings settings,

-		String fontId) {

-		HyperlinkSegment hs = new HyperlinkSegment(text, settings, fontId);

-		hs.setWordWrapAllowed(false);

-		hs.setActionId(FormEngine.URL_HANDLER_ID);

-		addSegment(hs);

-	}

-

-	public void paint(

-		GC gc,

-		int width,

-		Locator loc,

-		int lineHeight,

-		Hashtable objectTable,

-		IHyperlinkSegment selectedLink) {

-		IParagraphSegment [] segments = getSegments();

-		if (segments.length > 0) {

-			if (segments[0] instanceof ITextSegment

-				&& ((ITextSegment) segments[0]).isSelectable())

-				loc.x += 1;

-			for (int j = 0; j < segments.length; j++) {

-				IParagraphSegment segment = segments[j];

-				boolean doSelect = false;

-				if (selectedLink != null && segment.equals(selectedLink))

-					doSelect = true;

-				segment.paint(gc, width, loc, objectTable, doSelect);

-			}

-			loc.y += loc.rowHeight;

-		} else {

-			loc.y += lineHeight;

-		}

-	}

-	public String getAccessibleText() {

-		IParagraphSegment [] segments = getSegments();

-		StringWriter swriter = new StringWriter();

-		PrintWriter writer = new PrintWriter(swriter);

-		for (int i = 0; i < segments.length; i++) {

-			IParagraphSegment segment = segments[i];

-			if (segment instanceof ITextSegment) {

-				String text = ((ITextSegment)segment).getText();

-				writer.print(text);

-			}

-		}

-		writer.println();

-		swriter.flush();

-		return swriter.toString();

-	}

-	public ITextSegment findSegmentAt(int x, int y) {

-		if (segments!=null) {

-			for (int i=0; i<segments.size(); i++) {

-				IParagraphSegment segment = (IParagraphSegment)segments.get(i);

-				if (segment instanceof ITextSegment) {

-					ITextSegment textSegment = (ITextSegment)segment;

-					if (textSegment.contains(x, y))

-						return textSegment;

-				}

-			}

-		}

-		return null;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java
deleted file mode 100644
index 7d16aac..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java
+++ /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

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-/**

- * @version 	1.0

- * @author

- */

-public abstract class ParagraphSegment implements IParagraphSegment {

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java
deleted file mode 100644
index 0ec9682..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java
+++ /dev/null
@@ -1,457 +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.update.ui.forms.internal.engine;

-

-import java.io.*;

-import java.util.*;

-import javax.xml.parsers.*;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.update.ui.forms.internal.*;

-import org.w3c.dom.*;

-import org.xml.sax.*;

-

-/**

- * @version 	1.0

- * @author

- */

-public class TextModel implements ITextModel {

-	private static final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();

-

-	Vector paragraphs;

-	IHyperlinkListener urlListener;

-	IHyperlinkSegment[] hyperlinks;

-	int selectedLinkIndex = -1;

-	HyperlinkSettings hyperlinkSettings;

-	

-	public TextModel() {

-		reset();

-	}

-

-	class LocalHyperlinkSettings extends HyperlinkSettings {

-	}

-

-	/*

-	 * @see ITextModel#getParagraphs()

-	 */

-	public IParagraph[] getParagraphs() {

-		if (paragraphs == null)

-			return new IParagraph[0];

-		return (IParagraph[]) paragraphs.toArray(

-			new IParagraph[paragraphs.size()]);

-	}

-	

-	public String getAccessibleText() {

-		if (paragraphs == null)

-			return "";

-		StringBuffer sbuf = new StringBuffer();

-		for (int i=0; i<paragraphs.size(); i++) {

-			IParagraph paragraph  = (IParagraph)paragraphs.get(i);

-			String text = paragraph.getAccessibleText();

-			sbuf.append(text);

-		}

-		return sbuf.toString();

-	}

-

-	/*

-	 * @see ITextModel#parse(String)

-	 */

-	public void parseTaggedText(String taggedText, boolean expandURLs)

-		throws CoreException {

-		if (taggedText==null) {

-			reset();

-			return;

-		}

-		try {

-			InputStream stream =

-				new ByteArrayInputStream(taggedText.getBytes("UTF8"));

-			parseInputStream(stream, expandURLs);

-		} catch (UnsupportedEncodingException e) {

-		}

-	}

-

-	public void parseInputStream(InputStream is, boolean expandURLs)

-		throws CoreException {

-			

-		documentBuilderFactory.setNamespaceAware(true);

-	

-		reset();

-		try {

-			DocumentBuilder parser = documentBuilderFactory.newDocumentBuilder();

-			InputSource source = new InputSource(is);

-			Document doc = parser.parse(source);

-			processDocument(doc, expandURLs);

-		} catch (ParserConfigurationException e) {

-			FormsPlugin.logException(e);

-		} catch (SAXException e) {

-			FormsPlugin.logException(e);

-		} catch (IOException e) {

-			FormsPlugin.logException(e);

-		}

-	}

-

-	private void processDocument(Document doc, boolean expandURLs) {

-		Node root = doc.getDocumentElement();

-		NodeList children = root.getChildNodes();

-		for (int i = 0; i < children.getLength(); i++) {

-			Node child = children.item(i);

-			if (child.getNodeType() == Node.TEXT_NODE) {

-				// Make an implicit paragraph

-				String text = child.getNodeValue();

-				if (text != null && !isIgnorableWhiteSpace(text, true)) {

-					Paragraph p = new Paragraph(true);

-					p.parseRegularText(

-						text,

-						expandURLs,

-						getHyperlinkSettings(),

-						null);

-					paragraphs.add(p);

-				}

-			} else if (child.getNodeType() == Node.ELEMENT_NODE) {

-				String tag = child.getNodeName().toLowerCase();

-				if (tag.equals("p")) {

-					IParagraph p = processParagraph(child, expandURLs);

-					if (p != null)

-						paragraphs.add(p);

-				} else if (tag.equals("li")) {

-					IParagraph p = processListItem(child, expandURLs);

-					if (p != null)

-						paragraphs.add(p);

-				}

-			}

-		}

-	}

-	private IParagraph processParagraph(Node paragraph, boolean expandURLs) {

-		NodeList children = paragraph.getChildNodes();

-		NamedNodeMap atts = paragraph.getAttributes();

-		Node addSpaceAtt = atts.getNamedItem("addVerticalSpace");

-		boolean addSpace = true;

-

-		if (addSpaceAtt != null) {

-			String value = addSpaceAtt.getNodeValue();

-			addSpace = value.equalsIgnoreCase("true");

-		}

-		Paragraph p = new Paragraph(addSpace);

-

-		processSegments(p, children, expandURLs);

-		return p;

-	}

-	private IParagraph processListItem(Node listItem, boolean expandURLs) {

-		NodeList children = listItem.getChildNodes();

-		NamedNodeMap atts = listItem.getAttributes();

-		Node addSpaceAtt = atts.getNamedItem("addVerticalSpace");

-		Node styleAtt = atts.getNamedItem("style");

-		Node valueAtt = atts.getNamedItem("value");

-		Node indentAtt = atts.getNamedItem("indent");

-		int style = IBulletParagraph.CIRCLE;

-		int indent = -1;

-		String text = null;

-		boolean addSpace = true;

-

-		if (addSpaceAtt != null) {

-			String value = addSpaceAtt.getNodeValue();

-			addSpace = value.equalsIgnoreCase("true");

-		}

-		if (styleAtt != null) {

-			String value = styleAtt.getNodeValue();

-			if (value.equalsIgnoreCase("text")) {

-				style = IBulletParagraph.TEXT;

-			} else if (value.equalsIgnoreCase("image")) {

-				style = IBulletParagraph.IMAGE;

-			}

-		}

-		if (valueAtt != null) {

-			text = valueAtt.getNodeValue();

-		}

-		if (indentAtt != null) {

-			String value = indentAtt.getNodeValue();

-			try {

-				indent = Integer.parseInt(value);

-			} catch (NumberFormatException e) {

-			}

-		}

-

-		BulletParagraph p = new BulletParagraph(addSpace);

-		p.setIndent(indent);

-		p.setBulletStyle(style);

-		p.setBulletText(text);

-

-		processSegments(p, children, expandURLs);

-		return p;

-	}

-

-	private void processSegments(

-		Paragraph p,

-		NodeList children,

-		boolean expandURLs) {

-		for (int i = 0; i < children.getLength(); i++) {

-			Node child = children.item(i);

-			IParagraphSegment segment = null;

-

-			if (child.getNodeType() == Node.TEXT_NODE) {

-				String value = child.getNodeValue();

-

-				if (value != null && !isIgnorableWhiteSpace(value, false)) {

-					p.parseRegularText(

-						value,

-						expandURLs,

-						getHyperlinkSettings(),

-						null);

-				}

-			} else if (child.getNodeType() == Node.ELEMENT_NODE) {

-				String name = child.getNodeName();

-				if (name.equalsIgnoreCase("img")) {

-					segment = processImageSegment(child);

-				} else if (name.equalsIgnoreCase("a")) {

-					segment =

-						processHyperlinkSegment(child, getHyperlinkSettings());

-				} else if (name.equalsIgnoreCase("text")) {

-					processTextSegment(p, expandURLs, child);

-				} else if (name.equalsIgnoreCase("b")) {

-					String text = getNodeText(child).trim();

-					String fontId = JFaceResources.BANNER_FONT;

-					p.parseRegularText(

-						text,

-						expandURLs,

-						getHyperlinkSettings(),

-						fontId);

-				}

-			}

-			if (segment != null) {

-				p.addSegment(segment);

-			}

-		}

-	}

-

-	private boolean isIgnorableWhiteSpace(String text, boolean ignoreSpaces) {

-		for (int i = 0; i < text.length(); i++) {

-			char c = text.charAt(i);

-			if (ignoreSpaces && c == ' ')

-				continue;

-			if (c == '\n' || c == '\r' || c == '\f')

-				continue;

-			return false;

-		}

-		return true;

-	}

-

-	private IParagraphSegment processImageSegment(Node image) {

-		ImageSegment segment = new ImageSegment();

-		NamedNodeMap atts = image.getAttributes();

-		Node id = atts.getNamedItem("href");

-		Node align = atts.getNamedItem("align");

-		if (id != null) {

-			String value = id.getNodeValue();

-			segment.setObjectId(value);

-		}

-		if (align != null) {

-			String value = align.getNodeValue().toLowerCase();

-			if (value.equals("top"))

-				segment.setVerticalAlignment(ImageSegment.TOP);

-			else if (value.equals("middle"))

-				segment.setVerticalAlignment(ImageSegment.MIDDLE);

-			else if (value.equals("bottom"))

-				segment.setVerticalAlignment(ImageSegment.BOTTOM);

-		}

-		return segment;

-	}

-

-	private String getNodeText(Node node) {

-		NodeList children = node.getChildNodes();

-		String text = "";

-		for (int i = 0; i < children.getLength(); i++) {

-			Node child = children.item(i);

-			if (child.getNodeType() == Node.TEXT_NODE) {

-				text += child.getNodeValue();

-			}

-		}

-		return text;

-	}

-

-	private IParagraphSegment processHyperlinkSegment(

-		Node link,

-		HyperlinkSettings settings) {

-		String text = getNodeText(link);

-		HyperlinkSegment segment = new HyperlinkSegment(text, settings, null);

-		NamedNodeMap atts = link.getAttributes();

-		Node href = atts.getNamedItem("href");

-		if (href != null) {

-			String value = href.getNodeValue();

-			segment.setActionId(value);

-		}

-		Node arg = atts.getNamedItem("arg");

-		if (arg != null) {

-			String value = arg.getNodeValue();

-			segment.setArg(value);

-		}

-		return segment;

-	}

-

-	private void processTextSegment(

-		Paragraph p,

-		boolean expandURLs,

-		Node textNode) {

-		String text = getNodeText(textNode).trim();

-

-		NamedNodeMap atts = textNode.getAttributes();

-		Node font = atts.getNamedItem("font");

-		String fontId = null;

-		if (font != null) {

-			fontId = font.getNodeValue();

-		}

-		p.parseRegularText(text, expandURLs, getHyperlinkSettings(), fontId);

-	}

-

-	public void parseRegularText(String regularText, boolean convertURLs)

-		throws CoreException {

-		reset();

-		

-		if (regularText==null) return;

-

-		Paragraph p = new Paragraph(true);

-		paragraphs.add(p);

-		int pstart = 0;

-

-		for (int i = 0; i < regularText.length(); i++) {

-			char c = regularText.charAt(i);

-			if (p == null) {

-				p = new Paragraph(true);

-				paragraphs.add(p);

-			}

-			if (c == '\n') {

-				String text = regularText.substring(pstart, i);

-				pstart = i + 1;

-				p.parseRegularText(

-					text,

-					convertURLs,

-					getHyperlinkSettings(),

-					null);

-				p = null;

-			}

-		}

-		if (p != null) {

-			// no new line

-			String text = regularText.substring(pstart);

-			p.parseRegularText(text, convertURLs, getHyperlinkSettings(), null);

-		}

-	}

-

-	public HyperlinkSettings getHyperlinkSettings() {

-		if (hyperlinkSettings == null) {

-			hyperlinkSettings = new LocalHyperlinkSettings();

-		}

-		return hyperlinkSettings;

-	}

-

-	public void setHyperlinkSettings(HyperlinkSettings settings) {

-		this.hyperlinkSettings = settings;

-	}

-

-	public void setURLListener(IHyperlinkListener urlListener) {

-		this.urlListener = urlListener;

-	}

-

-	private void reset() {

-		if (paragraphs == null)

-			paragraphs = new Vector();

-		paragraphs.clear();

-		selectedLinkIndex = -1;

-		hyperlinks = null;

-	}

-

-	IHyperlinkSegment[] getHyperlinks() {

-		if (hyperlinks != null || paragraphs == null)

-			return hyperlinks;

-		Vector result = new Vector();

-		for (int i = 0; i < paragraphs.size(); i++) {

-			IParagraph p = (IParagraph) paragraphs.get(i);

-			IParagraphSegment[] segments = p.getSegments();

-			for (int j = 0; j < segments.length; j++) {

-				if (segments[j] instanceof IHyperlinkSegment)

-					result.add(segments[j]);

-			}

-		}

-		hyperlinks =

-			(IHyperlinkSegment[]) result.toArray(

-				new IHyperlinkSegment[result.size()]);

-		return hyperlinks;

-	}

-

-	public IHyperlinkSegment findHyperlinkAt(int x, int y) {

-		IHyperlinkSegment[] links = getHyperlinks();

-		for (int i = 0; i < links.length; i++) {

-			if (links[i].contains(x, y))

-				return links[i];

-		}

-		return null;

-	}

-	public ITextSegment findSegmentAt(int x, int y) {

-		for (int i = 0; i < paragraphs.size(); i++) {

-			IParagraph p = (IParagraph) paragraphs.get(i);

-			ITextSegment segment = p.findSegmentAt(x, y);

-			if (segment != null)

-				return segment;

-		}

-		return null;

-	}

-

-	public IHyperlinkSegment getSelectedLink() {

-		if (selectedLinkIndex == -1)

-			return null;

-		return hyperlinks[selectedLinkIndex];

-	}

-

-	public boolean traverseLinks(boolean next) {

-		IHyperlinkSegment[] links = getHyperlinks();

-		if (links == null)

-			return false;

-		int size = links.length;

-		if (next) {

-			selectedLinkIndex++;

-		} else

-			selectedLinkIndex--;

-

-		if (selectedLinkIndex < 0 || selectedLinkIndex > size - 1) {

-			selectedLinkIndex = -1;

-		}

-		return selectedLinkIndex != -1;

-	}

-

-	public void selectLink(IHyperlinkSegment link) {

-		if (link == null)

-			selectedLinkIndex = -1;

-		else {

-			IHyperlinkSegment[] links = getHyperlinks();

-			selectedLinkIndex = -1;

-			if (links == null)

-				return;

-			for (int i = 0; i < links.length; i++) {

-				if (links[i].equals(link)) {

-					selectedLinkIndex = i;

-					break;

-				}

-			}

-		}

-	}

-

-	public boolean hasFocusSegments() {

-		IHyperlinkSegment[] links = getHyperlinks();

-		if (links.length > 0)

-			return true;

-		return false;

-	}

-

-	public void dispose() {

-		if (hyperlinkSettings instanceof LocalHyperlinkSettings)

-			hyperlinkSettings.dispose();

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java
deleted file mode 100644
index 49ec5d1..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java
+++ /dev/null
@@ -1,368 +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.update.ui.forms.internal.engine;

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.jface.resource.JFaceResources;

-import java.util.Hashtable;

-import org.eclipse.swt.SWT;

-import java.text.BreakIterator;

-import java.util.Vector;

-

-/**

- * @version 	1.0

- * @author

- */

-public class TextSegment extends ParagraphSegment implements ITextSegment {

-	private Color color;

-	private String fontId;

-	private String text;

-	protected boolean underline;

-	private boolean wrapAllowed = true;

-	protected Vector areaRectangles = new Vector();

-	

-	class AreaRectangle {

-		Rectangle rect;

-		int from, to;

-		public AreaRectangle(Rectangle rect, int from, int to) {

-			this.rect = rect;

-			this.from = from;

-			this.to = to;

-		}

-		public boolean contains(int x, int y) {

-			return rect.contains(x, y);

-		}

-		public String getText() {

-			if (from==0 && to== -1)

-				return TextSegment.this.getText();

-			if (from >0 && to == -1)

-				return TextSegment.this.getText().substring(from);

-			return TextSegment.this.getText().substring(from, to);

-		}

-	}

-	

-	public TextSegment(String text, String fontId) {

-		this.text = cleanup(text);

-		this.fontId = fontId;

-	}

-

-	private String cleanup(String text) {

-		StringBuffer buf = new StringBuffer();

-		for (int i = 0; i < text.length(); i++) {

-			char c = text.charAt(i);

-			if (c == '\n' || c == '\r' || c=='\f') {

-				if (i > 0)

-					buf.append(' ');

-			} else

-				buf.append(c);

-		}

-		return buf.toString();

-	}

-

-	public void setWordWrapAllowed(boolean value) {

-		wrapAllowed = value;

-	}

-

-	public boolean isWordWrapAllowed() {

-		return wrapAllowed;

-	}

-	

-	public boolean isSelectable() {

-		return false;

-	}

-

-	public Color getColor() {

-		return color;

-	}

-

-	public Font getFont() {

-		if (fontId == null)

-			return JFaceResources.getDefaultFont();

-		else

-			return JFaceResources.getFontRegistry().get(fontId);

-	}

-

-	public String getText() {

-		return text;

-	}

-

-	void setText(String text) {

-		this.text = cleanup(text);

-	}

-

-	void setColor(Color color) {

-		this.color = color;

-	}

-

-	void setFontId(String fontId) {

-		this.fontId = fontId;

-	}

-

-	public boolean contains(int x, int y) {

-		for (int i = 0; i < areaRectangles.size(); i++) {

-			AreaRectangle ar = (AreaRectangle) areaRectangles.get(i);

-			if (ar.contains(x, y))

-				return true;

-		}

-		return false;

-	}

-	

-	public Rectangle getBounds() {

-		int x=0, y=0;

-		int width = 0, height = 0;

-		

-		for (int i=0; i<areaRectangles.size(); i++) {

-			AreaRectangle ar = (AreaRectangle)areaRectangles.get(i);

-			if (i==0) y = ar.rect.y;

-			x = Math.min(ar.rect.x, x);

-			width = Math.max(ar.rect.width, width);

-			height += ar.rect.height;

-		}

-		return new Rectangle(x, y, width, height);

-	}

-

-	public void advanceLocator(

-		GC gc,

-		int wHint,

-		Locator locator,

-		Hashtable objectTable) {

-		Font oldFont = null;

-		if (fontId != null) {

-			oldFont = gc.getFont();

-			gc.setFont(getFont());

-		}

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-

-		if (wHint == SWT.DEFAULT || !wrapAllowed) {

-			Point extent = gc.textExtent(text);

-

-			if (locator.x + extent.x > wHint) {

-				// new line

-				locator.x = isSelectable()?locator.indent+1:locator.indent;

-				locator.y += locator.rowHeight;

-				locator.rowHeight = 0;

-			}

-			int width = extent.x;

-			if (isSelectable()) width+=2;

-			locator.x += width;

-			locator.width = width;

-			locator.height = extent.y;

-			locator.rowHeight = Math.max(locator.rowHeight, extent.y);

-			return;

-		}

-

-		BreakIterator wb = BreakIterator.getLineInstance();

-		wb.setText(text);

-

-		int saved = 0;

-		int last = 0;

-

-		int width = 0;

-

-		Point lastExtent = null;

-

-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {

-			String word = text.substring(saved, loc);

-			Point extent = gc.textExtent(word);

-

-			if (locator.x + extent.x > wHint) {

-				// overflow

-				String savedWord = text.substring(saved, last);

-				if (lastExtent==null)

-				   lastExtent = gc.textExtent(savedWord);

-				int lineWidth = locator.x + lastExtent.x;

-				if (isSelectable()) lineWidth+=2;

-

-				saved = last;

-				locator.rowHeight = Math.max(locator.rowHeight, lastExtent.y);

-				locator.x = isSelectable()?locator.indent+1:locator.indent;

-				locator.y += locator.rowHeight;

-				locator.rowHeight = 0;

-				width = Math.max(width, lineWidth);

-			}

-			last = loc;

-			lastExtent = extent;

-		}

-		String lastString = text.substring(saved, last);

-		Point extent = gc.textExtent(lastString);

-		int lineWidth = extent.x;

-		if (isSelectable()) lineWidth += 2;

-		locator.x += lineWidth;

-		locator.width = width;

-		locator.height = lineHeight;

-		locator.rowHeight = Math.max(locator.rowHeight, extent.y);

-		if (oldFont != null) {

-			gc.setFont(oldFont);

-		}

-	}

-	

-	public void paint(

-		GC gc,

-		int width,

-		Locator locator,

-		Hashtable objectTable,

-		boolean selected) {

-		Font oldFont = null;

-		Color oldColor = null;

-

-		areaRectangles.clear();

-

-		if (fontId != null) {

-			oldFont = gc.getFont();

-			gc.setFont(getFont());

-		}

-		if (color != null) {

-			oldColor = gc.getForeground();

-			gc.setForeground(color);

-		}

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-		int descent = fm.getDescent();

-

-		if (!wrapAllowed) {

-			Point extent = gc.textExtent(text);

-			int ewidth = extent.x;

-			if (isSelectable()) ewidth += 2;

-

-			if (locator.x + ewidth > width) {

-				// new line

-				locator.resetCaret();

-				if (isSelectable()) locator.x += 1;

-				locator.y += locator.rowHeight;

-				locator.rowHeight = 0;

-			}

-			gc.drawString(text, locator.x, locator.y);

-			if (underline) {

-				int lineY = locator.y + lineHeight - descent + 1;

-				gc.drawLine(locator.x, lineY, locator.x + extent.x, lineY);

-			}

-			Rectangle br =

-				new Rectangle(locator.x - 1, locator.y, extent.x + 2, lineHeight - descent + 3);

-			areaRectangles.add(new AreaRectangle(br, 0, -1));

-			if (selected) {

-				if (color != null)

-					gc.setForeground(oldColor);

-				gc.drawFocus(br.x, br.y, br.width, br.height);

-			}

-

-			locator.x += ewidth;

-			locator.width = ewidth;

-			locator.height = lineHeight;

-			locator.rowHeight = Math.max(locator.rowHeight, extent.y);

-			if (oldFont != null) {

-				gc.setFont(oldFont);

-			}

-			if (oldColor != null) {

-				gc.setForeground(oldColor);

-			}

-			return;

-		}

-

-		BreakIterator wb = BreakIterator.getLineInstance();

-		wb.setText(text);

-

-		int saved = 0;

-		int last = 0;

-

-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {

-			if (loc == 0)

-				continue;

-			String word = text.substring(saved, loc);

-			Point extent = gc.textExtent(word);

-			int ewidth = extent.x;

-			if (isSelectable()) ewidth += 2;

-

-			if (locator.x + ewidth > width) {

-				// overflow

-				String prevLine = text.substring(saved, last);

-				gc.drawString(prevLine, locator.x, locator.y, true);

-				Point prevExtent = gc.textExtent(prevLine);

-				int prevWidth = prevExtent.x;

-				if (isSelectable()) prevWidth += 2;

-

-				if (underline) {

-					int lineY = locator.y + lineHeight - descent + 1;

-					gc.drawLine(locator.x, lineY, locator.x + prevWidth, lineY);

-				}

-				Rectangle br =

-					new Rectangle(

-						locator.x - 1,

-						locator.y,

-						prevExtent.x + 2,

-						lineHeight - descent + 3);

-				if (selected) {

-					if (color != null)

-						gc.setForeground(oldColor);

-					gc.drawFocus(br.x, br.y, br.width, br.height);

-					if (color != null)

-						gc.setForeground(color);

-				}

-				areaRectangles.add(new AreaRectangle(br, saved, last));

-				

-				locator.rowHeight = Math.max(locator.rowHeight, prevExtent.y);

-				locator.resetCaret();

-				if (isSelectable()) locator.x +=1;

-				locator.y += locator.rowHeight;

-				locator.rowHeight = 0;

-				saved = last;

-			}

-			last = loc;

-		}

-		// paint the last line

-		String lastLine = text.substring(saved, last);

-		gc.drawString(lastLine, locator.x, locator.y, true);

-		Point lastExtent = gc.textExtent(lastLine);

-		int lastWidth = lastExtent.x;

-		if (isSelectable()) lastWidth += 2;

-		Rectangle br =

-			new Rectangle(

-				locator.x - 1,

-				locator.y,

-				lastExtent.x + 2,

-				lineHeight - descent + 3);

-		areaRectangles.add(new AreaRectangle(br, saved, last));

-		if (underline) {

-			int lineY = locator.y + lineHeight - descent + 1;

-			gc.drawLine(locator.x, lineY, locator.x + lastExtent.x, lineY);

-		}

-		if (selected) {

-			if (color != null)

-				gc.setForeground(oldColor);

-			gc.drawFocus(br.x, br.y, br.width, br.height);

-		}

-		locator.x += lastWidth;

-		locator.rowHeight = Math.max(locator.rowHeight, lastExtent.y);

-		if (oldFont != null) {

-			gc.setFont(oldFont);

-		}

-		if (oldColor != null) {

-			gc.setForeground(oldColor);

-		}

-	}

-	

-	public void paintFocus(GC gc, Color bg, Color fg, boolean selected) {

-		if (areaRectangles==null) return;

-		for (int i=0; i<areaRectangles.size(); i++) {

-			AreaRectangle areaRectangle = (AreaRectangle)areaRectangles.get(i);

-			Rectangle br = areaRectangle.rect;

-			if (selected) {

-				gc.setBackground(bg);

-				gc.setForeground(fg);

-				gc.drawFocus(br.x, br.y, br.width, br.height);

-			}

-			else {

-				gc.setForeground(bg);

-				gc.drawRectangle(br.x, br.y, br.width-1, br.height-1);

-			}

-		}

-	}	

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/image1.gif b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/image1.gif
deleted file mode 100644
index c5c94ee..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/image1.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml
deleted file mode 100644
index 4732f87..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-<p>

-To check for updates for features you have installed, 

-go to the <a href="action1">My Eclipse 1</a> and select 

-<b>Available Updates</b> folder. <b>Search page</b> will 

-be shown allowing you to initiate and customize the search. 

-Now we <b>will</b> add an 

-<img href="image1"/> 

-image here. Just

- to show how wrapping should apply to images when they are 

- larger than the regular text.

-</p>

-<li style="text" value="1.">To check for updates for features you have installed, 

-go to the <a href="action2">My Eclipse 2</a> and select 

-<b>Available Updates</b> folder. <b>Search page</b> will 

-be shown allowing you to initiate and customize the search.</li>

-<li style="text" value="2.">This is the item number 2.</li>

-<li style="text" value="3.">This is the item number 3.</li>

-<li>This is the bullet item.</li>

-<li>This is another bullet item.</li>

-</form>
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/.classpath b/update/org.eclipse.update.ui.win32/.classpath
deleted file mode 100644
index 314d270..0000000
--- a/update/org.eclipse.update.ui.win32/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-    <classpathentry kind="src" path="src/"/>

-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>

-    <classpathentry kind="src" path="/org.eclipse.ui"/>

-    <classpathentry kind="src" path="/org.eclipse.update.ui.forms"/>

-    <classpathentry kind="src" path="/org.eclipse.help"/>

-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>

-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>

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

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

-</classpath>

diff --git a/update/org.eclipse.update.ui.win32/.cvsignore b/update/org.eclipse.update.ui.win32/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/update/org.eclipse.update.ui.win32/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/update/org.eclipse.update.ui.win32/.project b/update/org.eclipse.update.ui.win32/.project
deleted file mode 100644
index eb41f90..0000000
--- a/update/org.eclipse.update.ui.win32/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.ui.win32</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.resources</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.help</project>

-		<project>org.eclipse.ui</project>

-		<project>org.eclipse.update.ui.forms</project>

-	</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/update/org.eclipse.update.ui.win32/about.html b/update/org.eclipse.update.ui.win32/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/update/org.eclipse.update.ui.win32/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/update/org.eclipse.update.ui.win32/build.properties b/update/org.eclipse.update.ui.win32/build.properties
deleted file mode 100644
index a31730b..0000000
--- a/update/org.eclipse.update.ui.win32/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = plugin.properties,\
-               icons/,\
-               *.jar,\
-               plugin.xml,\
-               about.html
-src.includes = about.html
-source.updateui32.jar = src/
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/backward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/backward_nav.gif
deleted file mode 100644
index 740419b..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/forward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/forward_nav.gif
deleted file mode 100644
index 7a1511d..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/go_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/go_nav.gif
deleted file mode 100644
index bb20d88..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/go_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/hierarchicalLayout.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/hierarchicalLayout.gif
deleted file mode 100644
index e597c3d..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/hierarchicalLayout.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/home_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/home_nav.gif
deleted file mode 100644
index 949c2db..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/refresh_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/refresh_nav.gif
deleted file mode 100644
index a063c23..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/show_unconf.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/show_unconf.gif
deleted file mode 100644
index 4c75f55..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/show_unconf.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/stop_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/stop_nav.gif
deleted file mode 100644
index 4eb53ec..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/cview16/browser.gif b/update/org.eclipse.update.ui.win32/icons/full/cview16/browser.gif
deleted file mode 100644
index fd70277..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/cview16/browser.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/backward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/backward_nav.gif
deleted file mode 100644
index e2179ad..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/forward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/forward_nav.gif
deleted file mode 100644
index 0c5af08..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/go_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/go_nav.gif
deleted file mode 100644
index 472f005..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/go_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/hierarchicalLayout.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/hierarchicalLayout.gif
deleted file mode 100644
index 76f3360..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/hierarchicalLayout.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/home_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/home_nav.gif
deleted file mode 100644
index 3c80080..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/refresh_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/refresh_nav.gif
deleted file mode 100644
index b2281b4..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/show_unconf.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/show_unconf.gif
deleted file mode 100644
index 493f498..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/show_unconf.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/stop_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/stop_nav.gif
deleted file mode 100644
index 7f0f9b9..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/backward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/backward_nav.gif
deleted file mode 100644
index 85188b7..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/collapseall.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/collapseall.gif
deleted file mode 100644
index 72c7ca2..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/forward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/forward_nav.gif
deleted file mode 100644
index dc28ee1..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/go_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/go_nav.gif
deleted file mode 100644
index 7683327..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/go_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/hierarchicalLayout.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/hierarchicalLayout.gif
deleted file mode 100644
index b50b2c3..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/hierarchicalLayout.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/home_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/home_nav.gif
deleted file mode 100644
index bf2ba86..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/refresh_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/refresh_nav.gif
deleted file mode 100644
index 919423d..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/show_unconf.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/show_unconf.gif
deleted file mode 100644
index bdf381a..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/show_unconf.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/stop_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/stop_nav.gif
deleted file mode 100644
index a519f44..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/eview16/browser.gif b/update/org.eclipse.update.ui.win32/icons/full/eview16/browser.gif
deleted file mode 100644
index 33935b1..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/eview16/browser.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/def_provider.jpg b/update/org.eclipse.update.ui.win32/icons/full/forms/def_provider.jpg
deleted file mode 100644
index a43cbeb..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/def_provider.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.gif b/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.gif
deleted file mode 100644
index aebc0b2..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.jpg b/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.jpg
deleted file mode 100644
index 253e2d2..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline.jpg b/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline.jpg
deleted file mode 100644
index 0ff3d0b..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline2.jpg b/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline2.jpg
deleted file mode 100644
index 57414f7..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline2.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/topic.gif b/update/org.eclipse.update.ui.win32/icons/full/forms/topic.gif
deleted file mode 100644
index 10137e9..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/topic.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/sample.gif b/update/org.eclipse.update.ui.win32/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/update/org.eclipse.update.ui.win32/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/plugin.properties b/update/org.eclipse.update.ui.win32/plugin.properties
deleted file mode 100644
index 5288763..0000000
--- a/update/org.eclipse.update.ui.win32/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginName = Welcome Portal for Windows
-providerName = Eclipse.org
-views.webBrowser.label = Web Browser
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/plugin.xml b/update/org.eclipse.update.ui.win32/plugin.xml
deleted file mode 100644
index 1b0b77a..0000000
--- a/update/org.eclipse.update.ui.win32/plugin.xml
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.update.ui.win32"
-   name="%pluginName"
-   version="2.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.welcome.internal.WelcomePortal">
-
-   <runtime>
-      <library name="updateui32.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.welcome.internal"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.update.ui.forms"/>
-      <import plugin="org.eclipse.help"/>
-   </requires>
-
-
-   <extension-point id="welcomePages" name="Welcome Pages" schema="schema/welcomePages.exsd"/>
-   <extension-point id="welcomeSections" name="Welcome Sections" schema="schema/welcomeSections.exsd"/>
-
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="Sample Action Set"
-            visible="true"
-            id="org.eclipse.update.ui.win32.actionSet">
-         <action
-               label="Open Home Page"
-               icon="icons/sample.gif"
-               tooltip="Open Home Page"
-               class="org.eclipse.welcome.internal.ShowWelcomePageAction"
-               menubarPath="help/helpEnd"
-               id="org.eclipse.welcome.internal.ShowWelcomePageAction">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <actionSet
-               id="org.eclipse.update.ui.win32.actionSet">
-         </actionSet>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="Web Browser"
-            icon="icons/sample.gif"
-            contributorClass="org.eclipse.welcome.internal.webbrowser.WebBrowserEditorContributor"
-            class="org.eclipse.welcome.internal.webbrowser.WebBrowserEditor"
-            id="org.eclipse.welcome.webbrowser">
-      </editor>
-      <editor
-            name="Welcome Page"
-            icon="icons/sample.gif"
-            class="org.eclipse.welcome.internal.portal.WelcomePortalEditor"
-            id="org.eclipse.welcome.portal">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.elementFactories">
-      <factory
-            class="org.eclipse.welcome.internal.webbrowser.WebBrowserEditorInputFactory"
-            id="org.eclipse.welcome.internal.webbrowser.WebBrowserEditorInputFactory">
-      </factory>
-      <factory
-            class="org.eclipse.welcome.internal.portal.WelcomePortalEditorInputFactory"
-            id="org.eclipse.welcome.internal.portal.WelcomePortalEditorInputFactory">
-      </factory>
-   </extension>
-   <extension
-         point="org.eclipse.update.ui.win32.welcomePages">
-      <page
-            name="Home"
-            numColumns="2"
-            id="org.eclipse.update.ui.win32.homePage">
-         <section
-               span="2"
-               id="community.news.remote">
-         </section>
-         <section
-               id="search">
-         </section>
-         <section
-               id="tasks.softwareUpdates">
-         </section>
-         <section
-               id="quickStart">
-         </section>
-         <section
-               id="tipsAndTricks">
-         </section>
-      </page>
-      <page
-            name="News"
-            id="org.eclipse.update.ui.win32.news">
-      </page>
-      <page
-            name="Community"
-            numColumns="1"
-            id="org.eclipse.update.ui.win32.community">
-         <section
-               id="community.links">
-         </section>
-         <section
-               id="community.articles">
-         </section>
-      </page>
-      <page
-            name="Samples"
-            id="org.eclipse.update.ui.win32.samples">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.update.ui.win32.welcomeSections">
-      <section
-            name="Software Updates"
-            id="tasks.softwareUpdates">
-         <form>
-            &lt;p&gt;
-&lt;a href=&quot;action&quot; arg=&quot;org.eclipse.update.ui:org.eclipse.update.internal.ui.InstallWizardAction&quot;&gt;
-Find updates for the currently installed features
-&lt;/a&gt;&lt;/p&gt;
-&lt;p&gt;
-&lt;a href=&quot;action&quot; arg=&quot;org.eclipse.update.ui:org.eclipse.update.internal.ui.ConfigurationManagerAction&quot;&gt;
-Manage my workbench configuration&lt;/a&gt;&lt;/p&gt;
-         </form>
-      </section>
-      <section
-            name="Eclipse Community Sites"
-            id="community.links">
-         <form>
-            &lt;li&gt;&lt;a href=&quot;url&quot; arg=&quot;http://www.eclipse.org&quot;&gt;Eclipse.org&lt;/a&gt;&lt;/li&gt;
-         </form>
-      </section>
-      <section
-            name="New Eclipse Articles"
-            id="community.articles">
-         <form
-               url="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/welcome-articles.xml"
-               type="remote">
-         </form>
-      </section>
-      <section
-            name="Headlines"
-            id="community.news.remote">
-         <form
-               url="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/welcome-news.xml"
-               type="remote">
-         </form>
-      </section>
-      <section
-            name="Get Help"
-            id="search">
-         <form
-               type="custom"
-               class="org.eclipse.welcome.internal.portal.HelpSection">
-         </form>
-      </section>
-      <section
-            name="Quick Start"
-            id="quickStart">
-         <form
-               type="dynamic"
-               class="org.eclipse.welcome.internal.actions.WelcomeContentProvider">
-         </form>
-      </section>
-      <section
-            name="Tips and Tricks"
-            id="tipsAndTricks">
-         <form
-               type="dynamic"
-               class="org.eclipse.welcome.internal.actions.TipsAndTricksContentProvider">
-         </form>
-      </section>
-   </extension>
-
-</plugin>
diff --git a/update/org.eclipse.update.ui.win32/schema/welcomePages.exsd b/update/org.eclipse.update.ui.win32/schema/welcomePages.exsd
deleted file mode 100644
index 7e43f1b..0000000
--- a/update/org.eclipse.update.ui.win32/schema/welcomePages.exsd
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.update.ui.win32">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.update.ui.win32" id="welcomePages" name="Welcome Pages"/>

-      </appInfo>

-      <documentation>

-         [Enter description of this extension point.]

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="page" minOccurs="1" 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="page">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="section">

-      <complexType>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         [Enter the first release in which this extension point appears.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         [Enter extension point usage example here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         [Enter API information here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         [Enter information about supplied implementation of this extension point.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/update/org.eclipse.update.ui.win32/schema/welcomeSections.exsd b/update/org.eclipse.update.ui.win32/schema/welcomeSections.exsd
deleted file mode 100644
index 9c4b5e2..0000000
--- a/update/org.eclipse.update.ui.win32/schema/welcomeSections.exsd
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

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

-<schema targetNamespace="org.eclipse.update.ui.win32">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.update.ui.win32" id="welcomeSections" name="Welcome Sections"/>

-      </appInfo>

-      <documentation>

-         [Enter description of this extension point.]

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="section" 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="section">

-      <complexType>

-         <sequence>

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

-         </sequence>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.welcome.internal.portal.IPortalSection"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="form">

-      <complexType>

-         <attribute name="type" use="default" value="local">

-            <annotation>

-               <documentation>

-                  Forms are loaded depending on the &lt;samp&gt;type&lt;/samp&gt; attribute:

-&lt;ul&gt;

-&lt;li&gt;&lt;b&gt;local&lt;/b&gt; - the content of the form will be loaded from the body text of the element.&lt;/li&gt;

-&lt;li&gt;&lt;b&gt;remote&lt;/b&gt; - the content of the form will be downloaded using the specified URL.&lt;/li&gt;

-&lt;li&gt;&lt;b&gt;custom&lt;/b&gt; - the form will be created by loading the class specified by the &lt;samp&gt;class&lt;/samp&gt; attribute that implements IPortalSection interface.&lt;/li&gt;

-&lt;li&gt;&lt;b&gt;dynamic&lt;/b&gt; - the form will be created by loading the class specified by the &lt;samp&gt;class&lt;/samp&gt; attribute that implements IFormContentProvider interface.&lt;/li&gt;

-&lt;/ul&gt;

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="local">

-                  </enumeration>

-                  <enumeration value="remote">

-                  </enumeration>

-                  <enumeration value="custom">

-                  </enumeration>

-                  <enumeration value="dynamic">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  If &lt;samp&gt;type&lt;/samp&gt; is &lt;samp&gt;remote&lt;/samp&gt;, the content of the form will be downloaded from the specified URL.

-               </documentation>

-            </annotation>

-         </attribute>

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

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.welcome.internal.portal.IPortalSection"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         [Enter the first release in which this extension point appears.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         [Enter extension point usage example here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         [Enter API information here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         [Enter information about supplied implementation of this extension point.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

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

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/ShowWelcomePageAction.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/ShowWelcomePageAction.java
deleted file mode 100644
index 70ec5ba..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/ShowWelcomePageAction.java
+++ /dev/null
@@ -1,76 +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.welcome.internal;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.*;
-import org.eclipse.welcome.internal.portal.WelcomePortalEditorInput;
-
-/**
- * Our sample action implements workbench action delegate.
- * The action proxy will be created by the workbench and
- * shown in the UI. When the user tries to use the action,
- * this delegate will be created and execution will be 
- * delegated to it.
- * @see IWorkbenchWindowActionDelegate
- */
-public class ShowWelcomePageAction implements IWorkbenchWindowActionDelegate {
-	private IWorkbenchWindow window;
-	/**
-	 * The constructor.
-	 */
-	public ShowWelcomePageAction() {
-	}
-
-	/**
-	 * The action has been activated. The argument of the
-	 * method represents the 'real' action sitting
-	 * in the workbench UI.
-	 * @see IWorkbenchWindowActionDelegate#run
-	 */
-	public void run(IAction action) {
-		try {
-			WelcomePortal.getActivePage().openEditor(
-				new WelcomePortalEditorInput(),
-				"org.eclipse.welcome.portal");
-		} catch (PartInitException e) {
-			WelcomePortal.logException(e);
-		}
-	}
-
-	/**
-	 * Selection in the workbench has been changed. We 
-	 * can change the state of the 'real' action here
-	 * if we want, but this can only happen after 
-	 * the delegate has been created.
-	 * @see IWorkbenchWindowActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	/**
-	 * We can use this method to dispose of any system
-	 * resources we previously allocated.
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * We will cache window object in order to
-	 * be able to provide parent shell for the message dialog.
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortal.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortal.java
deleted file mode 100644
index 06a2f00..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortal.java
+++ /dev/null
@@ -1,182 +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.welcome.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.welcome.internal.webbrowser.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class WelcomePortal extends AbstractUIPlugin {
-	public static final String PLUGIN_ID = "org.eclipse.update.ui.win32";
-	public static final String ID_BROWSER = PLUGIN_ID + "WebBrowser";
-	
-	//The shared instance.
-	private static WelcomePortal plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IStartup#earlyStartup()
-	 */
-	public static void showURL(String name, String url) {
-		try {
-			WelcomePortal.getActivePage().openEditor(
-				new WebBrowserEditorInput(name, url),
-				"org.eclipse.welcome.webbrowser");
-		} catch (PartInitException e) {
-			WelcomePortal.logException(e);
-		}
-	}
-
-	/**
-	 * The constructor.
-	 */
-	public WelcomePortal(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-		try {
-			resourceBundle =
-				ResourceBundle.getBundle(
-					"org.eclipse.welcome.internal.WelcomePortalResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static WelcomePortal getDefault() {
-		return plugin;
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		return getDefault().internalGetActivePage();
-	}
-
-	private IWorkbenchPage internalGetActivePage() {
-		IWorkbenchWindow window = getWorkbench().getActiveWorkbenchWindow();
-		if (window != null)
-			return window.getActivePage();
-		return null;
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		return window != null ? window.getShell() : null;
-	}
-
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getString(String key) {
-		ResourceBundle bundle = WelcomePortal.getDefault().getResourceBundle();
-		try {
-			return bundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getFormattedMessage(String key, String[] args) {
-		String text = getString(key);
-		return java.text.MessageFormat.format(text, args);
-	}
-
-	public static String getFormattedMessage(String key, String arg) {
-		String text = getString(key);
-		return java.text.MessageFormat.format(text, new String[] { arg });
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-
-	public void startup() throws CoreException {
-	}
-
-	public void shutdown() throws CoreException {
-	}
-
-	public static void logException(Throwable e) {
-		logException(e, true);
-	}
-
-	public static void logException(Throwable e, boolean showErrorDialog) {
-		if (e instanceof InvocationTargetException) {
-			e = ((InvocationTargetException) e).getTargetException();
-		}
-
-		IStatus status = null;
-		if (e instanceof CoreException) {
-			status = ((CoreException) e).getStatus();
-		} else {
-			String message = e.getMessage();
-			if (message == null)
-				message = e.toString();
-			status =
-				new Status(
-					IStatus.ERROR,
-					getPluginId(),
-					IStatus.OK,
-					message,
-					e);
-		}
-		log(status, showErrorDialog);
-	}
-
-	public static void log(IStatus status, boolean showErrorDialog) {
-		if (status.getSeverity() != IStatus.INFO) {
-			if (showErrorDialog)
-				ErrorDialog.openError(
-					getActiveWorkbenchShell(),
-					null,
-					null,
-					status);
-			//ResourcesPlugin.getPlugin().getLog().log(status);
-			Platform.getPlugin("org.eclipse.core.runtime").getLog().log(status);
-		} else {
-			MessageDialog.openInformation(
-				getActiveWorkbenchShell(),
-				null,
-				status.getMessage());
-		}
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalImages.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalImages.java
deleted file mode 100644
index 3675f4b..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalImages.java
+++ /dev/null
@@ -1,243 +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.welcome.internal;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Bundle of all images used by the PDE plugin.
- */
-public class WelcomePortalImages {
-
-
-	private static final String NAME_PREFIX= WelcomePortal.getPluginId()+".";
-
-	private final static URL BASE_URL = WelcomePortal.getDefault().getDescriptor().getInstallURL();
-
-
-	private static ImageRegistry PLUGIN_REGISTRY;
-	
-	public final static String ICONS_PATH = "icons/full/";
-
-	/**
-	 * Set of predefined Image Descriptors.
-	 */
-	
-	private static final String PATH_OBJ= ICONS_PATH+"obj16/";
-	private static final String PATH_VIEW = ICONS_PATH+"cview16/";
-	private static final String PATH_LCL= ICONS_PATH+"elcl16/";
-	private static final String PATH_LCL_HOVER= ICONS_PATH+"clcl16/";
-	private static final String PATH_LCL_DISABLED= ICONS_PATH+"dlcl16/";
-	private static final String PATH_TOOL = ICONS_PATH + "etool16/";
-	private static final String PATH_TOOL_HOVER = ICONS_PATH + "ctool16/";
-	private static final String PATH_TOOL_DISABLED = ICONS_PATH + "dtool16/";
-	private static final String PATH_OVR = ICONS_PATH + "ovr16/";
-	private static final String PATH_WIZBAN = ICONS_PATH + "wizban/";
-	public static final String PATH_FORMS = ICONS_PATH + "forms/";
-
-
-	/**
-	 * Frequently used images
-	 */
-	public static final String IMG_FORM_BANNER = NAME_PREFIX+"FORM_BANNER";
-	public static final String IMG_FORM_BANNER_SHORT = NAME_PREFIX+"FORM_BANNER_SHORT";
-	public static final String IMG_FORM_UNDERLINE = NAME_PREFIX + "FORM_UNDERLINE";
-
-	/**
-	 * OBJ16
-	 */
-	public static final ImageDescriptor DESC_APP_OBJ = create(PATH_OBJ, "app_obj.gif");
-	public static final ImageDescriptor DESC_BFOLDER_OBJ = create(PATH_OBJ, "bfolder_obj.gif");
-	public static final ImageDescriptor DESC_CATEGORY_OBJ = create(PATH_OBJ, "category_obj.gif");
-	public static final ImageDescriptor DESC_CD_OBJ = create(PATH_OBJ, "cd_obj.gif");
-	public static final ImageDescriptor DESC_COMPUTER_OBJ = create(PATH_OBJ, "computer_obj.gif");
-	public static final ImageDescriptor DESC_CONFIG_OBJ = create(PATH_OBJ, "config_obj.gif");
-	public static final ImageDescriptor DESC_FEATURE_OBJ = create(PATH_OBJ, "feature_obj.gif");
-	public static final ImageDescriptor DESC_EFIX_OBJ = create(PATH_OBJ, "efix2_obj.gif");
-	public static final ImageDescriptor DESC_FLOPPY_OBJ = create(PATH_OBJ, "floppy_obj.gif");
-	public static final ImageDescriptor DESC_HISTORY_OBJ = create(PATH_OBJ, "history_obj.gif");
-	public static final ImageDescriptor DESC_LSITE_OBJ = create(PATH_OBJ, "lsite_obj.gif");
-	public static final ImageDescriptor DESC_PSITE_OBJ = create(PATH_OBJ, "psite_obj.gif");
-	public static final ImageDescriptor DESC_ESITE_OBJ = create(PATH_OBJ, "esite_obj.gif");
-	public static final ImageDescriptor DESC_SITE_OBJ = create(PATH_OBJ, "site_obj.gif");
-	public static final ImageDescriptor DESC_WEB_SITE_OBJ = create(PATH_OBJ, "web_bkmrk_obj.gif");
-	public static final ImageDescriptor DESC_PLACES_OBJ = create(PATH_OBJ, "places_obj.gif");
-	public static final ImageDescriptor DESC_SAVED_OBJ = create(PATH_OBJ, "saved_obj.gif");
-	public static final ImageDescriptor DESC_UNCONF_FEATURE_OBJ = create(PATH_OBJ, "unconf_feature_obj.gif");
-	public static final ImageDescriptor DESC_UPDATES_OBJ = create(PATH_OBJ, "updates_obj.gif");
-	public static final ImageDescriptor DESC_VFIXED_OBJ = create(PATH_OBJ, "vfixed_obj.gif");
-	public static final ImageDescriptor DESC_VREMOTE_OBJ = create(PATH_OBJ, "vremote_obj.gif");
-	public static final ImageDescriptor DESC_VREMOVABLE_OBJ = create(PATH_OBJ, "vremovable_obj.gif");
-	public static final ImageDescriptor DESC_NOTINST_FEATURE_OBJ = create(PATH_OBJ, "notinstalled_feature_obj.gif");	
-	public static final ImageDescriptor DESC_SHOW_SEARCH = create(PATH_OBJ, "tsearch_obj.gif");
-	public static final ImageDescriptor DESC_ERR_ST_OBJ = create(PATH_OBJ, "error_st_obj.gif");
-	public static final ImageDescriptor DESC_OK_ST_OBJ = create(PATH_OBJ, "ok_st_obj.gif");
-
-	
-	/**
-	 * OVR16
-	 */
-	public static final ImageDescriptor DESC_LINKED_CO   = create(PATH_OVR, "linked_co.gif");
-	public static final ImageDescriptor DESC_UPDATED_CO   = create(PATH_OVR, "updated_co.gif");
-	public static final ImageDescriptor DESC_INSTALLABLE_CO = create(PATH_OVR, "installable_co.gif");
-	public static final ImageDescriptor DESC_CURRENT_CO = create(PATH_OVR, "current_co.gif");
-	public static final ImageDescriptor DESC_ERROR_CO = create(PATH_OVR, "error_co.gif");
-	public static final ImageDescriptor DESC_WARNING_CO = create(PATH_OVR, "warning_co.gif");
-	public static final ImageDescriptor DESC_MOD_CO = create(PATH_OVR, "mod_co.gif");
-	public static final ImageDescriptor DESC_ADD_CO = create(PATH_OVR, "add_stat.gif");
-	public static final ImageDescriptor DESC_DEL_CO = create(PATH_OVR, "del_stat.gif");
-	public static final ImageDescriptor DESC_UNCONF_CO = create(PATH_OVR, "unconfigured_co.gif");
-
-	/**
-	 * VIEW16
-	 */
-
-	public static final ImageDescriptor DESC_CONFIGS_VIEW = create(PATH_VIEW, "configs.gif");
-	public static final ImageDescriptor DESC_SITES_VIEW = create(PATH_VIEW, "updates.gif");
-	public static final ImageDescriptor DESC_SELECTED_UPDATES_VIEW = create(PATH_VIEW, "selected_updates.gif");
-
-	/**
-	 * LCL
-	 */
-	public static final ImageDescriptor DESC_BACKWARD_NAV = create(PATH_LCL, "backward_nav.gif");
-	public static final ImageDescriptor DESC_BACKWARD_NAV_H = create(PATH_LCL_HOVER, "backward_nav.gif");
-	public static final ImageDescriptor DESC_BACKWARD_NAV_D = create(PATH_LCL_DISABLED, "backward_nav.gif");
-	public static final ImageDescriptor DESC_FORWARD_NAV = create(PATH_LCL, "forward_nav.gif");
-	public static final ImageDescriptor DESC_FORWARD_NAV_H = create(PATH_LCL_HOVER, "forward_nav.gif");
-	public static final ImageDescriptor DESC_FORWARD_NAV_D = create(PATH_LCL_DISABLED, "forward_nav.gif");
-	public static final ImageDescriptor DESC_HOME_NAV = create(PATH_LCL, "home_nav.gif");
-	public static final ImageDescriptor DESC_HOME_NAV_H = create(PATH_LCL_HOVER, "home_nav.gif");
-	public static final ImageDescriptor DESC_HOME_NAV_D = create(PATH_LCL_DISABLED, "home_nav.gif");
-	public static final ImageDescriptor DESC_REFRESH_NAV = create(PATH_LCL, "refresh_nav.gif");
-	public static final ImageDescriptor DESC_REFRESH_NAV_H = create(PATH_LCL_HOVER, "refresh_nav.gif");
-	public static final ImageDescriptor DESC_REFRESH_NAV_D = create(PATH_LCL_DISABLED, "refresh_nav.gif");
-	public static final ImageDescriptor DESC_STOP_NAV = create(PATH_LCL, "stop_nav.gif");
-	public static final ImageDescriptor DESC_STOP_NAV_H = create(PATH_LCL_HOVER, "stop_nav.gif");
-	public static final ImageDescriptor DESC_STOP_NAV_D = create(PATH_LCL_DISABLED, "stop_nav.gif");
-	public static final ImageDescriptor DESC_GO_NAV = create(PATH_LCL, "go_nav.gif");
-	public static final ImageDescriptor DESC_GO_NAV_H = create(PATH_LCL_HOVER, "go_nav.gif");
-	public static final ImageDescriptor DESC_GO_NAV_D = create(PATH_LCL_DISABLED, "go_nav.gif");
-	public static final ImageDescriptor DESC_SHOW_UNCONF = create(PATH_LCL, "show_unconf.gif");
-	public static final ImageDescriptor DESC_SHOW_UNCONF_H = create(PATH_LCL_HOVER, "show_unconf.gif");
-	public static final ImageDescriptor DESC_SHOW_UNCONF_D = create(PATH_LCL_DISABLED, "show_unconf.gif");
-	public static final ImageDescriptor DESC_COLLAPSE_ALL = create(PATH_LCL, "collapseall.gif");
-	public static final ImageDescriptor DESC_SHOW_HIERARCHY = create(PATH_LCL, "hierarchicalLayout.gif");
-	public static final ImageDescriptor DESC_SHOW_HIERARCHY_H = create(PATH_LCL_HOVER, "hierarchicalLayout.gif");
-	public static final ImageDescriptor DESC_SHOW_HIERARCHY_D = create(PATH_LCL_DISABLED, "hierarchicalLayout.gif");
-
-	/**
-	 * WIZ
-	 */
-	public static final ImageDescriptor DESC_INSTALL_WIZ  = create(PATH_WIZBAN, "install_wiz.gif");
-	public static final ImageDescriptor DESC_UPDATE_WIZ  = create(PATH_WIZBAN, "update_wiz.gif");
-	public static final ImageDescriptor DESC_CONFIG_WIZ  = create(PATH_WIZBAN, "config_wiz.gif");
-	public static final ImageDescriptor DESC_UNINSTALL_WIZ  = create(PATH_WIZBAN, "uninstall_wiz.gif");
-	public static final ImageDescriptor DESC_INSTALL_BANNER  = create(PATH_WIZBAN, "def_wizban.jpg");
-	public static final ImageDescriptor DESC_FORM_BANNER  = create(PATH_FORMS, "form_banner.jpg");
-	public static final ImageDescriptor DESC_FORM_BANNER_SHORT  = create(PATH_FORMS, "form_banner.gif");
-	public static final ImageDescriptor DESC_FORM_UNDERLINE  = create(PATH_FORMS, "form_underline2.jpg");
-	public static final ImageDescriptor DESC_PROVIDER = create(PATH_FORMS, "def_provider.jpg");
-	public static final ImageDescriptor DESC_ITEM = create(PATH_FORMS, "topic.gif");
-	public static final ImageDescriptor DESC_NEW_BOOKMARK  = create(PATH_WIZBAN, "new_bookmark_wiz.gif");
-	public static final ImageDescriptor DESC_NEW_FOLDER  = create(PATH_WIZBAN, "new_folder_wiz.gif");
-	public static final ImageDescriptor DESC_NEW_SEARCH  = create(PATH_WIZBAN, "new_search_wiz.gif");
-
-	private static ImageDescriptor create(String prefix, String name) {
-		return ImageDescriptor.createFromURL(makeImageURL(prefix, name));
-	}
-
-
-	public static Image get(String key) {
-		if (PLUGIN_REGISTRY==null) initialize();
-		return PLUGIN_REGISTRY.get(key);
-	}
-
-
-public static ImageDescriptor getImageDescriptorFromPlugin(
-	IPluginDescriptor pluginDescriptor, 
-	String subdirectoryAndFilename) {
-	URL installURL = pluginDescriptor.getInstallURL();
-	try {
-		URL newURL = new URL(installURL, subdirectoryAndFilename);
-		return ImageDescriptor.createFromURL(newURL);
-	}
-	catch (MalformedURLException e) {
-	}
-	return null;
-}
-
-
-public static Image getImageFromPlugin(
-	IPluginDescriptor pluginDescriptor,
-	String subdirectoryAndFilename) {
-	URL installURL = pluginDescriptor.getInstallURL();
-	Image image = null;
-	try {
-		URL newURL = new URL(installURL, subdirectoryAndFilename);
-		String key = newURL.toString();
-		if (PLUGIN_REGISTRY==null) initialize();
-		image = PLUGIN_REGISTRY.get(key);
-		if (image==null) {
-			ImageDescriptor desc = ImageDescriptor.createFromURL(newURL);
-			image = desc.createImage();
-			PLUGIN_REGISTRY.put(key, image);
-		}
-	}
-	catch (MalformedURLException e) {
-	}
-	return image;
-}
-/* package */
-private static final void initialize() {
-	PLUGIN_REGISTRY = new ImageRegistry();
-	manage(IMG_FORM_BANNER_SHORT, DESC_FORM_BANNER_SHORT);
-	manage(IMG_FORM_BANNER, DESC_FORM_BANNER);
-	manage(IMG_FORM_UNDERLINE, DESC_FORM_UNDERLINE);
-}
-
-
-private static URL makeImageURL(String prefix, String name) {
-	String path = prefix + name;
-	URL url = null;
-	try {
-		url = new URL(BASE_URL, path);
-	}
-	catch (MalformedURLException e) {
-		return null;
-	}
-	return url;
-}
-
-public static Image manage(String key, ImageDescriptor desc) {
-	Image image = desc.createImage();
-	PLUGIN_REGISTRY.put(key, image);
-	return image;
-}
-
-public static URL getDefaultProviderImageURL() {
-	URL url = makeImageURL(PATH_FORMS, "def_provider.jpg");
-	try {
-		url = Platform.resolve(url);
-	}
-	catch (IOException e) {
-	}
-	return url; 
-}
-
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalResources.properties b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalResources.properties
deleted file mode 100644
index 491ee42..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalResources.properties
+++ /dev/null
@@ -1,29 +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
-###############################################################################
-# 
-#
-#
-
-BrowserPage.address = Address:
-BrowserPage.stop = Stop
-BrowserPage.go = Go
-BrowserPage.refresh = Refresh
-
-WebBrowserView.notAvailable = Embedded Web browser is not available. \
-Requiests for opening URLs are processed using Web browser registered to handle \
-Web pages on your system.
-WebBrowserView.address = Address:
-WebBrowserView.stop = Stop
-WebBrowserView.go = Go
-WebBrowserView.home = Go Home
-WebBrowserView.refresh = Refresh
-WebBrowserView.backward = Go Back
-WebBrowserView.forward = Go Forward
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/TipsAndTricksContentProvider.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/TipsAndTricksContentProvider.java
deleted file mode 100644
index 65b3b9a..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/TipsAndTricksContentProvider.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Created on Jun 20, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.actions;
-
-import java.io.*;
-import java.util.ArrayList;
-
-import org.eclipse.ui.internal.*;
-import org.eclipse.welcome.internal.WelcomePortal;
-import org.eclipse.welcome.internal.portal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class TipsAndTricksContentProvider implements IFormContentProvider {
-	private IFormContentObserver observer;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IFormContentProvider#getContent()
-	 */
-	public String getContent() {
-		/*
-		// Ask the user to select a feature
-		AboutInfo[] features = ((Workbench) WelcomePortal.getDefault().getWorkbench()).getConfigurationInfo().getFeaturesInfo();
-		ArrayList welcomeFeatures = new ArrayList();
-		StringWriter swriter = new StringWriter();
-		PrintWriter writer = new PrintWriter(swriter);
-		writer.println("<form>");
-		for (int i = 0; i < features.length; i++) {
-			AboutInfo feature = features[i];
-			if (feature.getWelcomePageURL() != null) {
-				addFeatureLink(writer, feature);
-			}
-		}
-		writer.println("</form>");
-		writer.close();
-		return swriter.toString();
-		*/
-		return "<form></form>";
-	}
-
-	private void addFeatureLink(PrintWriter writer, AboutInfo feature) {
-		String name = feature.getFeatureLabel();
-		String href = feature.getTipsAndTricksHref();
-		if (href==null) return;
-		writer.print("<li>");
-		writer.print("<a href=\"help\" arg=\""+href+"\">"+name+"</a>");
-		writer.println("</li>");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IFormContentProvider#setContentObserver(org.eclipse.welcome.internal.portal.IFormContentObserver)
-	 */
-	public void setContentObserver(IFormContentObserver observer) {
-		this.observer = observer;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/WelcomeContentProvider.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/WelcomeContentProvider.java
deleted file mode 100644
index 59c2d79..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/WelcomeContentProvider.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Created on Jun 20, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.actions;
-
-import java.io.*;
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.eclipse.ui.internal.*;
-import org.eclipse.welcome.internal.WelcomePortal;
-import org.eclipse.welcome.internal.portal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomeContentProvider implements IFormContentProvider {
-	private IFormContentObserver observer;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IFormContentProvider#getContent()
-	 */
-	public String getContent() {
-		/*
-		// Ask the user to select a feature
-		AboutInfo[] features = ((Workbench) WelcomePortal.getDefault().getWorkbench()).getConfigurationInfo().getFeaturesInfo();
-		ArrayList welcomeFeatures = new ArrayList();
-		StringWriter swriter = new StringWriter();
-		PrintWriter writer = new PrintWriter(swriter);
-		writer.println("<form>");
-		for (int i = 0; i < features.length; i++) {
-			AboutInfo feature = features[i];
-			if (feature.getWelcomePageURL() != null) {
-				addFeatureLink(writer, feature);
-			}
-		}
-		writer.println("</form>");
-		/*
-
-		if (perspectiveId != null) {
-			try {
-				page = (WorkbenchPage) window.getWorkbench().showPerspective(perspectiveId, window);
-			} catch (WorkbenchException e) {
-				return;
-			}
-		}
-
-		page.setEditorAreaVisible(true);
-
-		// create input
-		WelcomeEditorInput input = new WelcomeEditorInput(feature);
-
-		// see if we already have a welcome editor
-		IEditorPart editor = page.findEditor(input);
-		if (editor != null) {
-			page.activate(editor);
-			return;
-		}
-
-		try {
-			page.openEditor(input, EDITOR_ID);
-		} catch (PartInitException e) {
-			IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("QuickStartAction.openEditorException"), e); //$NON-NLS-1$
-			ErrorDialog.openError(
-				window.getShell(),
-				WorkbenchMessages.getString("Workbench.openEditorErrorDialogTitle"),  //$NON-NLS-1$
-				WorkbenchMessages.getString("Workbench.openEditorErrorDialogMessage"), //$NON-NLS-1$
-				status);
-		}
-		writer.close();
-		return swriter.toString();
-		*/
-		return "<form></form>";
-	}
-
-	private void addFeatureLink(PrintWriter writer, AboutInfo feature) {
-		String name = feature.getFeatureLabel();
-		URL welcomeURL = feature.getWelcomePageURL();
-		String action = "";
-		writer.print("<li>");
-		writer.print("<a href=\"action\">"+name+"</a>");
-		writer.println("</li>");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IFormContentProvider#setContentObserver(org.eclipse.welcome.internal.portal.IFormContentObserver)
-	 */
-	public void setContentObserver(IFormContentObserver observer) {
-		this.observer = observer;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/HelpSection.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/HelpSection.java
deleted file mode 100644
index 393de2b..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/HelpSection.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Created on Jun 20, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.update.ui.forms.internal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class HelpSection implements IPortalSectionForm {
-	private Text phraseText;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IPortalSection#init(org.eclipse.update.ui.forms.internal.IFormPage)
-	 */
-	public void init(IFormPage page) {
-	}
-	
-	public void dispose() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IPortalSection#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createControl(Composite parent, FormWidgetFactory factory) {
-		Composite container = factory.createComposite(parent);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginWidth = 0;
-		container.setLayout(layout);
-		factory.createLabel(container, "Phrase:");
-		phraseText = factory.createText(container, "");
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		phraseText.setLayoutData(gd);
-		final Button button = factory.createButton(container, "Go", SWT.PUSH);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				doSearch(phraseText.getText());
-			}
-		});
-		button.setEnabled(false);
-		phraseText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				String text=phraseText.getText();
-				button.setEnabled(text.length()>0);
-			}
-		});
-		phraseText.addKeyListener(new KeyAdapter() {
-			public void keyReleased(KeyEvent e) {
-				if (e.character=='\r') {
-					if (button.isEnabled())
-						doSearch(phraseText.getText());
-				}
-			}
-		});
-		factory.paintBordersFor(container);
-		return container;
-	}
-	private void doSearch(String phrase) {
-		try {
-			String ephrase = URLEncoder.encode(phrase, "UTF-8");
-			String query = "tab=search&searchWord="+ephrase;
-			WorkbenchHelp.getHelpSupport().displayHelpResource(query);
-		}
-		catch (UnsupportedEncodingException e) {
-			System.out.println(e);
-		}
-	} 
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentObserver.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentObserver.java
deleted file mode 100644
index ba7801b..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentObserver.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Created on Jun 20, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface IFormContentObserver {
-	public void contentChanged(IFormContentProvider provider);
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentProvider.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentProvider.java
deleted file mode 100644
index 15e85ee..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentProvider.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Created on Jun 20, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface IFormContentProvider {
-	String getContent();
-	void setContentObserver(IFormContentObserver observer);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IPortalSectionForm.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IPortalSectionForm.java
deleted file mode 100644
index a7d77a6..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IPortalSectionForm.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.ui.forms.internal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface IPortalSectionForm {
-	void init(IFormPage page);
-	Control createControl(Composite parent, FormWidgetFactory factory);
-	void dispose();
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/PortalSection.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/PortalSection.java
deleted file mode 100644
index b25eaa2..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/PortalSection.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import java.io.*;
-import java.net.*;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.update.ui.forms.internal.*;
-import org.eclipse.update.ui.forms.internal.engine.*;
-import org.eclipse.welcome.internal.WelcomePortal;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class PortalSection extends FormSection  {
-	private SectionDescriptor desc;
-	private WelcomePortalForm form;
-	private HyperlinkAction eclipseAction;
-	private HTTPAction httpAction;
-	private HyperlinkAction helpAction;
-	private Composite formContainer;
-	private Hashtable eclipseActions;
-
-	class ActionWrapper extends Action {
-		IActionDelegate delegate;
-
-		public ActionWrapper(String arg, IActionDelegate delegate) {
-			super(arg);
-			this.delegate = delegate;
-			if (delegate instanceof IWorkbenchWindowActionDelegate)
-				((IWorkbenchWindowActionDelegate) delegate).init(
-					WelcomePortal.getActiveWorkbenchWindow());
-		}
-		public void run() {
-			delegate.run(this);
-		}
-	}
-
-	public PortalSection(SectionDescriptor desc, WelcomePortalForm form) {
-		this.desc = desc;
-		this.form = form;
-		setDescriptionPainted(false);
-		setCollapsable(true);
-		setHeaderText(desc.getName());
-		makeHyperlinkActions();
-	}
-
-	private void makeHyperlinkActions() {
-		IActionBars bars =
-			form.getPortal().getEditor().getEditorSite().getActionBars();
-		httpAction = new HTTPAction() {
-			public void linkActivated(IHyperlinkSegment link) {
-				String url = link.getArg();
-				if (url != null)
-					WelcomePortal.showURL(link.getText(), url);
-			}
-		};
-		httpAction.setStatusLineManager(bars.getStatusLineManager());
-		eclipseAction = new HyperlinkAction() {
-			public void linkActivated(IHyperlinkSegment link) {
-				String arg = link.getArg();
-				if (arg != null)
-					runEclipseAction(arg);
-			}
-		};
-		eclipseAction.setStatusLineManager(bars.getStatusLineManager());
-		helpAction = new HyperlinkAction() {
-			public void linkActivated(IHyperlinkSegment link) {
-				String arg = link.getArg();
-				if (arg != null)
-					openEclipseHelp(arg);
-			}
-		};
-		helpAction.setStatusLineManager(bars.getStatusLineManager());
-	}
-	public Composite createClient(
-		Composite parent,
-		FormWidgetFactory factory) {
-		IConfigurationElement config = desc.getConfig();
-		formContainer = factory.createComposite(parent);
-		HTMLTableLayout layout = new HTMLTableLayout();
-		formContainer.setLayout(layout);
-		layout.topMargin = layout.bottomMargin = 0;
-		layout.leftMargin = layout.rightMargin = 0;
-		IConfigurationElement[] children = config.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			IConfigurationElement child = children[i];
-			if (child.getName().equals("form")) {
-				createForm(formContainer, child, factory);
-			}
-		}
-		return formContainer;
-	}
-
-	private void createForm(
-		final Composite parent,
-		IConfigurationElement config,
-		FormWidgetFactory factory) {
-		String type = config.getAttribute("type");
-		if (type != null && type.equals("custom")) {
-			createCustomForm(parent, config, factory);
-			return;
-		}
-		final FormEngine engine = factory.createFormEngine(parent);
-		//engine.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_CYAN));
-		engine.setHyperlinkSettings(factory.getHyperlinkHandler());
-		TableData td = new TableData(TableData.FILL, TableData.TOP);
-		td.grabHorizontal = true;
-		engine.setLayoutData(td);
-		engine.registerTextObject("url", httpAction);
-		engine.registerTextObject("action", eclipseAction);
-		engine.registerTextObject("help", helpAction);
-		if (type == null || type.equals("local")) {
-			String value = config.getValue();
-			engine.load("<form>" + value + "</form>", true, false);
-		} else if (type.equals("dynamic")) {
-			IFormContentProvider provider = createContentProvider(config);
-			if (provider!=null) {
-				engine.load(provider.getContent(), true, false);
-				provider.setContentObserver(new IFormContentObserver() {
-					public void contentChanged(IFormContentProvider provider) {
-						engine.load(provider.getContent(), true, false);
-						reflow();
-					}
-				});
-			}
-		} else if (type.equals("remote")) {
-			String urlName = config.getAttribute("url");
-			try {
-				final URL url = new URL(urlName);
-				Runnable loader = new Runnable() {
-					public void run() {
-						InputStream is = null;
-						try {
-							is = url.openStream();
-							engine.load(is, false);
-							parent.getDisplay().syncExec(new Runnable() {
-								public void run() {
-									reflow();
-								}
-							});
-						} catch (final IOException e) {
-							parent.getDisplay().syncExec(new Runnable() {
-								public void run() {
-									WelcomePortal.logException(e);
-								}
-							});
-
-						} finally {
-							try {
-								if (is != null)
-									is.close();
-							} catch (IOException e) {
-							}
-						}
-					}
-				};
-				Thread t = new Thread(loader);
-				t.start();
-			} catch (MalformedURLException e) {
-				WelcomePortal.logException(e);
-			}
-		}
-	}
-
-	private void createCustomForm(
-		Composite parent,
-		IConfigurationElement config,
-		FormWidgetFactory factory) {
-		try {
-			Object obj = config.createExecutableExtension("class");
-			if (obj instanceof IPortalSectionForm) {
-				IPortalSectionForm psection = (IPortalSectionForm) obj;
-				//psection.init(form.getPortal());
-				Control control = psection.createControl(parent, factory);
-				TableData td = new TableData(TableData.FILL, TableData.TOP);
-				td.grabHorizontal = true;
-				control.setLayoutData(td);
-			}
-		} catch (CoreException e) {
-			WelcomePortal.logException(e);
-		}
-	}
-	
-	private IFormContentProvider createContentProvider(IConfigurationElement config) {
-		try {
-			Object obj = config.createExecutableExtension("class");
-			if (obj instanceof IFormContentProvider) {
-				return (IFormContentProvider) obj;
-			}
-		} catch (CoreException e) {
-			WelcomePortal.logException(e);
-		}
-		return null;
-	}
-	protected void reflow() {
-		formContainer.layout();
-		super.reflow();
-		form.updateSize();
-	}
-
-	private void runEclipseAction(final String arg) {
-		BusyIndicator
-			.showWhile(form.getControl().getDisplay(), new Runnable() {
-			public void run() {
-				final IAction action = getEclipseAction(arg);
-				if (action != null)
-					action.run();
-			}
-		});
-	}
-
-	private IAction getEclipseAction(String arg) {
-		if (eclipseActions == null) {
-			eclipseActions = new Hashtable();
-		}
-		IAction action = (IAction) eclipseActions.get(arg);
-		if (action != null)
-			return action;
-		// load
-		int col = arg.indexOf(':');
-		String pluginId = arg.substring(0, col);
-		String className = arg.substring(col + 1);
-		IPluginDescriptor desc =
-			Platform.getPluginRegistry().getPluginDescriptor(pluginId);
-		if (desc == null) {
-			logActionLinkError(pluginId, className);
-			return null;
-		}
-		Class actionClass;
-		try {
-			actionClass = desc.getPluginClassLoader().loadClass(className);
-		} catch (ClassNotFoundException e) {
-			logActionLinkError(pluginId, className);
-			return null;
-		}
-		try {
-			Object obj = actionClass.newInstance();
-			if (obj instanceof IAction)
-				action = (IAction) obj;
-			else
-				action = new ActionWrapper(arg, (IActionDelegate) obj);
-		} catch (InstantiationException e) {
-			logActionLinkError(pluginId, className);
-			return null;
-		} catch (IllegalAccessException e) {
-			logActionLinkError(pluginId, className);
-			return null;
-		} catch (ClassCastException e) {
-			logActionLinkError(pluginId, className);
-			return null;
-		}
-		eclipseActions.put(arg, action);
-		return action;
-	}
-
-	private void logActionLinkError(String pluginId, String className) {
-		IStatus status =
-			new Status(
-				IStatus.ERROR,
-				WelcomePortal.getPluginId(),
-				IStatus.OK,
-				"Unable to load class "
-					+ className
-					+ " from plug-in "
-					+ pluginId
-					+ ".",
-				null);
-		WelcomePortal.log(status, true);
-	}
-	
-	private void openEclipseHelp(String arg) {
-		WorkbenchHelp.getHelpSupport().displayHelpResource(arg);
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/SectionDescriptor.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/SectionDescriptor.java
deleted file mode 100644
index 1f497b0..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/SectionDescriptor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class SectionDescriptor {
-	private IConfigurationElement config;
-	
-	public SectionDescriptor(IConfigurationElement config) {
-		this.config = config;
-	}
-	
-	public String getId() {
-		return config.getAttribute("id");
-	}
-	
-	public String getName() {
-		return config.getAttribute("name");
-	}
-	public IConfigurationElement getConfig() {
-		return config;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditor.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditor.java
deleted file mode 100644
index 23412e6..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomePortalEditor extends EditorPart {
-	private WelcomePortalPart welcomePart;
-	
-	public WelcomePortalEditor() {
-		welcomePart = new WelcomePortalPart(this);
-	}
-
-	public void dispose() {
-		if (welcomePart!=null)
-			welcomePart.dispose();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorPart#gotoMarker(org.eclipse.core.resources.IMarker)
-	 */
-	public void gotoMarker(IMarker marker) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input)
-		throws PartInitException {
-		if (!(input instanceof WelcomePortalEditorInput))
-			throw new PartInitException("Invalid Input: Must be WelcomePortalEditorInput");
-		setSite(site);
-		setInput(input);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		welcomePart.createControl(parent);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInput.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInput.java
deleted file mode 100644
index 93f1f42..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInput.java
+++ /dev/null
@@ -1,58 +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.welcome.internal.portal;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-/**
- * A simple editor input for the welcome editor
- */
-public class WelcomePortalEditorInput implements IEditorInput {
-	private final static String FACTORY_ID = "org.eclipse.welcome.internal.portal.WelcomePortalEditorInputFactory"; //$NON-NLS-1$
-	/**
-	 * WelcomeEditorInput constructor comment.
-	 */
-	public WelcomePortalEditorInput() {
-	}
-	public boolean exists() {
-		return false;
-	}
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-	public String getName() {
-		return "Welcome";
-	}
-	public boolean equals(Object obj) {
-		if (obj==null) return false;
-		if (obj == this) return true;
-		if (obj instanceof WelcomePortalEditorInput) {
-			WelcomePortalEditorInput wobj = (WelcomePortalEditorInput)obj;
-			return true;
-		}
-		return false;
-	}
-	public IPersistableElement getPersistable() {
-		return new IPersistableElement() {
-			public String getFactoryId() {
-				return FACTORY_ID;
-			}
-			public void saveState(IMemento memento) {
-			}
-		};
-	}
-	public String getToolTipText() {
-		return getName();
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInputFactory.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInputFactory.java
deleted file mode 100644
index 30c76f3..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInputFactory.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IElementFactory;
-
-/**
- */
-public class WelcomePortalEditorInputFactory implements IElementFactory {
-	/**
-	 */
-	public WelcomePortalEditorInputFactory() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IElementFactory#createElement(org.eclipse.ui.IMemento)
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		return new WelcomePortalEditorInput();
-	}
-
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalForm.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalForm.java
deleted file mode 100644
index e4a44b0..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalForm.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.ui.forms.internal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomePortalForm extends WebForm {
-	private WelcomePortalPart portal;
-	private IConfigurationElement pageConfig;
-
-	public WelcomePortalForm(WelcomePortalPart portal, IConfigurationElement pageConfig) {
-		this.portal = portal;
-		this.pageConfig = pageConfig;
-		setHeadingVisible(false);
-	}
-	
-	public void initialize(Object model) {
-		update();
-	}
-	
-	public WelcomePortalPart getPortal() {
-		return portal;
-	}
-	
-	protected void createContents(Composite parent) {
-		HTMLTableLayout layout = new HTMLTableLayout();
-		parent.setLayout(layout);
-		layout.numColumns = getInteger(pageConfig, "numColumns", 1);
-		layout.topMargin = 0;
-		layout.leftMargin = layout.rightMargin = 10;
-		layout.horizontalSpacing=15;
-		layout.verticalSpacing = 5;
-		//parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_GREEN));
-		layout.makeColumnsEqualWidth=true;
-		SelectableFormLabel customize = getFactory().createSelectableLabel(parent, "Customize...");
-		getFactory().turnIntoHyperlink(customize, new HyperlinkAdapter() {
-			public void linkActivated(Control link) {
-			}
-		});
-		TableData td = new TableData();
-		td.align = TableData.CENTER;
-		td.colspan = layout.numColumns;
-		customize.setLayoutData(td);
-		
-		IConfigurationElement [] sectionRefs = pageConfig.getChildren("section");
-		for (int i=0; i<sectionRefs.length; i++) {
-			IConfigurationElement sectionRef = sectionRefs[i];
-			String id = sectionRef.getAttribute("id");
-			SectionDescriptor desc = portal.findSection(id);
-			if (desc==null) continue;
-			PortalSection section = new PortalSection(desc, this);
-			Control control = section.createControl(parent, getFactory());
-			int span = getInteger(sectionRef, "span", 1);
-			td = new TableData(TableData.FILL, TableData.TOP);
-			td.colspan = span;
-			td.grabHorizontal = true;
-			control.setLayoutData(td);
-			registerSection(section);
-		}
-	}
-
-	private int getInteger(IConfigurationElement config, String attName, int def) {
-		String value = config.getAttribute(attName);
-		if (value!=null) {
-			try {
-				return Integer.parseInt(value);
-			}
-			catch (NumberFormatException e) {
-			}
-		}
-		return def;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPage.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPage.java
deleted file mode 100644
index f4334d1..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPage.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.ui.forms.internal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomePortalPage implements IFormPage {
-	private Control control;
-	private String name;
-	private WelcomePortalPart portal;
-	private WelcomePortalForm form;
-	private IConfigurationElement config;
-	private SelectableFormLabel tab;
-	
-	public WelcomePortalPage(WelcomePortalPart portal, IConfigurationElement config) {
-		this.portal = portal;
-		this.form = new WelcomePortalForm(portal, config);
-		this.name = config.getAttribute("name");
-		this.config = config;
-	}
-	
-	public void setTab(SelectableFormLabel tab) {
-		this.tab = tab;
-	}
-	
-	public SelectableFormLabel getTab() {
-		return tab;
-	}
-
-	public boolean becomesInvisible(IFormPage newPage) {
-		return true;
-	}
-
-	public void becomesVisible(IFormPage previousPage) {
-	}
-
-	public void createControl(Composite parent) {
-		this.control = form.createControl(parent);
-		form.initialize(null);
-	}
-
-	public Control getControl() {
-		return control;
-	}
-
-	public String getLabel() {
-		return name;
-	}
-
-	public String getTitle() {
-		return name;
-	}
-
-	public boolean isSource() {
-		return false;
-	}
-
-	public boolean isVisible() {
-		return portal.isVisible(this);
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPart.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPart.java
deleted file mode 100644
index cd36701..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPart.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.ui.forms.internal.*;
-import org.eclipse.welcome.internal.WelcomePortal;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomePortalPart {
-	private static final int TAB_PADDING = 5;
-	private Hashtable sectionDescriptors;
-	class TabListener implements IHyperlinkListener {
-		public void linkActivated(Control linkLabel) {
-			IFormPage page = (IFormPage) linkLabel.getData();
-			workbook.selectPage(page, false);
-		}
-
-		public void linkEntered(Control linkLabel) {
-		}
-
-		public void linkExited(Control linkLabel) {
-			if (linkLabel==selectedTab)
-				highlightTab(selectedTab, true);
-		}
-	}
-
-	private TabListener tabListener = new TabListener();
-	private Composite tabContainer;
-	private FormWidgetFactory factory;
-	private HyperlinkHandler hhandler;
-	private WelcomePortalEditor editor;
-	private Color tabColor;
-	private NoTabsWorkbook workbook;
-	private SelectableFormLabel selectedTab;
-
-	public WelcomePortalPart(WelcomePortalEditor editor) {
-		factory = new FormWidgetFactory();
-		hhandler = new HyperlinkHandler();
-		workbook = new NoTabsWorkbook();
-		this.editor = editor;
-	}
-	
-	public WelcomePortalEditor getEditor() {
-		return editor;
-	}
-
-	public void dispose() {
-		factory.dispose();
-		hhandler.dispose();
-	}
-	
-	public boolean isVisible(IFormPage page) {
-		return workbook.getCurrentPage().equals(page);
-	}
-
-	public void createControl(Composite parent) {
-		Composite container = factory.createComposite(parent);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.numColumns = 2;
-		layout.verticalSpacing = 0;
-		layout.horizontalSpacing = 0;
-		container.setLayout(layout);
-		createTitle(container);
-		createTabs(container);
-		workbook.createControl(container);
-		workbook.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-		workbook.addFormSelectionListener(new IFormSelectionListener() {
-			public void formSelected(IFormPage page, boolean setFocus) {
-				hightlightTab((WelcomePortalPage) page);
-			}
-		});
-		workbook.selectPage(workbook.getPages()[0], true);
-	}
-
-	private void createTitle(Composite parent) {
-		WelcomeTitleArea title = new WelcomeTitleArea(parent, SWT.NULL);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		title.setLayoutData(gd);
-		title.setText("Welcome");
-		title.setBackground(factory.getBackgroundColor());
-		title.setForeground(factory.getForegroundColor());
-		title.setFont(JFaceResources.getHeaderFont());
-	}
-
-	private void createTabs(Composite parent) {
-		tabContainer = factory.createComposite(parent);
-		tabContainer.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				Point size = tabContainer.getSize();
-				Rectangle tabBounds = selectedTab.getBounds();
-				GC gc = e.gc;
-				gc.setBackground(factory.getBackgroundColor());
-				gc.fillRectangle(0, tabBounds.y-TAB_PADDING, size.x, tabBounds.height+TAB_PADDING+TAB_PADDING);
-			}
-		});
-		tabColor =
-			factory.getColor(FormWidgetFactory.COLOR_COMPOSITE_SEPARATOR);
-		tabContainer.setBackground(tabColor);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 10;
-		layout.marginHeight = TAB_PADDING;
-		layout.verticalSpacing = TAB_PADDING + TAB_PADDING;
-		tabContainer.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_VERTICAL);
-		tabContainer.setLayoutData(gd);
-		hhandler.setBackground(tabColor);
-		hhandler.setForeground(factory.getBackgroundColor());
-		hhandler.setHyperlinkUnderlineMode(
-			HyperlinkSettings.UNDERLINE_ROLLOVER);
-		loadTabs(tabContainer);
-	}
-	
-	private void loadTabs(Composite parent) {
-		IConfigurationElement [] pages = Platform.getPluginRegistry().getConfigurationElementsFor(WelcomePortal.getPluginId(), "welcomePages");
-		for (int i=0; i<pages.length; i++) {
-			createTab(parent, pages[i]);
-		}
-	}
-
-	private void createTab(
-		Composite parent,
-		IConfigurationElement config) {
-		WelcomePortalPage page = new WelcomePortalPage(this, config);
-		SelectableFormLabel tab = factory.createSelectableLabel(parent, page.getTitle());
-		GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		tab.setBackground(tabColor);
-		tab.setForeground(factory.getBackgroundColor());
-		hhandler.registerHyperlink(tab, tabListener);
-		tab.setFont(JFaceResources.getBannerFont());
-		tab.setLayoutData(gd);
-		tab.setData(page);
-		page.setTab(tab);
-		workbook.addPage(page);
-	}
-
-	private void hightlightTab(WelcomePortalPage page) {
-		if (selectedTab != null)
-			highlightTab(selectedTab, false);
-		SelectableFormLabel tab = page.getTab();
-		highlightTab(tab, true);
-		selectedTab = tab;
-		tabContainer.redraw();
-	}
-
-	private void highlightTab(SelectableFormLabel tab, boolean selected) {
-		Color bg = tabColor;
-		Color fg = factory.getBackgroundColor();
-		tab.setForeground(selected ? bg : fg);
-		tab.setBackground(selected ? fg : bg);
-	}
-
-	public SectionDescriptor findSection(String id) {
-		if (sectionDescriptors==null) {
-			sectionDescriptors=new Hashtable();
-			IConfigurationElement [] sections = Platform.getPluginRegistry().getConfigurationElementsFor(WelcomePortal.getPluginId(), "welcomeSections");
-			for (int i=0; i<sections.length; i++) {
-				SectionDescriptor desc = new SectionDescriptor(sections[i]);
-				sectionDescriptors.put(desc.getId(), desc);
-			}
-		}
-		return (SectionDescriptor)sectionDescriptors.get(id);
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomeTitleArea.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomeTitleArea.java
deleted file mode 100644
index 8c60003..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomeTitleArea.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.update.ui.forms.internal.FormLabel;
-import org.eclipse.welcome.internal.WelcomePortalImages;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomeTitleArea extends FormLabel {
-	private Image topImage;
-	private Image bottomImage;
-
-	public WelcomeTitleArea(Composite parent, int style) {
-		super(parent, style);
-		topImage = WelcomePortalImages.get(WelcomePortalImages.IMG_FORM_BANNER);
-		bottomImage = WelcomePortalImages.get(WelcomePortalImages.IMG_FORM_UNDERLINE);
-	}
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Point textSize = super.computeSize(wHint, hHint, changed);
-		int width = textSize.x;
-		int height = Math.max(textSize.y, topImage.getBounds().height);
-		height += bottomImage.getBounds().height;
-		return new Point(width, height);
-	}
-	protected void paint(PaintEvent e) {
-		GC gc = e.gc;
-		Rectangle bounds = getBounds();
-		gc.drawImage(topImage, bounds.x, bounds.y);
-		int y =	bounds.y + bounds.height - bottomImage.getBounds().height;
-		gc.drawImage(bottomImage, 0, y);
-		super.paint(e);
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/BrowserControlSite.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/BrowserControlSite.java
deleted file mode 100644
index 26b7024..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/BrowserControlSite.java
+++ /dev/null
@@ -1,119 +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.welcome.internal.webbrowser;
-
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Needed for the OLE implementation
- */
-public class BrowserControlSite extends OleControlSite {
-
-	protected boolean beenBuilt = false;
-	protected boolean startedDownload = false;
-	// Web Browser
-	private WebBrowser browser;
-	private String presentationURL;
-	private IStatusLineManager statusLineManager;
-	private int workSoFar = 0;
-	private int prevMax = 0;
-
-	public void setStatusLineManager(IStatusLineManager manager) {
-		this.statusLineManager = manager;
-	}
-
-	void setBrowser(WebBrowser browser) {
-		this.browser = browser;
-	}
-
-	public String getPresentationURL() {
-		return presentationURL;
-	}
-
-	/**
-	 * BrowserControlSite constructor
-	 */
-	public BrowserControlSite(Composite parent, int style, String progId) {
-		super(parent, style, progId);
-
-		addEventListener(WebBrowser.DownloadBegin, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				startedDownload = true;
-				//webProgress.setSelection(0);
-				prevMax = -1;
-			}
-		});
-
-		addEventListener(WebBrowser.DownloadComplete, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				startedDownload = false;
-				//webProgress.setSelection(0);
-				if (statusLineManager != null)
-					statusLineManager.getProgressMonitor().done();
-				presentationURL = browser.getLocationURL();
-			}
-		});
-
-		addEventListener(WebBrowser.BeforeNavigate2, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				//Variant urlVar = event.arguments[1];
-				//String strUrl = urlVar.getString();
-			}
-		});
-
-		// Respond to ProgressChange events by updating the Progress bar
-		addEventListener(WebBrowser.ProgressChange, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				if (!startedDownload) {
-					return;
-				}
-
-				Variant progress = event.arguments[0];
-				Variant maxProgress = event.arguments[1];
-
-				if (progress == null || maxProgress == null || progress.getInt() == -1) {
-					return;
-				}
-				/*
-				if (maxProgress.getInt()!=100)
-				   webProgress.setMaximum(maxProgress.getInt());
-				*/
-				if (prevMax != maxProgress.getInt()) {
-					statusLineManager.getProgressMonitor().beginTask("", maxProgress.getInt());
-					prevMax = maxProgress.getInt();
-				}
-				//webProgress.setSelection(progress.getInt());
-				int newValue = progress.getInt();
-				int worked = newValue - workSoFar;
-				workSoFar = newValue;
-				if (statusLineManager != null)
-					statusLineManager.getProgressMonitor().worked(worked);
-			}
-		});
-
-		addEventListener(WebBrowser.StatusTextChange, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				Variant newText = event.arguments[0];
-				String msg = newText.getString();
-
-				if (msg != null) {
-					if (statusLineManager != null)
-						statusLineManager.setMessage(msg);
-				} else {
-					if (statusLineManager != null)
-						statusLineManager.setMessage("");
-				}
-			}
-		});
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/GlobalActionHandler.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/GlobalActionHandler.java
deleted file mode 100644
index efb3c23..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/GlobalActionHandler.java
+++ /dev/null
@@ -1,154 +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.welcome.internal.webbrowser;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IWorkbenchActionConstants;
-
-/**
- *
- */
-public class GlobalActionHandler {
-	private boolean active = false;
-	private Combo combo;
-	private ControlListener controlListener;
-
-	private class ControlListener implements Listener {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Activate :
-					active = true;
-					updateActionsEnableState();
-					break;
-				case SWT.Deactivate :
-					active = false;
-					updateActionsEnableState();
-					break;
-				default :
-					break;
-			}
-		}
-	}
-
-	private class GlobalAction extends Action {
-		private String id;
-
-		public GlobalAction(String id) {
-			this.id = id;
-		}
-
-		public void run() {
-			doGlobalAction(id);
-		}
-	}
-
-	private GlobalAction cutAction;
-	private GlobalAction copyAction;
-	private GlobalAction pasteAction;
-	private GlobalAction deleteAction;
-	private GlobalAction selectAllAction;
-	private GlobalAction undoAction;
-
-	public GlobalActionHandler(IActionBars actionBar, Combo combo) {
-		this.combo = combo;
-		makeActions();
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.CUT,
-			cutAction);
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.COPY,
-			copyAction);
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.PASTE,
-			pasteAction);
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.DELETE,
-			deleteAction);
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.SELECT_ALL,
-			selectAllAction);
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.UNDO,
-			undoAction);
-		controlListener = new ControlListener();
-		combo.addListener(SWT.Activate, controlListener);
-		combo.addListener(SWT.Deactivate, controlListener);
-	}
-
-	public void dispose() {
-		if (!combo.isDisposed()) {
-			combo.removeListener(SWT.Activate, controlListener);
-			combo.removeListener(SWT.Deactivate, controlListener);
-		}
-	}
-
-	private void makeActions() {
-		cutAction = new GlobalAction(IWorkbenchActionConstants.CUT);
-		copyAction = new GlobalAction(IWorkbenchActionConstants.COPY);
-		pasteAction = new GlobalAction(IWorkbenchActionConstants.PASTE);
-		deleteAction = new GlobalAction(IWorkbenchActionConstants.DELETE);
-		selectAllAction =
-			new GlobalAction(IWorkbenchActionConstants.SELECT_ALL);
-		undoAction = new GlobalAction(IWorkbenchActionConstants.UNDO);
-	}
-
-	private void updateActionsEnableState() {
-		if (!active) {
-			cutAction.setEnabled(false);
-			copyAction.setEnabled(false);
-			pasteAction.setEnabled(false);
-			deleteAction.setEnabled(false);
-			selectAllAction.setEnabled(false);
-			undoAction.setEnabled(false);
-		} else {
-			cutAction.setEnabled(true);
-			copyAction.setEnabled(true);
-			pasteAction.setEnabled(true);
-			deleteAction.setEnabled(true);
-			selectAllAction.setEnabled(true);
-			undoAction.setEnabled(true);
-		}
-	}
-
-	private void doGlobalAction(String id) {
-		if (id.equals(IWorkbenchActionConstants.CUT))
-			combo.cut();
-		else if (id.equals(IWorkbenchActionConstants.COPY))
-			combo.copy();
-		else if (id.equals(IWorkbenchActionConstants.PASTE))
-			combo.paste();
-		else if (id.equals(IWorkbenchActionConstants.DELETE))
-			doDelete();
-		else if (id.equals(IWorkbenchActionConstants.SELECT_ALL))
-			doSelectAll();
-	}
-
-	private void doDelete() {
-		String text = combo.getText();
-		Point selection = combo.getSelection();
-		if (selection.x == selection.y)
-			return;
-		String left = text.substring(0, selection.x);
-		String right = text.substring(selection.y + 1);
-		combo.setText(left + right);
-	}
-
-	private void doSelectAll() {
-		String text = combo.getText();
-		Point newSelection = new Point(0, text.length());
-		combo.setSelection(newSelection);
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IEmbeddedWebBrowser.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IEmbeddedWebBrowser.java
deleted file mode 100644
index 7a914b4..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IEmbeddedWebBrowser.java
+++ /dev/null
@@ -1,16 +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.welcome.internal.webbrowser;
-
-public interface IEmbeddedWebBrowser {
-	public void openTo(String url);
-	public void setListener(IWebBrowserListener listener);
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IWebBrowserListener.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IWebBrowserListener.java
deleted file mode 100644
index 2d34243..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IWebBrowserListener.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Created on Jun 18, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.webbrowser;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface IWebBrowserListener {
-	void stateChanged();
-
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowser.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowser.java
deleted file mode 100644
index 18ec8cf..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowser.java
+++ /dev/null
@@ -1,467 +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.welcome.internal.webbrowser;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * ActiveX based web browser control.
- */
-public class WebBrowser implements OleListener {
-	// Generated from typelib filename: shdocvw.dll
-
-	// Constants for WebBrowser CommandStateChange
-
-	public static final short CSC_UPDATECOMMANDS = -1;
-	public static final short CSC_NAVIGATEFORWARD = 1;
-	public static final short CSC_NAVIGATEBACK = 2;
-
-	// Web Browser Control Events 
-	public static final int BeforeNavigate = 100;
-	// Fired when a new hyperlink is being navigated to.
-	public static final int NavigateComplete = 101;
-	// Fired when the document being navigated to becomes visible and enters the navigation stack.
-	public static final int StatusTextChange = 102;
-	// Statusbar text changed.
-	public static final int ProgressChange = 108;
-	// Fired when download progress is updated.
-	public static final int DownloadComplete = 104;
-	// Download of page complete.
-	public static final int CommandStateChange = 105;
-	// The enabled state of a command changed
-	public static final int DownloadBegin = 106;
-	// Download of a page started.
-	public static final int NewWindow = 107;
-	// Fired when a new window should be created.
-	public static final int TitleChange = 113;
-	// Document title changed.
-	public static final int FrameBeforeNavigate = 200;
-	// Fired when a new hyperlink is being navigated to in a frame.
-	public static final int FrameNavigateComplete = 201;
-	// Fired when a new hyperlink is being navigated to in a frame.
-	public static final int FrameNewWindow = 204;
-	// Fired when a new window should be created.
-	public static final int Quit = 103;
-	// Fired when application is quiting.
-	public static final int WindowMove = 109;
-	// Fired when window has been moved.
-	public static final int WindowResize = 110;
-	// Fired when window has been sized.
-	public static final int WindowActivate = 111;
-	// Fired when window has been activated.
-	public static final int PropertyChange = 112;
-	// Fired when the PutProperty method has been called.
-	public static final int BeforeNavigate2 = 250;
-	// Fired when a new hyperlink is being navigated to.
-	public static final int NewWindow2 = 251;
-	// Fired when a new window should be created.
-	public static final int DocumentComplete = 259;
-	// Fired when the document being navigated to reaches ReadyState_Complete.
-
-	// Web Browser properties
-	public static final int DISPID_READYSTATE = -525;
-
-	// Web Browser state
-	public static final int READYSTATE_UNINITIALIZED = 0;
-	public static final int READYSTATE_LOADING = 1;
-	public static final int READYSTATE_LOADED = 2;
-	public static final int READYSTATE_INTERACTIVE = 3;
-	public static final int READYSTATE_COMPLETE = 4;
-
-	// Keep track of the whether it is possible to navigate in the forward and backward directions
-	private boolean backwardEnabled;
-	private boolean forwardEnabled;
-
-	// The automation object and Control associated with the main OLE control
-	private OleAutomation oleObject;
-	private BrowserControlSite controlSite;
-
-	// The OLE frame (there should only be one)
-	private OleFrame controlFrame;
-
-	//private NestedPrintDelegate aPrintDelegate = null;
-
-	/**
-	 */
-	public WebBrowser(Composite parent) {
-
-		// Create the OLE frame. 
-		controlFrame = createOleFrame(parent);
-
-		// Creates the IE5 OLE Control
-		// The constructor also registers all the necessary OLE listeners.
-		// for now, only catch the execption if creating and activating the 
-		// control fails. No checking if the correct version of the OLE control 
-		// is installed.
-		try {
-			controlSite =
-				new BrowserControlSite(
-					controlFrame,
-					SWT.NONE,
-					"Shell.Explorer");
-			controlSite.setBrowser(this);
-			oleObject = new OleAutomation(controlSite);
-
-			backwardEnabled = false;
-			forwardEnabled = false;
-
-			// Listen for changes to the Command States
-			controlSite.addEventListener(CommandStateChange, this);
-
-			// initialize control
-			controlSite.doVerb(OLE.OLEIVERB_SHOW);
-
-			// create print Delegate (has to be done early, here!).
-			//aPrintDelegate = new NestedPrintDelegate(this, oleObject, controlSite);
-
-		} catch (Exception e) {
-			String id = "org.eclipse.update.ui.win32";
-			IStatus status =
-				new Status(IStatus.ERROR, id, IStatus.OK, e.getMessage(), e);
-			Platform.getPlugin("org.eclipse.core.runtime").getLog().log(status);
-		}
-	}
-	/**
-	 */
-	public int back() {
-
-		if (!backwardEnabled)
-			return OLE.S_FALSE;
-		forwardEnabled = true;
-
-		// dispid=100, type=METHOD, name="GoBack"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 100;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "GoBack" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.invoke(dispIdMember);
-
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return 0;
-		return pVarResult.getInt();
-	}
-	/**
-	 */
-	public int copy() {
-		int result = controlSite.queryStatus(OLE.OLECMDID_COPY);
-		if ((result & OLE.OLECMDF_ENABLED) == OLE.OLECMDF_ENABLED) {
-			result =
-				controlSite.exec(
-					OLE.OLECMDID_COPY,
-					OLE.OLECMDEXECOPT_DODEFAULT,
-					null,
-					null);
-		}
-		return result;
-	}
-	protected OleFrame createOleFrame(Composite parent) {
-		if (controlFrame == null) {
-			controlFrame = new OleFrame(parent, SWT.NONE);
-			controlFrame.setLayoutData(
-				new GridData(
-					GridData.GRAB_HORIZONTAL
-						| GridData.GRAB_VERTICAL
-						| GridData.HORIZONTAL_ALIGN_FILL
-						| GridData.VERTICAL_ALIGN_FILL));
-		}
-		return controlFrame;
-
-	}
-	/**
-	 * clean up
-	 */
-	public void dispose() {
-		//** clean up
-		if (oleObject != null)
-			oleObject.dispose();
-		oleObject = null;
-
-		if (controlSite != null)
-			controlSite.dispose();
-		controlSite = null;
-
-		if (controlFrame != null)
-			controlFrame.dispose();
-		controlFrame = null;
-
-	}
-	/**
-	 */
-	public int forward() {
-		if (!forwardEnabled)
-			return OLE.S_FALSE;
-		backwardEnabled = true;
-		// dispid=101, type=METHOD, name="GoForward"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 101;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "GoForward" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.invoke(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return 0;
-		return pVarResult.getInt();
-	}
-	public Control getControl() {
-		return controlFrame;
-	}
-	/**
-	 */
-	public String getLocationName() {
-		// dispid=210, type=PROPGET, name="LocationName"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 210;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid =
-			oleObject.getIDsOfNames(new String[] { "LocationName" });
-		int dispIdMember = rgdispid[0];
-		Variant pVarResult = oleObject.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return null;
-		return pVarResult.getString();
-	}
-	/**
-	 */
-	public String getLocationURL() {
-		// dispid=211, type=PROPGET, name="LocationURL"
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 211;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid =
-			oleObject.getIDsOfNames(new String[] { "LocationURL" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return null;
-		return pVarResult.getString();
-	}
-	protected OleFrame getOleFrame() {
-		return controlFrame;
-
-	}
-
-	public BrowserControlSite getControlSite() {
-		return controlSite;
-	}
-	/**
-	 */
-	public int getReadyState() {
-		// dispid=4294966771, type=PROPGET, name="ReadyState"
-		// READYSTATE_UNINITIALIZED = 0;
-		// READYSTATE_LOADING = 1;
-		// READYSTATE_LOADED = 2;
-		// READYSTATE_INTERACTIVE = 3;
-		// READYSTATE_COMPLETE = 4;
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = -525;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "ReadyState" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return -1;
-		return pVarResult.getInt();
-	}
-	/**
-	 */
-	public void handleEvent(OleEvent event) {
-		switch (event.type) {
-			case (CommandStateChange) :
-				int command = 0;
-				boolean enabled = false;
-
-				Variant varResult = event.arguments[0];
-				if (varResult != null && varResult.getType() != OLE.VT_EMPTY) {
-					command = varResult.getInt();
-				}
-
-				varResult = event.arguments[1];
-				if (varResult != null && varResult.getType() != OLE.VT_EMPTY) {
-					enabled = varResult.getBoolean();
-				}
-
-				if (command == CSC_NAVIGATEBACK)
-					backwardEnabled = enabled;
-				if (command == CSC_NAVIGATEFORWARD)
-					forwardEnabled = enabled;
-
-				return;
-
-			case (DocumentComplete) :
-				varResult = event.arguments[0];
-				return;
-		}
-		//throw new OleError(OLE.ERROR_NOT_IMPLEMENTED);
-	}
-	/**
-	 */
-	public int home() {
-		// dispid=102, type=METHOD, name="GoHome"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 102;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "GoHome" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.invoke(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return 0;
-		return pVarResult.getInt();
-	}
-	/**
-	 */
-	public int navigate(String url) {
-		return navigate(oleObject, url);
-	}
-	/**
-	 */
-	protected int navigate(OleAutomation aOleAutomation, String url) {
-		//if (Logger.DEBUG)
-		//Logger.logDebugMessage("WebBrowser", "navigate to: " + url);
-		// dispid=104, type=METHOD, name="Navigate"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 104;
-
-		// Alternatively, you can look up the DISPID dynamically
-		// Here we are looking up the id of the argument as well
-		int[] rgdispid =
-			aOleAutomation.getIDsOfNames(new String[] { "Navigate", "URL" });
-		int dispIdMember = rgdispid[0];
-
-		Variant[] rgvarg = new Variant[1];
-		rgvarg[0] = new Variant(url);
-		int[] rgdispidNamedArgs = new int[1];
-		rgdispidNamedArgs[0] = rgdispid[1]; // identifier of argument
-		Variant pVarResult =
-			aOleAutomation.invoke(dispIdMember, rgvarg, rgdispidNamedArgs);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return 0;
-		return pVarResult.getInt();
-
-	}
-	/**
-	 */
-	public int print() {
-		return print(controlSite, true);
-	}
-	/**
-	 */
-	protected int print(BrowserControlSite aControlSite, boolean promptuser) {
-
-		int result = aControlSite.queryStatus(OLE.OLECMDID_PRINT);
-
-		if ((result & OLE.OLECMDF_ENABLED) == OLE.OLECMDF_ENABLED) {
-			if (promptuser)
-				result =
-					aControlSite.exec(
-						OLE.OLECMDID_PRINT,
-						OLE.OLECMDEXECOPT_PROMPTUSER,
-						null,
-						null);
-			else
-				result =
-					aControlSite.exec(
-						OLE.OLECMDID_PRINT,
-						OLE.OLECMDEXECOPT_DONTPROMPTUSER,
-						null,
-						null);
-		}
-
-		//if (Logger.DEBUG)
-		//Logger.logDebugMessage("WebBrowser", "exec returns: " + Integer.toString(result));
-		return result;
-	}
-
-	/**
-	 * Refresh the currently viewed page.
-	 */
-	public void refresh() {
-
-		// dispid= 4294966746, type=METHOD, name="Refresh"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember =  4294966746;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "Refresh" });
-		int dispIdMember = rgdispid[0];
-
-		oleObject.invokeNoReply(dispIdMember);
-	}
-	/**
-	 */
-	public int search() {
-		// dispid=103, type=METHOD, name="GoSearch"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 103;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "GoSearch" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.invoke(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return 0;
-		return pVarResult.getInt();
-	}
-	/**
-	 */
-	public void stop() {
-		// dispid=106, type=METHOD, name="Stop"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 106;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "Stop" });
-		int dispIdMember = rgdispid[0];
-
-		//Variant pVarResult = oleObject.invoke(dispIdMember);
-		oleObject.invoke(dispIdMember);
-	}
-	/**
-	 * Gets the forwardEnabled
-	 * @return Returns a boolean
-	 */
-	public boolean isForwardEnabled() {
-		return forwardEnabled;
-	}
-
-	/**
-	 * Gets the backwardEnabled
-	 * @return Returns a boolean
-	 */
-	public boolean isBackwardEnabled() {
-		return backwardEnabled;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditor.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditor.java
deleted file mode 100644
index 1a7402c..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditor.java
+++ /dev/null
@@ -1,297 +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.welcome.internal.webbrowser;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.welcome.internal.*;
-
-public class WebBrowserEditor extends EditorPart implements IEmbeddedWebBrowser {
-	// NL
-	private static final String KEY_NOT_AVAILABLE =
-		"WebBrowserView.notAvailable";
-	private static final String KEY_ADDRESS = "WebBrowserView.address";
-	private static final String KEY_STOP = "WebBrowserView.stop";
-	private static final String KEY_GO = "WebBrowserView.go";
-	private static final String KEY_REFRESH = "WebBrowserView.refresh";
-	private static final String KEY_BACKWARD = "WebBrowserView.backward";
-	private static final String KEY_FORWARD = "WebBrowserView.forward";
-
-	private int ADDRESS_SIZE = 10;
-	private WebBrowser browser;
-	private Control control;
-	private Combo addressCombo;
-	private Object input;
-	private ToolBarManager toolBarManager;
-	private Action refreshAction;
-	private Action stopAction;
-	private Action goAction;
-	private GlobalActionHandler globalActionHandler;
-	private IWebBrowserListener listener;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorPart#gotoMarker(org.eclipse.core.resources.IMarker)
-	 */
-	public void gotoMarker(IMarker marker) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input)
-		throws PartInitException {
-		if (!(input instanceof WebBrowserEditorInput))
-			throw new PartInitException("Invalid Input: Must be WelcomeEditorInput");
-		setSite(site);
-		setInput(input);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	public WebBrowserEditor() {
-	}
-
-	/**
-	 * @see IFormPage#createControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		Composite container = new Composite(parent, SWT.NULL);
-		control = container;
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.verticalSpacing = 0;
-		container.setLayout(layout);
-
-		Composite navContainer = new Composite(container, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginHeight = 1;
-		navContainer.setLayout(layout);
-		createNavBar(navContainer);
-		navContainer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		final WebBrowser winBrowser = new WebBrowser(container);
-		browser = winBrowser;
-
-		Control c = browser.getControl();
-		c.setLayoutData(new GridData(GridData.FILL_BOTH));
-		final BrowserControlSite site = winBrowser.getControlSite();
-		IStatusLineManager smng =
-			getEditorSite().getActionBars().getStatusLineManager();
-		site.setStatusLineManager(smng);
-
-		site.addEventListener(WebBrowser.DownloadComplete, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				String url = winBrowser.getLocationURL();
-				if (url != null) {
-					addressCombo.setText(url);
-					downloadComplete(url);
-				}
-			}
-		});
-		site.addEventListener(WebBrowser.DownloadBegin, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				stopAction.setEnabled(true);
-				refreshAction.setEnabled(false);
-			}
-		});
-		WorkbenchHelp.setHelp(container, "org.eclipse.update.ui.WebBrowserView");
-		WebBrowserEditorInput input = (WebBrowserEditorInput)getEditorInput();
-		openTo(input.getURL());
-	}
-
-	public void openTo(final String url) {
-		addressCombo.setText(url);
-		control.getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				navigate(url);
-			}
-		});
-	}
-
-	private void downloadComplete(String url) {
-		stopAction.setEnabled(false);
-		refreshAction.setEnabled(true);
-		if (listener!=null)
-			listener.stateChanged();
-	}
-	
-	public void setListener(IWebBrowserListener listener) {
-		this.listener = listener;
-	}
-
-	private void createNavBar(Composite parent) {
-		Label addressLabel = new Label(parent, SWT.NONE);
-		addressLabel.setText(WelcomePortal.getString(KEY_ADDRESS));
-
-		addressCombo = new Combo(parent, SWT.DROP_DOWN | SWT.BORDER);
-		addressCombo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				String text = addressCombo.getText();
-				goAction.setEnabled(text.length() > 0);
-			}
-		});
-		addressCombo.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				String text =
-					addressCombo.getItem(addressCombo.getSelectionIndex());
-				if (text.length() > 0)
-					navigate(text);
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				navigate(addressCombo.getText());
-			}
-		});
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		addressCombo.setLayoutData(gd);
-		ToolBar toolbar = new ToolBar(parent, SWT.FLAT | SWT.HORIZONTAL);
-		toolBarManager = new ToolBarManager(toolbar);
-		makeActions();
-		IActionBars bars = getEditorSite().getActionBars();
-		globalActionHandler = new GlobalActionHandler(bars, addressCombo);
-	}
-
-	private void navigate(String url) {
-		browser.navigate(url);
-		String[] items = addressCombo.getItems();
-		int loc = -1;
-		String normURL = getNormalizedURL(url);
-		for (int i = 0; i < items.length; i++) {
-			String normItem = getNormalizedURL(items[i]);
-			if (normURL.equals(normItem)) {
-				// match 
-				loc = i;
-				break;
-			}
-		}
-		if (loc != -1) {
-			addressCombo.remove(loc);
-		}
-		addressCombo.add(url, 0);
-		if (addressCombo.getItemCount() > ADDRESS_SIZE) {
-			addressCombo.remove(addressCombo.getItemCount() - 1);
-		}
-		addressCombo.getParent().layout(true);
-	}
-	
-	void back() {
-		browser.back();
-	}
-	void forward() {
-		browser.forward();
-	}
-	boolean isBackwardEnabled() {
-		return browser.isBackwardEnabled();
-	}
-	boolean isForwardEnabled() {
-		return browser.isForwardEnabled();
-	}
-
-	private void makeActions() {
-		goAction = new Action() {
-			public void run() {
-				navigate(addressCombo.getText());
-			}
-		};
-		goAction.setEnabled(false);
-		goAction.setToolTipText(WelcomePortal.getString(KEY_GO));
-		goAction.setImageDescriptor(WelcomePortalImages.DESC_GO_NAV);
-		goAction.setDisabledImageDescriptor(WelcomePortalImages.DESC_GO_NAV_D);
-		goAction.setHoverImageDescriptor(WelcomePortalImages.DESC_GO_NAV_H);
-
-		stopAction = new Action() {
-			public void run() {
-				browser.stop();
-			}
-		};
-		stopAction.setToolTipText(WelcomePortal.getString(KEY_STOP));
-		stopAction.setImageDescriptor(WelcomePortalImages.DESC_STOP_NAV);
-		stopAction.setDisabledImageDescriptor(
-			WelcomePortalImages.DESC_STOP_NAV_D);
-		stopAction.setHoverImageDescriptor(
-			WelcomePortalImages.DESC_STOP_NAV_H);
-		stopAction.setEnabled(false);
-
-		refreshAction = new Action() {
-			public void run() {
-				browser.refresh();
-			}
-		};
-		refreshAction.setToolTipText(
-			WelcomePortal.getString(KEY_REFRESH));
-		refreshAction.setImageDescriptor(WelcomePortalImages.DESC_REFRESH_NAV);
-		refreshAction.setDisabledImageDescriptor(
-			WelcomePortalImages.DESC_REFRESH_NAV_D);
-		refreshAction.setHoverImageDescriptor(
-			WelcomePortalImages.DESC_REFRESH_NAV_H);
-		refreshAction.setEnabled(false);
-
-		toolBarManager.add(goAction);
-		toolBarManager.add(new Separator());
-		toolBarManager.add(stopAction);
-		toolBarManager.add(refreshAction);
-		toolBarManager.update(true);
-	}
-
-	private String getNormalizedURL(String url) {
-		url = url.toLowerCase();
-		if (url.indexOf("://") == -1) {
-			url = "http://" + url;
-		}
-		return url;
-	}
-
-	public void dispose() {
-		if (browser != null)
-			browser.dispose();
-		globalActionHandler.dispose();
-		super.dispose();
-	}
-
-	public void setFocus() {
-		if (control != null)
-			control.setFocus();
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorContributor.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorContributor.java
deleted file mode 100644
index 54b9039..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorContributor.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Created on Jun 18, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.webbrowser;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.welcome.internal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WebBrowserEditorContributor
-	extends EditorActionBarContributor
-	implements IWebBrowserListener {
-	private static final String KEY_NOT_AVAILABLE =
-		"WebBrowserView.notAvailable";
-	private static final String KEY_HOME = "WebBrowserView.home";
-	private static final String KEY_BACKWARD = "WebBrowserView.backward";
-	private static final String KEY_FORWARD = "WebBrowserView.forward";
-
-	private Action homeAction;
-	private Action backwardAction;
-	private Action forwardAction;
-	private WebBrowserEditor editor;
-	
-	public WebBrowserEditorContributor() {
-		makeActions();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.IWebBrowserListener#stateChanged()
-	 */
-	public void stateChanged() {
-		updateActions();
-	}
-
-	private void makeActions() {
-		homeAction = new Action() {
-			public void run() {
-				WebBrowserEditorInput input = (WebBrowserEditorInput)editor.getEditorInput();
-				editor.openTo(input.getURL());
-			}
-		};
-		homeAction.setEnabled(true);
-		homeAction.setToolTipText(WelcomePortal.getString(KEY_HOME));
-		homeAction.setImageDescriptor(
-			WelcomePortalImages.DESC_HOME_NAV);
-		homeAction.setDisabledImageDescriptor(
-			WelcomePortalImages.DESC_HOME_NAV_D);
-		homeAction.setHoverImageDescriptor(
-			WelcomePortalImages.DESC_HOME_NAV_H);
-
-
-		backwardAction = new Action() {
-			public void run() {
-				editor.back();
-			}
-		};
-		backwardAction.setEnabled(false);
-		backwardAction.setToolTipText(WelcomePortal.getString(KEY_BACKWARD));
-		backwardAction.setImageDescriptor(
-			WelcomePortalImages.DESC_BACKWARD_NAV);
-		backwardAction.setDisabledImageDescriptor(
-			WelcomePortalImages.DESC_BACKWARD_NAV_D);
-		backwardAction.setHoverImageDescriptor(
-			WelcomePortalImages.DESC_BACKWARD_NAV_H);
-
-		forwardAction = new Action() {
-			public void run() {
-				editor.forward();
-			}
-		};
-		forwardAction.setToolTipText(WelcomePortal.getString(KEY_FORWARD));
-		forwardAction.setImageDescriptor(WelcomePortalImages.DESC_FORWARD_NAV);
-		forwardAction.setDisabledImageDescriptor(
-			WelcomePortalImages.DESC_FORWARD_NAV_D);
-		forwardAction.setHoverImageDescriptor(
-			WelcomePortalImages.DESC_FORWARD_NAV_H);
-		forwardAction.setEnabled(false);
-	}
-
-	public void contributeToToolBar(IToolBarManager toolBarManager) {
-		toolBarManager.add(new Separator());
-		toolBarManager.add(homeAction);
-		toolBarManager.add(backwardAction);
-		toolBarManager.add(forwardAction);
-	}
-	public void setActiveEditor(IEditorPart targetEditor) {
-		if (this.editor != null)
-			this.editor.setListener(null);
-		editor = (WebBrowserEditor) targetEditor;
-		if (editor != null) {
-			editor.setListener(this);
-			updateActions();
-		}
-	}
-	private void updateActions() {
-		backwardAction.setEnabled(editor.isBackwardEnabled());
-		forwardAction.setEnabled(editor.isForwardEnabled());
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInput.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInput.java
deleted file mode 100644
index a89e087..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInput.java
+++ /dev/null
@@ -1,67 +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.welcome.internal.webbrowser;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-/**
- * A simple editor input for the welcome editor
- */
-public class WebBrowserEditorInput implements IEditorInput {
-	private final static String FACTORY_ID = "org.eclipse.welcome.internal.webbrowser.WebBrowserEditorInputFactory"; //$NON-NLS-1$
-	private String url;
-	private String name;
-	/**
-	 * WelcomeEditorInput constructor comment.
-	 */
-	public WebBrowserEditorInput(String name, String url) {
-		this.name = name;
-		this.url = url;
-	}
-	public boolean exists() {
-		return false;
-	}
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-	public String getName() {
-		return name;
-	}
-	public String getURL() {
-		return url;
-	}
-	public boolean equals(Object obj) {
-		if (obj==null) return false;
-		if (obj == this) return true;
-		if (obj instanceof WebBrowserEditorInput) {
-			WebBrowserEditorInput wobj = (WebBrowserEditorInput)obj;
-			return wobj.getURL().equals(getURL());
-		}
-		return false;
-	}
-	public IPersistableElement getPersistable() {
-		return new IPersistableElement() {
-			public String getFactoryId() {
-				return FACTORY_ID;
-			}
-			public void saveState(IMemento memento) {
-				memento.putString("name", name);
-				memento.putString("url", url);
-			}
-		};
-	}
-	public String getToolTipText() {
-		return name;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInputFactory.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInputFactory.java
deleted file mode 100644
index a48055f..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInputFactory.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.welcome.internal.webbrowser;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IElementFactory;
-
-/**
- */
-public class WebBrowserEditorInputFactory implements IElementFactory {
-	/**
-	 */
-	public WebBrowserEditorInputFactory() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IElementFactory#createElement(org.eclipse.ui.IMemento)
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		String name = memento.getString("name");
-		String url = memento.getString("url");
-		return new WebBrowserEditorInput(name, url);
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
index 974bca1..d6749e2 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
@@ -274,10 +274,7 @@
 ModeSelectionPage.title=Feature Updates

 ModeSelectionPage.desc=Choose the way you want to search for features to install

 ModeSelectionPage.updates=Search for &updates of the currently installed features

-ModeSelectionPage.updatesText=Select this option if you want to search for updates of the features you already have installed.

 ModeSelectionPage.newFeatures=&Search for new features to install

-ModeSelectionPage.newFeaturesText=Select this option if you want to install new features from existing or new update sites. \

-Some sites may already be available. You can add new update site URLs to the search. 

 

 MoreInfoGenerator.notInstalled=not installed

 MoreInfoGenerator.all=all

@@ -351,7 +348,7 @@
 InstallWizard.LicensePage.up=&Previous License

 

 InstallWizard.TargetPage.title = Installation

-InstallWizard.TargetPage.desc = The following features will be installed. You can select a feature and change the location where the feature will be installed.

+InstallWizard.TargetPage.desc = The following features will be install. You can select a feature and change the location where the feature will be installed.

 InstallWizard.TargetPage.jobsLabel = Features to &install:

 InstallWizard.TargetPage.siteLabel = A&vailable installation locations:

 InstallWizard.TargetPage.new = &Add Location...

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
index 59c121b..491221c 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
@@ -14,13 +14,12 @@
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.layout.*;
+import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
+import org.eclipse.ui.help.*;
 import org.eclipse.update.internal.operations.UpdateUtils;
 import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.search.UpdateSearchRequest;
+import org.eclipse.update.search.*;
 
 /**
  */
@@ -69,20 +68,11 @@
 		updatesButton.setText(UpdateUI.getString("ModeSelectionPage.updates")); //$NON-NLS-1$
 		boolean newFeaturesMode = getSettings().getBoolean(P_NEW_FEATURES_MODE);
 		updatesButton.setSelection(!newFeaturesMode);
-		
-		final Label updatesText = new Label(composite, SWT.WRAP);
-		updatesText.setText(UpdateUI.getString("ModeSelectionPage.updatesText"));
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 100;
-		updatesText.setLayoutData(gd);
-		
 		updatesButton.addSelectionListener(new SelectionAdapter() {
 			public void widgetSelected(SelectionEvent e) {
 				switchMode();
 			}
 		});
-		// spacer
-		new Label(composite, SWT.NULL);
 		newFeaturesButton = new Button(composite, SWT.RADIO);
 		newFeaturesButton.setSelection(newFeaturesMode);
 		newFeaturesButton.setText(UpdateUI.getString("ModeSelectionPage.newFeatures")); //$NON-NLS-1$
@@ -90,25 +80,7 @@
 			public void widgetSelected(SelectionEvent e) {
 				switchMode();
 			}
-		});
-		final Label newFeaturesText = new Label(composite, SWT.WRAP);
-		newFeaturesText.setText(UpdateUI.getString("ModeSelectionPage.newFeaturesText"));
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 100;
-		newFeaturesText.setLayoutData(gd);
-
-		/*
-		composite.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				Composite parent = (Composite)e.widget;
-				Rectangle carea = parent.getClientArea();
-				GridData gd = (GridData)updatesText.getLayoutData();
-				gd.widthHint = carea.width; 
-				gd = (GridData)newFeaturesText.getLayoutData();
-				gd.widthHint = carea.width; 
-			}
-		});
-		*/
+		});		
 		switchMode();
 		
 		Dialog.applyDialogFont(parent);
diff --git a/update/org.eclipse.update/.classpath b/update/org.eclipse.update/.classpath
deleted file mode 100644
index f12531d..0000000
--- a/update/org.eclipse.update/.classpath
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.core.boot/boot.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.boot/bootsrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime/runtime.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.runtime/runtimesrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.swt/swt.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.swt/swtsrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.ui/workbench.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.ui/workbenchsrc.zip"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.webdav/webdav.jar"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update/.cvsignore b/update/org.eclipse.update/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update/.project b/update/org.eclipse.update/.project
deleted file mode 100644
index 7560f76..0000000
--- a/update/org.eclipse.update/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.update</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update/.vcm_meta b/update/org.eclipse.update/.vcm_meta
deleted file mode 100644
index 7655f8d..0000000
--- a/update/org.eclipse.update/.vcm_meta
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<comment></comment>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-</project-description>