How do I run codegen?

Table of Contents

For background on what the generator is and what it generates, see ores.codegen (the component model).

Question

How do I run the ORE Studio C++ code generator?

Answer

There are three entry points depending on scope:

By entity name (preferred for single-entity work)

Resolve by name — no need to know the model file path or component:

./compass.sh codegen entity generate <entity> --profile <profile>

Examples:

./compass.sh codegen entity generate country --profile qt
./compass.sh codegen entity generate country --profile sql
./compass.sh codegen entity generate country --profile all

Preview what would change without writing:

./compass.sh codegen entity generate country --profile qt --diff
./compass.sh codegen entity generate country --profile qt --dry-run

See How do I generate a codegen entity? for the full workflow.

By model file

Generate from a specific org model file:

./compass.sh codegen generate --model projects/path/to/model.org --profile <profile>

Across a whole component

Regenerate every entity in a component:

./compass.sh codegen regenerate --component refdata-cpp --profile all-cpp
./compass.sh codegen regenerate --component refdata --profile sql

Script

Tested by

Run ./compass.sh codegen entity generate country --profile qt --dry-run and verify twelve Qt file paths are printed without errors.

See also

Emacs 29.1 (Org mode 9.6.6)