diff --git a/releng.wtpbuilder/components/jsf.tests/build.properties b/releng.wtpbuilder/components/jsf.tests/build.properties
new file mode 100644
index 0000000..7a336f1
--- /dev/null
+++ b/releng.wtpbuilder/components/jsf.tests/build.properties
@@ -0,0 +1,77 @@
+###############################################################################
+# Copyright (c) 2006 Oracle.
+# All rights reserved. This program and the accompanying materials 
+# are made available under the terms of the Common Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/cpl-v10.html
+# 
+# Contributors:
+#     Oracle - 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
+
+############# CVS CONTROL ################
+# The CVS tag to use when fetching the map files from the repository
+mapVersionTag=HEAD
+
+############## BUILD / GENERATION CONTROL ################
+# The directory into which the build elements will be fetched and where
+# the build will take place.
+#buildDirectory=c:/dev/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=Build
+
+# 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
+
+# Base location for anything the build needs to compile against.  For example,
+# when building GEF, the baseLocation should be the location of a previously
+# installed Eclipse against which the GEF code will be compiled.
+#baseLocation=c:/dev/eclipse
+
+# The location underwhich all of the build output will be collected.
+# This is a subdirectory of $buildDirectory
+# Set collectingFolder and archivePrefix to . if you want to create archives without
+# trailing eclipse in the paths of the included files
+collectingFolder=eclipse
+
+# The prefix that will be used in the generated archive. 
+# Does not make sense to use a different archivePrefix than collectingFolder, 
+# because zip wouldn't find any files to include into the target zip otherwise
+archivePrefix=eclipse
+
+# 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=*,*,* 
+
+#Arguments to send to the zip executable
+#zipArgs=
+
+############# JAVA COMPILER OPTIONS ##############
+# The location of the Java jars to compile against.  Typically the rt.jar for your JDK/JRE
+#bootclasspath=d:/ibm1.3.1/jre/lib/rt.jar
+#bootclasspath=D:\\java\\j2sdk1.4.2_05\\jre\\lib\\rt.jar
+
+# 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
diff --git a/releng.wtpbuilder/components/jsf.tests/customTargets.xml b/releng.wtpbuilder/components/jsf.tests/customTargets.xml
new file mode 100644
index 0000000..5237825
--- /dev/null
+++ b/releng.wtpbuilder/components/jsf.tests/customTargets.xml
@@ -0,0 +1,207 @@
+<project name="Build specific targets and properties" default="noDefault" >
+    <property name="postingDirectory" value="${buildDirectory}" />
+
+<!-- ===================================================================== -->
+<!-- Run a given ${target} on all elements being built -->
+<!-- Add on <ant> task for each top level element being built. -->
+<!-- ===================================================================== -->
+<target name="allElements">
+    <echo message="Target: ${target} " />
+    <echo message="basedir: ${basedir}" />
+    <echo message="component: ${component}" />
+    <echo message="buildDirectory: ${buildDirectory}" />
+    <echo message="baseLocation: ${baseLocation}" />
+	
+	<ant antfile="${genericTargets}" target="${target}" >
+		<property name="type" value="feature" />
+		<property name="id" value="org.eclipse.wtp.jsf.tests.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.wtp.jsf.tests.feature">
+    <property name="archiveName" value="wtp-jsf-Automated-Tests-${buildLabel}.zip" />
+	
+    <ant antfile="${assembleScriptName}" dir="${buildDirectory}" />
+
+    <mkdir dir="${postingDirectory}/${buildLabel}/checksum" />
+    <checksum file="${postingDirectory}/${buildLabel}/wtp-jsf-Automated-Tests-${buildLabel}.zip" property="md5" />
+	
+    <echo message="${md5} *wtp-jsf-Automated-Tests-${buildLabel}.zip"
+          file="${postingDirectory}/${buildLabel}/checksum/wtp-jsf-Automated-Tests-${buildLabel}.zip.md5" />
+    <echo message="${md5}"
+          file="${postingDirectory}/${buildLabel}/checksum/wtp-jsf-Automated-Tests-${buildLabel}.zip.md5antformat" />
+</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/releng-jsf" />
+</target>
+	
+<target name="getMapFiles" depends="checkLocal" unless="mapsLocal">
+    	
+        <!-- ***  change the repo info -->
+        <property name="mapCvsRoot" value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}" />
+        <property name="mapVersionTag" value="HEAD" />
+        <property name="cvsPackage" value="releng-jsf" />
+        <echo message="${mapCvsRoot} ${mapVersionTag} "/>
+        <echo message="cvsPackage = ${cvsPackage} "/>
+    	
+        <cvs cvsRoot="${mapCvsRoot}" package="${cvsPackage}" dest="${buildDirectory}/maps" tag="${mapVersionTag}" />
+        <!--tag the map files project-->
+        <antcall target="tagMapFiles">
+            <param name="mapCvsRoot" value="${mapCvsRoot}" />
+        </antcall>
+</target>
+
+<target name="tagMapFiles" if="tagMaps">
+        <cvs cvsRoot="${mapCvsRoot}" dest="${buildDirectory}/maps" command="tag v${buildType}${timestamp}" />
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do before setup -->
+<!-- ===================================================================== -->
+<target name="preSetup">
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to do after setup but before starting the build proper -->
+<!-- ===================================================================== -->
+<target name="postSetup">
+    <dirname file="${ant.file}" property="component.dir" />
+    <echo message="ant.file: ${ant.file}" />
+    <echo message="component.dir: ${component.dir}" />
+
+    <ant antfile="${component.dir}/dependency.xml" target="get">
+        <property name="dependency.properties" value="${buildDirectory}/maps/releng-jsf/maps/dependencies.properties" />
+        <property name="base.install.dir" value="${buildRoot}" />
+    </ant>
+    <!--fetch the additional pieces to build JSF tests -->
+    <property name="featureOnly" value="false" />
+    <property name="featureAndPlugins" value="true" />
+    <property name="featuresRecursively" value="true" />
+    
+    <ant antfile="${genericTargets}" dir="${pde.build.scripts}" target="fetchElement">
+        <property name="type" value="feature" />
+        <property name="id" value="org.eclipse.wtp.jsf.tests.feature" />
+    </ant>
+</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">
+</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 after the build is done. -->
+<!-- ===================================================================== -->
+<target name="postBuild">
+
+    <!-- create zipped up versions for update site -->
+    <property name="UpdateSiteStagingLocation" value="${buildDirectory}/updateSite" />
+    <antcall target="generateUpdateSite" />
+</target>
+
+<target name="generateUpdateSite">
+    <!-- Create the directory structure -->
+    <mkdir dir="${UpdateSiteStagingLocation}" />
+    <mkdir dir="${UpdateSiteStagingLocation}/features" />
+    <mkdir dir="${UpdateSiteStagingLocation}/plugins" />
+    <!-- Build the jar files -->
+    <antcall target="allElements">
+        <param name="genericTargets" value="${builder}/customTargets.xml" />
+        <param name="target" value="updateSiteExport" />
+    </antcall>
+    <antcall target="copySiteXmlFromCvs" />
+    <antcall target="createNightlyBuildSiteXml" />
+</target>
+<target name="updateSiteExport">
+    <ant antfile="build.xml"
+         dir="${buildDirectory}/features/${id}/"
+         target="build.update.jar">
+        <property name="feature.destination" value="${UpdateSiteStagingLocation}/features" />
+        <property name="plugin.destination" value="${UpdateSiteStagingLocation}/plugins" />
+    </ant>
+</target>
+<target name="copySiteXmlFromCvs" unless="isNightlyBuild">
+    <!-- connect to CVS and fetch site.xml, copy to ${UpdateSiteStagingLocation}/site.xml afterwards -->
+</target>
+<target name="createNightlyBuildSiteXml" if="isNightlyBuild">
+    <!-- create ${UpdateSiteStagingLocation}/site.xml which contains only the nighlty build version -->
+</target>
+
+<!-- ===================================================================== -->
+<!-- Steps to test the build results -->
+<!-- ===================================================================== -->
+<target name="test" unless="dontRunTests">
+</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.wtpbuilder/components/jsf.tests/dependency.xml b/releng.wtpbuilder/components/jsf.tests/dependency.xml
new file mode 100644
index 0000000..b5b30e7
--- /dev/null
+++ b/releng.wtpbuilder/components/jsf.tests/dependency.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<!-- ====================================================================== 
+    Properties that must be passed to this script:
+    base.install.dir
+	dependencyTargets
+	local.cache.dir
+	dependency.properties
+	baseos
+	basews
+	basearch
+                               
+	jsf Dependencies:
+
+     ====================================================================== -->
+<project name="test" default="get">
+
+	<target name="get">
+
+		<antcall target="getAndInstall">
+			<param name="groupId" value="wtp" />
+		</antcall>
+		<antcall target="getAndInstall">
+			<param name="groupId" value="emf" />
+		</antcall>
+		<antcall target="getAndInstall">
+			<param name="groupId" value="gef" />
+		</antcall>
+		<antcall target="getAndInstall">
+			<param name="groupId" value="jem" />
+		</antcall>
+		<antcall target="getAndInstall">
+			<param name="groupId" value="eclipse" />
+		</antcall>
+		<antcall target="getAndInstall">
+			<param name="groupId" value="eclipseTestFramework" />
+		</antcall>		
+		
+		
+	</target>
+
+	<target name="getAndInstall">
+
+	    <echo message="dependencyTargets: ${dependencyTargets}" />
+	
+		<ant antfile="${dependencyTargets}" target="checkDependency">
+			<property name="groupId" value="${groupId}" />
+		</ant>
+		<ant antfile="${dependencyTargets}" target="installDependency">
+			<property name="groupId" value="${groupId}" />
+			<property name="install.destination" value="${base.install.dir}" />
+		</ant>
+	</target>
+
+</project>
+
