Theksconf check (and by extension, the ksconf-check pre-commit hook) should do a better job validating .meta files. Right now just the generic .conf parsing rules are applied, but this could be handled better.
In particular, I don't think btool check does much (if anything) in terms of validating metadata files (possibly just default files???) so there's an opportunity to provide additional value here.
Things that should be reported:
Entries with more than 3 levels deep (more than 3 /s indicates a problem).
Any issues with the access value that includes something other than "read" or "write"; or contains other parse issues (missing ",", no [] and so on)
Invalid values for "export"
Things that could be warned about:
Missing URL encoding.
Contains unknown attributes (be sure to allow the undocumented import attribute.)
(Note that currently the concept of 'warnings' don't exist so possibly these could be implemented as hard checks, or the concept of warnings or strictness could be introduced.)
Things to figure out:
Is there any weird encoding rules for the roles listed in access. Like what happens if a role name contains a comma, space, double quote, or square bracket? (Hopefully these aren't allowed); but this should be confirmed.
The
ksconf check
(and by extension, theksconf-check
pre-commit hook) should do a better job validating.meta
files. Right now just the generic .conf parsing rules are applied, but this could be handled better.In particular, I don't think
btool check
does much (if anything) in terms of validating metadata files (possibly just default files???) so there's an opportunity to provide additional value here.Things that should be reported:
/
s indicates a problem).access
value that includes something other than "read" or "write"; or contains other parse issues (missing ",", no [] and so on)Things that could be warned about:
import
attribute.)(Note that currently the concept of 'warnings' don't exist so possibly these could be implemented as hard checks, or the concept of warnings or strictness could be introduced.)
Things to figure out: