https://pantsbuild.org/ logo
#general
Title
# general
Screen Shot 2020-07-21 at 10.45.07 AM.png,Screen Shot 2020-07-21 at 10.45.16 AM.png
what am I missing @hundreds-father-404?
h

hundreds-father-404

07/21/2020, 5:49 PM
Try removing the
RootRule(LintOptions)
part
The idea is that the engine will be able to go from
OptionsBootstrapper -> LintOptions
automatically, whereas you are directly injecting
LintOptions
atm. The
RootRule
is telling the engine that there is a way to directly inject it, rather than computing it from other rules.
Ohhh, hm, you may need to register
SubsystemRule(LintOptions)
also.
Normally, in a production environment, everything in
core/goals/lint.py
is registered. In this test, those are not registered because it’s hermitic, so you must explicitly tell the engine about
LintOptions
via
SubsystemRule(LintOptions)
@witty-crayon-22786 instead of “Maybe register as RootRule(Foo)?“, should we say “Maybe register as RootRule(Foo) or SubsystemRule(Foo)?“?
w

witty-crayon-22786

07/21/2020, 5:57 PM
hm, yea possibly. would need to add hooks to inspect the type, since you can’t give that advice unless it’s actually a Subsystem... and the Subsystem inheritance is kind of a mess (the rule technically accepts all Optionables)
h

hundreds-father-404

07/21/2020, 5:58 PM
John’s change to remove
SubsystemRule
is also relevant. Perhaps that will land before 2.0