aboutcode-org / aboutcode-org/scancode-toolkit
Clarify types of plugins
- Dominant language
- Python
- Stars
- 2.6k
- Forks
- 791
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 5
Description
We need to provide clarity more clarity regarding the different types of ScanCode plugins (names below are provisional):
1. "Internal" plugin - these are modules in scancode-toolkit/plugins/. Most currently deal with code extraction or code typing and are not written in Python. In this case the run-time options are integrated with Toolkit. https://github.com/nexB/scancode-toolkit/tree/develop/plugins/scancode-ignore-binaries is written in Python - not sure that it belongs here.
2. "Embedded" plugin - where the plugin code is embedded in core code - e.g. scancode-toolkit/blob/develop/src/licensedcode/plugin_license_policy.py. In this case the run-time options are integrated with Toolkit.
3. "External" plugin - a third-party plugin that may not be in the scancode-toolkit repo. An example would be a customer-specific / private plugin. This area may require design in addition to documentation
And we also have code templates for creating a plugin at scancode-toolkit/src/plugincode/.
The purpose of this Issue is to standardize terminology for different types of ScanCode plugins to be followed by updated documentation with that terminology - esp. https://github.com/nexB/scancode-toolkit/wiki/Plugin-architecture.
Contributor guide
Assessment
This issue has not been assessed yet.