plugin.toml manifest and validator #39
Labels
No labels
approved
bug
changes-requested
ci
decision
declined
discuss
docs
feature
meta
now
packaging
refactor
release
repo/core
repo/krystal
repo/plugins
repo/themes
status/backlog
status/in-progress
status/next
status/review
ux
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
joshquinlan/donbox#39
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Sections plugin, commands, packages, units, binds, menu, shell, theme, hooks, migrations, settings; bash and QML validation with the same rules.
Landed on the
plugin-corebranch as 84986e8.lib/plugin/manifest.shreads a manifest through tomllib intokeyvalue facts (
plugin_fact,plugin_keys,plugin_named), accepting both[plugin]and bare top-levelkeys the way the QML registry does.
lib/plugin/validate.shholds one check per section, all of them run so a single pass
names every fault, and
donbox plugin validate <dir>reportsthem and exits 1. The rules match
shell/services/logic/PluginManifest.qml(id, kinds, entrypoints, widget section) and add existence checks the shell
cannot make: commands.dir, units under units/, MOD+KEY binds
with actions, menu file, theme templates and appliers, hook
events from the design list, migrations dir, settings file, and
no symlink anywhere inside the plugin.
32 assertions in
test/shell.d/plugin-validate-test.sh, one perrule, plus
plugins/boardvalidating as shipped (it gained theversionthe rules now require).Integrated on master (plugin-core branch cherry-picked; lib/plugin/manifest.sh, validate.sh, bin/donbox-plugin-*, donbox hook). Closing.