what's the current mechanism by which pants provid...
# development
h
what's the current mechanism by which pants provides `Subsystem`s to rules?
I think I need to
product_request
a type that requires
GlobalOptions
as an input outside the main flow of the engine
w
if this in infrastructure code, you should probably pass it into the constructor?
c.f. how the
RunTracker
is constructed
h
I don't think we ever explicitly construct
GlobalOption
in code right now actually
w
Correct: the SubsystemRule machinery does that.
h
so, I have a call that looks like:
addreses = self._scheduler.product_request(Addresses, [specs])
w
But the global options are used all over the place outside the engine and just typed as
Options
h
except this isn't enough to construct
Addresses
with the current rule graph
so I need to get
product_request
to think it has an input of type
GlobalOptions
that also has the correct global option settings on it
w
Those are supposed to be computed from the OptionsBootsrapper, which is no longer a param.