Introduction to nitrile.yml
¶
nitrile.yml
defines your package. It is used by Nitrile to decide what to do
to build and package your application or library. It can be compared to
package.json
for npm or project.cabal
for Cabal, for example.
At the bare minimum it should contain the fields described in the getting started guide.
For more fields, see the reference.
Multiple packages¶
To specify multiple packages in one nitrile.yml
, you can use multiple YAML
documents separated by ---
:
name: my-project
# ...
---
name: my-other-project
# ...
This is for example useful to have a separate package for an application and a library (as is done for the iTasks compiler).
By default, Nitrile will use the first package, but you can control this with
the global option --name
.
More complex projects¶
For more complex projects, the project configuration can be specified using the programming language Nickel. This has several benefits:
- Duplication can be avoided.
- The configuration may be parameterized by command line options.