Build Configuration

Want configuration is done using 3 kinds of files, all written in Spore:

When want build runs, it:

  1. Checks that the current directory has a WANT file which is a valid module config; if not, it exits with a "not a module" error.
  2. Finds every file ending in .want and .wants, and evaluates each into one or more Targets.
  3. Validates that the Targets together are a valid build plan.
  4. Runs the build according to the plan.

Each .want/.wants file is evaluated independently as a single-file Spore body, and must export the fields described for its kind.

The build departs from the module's source files only through the paths a target declares in its .input. Which paths are imported into the module in the first place is controlled by the root .wantignore file, described in Module Files.