Skip to content

Commit

Permalink
I don't have macOS but a WAG will do.
Browse files Browse the repository at this point in the history
# Rust tests and lints will be skipped. Delete if not intended.
[ci skip-rust]

# Building wheels and fs_util will be skipped. Delete if not intended.
[ci skip-build-wheels]
  • Loading branch information
jsirois committed Feb 17, 2021
1 parent 9d02f99 commit e217ec9
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 7 deletions.
18 changes: 12 additions & 6 deletions src/python/pants/backend/python/lint/black/rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
PexRequirements,
VenvPex,
VenvPexProcess,
VenvPexRequest,
)
from pants.core.goals.fmt import FmtResult
from pants.core.goals.lint import LintRequest, LintResult, LintResults
Expand Down Expand Up @@ -94,14 +95,18 @@ async def setup_black(
else PexInterpreterConstraints(black.interpreter_constraints)
)

black_script = "black"
black_pex_request = Get(
VenvPex,
PexRequest(
output_filename="black.pex",
internal_only=True,
requirements=PexRequirements(black.all_requirements),
interpreter_constraints=tool_interpreter_constraints,
entry_point=black.entry_point,
VenvPexRequest(
bin_names=[black_script],
pex_request=PexRequest(
output_filename="black.pex",
internal_only=True,
requirements=PexRequirements(black.all_requirements),
interpreter_constraints=tool_interpreter_constraints,
entry_point=black.entry_point,
),
),
)

Expand Down Expand Up @@ -134,6 +139,7 @@ async def setup_black(
Process,
VenvPexProcess(
black_pex,
script=black_pex.bin[black_script],
argv=generate_args(
source_files=source_files, black=black, check_only=setup_request.check_only
),
Expand Down
5 changes: 4 additions & 1 deletion src/python/pants/backend/python/util_rules/pex.py
Original file line number Diff line number Diff line change
Expand Up @@ -927,6 +927,7 @@ class VenvPexProcess:
argv: Tuple[str, ...]
description: str = dataclasses.field(compare=False)
level: LogLevel
script: Optional[Script]
input_digest: Optional[Digest]
extra_env: Optional[FrozenDict[str, str]]
output_files: Optional[Tuple[str, ...]]
Expand All @@ -942,6 +943,7 @@ def __init__(
description: str,
argv: Iterable[str] = (),
level: LogLevel = LogLevel.INFO,
script: Optional[Script] = None,
input_digest: Optional[Digest] = None,
extra_env: Optional[Mapping[str, str]] = None,
output_files: Optional[Iterable[str]] = None,
Expand All @@ -954,6 +956,7 @@ def __init__(
self.argv = tuple(argv)
self.description = description
self.level = level
self.script = script
self.input_digest = input_digest
self.extra_env = FrozenDict(extra_env) if extra_env else None
self.output_files = tuple(output_files) if output_files else None
Expand All @@ -966,7 +969,7 @@ def __init__(
@rule
async def setup_venv_pex_process(request: VenvPexProcess) -> Process:
venv_pex = request.venv_pex
argv = (venv_pex.pex.argv0, *request.argv)
argv = (request.script.argv0 if request.script else venv_pex.pex.argv0, *request.argv)
input_digest = (
await Get(Digest, MergeDigests((venv_pex.digest, request.input_digest)))
if request.input_digest
Expand Down

0 comments on commit e217ec9

Please sign in to comment.