|
14 | 14 | from pants.engine.environment import CompleteEnvironment
|
15 | 15 | from pants.engine.fs import Digest, Workspace
|
16 | 16 | from pants.engine.goal import Goal, GoalSubsystem
|
| 17 | +from pants.engine.internals.native_engine import EMPTY_DIGEST |
17 | 18 | from pants.engine.process import InteractiveProcess, InteractiveProcessResult
|
18 | 19 | from pants.engine.rules import Effect, Get, collect_rules, goal_rule
|
19 | 20 | from pants.engine.target import Targets, TransitiveTargets, TransitiveTargetsRequest
|
@@ -134,20 +135,24 @@ async def run_repl(
|
134 | 135 | )
|
135 | 136 | request = await Get(ReplRequest, ReplImplementation, repl_impl)
|
136 | 137 |
|
137 |
| - workspace.write_digest( |
138 |
| - request.digest, |
139 |
| - path_prefix=PurePath(tmpdir).relative_to(build_root.path).as_posix(), |
140 |
| - # We don't want to influence whether the InteractiveProcess is able to restart. Because |
141 |
| - # we're writing into a temp directory, we can safely mark this side_effecting=False. |
142 |
| - side_effecting=False, |
143 |
| - ) |
| 138 | + input_digest = request.digest |
| 139 | + if request.run_in_workspace: |
| 140 | + workspace.write_digest( |
| 141 | + request.digest, |
| 142 | + path_prefix=PurePath(tmpdir).relative_to(build_root.path).as_posix(), |
| 143 | + # We don't want to influence whether the InteractiveProcess is able to restart. Because |
| 144 | + # we're writing into a temp directory, we can safely mark this side_effecting=False. |
| 145 | + side_effecting=False, |
| 146 | + ) |
| 147 | + input_digest = EMPTY_DIGEST |
| 148 | + |
144 | 149 | env = {**complete_env, **request.extra_env}
|
145 | 150 | result = await Effect(
|
146 | 151 | InteractiveProcessResult,
|
147 | 152 | InteractiveProcess(
|
148 | 153 | argv=request.args,
|
149 | 154 | env=env,
|
150 |
| - input_digest=request.digest, |
| 155 | + input_digest=input_digest, |
151 | 156 | run_in_workspace=request.run_in_workspace,
|
152 | 157 | restartable=repl_subsystem.restartable,
|
153 | 158 | append_only_caches=request.append_only_caches,
|
|
0 commit comments