jolly-midnight-72759
10/08/2020, 7:50 PM@goal_rule to have more than one alias? For instance have pants launch_jupyter and pants lj do the same thing?hundreds-breakfast-49010
10/08/2020, 8:00 PMname class property of the class specified as subsystem_cls on the type that the goal_rule returnshundreds-breakfast-49010
10/08/2020, 8:00 PMjolly-midnight-72759
10/08/2020, 8:04 PMhundreds-father-404
10/08/2020, 9:49 PM@rule, and have both `@goal_rule`s call it by putting JupyterSetup in the signature of both your `@goal_rule`s
But the factoring would be limited. Your helper @rule can’t request certain types like InteractiveRunner, which are banned from anything but a @goal_rule.
(This is why repl.py and run.py are implemented the way they are; the downstream rules provide the setups, and then the @goal_rule does the actual side effect)hundreds-breakfast-49010
10/08/2020, 9:51 PMname is nowhundreds-breakfast-49010
10/08/2020, 9:52 PMname of a goal is on the GoalSubsystem subclass rather than the Goal subclass - the latter seems a bit more naturalhundreds-father-404
10/08/2020, 9:52 PMpantsbuild/pants tries hard to minimize the # of goals because it is bad from a UX perspective.
But perhaps All Power To Users if they decide the aliases are worth it for their orghundreds-father-404
10/08/2020, 9:53 PMI also wonder why the name of a goal is on the GoalSubsystem subclassThe
GoalSubsystem is the external interface to your goal, e.g. any options and its name