def run_goal( targets: List[MockTarget], *, show_documented: bool = False, show_provides: bool = False, provides_columns: Optional[str] = None, ) -> Tuple[str, str]: console = MockConsole(use_colors=False) run_rule_with_mocks( list_targets, rule_args=[ Addresses(tgt.address for tgt in targets), create_goal_subsystem( ListSubsystem, sep="\\n", output_file=None, documented=show_documented, provides=show_provides, provides_columns=provides_columns or "address,artifact_id", ), console, ], mock_gets=[ MockGet( product_type=UnexpandedTargets, subject_type=Addresses, mock=lambda _: UnexpandedTargets(targets), ) ], ) return cast(str, console.stdout.getvalue()), cast(str, console.stderr.getvalue())
def run_goal(targets: list[MockTarget], *, show_documented: bool = False) -> tuple[str, str]: with mock_console(create_options_bootstrapper()) as (console, stdio_reader): run_rule_with_mocks( list_targets, rule_args=[ Addresses(tgt.address for tgt in targets), create_goal_subsystem( ListSubsystem, sep="\\n", output_file=None, documented=show_documented, ), console, ], mock_gets=[ MockGet( output_type=UnexpandedTargets, input_type=Addresses, mock=lambda _: UnexpandedTargets(targets), ) ], ) return stdio_reader.get_stdout(), stdio_reader.get_stderr()
async def resolve_unexpanded_targets( addresses: Addresses) -> UnexpandedTargets: wrapped_targets = await MultiGet( Get(WrappedTarget, WrappedTargetRequest(a, description_of_origin="TODO(#14468)")) for a in addresses) return UnexpandedTargets(wrapped_target.target for wrapped_target in wrapped_targets)
async def targets(self, info: Info, query: Optional[TargetsQuery] = None) -> List[Target]: req = GraphQLContext.request_state_from_info(info).product_request specs = (specs_parser.parse_specs( query.specs, convert_dir_literal_to_address_literal=False, description_of_origin="GraphQL targets `query.specs`", ) if query is not None and query.specs else None) if specs: targets = req(UnexpandedTargets, (specs, )) else: targets = UnexpandedTargets(req(AllUnexpandedTargets)) all_data = req(TargetDatas, (targets, )) return [ Target.from_data(data) for data in TargetsQuery.filter(query, all_data) ]
async def resolve_unexpanded_targets( addresses: Addresses) -> UnexpandedTargets: wrapped_targets = await MultiGet( Get(WrappedTarget, Address, a) for a in addresses) return UnexpandedTargets(wrapped_target.target for wrapped_target in wrapped_targets)