feat(kiosk): resolve constant plugin IDs, overrides and the CheckT helper

- kiosk.ReadIdentity: ID()/Requires() as literals or constants across packages and modules, read with go/parser, never run
- plugin minimums from go.mod requires; v0.0.0 is an error, a pseudo-version warns
- kiosk.Validate, kiosk.CheckT (no testing import)
- plugin:add reads IDs through kiosk.ReadIdentity, so const-ID plugins register
This commit is contained in:
Jakub Zych
2026-10-29 17:02:38 +01:00
parent ec6a1955fc
commit 51ec2f9daa
22 changed files with 1156 additions and 115 deletions

15
modules/kiosk/testdata/other/plugin.go vendored Normal file
View File

@@ -0,0 +1,15 @@
// Package other is a test fixture: a plugin in its own module that the
// consts fixture requires. It is never built.
package other
// PluginID is the plugin ID.
const PluginID = "acme.other"
// Plugin is the fixture plugin.
type Plugin struct{}
// ID returns PluginID.
func (*Plugin) ID() string { return PluginID }
// Requires returns no plugins.
func (*Plugin) Requires() []string { return []string{} }