diff options
author | Siva Velusamy <vsiva@google.com> | 2011-12-12 15:58:16 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-12-12 15:58:16 -0800 |
commit | debd5a68836dc82201b00125746fcce2623ecc7d (patch) | |
tree | 0fc88e1446a606e03883d6a4781db57a63c2539a /eclipse/scripts | |
parent | c69935d2097b44341e81ce3cd2c8c0d665bb527c (diff) | |
parent | 6ca42e8ef3fe648b3345ea2bcb17825d224f39aa (diff) | |
download | sdk-debd5a68836dc82201b00125746fcce2623ecc7d.zip sdk-debd5a68836dc82201b00125746fcce2623ecc7d.tar.gz sdk-debd5a68836dc82201b00125746fcce2623ecc7d.tar.bz2 |
Merge "rcp: create monitor plugin & build scripts"
Diffstat (limited to 'eclipse/scripts')
-rwxr-xr-x | eclipse/scripts/create_all_symlinks.sh | 48 | ||||
-rw-r--r-- | eclipse/scripts/rcp/HOWTO-BUILD | 9 | ||||
-rw-r--r-- | eclipse/scripts/rcp/build.properties | 49 | ||||
-rw-r--r-- | eclipse/scripts/rcp/build.xml | 89 |
4 files changed, 180 insertions, 15 deletions
diff --git a/eclipse/scripts/create_all_symlinks.sh b/eclipse/scripts/create_all_symlinks.sh index c7548a2..0842342 100755 --- a/eclipse/scripts/create_all_symlinks.sh +++ b/eclipse/scripts/create_all_symlinks.sh @@ -1,4 +1,8 @@ #!/bin/bash +# This script copies the .jar files that each plugin depends on into the plugins libs folder. +# By default, on Mac & Linux, this script creates symlinks from the libs folder to the jar file. +# Since Windows does not support symlinks, the jar files are copied. +# Use option "-f" to copy files rather than creating symlinks on the Mac/Linux platforms. echo "## Running $0" # CD to the top android directory @@ -6,16 +10,34 @@ PROG_DIR=`dirname "$0"` cd "${PROG_DIR}/../../../" HOST=`uname` +USE_COPY="" # force copy dependent jar files rather than creating symlinks function die() { echo "Error: $*" exit 1 } -if [ "${HOST:0:6}" == "CYGWIN" ]; then +## parse arguments +while [ $# -gt 0 ]; do + if [ "$1" == "-f" ]; then + USE_COPY="1" + fi + shift +done + +if [ "$HOST" == "Linux" ]; then + PLATFORM="linux-x86" +elif [ "$HOST" == "Darwin" ]; then + PLATFORM="darwin-x86" +elif [ "${HOST:0:6}" == "CYGWIN" ]; then + USE_COPY="1" # We can't use symlinks under Cygwin PLATFORM="windows-x86" +else + echo "Unsupported platform ($HOST). Aborting." + exit 1 +fi - # We can't use symlinks under Cygwin +if [ "$USE_COPY" == "1" ]; then function cpfile { # $1=source $2=dest cp -fv $1 $2/ } @@ -24,17 +46,6 @@ if [ "${HOST:0:6}" == "CYGWIN" ]; then rsync -avW --delete-after $1 $2 } else - if [ "$HOST" == "Linux" ]; then - PLATFORM="linux-x86" - elif [ "$HOST" == "Darwin" ]; then - PLATFORM="darwin-x86" - else - echo "Unsupported platform ($HOST). Aborting." - exit 1 - fi - - # For all other systems which support symlinks - # computes the "reverse" path, e.g. "a/b/c" => "../../.." function back() { echo $1 | sed 's@[^/]*@..@g' @@ -135,6 +146,13 @@ SDMAN_LIBS="swtmenubar" LIBS="$LIBS $SDKMAN_LIBS" +### MONITOR ### + +MONITOR_DEST="sdk/eclipse/plugins/com.android.ide.eclipse.monitor/libs" +MONITOR_LIBS="sdklib sdkstats androidprefs" + +LIBS="$LIBS $MONITOR_LIBS" +CP_FILES="$CP_FILES @:$MONITOR_DEST $MONITOR_LIBS" ### GL DEBUGGER ### @@ -150,9 +168,9 @@ fi # Make sure we have lunch sdk-<something> if [[ ! "$TARGET_PRODUCT" ]]; then - echo "## TARGET_PRODUCT is not set, running build/envsetup.sh" + echo "## TARGET_PRODUCT is not set, running build/envsetup.sh" . build/envsetup.sh - echo "## lunch sdk-eng" + echo "## lunch sdk-eng" lunch sdk-eng fi diff --git a/eclipse/scripts/rcp/HOWTO-BUILD b/eclipse/scripts/rcp/HOWTO-BUILD new file mode 100644 index 0000000..9278f98 --- /dev/null +++ b/eclipse/scripts/rcp/HOWTO-BUILD @@ -0,0 +1,9 @@ +To build the Monitor RCP based application, do: + +$ lunch sdk-eng +$ ./sdk/eclipse/scripts/create_all_symlinks.sh -f +$ cd sdk/eclipse/scripts/rcp +$ ant + +This will build the RCP in the folder: +$ANDROID_SRC/out/host/eclipse/rcp/build/I.RcpBuild/ diff --git a/eclipse/scripts/rcp/build.properties b/eclipse/scripts/rcp/build.properties new file mode 100644 index 0000000..493665e --- /dev/null +++ b/eclipse/scripts/rcp/build.properties @@ -0,0 +1,49 @@ +############################################################################### +# Copyright (c) 2003, 2009 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 +############################################################################### + +############# PRODUCT/PACKAGING CONTROL ############# +product=/com.android.ide.eclipse.monitor/monitor.product +runPackager=true +archivePrefix=monitor +collectingFolder=${archivePrefix} +configs=linux,gtk,x86_64 & \ + linux,gtk,x86 & \ + macosx,cocoa,x86_64 & \ + win32,win32,x86_64 & \ + win32,win32,x86 +allowBinaryCycles = true +buildType=I +buildId=RcpBuild +buildLabel=${buildType}.${buildId} +timestamp=007 +launcherName=monitor + +############# BASE CONTROL ############# +baseos=linux +basews=gtk +basearch=x86_64 +filteredDependencyCheck=false +resolution.devMode=false +skipBase=true + +############# MAP FILE CONTROL ################ +skipMaps=true + +############ REPOSITORY CONTROL ############### +skipFetch=true + +############# JAVA COMPILER OPTIONS ############## +logExtension=.log +javacDebugInfo=false +javacFailOnError=true +javacVerbose=true +javacSource=1.5 +javacTarget=1.5 diff --git a/eclipse/scripts/rcp/build.xml b/eclipse/scripts/rcp/build.xml new file mode 100644 index 0000000..0079d0b --- /dev/null +++ b/eclipse/scripts/rcp/build.xml @@ -0,0 +1,89 @@ +<project name="com.android.eclipse.rcp.build" default="build"> + <!-- Root of Android Source Tree --> + <property name="ANDROID_SRC" location="../../../../" /> + + <!-- Host Eclipse used for building the RCP --> + <property name="basebuilder" value="${ANDROID_SRC}/prebuilts/tools/build/basebuilder/org.eclipse.releng.basebuilder/" /> + + <!-- Source for target prebuilts --> + <property name="targetSrcDir" value="${ANDROID_SRC}/prebuilts/tools/build/target-platform/" /> + + <!-- Location where build happens and resulting binaries are generated --> + <property name="outDir" value="${ANDROID_SRC}/out/host/eclipse/rcp/" /> + + <!-- Location where the target platform is created --> + <property name="targetDir" value="${outDir}/target" /> + + <!-- Location where the target platform is created --> + <property name="buildDir" value="${outDir}/build" /> + + <!-- Location of the sources --> + <property name="srcDir" value="${ANDROID_SRC}/sdk/eclipse/" /> + + <!-- 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="${buildDir}" /> + <copy todir="${buildDir}"> + <fileset dir="${srcDir}/"> + <include name="plugins/**" /> + <include name="features/**" /> + </fileset> + </copy> + </target> + + <!-- create target platform --> + <target name="create-target"> + <mkdir dir="${targetDir}" /> + <mkdir dir="${targetDir}/deltapack" /> + <mkdir dir="${targetDir}/repos" /> + + <unzip src="${targetSrcDir}/eclipse-3.6.2-delta-pack.zip" dest="${targetDir}/deltapack" /> + <unzip src="${targetSrcDir}/org.eclipse.platform-3.6.2.zip" dest="${targetDir}/repos/platform" /> + <unzip src="${targetSrcDir}/org.eclipse.jdt-3.6.2.zip" dest="${targetDir}/repos/jdt" /> + </target> + + <!-- Launch pde build --> + <target name="pde-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="${buildDir}/workspace" /> + <arg value="-Dtimestamp=${timestamp}" /> + <arg value="-DeclipseLocation=${baseBuilder}" /> + <arg value="-DbuildDirectory=${buildDir}" /> + <arg value="-DbaseLocation=${targetDir}/deltapack/eclipse" /> + <arg value="-DrepoBaseLocation=${targetDir}/repos/" /> + <arg value="-DtransformedRepoLocation=${targetDir}/transformedRepos/" /> + <classpath> + <pathelement location="${equinox.launcher}" /> + </classpath> + </java> + </target> + + <target name="clean"> + <delete dir="${outDir}" /> + <delete dir="${targetDir}" /> + </target> + + <target name="build" depends="clean, copy_srcs, create-target, pde-build" /> +</project> + |