diff options
Diffstat (limited to 'eclipse/buildConfig')
-rw-r--r-- | eclipse/buildConfig/allElements.xml | 69 | ||||
-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, 515 insertions, 0 deletions
diff --git a/eclipse/buildConfig/allElements.xml b/eclipse/buildConfig/allElements.xml new file mode 100644 index 0000000..79f06df --- /dev/null +++ b/eclipse/buildConfig/allElements.xml @@ -0,0 +1,69 @@ +<!-- ========================================================================= --> +<!-- 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.adt" /> + </ant> + + <ant antfile="${genericTargets}" target="${target}"> + <property name="type" value="feature" /> + <property name="id" value="com.android.ide.eclipse.editors" /> + </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.platform" /> + </ant> + <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.editors"> + <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/> + </target> + + <target name="assemble.com.android.ide.eclipse.platform"> + <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> |