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