Bug 543998: add an android builder to buildbot (p=dschaffe,r=brbaker)
authorBrent Baker <brbaker@adobe.com>
Thu, 04 Feb 2010 08:10:19 -0500
changeset 3740 3a3915d9fc4e67a17c965ada6c8cd8508908a816
parent 3739 79e4030d6207901358f5ab513dc1dfb9d56ae257
child 3742 b4beeb8dcd855813e903ab95c5b37d20d749f29b
push id2031
push userbrbaker@adobe.com
push dateThu, 04 Feb 2010 13:10:49 +0000
reviewersbrbaker
bugs543998, 541958
Bug 543998: add an android builder to buildbot (p=dschaffe,r=brbaker) - bug 541958: must only submit the LAST change into the second phase builders as that is the only build that actually was generated (r=brbaker)
build/buildbot/master/argo.py
build/buildbot/master/custom/buildbot_ext/status/client.py
build/buildbot/master/master.cfg
build/buildbot/master/public_html/announce.html
build/buildbot/master/sandbox.py
build/buildbot/master/tamarinredux.py
--- a/build/buildbot/master/argo.py
+++ b/build/buildbot/master/argo.py
@@ -58,68 +58,73 @@ class argo:
     compile = Scheduler(name="compile-argo", branch=BRANCH, treeStableTimer=30, fileIsImportant=startCompile,
                      builderNames=["windows-compile-argo", "windows64-compile-argo",
                                    "mac-intel-10.4-compile-argo", "mac-intel-10.5-compile-argo", "mac64-intel-compile-argo",
                                    "mac-ppc-10.4a-compile-argo", "mac-ppc-10.4b-compile-argo", 
                                    "mac-ppc-10.5a-compile-argo", "mac-ppc-10.5b-compile-argo", 
                                    "mac64-ppc-compile-argo",
                                    "linux-compile-argo", "linux64-compile-argo",
                                    "winmobile-emulator-compile-argo",
-                                   "solaris-sparc-compile-argo"])
+                                   "solaris-sparc-compile-argo",
+                                   "android-compile-argo"])
 
     smoke = BuilderDependent(name="smoke-argo",upstream=compile, callbackInterval=60,
                     builderNames=["windows-smoke-argo", "windows64-smoke-argo",
                                    "mac-intel-10.4-smoke-argo", "mac-intel-10.5-smoke-argo", "mac64-intel-smoke-argo",
                                    "mac-ppc-10.4a-smoke-argo", "mac-ppc-10.4b-smoke-argo", 
                                    "mac-ppc-10.5a-smoke-argo", "mac-ppc-10.5b-smoke-argo", 
                                    "mac64-ppc-smoke-argo",
                                    "linux-smoke-argo", "linux64-smoke-argo",
                                    "winmobile-emulator-smoke-argo",
-                                   "solaris-sparc-smoke-argo"],
+                                   "solaris-sparc-smoke-argo",
+                                   "android-smoke-argo"],
                     builderDependencies=[
                                   ["windows-smoke-argo", "windows-compile-argo"], 
                                   ["windows64-smoke-argo", "windows64-compile-argo"], 
                                   ["mac-intel-10.4-smoke-argo", "mac-intel-10.4-compile-argo"], 
                                   ["mac-intel-10.5-smoke-argo", "mac-intel-10.5-compile-argo"],
                                   ["mac64-intel-smoke-argo", "mac64-intel-compile-argo"],
                                   ["mac-ppc-10.4a-smoke-argo", "mac-intel-10.4-compile-argo"],
                                   ["mac-ppc-10.4b-smoke-argo", "mac-intel-10.4-compile-argo"],
                                   ["mac-ppc-10.5a-smoke-argo", "mac-intel-10.5-compile-argo"],
                                   ["mac-ppc-10.5b-smoke-argo", "mac-intel-10.5-compile-argo"],
                                   ["mac64-ppc-smoke-argo", "mac64-intel-compile-argo"],
                                   ["linux-smoke-argo", "linux-compile-argo"],
                                   ["linux64-smoke-argo", "linux64-compile-argo"],
                                   ["winmobile-emulator-smoke-argo", "winmobile-emulator-compile-argo"],
                                   ["solaris-sparc-smoke-argo", "solaris-sparc-compile-argo"],
+                                  ["android-smoke-argo","android-compile-argo"],
                                  ])
 
     test = BuilderDependent(name="test-argo",upstream=smoke, callbackInterval=60,
                     builderNames=["windows-test-argo", "windows64-test-argo",
                                    "mac-intel-10.4-test-argo", "mac-intel-10.5-test-argo", "mac64-intel-test-argo",
                                    "mac-ppc-10.4a-test-argo", "mac-ppc-10.4b-test-argo", 
                                    "mac-ppc-10.5a-test-argo", "mac-ppc-10.5b-test-argo", 
                                    "mac64-ppc-test-argo",
                                    "linux-test-argo", "linux64-test-argo",
                                    "winmobile-emulator-test-argo",
-                                   "solaris-sparc-test-argo"],
+                                   "solaris-sparc-test-argo",
+                                   "android-test-argo"],
                     builderDependencies=[
                                   ["windows-test-argo", "windows-smoke-argo"], 
                                   ["windows64-test-argo", "windows64-smoke-argo"], 
                                   ["mac-intel-10.4-test-argo", "mac-intel-10.4-smoke-argo"], 
                                   ["mac-intel-10.5-test-argo", "mac-intel-10.5-smoke-argo"],
                                   ["mac64-intel-test-argo", "mac64-intel-smoke-argo"],
                                   ["mac-ppc-10.4a-test-argo", "mac-ppc-10.4a-smoke-argo"],
                                   ["mac-ppc-10.4b-test-argo", "mac-ppc-10.4b-smoke-argo"],
                                   ["mac-ppc-10.5a-test-argo", "mac-ppc-10.5a-smoke-argo"],
                                   ["mac-ppc-10.5b-test-argo", "mac-ppc-10.5b-smoke-argo"],
                                   ["mac64-ppc-test-argo", "mac64-ppc-smoke-argo"],
                                   ["linux-test-argo", "linux-smoke-argo"],
                                   ["linux64-test-argo", "linux64-smoke-argo"],
                                   ["winmobile-emulator-test-argo", "winmobile-emulator-smoke-argo"],
                                   ["solaris-sparc-test-argo", "solaris-sparc-smoke-argo"],
+                                  ["android-test-argo", "android-smoke-argo"],
                                  ])
 
     performance = PhaseTwoScheduler(name="performance-argo", branch="%s-performance" % BRANCH, treeStableTimer=30, 
                     fileIsImportant=startPerformanceRun, priority=1, changeDir="changes/perf/processed",
                     builderNames=["windows-performance-argo",
                                    "mac-performance-argo", "mac64-performance-argo",
                                    "mac-ppc-performance-argo",
                                    "linux-performance-argo",
@@ -416,17 +421,16 @@ class argo:
     mac_ppc_64_compile_builder = {
                 'name': "mac64-ppc-compile-argo",
                 'slavename': "asteammac5-64bit",
                 'factory': mac_ppc_64_compile_factory,
                 'builddir': './argo-mac64-ppc-compile',
     }
 
 
-
     ###################################
     #### builder for linux-compile ####
     ###################################
     linux_compile_factory = factory.BuildFactory()
     linux_compile_factory.addStep(sync_clean)
     linux_compile_factory.addStep(sync_clone(url=HG_URL))
     linux_compile_factory.addStep(sync_update)
     linux_compile_factory.addStep(bb_slaveupdate(slave="linux"))
@@ -537,16 +541,70 @@ class argo:
 
     solaris_sparc_compile_builder = {
                 'name': "solaris-sparc-compile-argo",
                 'slavename': "asteamsol4",
                 'factory': solaris_sparc_compile_factory,
                 'builddir': './argo-solaris-sparc-compile',
     }
 
+    ###########################################
+    #### builder for android on mac        ####
+    ###########################################
+
+    android_compile_factory = factory.BuildFactory();
+    android_compile_factory.addStep(sync_clean)
+    android_compile_factory.addStep(sync_clone(url=HG_URL))
+    android_compile_factory.addStep(sync_update)
+    android_compile_factory.addStep(bb_slaveupdate(slave="mac-intel-server"))
+    android_compile_factory.addStep(compile_builtin)
+    android_compile_factory.addStep(BuildShellCommand(
+                command=['./build-debug-shell-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='building debug shell...',
+                descriptionDone='finished building debug shell.',
+                name="Build_Debug",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    android_compile_factory.addStep(BuildShellCommand(
+                command=['./build-release-shell-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='building release shell...',
+                descriptionDone='finished building release shell.',
+                name="Build_Release",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    android_compile_factory.addStep(BuildShellCommand(
+                command=['./build-check-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='running build check...',
+                descriptionDone='finished build check.',
+                name="Build_Check",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    android_compile_factory.addStep(BuildShellCommand(
+                command=['./upload-asteam-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='running upload to asteam...',
+                descriptionDone='finished upload to asteam.',
+                name="Upload_ASTEAM",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+
+    android_compile_builder = {
+                'name': "android-compile-argo",
+                'slavename': "asteammac12",
+                'factory': android_compile_factory,
+                'builddir': './argo-android-compile',
+    }
+
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                            SMOKE BUILDERS                              ####
     ####                                                                        ####
     ################################################################################
     ################################################################################
 
@@ -770,16 +828,30 @@ class argo:
     solaris_sparc_smoke_builder = {
                 'name': "solaris-sparc-smoke-argo",
                 'slavename': "asteamsol4",
                 'factory': solaris_sparc_smoke_factory,
                 'builddir': './argo-solaris-sparc-smoke',
     }
 
 
+    #########################################
+    #### builder for android-smoke       ####
+    #########################################
+    android_smoke_factory = factory.BuildFactory()
+    android_smoke_factory.addStep(download_testmedia)
+    android_smoke_factory.addStep(util_process_clean)
+
+    android_smoke_builder = {
+                'name': "android-smoke-argo",
+                'slavename': "asteammac12",
+                'factory': android_smoke_factory,
+                'builddir': './argo-android-smoke',
+    }
+
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                            TEST BUILDERS                               ####
     ####                                                                        ####
     ################################################################################
@@ -1087,16 +1159,29 @@ class argo:
     solaris_sparc_test_factory.addStep(util_process_clean)
 
     solaris_sparc_test_builder = {
                 'name': "solaris-sparc-test-argo",
                 'slavename': "asteamsol4",
                 'factory': solaris_sparc_test_factory,
                 'builddir': './argo-solaris-sparc-test',
     }
+    
+    ########################################
+    #### builder for android-test       ####
+    ########################################
+    android_test_factory = factory.BuildFactory()
+    android_test_factory.addStep(util_process_clean)
+
+    android_test_builder = {
+                'name': "android-test-argo",
+                'slavename': "asteammac12",
+                'factory': android_test_factory,
+                'builddir': './argo-android-test',
+    }
 
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                     PERFORMANCE BUILDERS                               ####
     ####                                                                        ####
@@ -1490,46 +1575,49 @@ class argo:
                 mac_ppc_104b_compile_builder,
                 mac_ppc_105a_compile_builder,
                 mac_ppc_105b_compile_builder,
                 mac_ppc_64_compile_builder,
                 linux_compile_builder,
                 linux_64_compile_builder,
                 winmobile_emulator_compile_builder,
                 solaris_sparc_compile_builder,
+                android_compile_builder,
                 
                 windows_smoke_builder,
                 windows_64_smoke_builder,
                 mac_intel_104_smoke_builder,
                 mac_intel_105_smoke_builder,
                 mac_intel_64_smoke_builder,
                 mac_ppc_104a_smoke_builder,
                 mac_ppc_104b_smoke_builder,
                 mac_ppc_105a_smoke_builder,
                 mac_ppc_105b_smoke_builder,
                 mac_ppc_64_smoke_builder,
                 linux_smoke_builder,
                 linux_64_smoke_builder,
                 winmobile_emulator_smoke_builder,
                 solaris_sparc_smoke_builder,
+                android_smoke_builder,
                 
                 windows_test_builder,
                 windows_64_test_builder,
                 mac_intel_104_test_builder,
                 mac_intel_105_test_builder,
                 mac_intel_64_test_builder,
                 mac_ppc_104a_test_builder,
                 mac_ppc_104b_test_builder,
                 mac_ppc_105a_test_builder,
                 mac_ppc_105b_test_builder,
                 mac_ppc_64_test_builder,
                 linux_test_builder,
                 linux_64_test_builder,
                 winmobile_emulator_test_builder,
                 solaris_sparc_test_builder,
+                android_test_builder,
 
                 windows_performance_builder,
                 mac_performance_builder,
                 mac_64_performance_builder,
                 mac_ppc_performance_builder,
                 linux_performance_builder,
                 winmobile_performance_builder,
 
--- a/build/buildbot/master/custom/buildbot_ext/status/client.py
+++ b/build/buildbot/master/custom/buildbot_ext/status/client.py
@@ -305,23 +305,27 @@ class PhaseOneListener(base.StatusReceiv
                         return
                     else:   # builderGroup.currentBuild != revision
                         # new revision - reset BuilderGroup just in case
                         builderGroup.reset()
                         builderGroup.currentBuild = revision
                     break
                         
     def _writeBuildRequest(self, build, onlineslaves):
-
-        for change in build.getSourceStamp().changes:
-            out  = "changeset:   %s\n" % (change.revision)
-            out += "user:        %s\n" % (change.who)
-            out += "date:        %s\n" % (change.getTime())
-            out += "files:       %s\n" % (' '.join(change.files))
-            out += "builders:    %s\n" % (' '.join(onlineslaves))
-            out += "description:\n%s\n" % (change.comments)
-            
-            filename = "change-%s.%s" % (change.revision,self.priority)
-            changefile = open("%s/%s" % (self.changeDir,filename), "w")
-            changefile.write(out)
-            changefile.close()
+        """ Only send the LAST change into the next phases as this is what the build
+        system actually built. Since thenext phases can have there own "changeIsImportant"
+        functions to determine whether or not to run, we MUST only send in changes that were
+        actually built by the previous phase 
+        """        
+        change = build.getSourceStamp().changes[-1:]
+        out  = "changeset:   %s\n" % (change.revision)
+        out += "user:        %s\n" % (change.who)
+        out += "date:        %s\n" % (change.getTime())
+        out += "files:       %s\n" % (' '.join(change.files))
+        out += "builders:    %s\n" % (' '.join(onlineslaves))
+        out += "description:\n%s\n" % (change.comments)
+        
+        filename = "change-%s.%s" % (change.revision,self.priority)
+        changefile = open("%s/%s" % (self.changeDir,filename), "w")
+        changefile.write(out)
+        changefile.close()
 
         
--- a/build/buildbot/master/master.cfg
+++ b/build/buildbot/master/master.cfg
@@ -61,16 +61,17 @@ c['slaves'] = [BuildSlave("asteamwin2", 
                BuildSlave("asteamwin11-sb", "asteam"),
 
                BuildSlave("asteammac1", "asteam"),
                BuildSlave("asteammac1-64bit", "asteam"),
                BuildSlave("asteammac4", "asteam"),
                BuildSlave("asteammac6", "asteam"),
                BuildSlave("asteammac9", "asteam"),
                BuildSlave("asteammac10", "asteam"),
+               BuildSlave("asteammac12", "asteam"),
                BuildSlave("tamarin-xserve", "asteam"),
                BuildSlave("tamarin-xserve2", "asteam"),
             
                BuildSlave("asteammac5-64bit", "asteam"),
 
                BuildSlave("asteamlin1", "asteam"),
                BuildSlave("asteamlin5", "asteam"),
 
--- a/build/buildbot/master/public_html/announce.html
+++ b/build/buildbot/master/public_html/announce.html
@@ -98,31 +98,31 @@
             </td>
             <td width="1" bgcolor="#CCCCCC">
             </td>
             <td width="2%">
             </td>
             <td width="72%">
                 <table width="100%">
                     <script language="javascript">
-                        var compile = "builder=windows-compile&builder=windows64-compile&builder=mac-intel-10.4-compile&builder=mac-intel-10.5-compile&builder=mac64-intel-compile&builder=mac-ppc-10.4a-compile&builder=mac-ppc-10.4b-compile&builder=mac-ppc-10.5a-compile&builder=mac-ppc-10.5b-compile&builder=mac64-ppc-compile&builder=linux-compile&builder=linux64-compile&builder=winmobile-emulator-compile&builder=solaris-sparc-compile"
-                        var smoke = "builder=windows-smoke&builder=windows64-smoke&builder=mac-intel-10.4-smoke&builder=mac-intel-10.5-smoke&builder=mac64-intel-smoke&builder=mac-ppc-10.4a-smoke&builder=mac-ppc-10.4b-smoke&builder=mac-ppc-10.5a-smoke&builder=mac-ppc-10.5b-smoke&builder=mac64-ppc-smoke&builder=linux-smoke&builder=linux64-smoke&builder=winmobile-emulator-smoke&builder=solaris-sparc-smoke"
-                        var test = "builder=windows-test&builder=windows64-test&builder=mac-intel-10.4-test&builder=mac-intel-10.5-test&builder=mac64-intel-test&builder=mac-ppc-10.4a-test&builder=mac-ppc-10.4b-test&builder=mac-ppc-10.5a-test&builder=mac-ppc-10.5b-test&builder=mac64-ppc-test&builder=linux-test&builder=linux64-test&builder=winmobile-emulator-test&builder=solaris-sparc-test"
+                        var compile = "builder=windows-compile&builder=windows64-compile&builder=mac-intel-10.4-compile&builder=mac-intel-10.5-compile&builder=mac64-intel-compile&builder=mac-ppc-10.4a-compile&builder=mac-ppc-10.4b-compile&builder=mac-ppc-10.5a-compile&builder=mac-ppc-10.5b-compile&builder=mac64-ppc-compile&builder=linux-compile&builder=linux64-compile&builder=winmobile-emulator-compile&builder=solaris-sparc-compile&builder=android-compile"
+                        var smoke = "builder=windows-smoke&builder=windows64-smoke&builder=mac-intel-10.4-smoke&builder=mac-intel-10.5-smoke&builder=mac64-intel-smoke&builder=mac-ppc-10.4a-smoke&builder=mac-ppc-10.4b-smoke&builder=mac-ppc-10.5a-smoke&builder=mac-ppc-10.5b-smoke&builder=mac64-ppc-smoke&builder=linux-smoke&builder=linux64-smoke&builder=winmobile-emulator-smoke&builder=solaris-sparc-smoke&builder=android-smoke"
+                        var test = "builder=windows-test&builder=windows64-test&builder=mac-intel-10.4-test&builder=mac-intel-10.5-test&builder=mac64-intel-test&builder=mac-ppc-10.4a-test&builder=mac-ppc-10.4b-test&builder=mac-ppc-10.5a-test&builder=mac-ppc-10.5b-test&builder=mac64-ppc-test&builder=linux-test&builder=linux64-test&builder=winmobile-emulator-test&builder=solaris-sparc-test&builder=android-test"
                         var performance = "builder=windows-performance&builder=mac-performance&builder=mac64-performance&builder=mac-ppc-performance&builder=linux-performance&builder=winmobile-performance"
                         var deep = "builder=windows-deep&builder=windows-p3-deep&builder=mac-ppc-deep&builder=windows64-deep&builder=solaris-sparc-deep&builder=winmobile-emulator-deep&builder=linux-deep&builder=windows-frr"
 
-                        var compile_argo = "builder=windows-compile-argo&builder=windows64-compile-argo&builder=mac-intel-10.4-compile-argo&builder=mac-intel-10.5-compile-argo&builder=mac64-intel-compile-argo&builder=mac-ppc-10.4a-compile-argo&builder=mac-ppc-10.4b-compile-argo&builder=mac-ppc-10.5a-compile-argo&builder=mac-ppc-10.5b-compile-argo&builder=mac64-ppc-compile-argo&builder=linux-compile-argo&builder=linux64-compile-argo&builder=winmobile-emulator-compile-argo&builder=solaris-sparc-compile-argo"
-                        var smoke_argo = "builder=windows-smoke-argo&builder=windows64-smoke-argo&builder=mac-intel-10.4-smoke-argo&builder=mac-intel-10.5-smoke-argo&builder=mac64-intel-smoke-argo&builder=mac-ppc-10.4a-smoke-argo&builder=mac-ppc-10.4b-smoke-argo&builder=mac-ppc-10.5a-smoke-argo&builder=mac-ppc-10.5b-smoke-argo&builder=mac64-ppc-smoke-argo&builder=linux-smoke-argo&builder=linux64-smoke-argo&builder=winmobile-emulator-smoke-argo&builder=solaris-sparc-smoke-argo"
-                        var test_argo = "builder=windows-test-argo&builder=windows64-test-argo&builder=mac-intel-10.4-test-argo&builder=mac-intel-10.5-test-argo&builder=mac64-intel-test-argo&builder=mac-ppc-10.4a-test-argo&builder=mac-ppc-10.4b-test-argo&builder=mac-ppc-10.5a-test-argo&builder=mac-ppc-10.5b-test-argo&builder=mac64-ppc-test-argo&builder=linux-test-argo&builder=linux64-test-argo&builder=winmobile-emulator-test-argo&builder=solaris-sparc-test-argo"
+                        var compile_argo = "builder=windows-compile-argo&builder=windows64-compile-argo&builder=mac-intel-10.4-compile-argo&builder=mac-intel-10.5-compile-argo&builder=mac64-intel-compile-argo&builder=mac-ppc-10.4a-compile-argo&builder=mac-ppc-10.4b-compile-argo&builder=mac-ppc-10.5a-compile-argo&builder=mac-ppc-10.5b-compile-argo&builder=mac64-ppc-compile-argo&builder=linux-compile-argo&builder=linux64-compile-argo&builder=winmobile-emulator-compile-argo&builder=solaris-sparc-compile-argo&builder=android-compile-argo"
+                        var smoke_argo = "builder=windows-smoke-argo&builder=windows64-smoke-argo&builder=mac-intel-10.4-smoke-argo&builder=mac-intel-10.5-smoke-argo&builder=mac64-intel-smoke-argo&builder=mac-ppc-10.4a-smoke-argo&builder=mac-ppc-10.4b-smoke-argo&builder=mac-ppc-10.5a-smoke-argo&builder=mac-ppc-10.5b-smoke-argo&builder=mac64-ppc-smoke-argo&builder=linux-smoke-argo&builder=linux64-smoke-argo&builder=winmobile-emulator-smoke-argo&builder=solaris-sparc-smoke-argo&builder=android-smoke-argo"
+                        var test_argo = "builder=windows-test-argo&builder=windows64-test-argo&builder=mac-intel-10.4-test-argo&builder=mac-intel-10.5-test-argo&builder=mac64-intel-test-argo&builder=mac-ppc-10.4a-test-argo&builder=mac-ppc-10.4b-test-argo&builder=mac-ppc-10.5a-test-argo&builder=mac-ppc-10.5b-test-argo&builder=mac64-ppc-test-argo&builder=linux-test-argo&builder=linux64-test-argo&builder=winmobile-emulator-test-argo&builder=solaris-sparc-test-argo&builder=android-test-argo"
                         var performance_argo = "builder=windows-performance-argo&builder=mac-performance-argo&builder=mac64-performance-argo&builder=mac-ppc-performance-argo&builder=linux-performance-argo&builder=winmobile-performance-argo"
                         var deep_argo = "builder=windows-deep-argo&builder=windows-p3-deep-argo&builder=mac-ppc-deep-argo&builder=windows64-deep-argo&builder=solaris-sparc-deep-argo&builder=winmobile-emulator-deep-argo&builder=linux-deep-argo&builder=windows-frr-argo"
 
-                        var compile_sandbox = "builder=windows-compile-sandbox&builder=windows64-compile-sandbox&builder=mac-intel-10.4-compile-sandbox&builder=mac-intel-10.5-compile-sandbox&builder=mac64-intel-compile-sandbox&builder=mac-ppc-10.4a-compile-sandbox&builder=mac-ppc-10.4b-compile-sandbox&builder=mac-ppc-10.5a-compile-sandbox&builder=mac-ppc-10.5b-compile-sandbox&builder=mac64-ppc-compile-sandbox&builder=linux-compile-sandbox&builder=linux64-compile-sandbox&builder=winmobile-emulator-compile-sandbox&builder=solaris-sparc-compile-sandbox"
-                        var smoke_sandbox = "builder=windows-smoke-sandbox&builder=windows64-smoke-sandbox&builder=mac-intel-10.4-smoke-sandbox&builder=mac-intel-10.5-smoke-sandbox&builder=mac64-intel-smoke-sandbox&builder=mac-ppc-10.4a-smoke-sandbox&builder=mac-ppc-10.4b-smoke-sandbox&builder=mac-ppc-10.5a-smoke-sandbox&builder=mac-ppc-10.5b-smoke-sandbox&builder=mac64-ppc-smoke-sandbox&builder=linux-smoke-sandbox&builder=linux64-smoke-sandbox&builder=winmobile-emulator-smoke-sandbox&builder=solaris-sparc-smoke-sandbox"
-                        var test_sandbox = "builder=windows-test-sandbox&builder=windows64-test-sandbox&builder=mac-intel-10.4-test-sandbox&builder=mac-intel-10.5-test-sandbox&builder=mac64-intel-test-sandbox&builder=mac-ppc-10.4a-test-sandbox&builder=mac-ppc-10.4b-test-sandbox&builder=mac-ppc-10.5a-test-sandbox&builder=mac-ppc-10.5b-test-sandbox&builder=mac64-ppc-test-sandbox&builder=linux-test-sandbox&builder=linux64-test-sandbox&builder=winmobile-emulator-test-sandbox&builder=solaris-sparc-test-sandbox"
+                        var compile_sandbox = "builder=windows-compile-sandbox&builder=windows64-compile-sandbox&builder=mac-intel-10.4-compile-sandbox&builder=mac-intel-10.5-compile-sandbox&builder=mac64-intel-compile-sandbox&builder=mac-ppc-10.4a-compile-sandbox&builder=mac-ppc-10.4b-compile-sandbox&builder=mac-ppc-10.5a-compile-sandbox&builder=mac-ppc-10.5b-compile-sandbox&builder=mac64-ppc-compile-sandbox&builder=linux-compile-sandbox&builder=linux64-compile-sandbox&builder=winmobile-emulator-compile-sandbox&builder=solaris-sparc-compile-sandbox&builder=android-compile-sandbox"
+                        var smoke_sandbox = "builder=windows-smoke-sandbox&builder=windows64-smoke-sandbox&builder=mac-intel-10.4-smoke-sandbox&builder=mac-intel-10.5-smoke-sandbox&builder=mac64-intel-smoke-sandbox&builder=mac-ppc-10.4a-smoke-sandbox&builder=mac-ppc-10.4b-smoke-sandbox&builder=mac-ppc-10.5a-smoke-sandbox&builder=mac-ppc-10.5b-smoke-sandbox&builder=mac64-ppc-smoke-sandbox&builder=linux-smoke-sandbox&builder=linux64-smoke-sandbox&builder=winmobile-emulator-smoke-sandbox&builder=solaris-sparc-smoke-sandbox&builder=android-smoke-sandbox"
+                        var test_sandbox = "builder=windows-test-sandbox&builder=windows64-test-sandbox&builder=mac-intel-10.4-test-sandbox&builder=mac-intel-10.5-test-sandbox&builder=mac64-intel-test-sandbox&builder=mac-ppc-10.4a-test-sandbox&builder=mac-ppc-10.4b-test-sandbox&builder=mac-ppc-10.5a-test-sandbox&builder=mac-ppc-10.5b-test-sandbox&builder=mac64-ppc-test-sandbox&builder=linux-test-sandbox&builder=linux64-test-sandbox&builder=winmobile-emulator-test-sandbox&builder=solaris-sparc-test-sandbox&builder=android-test-sandbox"
 
                         var bar = "./horizontal_one_box_per_builder"
                         var waterfall = "./waterfall"
                         var status_url = "http://tamarin-builds.mozilla.org/build_trigger/isactive.cfm?builder="
 
                         function GetUrl(type, content) {
                             return type + "?" + content;
                         }
--- a/build/buildbot/master/sandbox.py
+++ b/build/buildbot/master/sandbox.py
@@ -59,68 +59,73 @@ class sandbox:
                      builderNames=["windows-compile-sandbox", "windows64-compile-sandbox",
                                    "mac-intel-10.4-compile-sandbox", "mac-intel-10.5-compile-sandbox", "mac64-intel-compile-sandbox",
                                    "mac-ppc-10.4a-compile-sandbox", "mac-ppc-10.4b-compile-sandbox", 
                                    "mac-ppc-10.5a-compile-sandbox", "mac-ppc-10.5b-compile-sandbox", 
                                    "mac64-ppc-compile-sandbox",
                                    "linux-compile-sandbox", "linux64-compile-sandbox",
                                    "winmobile-emulator-compile-sandbox",
                                    "solaris-sparc-compile-sandbox",
+                                   "android-compile-sandbox",
                                    ])
 
     smoke = BuilderDependent(name="smoke-sandbox",upstream=compile, callbackInterval=60,
                     builderNames=["windows-smoke-sandbox", "windows64-smoke-sandbox",
                                    "mac-intel-10.4-smoke-sandbox", "mac-intel-10.5-smoke-sandbox", "mac64-intel-smoke-sandbox",
                                    "mac-ppc-10.4a-smoke-sandbox", "mac-ppc-10.4b-smoke-sandbox", 
                                    "mac-ppc-10.5a-smoke-sandbox", "mac-ppc-10.5b-smoke-sandbox", 
                                    "mac64-ppc-smoke-sandbox",
                                    "linux-smoke-sandbox", "linux64-smoke-sandbox",
                                    "winmobile-emulator-smoke-sandbox",
-                                   "solaris-sparc-smoke-sandbox"],
+                                   "solaris-sparc-smoke-sandbox",
+                                   "android-smoke-sandbox"],
                     builderDependencies=[
                                   ["windows-smoke-sandbox", "windows-compile-sandbox"], 
                                   ["windows64-smoke-sandbox", "windows64-compile-sandbox"], 
                                   ["mac-intel-10.4-smoke-sandbox", "mac-intel-10.4-compile-sandbox"], 
                                   ["mac-intel-10.5-smoke-sandbox", "mac-intel-10.5-compile-sandbox"],
                                   ["mac64-intel-smoke-sandbox", "mac64-intel-compile-sandbox"],
                                   ["mac-ppc-10.4a-smoke-sandbox", "mac-intel-10.4-compile-sandbox"],
                                   ["mac-ppc-10.4b-smoke-sandbox", "mac-intel-10.4-compile-sandbox"],
                                   ["mac-ppc-10.5a-smoke-sandbox", "mac-intel-10.5-compile-sandbox"],
                                   ["mac-ppc-10.5b-smoke-sandbox", "mac-intel-10.5-compile-sandbox"],
                                   ["mac64-ppc-smoke-sandbox", "mac64-intel-compile-sandbox"],
                                   ["linux-smoke-sandbox", "linux-compile-sandbox"],
                                   ["linux64-smoke-sandbox", "linux64-compile-sandbox"],
                                   ["winmobile-emulator-smoke-sandbox", "winmobile-emulator-compile-sandbox"],
                                   ["solaris-sparc-smoke-sandbox", "solaris-sparc-compile-sandbox"],
+                                  ["android-smoke-sandbox","android-compile-sandbox"],
                                  ])
 
     test = BuilderDependent(name="test-sandbox",upstream=smoke, callbackInterval=60,
                     builderNames=["windows-test-sandbox", "windows64-test-sandbox",
                                    "mac-intel-10.4-test-sandbox", "mac-intel-10.5-test-sandbox", "mac64-intel-test-sandbox",
                                    "mac-ppc-10.4a-test-sandbox", "mac-ppc-10.4b-test-sandbox", 
                                    "mac-ppc-10.5a-test-sandbox", "mac-ppc-10.5b-test-sandbox", 
                                    "mac64-ppc-test-sandbox",
                                    "linux-test-sandbox", "linux64-test-sandbox",
                                    "winmobile-emulator-test-sandbox",
-                                   "solaris-sparc-test-sandbox"],
+                                   "solaris-sparc-test-sandbox",
+                                   "android-test-sandbox"],
                     builderDependencies=[
                                   ["windows-test-sandbox", "windows-smoke-sandbox"], 
                                   ["windows64-test-sandbox", "windows64-smoke-sandbox"], 
                                   ["mac-intel-10.4-test-sandbox", "mac-intel-10.4-smoke-sandbox"], 
                                   ["mac-intel-10.5-test-sandbox", "mac-intel-10.5-smoke-sandbox"],
                                   ["mac64-intel-test-sandbox", "mac64-intel-smoke-sandbox"],
                                   ["mac-ppc-10.4a-test-sandbox", "mac-ppc-10.4a-smoke-sandbox"],
                                   ["mac-ppc-10.4b-test-sandbox", "mac-ppc-10.4b-smoke-sandbox"],
                                   ["mac-ppc-10.5a-test-sandbox", "mac-ppc-10.5a-smoke-sandbox"],
                                   ["mac-ppc-10.5b-test-sandbox", "mac-ppc-10.5b-smoke-sandbox"],
                                   ["mac64-ppc-test-sandbox", "mac64-ppc-smoke-sandbox"],
                                   ["linux-test-sandbox", "linux-smoke-sandbox"],
                                   ["linux64-test-sandbox", "linux64-smoke-sandbox"],
                                   ["winmobile-emulator-test-sandbox", "winmobile-emulator-smoke-sandbox"],
                                   ["solaris-sparc-test-sandbox", "solaris-sparc-smoke-sandbox"],
+                                  ["android-test-sandbox", "android-smoke-sandbox"],
                                  ])
 
     schedulers = [compile, smoke, test]
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
@@ -479,16 +484,69 @@ class sandbox:
 
     sb_solaris_sparc_compile_builder = {
                 'name': "solaris-sparc-compile-sandbox",
                 'slavename': "asteamsol4",
                 'factory': sb_solaris_sparc_compile_factory,
                 'builddir': './sandbox-solaris-sparc-compile',
     }
 
+    ###########################################
+    #### builder for android on mac        ####
+    ###########################################
+
+    sb_android_compile_factory = factory.BuildFactory();
+    sb_android_compile_factory.addStep(sync_clean)
+    sb_android_compile_factory.addStep(sync_clone_sandbox)
+    sb_android_compile_factory.addStep(sync_update)
+    sb_android_compile_factory.addStep(bb_slaveupdate(slave="mac-intel-server"))
+    sb_android_compile_factory.addStep(compile_builtin)
+    sb_android_compile_factory.addStep(BuildShellCommand(
+                command=['./build-debug-shell-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='building debug shell...',
+                descriptionDone='finished building debug shell.',
+                name="Build_Debug",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    sb_android_compile_factory.addStep(BuildShellCommand(
+                command=['./build-release-shell-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='building release shell...',
+                descriptionDone='finished building release shell.',
+                name="Build_Release",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    sb_android_compile_factory.addStep(BuildShellCommand(
+                command=['./build-check-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='running build check...',
+                descriptionDone='finished build check.',
+                name="Build_Check",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    sb_android_compile_factory.addStep(BuildShellCommand(
+                command=['./upload-asteam-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='running upload to asteam...',
+                descriptionDone='finished upload to asteam.',
+                name="Upload_ASTEAM",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+
+    sb_android_compile_builder = {
+                'name': "android-compile-sandbox",
+                'slavename': "asteammac12",
+                'factory': sb_android_compile_factory,
+                'builddir': './sandbox-android-compile',
+    }
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                     SANDBOX SMOKE BUILDERS                             ####
     ####                                                                        ####
     ################################################################################
     ################################################################################
@@ -710,16 +768,30 @@ class sandbox:
     sb_solaris_sparc_smoke_factory.addStep(util_process_clean)
 
     sb_solaris_sparc_smoke_builder = {
                 'name': "solaris-sparc-smoke-sandbox",
                 'slavename': "asteamsol4",
                 'factory': sb_solaris_sparc_smoke_factory,
                 'builddir': './sandbox-solaris-sparc-smoke',
     }
+    
+    #########################################
+    #### builder for android-smoke       ####
+    #########################################
+    sb_android_smoke_factory = factory.BuildFactory()
+    sb_android_smoke_factory.addStep(download_testmedia)
+    sb_android_smoke_factory.addStep(util_process_clean)
+
+    sb_android_smoke_builder = {
+                'name': "android-smoke-sandbox",
+                'slavename': "asteammac12",
+                'factory': sb_android_smoke_factory,
+                'builddir': './sanbox-android-smoke',
+    }
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                    SANDBOX TEST BUILDERS                               ####
     ####                                                                        ####
     ################################################################################
     ################################################################################
@@ -1025,56 +1097,74 @@ class sandbox:
 
     sb_solaris_sparc_test_builder = {
                 'name': "solaris-sparc-test-sandbox",
                 'slavename': "asteamsol4",
                 'factory': sb_solaris_sparc_test_factory,
                 'builddir': './sandbox-solaris-sparc-test',
     }
     
+    ########################################
+    #### builder for android-test       ####
+    ########################################
+    sb_android_test_factory = factory.BuildFactory()
+    sb_android_test_factory.addStep(util_process_clean)
+
+    sb_android_test_builder = {
+                'name': "android-test-sandbox",
+                'slavename': "asteammac12",
+                'factory': sb_android_test_factory,
+                'builddir': './sandbox-android-test',
+    }
+    
+    
+    
     builders = [
                 sb_windows_compile_builder,
                 sb_windows_64_compile_builder,
                 sb_mac_intel_104_compile_builder,
                 sb_mac_intel_105_compile_builder,
                 sb_mac_intel_64_compile_builder,
                 sb_mac_ppc_104a_compile_builder,
                 sb_mac_ppc_104b_compile_builder,
                 sb_mac_ppc_105a_compile_builder,
                 sb_mac_ppc_105b_compile_builder,
                 sb_mac_ppc_64_compile_builder,
                 sb_linux_compile_builder,
                 sb_linux_64_compile_builder,
                 sb_winmobile_emulator_compile_builder,
                 sb_solaris_sparc_compile_builder,
+                sb_android_compile_builder,
                 
                 sb_windows_smoke_builder,
                 sb_windows_64_smoke_builder,
                 sb_mac_intel_104_smoke_builder,
                 sb_mac_intel_105_smoke_builder,
                 sb_mac_intel_64_smoke_builder,
                 sb_mac_ppc_104a_smoke_builder,
                 sb_mac_ppc_104b_smoke_builder,
                 sb_mac_ppc_105a_smoke_builder,
                 sb_mac_ppc_105b_smoke_builder,
                 sb_mac_ppc_64_smoke_builder,
                 sb_linux_smoke_builder,
                 sb_linux_64_smoke_builder,
                 sb_winmobile_emulator_smoke_builder,
                 sb_solaris_sparc_smoke_builder,
+                sb_android_smoke_builder,
                 
                 sb_windows_test_builder,
                 sb_windows_64_test_builder,
                 sb_mac_intel_104_test_builder,
                 sb_mac_intel_105_test_builder,
                 sb_mac_intel_64_test_builder,
                 sb_mac_ppc_104a_test_builder,
                 sb_mac_ppc_104b_test_builder,
                 sb_mac_ppc_105a_test_builder,
                 sb_mac_ppc_105b_test_builder,
                 sb_mac_ppc_64_test_builder,
                 sb_linux_test_builder,
                 sb_linux_64_test_builder,
                 sb_winmobile_emulator_test_builder,
                 sb_solaris_sparc_test_builder,
+                sb_android_test_builder,
 
                 ]
 
--- a/build/buildbot/master/tamarinredux.py
+++ b/build/buildbot/master/tamarinredux.py
@@ -58,68 +58,73 @@ class tamarinredux:
     compile = Scheduler(name="compile", branch=BRANCH, treeStableTimer=30, fileIsImportant=startCompile,
                      builderNames=["windows-compile", "windows64-compile",
                                    "mac-intel-10.4-compile", "mac-intel-10.5-compile", "mac64-intel-compile",
                                    "mac-ppc-10.4a-compile", "mac-ppc-10.4b-compile", 
                                    "mac-ppc-10.5a-compile", "mac-ppc-10.5b-compile", 
                                    "mac64-ppc-compile",
                                    "linux-compile", "linux64-compile",
                                    "winmobile-emulator-compile",
-                                   "solaris-sparc-compile"])
+                                   "solaris-sparc-compile",
+                                   "android-compile"])
 
     smoke = BuilderDependent(name="smoke",upstream=compile, callbackInterval=60,
                     builderNames=["windows-smoke", "windows64-smoke",
                                    "mac-intel-10.4-smoke", "mac-intel-10.5-smoke", "mac64-intel-smoke",
                                    "mac-ppc-10.4a-smoke", "mac-ppc-10.4b-smoke", 
                                    "mac-ppc-10.5a-smoke", "mac-ppc-10.5b-smoke", 
                                    "mac64-ppc-smoke",
                                    "linux-smoke", "linux64-smoke",
                                    "winmobile-emulator-smoke",
-                                   "solaris-sparc-smoke"],
+                                   "solaris-sparc-smoke",
+                                   "android-smoke"],
                     builderDependencies=[
                                   ["windows-smoke", "windows-compile"], 
                                   ["windows64-smoke", "windows64-compile"], 
                                   ["mac-intel-10.4-smoke", "mac-intel-10.4-compile"], 
                                   ["mac-intel-10.5-smoke", "mac-intel-10.5-compile"],
                                   ["mac64-intel-smoke", "mac64-intel-compile"],
                                   ["mac-ppc-10.4a-smoke", "mac-intel-10.4-compile"],
                                   ["mac-ppc-10.4b-smoke", "mac-intel-10.4-compile"],
                                   ["mac-ppc-10.5a-smoke", "mac-intel-10.5-compile"],
                                   ["mac-ppc-10.5b-smoke", "mac-intel-10.5-compile"],
                                   ["mac64-ppc-smoke", "mac64-intel-compile"],
                                   ["linux-smoke", "linux-compile"],
                                   ["linux64-smoke", "linux64-compile"],
                                   ["winmobile-emulator-smoke", "winmobile-emulator-compile"],
                                   ["solaris-sparc-smoke", "solaris-sparc-compile"],
+                                  ["android-smoke","android-compile"],
                                  ])
 
     test = BuilderDependent(name="test",upstream=smoke, callbackInterval=60,
                     builderNames=["windows-test", "windows64-test",
                                    "mac-intel-10.4-test", "mac-intel-10.5-test", "mac64-intel-test",
                                    "mac-ppc-10.4a-test", "mac-ppc-10.4b-test", 
                                    "mac-ppc-10.5a-test", "mac-ppc-10.5b-test", 
                                    "mac64-ppc-test",
                                    "linux-test", "linux64-test",
                                    "winmobile-emulator-test",
-                                   "solaris-sparc-test"],
+                                   "solaris-sparc-test",
+                                   "android-test"],
                     builderDependencies=[
                                   ["windows-test", "windows-smoke"], 
                                   ["windows64-test", "windows64-smoke"], 
                                   ["mac-intel-10.4-test", "mac-intel-10.4-smoke"], 
                                   ["mac-intel-10.5-test", "mac-intel-10.5-smoke"],
                                   ["mac64-intel-test", "mac64-intel-smoke"],
                                   ["mac-ppc-10.4a-test", "mac-ppc-10.4a-smoke"],
                                   ["mac-ppc-10.4b-test", "mac-ppc-10.4b-smoke"],
                                   ["mac-ppc-10.5a-test", "mac-ppc-10.5a-smoke"],
                                   ["mac-ppc-10.5b-test", "mac-ppc-10.5b-smoke"],
                                   ["mac64-ppc-test", "mac64-ppc-smoke"],
                                   ["linux-test", "linux-smoke"],
                                   ["linux64-test", "linux64-smoke"],
                                   ["winmobile-emulator-test", "winmobile-emulator-smoke"],
                                   ["solaris-sparc-test", "solaris-sparc-smoke"],
+                                  ["android-test", "android-smoke"],
                                  ])
 
     performance = PhaseTwoScheduler(name="performance", branch="%s-perf" % BRANCH, treeStableTimer=30, 
                     fileIsImportant=startPerformanceRun, priority=2, changeDir="changes/perf/processed",
                     builderNames=["windows-performance",
                                    "mac-performance", "mac64-performance",
                                    "mac-ppc-performance",
                                    "linux-performance",
@@ -548,16 +553,79 @@ class tamarinredux:
 
     solaris_sparc_compile_builder = {
                 'name': "solaris-sparc-compile",
                 'slavename': "asteamsol4",
                 'factory': solaris_sparc_compile_factory,
                 'builddir': './solaris-sparc-compile',
     }
 
+    ###########################################
+    #### builder for android on mac        ####
+    ###########################################
+
+    android_compile_factory = factory.BuildFactory();
+    android_compile_factory.addStep(sync_clean)
+    android_compile_factory.addStep(sync_clone(url=HG_URL))
+    android_compile_factory.addStep(sync_update)
+    android_compile_factory.addStep(bb_slaveupdate(slave="mac-intel-server"))
+    android_compile_factory.addStep(compile_builtin)
+    android_compile_factory.addStep(BuildShellCommand(
+                command=['./build-debug-shell-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='building debug shell...',
+                descriptionDone='finished building debug shell.',
+                name="Build_Debug",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    android_compile_factory.addStep(BuildShellCommand(
+                command=['./build-release-shell-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='building release shell...',
+                descriptionDone='finished building release shell.',
+                name="Build_Release",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    android_compile_factory.addStep(BuildShellCommand(
+                command=['./build-check-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='running build check...',
+                descriptionDone='finished build check.',
+                name="Build_Check",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    android_compile_factory.addStep(BuildShellCommand(
+                command=['./upload-asteam-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='running upload to asteam...',
+                descriptionDone='finished upload to asteam.',
+                name="Upload_ASTEAM",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    android_compile_factory.addStep(BuildShellCommand(
+                command=['./upload-mozilla-android.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='running upload to mozilla...',
+                descriptionDone='finished upload to mozilla.',
+                name="Upload_MOZILLA",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+
+    android_compile_builder = {
+                'name': "android-compile",
+                'slavename': "asteammac12",
+                'factory': android_compile_factory,
+                'builddir': './android-compile',
+    }
+
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                            SMOKE BUILDERS                              ####
     ####                                                                        ####
     ################################################################################
     ################################################################################
 
@@ -780,16 +848,29 @@ class tamarinredux:
 
     solaris_sparc_smoke_builder = {
                 'name': "solaris-sparc-smoke",
                 'slavename': "asteamsol4",
                 'factory': solaris_sparc_smoke_factory,
                 'builddir': './solaris-sparc-smoke',
     }
 
+    #########################################
+    #### builder for android-smoke       ####
+    #########################################
+    android_smoke_factory = factory.BuildFactory()
+    android_smoke_factory.addStep(download_testmedia)
+    android_smoke_factory.addStep(util_process_clean)
+
+    android_smoke_builder = {
+                'name': "android-smoke",
+                'slavename': "asteammac12",
+                'factory': android_smoke_factory,
+                'builddir': './android-smoke',
+    }
 
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                            TEST BUILDERS                               ####
     ####                                                                        ####
@@ -1099,16 +1180,28 @@ class tamarinredux:
 
     solaris_sparc_test_builder = {
                 'name': "solaris-sparc-test",
                 'slavename': "asteamsol4",
                 'factory': solaris_sparc_test_factory,
                 'builddir': './solaris-sparc-test',
     }
 
+    ########################################
+    #### builder for android-test       ####
+    ########################################
+    android_test_factory = factory.BuildFactory()
+    android_test_factory.addStep(util_process_clean)
+
+    android_test_builder = {
+                'name': "android-test",
+                'slavename': "asteammac12",
+                'factory': android_test_factory,
+                'builddir': './android-test',
+    }
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                     PERFORMANCE BUILDERS                               ####
     ####                                                                        ####
     ################################################################################
@@ -1501,46 +1594,49 @@ class tamarinredux:
                 mac_ppc_104b_compile_builder,
                 mac_ppc_105a_compile_builder,
                 mac_ppc_105b_compile_builder,
                 mac_ppc_64_compile_builder,
                 linux_compile_builder,
                 linux_64_compile_builder,
                 winmobile_emulator_compile_builder,
                 solaris_sparc_compile_builder,
+                android_compile_builder,
                 
                 windows_smoke_builder,
                 windows_64_smoke_builder,
                 mac_intel_104_smoke_builder,
                 mac_intel_105_smoke_builder,
                 mac_intel_64_smoke_builder,
                 mac_ppc_104a_smoke_builder,
                 mac_ppc_104b_smoke_builder,
                 mac_ppc_105a_smoke_builder,
                 mac_ppc_105b_smoke_builder,
                 mac_ppc_64_smoke_builder,
                 linux_smoke_builder,
                 linux_64_smoke_builder,
                 winmobile_emulator_smoke_builder,
                 solaris_sparc_smoke_builder,
+                android_smoke_builder,
                 
                 windows_test_builder,
                 windows_64_test_builder,
                 mac_intel_104_test_builder,
                 mac_intel_105_test_builder,
                 mac_intel_64_test_builder,
                 mac_ppc_104a_test_builder,
                 mac_ppc_104b_test_builder,
                 mac_ppc_105a_test_builder,
                 mac_ppc_105b_test_builder,
                 mac_ppc_64_test_builder,
                 linux_test_builder,
                 linux_64_test_builder,
                 winmobile_emulator_test_builder,
                 solaris_sparc_test_builder,
+                android_test_builder,
 
                 windows_performance_builder,
                 mac_performance_builder,
                 mac_64_performance_builder,
                 mac_ppc_performance_builder,
                 linux_performance_builder,
                 winmobile_performance_builder,