Bug 1117357 - Fix |mach bootstrap| for mobile/android on Mac OS X. r=gps

This does two things.  First, it aligns the brew formula name
(AndroidNdk) with the brew file name (android-ndk.rb).  Second, it
makes sure that we actually find the android-ndk.rb file.  I think
|mach bootstrap| always worked, due to a felicity where the working
directory always contained android-ndk.rb; but |python bootstrap.py|
failed because android-ndk.rb was downloaded to a temporary location
that was not included in the |brew install| command.

--HG--
rename : python/mozboot/mozboot/android-ndk-r8e.rb => python/mozboot/mozboot/android-ndk.rb
extra : rebase_source : 44f164d3d5916bc2faf4c64285e232047daea35e
This commit is contained in:
Nick Alexander 2015-01-08 13:47:42 -08:00
parent 82534e0e36
commit c322db38f9
3 changed files with 11 additions and 2 deletions

View File

@ -32,7 +32,7 @@ REPOSITORY_PATH_PREFIX = 'python/mozboot'
REPOSITORY_PATHS = [
'mozboot/__init__.py',
'mozboot/android-ndk-r8e.rb',
'mozboot/android-ndk.rb',
'mozboot/android.py',
'mozboot/base.py',
'mozboot/bootstrap.py',

View File

@ -1,5 +1,9 @@
require "formula"
# This is an antiquated version pinned to NDK revision r8e. That's
# the revision Mozilla's automation currently uses. We could push
# this to https://github.com/Homebrew/homebrew-versions if there's a
# problem shipping it locally.
class AndroidNdk < Formula
homepage "http://developer.android.com/sdk/ndk/index.html"

View File

@ -324,11 +324,16 @@ class OSXBootstrapper(BaseBootstrapper):
def ensure_homebrew_mobile_android_packages(self):
import android
# If we're run from a downloaded bootstrap.py, then android-ndk.rb is
# fetched into a temporary directory. This finds that directory.
import inspect
path_to_android = os.path.abspath(os.path.dirname(inspect.getfile(android)))
# We don't need wget because we install the Android SDK and NDK from
# packages. If we used the android.py module, we'd need wget.
packages = [
('android-sdk', 'android-sdk'),
('android-ndk', 'android-ndk-r8e.rb'), # This is a locally provided brew formula!
('android-ndk', os.path.join(path_to_android, 'android-ndk.rb')), # This is a locally provided brew formula!
('ant', 'ant'),
('brew-cask', 'caskroom/cask/brew-cask'), # For installing Java later.
]