mirror of
https://github.com/servo/servo.git
synced 2025-07-03 05:23:38 +01:00
Add magicleap-nightly builder
This commit is contained in:
parent
b1a2b6b5bf
commit
ef2c2f933b
3 changed files with 57 additions and 6 deletions
|
@ -232,11 +232,27 @@ android-nightly:
|
||||||
magicleap:
|
magicleap:
|
||||||
env:
|
env:
|
||||||
MAGICLEAP_SDK: /Users/servo/magicleap/v0.17.0
|
MAGICLEAP_SDK: /Users/servo/magicleap/v0.17.0
|
||||||
|
MLCERT: /Users/servo/magicleap/certs/TempSharedCert.cert
|
||||||
commands:
|
commands:
|
||||||
- ./mach clean-nightlies --keep 3 --force
|
- ./mach clean-nightlies --keep 3 --force
|
||||||
- ./mach clean-cargo-cache --keep 3 --force
|
- ./mach clean-cargo-cache --keep 3 --force
|
||||||
- ./etc/ci/clean_build_artifacts.sh
|
- ./etc/ci/clean_build_artifacts.sh
|
||||||
- ./mach build --magicleap --dev
|
- env -u OPENSSL_INCLUDE_DIR -u OPENSSL_LIB_DIR ./mach build --magicleap --dev
|
||||||
|
- ./mach package --magicleap --dev
|
||||||
|
- bash ./etc/ci/lockfile_changed.sh
|
||||||
|
- ./etc/ci/clean_build_artifacts.sh
|
||||||
|
|
||||||
|
magicleap-nightly:
|
||||||
|
env:
|
||||||
|
MAGICLEAP_SDK: /Users/servo/magicleap/v0.17.0
|
||||||
|
MLCERT: /Users/servo/magicleap/certs/TempSharedCert.cert
|
||||||
|
commands:
|
||||||
|
- ./mach clean-nightlies --keep 3 --force
|
||||||
|
- ./mach clean-cargo-cache --keep 3 --force
|
||||||
|
- ./etc/ci/clean_build_artifacts.sh
|
||||||
|
- env -u OPENSSL_INCLUDE_DIR -u OPENSSL_LIB_DIR ./mach build --magicleap --release
|
||||||
|
- ./mach package --magicleap --release
|
||||||
|
- ./mach upload-nightly magicleap
|
||||||
- bash ./etc/ci/lockfile_changed.sh
|
- bash ./etc/ci/lockfile_changed.sh
|
||||||
- ./etc/ci/clean_build_artifacts.sh
|
- ./etc/ci/clean_build_artifacts.sh
|
||||||
|
|
||||||
|
|
|
@ -353,14 +353,17 @@ class CommandBase(object):
|
||||||
def get_gstreamer_path(self):
|
def get_gstreamer_path(self):
|
||||||
return path.join(self.context.topdir, "support", "linux", "gstreamer", "gstreamer")
|
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
|
# TODO(autrilla): this function could still use work - it shouldn't
|
||||||
# handle quitting, or printing. It should return the path, or an error.
|
# handle quitting, or printing. It should return the path, or an error.
|
||||||
base_path = self.get_target_dir()
|
base_path = self.get_target_dir()
|
||||||
|
|
||||||
binary_name = "servo" + BIN_SUFFIX
|
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"])
|
base_path = path.join(base_path, self.config["android"]["target"])
|
||||||
binary_name = "libsimpleservo.so"
|
binary_name = "libsimpleservo.so"
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,7 @@ import hashlib
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import os.path as path
|
import os.path as path
|
||||||
|
import platform
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
@ -55,6 +56,9 @@ PACKAGES = {
|
||||||
'macbrew': [
|
'macbrew': [
|
||||||
'target/release/brew/servo.tar.gz',
|
'target/release/brew/servo.tar.gz',
|
||||||
],
|
],
|
||||||
|
'magicleap': [
|
||||||
|
'target/aarch64-linux-android/release/Servo2D.mpk',
|
||||||
|
],
|
||||||
'maven': [
|
'maven': [
|
||||||
'target/gradle/servoview/maven/org/mozilla/servoview/servoview-armv7/',
|
'target/gradle/servoview/maven/org/mozilla/servoview/servoview-armv7/',
|
||||||
'target/gradle/servoview/maven/org/mozilla/servoview/servoview-x86/',
|
'target/gradle/servoview/maven/org/mozilla/servoview/servoview-x86/',
|
||||||
|
@ -196,6 +200,10 @@ class PackageCommands(CommandBase):
|
||||||
default=None,
|
default=None,
|
||||||
action='store_true',
|
action='store_true',
|
||||||
help='Package Android')
|
help='Package Android')
|
||||||
|
@CommandArgument('--magicleap',
|
||||||
|
default=None,
|
||||||
|
action='store_true',
|
||||||
|
help='Package Magic Leap')
|
||||||
@CommandArgument('--target', '-t',
|
@CommandArgument('--target', '-t',
|
||||||
default=None,
|
default=None,
|
||||||
help='Package for given target platform')
|
help='Package for given target platform')
|
||||||
|
@ -206,7 +214,7 @@ class PackageCommands(CommandBase):
|
||||||
default=None,
|
default=None,
|
||||||
action='store_true',
|
action='store_true',
|
||||||
help='Create a local Maven repository')
|
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):
|
debugger=None, target=None, flavor=None, maven=False):
|
||||||
if android is None:
|
if android is None:
|
||||||
android = self.config["build"]["android"]
|
android = self.config["build"]["android"]
|
||||||
|
@ -218,10 +226,34 @@ class PackageCommands(CommandBase):
|
||||||
else:
|
else:
|
||||||
target = self.config["android"]["target"]
|
target = self.config["android"]["target"]
|
||||||
env = self.build_env(target=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()
|
dir_to_root = self.get_top_dir()
|
||||||
target_dir = path.dirname(binary_path)
|
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"]
|
android_target = self.config["android"]["target"]
|
||||||
if "aarch64" in android_target:
|
if "aarch64" in android_target:
|
||||||
build_type = "Arm64"
|
build_type = "Arm64"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue