38 lines
1.3 KiB
Markdown
38 lines
1.3 KiB
Markdown
# KiBOM variants
|
|
|
|
This is an analysis and test of the *variants* implementation of [KiBOM](https://github.com/SchrodingersGat/KiBoM)
|
|
|
|
## What goes inside the SCH
|
|
|
|
- The variants are implemented using the `Config` field (the name can be configured).
|
|
- By default a component is included in all variants.
|
|
- You can exclude a component from one variant adding `-VARIANT_NAME` to the `Config`.
|
|
- If you want to exclude this component from more than one variant just add more `-VARIANT_NAME` entries. Comma separated.
|
|
- If a component will be included **only** in one variant you can use `+VARIANT_NAME`.
|
|
- Again you can add more than one `+VARIANT_NAME` entry. So the component will be included only if generating one of the selected variants.
|
|
|
|
## What goes outside the SCH
|
|
|
|
- When you generate the BoM you can select one or more variants, again comma separated.
|
|
- The `-VARIANT_NAME` and `+VARIANT_NAME` is tested using a list of all the indicated variants.
|
|
- By default the list of variants is ['default']. So *default* is like a special variant.
|
|
|
|
## Where is in the code?
|
|
|
|
The Component.isFitted() method implements the functionality.
|
|
|
|
## Conclusion
|
|
|
|
### Advantages
|
|
|
|
- Almost all the information is inside the project.
|
|
- You have "exclude from" and "include only" options.
|
|
|
|
### Disadvantages
|
|
|
|
- The `Config` field could become large.
|
|
|
|
|
|
|
|
|