forked from johnbeard/kiplot
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request johnbeard#5 from INTI-CMNB/variants
Added Variants and Filters
- Loading branch information
Showing
59 changed files
with
2,166 additions
and
642 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# IBoM variants | ||
|
||
This is an analysis and test of the *variants* implementation of [IBoM](https://github.com/openscopeproject/InteractiveHtmlBom) | ||
|
||
## What goes inside the SCH | ||
|
||
- The field used for variants must be specified using `--variant-field` | ||
- The field can contain only one value. So you create some kind of component groups. | ||
|
||
## What goes outside the SCH | ||
|
||
- Two optional lists are passed to create the variant. | ||
- Components without a group are always included. | ||
- Whitelist: only the groups listed here are included. | ||
- If this list is empty all groups are included, unless listed in the blacklist. | ||
- Blacklist: groups listed here are excluded. | ||
|
||
## Where is in the code? | ||
|
||
In core/ibom.py function skip_component. | ||
|
||
## Conclusion | ||
|
||
### Advantages | ||
|
||
- The `Config` field is simple. | ||
- You have "exclude from" and "include only" options. | ||
|
||
### Disadvantages | ||
|
||
- Critical part of the information is outside the project. | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# 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. | ||
|
||
|
||
|
||
|
Oops, something went wrong.