The Oda command line

DataMind Oda usually runs as the desktop app, and it can also run from a command line. A command-line run starts one profile, and flags on the same line adjust how that run behaves. This page is the reference for how Oda reads that line: the flags, what wins when a flag and the settings file disagree, and what the help and error output do.

Start a profile

A command-line run starts one profile, and the profile name decides which setup the run uses. Name the profile on the command line when Oda starts.

Flags and the settings file

A flag wins over the matching value in the settings file: --port 8080 serves on port 8080 even when the settings name another port.

Oda's flags and the app's arguments

Help and exit codes

Look at a profile's configuration

Oda can show what a profile will run, without starting it.

Questions, answered

How do I start Oda from a command line?

Name the profile for the run on the command line. A command-line run starts one profile, and the shipped templates are web, headless, acp, sdk and sdk-minimal; Oda profiles and launchers describes what each serves.

Where do profiles live on this computer?

Under the Oda home folder, one folder per profile name. Oda's home folder and settings files covers how the folder is chosen and shown.

How do I start a new profile from a shipped template?

Put the shipped template on the line when the new profile starts. The shipped templates are web, headless, acp, sdk and sdk-minimal.

Why did a flag win over the settings file?

A flag beats the matching value in the settings file: --port 8080 serves on port 8080 even when the settings name another port. The rule holds when the settings value is written as an expression, and flags are resolved once, when Oda starts.

Do my flags survive a settings reload?

Yes. Flags are resolved once, when Oda starts, and a later settings reload never resets them. Hot reload covers what a reload does change.

How do I pass a literal double dash?

Write it doubled: -- --. A literal -- needs that form.

Why did the start exit with a code other than 0?

A flag value was refused. The app prints its error and exits with a code other than 0; error: --port must be a number, got "<value>" is one such message. Correct the value, or drop the flag, and start again.

Does --help start anything?

No. --help prints the help for the app and exits with code 0, without starting anything. Help, version and error output are handled by the launcher, before the app's own work begins.