blob: e032e3339b721d12828266add02131ce58d93af2 [file] [log] [blame]
<project name="com.android.eclipse.rcp.build" default="build">
<tstamp>
<format property="QUALIFIER" pattern="yyyy-M-d-H-m"/>
</tstamp>
<!-- Root of Android Source Tree -->
<property name="ANDROID_SRC" location="../../" />
<!-- Host Eclipse used for building the RCP -->
<property name="basebuilder" value="${ANDROID_SRC}/external/eclipse-basebuilder/basebuilder-3.6.2/org.eclipse.releng.basebuilder/" />
<!-- Source for target prebuilts -->
<property name="deltaPackTargetSrcDir" value="${ANDROID_SRC}/prebuilts/eclipse/" />
<property name="targetSrcDir" value="${ANDROID_SRC}/prebuilts/eclipse-build-deps/" />
<!-- Location where build happens and resulting binaries are generated -->
<property name="outDir" value="${ANDROID_SRC}/out/host/eclipse/adtproduct/" />
<!-- Location where the target platform is created -->
<property name="targetDir" value="${outDir}/target" />
<!-- Location where ADT feature build is performed -->
<property name="featureBuildDir" value="${outDir}/fbuild" />
<!-- Location where ADT feature build is performed -->
<property name="productBuildDir" value="${outDir}/pbuild" />
<!-- Location of the sources -->
<property name="srcDir" value="${ANDROID_SRC}/sdk/eclipse/" />
<!-- Identify configurations to build -->
<condition property="buildconfigs" value="linux,gtk,x86_64">
<equals arg1="${buildFor}" arg2="linux" />
</condition>
<condition property="buildconfigs" value="macosx,cocoa,x86_64">
<equals arg1="${buildFor}" arg2="darwin" />
</condition>
<condition property="buildconfigs" value="win32,win32,x86_64">
<equals arg1="${buildFor}" arg2="windows" />
</condition>
<!-- if no platforms are provided, then build for all platforms -->
<property name="buildconfigs" value="linux,gtk,x86 &amp; linux,gtk,x86_64 &amp; win32,win32,x86 &amp; win32,win32,x86_64 &amp; macosx,cocoa,x86_64" />
<!-- locate launcher plugin inside eclipse -->
<path id="equinox.launcher.path">
<fileset dir="${basebuilder}/plugins">
<include name="org.eclipse.equinox.launcher_*.jar" />
</fileset>
</path>
<property name="equinox.launcher" refid="equinox.launcher.path" />
<!-- locate pde build plugin inside eclipse -->
<path id="pde.build.dir.path">
<dirset dir="${basebuilder}/plugins">
<include name="org.eclipse.pde.build_*" />
</dirset>
</path>
<property name="pde.build.dir" refid="pde.build.dir.path" />
<!-- create the build directory, copy plugins and features into it -->
<target name="copy_srcs">
<mkdir dir="${featureBuildDir}" />
<copy todir="${featureBuildDir}" preservelastmodified="true">
<fileset dir="${srcDir}/">
<include name="plugins/**" />
<include name="features/**" />
<exclude name="plugins/*/bin/**" />
</fileset>
</copy>
<mkdir dir="${productBuildDir}" />
<copy todir="${productBuildDir}" preservelastmodified="true">
<fileset dir="${srcDir}/">
<include name="features/com.android.ide.eclipse.adt.package/**" />
</fileset>
</copy>
</target>
<!-- create target platform -->
<target name="create-target">
<mkdir dir="${targetDir}" />
<mkdir dir="${targetDir}/deltapack" />
<mkdir dir="${targetDir}/repos" />
<unzip src="${deltaPackTargetSrcDir}/deltapack/eclipse-4.2.2-delta-pack.zip" dest="${targetDir}/deltapack" overwrite="false" />
<unzip src="${targetSrcDir}/platform/org.eclipse.platform-4.2.2.zip" dest="${targetDir}/repos/platform" overwrite="false" />
<unzip src="${targetSrcDir}/cdt/cdt-master-8.0.2.zip" dest="${targetDir}/repos/cdt" overwrite="false" />
<unzip src="${targetSrcDir}/emf/emf-xsd-SDK-M201201231045.zip" dest="${targetDir}/repos/emf" overwrite="false" />
<unzip src="${targetSrcDir}/jdt/org.eclipse.jdt.source-4.2.2.zip" dest="${targetDir}/repos/jdt" overwrite="false" />
<unzip src="${targetSrcDir}/wtp/wtp-repo-R-3.3.2-20120210195245.zip" dest="${targetDir}/repos/wtp" overwrite="false" />
<unzip src="${targetSrcDir}/gef/GEF-SDK-3.7.2.zip" dest="${targetDir}/repos/gef" overwrite="false" />
<unzip src="${targetSrcDir}/pde/org.eclipse.pde-3.8.zip" dest="${targetDir}/repos/pde" overwrite="false" />
<unzip src="${targetSrcDir}/egit/org.eclipse.egit.repository-2.2.0.201212191850-r.zip" dest="${targetDir}/repos/egit" overwrite="false" />
</target>
<!-- Launch pde build to build the adtpackage product -->
<target name="feature-build" depends="copy_srcs, create-target">
<java classname="org.eclipse.equinox.launcher.Main" fork="true" failonerror="true">
<arg value="-application" />
<arg value="org.eclipse.ant.core.antRunner" />
<arg value="-buildfile" />
<arg value="${pde.build.dir}/scripts/build.xml" />
<arg value="-data" />
<arg value="${featureBuildDir}/workspace" />
<arg value="-configuration" />
<arg value="${featureBuildDir}/configuration" />
<arg value="-Dtimestamp=${timestamp}" />
<arg value="-DeclipseLocation=${baseBuilder}" />
<arg value="-DbuildDirectory=${featureBuildDir}" />
<arg value="-Dbuilder=${ANDROID_SRC}/sdk/eclipse/buildConfig" />
<arg value="-DbaseLocation=${targetDir}/deltapack/eclipse" />
<arg value="-DrepoBaseLocation=${targetDir}/repos/" />
<arg value="-DtransformedRepoLocation=${targetDir}/transformedRepos/" />
<arg value="-DupdateSiteSource=${ANDROID_SRC}/sdk/eclipse/sites/external" />
<arg value="-DupdateSiteRoot=${targetDir}/repos/" />
<arg value="-DforceContextQualifier=${QUALIFIER}" />
<classpath>
<pathelement location="${equinox.launcher}" />
</classpath>
</java>
</target>
<!-- Launch pde build to build the adtpackage product -->
<target name="product-build" depends="feature-build">
<java classname="org.eclipse.equinox.launcher.Main" fork="true" failonerror="true">
<arg value="-application" />
<arg value="org.eclipse.ant.core.antRunner" />
<arg value="-buildfile" />
<arg value="${pde.build.dir}/scripts/productBuild/productBuild.xml" />
<arg value="-data" />
<arg value="${productBuildDir}/workspace" />
<arg value="-configuration" />
<arg value="${productBuildDir}/configuration" />
<arg value="-Dtimestamp=${timestamp}" />
<arg value="-DeclipseLocation=${baseBuilder}" />
<arg value="-DbuildDirectory=${productBuildDir}" />
<arg value="-DbaseLocation=${targetDir}/deltapack/eclipse" />
<arg value="-DrepoBaseLocation=${targetDir}/repos/" />
<arg value="-DtransformedRepoLocation=${targetDir}/transformedRepos/" />
<arg value="-Dconfigs=${buildconfigs}" />
<classpath>
<pathelement location="${equinox.launcher}" />
</classpath>
</java>
</target>
<target name="clean">
<delete dir="${outDir}" />
<delete dir="${targetDir}" />
</target>
<!-- Make sure that earlier build results are not present in the repository -->
<target name="clean-features">
<delete dir="${featureBuildDir}" />
<delete dir="${productBuildDir}" />
<delete dir="${targetDir}/repos/android-eclipse" />
<delete dir="${targetDir}/transformedRepos" />
</target>
<target name="build" depends="clean-features, product-build" />
</project>