def run_isort( rule_runner: RuleRunner, targets: list[Target], *, extra_args: list[str] | None = None, ) -> tuple[tuple[LintResult, ...], FmtResult]: rule_runner.set_options( ["--backend-packages=pants.backend.python.lint.isort", *(extra_args or ())], env_inherit={"PATH", "PYENV_ROOT", "HOME"}, ) field_sets = [IsortFieldSet.create(tgt) for tgt in targets] lint_results = rule_runner.request(LintResults, [IsortRequest(field_sets)]) input_sources = rule_runner.request( SourceFiles, [ SourceFilesRequest(field_set.sources for field_set in field_sets), ], ) fmt_result = rule_runner.request( FmtResult, [ IsortRequest(field_sets, prior_formatter_result=input_sources.snapshot), ], ) return lint_results.results, fmt_result
def run_isort( rule_runner: RuleRunner, targets: List[Target], *, config: Optional[str] = None, passthrough_args: Optional[str] = None, skip: bool = False, ) -> Tuple[Sequence[LintResult], FmtResult]: args = ["--backend-packages=pants.backend.python.lint.isort"] if config is not None: rule_runner.create_file(relpath=".isort.cfg", contents=config) args.append("--isort-config=.isort.cfg") if passthrough_args: args.append(f"--isort-args='{passthrough_args}'") if skip: args.append("--isort-skip") rule_runner.set_options(args) field_sets = [IsortFieldSet.create(tgt) for tgt in targets] lint_results = rule_runner.request(LintResults, [IsortRequest(field_sets)]) input_sources = rule_runner.request( SourceFiles, [ SourceFilesRequest(field_set.sources for field_set in field_sets), ], ) fmt_result = rule_runner.request( FmtResult, [ IsortRequest(field_sets, prior_formatter_result=input_sources.snapshot), ], ) return lint_results.results, fmt_result
def run_isort( self, targets: List[TargetWithOrigin], *, config: Optional[str] = None, passthrough_args: Optional[str] = None, skip: bool = False, ) -> Tuple[LintResults, FmtResult]: args = ["--backend-packages2=pants.backend.python.lint.isort"] if config is not None: self.create_file(relpath=".isort.cfg", contents=config) args.append("--isort-config=.isort.cfg") if passthrough_args: args.append(f"--isort-args='{passthrough_args}'") if skip: args.append("--isort-skip") options_bootstrapper = create_options_bootstrapper(args=args) field_sets = [IsortFieldSet.create(tgt) for tgt in targets] lint_results = self.request_single_product( LintResults, Params(IsortRequest(field_sets), options_bootstrapper)) input_sources = self.request_single_product( SourceFiles, Params( AllSourceFilesRequest(field_set.sources for field_set in field_sets), options_bootstrapper, ), ) fmt_result = self.request_single_product( FmtResult, Params( IsortRequest(field_sets, prior_formatter_result=input_sources.snapshot), options_bootstrapper, ), ) return lint_results, fmt_result