Matrix
A central concept in Nedryland is the matrix. The matrix is how build targets are accessed and the reason it is called a matrix is since the target layout can be thought of as a two-axis matrix. On one axis, we have all components and on the other axis, we have all targets. In addition to this, there are also some one-dimensional targets that always work on all components (deployment is usually one example).
An example matrix might look like:
⬇️ component \ target ➡️ | package | docs | target1 | target2 |
---|---|---|---|---|
nedry | ||||
hammond | ||||
malcolm |
This means that to build the package
target of hammond
we would access hammond.package
:
⬇️ component \ target ➡️ | package | docs | target1 | target2 |
---|---|---|---|---|
nedry | ||||
hammond | 🧨 | |||
malcolm |
To build all targets for hammond
, we would access hammond
:
⬇️ component \ target ➡️ | package | docs | target1 | target2 |
---|---|---|---|---|
nedry | ||||
hammond | 🧨 | 🧨 | 🧨 | 🧨 |
malcolm |
and to build the target package
for all components we would simply access targets.package
:
⬇️ component \ target ➡️ | package | docs | target1 | target2 |
---|---|---|---|---|
nedry | 🧨 | |||
hammond | 🧨 | |||
malcolm | 🧨 |