diff --git a/features/org.eclipse.epp.usagedata.tests.feature/.project b/features/org.eclipse.epp.usagedata.tests.feature/.project
deleted file mode 100644
index ac71686..0000000
--- a/features/org.eclipse.epp.usagedata.tests.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.epp.usagedata.tests.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.epp.usagedata.tests.feature/build.properties b/features/org.eclipse.epp.usagedata.tests.feature/build.properties
deleted file mode 100644
index 64f93a9..0000000
--- a/features/org.eclipse.epp.usagedata.tests.feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/features/org.eclipse.epp.usagedata.tests.feature/feature.xml b/features/org.eclipse.epp.usagedata.tests.feature/feature.xml
deleted file mode 100644
index 60f6926..0000000
--- a/features/org.eclipse.epp.usagedata.tests.feature/feature.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.epp.usagedata.tests.feature"
-      label="Usagedata Unit Tests"
-      version="0.5.1.qualifier"
-      provider-name="Eclipse.org">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <requires>
-      <import plugin="org.junit4"/>
-      <import plugin="javax.servlet"/>
-      <import plugin="org.eclipse.equinox.http.jetty"/>
-      <import plugin="org.eclipse.osgi.services"/>
-      <import plugin="org.eclipse.epp.usagedata.recording" version="0.5.1" match="greaterOrEqual"/>
-      <import plugin="org.junit4" version="4.3.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.epp.usagedata.ui" version="0.5.1" match="greaterOrEqual"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.epp.usagedata.recording.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.epp.usagedata.ui.tests"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-</feature>
diff --git a/releng/org.eclipse.epp.usagedata.releng/.project b/releng/org.eclipse.epp.usagedata.releng/.project
deleted file mode 100644
index 7def1ef..0000000
--- a/releng/org.eclipse.epp.usagedata.releng/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.epp.usagedata.releng</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/releng/org.eclipse.epp.usagedata.releng/allElements.xml b/releng/org.eclipse.epp.usagedata.releng/allElements.xml
deleted file mode 100644
index 0bb5016..0000000
--- a/releng/org.eclipse.epp.usagedata.releng/allElements.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<project name="allElements Delegator">
-	<property name="defaultAssemblyEnabled" value="true" />
-	
- 	<!-- ===================================================================== 	-->
- 	<!-- Run a given ${target} on all elements being built						-->
- 	<!-- By default ${topLevelElementType} and ${topLevelElementId} should be	--> 
- 	<!-- defined in the builder's build.properties file.  You can customize by	--> 
- 	<!-- setting the type/id values directly here.								-->
-	<!-- You can add additional calls to ${genericTargets} to build more top 	-->
-	<!-- level elements.									   					-->
-	<!--																		-->
-	<!-- The top level must exist in the ${buildDirectory}, ${baseLocation} or	-->
-	<!-- ${pluginPath} locations.												-->
- 	<!-- ===================================================================== 	-->
- 	<target name="allElementsDelegator">
- 		<ant antfile="${genericTargets}" target="${target}">
-	 		<property name="type" value="${topLevelElementType}" />
-	 		<property name="id" value="${topLevelElementId}" />
- 		</ant>
- 	</target>
- 
-	<!-- ====================================================================== -->
-	<!--  The default assemble target, this will be called to assemble each		-->	 
-	<!--  config if a custom assemble target is not defined.					-->
-	<!-- The following properties will be defined:								-->
-	<!-- 		config : The configuration being assembled eg "win32.win32.x86"	-->
-	<!-- 		element: The element being assembled eg "org.eclipse.sdk"		-->
-	<!-- 		assembleScriptName: The assemble script to be called			-->
-	<!-- ====================================================================== -->
-	<target name="defaultAssemble">
-		<ant antfile="${assembleScriptName}" dir="${buildDirectory}" />
-	</target>	
-	
- 	<!-- =====================================================================	-->
- 	<!-- Custom 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 for which	--> 
- 	<!-- custom processing is desired. Replace element.id with the id of the 	-->
- 	<!-- top level element being built.  A property with a matching name must 	-->
- 	<!-- be defined for this custom target to be called instead of the 			-->
- 	<!-- defaultAssemble target above.											-->
-	<!--	Example:  name="assemble.org.eclipse.sdk"							-->
-	<!--	Example:  name="assemble.org.eclipse.sdk.win32.win32.x86"			-->
- 	<!-- ====================================================================== -->
-	<property name="assemble.element.id[.config.spec]" value="true" />
- 	<target name="assemble.element.id[.config.spec]">
- 		<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
- 	</target>
-	
-</project>
diff --git a/releng/org.eclipse.epp.usagedata.releng/build.properties b/releng/org.eclipse.epp.usagedata.releng/build.properties
deleted file mode 100644
index 909ea5b..0000000
--- a/releng/org.eclipse.epp.usagedata.releng/build.properties
+++ /dev/null
@@ -1,231 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 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
-###############################################################################
-#####################
-# Parameters describing how and where to execute the build.
-# Typical users need only update the following properties:
-#    baseLocation - where things you are building against are installed
-#    bootclasspath - The base jars to compile against (typicaly rt.jar)
-#    configs - the list of {os, ws, arch} configurations to build.  
-#
-# Of course any of the settings here can be overridden by spec'ing 
-# them on the command line (e.g., -DbaseLocation=d:/eclipse
-
-#The type of the top level element we are building,  generally "feature"
-topLevelElementType = feature
-#The id of the top level element we are building
-topLevelElementId = org.eclipse.epp.usagedata.feature
-
-############# PRODUCT/PACKAGING CONTROL #############
-product=/plugin or feature id/path/to/.product
-runPackager=true
-
-#Set the name of the archive that will result from the product build.
-#archiveNamePrefix=
-
-# The prefix that will be used in the generated archive.
-archivePrefix=eclipse
-
-# The location underwhich all of the build output will be collected.
-collectingFolder=${archivePrefix}
-
-# The list of {os, ws, arch} configurations to build.  This 
-# value is a '&' separated list of ',' separate triples.  For example, 
-#     configs=win32,win32,x86 & linux,motif,x86
-# By default the value is *,*,*
-configs = *, *, *
-#configs=win32, win32, x86 & \
-#	linux, gtk, ppc &\
-# linux, gtk, x86 & \
-#	linux, gtk, x86_64 & \
-#	linux, motif, x86 & \
-#	solaris, motif, sparc & \
-#	solaris, gtk, sparc & \
-#	aix, motif, ppc & \
-#	hpux, motif, PA_RISC & \
-#	macosx, carbon, ppc
-
-# By default PDE creates one archive (result) per entry listed in the configs property.
-# Setting this value to true will cause PDE to only create one output containing all 
-# artifacts for all the platforms listed in the configs property.
-# To control the output format for the group, add a "group, group, group - <format>" entry to the
-# archivesFormat. 
-#groupConfigurations=true
-
-#The format of the archive. By default a zip is created using antZip.
-#The list can only contain the configuration for which the desired format is different than zip.
-#archivesFormat=win32, win32, x86 - antZip& \
-#	linux, gtk, ppc - antZip &\
-#    linux, gtk, x86 - antZip& \
-#	linux, gtk, x86_64 - antZip& \
-# linux, motif, x86 - antZip& \
-#	solaris, motif, sparc - antZip& \
-#	solaris, gtk, sparc - antZip& \
-#	aix, motif, ppc - antZip& \
-#	hpux, motif, PA_RISC - antZip& \
-#	macosx, carbon, ppc - antZip
-	
-#Set to true if you want the output to be ready for an update jar (no site.xml generated)
-outputUpdateJars = true
-
-#Set to true for Jnlp generation
-#codebase should be a URL that will be used as the root of all relative URLs in the output.
-#generateJnlp=false
-#jnlp.codebase=<codebase url>
-#jnlp.j2se=<j2se version>
-#jnlp.locale=<a locale>
-#jnlp.generateOfflineAllowed=true or false generate <offlineAllowed/> attribute in the generated features
-#jnlp.configs=${configs}			#uncomment to filter the content of the generated jnlp files based on the configuration being built
-
-#Set to true if you want to sign jars
-#signJars=false
-#sign.alias=<alias>
-#sign.keystore=<keystore location>
-#sign.storepass=<keystore password>
-
-#Arguments to send to the zip executable
-zipargs=
-
-#Arguments to send to the tar executable
-tarargs=
-
-#Control the creation of a file containing the version included in each configuration - on by default 
-#generateVersionsLists=false
-
-############## BUILD NAMING CONTROL ################
-# The directory into which the build elements are fetched and where
-# the build takes place.
-buildDirectory=${user.home}/eclipse.build
-
-# Type of build.  Used in naming the build output.  Typically this value is
-# one of I, N, M, S, ...
-buildType=I
-
-# ID of the build.  Used in naming the build output.
-buildId=EPPTestBuild
-
-# Label for the build.  Used in naming the build output
-buildLabel=${buildType}${buildId}
-
-# Timestamp for the build.  Used in naming the build output
-timestamp=007
-
-#The value to be used for the qualifier of a plugin or feature when you want to override the value computed by pde.
-#The value will only be applied to plugin or features indicating build.properties, qualifier = context 
-forceContextQualifier=${buildLabel}
-
-#Enable / disable the generation of a suffix for the features that use .qualifier. 
-#The generated suffix is computed according to the content of the feature   
-#generateFeatureVersionSuffix=true
-
-############# BASE CONTROL #############
-# Settings for the base Eclipse components and Java class libraries 
-# against which you are building.
-# Base location for anything the build needs to compile against.  For example,
-# in most RCP app or a plug-in,  the baseLocation should be the location of a previously
-# installed Eclipse against which the application or plug-in code will be compiled and the RCP delta pack.
-
-base=/shared/technology/epp/udc_build
-baseLocation=${base}/eclipse
-#Os/Ws/Arch/nl of the eclipse specified by baseLocation
-baseos=linux
-basews=gtk
-basearch=ppc
-
-#this property indicates whether you want the set of plug-ins and features to be considered during the build to be limited to the ones reachable from the features / plugins being built
-filteredDependencyCheck=false
-
-#this property indicates whether the resolution should be done in development mode (i.e. ignore multiple bundles with singletons)
-resolution.devMode=false
-
-#pluginPath is a list of locations in which to find plugins and features.  This list is separated by the platform file separator (; or :)
-#a location is one of:  
-#- the location of the jar or folder that is the plugin or feature : /path/to/foo.jar or /path/to/foo
-#- a directory that contains a /plugins or /features subdirectory
-#- the location of a feature.xml, or for 2.1 style plugins, the plugin.xml or fragment.xml
-#pluginPath=
-
-skipBase=true
-eclipseURL=<url for eclipse download site>
-eclipseBuildId=<Id of Eclipse build to get>
-eclipseBaseURL=${eclipseURL}/eclipse-platform-${eclipseBuildId}-win32.zip
-
-
-############# MAP FILE CONTROL ################
-# This section defines CVS tags to use when fetching the map files from the repository.
-# If you want to fetch the map file from repository / location, change the getMapFiles target in the customTargets.xml
-
-#skipMaps=true
-mapsRepo=:pserver:anonymous@dev.eclipse.org:/cvsroot/technology
-mapsRoot=org.eclipse.epp/releng/org.eclipse.epp.usagedata.releng/maps
-mapsCheckoutTag=HEAD
-
-#tagMaps=true
-mapsTagTag=v${buildId}
-
-
-############ REPOSITORY CONTROL ###############
-# This section defines properties parameterizing the repositories where plugins, fragments
-# bundles and features are being obtained from. 
-
-# The tags to use when fetching elements to build.
-# By default thebuilder will use whatever is in the maps.  
-# This value takes the form of a comma separated list of repository identifier (like used in the map files) and the 
-# overriding value
-# For example fetchTag=CVS=HEAD, SVN=v20050101
-# fetchTag=HEAD
-#skipFetch=true
-
-
-############# 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=
-#JavaSE-1.6=
-#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=
-
-# Specify the output format of the compiler log when eclipse jdt is used
-logExtension=.log
-
-# 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=true
-
-# 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.5
-
-# 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.5
-
-
diff --git a/releng/org.eclipse.epp.usagedata.releng/createUpdateSite.xml b/releng/org.eclipse.epp.usagedata.releng/createUpdateSite.xml
deleted file mode 100644
index 26e3943..0000000
--- a/releng/org.eclipse.epp.usagedata.releng/createUpdateSite.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project 
-  default="createUpdateSite"
-  name="Create Update Site">
-  
-  <target name="createUpdateSite">
-    <antcall target="createSiteXML" />
-    <antcall target="updateZIP" />
-    <antcall target="cleanup" />
-  </target>
-
-  <target name="createSiteXML">
-    <echo message="Creating site.xml" />
-    <copy 
-      file="${builder}/templates/site.xml" 
-      tofile="${buildDirectory}/${buildLabel}/site.xml" />
-    <replace file="${buildDirectory}/${buildLabel}/site.xml" 
-      token="XXXXXXXXXXXXX"
-      value="${buildLabel}">
-    </replace>
-  </target>
-
-  <target name="updateZIP">
-    <echo message="Update ZIP file" />
-    <zip destfile="${buildDirectory}/${buildLabel}/org.eclipse.epp.usagedata.feature-${buildId}.zip"
-      update="true">
-      <zipfileset 
-        dir="${buildDirectory}/${buildLabel}" 
-      	includes="site.xml" 
-      	fullpath="eclipse/site.xml"/>
-  	</zip>
-  </target>
-  
-  <target name="cleanup">
-    <echo message="Remove site.xml file" />
-    <delete file="${buildDirectory}/${buildLabel}/site.xml" />
-  </target>
-  
-</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.epp.usagedata.releng/customAssembly.xml b/releng/org.eclipse.epp.usagedata.releng/customAssembly.xml
deleted file mode 100644
index d3f8094..0000000
--- a/releng/org.eclipse.epp.usagedata.releng/customAssembly.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- =====================================================================
-	    
-	    The Following Properties are available in all targets:
-		 - eclipse.base : the base folder everything will be collected into
-		 - eclipse.plugins : the plugins folder
-		 - eclipse.features: the features folder
-		 - archiveFullPath : the full path of the final archive once it is created
-		 
-		 ===================================================================== -->
-		 
-	<!-- ===================================================================== -->
-	<!-- Called after invoking the gather.bin.parts targets for all plugins    -->
-	<!-- and features. Results exist as folders and have not yet been jarred.  -->
-	<!-- ===================================================================== -->
-	<target name="post.gather.bin.parts">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Called just prior to signing a jar                                    -->
-	<!-- In addititon to the properties listed above:						   -->
-	<!--    - source : plugins or features directory                           -->
-	<!--    - elementName: element being signed without .jar                   -->
-	<!--                   (eg "org.eclipse.foo_1.0.0"                         -->
-	<!-- ===================================================================== -->
-	<target name="pre.jarSigning">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Called after all plugins and features have been jarred                -->
-	<!-- (and potentially signed)                                              -->
-	<!-- ===================================================================== -->
-	<target name="post.jarUp">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Called just before the archive file is built                          -->
-	<!-- In addititon to the properties listed above:						   -->
-	<!--    - rootFolder : the folder containing the root files                -->
-	<!-- ===================================================================== -->
-	<target name="pre.archive">
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="You must specify a target when invoking this file" />
-	</target>
-
-</project>
diff --git a/releng/org.eclipse.epp.usagedata.releng/customTargets.xml b/releng/org.eclipse.epp.usagedata.releng/customTargets.xml
deleted file mode 100644
index a926081..0000000
--- a/releng/org.eclipse.epp.usagedata.releng/customTargets.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-<project name="Build specific targets and properties" default="noDefault">
-
-	<!-- ===================================================================== -->
-	<!-- Run a given ${target} on all elements being built -->
-	<!-- Add on <ant> task for each top level element being built. -->
-	<!-- ===================================================================== -->
-	<available property="allElementsFile" file="${builder}/allElements.xml" value="${builder}/allElements.xml"/>
-	<property name="allElementsFile" location="${eclipse.pdebuild.templates}/headless-build/allElements.xml"/>
-
-	<import file="${allElementsFile}" />
-	<target name="allElements">
-		<antcall target="allElementsDelegator" />
-	</target>
-	
-	<!-- ===================================================================== -->
-	<!-- ===================================================================== -->
-	<target name="getBaseComponents" depends="checkLocalBase" unless="skipBase">
-		<get src="${eclipseBaseURL}" dest="${buildDirectory}/../temp-base.zip" />
-		<unzip dest="${base}" overwrite="true" src="${buildDirectory}/../temp-base.zip" />
-	</target>
-
-	<target name="checkLocalBase">
-		<available file="${base}" property="skipBase" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Check out map files from correct repository -->
-	<!-- Replace values for mapsCheckoutTag as desired. -->
-	<!-- ===================================================================== -->
-	<target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
-		<property name="mapsCheckoutTag" value="HEAD" />
-		<cvs cvsRoot="${mapsRepo}" package="${mapsRoot}" dest="${buildDirectory}/maps" tag="${mapsCheckoutTag}" />
-	</target>
-
-	<target name="checkLocalMaps">
-		<available property="skipMaps" file="${buildDirectory}/maps" />
-	</target>
-
-	<target name="tagMapFiles" if="tagMaps">
-		<cvs dest="${buildDirectory}/maps/${mapsRoot}" command="tag ${mapsTagTag}" />
-	</target>
-
-	<!-- ===================================================================== -->
-
-	<target name="clean" unless="noclean">
-		<antcall target="allElements">
-			<param name="target" value="cleanElement" />
-		</antcall>
-	</target>
-
-	<target name="gatherLogs">
-		<mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" />
-		<antcall target="allElements">
-			<param name="target" value="gatherLogs" />
-		</antcall>
-		<unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true">
-			<fileset dir="${buildDirectory}/features">
-				<include name="**/*.log.zip" />
-			</fileset>
-		</unzip>
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before setup -->
-	<!-- ===================================================================== -->
-	<target name="preSetup">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after setup but before starting the build proper -->
-	<!-- ===================================================================== -->
-	<target name="postSetup">
-		<antcall target="getBaseComponents" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before fetching the build elements -->
-	<!-- ===================================================================== -->
-	<target name="preFetch">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after fetching the build elements -->
-	<!-- ===================================================================== -->
-	<target name="postFetch">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before generating the 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 running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="preProcess">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after running the build.xmls for the elements being built. -->
-	<!-- ===================================================================== -->
-	<target name="postProcess">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running assemble. -->
-	<!-- ===================================================================== -->
-	<target name="preAssemble">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after  running assemble. -->
-	<!-- ===================================================================== -->
-	<target name="postAssemble">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do before running package. -->
-	<!-- ===================================================================== -->
-	<target name="prePackage">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after  running package. -->
-	<!-- ===================================================================== -->
-	<target name="postPackage">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do after the build is done. -->
-	<!-- ===================================================================== -->
-	<target name="postBuild">
-	    <ant antfile="${builder}/createUpdateSite.xml"
-	       target="createUpdateSite" />
-		<antcall target="gatherLogs" />
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do to test the build results -->
-	<!-- ===================================================================== -->
-	<target name="test">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Steps to do to publish the build results -->
-	<!-- ===================================================================== -->
-	<target name="publish">
-	</target>
-
-	<!-- ===================================================================== -->
-	<!-- Default target                                                        -->
-	<!-- ===================================================================== -->
-	<target name="noDefault">
-		<echo message="You must specify a target when invoking this file" />
-	</target>
-
-</project>
diff --git a/releng/org.eclipse.epp.usagedata.releng/maps/org.eclipse.epp.usagedata.feature.map b/releng/org.eclipse.epp.usagedata.releng/maps/org.eclipse.epp.usagedata.feature.map
deleted file mode 100644
index cb0301e..0000000
--- a/releng/org.eclipse.epp.usagedata.releng/maps/org.eclipse.epp.usagedata.feature.map
+++ /dev/null
@@ -1,15 +0,0 @@
-# map file that uses HEAD to build the EPP Usage Data Collector
-
-# feature
-feature@org.eclipse.epp.usagedata.feature=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/technology,,org.eclipse.epp/features/org.eclipse.epp.usagedata.feature
-
-# plugins
-plugin@org.eclipse.epp.usagedata.gathering=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/technology,,org.eclipse.epp/plugins/org.eclipse.epp.usagedata.gathering
-plugin@org.eclipse.epp.usagedata.recording=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/technology,,org.eclipse.epp/plugins/org.eclipse.epp.usagedata.recording
-plugin@org.eclipse.epp.usagedata.ui=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/technology,,org.eclipse.epp/plugins/org.eclipse.epp.usagedata.ui
-
-# bundles from Orbit
-plugin@org.apache.commons.codec,1.3.0.v200711021030=GET,http://download.eclipse.org/tools/orbit/downloads/drops/S200712072116/bundles/org.apache.commons.codec_1.3.0.v200711021030.jar,unpack=false,verbose=true
-plugin@org.apache.commons.httpclient,3.1.0.v200712051435=GET,http://download.eclipse.org/tools/orbit/downloads/drops/S200712072116/bundles/org.apache.commons.httpclient_3.1.0.v200712051435.jar,unpack=false,verbose=true
-plugin@org.apache.commons.logging,1.0.4.v200711021015=GET,http://download.eclipse.org/tools/orbit/downloads/drops/S200712072116/bundles/org.apache.commons.logging_1.0.4.v200711021015.jar,unpack=false,verbose=true
-
diff --git a/releng/org.eclipse.epp.usagedata.releng/maps/org.eclipse.epp.usagedata.tests.feature.map b/releng/org.eclipse.epp.usagedata.releng/maps/org.eclipse.epp.usagedata.tests.feature.map
deleted file mode 100644
index e0fcd5b..0000000
--- a/releng/org.eclipse.epp.usagedata.releng/maps/org.eclipse.epp.usagedata.tests.feature.map
+++ /dev/null
@@ -1,8 +0,0 @@
-# map file that uses HEAD to build the EPP Usage Data Collector Testcases
-
-# feature
-feature@org.eclipse.epp.usagedata.tests.feature=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/technology,,org.eclipse.epp/features/org.eclipse.epp.usagedata.tests.feature
-
-# plugins
-plugin@org.eclipse.epp.usagedata.recording.tests=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/technology,,org.eclipse.epp/test/org.eclipse.epp.usagedata.recording.tests
-plugin@org.eclipse.epp.usagedata.ui.tests=HEAD,:pserver:anonymous@dev.eclipse.org:/cvsroot/technology,,org.eclipse.epp/test/org.eclipse.epp.usagedata.ui.tests
diff --git a/releng/org.eclipse.epp.usagedata.releng/start.sh b/releng/org.eclipse.epp.usagedata.releng/start.sh
deleted file mode 100644
index 4c0320a..0000000
--- a/releng/org.eclipse.epp.usagedata.releng/start.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-JAVA=/opt/ibm/java2-ppc-50/bin/java
-BUILD_ROOT=/shared/technology/epp/udc_build
-
-BUILD_DATE=`date +%Y%m%d`
-BUILD_TIME=`date +%H%M`
-TIMESTAMP=${BUILD_DATE}${BUILD_TIME}
-
-rm -r ${BUILD_ROOT}/workspace
-
-${JAVA} -jar ${BUILD_ROOT}/eclipse/plugins/org.eclipse.equinox.launcher_1.0.100.v20071211.jar \
-        -application org.eclipse.ant.core.antRunner \
-        -buildfile ${BUILD_ROOT}/eclipse/plugins/org.eclipse.pde.build_3.4.0.v20071212/scripts/build.xml \
-        -Dbuilder=${BUILD_ROOT}/org.eclipse.epp/releng/org.eclipse.epp.usagedata.releng/ \
-        -DbuildDirectory=${BUILD_ROOT}/workspace/ \
-        -Dbase=${BUILD_ROOT} \
-        -DbuildId=${TIMESTAMP} \
-        -Dtimestamp=${TIMESTAMP}
diff --git a/releng/org.eclipse.epp.usagedata.releng/templates/site.xml b/releng/org.eclipse.epp.usagedata.releng/templates/site.xml
deleted file mode 100644
index 34a707c..0000000
--- a/releng/org.eclipse.epp.usagedata.releng/templates/site.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site
-      mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/technology/epp/updates/0.5milestones/site.xml&amp;format=xml">
-   <feature 
-      url="features/org.eclipse.epp.usagedata.feature_0.5.2.XXXXXXXXXXXXX.jar" 
-      id="org.eclipse.epp.usagedata.feature" 
-      version="0.5.2.XXXXXXXXXXXXX">
-      <category name="UsageData"/>
-   </feature>
-   <category-def name="UsageData" label="Usage Data"/>
-</site>
\ No newline at end of file
