aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/post_build_commands.py
diff options
context:
space:
mode:
authoredunham <edunham@mozilla.com>2016-04-28 09:56:27 -0700
committeredunham <edunham@mozilla.com>2016-06-03 14:47:21 -0700
commita1a8e08dca490d10ef10baec1ecbf9ed6d4afc59 (patch)
treefc8c20ba528c0c476e99fb2fcac1df4f28058a0e /python/servo/post_build_commands.py
parentb389ecda67d834de1893c6e7a118c0f0fd713b8c (diff)
downloadservo-a1a8e08dca490d10ef10baec1ecbf9ed6d4afc59.tar.gz
servo-a1a8e08dca490d10ef10baec1ecbf9ed6d4afc59.zip
Create `mach package`
* Split package commands into their own file * Delete spurious files from build dir * Create runservo.sh to invoke servo with the right browserhtml incantation * Tar it all up with the date and time in the filename
Diffstat (limited to 'python/servo/post_build_commands.py')
-rw-r--r--python/servo/post_build_commands.py63
1 files changed, 1 insertions, 62 deletions
diff --git a/python/servo/post_build_commands.py b/python/servo/post_build_commands.py
index 693fbfdde0c..7781689d32b 100644
--- a/python/servo/post_build_commands.py
+++ b/python/servo/post_build_commands.py
@@ -23,7 +23,7 @@ from mach.decorators import (
Command,
)
-from servo.command_base import CommandBase, cd, call, check_call, BuildNotFound
+from servo.command_base import CommandBase, cd, call, check_call
def read_file(filename, if_exists=False):
@@ -229,64 +229,3 @@ class PostBuildCommands(CommandBase):
import webbrowser
webbrowser.open("file://" + path.abspath(path.join(
self.get_target_dir(), "doc", "servo", "index.html")))
-
- @Command('package',
- description='Package Servo (currently, Android APK only)',
- category='post-build')
- @CommandArgument('--release', '-r', action='store_true',
- help='Package the release build')
- @CommandArgument('--dev', '-d', action='store_true',
- help='Package the dev build')
- def package(self, release=False, dev=False, debug=False, debugger=None):
- env = self.build_env()
- binary_path = self.get_binary_path(release, dev, android=True)
-
- if dev:
- env["NDK_DEBUG"] = "1"
- env["ANT_FLAVOR"] = "debug"
- dev_flag = "-d"
- else:
- env["ANT_FLAVOR"] = "release"
- dev_flag = ""
-
- target_dir = os.path.dirname(binary_path)
- output_apk = "{}.apk".format(binary_path)
- try:
- with cd(path.join("support", "android", "build-apk")):
- subprocess.check_call(["cargo", "run", "--", dev_flag, "-o", output_apk, "-t", target_dir,
- "-r", self.get_top_dir()], env=env)
- except subprocess.CalledProcessError as e:
- print("Packaging Android exited with return value %d" % e.returncode)
- return e.returncode
-
- @Command('install',
- description='Install Servo (currently, Android only)',
- category='post-build')
- @CommandArgument('--release', '-r', action='store_true',
- help='Package the release build')
- @CommandArgument('--dev', '-d', action='store_true',
- help='Package the dev build')
- def install(self, release=False, dev=False):
- try:
- binary_path = self.get_binary_path(release, dev, android=True)
- except BuildNotFound:
- print("Servo build not found. Building servo...")
- result = Registrar.dispatch(
- "build", context=self.context, release=release, dev=dev
- )
- if result:
- return result
- try:
- binary_path = self.get_binary_path(release, dev, android=True)
- except BuildNotFound:
- print("Rebuilding Servo did not solve the missing build problem.")
- return 1
-
- apk_path = binary_path + ".apk"
- if not path.exists(apk_path):
- result = Registrar.dispatch("package", context=self.context, release=release, dev=dev)
- if result is not 0:
- return result
-
- print(["adb", "install", "-r", apk_path])
- return subprocess.call(["adb", "install", "-r", apk_path], env=self.build_env())