예제 #1
0
 def run_pylint(
     self,
     targets: List[TargetWithOrigin],
     *,
     config: Optional[str] = None,
     passthrough_args: Optional[str] = None,
     skip: bool = False,
     additional_args: Optional[List[str]] = None,
 ) -> LintResult:
     args = ["--backend-packages2=pants.backend.python.lint.pylint"]
     if config:
         self.create_file(relpath="pylintrc", contents=config)
         args.append("--pylint-config=pylintrc")
     if passthrough_args:
         args.append(f"--pylint-args='{passthrough_args}'")
     if skip:
         args.append(f"--pylint-skip")
     if additional_args:
         args.extend(additional_args)
     return self.request_single_product(
         LintResult,
         Params(
             PylintFieldSets(PylintFieldSet.create(tgt) for tgt in targets),
             create_options_bootstrapper(args=args),
         ),
     )
예제 #2
0
 def run_pylint(
     self,
     targets: List[Target],
     *,
     config: Optional[str] = None,
     passthrough_args: Optional[str] = None,
     skip: bool = False,
     additional_args: Optional[List[str]] = None,
 ) -> Sequence[LintResult]:
     args = list(self.global_args)
     if config:
         self.create_file(relpath="pylintrc", contents=config)
         args.append("--pylint-config=pylintrc")
     if passthrough_args:
         args.append(f"--pylint-args='{passthrough_args}'")
     if skip:
         args.append("--pylint-skip")
     if additional_args:
         args.extend(additional_args)
     results = self.request_single_product(
         LintResults,
         Params(
             PylintRequest(PylintFieldSet.create(tgt) for tgt in targets),
             create_options_bootstrapper(args=args),
         ),
     )
     return results.results
예제 #3
0
def run_pylint(
    rule_runner: RuleRunner,
    targets: List[Target],
    *,
    config: Optional[str] = None,
    passthrough_args: Optional[str] = None,
    skip: bool = False,
    additional_args: Optional[List[str]] = None,
) -> Sequence[LintResult]:
    args = list(GLOBAL_ARGS)
    if config:
        rule_runner.create_file(relpath="pylintrc", contents=config)
        args.append("--pylint-config=pylintrc")
    if passthrough_args:
        args.append(f"--pylint-args='{passthrough_args}'")
    if skip:
        args.append("--pylint-skip")
    if additional_args:
        args.extend(additional_args)
    rule_runner.set_options(args, env_inherit={"PATH", "PYENV_ROOT", "HOME"})
    results = rule_runner.request(
        LintResults,
        [PylintRequest(PylintFieldSet.create(tgt) for tgt in targets)],
    )
    return results.results
예제 #4
0
def run_pylint(
    rule_runner: RuleRunner,
    targets: list[Target],
    *,
    extra_args: list[str] | None = None,
) -> tuple[LintResult, ...]:
    rule_runner.set_options(
        [
            "--backend-packages=pants.backend.python.lint.pylint",
            "--source-root-patterns=['src/python', 'tests/python']",
            *(extra_args or ()),
        ],
        env_inherit={"PATH", "PYENV_ROOT", "HOME"},
    )
    results = rule_runner.request(
        LintResults,
        [PylintRequest(PylintFieldSet.create(tgt) for tgt in targets)],
    )
    return results.results