aboutcode-org / scancode-toolkit

:mag: ScanCode detects licenses, copyrights, dependencies by "scanning code" ... to discover and inventory open source and third-party packages used in your code. Sponsored by NLnet project https://nlnet.nl/project/vulnerabilitydatabase, the Google Summer of Code, Azure credits, nexB and others generous sponsors!
https://github.com/aboutcode-org/scancode-toolkit/releases/
2.11k stars 545 forks source link

Clarify types of plugins #1586

Open mjherzog opened 5 years ago

mjherzog commented 5 years ago

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.

pombredanne commented 2 years ago

that's a wart of merging in partial Git history from Pygments for a Groovylexer. And GitHub should allow us to disable autoclose... that's their bug

pombredanne commented 2 years ago

@mjherzog That was mistakenly autoclosed becasue of this https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword