diff --git a/.project b/.project
deleted file mode 100644
index 3ba0b83..0000000
--- a/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.datatools.build</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.birt.dtp.nl.feature/.project b/features/org.eclipse.birt.dtp.nl.feature/.project
deleted file mode 100644
index 62dc530..0000000
--- a/features/org.eclipse.birt.dtp.nl.feature/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.birt.dtp.nl.feature</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>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.birt.dtp.nl.feature/build.properties b/features/org.eclipse.birt.dtp.nl.feature/build.properties
deleted file mode 100644
index 60e19e5..0000000
--- a/features/org.eclipse.birt.dtp.nl.feature/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-bin.includes = eclipse_update_120.jpg,\
-               epl-v10.html,\
-               feature.properties,\
-               feature.xml,\
-               license.html
diff --git a/features/org.eclipse.birt.dtp.nl.feature/eclipse_update_120.jpg b/features/org.eclipse.birt.dtp.nl.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.birt.dtp.nl.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.birt.dtp.nl.feature/epl-v10.html b/features/org.eclipse.birt.dtp.nl.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.birt.dtp.nl.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.birt.dtp.nl.feature/feature.properties b/features/org.eclipse.birt.dtp.nl.feature/feature.properties
deleted file mode 100644
index 2d6d622..0000000
--- a/features/org.eclipse.birt.dtp.nl.feature/feature.properties
+++ /dev/null
@@ -1,129 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials 
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     Actuate 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 Language Pack Project
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Business Intellegence and Reporting Tool (BIRT) Updates
-
-# "description" property - description of the feature
-description=Eclipse Business Intelligence and Reporting Tools (BIRT) Report Designer Plug-ins,  Runtime and user documentation.
-
-# "copyright" property
-copyrightURL=http://www.eclipse.org/birt
-copyright=(c) Copyright Eclipse Contributors and others 2004, 2007. All rights reserved.\n
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-January 28, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
-For purposes of the EPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.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 the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE 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\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/features/org.eclipse.birt.dtp.nl.feature/feature.xml b/features/org.eclipse.birt.dtp.nl.feature/feature.xml
deleted file mode 100644
index e728fb8..0000000
--- a/features/org.eclipse.birt.dtp.nl.feature/feature.xml
+++ /dev/null
@@ -1,650 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.birt.dtp.nl"
-      label="%featureName"
-      version="2.5.0.qualifier"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description url="http://www.eclipse.org/birt">
-      %description
-   </description>
-
-   <copyright url="%copyrightURL">
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="Business Intelligence and Reporting Tools (BIRT) Updates" url="http://download.eclipse.org/birt/update-site/2.3"/>
-      <discovery label="%updateSiteName" url="http://download.eclipse.org/birt/update-site/2.3"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.oda.consumer.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.oda.design.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.oda.design.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.oda.flatfile.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.oda.flatfile.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.oda.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.oda.profile.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.ui.dse.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.oda.template.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.oda.xml.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.oda.xml.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.oda.ws.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.oda.ws.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.apache.derby.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.apache.derby.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.apache.derby.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.db.generic.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.db.generic.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.dbdefinition.genericJDBC.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.sqm.core.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.sqm.core.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.sqm.server.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.connectivity.console.profile.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.common.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.db.derby.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.db.generic.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.editor.core.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.parsers.sql.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.parsers.sql.query.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.plan.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.result.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.sql.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.sqlbuilder.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.sqltools.sqleditor.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.hsqldb.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.hsqldb.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.hsqldb.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.db2.iseries.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.db2.iseries.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.db2.iseries.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.db2.luw.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.db2.luw.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.db2.zseries.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.db2.zseries.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.db2.zseries.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.informix.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.informix.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.informix.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.ibm.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.msft.sqlserver.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.msft.sqlserver.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.mysql.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.mysql.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.mysql.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.oracle.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.oracle.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.oracle.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.postgresql.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.postgresql.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.sap.maxdb.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.sap.maxdb.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.sap.maxdb.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.sybase.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.sybase.ui.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.sybase.asa.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.sybase.asa.models.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.enablement.sybase.ase.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.modelbase.dbdefinition.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.modelbase.derby.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.modelbase.sql.edit.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.modelbase.sql.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.modelbase.sql.query.edit.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.modelbase.sql.query.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.datatools.modelbase.sql.xml.query.nl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-</feature>
diff --git a/features/org.eclipse.birt.dtp.nl.feature/license.html b/features/org.eclipse.birt.dtp.nl.feature/license.html
deleted file mode 100644
index 3259fb9..0000000
--- a/features/org.eclipse.birt.dtp.nl.feature/license.html
+++ /dev/null
@@ -1,73 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>January 28, 2005</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<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 the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-</body>
-</html>
diff --git a/plugins/org.eclipse.datatools.releng.builder/.project b/plugins/org.eclipse.datatools.releng.builder/.project
deleted file mode 100644
index f89d070..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.datatools.releng.builder</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.datatools.releng.builder/about.html b/plugins/org.eclipse.datatools.releng.builder/about.html
deleted file mode 100755
index 4602330..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>June 2, 2006</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.releng.builder/bootstrap.sh b/plugins/org.eclipse.datatools.releng.builder/bootstrap.sh
deleted file mode 100644
index 3da201d..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/bootstrap.sh
+++ /dev/null
@@ -1,241 +0,0 @@
-# User specific environment and startup programs
-umask 002
-
-BASE_PATH=.:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:/usr/bin:/usr/X11R6/bin
-LD_LIBRARY_PATH=.
-BASH_ENV=$HOME/.bashrc
-USERNAME=`whoami`
-xhost +$HOSTNAME
-DISPLAY=:0.0
-export DISPLAY
-
-CVS_RSH=ssh
-ulimit -c unlimited
-export CVS_RSH USERNAME BASH_ENV LD_LIBRARY_PATH DISPLAY
-
-if [ "x"$ANT_HOME = "x" ]; then export ANT_HOME=/usr/local/apache-ant-1.6.5; fi
-if [ "x"$JAVA_HOME = "x" ]; then export JAVA_HOME=/usr/local/j2sdk1.4.2_13; fi
-export PATH=${PATH}:${ANT_HOME}/bin:/usr/local/bin
-
-proc=$$
-
-#notification list
-recipients=
-
-#sets skip.performance.tests Ant property
-skipPerf=""
-
-#sets skip.tests Ant property
-skipTest=""
-
-#sets sign Ant property
-sign=""
-
-tagMaps=""
-
-#sets fetchTag="HEAD" for nightly builds if required
-tag=""
-
-#buildProjectTags=v20060524
-buildProjectTags=v20060529
-
-#updateSite property setting
-updateSite=""
-
-#flag indicating whether or not mail should be sent to indicate build has started
-mail=""
-
-#flag used to build based on changes in map files
-compareMaps=""
-
-#buildId - build name
-buildId=""
-
-#buildLabel - name parsed in php scripts <buildType>-<buildId>-<datestamp>
-buildLabel=""
-
-# tag for build contribution project containing .map files
-mapVersionTag=HEAD
-
-# directory in which to export builder projects
-builderDir=/home/adb/releng.dtp/org.eclipse.datatools.releng.builder/
-
-# buildtype determines whether map file tags are used as entered or are replaced with HEAD
-buildType=I
-
-# directory where to copy build
-postingDirectory=/home/adb/releng/BIRTOutput/dtp.output/1.6
-
-# flag to indicate if test build
-testBuild=""
-
-# path to javadoc executable
-javadoc=""
-
-# value used in buildLabel and for text replacement in index.php template file
-builddate=`date +%Y%m%d`
-buildtime=`date +%H%M`
-
-buildinfoDate=`date +%F%t%H:%M:%S`
-buildinfounivDate=`date +%c%z`
-
-timestamp=$builddate$buildtime
-
-echo "======[builddate]: $builddate " > adb.log
-echo "======[buildtime]: $buildtime " >> adb.log
-echo "======[timestamp]: $timestamp " >> adb.log
-
-# process command line arguments
-usage="usage: $0 [-notify emailaddresses][-test][-buildDirectory directory][-buildId name][-buildLabel directory name][-tagMapFiles][-mapVersionTag tag][-builderTag tag][-bootclasspath path][-compareMaps][-skipPerf] [-skipTest][-updateSite site][-sign] M|N|I|S|R"
-
-if [ $# -lt 1 ]
-then
-		 echo >&2 "$usage"
-		 exit 1
-fi
-
-while [ $# -gt 0 ]
-do
-		 case "$1" in
-		 		 -buildId) buildId="$2"; shift;;
-		 		 -buildLabel) buildLabel="$2"; shift;;
-		 		 -mapVersionTag) mapVersionTag="$2"; shift;;
-		 		 -tagMapFiles) tagMaps="-DtagMaps=true";;
-		 		 -skipPerf) skipPerf="-Dskip.performance.tests=true";;
-		 		 -skipTest) skipTest="-Dskip.tests=true";;
-		 		 -buildDirectory) builderDir="$2"; shift;;
-		 		 -notify) recipients="$2"; shift;;
-		 		 -test) postingDirectory="/builds/transfer/files/bogus/downloads/drops";testBuild="-Dtest=true";;
-		 		 -builderTag) buildProjectTags="$2"; shift;;
-		 		 -compareMaps) compareMaps="-DcompareMaps=true";;
-		 		 -updateSite) updateSite="-DupdateSite=$2";shift;;
-		 		 -sign) sign="-Dsign=true";;
-		 		 -*)
-		 		 		 echo >&2 $usage
-		 		 		 exit 1;;
-		 		 *) break;;		 # terminate while loop
-		 esac
-		 shift
-done
-
-# After the above the build type is left in $1.
-buildType=$1
-echo "======[buildType]: $buildType " >> adb.log
-
-# Set default buildId and buildLabel if none explicitly set
-if [ "$buildId" = "" ]
-then
-		 #buildId=$buildType$builddate-$buildtime
-		 buildId=v$builddate-$buildtime
-fi
-
-if [ "$buildLabel" = "" ]
-then
-		 buildLabel=$buildId
-fi
-echo "======[buildId]: $buildId " >> adb.log
-
-#Set the tag to HEAD for Nightly builds
-if [ "$buildType" = "N" ]
-then
-        tag="-DfetchTag=HEAD"
-        versionQualifier="-DforceContextQualifier=$buildId"
-fi
-
-echo "======[tag]: $tag" >> adb.log
-echo "======[versionQualifier]: $versionQualifier" >> adb.log
-
-# tag for eclipseInternalBuildTools on ottcvs1
-internalToolsTag=$buildProjectTags
-echo "======[internalToolsTag]: $internalToolsTag" >> adb.log
-
-# tag for exporting org.eclipse.releng.basebuilder
-baseBuilderTag=$buildProjectTags
-echo "======[baseBuilderTag]: $baseBuilderTag" >> adb.log
-
-# tag for exporting the custom builder
-customBuilderTag=$buildProjectTags
-echo "======[customBuilderTag]: $customBuilderTag" >> adb.log
-
-#if [ -e $builderDir ]
-#then
-#	 builderDir=$builderDir$timestamp
-#fi
-
-# directory where features and plugins will be compiled
-buildDirectory=/home/adb/releng.dtp/BIRT_Build_Dir
-
-echo "======[buildDirectory]: $buildDirectory" >> adb.log
-
-mkdir $builderDir
-cd $builderDir
-
-
-
-mkdir -p $postingDirectory/$buildLabel
-chmod -R 755 $builderDir
-
-#default value of the bootclasspath attribute used in ant javac calls.  
-bootclasspath="/usr/local/j2sdk1.4.2_13/jre/lib/rt.jar:/usr/local/j2sdk1.4.2_13/jre/lib/jsse.jar:/usr/local/j2sdk1.4.2_13/jre/lib/jce.jar"
-#bootclasspath="/usr/local/j2sdk1.4.2_13/jre/lib/rt.jar:/usr/local/j2sdk1.4.2_13/jre/lib/jsse.jar"
-bootclasspath_15="/usr/local/jdk1.5.0_02/jre/lib/rt.jar:/usr/local/jdk1.5.0_02/jre/lib/jce.jar"
-jvm15_home="/usr/local/jdk1.5.0_02"
-
-cd /home/adb/releng.dtp/org.eclipse.datatools.releng.builder
-
-echo buildId=$buildId >> monitor.properties 
-echo timestamp=$timestamp >> monitor.properties 
-echo buildLabel=$buildLabel >> monitor.properties 
-echo recipients=$recipients >> monitor.properties
-echo log=$postingDirectory/$buildLabel/index.php >> monitor.properties
-
-#the base command used to run AntRunner headless
-antRunner="/usr/local/j2sdk1.4.2_13/bin/java -Xmx500m -jar ../org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar -Dosgi.os=linux -Dosgi.ws=gtk -Dosgi.arch=ppc -application org.eclipse.ant.core.antRunner"
-
-echo "==========[antRunner]: $antRunner" >> adb.log
-
-
-#/home/adb/releng.dtp/BIRTBuilder/replaceBuildInfo.sh $buildinfoDate $buildinfounivDate
-
-#clean drop directories
-
-#full command with args
-#buildId=v20080325-0953
-echo $tagMaps >> adb.log
-echo $compareMaps >> adb.log
-
-
-cp /home/adb/releng.dtp/dtpURLmonitor.properties /home/adb/releng.230/src/
-
-buildCommand="$antRunner -q -buildfile buildAll.xml $mail $testBuild $compareMaps \
--DmapVersionTag=$mapVersionTag -DpostingDirectory=$postingDirectory \
--Dbootclasspath=$bootclasspath -DbuildType=$buildType -D$buildType=true \
--DbuildId=$buildId -Dbuildid=$buildId -DbuildLabel=$buildId -Dtimestamp=$timestamp $skipPerf $skipTest $tagMaps \
--DJ2SE-1.5=$bootclasspath_15  -DlogExtension=.xml $javadoc $updateSite $sign  \
--Djava15-home=$bootclasspath_15 -DbuildDirectory=/home/adb/releng.dtp/src \
--DbaseLocation=/home/adb/releng.dtp/baseLocation -Dwtp.home=/home/adb/releng.dtp/baseLocation \
--DgroupConfiguration=true -DjavacVerbose=true \
--Dbasebuilder=/home/adb/releng.dtp/org.eclipse.releng.basebuilder  \
--Djvm15_home=$jvm15_home  -DmapTag.properties=/home/adb/releng.dtp/org.eclipse.datatools.releng.builder/mapTag.properties \
--Dbuild.date=$builddate -Dpackage.version=1.6RC4-$timestamp \
--DmapCvsRoot=:ext:xgu@dev.eclipse.org:/cvsroot/datatools \
--DmapVersionTag=HEAD -DjavacTarget=1.4 -DjavacSource=1.4"
-
-#skipPreBuild
-
-#capture command used to run the build
-echo $buildCommand>command.txt
-
-#run the build
-$buildCommand >> adb.log
-#retCode=$?
-#
-#if [ $retCode != 0 ]
-#then
-#        echo "Build failed (error code $retCode)."
-#        exit -1
-#fi
-
-#clean up
-#rm -rf $builderDir
-rm -rf /home/adb/releng.dtp/src/$buildId
diff --git a/plugins/org.eclipse.datatools.releng.builder/build.properties b/plugins/org.eclipse.datatools.releng.builder/build.properties
deleted file mode 100644
index 1d1d472..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/build.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-
-############# JAVA COMPILER OPTIONS ##############
-# The location of the Java jars to compile against.  Typically the rt.jar for your JDK/JRE
-bootclasspath=${java.home}/lib/rt.jar
-
-# specific JRE locations to compile against. These values are used to compile bundles specifying a
-# Bundle-RequiredExecutionEnvironment. Uncomment and set values for environments that you support
-#CDC-1.0/Foundation-1.0= /path/to/rt.jar
-#CDC-1.1/Foundation-1.1=
-#OSGi/Minimum-1.0=
-#OSGi/Minimum-1.1=
-#JRE-1.1=
-#J2SE-1.2=
-#J2SE-1.3=
-#J2SE-1.4=
-#J2SE-1.5=
-#PersonalJava-1.1=
-#PersonalJava-1.2=
-#CDC-1.0/PersonalBasis-1.0=
-#CDC-1.0/PersonalJava-1.0=
-#CDC-1.1/PersonalBasis-1.1=
-#CDC-1.1/PersonalJava-1.1=
-
-
-# Whether or not to include debug info in the output jars
-javacDebugInfo=false
-
-# Whether or not to fail the build if there are compiler errors
-javacFailOnError=false
-
-# Enable or disable verbose mode of the compiler
-javacVerbose=true
-
-# Extra arguments for the compiler. These are specific to the java compiler being used.
-#compilerArg=
-
-# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties
-#javacSource=1.3
-
-# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties.
-#javacTarget=1.1
-
-buildDirectory=/home/adb/releng.dtp.171/src
-
-postingDirectory=/home/adb/releng/BIRTOutput/dtp.output/1.7.1
-
-baseLocation=/home/adb/releng.dtp.171/baseLocation
-
-eclipse.pdebuild.scripts=/home/adb/releng.dtp.171/org.eclipse.releng.basebuilder/plugins/org.eclipse.pde.build/scripts
-
-eclipse.pdebuild.templates=/home/adb/releng.dtp.171/src/org.eclipse.releng.basebuilder/plugins/org.eclipse.pde.build/templates
-
-eclipse.pdebuild.home=/home/adb/releng.dtp.171/org.eclipse.releng.basebuilder
-
-
diff --git a/plugins/org.eclipse.datatools.releng.builder/build.xml b/plugins/org.eclipse.datatools.releng.builder/build.xml
deleted file mode 100644
index b61f47e..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/build.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<project default="main">
-        <target name="init">
-                <touch file="${user.home}/.cvspass" />
-                <available file="${buildDirectory}/label.properties" property="label.properties.exists" />
-                <antcall target="create.label.properties" />
-                <property file="${buildDirectory}/label.properties" />
-                <!--fetch the HEAD stream of all projects if build type specified as N-->
-                <condition property="fetchTag" value="HEAD">
-                        <equals arg1="${buildType}" arg2="N" />
-                </condition>
-                <!--
-                <condition property="forceContextQualifier" value="${buildId}">
-                        <equals arg1="${buildType}" arg2="N" />
-                </condition>
-                        -->
-
-                <!--Default values for required properties-->
-                <property name="buildDirectory" value="${basedir}/src" />
-
-                <!--compiler args-->
-                <property name="compilerArg" value="-enableJavadoc -encoding ISO-8859-1 -warn:-discouraged,forbidden" />
-                <property name="javacSource" value="1.4" />
-                <property name="javacTarget" value="1.4" />
-                <property name="javacDebugInfo" value="true" />
-                <property name="javacFailOnError" value="false" />
-                <property name="javacVerbose" value="true" />
-                <!--this property required as of Eclipse 3.0 stream builds > 20031126 -->
-                <property name="buildingOSGi" value="true" />
-                <!--zip args-->
-                <property name="zipargs" value="-y -qq" />
-                <!--unzip args-->
-                <property name="unzipArgs" value="-qq" />
-
-        </target>
-
-        <target name="main" depends="init">
-                <property name="component" value="${basedir}/eclipse/buildConfigs/birt" />
-                <!--run the build for the specified component-->
-                <ant antfile="build.xml" dir="${eclipse.pdebuild.scripts}">
-                        <property name="builder" value="${component}" />
-                </ant>
-        </target>
-
-        <target name="create.label.properties" unless="label.properties.exists">
-                <mkdir dir="${buildDirectory}" />
-                <tstamp/>
-                <property name="date" value="${DSTAMP}" />
-                <property name="time" value="${TSTAMP}" />
-                <property name="timestamp" value="${date}-${time}" />
-                <property name="buildType" value="I" />
-                <property name="buildId" value="${buildType}${timestamp}" />
-
-                <!--this naming convention used by php scripts on download server-->
-                <property name="buildLabel" value="${buildId}" />
-
-                <!--store the build label information in a file-->
-                <echo file="${buildDirectory}/label.properties">
-                        timestamp=${timestamp}
-                        buildType=${buildType}
-                        buildId=${buildId}
-                        buildLabel=${buildLabel}
-                </echo>
-        </target>
-
-</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.datatools.releng.builder/buildAll.xml b/plugins/org.eclipse.datatools.releng.builder/buildAll.xml
deleted file mode 100644
index 8821eeb..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/buildAll.xml
+++ /dev/null
@@ -1,494 +0,0 @@
-<project default="main">
-
-	<!--
-		Steps
-	 	Ant properties available at runtime: 
-	
-	 - eclipse.pdebuild.scripts: the org.eclipse.eclipse.pdebuild.scripts folder
-	 - eclipse.pdebuild.home: the root folder of pde build
-	 - eclipse.pdebuild.templates: the  templates folder
-	
-	-->
-
-	<!--build monitoring information:  e-mail, smtp server, build label-->
-	<property file="monitor.properties"/>
-	
-	<!--location of PDE Build configuration files for builder and packager-->
-	<property name="eclipse.build.configs" value="${basedir}/eclipse/buildConfigs" />
-	
-	<property name="sdkHelper" location="${eclipse.build.configs}/eclipse/helper.xml"/>
-	<property name="base.builder" value="${basedir}/../BaseBuilder" />
-	
-	<!--location of properties file containing last tag used for integration build-->
-	<property name="mapTag.properties" value="/home/users/releng/buildTools/eclipse33/mapTag.properties"/>
-	
-	<!--location of properties file containing last performance reference test information-->
-	<property name="ref.properties" value="/home/users/releng/buildTools/eclipse.perf/ref33.properties"/>
-	
-	<!--location of test update site-->
-	<property file="${ref.properties}"/>
-	
-	<!--default buildDirectory-->
-	<property name="buildDirectory" value="${basedir}/../src" />
-	
-	<!--default location for build output, parent to ${buildId}-->
-	<property name="postingDirectory" value="${buildDirectory}" />
-
-    <!--remote sign machine login infomation-->
-    <property name="username.sign" value="" />
-    <property name="password.sign" value="" />
-    <property name="hostname.sign" value="" />
-    <property name="home.dir" value="" />
-    <property name="sign.dir" value="" />
-
-    <target name="main" depends="init">
-		<antcall target="buildDtpSdkAllFeature"/>
-		<antcall target="buildDtpEnablementAllFeature"/>
-		<antcall target="buildDtpIncubationAllFeature"/>
-		<ant antfile="${eclipse.build.configs}/../helper.xml" target="verifyCompile" />
-		<antcall target="integrateDtpFeatures"/>
-        <antcall target="Package"/>
-        <antcall target="GenerateUpdateSite"/>
-
-	</target>
-
-	<target name="init">
-		<ant antfile="build.xml" target="init" />
-		<property file="${buildDirectory}/label.properties" />
-		
-		<condition property="fetchTag" value="HEAD">
-			<equals arg1="${buildType}" arg2="N" />
-		</condition>
-		<condition property="forceContextQualifier" value="${buildId}">
-			<equals arg1="${buildType}" arg2="N" />
-		</condition>
-		<condition property="generateFeatureVersionSuffix" value="false">
-			<equals arg1="${buildType}" arg2="N" />
-		</condition>
-		<!--compiler args-->
-		<property name="compilerArg" value="-enableJavadoc -encoding utf-8 -warn:-discouraged,forbidden" />
-		<property name="javacSource" value="1.5" />
-		<property name="javacTarget" value="1.5" />
-		<property name="javacDebugInfo" value="true" />
-		<property name="javacFailOnError" value="true" />
-		<property name="javacVerbose" value="false" />
-		<property name="logExtension" value=".xml" />
-		<!--this property required as of Eclipse 3.0 stream builds > 20031126 -->
-		<property name="buildingOSGi" value="true" />
-		<!--zip args-->
-		<property name="zipargs" value="-y -qq" />
-		<!--unzip args-->
-		<property name="unzipArgs" value="-qq" />
-	</target>
-	
-
-	<target name="buildDtpEnablementAllFeature">
-                <ant antfile="build.xml" dir="${basedir}">
-                        <property name="component" value="${eclipse.build.configs}/dtp.enablement.all" />
-                </ant>
-	</target>
-
-	<target name="buildDtpIncubationAllFeature">
-                <ant antfile="build.xml" dir="${basedir}">
-                        <property name="component" value="${eclipse.build.configs}/dtp.incubation.all" />
-                </ant>
-	</target>
-
-	<target name="buildDtpSdkAllFeature">
-
-		<!-- build dtp sdk feature -->
-		<ant antfile="build.xml" dir="${basedir}">
-			<property name="component" value="${eclipse.build.configs}/dtp.sdk.all" />
-		</ant>
-
-	</target>
-
-	<target name="buildDtpEnablementFeature">
-		<ant antfile="build.xml" dir="${basedir}">
-			<property name="component" value="${eclipse.build.configs}/dtp.enablement" />
-		</ant>
-	</target>
-	
-	<target name="buildUpdateSite" if="updateSite">
-		<ant antfile="${eclipse.build.configs}/../helper.xml" target="buildUpdateJars" />
-	</target>
-	
-	<target name="integrateDtpFeatures">
-
-		<property name="tmpsite" value="${buildDirectory}/tmpsite" />
-		<mkdir dir="${tmpsite}/new/eclipse/features" />
-		<mkdir dir="${tmpsite}/new/eclipse/plugins" />
-
-		<!-- unzip all dtp packages into same directory -->
-		<unzip src="${buildDirectory}/${buildId}/dtp-all-${package.version}.zip" dest="${buildDirectory}/tmpsite"/>
-		<unzip src="${buildDirectory}/${buildId}/dtp-enablement-all-${package.version}.zip" dest="${buildDirectory}/tmpsite" overwrite="true"/>
-		<unzip src="${buildDirectory}/${buildId}/dtp-incubation-all-${package.version}.zip" dest="${buildDirectory}/tmpsite" overwrite="true"/>
-		
-		<!-- TODO: 
-		    1. zip features/ plugins/ pack.properties under ${buildDirectory}/tmpsite/eclipse as dtp-all-unsign.zip 
-		    2. sign features, plugins under ${buildDirectory}/tmpsite
-			3. Download back, replace the unsigned version in ${buildDirectory}/tmpsite/eclipse
-			4. Keep the signed, packed zip under ${buildDirectory}/, name as dtp-all-signed.zip
-		-->
-
-        <zip destfile="${tmpsite}/dtp-p2repo.zip">
-           <fileset dir="${tmpsite}/eclipse" includes="features/**"/>
-           <fileset dir="${tmpsite}/eclipse" includes="plugins/**"/>
-        </zip>
-		
-        <antcall target="signDTPJars"/>
-
-		<unpackUpdateJars site="${tmpsite}/eclipse" output="${tmpsite}/new/eclipse"/>
-
-		<copy todir="${tmpsite}/new/eclipse">
-			<fileset dir="${tmpsite}/eclipse" includes="*.html" />
-		</copy>
-
-	</target>
-
-	<target name="p2.test">
-		<p2.generator source="${reposource}" compress="true" 
-                  append="true" flavor="tooling" 
-                  metadataRepository="file:${tmpsite}/new/eclipse" 
-                  artifactRepository="file:${tmpsite}/new/eclipse" 
-                  metadataRepositoryName="DTP test" 
-                  artifactRepositoryName="DTP test" 
-                  publishArtifacts="true" p2OS="linux" mode="incremental" /> 
-
-	</target>
-	
-	<target name="signDTPJars" unless="noSign">
-		
-        <zip destfile="${tmpsite}/dtp-all-unsign.zip">
-           <fileset dir="${tmpsite}/eclipse" includes="features/**"/>
-           <fileset dir="${tmpsite}/eclipse" includes="plugins/**"/>
-           <fileset dir="${eclipse.build.configs}/../../extras" includes="pack.properties"/>
-        </zip>
-		
-		<antcall target="SignJars">
-			<param name="source.dir" value="${tmpsite}"/>
-			<param name="source.name" value="dtp-all-unsign.zip"/>
-			<param name="target.dir" value="${tmpsite}"/>
-			<param name="target.name" value="dtp-all-signed.zip"/>
-		</antcall>
-
-		<unzip src="${tmpsite}/dtp-all-signed.zip" dest="${tmpsite}/eclipse"/>
-		
-		<copy file="${tmpsite}/dtp-all-signed.zip" tofile="${tmpsite}/dtp-p2repo.zip" overwrite="true"/>
-		
-	</target>
-	
-    <target name="SignJars">
-    	
-        <tstamp prefix="timestamp">
-            <format property="upload" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
-        </tstamp>
-        <echo message="[${timestamp.upload}] Upload unsign package to signing server ..."/>
-    	
-        <scp todir="${username.sign}:${password.sign}@${hostname.sign}:${home.dir}" trust="true">
-            <fileset dir="${source.dir}" includes="${source.name}"/>
-        </scp>
-    	
-        <tstamp prefix="timestamp">
-            <format property="sign.start" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
-        </tstamp>
-        <echo message="[${timestamp.sign.start}] Upload finished and start jarsigning, wait for 25 mins."/>
-    	
-        <sshexec host="${hostname.sign}" username="${username.sign}" password="${password.sign}" trust="true"
-                 command="cd ${sign.dir};cp ${home.dir}/${source.name} ./;sign ${source.name} nomail;"/>
-    	<sleep minutes="25"/>
-    	
-        <tstamp prefix="timestamp">
-            <format property="download.start" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
-        </tstamp>
-    	<echo message="[${timestamp.download.start}] Download signed jars from server starts"/>
-    	
-        <scp localtofile="${target.dir}/${target.name}" trust="true"
-             file="${username.sign}:${password.sign}@${hostname.sign}:${sign.dir}/${source.name}"/>
-    	
-        <tstamp prefix="timestamp">
-            <format property="download.end" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
-        </tstamp>
-    	<echo message="[${timestamp.download.end}] Download signed jars from server ends"/>
-
-        <condition property="CompareSignPack" value="true">
-             <filesmatch file1="${source.dir}/${source.name}"
-                         file2="${target.dir}/${target.name}"/>
-        </condition>
-    	
-        <antcall target="DownloadSignedPackAgain">
-        	<param name="source.name" value="${source.name}"/>
-        	<param name="target.dir" value="${target.dir}"/>
-        	<param name="target.name" value="${target.name}"/>
-        </antcall>
-    	       
-    </target>
-
-    <target name="DownloadSignedPackAgain" if="CompareSignPack">
-    	
-        <tstamp prefix="timestamp">
-            <format property="download.again.now" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
-        </tstamp>
-    	<echo message="[${timestamp.download.again.now}] Sign check failed and wait for 10 mins to download again"/>
-
-        <sleep minutes="10"/>
-    	
-        <tstamp prefix="timestamp">
-            <format property="download.again.start" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
-        </tstamp>
-        <echo message="[${timestamp.download.again.start}] Download signed package again"/>
-    	
-        <scp localtofile="${target.dir}/${target.name}" trust="true"
-             file="${username.sign}:${password.sign}@${hostname.sign}:${sign.dir}/${source.name}"/>
-    	
-        <tstamp prefix="timestamp">
-            <format property="download.again.end" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
-        </tstamp>
-        <echo message="[${timestamp.download.again.end}] Download signed package ends. Start packaging..."/>
-    	
-    </target>
-
-	<target name="Package">
-
-		<property file="${buildDirectory}/finalPluginsVersions.properties"/>
-
-		<!-- repackage source features and plugins -->
-
-		<delete includeemptydirs="true">
-			<fileset dir="${buildDirectory}/tmpsite/eclipse/features">
-				<include name="org.eclipse.datatools.sdk-all.feature_*/**"/>
-			</fileset>
-			<fileset dir="${buildDirectory}/tmpsite/new/eclipse/features">
-				<include name="org.eclipse.datatools.sdk-all.feature_*/**"/>
-			</fileset>
-		</delete>
-
-		<!-- package sdk package -->
-		<zip destfile="${buildDirectory}/${buildId}/dtp-sdk-${package.version}.zip">
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/features" prefix="eclipse/features">
-				<include name="**"/>
-				<exclude name="*.ecore.feature*/**"/>
-				<exclude name="*.ecore.sdk.feature*/**"/>
-			</zipfileset>
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/plugins" prefix="eclipse/plugins">
-				<include name="**"/>
-				<exclude name="org.eclipse.datatools.enablement.oda.ecore*/**"/>
-			</zipfileset>
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse" prefix="eclipse">
-				<include name="*.html"/>
-			</zipfileset>
-		</zip>
-
-		<!-- package non-sdk package -->
-		<zip destfile="${buildDirectory}/${buildId}/dtp-${package.version}.zip">
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/features" prefix="eclipse/features">
-				<include name="**"/>
-				<exclude name="*sdk-all.feature*/**"/>
-				<exclude name="*sdk.feature*/**"/>
-				<exclude name="*.source_*/**"/>
-				<exclude name="org.eclipse.datatools.enablement.oda.ecore*/**"/>
-			</zipfileset>
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/plugins" prefix="eclipse/plugins">
-				<include name="**"/>
-				<exclude name="*.source_*/**"/>
-				<exclude name="org.eclipse.datatools.doc.isv_*.jar"/>
-				<exclude name="org.eclipse.datatools.connectivity.ui.templates_*.jar"/>
-				<exclude name="org.eclipse.datatools.enablement.oda.ecore*/**"/>
-			</zipfileset>
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse" prefix="eclipse">
-				<include name="readme/**"/>
-				<include name="*.html"/>
-			</zipfileset>
-		</zip>
-
-		<!-- package incubator-sdk package -->
-		<zip destfile="${buildDirectory}/${buildId}/dtp-incubator-sdk-${package.version}.zip">
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/features" prefix="eclipse/features">
-				<include name="org.eclipse.datatools.enablement.oda.ecore.*/**"/>
-			</zipfileset>
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/plugins" prefix="eclipse/plugins">
-				<include name="org.eclipse.datatools.enablement.oda.ecore*/**"/>
-			</zipfileset>
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse" prefix="eclipse">
-				<include name="readme/**"/>
-				<include name="*.html"/>
-			</zipfileset>
-		</zip>
-
-		<!-- package incubator package -->
-		<zip destfile="${buildDirectory}/${buildId}/dtp-incubator-${package.version}.zip">
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/features" prefix="eclipse/features">
-				<include name="org.eclipse.datatools.enablement.oda.ecore.feature_*/**"/>
-				<exclude name="org.eclipse.datatools.enablement.oda.ecore.feature.source_*/**"/>
-				<exclude name="org.eclipse.datatools.enablement.oda.ecore.sdk.feature_*/**"/>
-			</zipfileset>
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse/plugins" prefix="eclipse/plugins">
-				<include name="org.eclipse.datatools.enablement.oda.ecore*/**"/>
-				<exclude name="org.eclipse.datatools.enablement.oda.ecore*source*/**"/>
-			</zipfileset>
-			<zipfileset dir="${buildDirectory}/tmpsite/new/eclipse" prefix="eclipse">
-				<include name="readme/**"/>
-				<include name="*.html"/>
-			</zipfileset>
-		</zip>
-
-		<!-- copy to output directory -->
-		<mkdir dir="${postingDirectory}/${buildId}" />
-		<copy file="${buildDirectory}/${buildId}/dtp-sdk-${package.version}.zip" todir="${postingDirectory}/${buildId}"/>
-		<copy file="${buildDirectory}/${buildId}/dtp-${package.version}.zip" todir="${postingDirectory}/${buildId}"/>
-		<copy file="${buildDirectory}/${buildId}/dtp-incubator-sdk-${package.version}.zip" todir="${postingDirectory}/${buildId}"/>
-		<copy file="${buildDirectory}/${buildId}/dtp-incubator-${package.version}.zip" todir="${postingDirectory}/${buildId}"/>
-		<copy file="${buildDirectory}/directory.txt" todir="${postingDirectory}/${buildId}"/>
-        <copy tofile="${postingDirectory}/finalFeaturesVersions.properties" file="${buildDirectory}/finalFeaturesVersions.properties" overwrite="true" />
-		<copy tofile="${postingDirectory}/monitor.properties" file="monitor.properties" overwrite="true" />
-        <copy todir="${postingDirectory}/${buildId}">
-		   <fileset dir="." includes="*.log"/>
-		</copy>
-		
-        <tstamp prefix="timestamp">
-            <format property="package.end" pattern="yyyy-MM-dd HH:mm:ss" locale="en" />
-        </tstamp>
-        <echo message="[${timestamp.package.end}] Packaging finished."/>
-		
-	</target>
-
-    <target name="GenerateUpdateSite">
-        <property file="${buildDirectory}/finalFeaturesVersions.properties"/>
-    	<property name="tmpsite" value="${buildDirectory}/tmpsite" />
-        <mkdir dir="${postingDirectory}/${buildId}/UpdateSite"/>
-    	<mkdir dir="${postingDirectory}/${buildId}/pack200site"/>
-        <property name="updateSiteDir" value="${postingDirectory}/${buildId}/UpdateSite"/>  	
-    	<property name="pack200Dir" value="${postingDirectory}/${buildId}/pack200site"/>
-        
-    	<!-- replace the feature version in site.xml -->
-        <copy file="${eclipse.build.configs}/../../extras/site.xml" tofile="${updateSiteDir}/site.xml" overwrite="true"/>
-        <replace file="${updateSiteDir}/site.xml" value="1.7.1" token="@RELEASE.VERSION@"/>
-        <replace file="${updateSiteDir}/site.xml" value="${org.eclipse.datatools.enablement.sdk.feature}" token="@org.eclipse.datatools.enablement.sdk.feature@"/>
-        <replace file="${updateSiteDir}/site.xml" value="${org.eclipse.datatools.sdk.feature}" token="@org.eclipse.datatools.sdk.feature@"/>
-
-        <!-- push update site to output directory -->
-
-        <unzip src="${tmpsite}/dtp-p2repo.zip" 
-        	dest="${postingDirectory}/${buildId}/UpdateSite" overwrite="true"/>
-    	
-        <copy todir="${postingDirectory}/${buildId}/UpdateSite" overwrite="true">
-        	<fileset dir="${eclipse.build.configs}/../../extras">
-        		<include name="pack.properties"/>
-        	</fileset>
-    	</copy>
-    	
-    	<delete includeemptydirs="true" failonerror="false">
-            <fileset dir="${postingDirectory}/${buildId}/UpdateSite/features">
-                <include name="org.eclipse.datatools.sdk-all.feature_*/**"/>
-            </fileset>
-            <fileset dir="${postingDirectory}/${buildId}/UpdateSite">
-                <include name="*.html"/>
-            </fileset>
-        </delete>
-	
-		<!-- push p2 repo to local update site for testing -->
-		<antcall target="genP2CompositeUpdateSite"/>
-		
-    	<!-- zip p2 repo-->
-		<zip destfile="${postingDirectory}/${buildId}/dtp-p2repo.zip">
-			<zipfileset dir="${postingDirectory}/${buildId}/UpdateSite/features/" prefix="features">
-				<include name="*.jar"/>
-				<include name="*.pack.gz"/>
-			</zipfileset>
-			<zipfileset dir="${postingDirectory}/${buildId}/UpdateSite/plugins/" prefix="plugins">
-				<include name="*.jar"/>
-				<include name="*.pack.gz"/>
-			</zipfileset>
-			<zipfileset dir="${postingDirectory}/${buildId}/UpdateSite/">
-				<include name="*.jar"/>
-				<include name="site.xml"/>
-			</zipfileset>
-		</zip>
-    	
-    	<delete includeemptydirs="true" failonerror="false">
-            <fileset dir="${postingDirectory}/${buildId}">
-                <include name="UpdateSite/**"/>
-            </fileset>
-        </delete>    	   	
-	</target>
-
-	<target name="GenerateCVSChangeLog">
-		<ant antfile="${eclipse.build.configs}/../../extras/cvschanges.xml"/>
-	</target>
-
-    <target name="genP2CompositeUpdateSite">
-    	
-        <property name="compsite.site" value="${postingDirectory}/../../../../UpdateSite/dtp" />
-        <property name="repo" value="${compsite.site}/${buildId}" />
-        <property name="p2.repo.name" value="DTP Update Site" />
-        <mkdir dir="${repo}" />       
-    	
-	   	<!-- generate pack200 -->	
-		<replace file="${eclipse.build.configs}/../../extras/pack200" token="@pack200@" value="${jvm15_home}/bin/pack200"/>
-		<chmod file="${eclipse.build.configs}/../../extras/pack200" perm="755"/>
-
-		<exec executable="dos2unix" dir="${eclipse.build.configs}/../../extras">
-			<arg line=" pack200" />
-		</exec>
-		
-    	<!-- create pack200 -->
-    	<java jar="${basedir}/../org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar"
-                fork="true"
-                timeout="10800000"
-                jvm="${jvm15_home}/bin/java"
-                failonerror="true"
-                maxmemory="512m"
-                dir="${postingDirectory}/${buildId}/">
-                <jvmarg value="-Dorg.eclipse.update.jarprocessor.pack200=${eclipse.build.configs}/../../extras"/>
-                <arg line="-application org.eclipse.update.core.siteOptimizer -verbose"/>
-                <arg line="-jarProcessor -outputDir ${pack200Dir} -processAll -pack UpdateSite"/>
-        </java>
-    	    	
-        <!-- generator features and plugins metadata -->
-        <!--p2.generator updatesite="${repo}" compress="true" append="true" flavor="tooling"
-                      metadataRepository="file:${repo}"
-                      artifactRepository="file:${repo}"
-                      metadataRepositoryName="${p2.repo.name}"
-                      artifactRepositoryName="${p2.repo.name}"
-                      publishArtifacts="true" p2OS="linux" mode="incremental"
-                      site="file:${updateSiteDir}/site.xml"/-->
-        <copy file="${updateSiteDir}/site.xml" todir="${pack200Dir}"/>
-        <java jar="${basedir}/../org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar"
-              fork="true"
-              timeout="10800000"
-              jvm="${jvm15_home}/bin/java"
-              failonerror="true"
-              maxmemory="512m">
-              <arg line="-application org.eclipse.equinox.p2.publisher.UpdateSitePublisher"/>
-              <arg line="-metadataRepository file:${repo}"/>
-              <arg line="-artifactRepository file:${repo}"/>
-              <arg line="-source ${pack200Dir}"/>
-              <arg line="-configs gtk.linux.x86"/>
-              <arg line="-compress"/>
-        	  <arg line="-reusePack200Files"/>
-              <arg line="-publishArtifacts"/>
-        </java>
-    	<copy todir="${repo}/features">
-    	   <fileset dir="${pack200Dir}/features" includes="*.pack.gz"/>
-        </copy>
-        
-        <!--try create composite repository-->
-        <p2.composite.artifact.repository.create location="file://${compsite.site}" name="${p2.repo.name}" compressed="true" failOnExists="false" />
-        <p2.composite.metadata.repository.create location="file://${compsite.site}" name="${p2.repo.name}" compressed="true" failOnExists="false" />
-
-        <!--add childRepo to composite repo-->
-        <p2.composite.artifact.repository.add location="file://${compsite.site}" child="${buildId}" />
-        <p2.composite.metadata.repository.add location="file://${compsite.site}" child="${buildId}" />
-
-    	<!-- copy p2 metadata to build directory -->
-    	<copy todir="${postingDirectory}/${buildId}/UpdateSite" overwrite="true">
-    		<fileset dir="${compsite.site}/${buildId}">
-    			<include name="features/**"/>
-    			<include name="plugins/**"/>
-    			<include name="*.jar"/>
-    		</fileset>
-    	</copy>
-    	
-    </target>
-	
-</project>
diff --git a/plugins/org.eclipse.datatools.releng.builder/config.properties b/plugins/org.eclipse.datatools.releng.builder/config.properties
deleted file mode 100644
index 19bd03d..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/config.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-#Daily build can check the disk capacity._2.2.0
-##diskspace.warning.threshold is the minimum disk space.
-##diskspace.path is the path for the disk, can be c:\,c: etc for win32 environment.
-
-#Disk that needs to be checked.
-diskspace.warning.threshold=400
-
-########################################################################
-
-replyto.address=xgu@actuate.com
-QA.test.dir=\\\\qa-build\\BIRTOutput
-
-mail.port=5025
-mail.from=xgu@actuate.com
-
-
-BUILD.COMPLETE.members=xgu@actuate.com,lchan@actuate.com,brian.fitzpatrick@sybase.com
-
-COMPILE.ERROR.RECIPIENTS=yjiang@actuate.com,dtp-dev@eclipse.org,xgu@actuate.com 
-#COMPILE.ERROR.RECIPIENTS=yjiang@actuate.com
-
-build.environment=Eclipse 3.4M5, EMF 2.2.2, GEF 3.4M5, WTP 3.0M5, JDK1.4.2_07
-rtn=\n
-
diff --git a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.enablement.all/build.properties b/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.enablement.all/build.properties
deleted file mode 100644
index 98538e0..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.enablement.all/build.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-generateFeatureVersionSuffix=true
-baseLocation=/home/adb/farrah/baseLocation
-p4.home=/home/adb/farrah/P4
-buildDirectory=/home/adb/farrah/src
-outputUpdateJars=true
-individualSourceBundles=true
-
-runPackager=true
-mapVersionTag=HEAD
-bootclasspath=${java.home}/lib/rt.jar
-buildType=I
-buildId=build
-buildLabel=${buildType}.${buildId}
-timestamp=0000
-collPlace=eclipse
-collBase=.
-configs=*,*,*
-
-archivesFormat =*,*,*-zip
-
-javacFailOnError=false
-javacDebugInfo=on
-javacVerbose=true
-compileArg=-enableJavadoc
-
-zipargs=
-tarargs=--owner=0 --group=0 
-
-collectingFolder=eclipse
-archivePrefix=eclipse
-
-baseos=win32
-basews=win32
-basearch=x86
-
diff --git a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.enablement.all/customTargets.xml b/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.enablement.all/customTargets.xml
deleted file mode 100644
index 243e37b..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.enablement.all/customTargets.xml
+++ /dev/null
@@ -1,236 +0,0 @@
-<project name="Build specific targets and properties" default="noDefault" basedir=".">
-
-	<property name="postingDirectory" value="${buildDirectory}" />
-	<property name="package.version" value="1_6_0" />
-	<property name="archiveName" value="dtp-enablement-all-${package.version}.zip"/>
-
-	
-	<!-- ===================================================================== -->
-	<!-- Run a given ${target} on all elements being built -->
-	<!-- ===================================================================== -->
-	<target name="allElements">
-		<ant antfile="${genericTargets}" target="${target}" >
-			<property name="type" value="feature" />
-			<property name="id" value="org.eclipse.datatools.enablement.sdk.feature" />
-		</ant>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Targets to assemble the built elements for particular configurations  -->
-	<!-- These generally call the generated assemble scripts (named in -->
-	<!-- ${assembleScriptName}) but may also add pre and post processing -->
-	<!-- Add one target for each root element and each configuration -->
-	<!-- ===================================================================== -->
-	
-	<target name="assemble.org.eclipse.datatools.enablement.sdk.feature">
-		<property name="archiveName" value="dtp-enablement-all-${package.version}.zip"/>
-		<antcall target="assemble" />
-	</target>
-
-
-	<target name="assemble">
-		<property name="archiveFullPath" value="${buildDirectory}/${buildLabel}/${archiveName}" />
-		<ant antfile="${assembleScriptName}" />
-	</target>
-	
-	<target name="postPackage">
-	</target>
-	<!-- ===================================================================== -->
-	<!-- Check out map files from correct repository -->
-	<!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
-	<!-- ===================================================================== -->
-	<target name="checkLocal">
-		<available property="mapsLocal" file="${buildDirectory}/maps/org.eclipse.datatools.releng" />
-		<!--
-		<available property="mapsLocal" file="${buildDirectory}/maps/source/pde_build/maps" />
-		-->
-	</target>
-	
-	<target name="getMapFiles" depends="checkLocal" unless="mapsLocal">
-
-		<!-- ***  change the repo info -->
-		<property name="mapCvsRoot" value=":pserver:anonymous@dev.eclipse.org:/cvsroot/datatools" />
-		<property name="mapVersionTag" value="HEAD" />
-		<echo message="cvs root: ${mapCvsRoot}"/>
-
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.releng" dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.connectivity/releng/org.eclipse.datatools.connectivity.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.enablement/releng/org.eclipse.datatools.enablement.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.modelbase/releng/org.eclipse.datatools.modelbase.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.sqltools/releng/org.eclipse.datatools.sqltools.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.incubator/releng/org.eclipse.datatools.incubator.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-
-		<!--compare the map files project-->
-		<antcall target="compareMapFiles" />
-		<!--tag the map files project-->
-		<antcall target="tagMapFiles" />
-
-	</target>
-	<target name="compareMapFiles" if="compareMaps">
-		<property file="${mapTag.properties}"/>
-		<property name="cvsDiffFile" value="${buildDirectory}/cvsDiff.txt" />
-		<cvs cvsRoot="${mapCvsRoot}" dest="${buildDirectory}/maps" command="diff -w -r ${lastMapTag}" output="${cvsDiffFile}" />
-		<!--modifiedMaps mapDiffFile="${cvsDiffFile}" /-->
-	</target>
-
-	<target name="tagMapFiles" if="tagMaps">
-		<!-- Stores tag on the filesystem so map files can be compared -->
-		<echo file="${mapTag.properties}">
-		lastMapTag=r17_${buildId}
-		</echo>
-		<echo message="tagging org.eclipse.datatools.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.connectivity.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.connectivity/releng/org.eclipse.datatools.connectivity.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.enablement.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.enablement/releng/org.eclipse.datatools.enablement.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.modelbase.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.modelbase/releng/org.eclipse.datatools.modelbase.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.sqltools.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.sqltools/releng/org.eclipse.datatools.sqltools.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.incubator.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.incubator/releng/org.eclipse.datatools.incubator.releng" command="tag r17_${buildId}" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before setup -->
-	<!-- ===================================================================== -->
-	<target name="preSetup">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after setup but before starting the build proper -->
-	<!-- ===================================================================== -->
-	<target name="postSetup">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before fetching the build elements -->
-	<!-- ===================================================================== -->
-	<target name="preFetch">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the fetch -->
-	<!-- ===================================================================== -->
-	<target name="postFetch">
-                <replace dir="${buildDirectory}/plugins" value="1.7.1.${buildId}" token="@BUILD@">
-                        <include name="**/about.mappings" />
-                </replace>
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before generating build scripts -->
-	<!-- ===================================================================== -->
-	<target name="preGenerate">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after generating the build scripts -->
-	<!-- ===================================================================== -->
-	<target name="postGenerate">
-		<antcall target="clean" />
-	</target>
-
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before assembling -->
-	<!-- ===================================================================== -->
-	<target name="preAssemble">
-	
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after assembling-->
-	<!-- ===================================================================== -->
-	<target name="postAssemble">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="preProcess">
-		<replace dir="${buildDirectory}/plugins" value="${buildId}" token="@Replace_By_Date@">
-			<include name="**/about.mappings" />
-		</replace>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="postProcess">
-		<condition property="logsAvailable">
-			<istrue value="${javacVerbose}"/> 
-		</condition>
-		<antcall target="gatherLogs" />
-	</target>
-
-	<target name="prePackage" />
-	
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after everything is built and assembled -->
-	<!-- (e.g., testing, posting, emailing, ...) -->
-	<!-- ===================================================================== -->
-	<target name="postBuild">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Helper targets -->
-	<!-- ===================================================================== -->
-	<target name="gatherLogs" if="logsAvailable">
-		<mkdir dir="${postingDirectory}/${buildLabel}/compilelogs" />
-		<antcall target="allElements">
-			<param name="target" value="gatherLogs" />
-		</antcall>
-	
-                <unzip dest="${postingDirectory}/${buildLabel}/compilelogs" overwrite="true">
-                        <fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.sdk.feature">
-                                <include name="*.log.zip" />
-                        </fileset>
-                </unzip>
-
-                <copy todir="${postingDirectory}/${buildLabel}/compilelogs" overwrite="true" failonerror="false">
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.sybase.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.sap.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.postgresql.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.oracle.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.oda.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.oda.designer.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.mysql.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.msft.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.jdt.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.jdbc.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.ibm.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.hsqldb.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.apache.derby.feature/feature.temp.folder"/>
-                </copy>
-
-	</target>
-	
-	<target name="clean" unless="noclean">
-		<antcall target="allElements">
-			<param name="target" value="cleanElement" />
-		</antcall>
-	</target>
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="You must specify a target when invoking this file" />
-	</target>
-
-</project>
diff --git a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.incubation.all/build.properties b/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.incubation.all/build.properties
deleted file mode 100644
index 98538e0..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.incubation.all/build.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-generateFeatureVersionSuffix=true
-baseLocation=/home/adb/farrah/baseLocation
-p4.home=/home/adb/farrah/P4
-buildDirectory=/home/adb/farrah/src
-outputUpdateJars=true
-individualSourceBundles=true
-
-runPackager=true
-mapVersionTag=HEAD
-bootclasspath=${java.home}/lib/rt.jar
-buildType=I
-buildId=build
-buildLabel=${buildType}.${buildId}
-timestamp=0000
-collPlace=eclipse
-collBase=.
-configs=*,*,*
-
-archivesFormat =*,*,*-zip
-
-javacFailOnError=false
-javacDebugInfo=on
-javacVerbose=true
-compileArg=-enableJavadoc
-
-zipargs=
-tarargs=--owner=0 --group=0 
-
-collectingFolder=eclipse
-archivePrefix=eclipse
-
-baseos=win32
-basews=win32
-basearch=x86
-
diff --git a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.incubation.all/customTargets.xml b/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.incubation.all/customTargets.xml
deleted file mode 100644
index 66592f5..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.incubation.all/customTargets.xml
+++ /dev/null
@@ -1,217 +0,0 @@
-<project name="Build specific targets and properties" default="noDefault" basedir=".">
-
-	<property name="postingDirectory" value="${buildDirectory}" />
-	<property name="package.version" value="1_7_0" />
-	<property name="archiveName" value="dtp-incubation-all-${package.version}.zip"/>
-
-	
-	<!-- ===================================================================== -->
-	<!-- Run a given ${target} on all elements being built -->
-	<!-- ===================================================================== -->
-	<target name="allElements">
-		<ant antfile="${genericTargets}" target="${target}" >
-			<property name="type" value="feature" />
-			<property name="id" value="org.eclipse.datatools.enablement.oda.ecore.sdk.feature" />
-		</ant>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Targets to assemble the built elements for particular configurations  -->
-	<!-- These generally call the generated assemble scripts (named in -->
-	<!-- ${assembleScriptName}) but may also add pre and post processing -->
-	<!-- Add one target for each root element and each configuration -->
-	<!-- ===================================================================== -->
-	
-	<target name="assemble.org.eclipse.datatools.enablement.oda.ecore.sdk.feature">
-		<property name="archiveName" value="dtp-incubation-all-${package.version}.zip"/>
-		<antcall target="assemble" />
-	</target>
-
-
-	<target name="assemble">
-		<property name="archiveFullPath" value="${buildDirectory}/${buildLabel}/${archiveName}" />
-		<ant antfile="${assembleScriptName}" />
-	</target>
-	
-	<target name="postPackage">
-	</target>
-	<!-- ===================================================================== -->
-	<!-- Check out map files from correct repository -->
-	<!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
-	<!-- ===================================================================== -->
-	<target name="checkLocal">
-		<available property="mapsLocal" file="${buildDirectory}/maps/org.eclipse.datatools.releng" />
-	</target>
-	
-	<target name="getMapFiles" depends="checkLocal" unless="mapsLocal">
-
-		<!-- ***  change the repo info -->
-		<property name="mapCvsRoot" value=":pserver:anonymous@dev.eclipse.org:/cvsroot/datatools" />
-		<property name="mapVersionTag" value="HEAD" />
-
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.releng" dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.connectivity/releng/org.eclipse.datatools.connectivity.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.enablement/releng/org.eclipse.datatools.enablement.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.modelbase/releng/org.eclipse.datatools.modelbase.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.sqltools/releng/org.eclipse.datatools.sqltools.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.incubator/releng/org.eclipse.datatools.incubator.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-
-		<!--compare the map files project-->
-		<antcall target="compareMapFiles" />
-		<!--tag the map files project-->
-		<antcall target="tagMapFiles" />
-
-	</target>
-	<target name="compareMapFiles" if="compareMaps">
-		<property file="${mapTag.properties}"/>
-		<property name="cvsDiffFile" value="${buildDirectory}/cvsDiff.txt" />
-		<cvs cvsRoot="${mapCvsRoot}" dest="${buildDirectory}/maps" command="diff -w -r ${lastMapTag}" output="${cvsDiffFile}" />
-		<!--modifiedMaps mapDiffFile="${cvsDiffFile}" /-->
-	</target>
-
-	<target name="tagMapFiles" if="tagMaps">
-		<!-- Stores tag on the filesystem so map files can be compared -->
-		<echo file="${mapTag.properties}">
-		lastMapTag=r17_${buildId}
-		</echo>
-		<echo file="${mapTag.properties}">
-		lastMapTag=r17_${buildId}
-		</echo>
-		<echo message="tagging org.eclipse.datatools.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.connectivity.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.connectivity/releng/org.eclipse.datatools.connectivity.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.enablement.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.enablement/releng/org.eclipse.datatools.enablement.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.modelbase.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.modelbase/releng/org.eclipse.datatools.modelbase.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.sqltools.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.sqltools/releng/org.eclipse.datatools.sqltools.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.incubator.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.incubator/releng/org.eclipse.datatools.incubator.releng" command="tag r17_${buildId}" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before setup -->
-	<!-- ===================================================================== -->
-	<target name="preSetup">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after setup but before starting the build proper -->
-	<!-- ===================================================================== -->
-	<target name="postSetup">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before fetching the build elements -->
-	<!-- ===================================================================== -->
-	<target name="preFetch">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the fetch -->
-	<!-- ===================================================================== -->
-	<target name="postFetch">
-                <replace dir="${buildDirectory}/plugins" value="1.7.1.${buildId}" token="@BUILD@">
-                        <include name="**/about.mappings" />
-                </replace>
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before generating build scripts -->
-	<!-- ===================================================================== -->
-	<target name="preGenerate">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after generating the build scripts -->
-	<!-- ===================================================================== -->
-	<target name="postGenerate">
-		<antcall target="clean" />
-	</target>
-
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before assembling -->
-	<!-- ===================================================================== -->
-	<target name="preAssemble">
-	
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after assembling-->
-	<!-- ===================================================================== -->
-	<target name="postAssemble">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="preProcess">
-		<replace dir="${buildDirectory}/plugins" value="${buildId}" token="@Replace_By_Date@">
-			<include name="**/about.mappings" />
-		</replace>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="postProcess">
-		<condition property="logsAvailable">
-			<istrue value="${javacVerbose}"/> 
-		</condition>
-		<antcall target="gatherLogs" />
-	</target>
-
-	<target name="prePackage" />
-	
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after everything is built and assembled -->
-	<!-- (e.g., testing, posting, emailing, ...) -->
-	<!-- ===================================================================== -->
-	<target name="postBuild">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Helper targets -->
-	<!-- ===================================================================== -->
-	<target name="gatherLogs" if="logsAvailable">
-		<mkdir dir="${postingDirectory}/${buildLabel}/compilelogs" />
-		<antcall target="allElements">
-			<param name="target" value="gatherLogs" />
-		</antcall>
-	
-        <unzip dest="${postingDirectory}/${buildLabel}/compilelogs" overwrite="true">
-        	<fileset dir="${buildDirectory}/features/org.eclipse.datatools.enablement.oda.ecore.sdk.feature">
-            	<include name="*.log.zip" />
-            </fileset>
-        </unzip>
-	</target>
-	
-	<target name="clean" unless="noclean">
-		<antcall target="allElements">
-			<param name="target" value="cleanElement" />
-		</antcall>
-	</target>
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="You must specify a target when invoking this file" />
-	</target>
-
-</project>
diff --git a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.sdk.all/build.properties b/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.sdk.all/build.properties
deleted file mode 100644
index 98538e0..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.sdk.all/build.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-generateFeatureVersionSuffix=true
-baseLocation=/home/adb/farrah/baseLocation
-p4.home=/home/adb/farrah/P4
-buildDirectory=/home/adb/farrah/src
-outputUpdateJars=true
-individualSourceBundles=true
-
-runPackager=true
-mapVersionTag=HEAD
-bootclasspath=${java.home}/lib/rt.jar
-buildType=I
-buildId=build
-buildLabel=${buildType}.${buildId}
-timestamp=0000
-collPlace=eclipse
-collBase=.
-configs=*,*,*
-
-archivesFormat =*,*,*-zip
-
-javacFailOnError=false
-javacDebugInfo=on
-javacVerbose=true
-compileArg=-enableJavadoc
-
-zipargs=
-tarargs=--owner=0 --group=0 
-
-collectingFolder=eclipse
-archivePrefix=eclipse
-
-baseos=win32
-basews=win32
-basearch=x86
-
diff --git a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.sdk.all/customTargets.xml b/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.sdk.all/customTargets.xml
deleted file mode 100644
index 27bfec4..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/eclipse/buildConfigs/dtp.sdk.all/customTargets.xml
+++ /dev/null
@@ -1,251 +0,0 @@
-<project name="Build specific targets and properties" default="noDefault" basedir=".">
-
-	<property name="postingDirectory" value="${buildDirectory}" />
-	<property name="package.version" value="1_6_0" />
-	<property name="archiveName" value="dtp-all-${package.version}.zip"/>
-
-	
-	<!-- ===================================================================== -->
-	<!-- Run a given ${target} on all elements being built -->
-	<!-- ===================================================================== -->
-	<target name="allElements">
-		<ant antfile="${genericTargets}" target="${target}" >
-			<property name="type" value="feature" />
-			<property name="id" value="org.eclipse.datatools.sdk-all.feature" />
-		</ant>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Targets to assemble the built elements for particular configurations  -->
-	<!-- These generally call the generated assemble scripts (named in -->
-	<!-- ${assembleScriptName}) but may also add pre and post processing -->
-	<!-- Add one target for each root element and each configuration -->
-	<!-- ===================================================================== -->
-	
-	<target name="assemble.org.eclipse.datatools.sdk-all.feature">
-		<property name="archiveName" value="dtp-all-${package.version}.zip"/>
-		<antcall target="assemble" />
-	</target>
-
-
-	<target name="assemble">
-		<property name="archiveFullPath" value="${buildDirectory}/${buildLabel}/${archiveName}" />
-		<ant antfile="${assembleScriptName}" />
-	</target>
-	
-	<target name="postPackage">
-	</target>
-	<!-- ===================================================================== -->
-	<!-- Check out map files from correct repository -->
-	<!-- Replace values for cvsRoot, package and mapVersionTag as desired. -->
-	<!-- ===================================================================== -->
-	<target name="checkLocal">
-		<available property="mapsLocal" file="${buildDirectory}/maps/org.eclipse.datatools.releng" />
-	</target>
-	
-	<target name="getMapFiles" depends="checkLocal" unless="mapsLocal">
-
-		<!-- ***  change the repo info -->
-		<property name="mapCvsRoot" value=":pserver:anonymous@dev.eclipse.org:/cvsroot/datatools" />
-		<property name="mapVersionTag" value="HEAD" />
-
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.releng" dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.connectivity/releng/org.eclipse.datatools.connectivity.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.enablement/releng/org.eclipse.datatools.enablement.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.modelbase/releng/org.eclipse.datatools.modelbase.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.sqltools/releng/org.eclipse.datatools.sqltools.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-        <cvs cvsRoot="${mapCvsRoot}" 
-             package="org.eclipse.datatools.incubator/releng/org.eclipse.datatools.incubator.releng" 
-             dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
-
-
-		<!--compare the map files project-->
-		<antcall target="compareMapFiles" />
-		<!--tag the map files project-->
-		<antcall target="tagMapFiles" />
-
-	</target>
-	<target name="compareMapFiles" if="compareMaps">
-		<property file="${mapTag.properties}"/>
-		<property name="cvsDiffFile" value="${buildDirectory}/cvsDiff.txt" />
-		<cvs cvsRoot="${mapCvsRoot}" dest="${buildDirectory}/maps" command="diff -w -r ${lastMapTag}" output="${cvsDiffFile}" />
-		<!--modifiedMaps mapDiffFile="${cvsDiffFile}" /-->
-	</target>
-
-	<target name="tagMapFiles" if="tagMaps">
-		<!-- Stores tag on the filesystem so map files can be compared -->
-		<echo file="${mapTag.properties}">
-		lastMapTag=r17_${buildId}
-		</echo>
-		<echo message="tagging org.eclipse.datatools.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.connectivity.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.connectivity/releng/org.eclipse.datatools.connectivity.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.enablement.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.enablement/releng/org.eclipse.datatools.enablement.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.modelbase.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.modelbase/releng/org.eclipse.datatools.modelbase.releng" command="tag r17_${buildId}" />
-		<echo message="tagging org.eclipse.datatools.sqltools.releng..."/>
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.sqltools/releng/org.eclipse.datatools.sqltools.releng" command="tag r17_${buildId}" />
-		<cvs dest="${buildDirectory}/maps/org.eclipse.datatools.incubator/releng/org.eclipse.datatools.incubator.releng" command="tag r17_${buildId}" />
-
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before setup -->
-	<!-- ===================================================================== -->
-	<target name="preSetup">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after setup but before starting the build proper -->
-	<!-- ===================================================================== -->
-	<target name="postSetup">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before fetching the build elements -->
-	<!-- ===================================================================== -->
-	<target name="preFetch">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the fetch -->
-	<!-- ===================================================================== -->
-	<target name="postFetch">
-		<copy todir="${buildDirectory}/plugins">
-			<fileset dir="${buildDirectory}/../staticFiles" includes="*.jar"/>
-		</copy>
-                <replace dir="${buildDirectory}/plugins" value="1.7.1.${buildId}" token="@BUILD@">
-                        <include name="**/about.mappings" />
-                </replace>
-                <replace dir="${buildDirectory}/features" value="1.7.1.${buildId}" token="@BUILD@">
-                        <include name="**/about.mappings" />
-                </replace>
-                <replace dir="${buildDirectory}/features" value="1.7.1.${buildId}" token="@BUILD@">
-                        <include name="**/about.mappings" />
-                </replace>
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Steps to do before generating build scripts -->
-	<!-- ===================================================================== -->
-	<target name="preGenerate">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after generating the build scripts -->
-	<!-- ===================================================================== -->
-	<target name="postGenerate">
-		<antcall target="clean" />
-	</target>
-
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before assembling -->
-	<!-- ===================================================================== -->
-	<target name="preAssemble">
-	
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after assembling-->
-	<!-- ===================================================================== -->
-	<target name="postAssemble">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="preProcess">
-		<replace dir="${buildDirectory}/plugins" value="${buildId}" token="@Replace_By_Date@">
-			<include name="**/about.mappings" />
-		</replace>
-		<!--
-		<replace dir="${buildDirectory}/plugins/" value="1.3.0.${buildId}" token="@Replace_By_Version@">
-			<include name="org.w3c.sac/about.properties" />
-		</replace>
-		<replace dir="${buildDirectory}/plugins/" value="1.6.7.${buildId}" token="@Replace_By_Version@">
-			<include name="org.mozilla.rhino/about.properties" />
-		</replace>
-		<replace dir="${buildDirectory}/plugins/" value="1.4.6.${buildId}" token="@Replace_By_Version@">
-			<include name="com.lowagie.itext/about.properties" />
-		</replace>
-		-->
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="postProcess">
-		<condition property="logsAvailable">
-			<istrue value="${javacVerbose}"/> 
-		</condition>
-		<antcall target="gatherLogs" />
-	</target>
-
-	<target name="prePackage" />
-	
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after everything is built and assembled -->
-	<!-- (e.g., testing, posting, emailing, ...) -->
-	<!-- ===================================================================== -->
-	<target name="postBuild">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Helper targets -->
-	<!-- ===================================================================== -->
-	<target name="gatherLogs" if="logsAvailable">
-		<mkdir dir="${postingDirectory}/${buildLabel}/compilelogs" />
-		<antcall target="allElements">
-			<param name="target" value="gatherLogs" />
-		</antcall>
-
-                <unzip dest="${postingDirectory}/${buildLabel}/compilelogs" overwrite="true">
-                        <fileset dir="${buildDirectory}/features/org.eclipse.datatools.sdk-all.feature">
-                                <include name="*.log.zip" />
-                        </fileset>
-                </unzip>
-
-                <copy todir="${postingDirectory}/${buildLabel}/compilelogs" overwrite="true" failonerror="false">
-                        <fileset dir="${buildDirectory}/features/org.eclipse.datatools.sdk.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.sqldevtools.data.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.sqldevtools.ddl.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.sqldevtools.ddlgen.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.sqldevtools.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.sqldevtools.parsers.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.sqldevtools.results.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.modelbase.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.intro/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.connectivity.oda.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.connectivity.oda.designer.feature/feature.temp.folder"/>
-			<fileset dir="${buildDirectory}/features/org.eclipse.datatools.connectivity.feature/feature.temp.folder"/>
-		</copy> 
-	
-	</target>
-	
-	<target name="clean" unless="noclean">
-		<antcall target="allElements">
-			<param name="target" value="cleanElement" />
-		</antcall>
-	</target>
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="You must specify a target when invoking this file" />
-	</target>
-
-</project>
diff --git a/plugins/org.eclipse.datatools.releng.builder/eclipse/helper.xml b/plugins/org.eclipse.datatools.releng.builder/eclipse/helper.xml
deleted file mode 100644
index 725aacb..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/eclipse/helper.xml
+++ /dev/null
@@ -1,881 +0,0 @@
-<project name="Helper targets" default="noDefault" basedir="." >
-	<property name="postingDirectory" value="${buildDirectory}" />
-	<property name="publishingContent" value="${eclipse.build.configs}/../publishingFiles"/>
-
-	<!-- ===================================================================== -->
-	<!-- Set of helper targets for building the Eclipse SDK -->
-	<!-- ===================================================================== -->
-	<target name="discoverOS">
-		<condition property="onUnix">
-			<and>
-				<os family="unix" />
-			</and>
-		</condition>
-		<condition property="onWindows">
-			<and>
-				<os family="windows" />
-			</and>
-		</condition>
-	</target>
-
-	<target name="printWarnings" if="onWindows" depends="discoverOS">
-		<echo message="The UNIX versions of your build output will be invalid.  Windows will not preserve symbolic links and permissions on executable files." />
-	</target>
-
-	<target name="setLabels">
-		<!--required-->
-		<!-- setup the label.properties file packaged in the source builds. -->
-		<!--Set this property to empty string-->
-		<property name="buildType" value="" />
-		<tstamp>
-			<format property="TODAY" pattern="MMMM d, yyyy" />
-			<format property="TSTAMP" pattern="HHmm" />
-		</tstamp>
-		<copy file="label.properties.template" tofile="${buildDirectory}/label.properties" overwrite="true" />
-		<replace file="${buildDirectory}/label.properties" token="@builddate@" value="${TODAY}" />
-		<replace file="${buildDirectory}/label.properties" token="@buildtype@" value="${buildType}" />
-		<replace file="${buildDirectory}/label.properties" token="@ds@" value="${timestamp}" />
-		<replace file="${buildDirectory}/label.properties" token="@buildid@" value="${buildId}" />
-	</target>
-
-	<target name="generateChecksum" unless="skipChecksum">
-		<checksum file="${archiveFullPath}" property="md5" />
-		<echo message="${md5} *${downloadFile}" file="${postingDirectory}/${buildLabel}/checksum/${downloadFile}.md5" />
-	</target>
-
-	<target name="publish" description="Preparing to post the build...">
-		<!--post clickThroughs-->
-		<copy todir="${postingDirectory}/${buildLabel}">
-			<fileset dir="${buildDirectory}/maps/org.eclipse.releng" includes="clickThroughs/" />
-		</copy>
-
-		<!--post directory.txt-->
-		<copy file="${buildDirectory}/directory.txt" todir="${postingDirectory}/${buildLabel}" />
-
-		<!--post instructions on automated testing-->
-		<copy file="${eclipse.build.configs}/sdk.tests/testScripts/readme.html" tofile="${postingDirectory}/${buildLabel}/automatedtesting.html" />
-		<copy file="${buildDirectory}/plugins/org.eclipse.test/testframework.html" tofile="${postingDirectory}/${buildLabel}/testframework.html" />
-
-		<antcall target="generateEclipseIndex" />
-
-		<!--get static files required in the buildLabel directory-->
-		<copy todir="${postingDirectory}/${buildLabel}">
-			<fileset dir="${publishingContent}/staticDropFiles" />
-		</copy>
-
-		<!--copy buildnotes from plugin directories-->
-		<mkdir dir="${postingDirectory}/${buildLabel}/buildnotes" />
-		<copy todir="${postingDirectory}/${buildLabel}/buildnotes" flatten="true">
-			<fileset dir="${buildDirectory}/plugins" includes="**/buildnotes_*.html,**/buildnotes_*.htm,**/jdt_core_style.css" />
-		</copy>
-
-		<!--copy javadoc logs-->
-		<copy file="${buildDirectory}/plugins/org.eclipse.platform.doc.isv/doc.bin.log" tofile="${postingDirectory}/${buildLabel}/compilelogs/platform.doc.isv.javadoc.txt" failonerror="false" />
-		<copy file="${buildDirectory}/plugins/org.eclipse.jdt.doc.isv/doc.bin.log" tofile="${postingDirectory}/${buildLabel}/compilelogs/jdt.doc.isv.javadoc.txt" failonerror="false" />
-		<copy file="${buildDirectory}/plugins/org.eclipse.jdt.doc.isv/jdtapt.doc.bin.log" tofile="${postingDirectory}/${buildLabel}/compilelogs/jdt.apt.javadoc.txt" failonerror="false" />
-		<copy file="${buildDirectory}/plugins/org.eclipse.pde.doc.user/doc.bin.log" tofile="${postingDirectory}/${buildLabel}/compilelogs/pde.doc.user.javadoc.txt" failonerror="false" />
-		<copy file="${buildDirectory}/plugins/org.eclipse.platform.doc.isv/platformconvert.txt" tofile="${postingDirectory}/${buildLabel}/compilelogs/platform.doc.isv.schema.txt" failonerror="false" />
-		<copy file="${buildDirectory}/plugins/org.eclipse.jdt.doc.isv/jdtconvert.txt" tofile="${postingDirectory}/${buildLabel}/compilelogs/jdt.doc.isv.schema.txt" failonerror="false" />
-		<copy file="${buildDirectory}/plugins/org.eclipse.pde.doc.user/pdeconvert.txt" tofile="${postingDirectory}/${buildLabel}/compilelogs/pde.doc.user.schema.txt" failonerror="false" />
-
-	</target>
-
-
-	<!-- ===================================================================== -->
-	<!-- Target used to test the build                                         -->
-	<!-- ===================================================================== -->
-	<target name="testAll" unless="skip.tests">
-		<waitfor maxwait="4" maxwaitunit="hour" checkevery="1" checkeveryunit="minute">
-			<and>
-				<available file="${postingDirectory}/${buildLabel}/checksum/eclipse-Automated-Tests-${buildId}.zip.md5"/>
-				<available file="${postingDirectory}/${buildLabel}/checksum/eclipse-SDK-${buildId}-win32.zip.md5"/>
-				<available file="${postingDirectory}/${buildLabel}/checksum/eclipse-SDK-${buildId}-linux-gtk.tar.gz.md5"/>
-				<available file="${postingDirectory}/${buildLabel}/checksum/eclipse-SDK-${buildId}-macosx-carbon.tar.gz.md5"/>
-			</and>
-		</waitfor>
-
-		<property name="cvstest.properties" value="${base.builder}/../eclipseInternalBuildTools/cvstest.properties" />
-		<antcall target="configure.team.cvs.test"/>
-
-		<!--replace buildid in vm.properties for JVM location settings-->
-		<replace dir="${eclipse.build.configs}/sdk.tests/testConfigs"
-			token="@buildid@"
-			value="${buildId}"
-			includes="**/vm.properties"/>
-
-		<parallel>
-			<antcall target="test-JUnit" />
-			<antcall target="test-performance" />
-		</parallel>
-	</target>
-
-	<target name="test-JUnit">
-		<echo message="Starting tests." />
-		<property name="dropLocation" value="${postingDirectory}" />
-		<ant antfile="testAll.xml" dir="${eclipse.build.configs}/sdk.tests/testConfigs" />
-
-		<antcall target="generateEclipseIndex" />
-
-		<!--copy the test results and new index page to the posting location-->
-		<copy todir="${postingDirectory}/${buildLabel}" overwrite="true">
-			<fileset dir="${buildDirectory}/${buildLabel}" includes="testresults/**,*.php" />
-		</copy>
-		<replace file="${postingDirectory}/${buildLabel}/testResults.php" token="@build@" value="${buildId}" />
-
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Target used to test the build                                         -->
-	<!-- ===================================================================== -->
-	<target name="test-performance" unless="skip.performance.tests">
-		<echo message="Starting performance tests." />
-		<property name="dropLocation" value="${postingDirectory}" />
-		<ant antfile="testAll.xml" dir="${eclipse.build.configs}/sdk.tests/testConfigs" target="performanceTests" />
-		<antcall target="generatePerformanceResults" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Target used to test the build for internal references                 -->
-	<!-- ===================================================================== -->
-	<target name="test-internalReferences">
-		<waitfor maxwait="4" maxwaitunit="hour" checkevery="1" checkeveryunit="minute">
-			<available file="${postingDirectory}/${buildLabel}/checksum/eclipse-SDK-${buildId}-win32.zip.md5"/>
-		</waitfor>
-
-		<property name="apiscanner" value="${eclipse.build.configs}/sdk/tools/apiscanner" />
-		<property name="workingDir" value="${buildDirectory}/internalReference" />
-		<mkdir dir="${workingDir}" />
-		<unzip src="${postingDirectory}/${buildLabel}/eclipse-SDK-${buildId}-win32.zip" dest="${workingDir}" />
-
-		<java classname="org.eclipse.wtp.releng.tools.component.violation.ComponentViolationEmitter" fork="true" dir="${apiscanner}">
-			<arg line="
-         	-eclipseDir ${workingDir}/eclipse
-         	-compXMLDir ${buildDirectory}/plugins
-         	-compRefDir component-ref
-         	-compVioDir ${postingDirectory}/${buildLabel}/internalReference
-         	-xsl xsl/component-violation.xsl
-         	-summaryXSL xsl/component-violation-summary.xsl" />
-			<classpath>
-				<fileset dir="${apiscanner}/lib" />
-			</classpath>
-		</java>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Helper targets                                                        -->
-	<!-- ===================================================================== -->
-
-
-	<target name="configure.team.cvs.test" unless="test.xml.tmp" if="cvstest.properties">
-		<copy file="${eclipse.build.configs}/sdk.tests/testScripts/test.xml" tofile="${eclipse.build.configs}/sdk.tests/testScripts/test.xml.tmp" />
-		<replace file="${eclipse.build.configs}/sdk.tests/testScripts/test.xml" propertyFile="${cvstest.properties}">
-			<replacefilter token="${cvs_user}" property="cvs_user" />
-			<replacefilter token="${cvs_password}" property="cvs_password" />
-			<replacefilter token="${cvs_host}" property="cvs_host" />
-			<replacefilter token="${cvs_root}" property="cvs_root" />
-		</replace>
-		<delete file="${eclipse.build.configs}/sdk.tests/testScripts/test.xml.tmp" />
-	</target>
-
-
-
-	<target name="generatePerformanceResults">
-		<mkdir dir="${buildDirectory}/${buildLabel}/performance" />
-		<mkdir dir="${postingDirectory}/${buildLabel}/performance" />
-		<taskdef name="performanceResults" classname="org.eclipse.releng.performance.PerformanceResultHtmlGenerator" />
-		<condition property="configArgs" value="-ws gtk -arch ppc">
-			<not>
-				<equals arg1="{os.arch}" arg2="i386" />
-			</not>
-		</condition>
-		<property name="configArgs" value="" />
-
-		<java jar="${basedir}/../org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar" fork="true" maxmemory="256m">
-			<arg line="${configArgs} -application org.eclipse.test.performance.ui.resultGenerator
-					-baseline ${eclipse.perf.ref}
-					-baseline.prefix 3.2_200606291905
-					-current ${buildId}
-					-jvm ${eclipse.perf.jvm}
-					-output ${postingDirectory}/${buildLabel}/performance/
-					-config eclipseperfwin1_R3.3,eclipseperflnx1_R3.3,eclipseperfwin2_R3.3,eclipseperflnx2_R3.3,eclipseperflnx3_R3.3
-					-config.properties ${eclipse.perf.config.descriptors}
-					-scenario.pattern org.eclipse.%.test"
-				/>
-			<!-- add this argument to list above when there are milestone builds to highlight 
-			-highlight.latest 3.3M1_
-			-->
-			<env key="LD_LIBRARY_PATH" value="${basedir}/../org.eclipse.releng.basebuilder" />
-			<sysproperty key="eclipse.perf.dbloc" value="${dbloc}" />
-		</java>
-
-		<performanceResults
-			xmlDirectoryName="${postingDirectory}/${buildLabel}/performance/xml"
-			dropDirectoryName="${postingDirectory}/${buildLabel}"
-			testResultsTemplateFileName="${publishingContent}/templateFiles/performance.php.template"
-			testResultsHtmlFileName="performance/performance.php"
-			hrefTestResultsTargetPath="html"
-			testManifestFileName="${publishingContent}/performanceTestManifest.xml" 
-		/>
-
-		<replace file="${postingDirectory}/${buildLabel}/performance/performance.php" token="@buildType@" value="${buildType}" />
-	</target>
-
-	<target name="verifyCompile" if="eclipse.running">
-
-		<echo message="Checking for compile errors..." />
-		<echo message="Log file directory: ${postingDirectory}/${buildId}/compilelogs" />
-
-		<!--create html output for compile logs-->
-		<echo message="${postingDirectory}/${buildId}/compilelogs/plugins"/>
-		<eclipse.convert input="${postingDirectory}/${buildId}/compilelogs/plugins" validation="true"/>
-
-		<!-- Sends email to recipient list in monitor.properties with compile logs attached if errors found-->
-		<!-- The shell scripts will gather compile error plugin list into monitor.properties -->
-		<echo message="${eclipse.build.configs}/../../extras/verifyCompile.sh"/>
-		<exec executable="${eclipse.build.configs}/../../extras/verifyCompile.sh">
-			<arg value="${postingDirectory}/${buildId}/compilelogs"/>
-		</exec>
-		<echo message=" start check compile error"/>
-		<antcall target="checkCompileError"/>
-	</target>
-
-	<target name="rSyncWithSnzZrh" unless="test">
-		<waitfor maxwait="300" maxwaitunit="minute" checkevery="1" checkeveryunit="minute">
-			<available file="${postingDirectory}/${buildId}/eclipse-Automated-Tests-${buildId}.zip" />
-		</waitfor>
-		<antcall target="zrhBuilds" />
-		<antcall target="snzBuilds" />
-	</target>
-
-	<target name="snzBuilds">
-		<!--copy drops to local directory for rsync with snz-->
-		<copy todir="/builds/transfer/files/snz">
-			<fileset dir="${postingDirectory}" includes ="${buildId}/eclipse-SDK-*-win32.zip,${buildId}/eclipse-SDK-*-linux-gtk.tar.gz" excludes="${buildId}/eclipse-SDK-examples-*-win32.zip" />
-		</copy>
-	</target>
-
-	<target name="zrhBuilds">
-		<!--copy drops to local directory for rsync with zrh-->
-		<copy todir="/builds/transfer/files/zrh">
-			<fileset dir="${postingDirectory}" includes ="${buildId}/eclipse-SDK-*-macosx-carbon.tar.gz,${buildId}/eclipse-SDK-*-win32.zip,${buildId}/eclipse-SDK-*-linux-*.tar.gz" excludes="${buildId}/eclipse-SDK-examples-*-win32.zip,${buildId}/eclipse-SDK-*-linux-gtk-x86_64.tar.gz,${buildId}/eclipse-SDK-*-linux-gtk-ppc.tar.gz" />
-		</copy>
-	</target>
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="You must specify a target when invoking this file" />
-	</target>
-
-	<target name="buildUpdateJars">
-		<property name="updateJarWorkingDir" value="${buildDirectory}/updateJars" />
-		<mkdir dir="${updateJarWorkingDir}" />
-		<mkdir dir="${updateJarWorkingDir}/site" />
-
-		<!--eclipse-master-${buildId}.bak.zip contains the signed update jars. eclipse-master-${buildId}.zip contains the
-		features and plug-ins unpacked.  Need features in directory structures for tool to work. -->
-
-		<unzip src="${buildDirectory}/${buildId}/birt-report-framework-sdk-${package.version}.zip" dest="${updateJarWorkingDir}" />
-
-		<!--operation on creates update jars for features and for plug-ins which are to be unpacked when installed-->
-		<java classname="org.eclipse.releng.generators.UpdateBuilder" >
-			<arg line="-root ${updateJarWorkingDir}/eclipse -directory ${buildDirectory}/directory.txt -build ${buildId} -site ${updateJarWorkingDir}/site -sitexml ${updateSite}/site.xml" />
-			<classpath>
-				<pathelement location="${base.builder}/plugins/org.eclipse.internal.build.tools/internalTools.jar"/>
-				<pathelement location="${base.builder}/plugins/org.eclipse.build.tools/buildTools.jar"/>
-				<pathelement location="${base.builder}/plugins/org.eclipse.osgi_3.2.0.v20060601.jar"/>
-			</classpath>
-		</java>
-		
-		<!--store previous site.xml-->
-		<move file="${updateSite}/site.xml" tofile="${updateSite}/site.xml.bak" overwrite="true" />
-		<!--copy site.xml to update site-->
-		<copy todir="${updateSite}" overwrite="true">
-			<fileset dir="${updateJarWorkingDir}/site" includes="site.xml" />
-		</copy>
-		
-		<mkdir dir="${updateSite}/features" />
-		<mkdir dir="${updateSite}/plugins" />
-
-		<!--use original signed update jars-->
-		<!-- back up 
-		<exec executable="unzip" dir=".">
-			<arg line="-j ${buildDirectory}/${buildId}/birt-report-framework-sdk-${package.version}.bak.zip -i */features/* -x */master-equinox* */com.ibm.icu.base* -d ${updateSite}/features" />
-		</exec>
-		-->
-		<exec executable="unzip" dir=".">
-			<arg line="-j ${buildDirectory}/${buildId}/birt-report-framework-sdk-${package.version}.bak.zip -i */features/* -d ${updateSite}/features" />
-		</exec>
-	    <java jar="${eclipse.home}/startup.jar"
-	           fork="true"
-     	       jvm="${java15-home}/bin/java"
-	           failonerror="true"
-	           maxmemory="128m"
-			   dir="${buildDirectory}">
-	         <arg line="-application org.eclipse.update.core.siteOptimizer"/>
-	         <arg line="-digestBuilder -digestOutputDir=${updateSite} -siteXML=${updateSite}/site.xml"/>
-	       </java>
-	</target>
-
-	<target name="cleanSites">
-		<cleanSite ageInMinutes="1440" directoryName="/builds/transfer/files/master/downloads/drops" realDelete="true" />
-		<cleanSite ageInMinutes="1440" directoryName="/builds/transfer/files/master/equinox/drops/" realDelete="true" />
-		<cleanSite ageInMinutes="1440" directoryName="/builds/transfer/files/bogus/downloads/drops" realDelete="true" />
-		<cleanSite ageInMinutes="1440" directoryName="/builds/transfer/files/zrh" realDelete="true" />
-		<cleanSite ageInMinutes="1440" directoryName="/builds/transfer/files/snz" realDelete="true" />
-	</target>
-
-	<target name="CheckoutFromP4" depends="init">
-
-		<!-- check out org.eclipse.releng     -->
-		<!-- check out version control files  -->
-
-		<property file="${eclipse.build.configs}/../../config.properties"/>
-
-		<echo message="p4.workspace=${p4.workspace}"/>
-		<echo message="p4.home=${p4.home}"/>
-		<echo message="p4.client=${p4.client}"/>
-
-
-        <delete dir="${p4.workspace}/Development/JRP/Dev/build" failonerror="false" />
-        <mkdir dir="${p4.workspace}/Development/JRP/Dev/build" />
-
-        <delete dir="${p4.home}/CvsDiff" failonerror="false"/>
-		<delete dir="${p4.home}/reportTestsLib" failonerror="false"/>
-
-		<!-- checkout the package to checkout.dir -->
-        <echo message="checking out daily build scripts" />
-
-        <!-- //${p4.client}/Development/JRP/Dev/build/sampleReports/... 
-        //${p4.client}/Development/JRP/Dev/build/cvsDiff/... 
-        -->
-        <p4sync view="//${p4.client}/Development/JRP/Dev/build/script/... 
-                      //${p4.client}/Development/JRP/Dev/build/lib/... 
-     		  //${p4.client}/Development/JRP/Dev/build/AutomationLib/...
-	          //${p4.client}/Development/JRP/Dev/birt/org.eclipse.birt.report.data.oda.jdbc/jdbc-drivers/..." 
-                    port="${p4.port}" 
-                    user="${p4.user}" 
-                    globalopts="-P ${p4.passwd}" 
-                    failonerror="true" 
-                    force="true" />
-
-        <copy todir="${p4.home}/reportTestsLib"  overwrite="true" failonerror="true">
-                <fileset dir="${p4.workspace}/Development/JRP/Dev/build/AutomationLib"/>
-        </copy>
-        <copy todir="${p4.home}/drivers"  overwrite="true" failonerror="true">
-                <fileset dir="${p4.workspace}/Development/JRP/Dev/birt/org.eclipse.birt.report.data.oda.jdbc/jdbc-drivers"/>
-        </copy>
-		<!--
-        <copy todir="${p4.home}/CvsDiff"  overwrite="true" failonerror="true">
-                <fileset dir="${p4.workspace}/Development/JRP/Dev/build/cvsDiff"/>
-        </copy>
-        -->
-		<copy todir="${p4.home}/../PackageFiles/template" overwrite="true" failonerror="true">
-			<fileset dir="${p4.workspace}/Development/JRP/Dev/build/script/template">
-				<include name="**"/>
-			</fileset>
-		</copy>
-	</target>
-
-	<target name="backupSrc">
-	</target>
-
-	<target name="cleanBuild">
-
-		<echo message="clean up last input under ${buildDirectory} ..." />
-		<delete failonerror="false" includeemptydirs="true">
-			<fileset dir="${buildDirectory}">	
-				<include name="*.properties"/>
-				<include name="*.txt"/>
-				<include name="*.xml"/>
-				<include name="plugins/**"/>
-				<include name="features/**"/>
-				<include name="maps/source"/>
-			</fileset>
-		</delete>
-		<delete failonerror="false" includeemptydirs="true">
-			<fileset dir="${p4.home}">	
-				<include name="source/**"/>
-				<include name="CvsResult/*.xml"/>
-				<include name="CvsResult/DaysInPast/*.xml"/>
-			</fileset>
-		</delete>
-	</target> 
-	<target name="init">
-		<echo message="loading ${eclipse.build.configs}/../../build.properties ..."/>
-		<property file="${eclipse.build.configs}/../../build.properties"/>
-	</target>
-
-	<target name="getDTPDownloads" depends="init">
-
-		<tstamp prefix="timestamp">
-			<format property="TODAY_US" pattern="MMddyy" timezone="GMT-16"/>
-			<format property="TODAY_SH" pattern="MMddyy" />
-		</tstamp>
-
-		<property name="plugin-dest" value="${baseLocation}"/>
-		<property name="package-dest" value="${baseLocation}/../PackageFiles"/>
-		<property name="AllInOne-dest" value="${baseLocation}/../PackageFiles/AllInOne"/>
-		<property name="AllInOne-Linux-dest" value="${baseLocation}/../PackageFiles/AllInOne-Linux"/>
-		<property name="file-version" value="${file-prefix}${timestamp.TODAY_US}"/>
-
-		<get src="http://download.eclipse.org/datatools/downloads/drops/N_DTP_1.6/${file-version}.zip"  dest="${postingDirectory}/../platform/DTP/${file-version}.zip" verbose="true" usetimestamp="true" />
-
-		<echo message="START to Unzip the downloaded Plugins files" />
-		<unzip src="${postingDirectory}/../platform/DTP/${file-version}.zip" dest="${p4.home}/downloads/${file-version}"/>
-		
-		<echo message="Clean last download stuff" />
-		<delete includeemptydirs="true" failonerror="false">
-			<fileset dir="${plugin-dest}/plugins" >
-				<include name="*.datatools.*.jar" />
-				<include name="org.eclipse.datatools.*/**" />
-			        <include name="org.apache.xerces_*.jar"/>
-			        <include name="org.apache.xml.resolver_*.jar"/>
-			        <include name="javax.wsdl_*.jar"/>
-			</fileset>
-			<fileset dir="${plugin-dest}/features" >
-				<include name="org.eclipse.datatools.*/**" />
-			</fileset>
-			<fileset dir="${package-dest}/dtp/eclipse/plugins" >
-				<include name="*.datatools.*.jar" />
-				<include name="org.eclipse.datatools.*/**" />
-			        <include name="org.apache.xerces_*.jar"/>
-			        <include name="org.apache.xml.resolver_*.jar"/>
-			        <include name="javax.wsdl_*.jar"/>
-			</fileset>
-			<fileset dir="${package-dest}/dtp/eclipse/features" >
-				<include name="org.eclipse.datatools.*/**" />
-			</fileset>
-			<!-- =============================
-			<fileset dir="${AllInOne-dest}/eclipse/plugins" >
-				<include name="*.datatools.*.jar" />
-				<include name="org.eclipse.datatools.*/**" />
-			        <include name="org.apache.xerces_*.jar"/>
-			        <include name="org.apache.xml.resolver_*.jar"/>
-			        <include name="javax.wsdl_*.jar"/>
-			</fileset>
-			<fileset dir="${AllInOne-dest}/eclipse/features" >
-				<include name="org.eclipse.datatools.*/**" />
-			</fileset>
-			<fileset dir="${AllInOne-Linux-dest}/eclipse/plugins" >
-				<include name="*.datatools.*.jar" />
-				<include name="org.eclipse.datatools.*/**" />
-			        <include name="org.apache.xerces_*.jar"/>
-			        <include name="org.apache.xml.resolver_*.jar"/>
-			        <include name="javax.wsdl_*.jar"/>
-			</fileset>
-			<fileset dir="${AllInOne-Linux-dest}/eclipse/features" >
-				<include name="org.eclipse.datatools.*/**" />
-			</fileset>
-				====================================== -->
-		</delete>
-
-		<!--Define the ODA dependency plugins-->
-		<patternset id="oda.runtime.plugins">
-			<include name="org.eclipse.datatools.connectivity_*.jar" />
-			<include name="org.eclipse.datatools.connectivity.ui_*.jar" />
-			<include name="org.eclipse.datatools.connectivity.ui.dse_*.jar" />
-			<include name="org.eclipse.datatools.doc.user_*/**"/>
-			<include name="org.eclipse.datatools.connectivity.oda.consumer_*.jar" />
-			<include name="org.eclipse.datatools.connectivity.oda.design.ui_*.jar" />
-			<include name="org.eclipse.datatools.connectivity.oda.design_*.jar" />
-			<include name="org.eclipse.datatools.connectivity.oda.flatfile.ui_*.jar" />
-			<include name="org.eclipse.datatools.connectivity.oda.flatfile_*.jar" />
-			<include name="org.eclipse.datatools.connectivity.oda.profile_*.jar" />
-			<include name="org.eclipse.datatools.connectivity.oda_*.jar" />
-			<include name="org.eclipse.datatools.connectivity.oda.designer.finfo_*.jar"/>
-			<include name="org.eclipse.datatools.connectivity.oda.finfo_*.jar"/>
-			<include name="org.eclipse.datatools.connectivity.oda.template.ui_*.jar"/>
-			<include name="org.eclipse.datatools.enablement.oda.xml_*.jar"/>
-			<include name="org.eclipse.datatools.enablement.oda.xml.ui_*.jar"/>
-			<include name="org.eclipse.datatools.enablement.oda.designer.finfo_*.jar"/>
-			<include name="org.eclipse.datatools.enablement.oda.finfo_*.jar"/>
-			<include name="org.eclipse.datatools.oda.cshelp_*.jar"/>
-			<include name="org.eclipse.datatools.enablement.oda.ws.ui_*.jar"/>
-			<include name="org.eclipse.datatools.enablement.oda.ws_*.jar"/>
-			<include name="org.eclipse.datatools.help_*.jar"/>
-			<include name="org.eclipse.datatools.doc.isv_*.jar"/>
-			<include name="org.apache.xerces_*.jar"/>
-			<include name="org.apache.xml.resolver_*.jar"/>
-			<include name="javax.wsdl_*.jar"/>
-		</patternset>
-		<patternset id="oda.runtime.features">
-			<include name="org.eclipse.datatools.connectivity.oda.designer.feature_*/**" />
-			<include name="org.eclipse.datatools.connectivity.oda.feature_*/**" />
-    		<include name="org.eclipse.datatools.enablement.oda.feature_*/**" />
-    		<include name="org.eclipse.datatools.enablement.oda.designer.feature_*/**" />
-			<include name="org.eclipse.datatools.doc.user_*/**"/>
-		</patternset>
-
-
-		<!-- Copy to static baseLocation -->
-		<copy todir="${plugin-dest}/plugins" failonerror="false" >
-			<fileset dir="${p4.home}/downloads/${file-version}/eclipse/plugins">
-				<patternset refid="oda.runtime.plugins" />
-			</fileset> 
-		</copy>	
-		<copy todir="${plugin-dest}/features" failonerror="false" >
-			<fileset dir="${p4.home}/downloads/${file-version}/eclipse/features">
-				<patternset refid="oda.runtime.features" />
-			</fileset> 
-		</copy>
-
-		<!-- Copy to package files dir -->	
-		<copy todir="${package-dest}/dtp/eclipse/plugins" failonerror="false">
-			<fileset dir="${p4.home}/downloads/${file-version}/eclipse/plugins">
-				<patternset refid="oda.runtime.plugins" />
-			</fileset>
-		</copy>
-				
-		<copy todir="${package-dest}/dtp/eclipse/features" failonerror="false" >
-			<fileset dir="${p4.home}/downloads/${file-version}/eclipse/features">
-				<patternset refid="oda.runtime.features" />
-			</fileset> 
-		</copy>
-	</target>
-	
-	<!-- Build BIRT Web Viewer -->
-	<target name="BuildWebViewer" depends="init">
-		<mkdir dir="${buildDirectory}/${buildId}/birt_web"/>
-		<ant antfile="WebViewerPackager.xml" dir="${buildDirectory}/plugins/org.eclipse.birt.report.viewer" target="Jar">
-			<property name="integrate.dir" value="${buildDirectory}/${buildId}/eclipse"/>
-			<property name="baseLocation.emf" value="${baseLocation.emf}"/>
-		</ant>
-		<ant antfile="WebViewerPackager.xml" dir="${buildDirectory}/plugins/org.eclipse.birt.report.viewer" target="Export">
-			<property name="export.dir" value="${buildDirectory}/${buildId}/birt_web"/>
-		</ant>
-		<!-- copy extra chartengine and emf -->
-		<!--
-		<copy todir="${buildDirectory}/${buildId}/birt_web/org.eclipse.birt.report.viewer/birt_web/WEB-INF/platform/lib">
-			<fileset dir="${baseLocation}/plugins/">
-				<include name="org.eclipse.emf.common_*.jar" />
-				<include name="org.eclipse.emf.ecore.xmi_*.jar" />
-				<include name="org.eclipse.emf.ecore_*.jar" />
-			</fileset>
-		</copy>
-		<copy todir="${buildDirectory}/${buildId}/birt_web/org.eclipse.birt.report.viewer/birt_web/WEB-INF/platform/lib">
-			<fileset dir="${buildDirectory}/${buildId}/eclipse/plugins" />
-			<mapper type="regexp"  from="org.eclipse.birt.chart.engine_.*.jar" to="chartengineapi.jar"/>
-		</copy>
-		-->
-		<copy todir="${buildDirectory}/${buildId}/birt_web/org.eclipse.birt.report.viewer/birt_web/WEB-INF/lib">
-			<fileset dir="${buildDirectory}/${buildId}/eclipse/plugins" >
-				<include name="org.eclipse.birt.chart.engine_.*.jar"/>
-			</fileset>
-                        <mapper type="regexp"  from="org.eclipse.birt.chart.engine_.*.jar" to="chartengineapi.jar"/>
-		</copy>
-	</target>
-	
-	<target name="runBirtPerformance" depends="init">
-		<ant dir="${runner.dir}" antfile="testRunner.xml" target="org.eclipse.birt.test.performance"/>
-		<!-- copy performance result to public test result dir -->
-		<property file="${buildDirectory}/finalPluginsVersions.properties"/>
-		<copy todir="${test.dir}/unitTestReport/html">
-			<fileset dir="${test.dir}/eclipse/plugins/org.eclipse.birt.test.performance_${org.eclipse.birt.test.performance}">
-				<include name="reporting_*.xml"/>
-			</fileset>
-		</copy>
-	</target>
-	
-	<target name="runBirtTest" depends="init,prepareBirtTest">
-		<!-- call the birt unit test -->
-		<ant dir="${runner.dir}" antfile="testRunner.xml" />
-		<antcall target="transformTestReports"/>
-	</target>
-	
-	<target name="prepareBirtTest" depends="init">
-		<!-- Clean last test plugins -->
-		<delete includeEmptyDirs="true" failonerror="false">
-			<fileset dir="${test.dir}/eclipse">
-				<include name="**/*"/>
-			</fileset>
-		</delete>
-		<!-- clean last unit test reports -->
-		<delete failonerror="false">
-			<fileset dir="${test.dir}/unitTestReport">
-				<include name="**/*.xml"/>
-				<include name="**/*.html"/>
-				<exclude name="**/build.xml"/>
-			</fileset>
-		</delete>
-		<!-- prepare unit test components -->
-		<copy todir="${test.dir}">
-			<fileset dir="${postingDirectory}/${buildId}">
-				<include name="birt-report-designer-all-in-one-${package.version}-linux-gtk.tar.gz"/>
-				<include name="birt-tests-suite-${package.version}.zip"/>
-			</fileset>
-		</copy>
-		
-		<exec executable="gunzip" dir="${test.dir}">
-			<arg line="birt-report-designer-all-in-one-${package.version}-linux-gtk.tar.gz" />
-		</exec>
-		<exec executable="tar" dir="${test.dir}">
-			<arg line="-xvf birt-report-designer-all-in-one-${package.version}-linux-gtk.tar" />
-		</exec>
-		<exec executable="unzip" dir="${test.dir}">
-			<arg line="-o -q birt-tests-suite-${package.version}.zip -d ${test.dir}" />
-		</exec>
-		<exec executable="unzip" dir="${postingDirectory}/${buildId}/../../platform/2.3M4_platform">
-			<arg line="-o -q eclipse-test-framework-3.4M4.zip -d ${test.dir}" />
-		</exec>
-		<delete>
-			<fileset dir="${test.dir}">
-				<include name="*.zip"/>
-				<include name="*.gz"/>
-				<include name="*.tar"/>
-			</fileset>
-		</delete>
-
-		<!-- copy drivers for jdbc testing -->
-		<property file="${buildDirectory}/finalPluginsVersions.properties"/>
-		<copy todir="${test.dir}/eclipse/plugins/org.eclipse.birt.report.data.oda.jdbc_${org.eclipse.birt.report.data.oda.jdbc}/drivers">
-			<fileset dir="${p4.home}/drivers">
-				<include name="**"/>
-			</fileset>
-		</copy>
-	</target>
-	
-
-	
-	<target name="transformTestReports">
-		<property file="${buildDirectory}/finalPluginsVersions.properties"/>
-		<copy todir="${test.dir}/unitTestReport/smokexml">
-			<fileset dir="${test.dir}/eclipse/plugins/org.eclipse.birt.report.tests.engine_${org.eclipse.birt.report.tests.engine}">
-				<include name="TESTS-*.xml"/>
-			</fileset>
-			<fileset dir="${test.dir}/eclipse/plugins/org.eclipse.birt.tests.data_${org.eclipse.birt.tests.data}">
-				<include name="TESTS-*.xml"/>
-			</fileset>
-		</copy>
-		<!-- XSLT trasform-->
-		<exec executable="${test.dir}/unitTestReport/processXML.sh"/>
-		<ant dir="${test.dir}/unitTestReport" antfile="build.xml"/>
-		<mkdir dir="${postingDirectory}/../unitTestReport/${package.version}/${buildId}"/>
-		<copy todir="${postingDirectory}/../unitTestReport/${package.version}/${buildId}" overwrite="true">
-			<fileset dir="${test.dir}/unitTestReport/html">
-				<include name="*.html"/>
-			</fileset>
-		</copy>
-	</target>
-	
-	<target name="buildLanguagePack">
-		<antcall target="MakeNLPack1"/>
-		<antcall target="PackageNLPack1"/>
-	</target>
-	<target name="MakeNLPack1">
-		<echo message="Start Make NL1 Pack" />
-		<ant antfile="LanguagePackBuild.xml" dir="${eclipse.build.configs}/birt.nl/tools" target="main" inheritAll="true">
-			<property name="build.id" value="${buildId}" />
-		</ant>
-	</target>
-	
-	<target name="PackageNLPack1" >
-		<echo message="Start Packaging NL1 for full, framework and RCP" />
-		<ant antfile="BIRTDownloadSetup.xml" target="createNLGroup1" dir="${eclipse.build.configs}/birt/tools"  inheritAll="false">
-			<property name="deposit" value="${buildDirectory}/${buildId}" />
-			<property name="OutputDir" value="${postingDirectory}/${buildId}"/>
-		</ant>
-		<echo message="Start Packaging NL1 for charts" />
-		<ant antfile="BIRTDownloadSetup.xml" target="createNLGroup1Chart" dir="${eclipse.build.configs}/birt/tools"  inheritAll="false">
-			<property name="deposit" value="${buildDirectory}/${buildId}" />
-			<property name="OutputDir" value="${postingDirectory}/${buildId}"/>
-		</ant>
-		<echo message="Start Packaging NL1 for runtime" />
-		<ant antfile="BIRTDownloadSetup.xml" target="createNLGroup1Runtime" dir="${eclipse.build.configs}/birt/tools"  inheritAll="false">
-			<property name="deposit" value="${buildDirectory}/${buildId}" />
-			<property name="OutputDir" value="${postingDirectory}/${buildId}"/>
-		</ant>
-		<!-- Create NL FeatureOverlay packages -->
-		<ant antfile="BIRTDownloadSetup.xml" dir="${eclipse.build.configs}/birt/tools" target="createBirtNLFeatureOverlay">
-			<property name="OutputDir" value="${postingDirectory}/${buildId}" />
-			<property name="deposit" value="${buildDirectory}/${buildId}" />
-		</ant>
-	</target>
-	
-	<target name="InformQA" unless="nomail">
-        <property file="${eclipse.build.configs}/../../config.properties" />
-        <mail mailport="${mail.port}" tolist="${QA.members}" from="${mail.from}" replyto="${replyto.address}" subject="${BranchVersion} Build Is Ready (BuildId: ${buildId})" >
-                <message>
-Hi All,
-
-Today's build (BuildId: ${buildId}) is available.
-Build based on:
-${build.environment}
-                	
-Please download :
-                	
-AllInOne from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-report-designer-all-in-one-${package.version}.zip${rtn}               	
-AllInOne for linux from: ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-report-designer-all-in-one-${package.version}-linux-gtk.tar.gz${rtn}               	
-RCP from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-rcp-report-designer-${package.version}.zip${rtn}            	
-Runtime from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-runtime-${package.version}.zip${rtn}           	
-Framework from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-report-framework-${package.version}.zip${rtn}
-Source drops from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-source-${package.version}.zip${rtn}              	
-JUnit Test Suite Framework from ${QA.test.dir}\BIRT2.3-download\${buildId}\birt-tests-suite-${package.version}.zip${rtn}
-                	
-NL pack from ${QA.test.dir}\BIRT2.3-download\${buildId}\
-
-Internal Update Site URL: http://qa-build/UpdateSite/${package.version}
-
-Please visit [ http://qa-build:8080/BuildCentral ] for more information.
-                	
-Have a nice day!
-                </message>
-        </mail>
-		<!-- create download info file -->
-		<echo file="download.properties" append="false">
-			allInOne=\\${QA.test.dir}\\BIRT2.3-download\\${buildId}\\birt-report-designer-all-in-one-${package.version}.zip
-			runtime=\\${QA.test.dir}\\BIRT2.3-download\\${buildId}\\birt-runtime-${package.version}.zip
-			rcp=\\${QA.test.dir}\\BIRT2.3-download\\${buildId}\\birt-rcp-report-designer-${package.version}.zip
-			frameworkSDK=\\${QA.test.dir}\\BIRT2.3-download\\${buildId}\\birt-report-framework-sdk-${package.version}.zip
-		</echo>
-		<copy tofile="${postingDirectory}/download.properties" file="download.properties" overwrite="true" />
-	</target>
-	
-	<target name="InformPerformance" unless="nomail">
-		<property file="${eclipse.build.configs}/../../config.properties" />			
-        <mail mailport="${mail.port}" subject="${BranchVersion} Performance Test Reporting (BuildId: ${buildId} ) " tolist="${QA.PERFORMANCE}">
-			<from address="${mail.from}"/>
-			<replyto address="${replyto.address}"/>
-			<message>
-Hi All,
-
-Please see the attachments for performance test (BuildId: ${buildId}) results.
-
-Please visit [ http://qa-build:8080/BuildCentral ] for more information.
-				
-Have a nice day!
-			</message>
-			<fileset dir="${test.dir}/unitTestReport/html">
-				<include name="reporting_*.xml"/>
-			</fileset>
-		</mail>
-	</target>
-
-
-    <target name="genTestResultSummary">
-    	<property file="${eclipse.build.configs}/../../config.properties" />
-        <property name="tool.lib.path" value="${p4.home}/dailybuild/source/org.eclipse.birt.build"/>
-        <path id="customjar.classpath">
-                <path location="${tool.lib.path}/customtask.jar" />
-                <fileset dir="${tool.lib.path}/lib">
-                        <include name="*.jar"/>
-                </fileset>
-        </path>
-        <!-- Using custom build tools to get failure/error summary of test result -->
-        <java classname="org.eclipse.birt.build.ParseResultCount">
-            <classpath refid="customjar.classpath" />
-            <arg value="${test.dir}/unitTestReport/xml" />
-            <arg value="${test.dir}/unitTestReport/html/result.properties" />
-            <arg value="Y"/>
-            <arg value="Y"/>
-        </java>
-	<!--
-        <java classname="org.eclipse.birt.build.ParseResultCount">
-            <classpath refid="customjar.classpath" />
-            <arg value="${test.dir}/unitTestReport/smokexml" />
-            <arg value="${test.dir}/unitTestReport/html/result.properties" />
-            <arg value="Y"/>
-            <arg value="N"/>
-        </java>
-	-->
-    	<move file="${test.dir}/unitTestReport/html/result.properties" 
-    		tofile="${postingDirectory}/result.properties"/>
-    </target>
-	
-	<target name="InformAutomation" unless="nomail">
-		<property file="${eclipse.build.configs}/../../config.properties" />			
-        <mail mailport="${mail.port}" subject="${BranchVersion} Test Suite Projects Reporting (BuildId: ${buildId} ) " tolist="${QA.AUTOMATION}">
-			<from address="${mail.from}"/>
-			<replyto address="${replyto.address}"/>
-			<message>
-Hi All,
-
-Please see the attachments for test results.
-The repository of junit test reports can be found under: 	${QA.test.dir}\unitTestReport\${package.version}\
-
-Please visit [ http://qa-build:8080/BuildCentral ] for more information.
-				
-Have a nice day!
-			</message>
-			<!--
-			<fileset dir="${test.dir}/unitTestReport/html">
-				
-				<include name="TESTS-EngineSmokeTests.html"/>
-				<include name="TESTS-DtESmokeTests.html"/>
-				
-				<include name="org.eclipse.birt.report.tests.model.AllTests.html"/>
-				<include name="org.eclipse.birt.report.tests.engine.AllTests.html"/>
-				<include name="org.eclipse.birt.report.tests.chart.AllTests.html"/>
-				<include name="org.eclipse.birt.tests.data.engine.AllTests.html"/>
-				<include name="org.eclipse.birt.report.tests.regression.AllTests.html"/>
-			</fileset>
-			-->
-		</mail>
-	</target>
-	
-	<target name="checkErrorExist">
-		<property file="${eclipse.build.configs}/../../monitor.properties" />
-		<condition property="has.compile.error" value="true">
-			<equals arg1="${compileHasError}" arg2="true" />
-		</condition>
-		<echo message="${has.compile.error}"/>
-		<echo message="monitor: ${eclipse.build.configs}/../../monitor.properties" />
-	</target>
-	
-    <target name="checkCompileError" depends="checkErrorExist" if="has.compile.error" >
-		<property file="${eclipse.build.configs}/../../config.properties" />
-		<property file="${eclipse.build.configs}/../../monitor.properties" />
-		<echo message="${mail.port}"/>
-		<echo message="${buildId}"/>
-		<echo message="${COMPILE.ERROR.RECIPIENTS}"/>
-		<echo message="${mail.from}"/>
-		<echo message="${replyto.address}"/>
-		<echo message="${error.plugin.list}"/>
-
-		<echo message="${postingDirectory}/${buildId}/compilelogs/plugins"/>
-		<mail mailport="${mail.port}" subject="Compile errors found in Today's Datatools 1.7.1 Build (BuildId: ${buildId} ) " tolist="${COMPILE.ERROR.RECIPIENTS.LOCAL}">
-                    <from address="${mail.from}"/>
-                    <replyto address="${replyto.address}"/>
-                    <message>
-Hi All,
-
-Compile errors are found in today's DTP build(BuildId: ${buildId}):
-                    	
-${error.plugin.list}  
-        
-Please see the attachments for details.
-                    	
-Have a nice day!
-                    </message>
-	<attachments>
-                    <fileset dir="${postingDirectory}/${buildId}/compilelogs/plugins">
-                            <include name="*compilelog.html"/>
-                    </fileset>
-	</attachments>
-            </mail>
-    </target>
-	
-	<target name="generateCompileSummary">
-		
-        <property file="config.properties" />
-        <property name="tool.lib.path" value="${p4.home}/dailybuild/source/org.eclipse.birt.build"/>
-	<property name="compile.log.summary" value="${postingDirectory}/compileSummary.properties"/>
-		
-        <path id="customjar.classpath">
-                <path location="${tool.lib.path}/customtask.jar" />
-                <fileset dir="${tool.lib.path}/lib">
-                        <include name="*.jar"/>
-                </fileset>
-        </path>
-		
-        <delete file="${compile.log.summary}"  failonerror="false" />
-         <!-- Using custom build tools to get failure/error summary of test result -->
-         <java classname="org.eclipse.birt.build.ParseCompileSummary">
-             <classpath refid="customjar.classpath" />
-             <arg value="${postingDirectory}/${buildId}/compilelogs/plugins" />
-             <arg value="${compile.log.summary}" />
-             <arg value="Y" />
-             <arg value="Y" />
-         </java>
-	</target>
-</project>
diff --git a/plugins/org.eclipse.datatools.releng.builder/extras/cvschanges.xml b/plugins/org.eclipse.datatools.releng.builder/extras/cvschanges.xml
deleted file mode 100644
index b32650e..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/extras/cvschanges.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- *************************************************************************
- * Copyright (c) 2007 Sybase, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Sybase, Inc.  - initial API and implementation
- *  
- ***************************************************************************
- -->
-<project default="cvs.changelog" basedir=".">
-
-	<property name="start.date" value="1 July 2007"/>
-	<property name="report.prefix" value="dtp1.6_"/>
-	<property name="cvs.root" value=":pserver:anonymous@dev.eclipse.org:/cvsroot/datatools"/>
-	<property name="ant.home" value="/usr/local/apache-ant-1.7.0"/>
-	<property name="checkout.version" value=" -r BIRT_2_2_2_Release_20080227"/>
-	<property name="cvs.options" value=" "/>
-
-	<target name="cvs.changelog" depends="check.out">
-		<cvschangelog cvsRoot="${cvs.root}" 
-			      dir="${buildDirecory}/../../cvsChangeLog" 
-                              start="${start.date}" 
-                              destfile="${postingDirectory}/${buildId}/${report.prefix}changelog.xml"/>
-		<antcall target="generate.report"/>
-	</target>
-
-	<target name="generate.report">
-		<style in="${postingDirectory}/${buildId}/${report.prefix}changelog.xml" 
-                    out="${postingDirectory}/${buildId}/${report.prefix}changelog.html" 
-                    style="${eclipse.build.configs}/../../extras/dtp_changelog.xsl">
-          		<param name="title" expression="DTP 1.6 ChangeLog"/>
-	        </style>
-	</target>
-
-	<target name="check.out">
-               <cvs cvsRoot="${cvs.root}"
-                     package="org.eclipse.datatools.connectivity/plugins"
-                     dest="${buildDirecory}/../../cvsChangeLog"
-                     command="update -P ${checkout.version} ${cvs.options}"
-                     failonerror="yes" />
-               <cvs cvsRoot="${cvs.root}"
-                     package="org.eclipse.datatools.sqltools/plugins"
-                     dest="${buildDirecory}/../../cvsChangeLog"
-                     command="update -P ${checkout.version} ${cvs.options}"
-                     failonerror="yes" />
-               <cvs cvsRoot="${cvs.root}"
-                     package="org.eclipse.datatools.enablement/plugins"
-                     dest="${buildDirecory}/../../cvsChangeLog"
-                     command="update -P ${checkout.version} ${cvs.options}"
-                     failonerror="yes" />
-               <cvs cvsRoot="${cvs.root}"
-                     package="org.eclipse.datatools.modelbase/plugins"
-                     dest="${buildDirecory}/../../cvsChangeLog"
-                     command="update -P ${checkout.version} ${cvs.options}"
-                     failonerror="yes" />
-	</target>
-</project>
diff --git a/plugins/org.eclipse.datatools.releng.builder/extras/dtp.sc.template b/plugins/org.eclipse.datatools.releng.builder/extras/dtp.sc.template
deleted file mode 100755
index 92c342f..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/extras/dtp.sc.template
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!-- deprecated in Galileo release -->
-<sc:siteContribution
-    xmlns="http://www.eclipse.org/buckminster/CSpec-1.0"
-    xmlns:sc="http://www.eclipse.org/buckminster/SiteContribution-1.0"
-    updateSite="${downloads}/datatools/downloads/drops/N_updates/site.xml">
-    <sc:member
-        name="Xiaoying Gu"
-        email="xgu@actuate.com" />
-    <sc:cspec name="org.eclipse.dtp-sc">
-        <dependencies>
-            <dependency
-                name="org.eclipse.datatools.connectivity.feature"
-                versionDesignator="[@org.eclipse.datatools.connectivity.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.connectivity.oda.designer.feature"
-                versionDesignator="[@org.eclipse.datatools.connectivity.oda.designer.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.connectivity.oda.feature"
-                versionDesignator="[@org.eclipse.datatools.connectivity.oda.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.doc.user"
-                versionDesignator="[@org.eclipse.datatools.doc.user@]" />
-            <dependency
-                name="org.eclipse.datatools.common.doc.user"
-                versionDesignator="[@org.eclipse.datatools.common.doc.user@]" />
-            <dependency
-                name="org.eclipse.datatools.connectivity.doc.user"
-                versionDesignator="[@org.eclipse.datatools.connectivity.doc.user@]" />
-            <dependency
-                name="org.eclipse.datatools.sqltools.doc.user"
-                versionDesignator="[@org.eclipse.datatools.sqltools.doc.user@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.apache.derby.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.apache.derby.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.hsqldb.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.hsqldb.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.ibm.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.ibm.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.jdbc.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.jdbc.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.jdt.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.jdt.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.msft.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.msft.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.mysql.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.mysql.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.oda.designer.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.oda.designer.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.oda.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.oda.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.oracle.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.oracle.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.postgresql.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.postgresql.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.sap.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.sap.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.enablement.sybase.feature"
-                versionDesignator="[@org.eclipse.datatools.enablement.sybase.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.intro"
-                versionDesignator="[@org.eclipse.datatools.intro@]" />
-            <dependency
-                name="org.eclipse.datatools.modelbase.feature"
-                versionDesignator="[@org.eclipse.datatools.modelbase.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.sdk.feature"
-                versionDesignator="[@org.eclipse.datatools.sdk.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.data.feature"
-                versionDesignator="[@org.eclipse.datatools.sqldevtools.data.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.ddl.feature"
-                versionDesignator="[@org.eclipse.datatools.sqldevtools.ddl.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.ddlgen.feature"
-                versionDesignator="[@org.eclipse.datatools.sqldevtools.ddlgen.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.feature"
-                versionDesignator="[@org.eclipse.datatools.sqldevtools.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.parsers.feature"
-                versionDesignator="[@org.eclipse.datatools.sqldevtools.parsers.feature@]" />
-            <dependency
-                name="org.eclipse.datatools.sqldevtools.results.feature"
-                versionDesignator="[@org.eclipse.datatools.sqldevtools.results.feature@]" />
-        </dependencies>
-        <groups>
-            <public name="Enabling Features">
-                <attribute component="org.eclipse.datatools.connectivity.feature" />
-                <attribute component="org.eclipse.datatools.connectivity.oda.designer.feature" />
-                <attribute component="org.eclipse.datatools.connectivity.oda.feature" />
-                <attribute component="org.eclipse.datatools.enablement.apache.derby.feature" />
-                <attribute component="org.eclipse.datatools.enablement.hsqldb.feature" />
-                <attribute component="org.eclipse.datatools.enablement.ibm.feature" />
-                <attribute component="org.eclipse.datatools.enablement.jdbc.feature" />
-                <attribute component="org.eclipse.datatools.enablement.jdt.feature" />
-                <attribute component="org.eclipse.datatools.enablement.msft.feature" />
-                <attribute component="org.eclipse.datatools.enablement.mysql.feature" />
-                <attribute component="org.eclipse.datatools.enablement.oda.designer.feature" />
-                <attribute component="org.eclipse.datatools.enablement.oda.feature" />
-                <attribute component="org.eclipse.datatools.enablement.oracle.feature" />
-                <attribute component="org.eclipse.datatools.enablement.postgresql.feature" />
-                <attribute component="org.eclipse.datatools.enablement.sap.feature" />
-                <attribute component="org.eclipse.datatools.enablement.sybase.feature" />
-                <attribute component="org.eclipse.datatools.modelbase.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.data.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.ddl.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.ddlgen.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.parsers.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.results.feature" />
-            </public>
-            <public name="Database Development">
-                <attribute component="org.eclipse.datatools.doc.user" />
-                <attribute component="org.eclipse.datatools.common.doc.user" />
-                <attribute component="org.eclipse.datatools.connectivity.doc.user" />
-                <attribute component="org.eclipse.datatools.sqltools.doc.user" />
-                <attribute component="org.eclipse.datatools.enablement.feature" />
-                <attribute component="org.eclipse.datatools.intro" />
-                <attribute component="org.eclipse.datatools.sdk.feature" />
-                <attribute component="org.eclipse.datatools.sqldevtools.feature" />
-            </public>
-        </groups>
-    </sc:cspec>
-</sc:siteContribution>
-
-
diff --git a/plugins/org.eclipse.datatools.releng.builder/extras/dtp1.6_changelog.xml b/plugins/org.eclipse.datatools.releng.builder/extras/dtp1.6_changelog.xml
deleted file mode 100755
index 78a6f65..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/extras/dtp1.6_changelog.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<changelog>
-	<entry>
-		<date>2008-03-12</date>
-		<time>07:13</time>
-		<author><![CDATA[xgu]]></author>
-		<file>
-			<name><![CDATA[source/org.eclipse.birt.build/build.properties]]></name>
-			<revision>1.2</revision>
-		</file>
-		<msg><![CDATA[[222352]Move ExportManifestUtils from report.engine to org.eclipse.birt.build project]]></msg>
-	</entry>
-	<entry>
-		<date>2008-03-12</date>
-		<time>07:10</time>
-		<author><![CDATA[xgu]]></author>
-		<file>
-			<name><![CDATA[source/org.eclipse.birt.build/src/org/eclipse/birt/build/ExportManifestUtils.java]]></name>
-			<revision>1.1</revision>
-		</file>
-		<msg><![CDATA[[222352]Move ExportManifestUtils from report.engine to org.eclipse.birt.build project]]></msg>
-	</entry>
-</changelog>
diff --git a/plugins/org.eclipse.datatools.releng.builder/extras/dtp_changelog.xsl b/plugins/org.eclipse.datatools.releng.builder/extras/dtp_changelog.xsl
deleted file mode 100644
index edf01b8..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/extras/dtp_changelog.xsl
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<xsl:stylesheet
-    xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
-    version='1.0'>
-
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You 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.
-   
--->
-  <xsl:param name="title"/>
- 
-  <xsl:output method="html" indent="yes" encoding="US-ASCII"
-              doctype-public="-//W3C//DTD HTML 4.01//EN"
-              doctype-system="http://www.w3.org/TR/html401/strict.dtd"/>
-
-  <!-- Copy standard document elements.  Elements that
-       should be ignored must be filtered by apply-templates
-       tags. -->
-  <xsl:template match="*">
-    <xsl:copy>
-      <xsl:copy-of select="attribute::*[. != '']"/>
-      <xsl:apply-templates/>
-    </xsl:copy>
-  </xsl:template>
-
-  <xsl:template match="changelog">
-    <html>
-      <head>
-        <title><xsl:value-of select="$title"/></title>
-        <style type="text/css">
-          body, p {
-            font-family: Verdana, Arial, Helvetica, sans-serif;
-            font-size: 80%;
-            color: #000000;
-            background-color: #ffffff;
-          }
-          tr, td {
-            font-family: Verdana, Arial, Helvetica, sans-serif;
-            background: #eeeee0;
-          }
-          td {
-            padding-left: 20px;
-          }
-      .dateAndAuthor {
-            font-family: Verdana, Arial, Helvetica, sans-serif;
-            font-weight: bold;
-            text-align: left;
-            background: #a6caf0;
-            padding-left: 3px;
-      }
-          a {
-            color: #000000;
-          }
-          pre {
-            font-weight: bold;
-          }
-        </style>
-      </head>
-      <body>
-        <h1>
-          <a name="top"><xsl:value-of select="$title"/></a>
-        </h1>
-        <p style="text-align: right">Designed for use with <a href="http://ant.apache.org/">Apache Ant</a>.</p>
-        <hr/>
-        <table border="0" width="100%" cellspacing="1">
-          
-          <xsl:apply-templates select=".//entry">
-            <xsl:sort select="date" data-type="text" order="descending"/>
-            <xsl:sort select="time" data-type="text" order="descending"/>
-          </xsl:apply-templates>
-          
-        </table>
-        
-      </body>
-    </html>
-  </xsl:template>
-  
-  <xsl:template match="entry">
-    <tr>
-      <td class="dateAndAuthor">
-        <xsl:value-of select="date"/><xsl:text> </xsl:text><xsl:value-of select="time"/><xsl:text> </xsl:text><xsl:value-of select="author"/>
-      </td>
-    </tr>
-    <tr>
-      <td>
-        <pre>
-<xsl:apply-templates select="msg"/></pre>
-        <ul>
-          <xsl:apply-templates select="file"/>
-        </ul>
-      </td>
-    </tr>
-  </xsl:template>
-
-  <xsl:template match="date">
-    <i><xsl:value-of select="."/></i>
-  </xsl:template>
-
-  <xsl:template match="time">
-    <i><xsl:value-of select="."/></i>
-  </xsl:template>
-
-  <xsl:template match="author">
-    <i>
-      <a>
-        <xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute>
-        <xsl:value-of select="."/></a>
-    </i>
-  </xsl:template>
-
-  <xsl:template match="file">
-    <li>
-         <xsl:value-of select="name" /> (<xsl:value-of select="revision"/>)
-    </li>
-  </xsl:template>
-
-  <!-- Any elements within a msg are processed,
-       so that we can preserve HTML tags. -->
-  <xsl:template match="msg">
-    <xsl:apply-templates/>
-  </xsl:template>
-  
-</xsl:stylesheet>
diff --git a/plugins/org.eclipse.datatools.releng.builder/extras/pack.properties b/plugins/org.eclipse.datatools.releng.builder/extras/pack.properties
deleted file mode 100644
index 88193c3..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/extras/pack.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pack200.default.args=-E4
-
diff --git a/plugins/org.eclipse.datatools.releng.builder/extras/pack200 b/plugins/org.eclipse.datatools.releng.builder/extras/pack200
deleted file mode 100644
index 56a146a..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/extras/pack200
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-@pack200@ -E4 -J-Xmx512m $*
-
-pack200retCode=$?
-
-if [ $pack200retCode != 0 ]
-then
-        echo "Build failed (error code $retCode)."
-        exit -1
-fi
-
diff --git a/plugins/org.eclipse.datatools.releng.builder/extras/site.xml b/plugins/org.eclipse.datatools.releng.builder/extras/site.xml
deleted file mode 100644
index d83fd52..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/extras/site.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <description url="http://download.eclipse.org//datatools/drops/updates/site.xml">
-      To install these plugins, point your Eclipse Update Manager at this site.
-   </description>
-   <feature url="features/org.eclipse.datatools.sdk.feature_@org.eclipse.datatools.sdk.feature@.jar" id="org.eclipse.datatools.sdk.feature" version="@org.eclipse.datatools.sdk.feature@">
-      <category name="Eclipse Data Tools Platform SDK @RELEASE.VERSION@"/>
-   </feature>
-   <feature url="features/org.eclipse.datatools.enablement.sdk.feature_@org.eclipse.datatools.enablement.sdk.feature@.jar" id="org.eclipse.datatools.enablement.sdk.feature" version="@org.eclipse.datatools.enablement.sdk.feature@">
-      <category name="Eclipse Data Tools Platform Enablement SDK @RELEASE.VERSION@"/>
-   </feature>
-   <category-def name="Eclipse Data Tools Platform SDK @RELEASE.VERSION@" label="Eclipse Data Tools Platform SDK @RELEASE.VERSION@">
-      <description>
-         The @RELEASE.VERSION@ build of the Eclipse Data Tools Platform (DTP)
-      </description>
-   </category-def>
-   <category-def name="Eclipse Data Tools Platform Enablement SDK @RELEASE.VERSION@" label="Eclipse Data Tools Platform Enablement SDK @RELEASE.VERSION@">
-      <description>
-         The @RELEASE.VERSION@ build of the Eclipse Data Tools Platform (DTP) Enablement
-      </description>
-   </category-def>
-</site>
diff --git a/plugins/org.eclipse.datatools.releng.builder/extras/tagdiff.xml b/plugins/org.eclipse.datatools.releng.builder/extras/tagdiff.xml
deleted file mode 100755
index 5324a04..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/extras/tagdiff.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<tagdiff cvsroot=":pserver:anonymous@dev.eclipse.org:/cvsroot/birt" endTag="v20080314" package="source/org.eclipse.birt.build" startTag="BIRT_2_2_2_Release_20080227">
-	<entry>
-		<file>
-			<name><![CDATA[build.properties]]></name>
-			<revision>1.2</revision>
-			<prevrevision>1.1</prevrevision>
-		</file>
-	</entry>
-	<entry>
-		<file>
-			<name><![CDATA[src/org/eclipse/birt/build/ExportManifestUtils.java]]></name>
-			<revision>1.1</revision>
-		</file>
-	</entry>
-</tagdiff>
diff --git a/plugins/org.eclipse.datatools.releng.builder/extras/updateFeatureTag.sh b/plugins/org.eclipse.datatools.releng.builder/extras/updateFeatureTag.sh
deleted file mode 100644
index a60cb36..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/extras/updateFeatureTag.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-
-export CVSROOT=:ext:xgu@dev.eclipse.org:/cvsroot/datatools
-export CVS_RSH=ssh
-
-builddate=`date +%Y%m%d`
-buildtime=`date +%H%M`
-datetimestamp=$builddate$buildtime
-
-WORKING_FOLDER=$1
-echo "Current working folder: $WORKING_FOLDER"
-
-#Check out all dtp features
-
-cd $WORKING_FOLDER/
-cvs checkout org.eclipse.datatools.build/R1.6_Feature_Projects
-cd org.eclipse.datatools.build
-echo "New Feature Tag: v$datetimestamp"
-cvs tag v$datetimestamp R1.6_Feature_Projects
-
-
-#Check out releng map file
-
-cd $WORKING_FOLDER
-cvs checkout org.eclipse.datatools.releng
-cd org.eclipse.datatools.releng/maps
-sed s/=.*,:/=v$datetimestamp,:/ dtp-features.map > dtp-features.map.new 
-mv dtp-features.map.new dtp-features.map
-
-#Submit the change for dtp map files
-cd $WORKING_FOLDER
-cvs commit -m "Update feature version to v$datetimestamp (auto)" org.eclipse.datatools.releng
-
diff --git a/plugins/org.eclipse.datatools.releng.builder/extras/verifyCompile.sh b/plugins/org.eclipse.datatools.releng.builder/extras/verifyCompile.sh
deleted file mode 100644
index 3122268..0000000
--- a/plugins/org.eclipse.datatools.releng.builder/extras/verifyCompile.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/bash
-
-######################
-#rename compile log
-######################
-
-find $1 -name "*.html" > $1/compile.log
-
-awk -F "/" '{print "cp " $0 " "$1 FS $2 FS $3 FS $4 FS $5 FS $6 FS $7 FS $8 FS $9 FS $10 FS $11 FS"_compilelog.html"  }' $1/compile.log >  $1/plugins.rename
-chmod +x $1/plugins.rename
-$1/plugins.rename
-
-
-
-echo $1
-find $1 -name "*.html" -exec grep "ERROR&nbsp;in" -c {} \; -print > $1/error.plugins
-
-awk ' /\/org/ {print $1}' $1/error.plugins > $1/error.plugins.tmp
-mv $1/error.plugins.tmp  $1/error.plugins
-
-######################################
-#Get compile error plugins total count
-######################################
-
-wc -l $1/error.plugins > $1/error.plugins.count
-count=`awk '{print $1}' $1/error.plugins.count`
-
-#############################################
-#found compile error, generate notify list
-#############################################
-
-if [ $count -gt 0 ] ; then
-        echo "#Compile has error in $1" >> /home/adb/releng.dtp.171/org.eclipse.datatools.releng.builder/monitor.properties
-        awk -F "/" '{print "cp " $0 " "$1 FS $2 FS $3 FS $4 FS $5 FS $6 FS $7 FS $8 FS $9 FS $10 FS $11"_compilelog.html"  }' $1/error.plugins >  $1/error.plugins.rename
-        chmod +x $1/error.plugins.rename
-        $1/error.plugins.rename
-
-        #set error plugins or notification
-        awk -F "/" '{print $11}' $1/error.plugins  > $1/notify.list
-        awk -F "_" '{print " "$1"\\n\\"}' $1/notify.list > $1/notify.list.tmp
-        mv $1/notify.list.tmp $1/notify.list
-
-        echo "compileHasError=true" >> /home/adb/releng.dtp.171/org.eclipse.datatools.releng.builder/monitor.properties
-        echo "error.plugin.list=\\" >> /home/adb/releng.dtp.171/org.eclipse.datatools.releng.builder/monitor.properties
-        cat $1/notify.list >> /home/adb/releng.dtp.171/org.eclipse.datatools.releng.builder/monitor.properties
-        echo " "  >> /home/adb/releng.dtp.171/org.eclipse.datatools.releng.builder/monitor.properties
-else
-        echo "#No compile error in $1" >> /home/adb/releng.dtp.171/org.eclipse.datatools.releng.builder/monitor.properties
-        echo "compileHasError=false" >> /home/adb/releng.dtp.171/org.eclipse.datatools.releng.builder/monitor.properties
-fi
