Guides / Installed SDKs and build caches

Installed SDKs and build caches

Keep the installed CLI, JavaScript API, templates, and native libraries together. Runtime 0.2 builds applications using writable project staging without writing into read-only SDK inputs. Host SDKs, tools, and caches still need writable locations when installation or updates require them.

Locate toolchain configuration#

The npm launcher stores new first-run configuration outside the installed package:

Override or host Configuration location
ORO_ENV_FILE Explicit file; relative values resolve against the invoking directory
ORO_CONFIG_HOME Directory containing the user configuration
Linux default $XDG_CONFIG_HOME/oro or ~/.config/oro
macOS default ~/Library/Application Support/oro
Windows default %LOCALAPPDATA%\oro or ~/AppData/Local/oro

The filename defaults to .oro.env; ORO_ENV_FILENAME selects another name. An existing user file takes precedence over legacy SDK-local configuration. Without an explicit override or user file, an existing SDK-local file remains readable for compatibility and is not rewritten. --version and --help do not run setup or create configuration.

The native CLI fills unset values from the project's .oro.env, then the selected ORO_ENV_FILE, then legacy SDK defaults. Existing process environment values win. This toolchain configuration is separate from the application's oro.toml and .ororc.

If a compiled CLI/template or Android API/source fingerprint mismatch is reported, reinstall or rebuild the matching SDK. Do not bypass the mismatch by mixing files from unrelated installations. Unix Android setup can reuse complete installed-package metadata and required tools offline; it still provisions missing packages and cannot acquire missing Gradle dependencies offline.

Opt into build result caches#

oroc build --cache .
oroc build --platform=android --cache --no-android-configuration-cache .

Optional build result caches default to off. A project can opt in:

[build]
cache = true

[android]
configuration_cache = false

[ios]
cache = false
Cache Project settings CLI override
Supported result caches build.cache, platform cache --cache / --no-cache
Native object compilation build.compiler_cache, platform compiler_cache --compiler-cache / --no-compiler-cache
Android cache family android.cache --android-cache / --no-android-cache
Gradle task outputs android.build_cache --android-build-cache / --no-android-build-cache
Gradle configuration android.configuration_cache --android-configuration-cache / --no-android-configuration-cache

CLI cache-specific flags override Android-family flags, which override general flags; supplying positive and negative forms of the same flag is an error. Platform-specific configuration overrides corresponding build defaults. Android emulator targets inherit Android settings; iOS Simulator inherits iOS settings. Desktop platform sections are linux, mac, and win.

Native compiler caching uses ccache, falling back to sccache; Windows prefers sccache. Without either tool, Oro reports the missing cache and compiles directly. A selected launcher/compiler failure still fails the build. Custom hooks receive ORO_BUILD_CACHE and ORO_COMPILER_CACHE as 1 or 0 and must configure their own tools. These options do not clear entries or control dependency downloads, runtime data caches, or source bootstrap.

Linux source-development SDKs#

For Runtime contributors, pnpm relink / npm run relink publishes a copied, verified Linux SDK under .local/share/oro-sdk/linux; ORO_LOCAL_SDK_HOME overrides that location. Immutable generations contain matched CLI/API/native inputs. Activation is atomic, active-command leases retain in-use generations, failed activation can roll back, and unused generations/interrupted staging are collected under the retention policy.

Editing a source checkout does not change an activated generation: rebuild and relink. This workflow is separate from npm publication and ordinary npm installation. See the source-build, retention, and cleanup reference.

Source repository · Edit this page · View Markdown

Quick links

Type to search across the site. Use the up and down arrow keys to choose a result, Enter to open it, and Escape to close.