1aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy<!--
2aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy * Copyright (C) 2012 The Android Open Source Project
3aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy *
4aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy * Licensed under the Apache License, Version 2.0 (the "License");
5aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy * you may not use this file except in compliance with the License.
6aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy * You may obtain a copy of the License at
7aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy *
8aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy *      http://www.apache.org/licenses/LICENSE-2.0
9aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy *
10aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy * Unless required by applicable law or agreed to in writing, software
11aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy * distributed under the License is distributed on an "AS IS" BASIS,
12aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy * See the License for the specific language governing permissions and
14aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy * limitations under the License.
15aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
16aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy*Sample* build.xml for ADT plugin build. Do not use for actual releases.
17aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
18aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva VelusamyNote: this uses the target platform from eclipse-build-deps.
19aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva VelusamyAll these are newer than Eclipse 3.6.2 which is our current baseline.
20aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
21aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva VelusamyNote: for actual releases, use build_server.sh instead of this.
22aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
23aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva VelusamyTo build:
24aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy$ cd sdk/eclipse/scripts
25aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy$ ant
26aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva VelusamyThis should create the plugins in $OUT/host/eclipse/adtplugins/build/v<timestamp>-aosp
27aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
28aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy-->
29aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy<project name="com.android.eclipse.rcp.build" default="build">
30aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- The timestamp for the context qualifier. -->
31aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <tstamp>
32aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <format property="adt.timestamp"
33aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy                pattern="yyyyMMddHHmmss" />
34aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    </tstamp>
35aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
36aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- Root of Android Source Tree -->
37aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <property name="ANDROID_SRC" location="../../../" />
38aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
39aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- Host Eclipse used for building the RCP -->
40aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <property name="basebuilder" value="${ANDROID_SRC}/external/eclipse-basebuilder/basebuilder-3.6.2/org.eclipse.releng.basebuilder/" />
41aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
42aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- Source for target prebuilts -->
43aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <property name="targetSrcDir1" value="${ANDROID_SRC}/prebuilts/eclipse/" />
44aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <property name="targetSrcDir2" value="${ANDROID_SRC}/prebuilts/eclipse-build-deps/" />
45aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
46aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- Location where build happens and resulting binaries are generated -->
47aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <property name="outDir" value="${ANDROID_SRC}/out/host/eclipse/adtplugins/" />
48aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
49aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- Location where the target platform is created -->
50aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <property name="targetDir" value="${outDir}/target" />
51aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
52aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- Location where the target platform is created -->
53aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <property name="buildDir" value="${outDir}/build" />
54aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
55aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- Location of the sources -->
56aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <property name="srcDir" value="${ANDROID_SRC}/sdk/eclipse/" />
57aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
58aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- locate launcher plugin inside eclipse -->
59aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <path id="equinox.launcher.path">
60aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <fileset dir="${basebuilder}/plugins">
61aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <include name="org.eclipse.equinox.launcher_*.jar" />
62aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        </fileset>
63aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    </path>
64aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <property name="equinox.launcher" refid="equinox.launcher.path" />
65aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
66aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- locate pde build plugin inside eclipse -->
67aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <path id="pde.build.dir.path">
68aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <dirset dir="${basebuilder}/plugins">
69aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <include name="org.eclipse.pde.build_*" />
70aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        </dirset>
71aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    </path>
72aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <property name="pde.build.dir" refid="pde.build.dir.path" />
73aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
74aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- create the build directory, copy plugins and features into it -->
75aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <target name="copy_srcs">
76aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <mkdir dir="${buildDir}" />
77aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <copy todir="${buildDir}" preservelastmodified="true">
78aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <fileset dir="${srcDir}/">
79aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy                <include name="plugins/**" />
80aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy                <include name="features/**" />
81aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy                <exclude name="plugins/*/bin/**" />
82aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            </fileset>
83aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        </copy>
84aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    </target>
85aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
86aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- create target platform -->
87aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <target name="create-target">
88aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <mkdir dir="${targetDir}" />
89aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <mkdir dir="${targetDir}/deltapack" />
90aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <mkdir dir="${targetDir}/repos" />
91aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
92aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <unzip src="${targetSrcDir1}/deltapack/eclipse-3.7.2-delta-pack.zip" dest="${targetDir}/deltapack" overwrite="false" />
93aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <unzip src="${targetSrcDir1}/platform/org.eclipse.platform-3.7.2.zip" dest="${targetDir}/repos/platform" overwrite="false" />
94aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <unzip src="${targetSrcDir2}/cdt/cdt-master-8.0.2.zip" dest="${targetDir}/repos/cdt" overwrite="false" />
95aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <unzip src="${targetSrcDir2}/emf/emf-xsd-SDK-M201201231045.zip" dest="${targetDir}/repos/emf" overwrite="false" />
96aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <unzip src="${targetSrcDir2}/jdt/org.eclipse.jdt.source-3.7.2.zip" dest="${targetDir}/repos/jdt" overwrite="false" />
97aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <unzip src="${targetSrcDir2}/wtp/wtp-repo-R-3.3.2-20120210195245.zip" dest="${targetDir}/repos/wtp" overwrite="false" />
98aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <unzip src="${targetSrcDir2}/gef/GEF-SDK-3.7.2.zip" dest="${targetDir}/repos/gef" overwrite="false" />
99aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    </target>
100aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
101aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <!-- Launch pde build -->
102aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <target name="pde-build" depends="copy_srcs, create-target">
103aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <java classname="org.eclipse.equinox.launcher.Main" fork="true" failonerror="true">
104aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-application" />
105aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="org.eclipse.ant.core.antRunner" />
106aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-buildfile" />
107aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="${pde.build.dir}/scripts/build.xml" />
108aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-data" />
109aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="${buildDir}/workspace" />
110aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-configuration" />
111aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="${buildDir}/configuration" />
112aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-Dbuilder=${srcDir}/buildConfig" />
113aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-Dtimestamp=${timestamp}" />
114aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-DeclipseLocation=${baseBuilder}" />
115aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-DbuildDirectory=${buildDir}" />
116aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-DbaseLocation=${targetDir}/deltapack/eclipse" />
117aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-DrepoBaseLocation=${targetDir}/repos/" />
118aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-DtransformedRepoLocation=${targetDir}/transformedRepos/" />
119aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-DupdateSiteSource=${srcDir}/sites/external" />
120aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <arg value="-DforceContextQualifier=v${adt.timestamp}-aosp" />
121aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            <classpath>
122aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy                <pathelement location="${equinox.launcher}" />
123aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy            </classpath>
124aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        </java>
125aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    </target>
126aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
127aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <target name="clean">
128aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <delete dir="${outDir}" />
129aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy        <delete dir="${targetDir}" />
130aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    </target>
131aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy
132aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy    <target name="build" depends="pde-build" />
133aa34bc3a94b033604ef3981ebf16e9c7e559b40aSiva Velusamy</project>
134