SDK: build 'monitor' tool and package it in the SDK.
Fixed with Siva to use the 'ant' builder from Eclipse's baseBuilder jars.
Changed to use:
- the new external/eclipse-basebuilder for the basebuilder jars.
- the rcp deltapack, located prebuilts/eclipse.
- monitor scripts are now in sdk/monitor.
- configuration is now in out/host/eclipse/rcp/build/configuration
and doesn't change any existing repos.
Requires change I7ab027ff6 from build.git
Change-Id: I72fff09231fc9b3031c10eb42ff821c55af9b5d5
diff --git a/build/product_sdk.mk b/build/product_sdk.mk
index d54710f..7802211 100644
--- a/build/product_sdk.mk
+++ b/build/product_sdk.mk
@@ -35,6 +35,7 @@
lint \
mksdcard \
monkeyrunner \
+ monitor \
traceview
# Native host Java libraries that are parts of the SDK.
diff --git a/build/sdk_only_whitelist.mk b/build/sdk_only_whitelist.mk
index 7a07297..3a7d9a3 100644
--- a/build/sdk_only_whitelist.mk
+++ b/build/sdk_only_whitelist.mk
@@ -54,6 +54,7 @@
sdk/jarutils \
sdk/layoutlib_api \
sdk/manifmerger \
+ sdk/monitor \
sdk/ninepatch \
sdk/rule_api \
sdk/lint \
diff --git a/build/tools.darwin.atree b/build/tools.darwin.atree
index b5e852f..d584231 100644
--- a/build/tools.darwin.atree
+++ b/build/tools.darwin.atree
@@ -23,9 +23,8 @@
##############################################################################
# RCP Monitor.
-# Not ready yet, fails due to missing "ant" on build servers
-# bin/monitor tools/monitor
-# eclipse/monitor-macosx.cocoa.x86_64/monitor tools/lib/monitor-x86_64
+bin/monitor tools/monitor
+eclipse/monitor-macosx.cocoa.x86_64/monitor tools/lib/monitor-x86_64
# swt
prebuilts/tools/darwin-x86/swt/swt.jar tools/lib/x86/swt.jar
diff --git a/build/tools.linux.atree b/build/tools.linux.atree
index e9f6b2c..cdba1f2 100644
--- a/build/tools.linux.atree
+++ b/build/tools.linux.atree
@@ -23,10 +23,9 @@
##############################################################################
# RCP Monitor.
-# Not ready yet, fails due to missing "ant" on build servers
-# bin/monitor tools/monitor
-# eclipse/monitor-linux.gtk.x86/monitor tools/lib/monitor-x86
-# eclipse/monitor-linux.gtk.x86_64/monitor tools/lib/monitor-x86_64
+bin/monitor tools/monitor
+eclipse/monitor-linux.gtk.x86/monitor tools/lib/monitor-x86
+eclipse/monitor-linux.gtk.x86_64/monitor tools/lib/monitor-x86_64
# swt
diff --git a/build/tools.windows.atree b/build/tools.windows.atree
index bb5befa..66f375a 100755
--- a/build/tools.windows.atree
+++ b/build/tools.windows.atree
@@ -86,12 +86,13 @@
rm tools/zipalign
bin/zipalign.exe strip tools/zipalign.exe
-# RCP Monitor.
-# Not ready yet, fails due to missing "ant" on build servers
-# rm tools/monitor
-# sdk/eclipse/scripts/rcp/monitor.bat tools/monitor.bat
-# eclipse/monitor-win32.win32.x86/monitor tools/lib/monitor-x86
-# eclipse/monitor-win32.win32.x86_64/monitor tools/lib/monitor-x86_64
+# RCP Monitor. Remove linux stuff and replace by Windows files.
+rm tools/monitor
+rm tools/lib/monitor-x86
+rm tools/lib/monitor-x86_64
+sdk/monitor/monitor.bat tools/monitor.bat
+eclipse/monitor-win32.win32.x86/monitor tools/lib/monitor-x86
+eclipse/monitor-win32.win32.x86_64/monitor tools/lib/monitor-x86_64
# Copy the AVD & SDK Manager (aka avd/sdklauncher) to the root of the SDK as
diff --git a/build/windows_sdk_tools.mk b/build/windows_sdk_tools.mk
index 5ddca7d..37a125c 100644
--- a/build/windows_sdk_tools.mk
+++ b/build/windows_sdk_tools.mk
@@ -13,9 +13,9 @@
find_java \
find_lock \
mksdcard \
+ monitor \
sdklauncher
-# monitor -- disabled due to build break
# Add OpenGLES emulation host libraries if needed.
ifeq (true,$(BUILD_EMULATOR_OPENGL))
@@ -28,5 +28,6 @@
# Define the list of tool-dependent modules requisites needed
# for the Windows SDK. These will be built using HOST_OS=linux.
-WIN_SDK_BUILD_PREREQ :=
+WIN_SDK_BUILD_PREREQ := \
+ monitor
diff --git a/eclipse/scripts/rcp/Android.mk b/eclipse/scripts/rcp/Android.mk
deleted file mode 100644
index 0fab0ed..0000000
--- a/eclipse/scripts/rcp/Android.mk
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2012 The Android Open Source Project
-
-#LOCAL_PATH := $(call my-dir)
-#include $(CLEAR_VARS)
-#
-#LOCAL_MODULE := monitor
-#LOCAL_MODULE_CLASS := EXECUTABLES
-#LOCAL_MODULE_TAGS := optional
-#LOCAL_IS_HOST_MODULE := true
-#include $(BUILD_SYSTEM)/base_rules.mk
-#
-#RCP_MONITOR_DIR := $(TOPDIR)out/host/eclipse/rcp/build/I.RcpBuild
-#
-#define mk-rcp-monitor-atree-file
-# srczip=$(RCP_MONITOR_DIR)/RcpBuild-$(1).$(2).zip && \
-# dstdir=$(HOST_OUT)/eclipse/monitor-$(1).$(2) && \
-# rm -rf $(V) $$dstdir && \
-# mkdir -p $$dstdir && \
-# unzip -q $$srczip -d $$dstdir
-#endef
-#
-## The RCP monitor. It is referenced by build/target/products/sdk.mk
-#$(LOCAL_BUILT_MODULE) : $(TOPDIR)sdk/eclipse/scripts/rcp/monitor \
-# $(TOPDIR)sdk/eclipse/scripts/rcp/build.xml \
-# $(TOPDIR)sdk/eclipse/scripts/rcp/build.properties \
-# $(shell $(TOPDIR)sdk/eclipse/scripts/create_all_symlinks.sh -d)
-# @mkdir -p $(dir $@)
-# $(hide)$(TOPDIR)sdk/eclipse/scripts/create_all_symlinks.sh -c
-# $(hide)cd $(TOPDIR)sdk/eclipse/scripts/rcp && ant -DbuildFor=$(HOST_OS)
-# $(hide)cp $(V) $(TOPDIR)sdk/eclipse/scripts/rcp/monitor $@
-# $(hide)if [[ $(HOST_OS) == "linux" ]]; then \
-# $(call mk-rcp-monitor-atree-file,linux.gtk,x86) ; \
-# $(call mk-rcp-monitor-atree-file,linux.gtk,x86_64) ; \
-# fi
-# $(hide)if [[ $(HOST_OS) == "darwin" ]]; then \
-# $(call mk-rcp-monitor-atree-file,macosx.cocoa,x86_64) ; \
-# fi
-# $(hide)if [[ $(HOST_OS) == "windows" ]]; then \
-# $(call mk-rcp-monitor-atree-file,win32.win32,x86) ; \
-# $(call mk-rcp-monitor-atree-file,win32.win32,x86_64) ; \
-# fi
diff --git a/monitor/Android.mk b/monitor/Android.mk
new file mode 100644
index 0000000..040ff44
--- /dev/null
+++ b/monitor/Android.mk
@@ -0,0 +1,46 @@
+# Copyright 2012 The Android Open Source Project
+
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := monitor
+LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS := optional
+LOCAL_IS_HOST_MODULE := true
+include $(BUILD_SYSTEM)/base_rules.mk
+
+RCP_MONITOR_DIR := $(TOPDIR)out/host/eclipse/rcp/build/I.RcpBuild
+
+define mk-rcp-monitor-atree-file
+ srczip=$(RCP_MONITOR_DIR)/RcpBuild-$(1).$(2).zip && \
+ dstdir=$(HOST_OUT)/eclipse/monitor-$(1).$(2) && \
+ rm -rf $(V) $$dstdir && \
+ mkdir -p $$dstdir && \
+ unzip -q $$srczip -d $$dstdir
+endef
+
+# The RCP monitor. It is referenced by build/target/products/sdk.mk
+$(LOCAL_BUILT_MODULE) : $(TOPDIR)sdk/monitor/monitor \
+ $(TOPDIR)sdk/monitor/build.xml \
+ $(TOPDIR)sdk/monitor/build.properties \
+ $(shell $(TOPDIR)sdk/eclipse/scripts/create_all_symlinks.sh -d)
+ @mkdir -p $(dir $@)
+ $(hide)$(TOPDIR)sdk/eclipse/scripts/create_all_symlinks.sh -c
+ $(hide)cd $(TOPDIR)sdk/monitor && \
+ java -jar ../../external/eclipse-basebuilder/basebuilder-3.6.2/org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar \
+ org.eclipse.equinox.launcher.Main \
+ -application org.eclipse.ant.core.antRunner \
+ -configuration ../../out/host/eclipse/rcp/build/configuration \
+ -DbuildFor=$(HOST_OS)
+ $(hide)$(ACP) -fpt $(V) $(TOPDIR)sdk/monitor/monitor $@
+ $(hide)if [[ $(HOST_OS) == "linux" ]]; then \
+ $(call mk-rcp-monitor-atree-file,linux.gtk,x86) ; \
+ $(call mk-rcp-monitor-atree-file,linux.gtk,x86_64) ; \
+ fi
+ $(hide)if [[ $(HOST_OS) == "darwin" ]]; then \
+ $(call mk-rcp-monitor-atree-file,macosx.cocoa,x86_64) ; \
+ fi
+ $(hide)if [[ $(HOST_OS) == "windows" ]]; then \
+ $(call mk-rcp-monitor-atree-file,win32.win32,x86) ; \
+ $(call mk-rcp-monitor-atree-file,win32.win32,x86_64) ; \
+ fi
diff --git a/eclipse/scripts/rcp/HOWTO-BUILD b/monitor/HOWTO-BUILD
similarity index 92%
rename from eclipse/scripts/rcp/HOWTO-BUILD
rename to monitor/HOWTO-BUILD
index 3eb695f..38d1c23 100644
--- a/eclipse/scripts/rcp/HOWTO-BUILD
+++ b/monitor/HOWTO-BUILD
@@ -2,7 +2,7 @@
$ lunch sdk-eng
$ ./sdk/eclipse/scripts/create_all_symlinks.sh
-$ cd sdk/eclipse/scripts/rcp
+$ cd sdk/monitor
$ ant
This will build the RCP for all the platforms in the folder:
diff --git a/eclipse/scripts/rcp/build.properties b/monitor/build.properties
similarity index 100%
rename from eclipse/scripts/rcp/build.properties
rename to monitor/build.properties
diff --git a/eclipse/scripts/rcp/build.xml b/monitor/build.xml
similarity index 96%
rename from eclipse/scripts/rcp/build.xml
rename to monitor/build.xml
index 90ca80d..fabd3ba 100644
--- a/eclipse/scripts/rcp/build.xml
+++ b/monitor/build.xml
@@ -1,6 +1,6 @@
<project name="com.android.eclipse.rcp.build" default="build">
<!-- Root of Android Source Tree -->
- <property name="ANDROID_SRC" location="../../../../" />
+ <property name="ANDROID_SRC" location="../../" />
<!-- Host Eclipse used for building the RCP -->
<property name="basebuilder" value="${ANDROID_SRC}/external/eclipse-basebuilder/basebuilder-3.6.2/org.eclipse.releng.basebuilder/" />
@@ -80,6 +80,8 @@
<arg value="${pde.build.dir}/scripts/productBuild/productBuild.xml" />
<arg value="-data" />
<arg value="${buildDir}/workspace" />
+ <arg value="-configuration" />
+ <arg value="${buildDir}/configuration" />
<arg value="-Dtimestamp=${timestamp}" />
<arg value="-DeclipseLocation=${baseBuilder}" />
<arg value="-DbuildDirectory=${buildDir}" />
diff --git a/eclipse/scripts/rcp/monitor b/monitor/monitor
similarity index 86%
rename from eclipse/scripts/rcp/monitor
rename to monitor/monitor
index be4a1cd..53a2bb5 100755
--- a/eclipse/scripts/rcp/monitor
+++ b/monitor/monitor
@@ -32,7 +32,13 @@
javaCmd="java"
-vmarch=`${javaCmd} -jar tools/lib/archquery.jar`
+vmarch=`${javaCmd} -jar lib/archquery.jar`
-exec tools/lib/monitor-${vmarch}/monitor
+app=lib/monitor-${vmarch}/monitor
+if [[ "Darwin" == `uname` ]]; then
+ app=${app}.app/Contents/MacOS/monitor
+fi
+
+
+exec $app
diff --git a/eclipse/scripts/rcp/monitor.bat b/monitor/monitor.bat
similarity index 78%
rename from eclipse/scripts/rcp/monitor.bat
rename to monitor/monitor.bat
index bc69849..9bcc4e0 100755
--- a/eclipse/scripts/rcp/monitor.bat
+++ b/monitor/monitor.bat
@@ -20,8 +20,13 @@
rem issues with directories containing whitespaces.
cd /d %~dp0
-:QueryArch
-for /f %%a in ('%java_exe% -jar tools\lib\archquery.jar') do set vmarch=%%a
+rem Check we have a valid Java.exe in the path.
+set java_exe=
+call lib\find_java.bat
+if not defined java_exe goto :EOF
-call tools\lib\monitor-%vmarch%\monitor
+:QueryArch
+for /f %%a in ('%java_exe% -jar lib\archquery.jar') do set vmarch=%%a
+
+start lib\monitor-%vmarch%\monitor