oroc build
Build an Oro Runtime application.
You can provide a project directory, HTML file, or JavaScript module. When no oro.toml is found, oroc can infer a
minimal configuration automatically.
Usage#
oroc build [options] [<project-or-source>]
Options#
| Option | Description |
|---|---|
--platform=<platform> |
android | android-emulator | ios | ios-simulator (default: host) |
--config=<path> |
use an explicit oro.toml/oro.ini file |
--copy=<source:dest> |
extra copy mapping (like [build] copy; can be repeated) |
--host=<host> |
load index.html from host (default: 80 when port omitted) |
--port=<port> |
load index.html from port (default: localhost when host omitted) |
--test[=path] |
test mode (optionally import a test file) |
--headless |
build to run without a visible window |
--prod |
production build (disables inspector/debugging) |
-D, --debug |
debug mode |
-E, --env |
add environment variables |
-o, --only-build |
only run the build step |
-p, --package |
package the app for distribution |
-r, --run |
run after building |
-w, --watch |
watch for changes to rerun build |
--allow-exec |
allow external command execution during builds |
--sanitizers |
enable ASan/UBSan on desktop core builds |
--tls-keylog=<path> |
write TLS key log lines (OpenSSL provider) |
--log-file=<path> |
mirror logs to a JSON file |
Environment#
| Variable | Meaning |
|---|---|
ORO_ALLOW_EXEC |
allow external exec during builds |
ORO_ENABLE_SANITIZERS |
enable ASan/UBSan on desktop builds |
Common errors#
- Android builds: run
oroc setup --platform=androidand accept SDK licenses. - macOS/iOS signing: set
ios.provisioning_profile(or platform-specific signing keys) in your config. - “external command execution is disabled”: pass
--allow-execor setORO_ALLOW_EXEC=1.
Platform-specific options#
Linux#
| Option | Description |
|---|---|
-f, --package-format=<format> |
deb | rpm | zip | aur (default: deb) |
--sign |
sign Linux packages with GPG (writes .asc next to the artifact) |
--sign-key=<id> |
optional GPG key ID/fingerprint for --sign |
Dependencies:
- deb packaging requires
dpkgandfakeroot(example:sudo apt-get install dpkg-dev fakeroot) - rpm packaging requires
rpmbuild(example:sudo dnf install rpm-build)
macOS#
| Option | Description |
|---|---|
-c, --codesign |
code sign the app with codesign |
-n, --notarize |
notarize with notarytool |
-f, --package-format=<format> |
zip (default) | pkg |
Dependencies:
- Xcode and Command Line Tools are required (
xcode-select --install) - For Gradle/JDK, install via Homebrew (
brew install gradle openjdk) or SDKMAN
iOS#
| Option | Description |
|---|---|
-c, --codesign |
code sign during xcodebuild (requires ios.provisioning_profile in config) |
Windows#
| Option | Description |
|---|---|
-f, --package-format=<format> |
appx (default) |
Dependencies:
- Windows 10/11 SDK and Visual Studio Build Tools are recommended
- Ensure
signtool.exeis available (setSIGNTOOLor add SDK bin toPATH)
Next#
Source repository · Edit this page · View Markdown