Skip to content

Instantly share code, notes, and snippets.

@yuujii
Last active July 21, 2020 02:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuujii/682ad0b9735dfd10f04bbdaef09cf1ae to your computer and use it in GitHub Desktop.
Save yuujii/682ad0b9735dfd10f04bbdaef09cf1ae to your computer and use it in GitHub Desktop.
mabu command #ML1
C:\Unity\MagicLeap\mlsdk\v0.20.0>mabu -h
usage: mabu [-h] [--version] [-t SPEC] [--path PATH] [-X] [-q] [-v] [-j [N]]
[-k] [-o OUTDIR] [-c] [-r] [-s FILE] [--set-options OPTIONS]
[-m FILE] [-a] [-n] [-b] [-l] [-p] [--allow-unsigned]
[--create-package] [--local] [--refs] [--rescan] [--help-target]
[--help-projects] [--help-vars] [--help-commands] [--print-target]
[--print-components] [--print-options] [--print-configs]
[--print-tools] [--print-resolved] [--print-build-vars]
[--print-outputs] [--print-output-directories]
[--print-layout-directories] [--print-package-outputs]
[--print-indexer-config] [--print-invoke-commands]
[--print-invoke-vars] [--print-project-files]
[--print-signing-data INPUT_MPK] [--invoke] [-z] [-Z]
[--invoke-args INVOKE_ARGS] [--export-json FILE]
[--create-cmake-toolchain FILE] [--re-sign INPUT_MPK]
[project [VAR=value]]
Build and package a Magic Leap project.
positional arguments:
project [VAR=value] the project name (a path to a *.mabu or *.package
file) along with variable settings like MLSDK.
optional arguments:
-h, --help show this help message and exit
--version report version of mabu
-t SPEC, --target SPEC
override the build target specification (use --help-
target for details)
--path PATH add search directories for *.option, *.config, and
*.comp files; separated by ';'
-X, --external-mabu-data
when MLSDK is overridden on the command line, find
builtin *.config/*.component/*.option files in the new
MLSDK/tools/mabu/data instead of the running instance
Build options:
-q, --quiet quiet build (no information)
-v, --verbose verbose build
-j [N], --jobs [N] invoke parallel make, using N processors (or as many
as possible with no arg)
-k, --keep-going once build starts, keep going after errors occur
(passed to 'make')
-o OUTDIR, --out OUTDIR
override the output directory; for *.mabu projects,
the <SPEC> is still included; for *.package projects,
this specifies the runtime layout
-c, --clean only clean the project(s)
-r, --rebuild clean then build the project(s)
-s FILE, --sign FILE when packaging, sign with the provided the certificate
and paired private key (FILE.cert and FILE.privkey --
use 'certgen' to create); this overrides any MLCERT
environment variable or package setting
--set-options OPTIONS
prepend the given OPTIONS (separated with space, ':',
or ';') to those from the projects; intended for IDE
integration
-m FILE, --manifest FILE
when building a .package, override the path to the
manifest.xml file, which is otherwise found in the
project directory
Unconventional build options (these are rarely used):
-a, --all build and package the project(s) (default; this is
usually what you want)
-n, --dry-run do nothing but parse project(s)
-b, --build only build the .mabu project(s)
-l, --layout for .package projects, only lay out runtime data
-p, --package for .package projects, only create .mpk package
--allow-unsigned for .package projects, do not fail if a MLCERT is not
specified or detected (this is only for testing; the
created .mpk cannot be installed!)
--create-package for .package projects, always create .mpk file, even
for builds targeting the host
--local only build the project(s) mentioned on the command
line, not their dependencies (REFS)
--refs only build the dependencies (REFS) referenced from the
project(s) mentioned on the command line, not the
outputs of the .mabu files themselves
--rescan if mabu is having trouble locating build tools after
installing or removing them, clears cached data in
C:\Users\yuji\AppData\Local\mabu
Information options:
--help-target, --help-spec
print help about build target specifications (-t ...)
--help-projects print overview about mabu projects
--help-vars print overview of build variables
--help-commands print help about special commands
--print-target, --print-spec
print the full specification for --target=...
--print-components print the list of available components (for USES)
given the current MLSDK, --path=..., and MABUPATH
--print-options print the list of available options (in OPTIONS) given
the current MLSDK, --path=..., and MABUPATH
--print-configs print the list of available configurations (for -t
...) given the current MLSDK, --path=..., and MABUPATH
--print-tools print the set of tools used for --target=...
--print-resolved print the project with all settings resolved from the
build, components, and references
--print-build-vars print the set of build variables derived from the
project
--print-outputs print the set of build artifacts generated by the
project and its subprojects (each build artifact is a
pair of output file and output-relative file,
separated by tab)
--print-output-directories
print the output directories for each .mabu project
--print-layout-directories
print the DATAS layout directories for each .package
project
--print-package-outputs
print the path to the .mpk for each .package project
--print-indexer-config
print the set of include directories and defines
derived from the project
--print-invoke-commands
print the path to a script created for invoking the
project output
--print-invoke-vars print JSON for the variables and commands needed for
invoking the project output
--print-project-files
print all the project files involved in the build of a
specific project
--print-signing-data INPUT_MPK
print the signature data applied to files in the given
previously-built .mpk (this is a diagnostic tool; it
can't tell what certificate was used to sign the
package)
Program invocation options:
--invoke execute .mabu program projects for host or device
-z, --mlremote-adjust
when invoking programs on host, adjusts the runtime
library search path to launch under zero iteration
with ML Remote (default); search order is: the
environment's library search path (PATH), ML Remote
libraries, then library paths referenced by the
project
-Z, --no-mlremote-adjust
opposite of -z; search order is: the environment's
library search path (PATH) then library paths
referenced by the project
--invoke-args INVOKE_ARGS
arguments (quoted) to pass to an invoked program
Special commands:
These commands bypass the build and packaging steps.
--export-json FILE export the project and all related files to a JSON
file
--create-cmake-toolchain FILE
create a CMake toolchain for Lumin development into
FILE, and exit
--re-sign INPUT_MPK, --resign INPUT_MPK
apply a different signing certificate to the given
previously-built .mpk, writing a copy with the
alternate signatures applied, and exit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment