mirror of
https://github.com/servo/servo.git
synced 2025-06-29 11:33:39 +01:00
Add magicleap-nightly builder
This commit is contained in:
parent
b1a2b6b5bf
commit
ef2c2f933b
3 changed files with 57 additions and 6 deletions
|
@ -353,14 +353,17 @@ class CommandBase(object):
|
|||
def get_gstreamer_path(self):
|
||||
return path.join(self.context.topdir, "support", "linux", "gstreamer", "gstreamer")
|
||||
|
||||
def get_binary_path(self, release, dev, android=False):
|
||||
def get_binary_path(self, release, dev, android=False, magicleap=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:
|
||||
if magicleap:
|
||||
base_path = path.join(base_path, "aarch64-linux-android")
|
||||
binary_name = "libmlservo.a"
|
||||
elif android:
|
||||
base_path = path.join(base_path, self.config["android"]["target"])
|
||||
binary_name = "libsimpleservo.so"
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ import hashlib
|
|||
import json
|
||||
import os
|
||||
import os.path as path
|
||||
import platform
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
|
@ -55,6 +56,9 @@ PACKAGES = {
|
|||
'macbrew': [
|
||||
'target/release/brew/servo.tar.gz',
|
||||
],
|
||||
'magicleap': [
|
||||
'target/aarch64-linux-android/release/Servo2D.mpk',
|
||||
],
|
||||
'maven': [
|
||||
'target/gradle/servoview/maven/org/mozilla/servoview/servoview-armv7/',
|
||||
'target/gradle/servoview/maven/org/mozilla/servoview/servoview-x86/',
|
||||
|
@ -196,6 +200,10 @@ class PackageCommands(CommandBase):
|
|||
default=None,
|
||||
action='store_true',
|
||||
help='Package Android')
|
||||
@CommandArgument('--magicleap',
|
||||
default=None,
|
||||
action='store_true',
|
||||
help='Package Magic Leap')
|
||||
@CommandArgument('--target', '-t',
|
||||
default=None,
|
||||
help='Package for given target platform')
|
||||
|
@ -206,7 +214,7 @@ class PackageCommands(CommandBase):
|
|||
default=None,
|
||||
action='store_true',
|
||||
help='Create a local Maven repository')
|
||||
def package(self, release=False, dev=False, android=None, debug=False,
|
||||
def package(self, release=False, dev=False, android=None, magicleap=None, debug=False,
|
||||
debugger=None, target=None, flavor=None, maven=False):
|
||||
if android is None:
|
||||
android = self.config["build"]["android"]
|
||||
|
@ -218,10 +226,34 @@ class PackageCommands(CommandBase):
|
|||
else:
|
||||
target = self.config["android"]["target"]
|
||||
env = self.build_env(target=target)
|
||||
binary_path = self.get_binary_path(release, dev, android=android)
|
||||
binary_path = self.get_binary_path(release, dev, android=android, magicleap=magicleap)
|
||||
dir_to_root = self.get_top_dir()
|
||||
target_dir = path.dirname(binary_path)
|
||||
if android:
|
||||
if magicleap:
|
||||
if platform.system() not in ["Darwin"]:
|
||||
raise Exception("Magic Leap builds are only supported on macOS.")
|
||||
if not env.get("MAGICLEAP_SDK"):
|
||||
raise Exception("Magic Leap builds need the MAGICLEAP_SDK environment variable")
|
||||
if not env.get("MLCERT"):
|
||||
raise Exception("Magic Leap builds need the MLCERT environment variable")
|
||||
mabu = path.join(env.get("MAGICLEAP_SDK"), "mabu")
|
||||
package = "./support/magicleap/Servo2D/Servo2D.package"
|
||||
if dev:
|
||||
build_type = "lumin_debug"
|
||||
else:
|
||||
build_type = "lumin_release"
|
||||
argv = [
|
||||
mabu,
|
||||
"-o", target_dir,
|
||||
"-t", build_type,
|
||||
package
|
||||
]
|
||||
try:
|
||||
subprocess.check_call(argv, env=env)
|
||||
except subprocess.CalledProcessError as e:
|
||||
print("Packaging Magic Leap exited with return value %d" % e.returncode)
|
||||
return e.returncode
|
||||
elif android:
|
||||
android_target = self.config["android"]["target"]
|
||||
if "aarch64" in android_target:
|
||||
build_type = "Arm64"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue