diff --git a/releng.wtpbuilder/distribution/wtp.adopters/build.xml b/releng.wtpbuilder/distribution/wtp.adopters/build.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1673066c79964923299a6854ea104df315a9e241
--- /dev/null
+++ b/releng.wtpbuilder/distribution/wtp.adopters/build.xml
@@ -0,0 +1,191 @@
+<project default="main" basedir=".">
+
+	<!--
+	Required inputs:
+	
+	build.home
+	buildType
+	buildId
+	timestamp
+	env.BASEOS
+	env.BASEWS
+	env.BASEARCH
+	build.stream [optional]
+	build.committers [optional]
+	wtp.dir [optional]
+	-->
+	
+    <!-- Note to be cross-platform, "environment variables" are only appropriate for
+        some variables, e.g. ones we set, since properties are case sensitive, even if
+        the environment variables on your operating system are not, e.g. it will
+        be ${env.Path} not ${env.PATH} on Windows -->
+    <property environment="env" />
+
+	<target name="main">
+		<property file="${build.home}/releng.wtpbuilder/build.properties"/>
+		<property name="apiRoot" value="${build.home}/adopterScanRoot"/>
+		<delete dir="${apiRoot}" failonerror="false"/>
+		<mkdir dir="${apiRoot}"/>
+		<antcall target="getReleng"/>
+		<property file="${apiRoot}/releng/maps/dependencies.properties"/>
+		<property name="local.cache.dir" value="${env.LOCAL_PREREQS_CACHE}"/>
+		<property name="wtp.dir" value="${local.cache.dir}"/>
+		<property name="install.destination" value="${apiRoot}"/>
+		<antcall target="getDependencies"/>
+		<condition property="wtp-sdk" value="wtp-sdk-${buildId}.zip" else="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip">
+			<available file="${wtp.dir}/wtp-sdk-${buildId}.zip"/>
+		</condition>
+		<condition property="wtp-wst-tests" value="wtp-wst-Automated-Tests-${buildId}.zip" else="wtp-wst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
+			<available file="${wtp.dir}/wtp-wst-Automated-Tests-${buildId}.zip"/>
+		</condition>
+		<condition property="wtp-jst-tests" value="wtp-jst-Automated-Tests-${buildId}.zip" else="wtp-jst-Automated-Tests-${buildType}-${buildId}-${timestamp}.zip">
+			<available file="${wtp.dir}/wtp-jst-Automated-Tests-${buildId}.zip"/>
+		</condition>
+		<antcall target="run"/>
+		<antcall target="upload"/>
+	</target>
+	
+	<target name="getReleng">
+		<property name="releng.tag" value="v${buildType}${timestamp}"/>
+		<cvs
+			cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools"
+			package="releng"
+			dest="${apiRoot}"
+			command="export"
+			tag="${releng.tag}"
+		/>
+	</target>
+
+	<target name="getDependencies">
+		<condition property="isLinux">
+			<equals arg1="${baseos}" arg2="linux"/>
+		</condition>
+		<antcall target="getAndInstall">
+			<param name="groupId" value="eclipse" />
+		</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="dtp" />
+		</antcall>	
+		<!-- this appears to be pretty explict hard coding for windows machines. 
+	         I wonder why the usual "get dependencies" methods would not work?
+	    -->
+		<antcall target="get">
+			<param name="groupId" value="eclipse" />
+			<param name="baseos" value="win32" />
+			<param name="basews" value="win32" />
+			<param name="basearch" value="x86" />
+		</antcall>
+		<antcall target="getAndInstallWTP">
+			<param name="file" value="wtp-sdk-${buildId}.zip" />
+		</antcall>
+		<antcall target="getAndInstallWTP">
+			<param name="file" value="wtp-sdk-${buildType}-${buildId}-${timestamp}.zip" />
+		</antcall>
+		<delete file="${local.cache.dir}/wtp-apiscanner.zip"/>
+		<get src="http://download.eclipse.org/webtools/downloads/wtp-apiscanner.zip" dest="${local.cache.dir}/wtp-apiscanner.zip"/>
+		<unzip src="${local.cache.dir}/wtp-apiscanner.zip" dest="${apiRoot}"/>
+	</target>
+
+	<target name="getAndInstall">
+		<property name="dependencyTargets" value="${build.home}/releng.wtpbuilder/scripts/dependency/build.xml"/>
+		<ant antfile="${dependencyTargets}" target="checkDependency">
+			<property name="groupId" value="${groupId}" />
+		</ant>
+		<ant antfile="${dependencyTargets}" target="installDependency">
+			<property name="groupId" value="${groupId}" />
+		</ant>
+	</target>
+	
+	<target name="get">
+		<property name="dependencyTargets" value="${build.home}/releng.wtpbuilder/scripts/dependency/build.xml"/>
+		<ant antfile="${dependencyTargets}" target="checkDependency">
+			<property name="groupId" value="${groupId}" />
+		</ant>
+	</target>
+	
+	<target name="getAndInstallWTP">
+		<available file="${wtp.dir}/${file}" property="file.exists"/>
+		<antcall target="getWTP"/>
+		<available file="${wtp.dir}/${file}" property="file.exists"/>
+		<antcall target="installWTP"/>
+	</target>
+
+	<target name="getWTP">
+		<condition property="file.url.1" value="http://download.eclipse.org/webtools/committers" else="http://download.eclipse.org/webtools/downloads">
+			<isset property="build.committers"/>
+		</condition>
+		<condition property="file.url" value="${file.url.1}/drops/${build.stream}/${buildType}-${buildId}-${timestamp}" else="${file.url.1}/drops/${buildType}-${buildId}-${timestamp}">
+			<isset property="build.stream"/>
+		</condition>
+		<antcall target="getWTP2"/>
+	</target>
+
+	<target name="getWTP2" unless="file.exists">
+		<property name="file.url" value="http://download.eclipse.org/webtools/downloads/drops/${build.stream}/${buildType}-${buildId}-${timestamp}"/>
+		<mkdir dir="${wtp.dir}"/>
+		<get dest="${wtp.dir}/${file}" src="${file.url}/${file}" ignoreerrors="true"/>
+	</target>
+
+	<target name="installWTP" if="file.exists">
+		<unzip src="${wtp.dir}/${file}" dest="${install.destination}" overwrite="true"/>
+	</target>
+	
+	<target name="run">
+		<cvs
+			cvsRoot=":pserver:anonymous@dev.eclipse.org:/cvsroot/webtools"
+			package="releng.builder/tools/apitools/adopter_usages"
+			dest="${apiRoot}"
+			command="export"
+			tag="HEAD"
+		/>
+		<mkdir dir="${apiRoot}/adopters"/>
+		<antcall target="APIRefCompatibilityScanner"/>
+		<copy tofile="${apiRoot}/apiresults/api-ref-compatibility.html" file="${apiRoot}/adopters/api-ref-compatibility.html"/>
+		<copy tofile="${apiRoot}/apiresults/api-ref-compatibility.xml" file="${apiRoot}/adopters/api-ref-compatibility.xml"/>
+	</target>
+	
+	<target name="APIRefCompatibilityScanner" unless="15x">
+		<antcall target="runEclipseApp">
+			<param name="application" value="org.eclipse.wtp.releng.tools.component.core.APIRefCompatibilityScanner"/>
+			<param name="vmargs" value="-Dsrc=${local.cache.dir}/${wtp-sdk},${local.cache.dir}/${eclipse.file.win32-win32-x86},${local.cache.dir}/${emf.file},${local.cache.dir}/${gef.file} -Duse=${apiRoot}/releng.builder/tools/apitools/adopter_usages -DoutputDir=${apiRoot}/adopters -Xmx512M"/>
+		</antcall>
+	</target>
+	
+	<target name="runEclipseApp">
+		<property name="vmargs" value=""/>
+		<java jar="${apiRoot}/eclipse/plugins/org.eclipse.equinox.launcher_*.jar" fork="true"  failonerror="true" timeout="3600000" dir="${apiRoot}">
+			<jvmarg value="-Dosgi.ws=${env.BASEWS}" />
+			<jvmarg value="-Dosgi.os=${env.BASEOS}" />
+			<jvmarg value="-Dosgi.arch=${env.BASEARCH}" />			
+			<jvmarg value="-Xmx512M" />
+			<jvmarg line="${vmargs}" />
+			<arg value="-application" />
+			<arg value="${application}" />
+		</java>
+	</target>
+	
+	<target name="upload" if="login">
+		<mkdir dir="${build.home}/archives"/>
+		<zip destfile="${build.home}/archives/${buildType}-${buildId}-${timestamp}.zip" basedir="${apiRoot}/apiresults"/>
+		<condition property="upload.path.1"
+			else="${login}@build.eclipse.org:~/downloads/webtools/downloads"
+			value="${login}@build.eclipse.org:~/downloads/webtools/committers">
+			<isset property="build.committers"/>
+		</condition>
+		<condition property="upload.path"
+			else="${upload.path.1}/drops/${buildType}-${buildId}-${timestamp}"
+			value="${upload.path.1}/drops/${build.stream}/${buildType}-${buildId}-${timestamp}">
+			<isset property="build.stream"/>
+		</condition>
+		<exec executable="scp" dir="${build.home}">
+			<arg line="-r ./adopterScanRoot/apiresults ${upload.path}"/>
+		</exec>
+	</target>
+
+</project>
\ No newline at end of file