The v0.15.0 PyPI wheel shipped every plugin's Python code but none of its plugin.yaml manifests, so plugin discovery (hermes_cli/plugins.py) found zero plugins and ALL gateway platforms failed with "No adapter available for <platform>" (discord, slack, mattermost, ...). Same gap also dropped the web-search provider manifests (#28149). Declare manifest coverage in both packaging channels: - wheel: [tool.setuptools.package-data] plugins += **/plugin.yaml, **/plugin.yml - sdist: MANIFEST.in recursive-include plugins plugin.yaml plugin.yml (Homebrew and other downstream packagers build from the sdist) Verified by building the wheel before/after: plugin.yaml count went 0 -> 69, discord's manifest now ships. Adds a regression test asserting both channels cover manifests. Fixes #34034 Co-authored-by: outsourc-e <201563152+outsourc-e@users.noreply.github.com> Co-authored-by: Dhruvil Parikh <41384593+dparikh79@users.noreply.github.com> Co-authored-by: ousiaresearch <261687298+ousiaresearch@users.noreply.github.com> Co-authored-by: libre-7 <6366424+libre-7@users.noreply.github.com>
10 lines
430 B
Plaintext
10 lines
430 B
Plaintext
graft skills
|
|
graft optional-skills
|
|
# Bundled plugin manifests (plugin.yaml / plugin.yml). Without these the
|
|
# PluginManager scan (hermes_cli/plugins.py) finds zero plugins on installs
|
|
# built from the sdist (e.g. Homebrew, downstream packagers). package-data
|
|
# below covers the wheel; this covers the sdist. See #34034 / #28149.
|
|
recursive-include plugins plugin.yaml plugin.yml
|
|
global-exclude __pycache__
|
|
global-exclude *.py[cod]
|