diff options
| author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:29:09 -0800 | 
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:29:09 -0800 | 
| commit | 55a2c71f27d3e0b8344597c7f281e687cb7aeb1b (patch) | |
| tree | ecd18b995aea8eeeb8b3823266280d41245bf0f7 /eclipse/buildConfig | |
| parent | 82ea7a177797b844b252effea5c7c7c5d63ea4ac (diff) | |
| download | sdk-55a2c71f27d3e0b8344597c7f281e687cb7aeb1b.zip sdk-55a2c71f27d3e0b8344597c7f281e687cb7aeb1b.tar.gz sdk-55a2c71f27d3e0b8344597c7f281e687cb7aeb1b.tar.bz2 | |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'eclipse/buildConfig')
| -rw-r--r-- | eclipse/buildConfig/allElements.xml | 60 | ||||
| -rw-r--r-- | eclipse/buildConfig/build.properties | 238 | ||||
| -rw-r--r-- | eclipse/buildConfig/buildUpdateSite.xml | 13 | ||||
| -rw-r--r-- | eclipse/buildConfig/customTargets.xml | 195 | 
4 files changed, 506 insertions, 0 deletions
| diff --git a/eclipse/buildConfig/allElements.xml b/eclipse/buildConfig/allElements.xml new file mode 100644 index 0000000..2c8229c --- /dev/null +++ b/eclipse/buildConfig/allElements.xml @@ -0,0 +1,60 @@ +<!-- ========================================================================= --> +<!-- Feature build ant targets                                                 --> +<!-- Template obtained from org.eclipse.pde.build/templates/headless-build     --> +<!-- ========================================================================= --> +<project name="allElements Delegator"> +     +     <!-- ===================================================================== --> +     <!-- Run a given ${target} on all elements being built                     --> +     <!-- Replace element.id with the id of the top level element being built.    --> +     <!-- If element.id does not exist in ${buildDirectory}/features/element.id   --> +     <!-- or ${baseLocation}/features/element.id, then you must provide the       --> +     <!-- location by setting the property "pluginPath"                           --> +     <!-- Add on <ant> task for each top level element being built.             --> +     <!-- ===================================================================== --> +     <target name="allElementsDelegator"> +          +         <ant antfile="${genericTargets}" target="${target}"> +             <property name="type" value="feature" /> +             <property name="id" value="com.android.ide.eclipse.ddms" /> +         </ant> + +         <ant antfile="${genericTargets}" target="${target}"> +             <property name="type" value="feature" /> +             <property name="id" value="com.android.ide.eclipse.adt" /> +         </ant> +          +        <antcall target="buildInternalFeatures"/> +          +     </target> +     +     <!-- ===================================================================== --> +     <!-- Conditional target for building the internal features                 --> +     <!-- Builds if property internalSite is set                                --> +     <!-- ===================================================================== --> +     <target name="buildInternalFeatures" if="internalSite"> +        <ant antfile="${genericTargets}" target="${target}"> +            <property name="type" value="feature" /> +            <property name="id" value="com.android.ide.eclipse.tests" /> +        </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           --> +     <!-- Replace element.id with the id of the top level element being built   --> +     <!-- ===================================================================== --> +     <target name="assemble.com.android.ide.eclipse.adt"> +         <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/> +     </target> + +     <target name="assemble.com.android.ide.eclipse.ddms"> +         <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/> +     </target> +     +    <target name="assemble.com.android.ide.eclipse.tests"> +        <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/> +    </target> +</project> diff --git a/eclipse/buildConfig/build.properties b/eclipse/buildConfig/build.properties new file mode 100644 index 0000000..cd477d8 --- /dev/null +++ b/eclipse/buildConfig/build.properties @@ -0,0 +1,238 @@ +############################################################################### +# Copyright (c) 2003, 2006 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +#  +# Contributors: +#     IBM Corporation - initial API and implementation +############################################################################### + + +# This file was generated per the instructions located in Eclipse Help>Plug-in Development +# Environment >  Guide > Tasks > Building features and customized for building the +# Android Eclipse plugins. + +##################### +# 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 + +############# PRODUCT/PACKAGING CONTROL ############# +product=/plugin or feature id/path/to/.product +runPackager=true + +#Set the name of the archive that will result from the product build. +#archiveNamePrefix= + +# The prefix that will be used in the generated archive. +# override default of "eclipse" to aid for external site generation  +archivePrefix=android-eclipse + +# The location underwhich all of the build output will be collected. +collectingFolder=${archivePrefix} + +# 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 = *, *, * +#configs=win32, win32, x86 & \ +#	linux, gtk, ppc &\ +# linux, gtk, x86 & \ +#	linux, gtk, x86_64 & \ +#	linux, motif, x86 & \ +#	solaris, motif, sparc & \ +#	solaris, gtk, sparc & \ +#	aix, motif, ppc & \ +#	hpux, motif, PA_RISC & \ +#	macosx, carbon, ppc + +# By default PDE creates one archive (result) per entry listed in the configs property. +# Setting this value to try will cause PDE to only create one output containing all  +# artifacts for all the platforms listed in the configs property. +#groupConfigurations=true + +#The format of the archive. By default a zip is created using antZip. +#The list can only contain the configuration for which the desired format is different than zip. +#archivesFormat=win32, win32, x86 - antZip& \ +#	linux, gtk, ppc - antZip &\ +#    linux, gtk, x86 - antZip& \ +#	linux, gtk, x86_64 - antZip& \ +# linux, motif, x86 - antZip& \ +#	solaris, motif, sparc - antZip& \ +#	solaris, gtk, sparc - antZip& \ +#	aix, motif, ppc - antZip& \ +#	hpux, motif, PA_RISC - antZip& \ +#	macosx, carbon, ppc - antZip +	 +#Set to true if you want the output to be ready for an update jar (no site.xml generated) +outputUpdateJars = true + +#Set to true for Jnlp generation +#codebase should be a URL that will be used as the root of all relative URLs in the output. +#generateJnlp=false +#jnlp.codebase=<codebase url> +#jnlp.j2se=<j2se version> +#jnlp.locale=<a locale> +#jnlp.generateOfflineAllowed=true or false generate <offlineAllowed/> attribute in the generated features +#jnlp.configs=${configs}			#uncomment to filter the content of the generated jnlp files based on the configuration being built + +#Set to true if you want to sign jars +#signJars=false +#sign.alias=<alias> +#sign.keystore=<keystore location> +#sign.storepass=<keystore password> + +#Arguments to send to the zip executable +zipargs= + +#Arguments to send to the tar executable +tarargs= + +#Control the creation of a file containing the version included in each configuration - on by default  +#generateVersionsLists=false + +############## BUILD NAMING CONTROL ################ +# The directory into which the build elements are fetched and where +# the build takes place. +buildDirectory=. + +# Type of build.  Used in naming the build output.  Typically this value is +# one of I, N, M, S, ... +buildType=build + +# ID of the build.  Used in naming the build output. +# forceContextQualifer = build label +buildId=${forceContextQualifier} + +# Label for the build.  Used in naming the build output +buildLabel=${buildId} + +# Timestamp for the build.  Used in naming the build output +timestamp=007 + +#The value to be used for the qualifier of a plugin or feature when you want to override the value computed by pde. +#The value will only be applied to plugin or features indicating build.properties, qualifier = context  +#forceContextQualifier=<the value for the qualifier> + +#Enable / disable the generation of a suffix for the features that use .qualifier.  +#The generated suffix is computed according to the content of the feature    +#generateFeatureVersionSuffix=true + +############# BASE CONTROL ############# +# Settings for the base Eclipse components and Java class libraries  +# against which you are building. +# Base location for anything the build needs to compile against.  For example, +# in most RCP app or a plug-in,  the baseLocation should be the location of a previously +# installed Eclipse against which the application or plug-in code will be compiled and the RCP delta pack. + +baseLocation=${ECLIPSE_HOME} +#Os/Ws/Arch/nl of the eclipse specified by baseLocation +baseos=linux +basews=gtk +basearch=x86 + +#this property indicates whether you want the set of plug-ins and features to be considered during the build to be limited to the ones reachable from the features / plugins being built +filteredDependencyCheck=false + +#this property indicates whether the resolution should be done in development mode (i.e. ignore multiple bundles with singletons) +resolution.devMode=false + +#pluginPath is a list of locations in which to find plugins and features.  This list is separated by the platform file separator (; or :) +#a location is one of:   +#- the location of the jar or folder that is the plugin or feature : /path/to/foo.jar or /path/to/foo +#- a directory that contains a /plugins or /features subdirectory +#- the location of a feature.xml, or for 2.1 style plugins, the plugin.xml or fragment.xml +#pluginPath= + +skipBase=true +eclipseURL=<url for eclipse download site> +eclipseBuildId=<Id of Eclipse build to get> +eclipseBaseURL=${eclipseURL}/eclipse-platform-${eclipseBuildId}-win32.zip + + +############# MAP FILE CONTROL ################ +# This section defines CVS tags to use when fetching the map files from the repository. +# If you want to fetch the map file from repository / location, change the getMapFiles target in the customTargets.xml + +skipMaps=true +mapsRepo=:pserver:anonymous@example.com/path/to/repo +mapsRoot=path/to/maps +mapsCheckoutTag=HEAD + +#tagMaps=true +mapsTagTag=v${buildId} + + +############ REPOSITORY CONTROL ############### +# This section defines properties parameterizing the repositories where plugins, fragments +# bundles and features are being obtained from.  + +# The tags to use when fetching elements to build. +# By default thebuilder will use whatever is in the maps.   +# This value takes the form of a comma separated list of repository identifier (like used in the map files) and the  +# overriding value +# For example fetchTag=CVS=HEAD, SVN=v20050101 +# fetchTag=HEAD +skipFetch=true + + +############# JAVA COMPILER OPTIONS ############## +# The location of the Java jars to compile against.  Typically the rt.jar for your JDK/JRE +#bootclasspath=${java.home}/lib/rt.jar + +# specific JRE locations to compile against. These values are used to compile bundles specifying a  +# Bundle-RequiredExecutionEnvironment. Uncomment and set values for environments that you support +#CDC-1.0/Foundation-1.0= /path/to/rt.jar +#CDC-1.1/Foundation-1.1= +#OSGi/Minimum-1.0= +#OSGi/Minimum-1.1= +#JRE-1.1= +#J2SE-1.2= +#J2SE-1.3= +#J2SE-1.4= +#J2SE-1.5= +#JavaSE-1.6= +#PersonalJava-1.1= +#PersonalJava-1.2= +#CDC-1.0/PersonalBasis-1.0= +#CDC-1.0/PersonalJava-1.0= +#CDC-1.1/PersonalBasis-1.1= +#CDC-1.1/PersonalJava-1.1= + +# Specify the output format of the compiler log when eclipse jdt is used +logExtension=.log + +# 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 + +# Enable or disable verbose mode of the compiler +javacVerbose=true + +# Extra arguments for the compiler. These are specific to the java compiler being used. +#compilerArg= + +# Default value for the version of the source code. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacSource in build.properties +javacSource=1.5 + +# Default value for the version of the byte code targeted. This value is used when compiling plug-ins that do not set the Bundle-RequiredExecutionEnvironment or set javacTarget in build.properties. +javacTarget=1.5 + +################### CUSTOM PROPERTIES ####################################### +# repository location for update site +# comment out - this is passed in from command line  +#updateSiteSource=${buildDirectory}/sites/external +# where to place update site build +updateSiteRoot=${user.home}/www/no_crawl/ +updateSiteFolder=${archivePrefix} +updateSiteDestination=${updateSiteRoot}/${updateSiteFolder} diff --git a/eclipse/buildConfig/buildUpdateSite.xml b/eclipse/buildConfig/buildUpdateSite.xml new file mode 100644 index 0000000..1ab7c99 --- /dev/null +++ b/eclipse/buildConfig/buildUpdateSite.xml @@ -0,0 +1,13 @@ +<project name="update site"> +    <!-- ========================================================================= --> +    <!-- Extracts feature zip for update site                                      --> +    <!-- expected properties:                                                      --> +    <!--    id - feature id to extract                                             --> +    <!--    buildDirectory - base directgory where build takes place               --> +    <!--    buildLabel - build id label                                            --> +    <!--    updateSiteRoot - where to extract feature zip                          --> +    <!-- ========================================================================= --> +    <target name="extractFeature"> +        <unzip src="${buildDirectory}/${buildLabel}/${id}-${buildLabel}.zip" dest="${updateSiteRoot}"/>         +    </target> +</project> diff --git a/eclipse/buildConfig/customTargets.xml b/eclipse/buildConfig/customTargets.xml new file mode 100644 index 0000000..5a46bfc --- /dev/null +++ b/eclipse/buildConfig/customTargets.xml @@ -0,0 +1,195 @@ +<!-- ========================================================================= --> +<!-- Eclipse template file for PDE builds --> +<!-- template originally obtained from org.eclipse.pde.build/templates/headless-build --> +<!-- ========================================================================= --> +<project name="Build specific targets and properties" default="noDefault"> + +    <!-- ===================================================================== --> +    <!-- Run a given ${target} on all elements being built --> +    <!-- Add on <ant> task for each top level element being built. --> +    <!-- ===================================================================== --> +    <property name="allElementsFile" value="${builder}/allElements.xml"/> +    <import file="${allElementsFile}" /> +    <target name="allElements"> +        <antcall target="allElementsDelegator" /> +    </target> +     +    <!-- ===================================================================== --> +    <!-- ===================================================================== --> +    <target name="getBaseComponents" depends="checkLocalBase" unless="skipBase"> +        <get src="${eclipseBaseURL}" dest="${buildDirectory}/../temp-base.zip" /> +        <unzip dest="${base}" overwrite="true" src="${buildDirectory}/../temp-base.zip" /> +    </target> + +    <target name="checkLocalBase"> +        <available file="${base}" property="skipBase" /> +    </target> + +    <!-- ===================================================================== --> +    <!-- Check out map files from correct repository --> +    <!-- Replace values for mapsCheckoutTag as desired. --> +    <!-- ===================================================================== --> +    <target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps"> +        <property name="mapsCheckoutTag" value="HEAD" /> +        <cvs cvsRoot="${mapsRepo}" package="${mapsRoot}" dest="${buildDirectory}/maps" tag="${mapsCheckoutTag}" /> +    </target> + +    <target name="checkLocalMaps"> +        <available property="skipMaps" file="${buildDirectory}/maps" /> +    </target> + +    <target name="tagMapFiles" if="tagMaps"> +        <cvs dest="${buildDirectory}/maps/${mapsRoot}" command="tag ${mapsTagTag}" /> +    </target> + +    <!-- ===================================================================== --> + +    <target name="clean" unless="noclean"> +        <antcall target="allElements"> +            <param name="target" value="cleanElement" /> +        </antcall> +    </target> + +    <target name="gatherLogs"> +        <mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" /> +        <antcall target="allElements"> +            <param name="target" value="gatherLogs" /> +        </antcall> +        <unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true"> +            <fileset dir="${buildDirectory}/features"> +                <include name="**/*.log.zip" /> +            </fileset> +        </unzip> +    </target> + +    <!-- ===================================================================== --> +    <!-- Steps to do before setup --> +    <!-- ===================================================================== --> +    <target name="preSetup"> +    </target> + +    <!-- ===================================================================== --> +    <!-- Steps to do after setup but before starting the build proper --> +    <!-- ===================================================================== --> +    <target name="postSetup"> +        <antcall target="getBaseComponents" /> +    </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"> +        <antcall target="clean" /> +    </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 before running package. --> +    <!-- ===================================================================== --> +    <target name="prePackage"> +    </target> + +    <!-- ===================================================================== --> +    <!-- Steps to do after  running package. --> +    <!-- ===================================================================== --> +    <target name="postPackage"> +    </target> + +    <!-- ===================================================================== --> +    <!-- Steps to do after the build is done. --> +    <!-- ===================================================================== --> +    <target name="postBuild"> +        <antcall target="gatherLogs" /> +        <!-- Added this custom target ! --> +        <antcall target="generateUpdateSite" /> +    </target> + +    <!-- ===================================================================== --> +    <!-- Steps to do to test the build results --> +    <!-- ===================================================================== --> +    <target name="test"> +    </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> +     +    <!-- ===================================================================== --> +    <!-- Custom target:                                                        --> +    <!-- Steps to do to generate the update site                               --> +    <!-- ===================================================================== --> +    <target name="generateUpdateSite"> +        <echo message="Copying update site source ${updateSiteSource} to destination"/> +    	 +        <copy file="${updateSiteSource}/site.xml" overwrite="true" todir="${updateSiteDestination}"/> +        <copy file="${updateSiteSource}/index.html" overwrite="true" todir="${updateSiteDestination}"/> +        <copy file="${updateSiteSource}/web/site.css" overwrite="true" todir="${updateSiteDestination}/web"/> +        <copy file="${updateSiteSource}/web/site.xsl" overwrite="true" todir="${updateSiteDestination}/web"/> +         +        <!-- replace qualifier version references with build label --> +        <replace file="${updateSiteDestination}/site.xml" token="qualifier" value="${buildId}"/> +         +        <!-- now extract each features zip to update site --> +        <antcall target="allElements"> +            <param name="genericTargets" value="${builder}/buildUpdateSite.xml"/> +            <param name="target" value="extractFeature" /> +        </antcall> +         +        <chmod perm="755" type="both"> +            <fileset dir="${updateSiteDestination}"> +            </fileset> +        </chmod>     +    </target> + +</project> | 
