Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sdk and Gradle update #21160

Closed
wants to merge 8 commits into from

fix android build

  • Loading branch information
paulrouget committed Jul 10, 2018
commit 98af35b40ad5d543a49f0d4a5e5f32b55519e12b
@@ -181,7 +181,6 @@ def build(self, target=None, release=False, dev=False, jobs=None,
debug_mozjs=False, params=None, with_debug_assertions=False):

opts = params or []
opts += ["--manifest-path", self.servo_manifest()]

if android is None:
android = self.config["build"]["android"]
@@ -412,4 +411,4 @@ def clean(self, manifest_path=None, params=[], verbose=False):
opts += ["-v"]
opts += params
return check_call(["cargo", "clean"] + opts,
env=self.build_env(), cwd=self.servo_crate(), verbose=verbose)
env=self.build_env(), cwd=self.ports_servo_crate(), verbose=verbose)
@@ -330,15 +330,26 @@ def get_target_dir(self):
else:
return path.join(self.context.topdir, "target")

def get_apk_path(self, release):
base_path = self.get_target_dir()
base_path = path.join(base_path, self.config["android"]["target"])
apk_name = "servo.apk"
if release:
return path.join(base_path, "release", apk_name)
else:
return path.join(base_path, "debug", apk_name)

def get_binary_path(self, release, dev, android=False):
# TODO(autrilla): this function could still use work - it shouldn't
# handle quitting, or printing. It should return the path, or an error.
base_path = self.get_target_dir()

binary_name = "servo" + BIN_SUFFIX

if android:
base_path = path.join(base_path, self.config["android"]["target"])
binary_name = "libsimpleservo.so"

binary_name = "servo" + BIN_SUFFIX
release_path = path.join(base_path, "release", binary_name)
dev_path = path.join(base_path, "debug", binary_name)

@@ -594,10 +605,10 @@ def package_dir(package):

return env

def servo_crate(self):
def ports_servo_crate(self):
return path.join(self.context.topdir, "ports", "servo")

def servo_manifest(self):
def ports_servo_manifest(self):
return path.join(self.context.topdir, "ports", "servo", "Cargo.toml")

def servo_features(self):
@@ -421,7 +421,7 @@ def install(self, release=False, dev=False, android=False, emulator=False, usb=F
return 1

if android:
pkg_path = binary_path + ".apk"
pkg_path = self.get_apk_path(release)
exec_command = [self.android_adb_path(env)]
if emulator and usb:
print("Cannot install to both emulator and USB at the same time.")
@@ -88,15 +88,12 @@ def run(self, params, release=False, dev=False, android=None, debug=False, debug
return
script = [
"am force-stop com.mozilla.servo",
"echo servo >/sdcard/Android/data/com.mozilla.servo/files/android_params"
]
for param in params:
script += [
"echo '%s' >>/sdcard/Android/data/com.mozilla.servo/files/android_params"
% param.replace("'", "\\'")
]
extra = ""
if params:
extra += "-e servoargs \'" + " ".join(params) + "\'"
script += [
"am start com.mozilla.servo/com.mozilla.servo.MainActivity",
"am start " + extra + " com.mozilla.servo/com.mozilla.servo.MainActivity",
"sleep 0.5",
"echo Servo PID: $(pidof com.mozilla.servo)",
"exit"
@@ -257,7 +254,7 @@ def doc(self, params):
copy2(full_name, destination)

return self.call_rustup_run(
["cargo", "doc", "--manifest-path", self.servo_manifest()] + params,
["cargo", "doc", "--manifest-path", self.ports_servo_manifest()] + params,
env=self.build_env()
)

@@ -278,7 +278,7 @@ def test_unit(self, test_name=None, package=None, bench=False, nocapture=False):

features = self.servo_features()
if len(packages) > 0 or len(in_crate_packages) > 0:
args = ["cargo", "bench" if bench else "test", "--manifest-path", self.servo_manifest()]
args = ["cargo", "bench" if bench else "test", "--manifest-path", self.ports_servo_manifest()]
for crate in packages:
args += ["-p", "%s_tests" % crate]
for crate in in_crate_packages:
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.