Skip to content

Commit 6a7fc77

Browse files
Remove InterpreterOptions plugin configuration option
The documentation for the `InterpreterOptions` plugin configuration option is ambiguous - it implies the options within are used by Python while the .pex is being built (e.g. while compiling bytecode), but actually they're embedded in the .pex and used at run time. Now they aren't used at all: this functionality is instead provided by `RuntimeInterpreterArgs`. Remove `InterpreterOptions`, since it is obsolete. Also tidy up some of the variable names in the Python build defs to make it explicit that the arguments in `RuntimeInterpreterArgs` are in fact passed to Python at run time.
1 parent 989f654 commit 6a7fc77

File tree

2 files changed

+8
-14
lines changed

2 files changed

+8
-14
lines changed

.plzconfig

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,6 @@ DefaultValue = python3
5353
Inherit = true
5454
Help = The default Python interpreter to use when building .pex files.
5555

56-
[PluginConfig "interpreter_options"]
57-
ConfigKey = InterpreterOptions
58-
Optional = true
59-
Repeatable = true
60-
Help = A list of additional arguments to pass to the Python interpreter when building .pex files.
61-
6256
[PluginConfig "default_runtime_interpreters"]
6357
ConfigKey = DefaultRuntimeInterpreters
6458
Optional = true

build_defs/python.build_defs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -153,13 +153,13 @@ def python_binary(name:str, main:str, srcs:list=[], resources:list=[], out:str=N
153153
test_only=test_only,
154154
)
155155

156-
interpreter_opts, interpreter_deps = _runtime_interpreter(interpreter, runtime_interpreters, runtime_interpreter_args)
156+
runtime_args, runtime_targets = _runtime_interpreter(interpreter, runtime_interpreters, runtime_interpreter_args)
157157
zipsafe_flag = '' if zip_safe is False else '--zip_safe'
158158
cmd = '$TOOLS_PEX --preamble_verbosity="%s" -m "%s" %s %s' % (
159159
CONFIG.PYTHON.DEFAULT_PREAMBLE_VERBOSITY,
160160
module_dir,
161161
zipsafe_flag,
162-
interpreter_opts,
162+
runtime_args,
163163
)
164164

165165
# If content hashing feature flag is enabled, we use the hash of the built
@@ -191,7 +191,7 @@ def python_binary(name:str, main:str, srcs:list=[], resources:list=[], out:str=N
191191
output_is_complete=True,
192192
tools={
193193
'interpreter': [interpreter],
194-
'runtime_interpreters': interpreter_deps,
194+
'runtime_interpreters': runtime_targets,
195195
'pex': [CONFIG.PYTHON.PEX_TOOL],
196196
},
197197
test_only=test_only,
@@ -207,7 +207,7 @@ def python_binary(name:str, main:str, srcs:list=[], resources:list=[], out:str=N
207207
return build_rule(
208208
name=name,
209209
srcs=[pex_rule],
210-
runtime_deps=interpreter_deps,
210+
runtime_deps=runtime_targets,
211211
deps=[lib_rule],
212212
outs=[out or (name + '.pex')],
213213
data=data,
@@ -291,12 +291,12 @@ def python_test(name:str, srcs:list, data:list|dict=[], resources:list=[], deps:
291291
`unittest`, `pytest`, or a custom test runner entry point.
292292
"""
293293
test_runner = test_runner or CONFIG.PYTHON.TEST_RUNNER
294-
interpreter_opts, interpreter_deps = _runtime_interpreter(interpreter, runtime_interpreters, runtime_interpreter_args)
294+
runtime_args, runtime_targets = _runtime_interpreter(interpreter, runtime_interpreters, runtime_interpreter_args)
295295
cmd = '$TOOLS_PEX --preamble_verbosity="%s" -t -m "%s" -r "%s" --zip_safe --add_test_runner_deps %s --stamp="$RULE_HASH"' % (
296296
CONFIG.PYTHON.DEFAULT_PREAMBLE_VERBOSITY,
297297
module_dir,
298298
test_runner,
299-
interpreter_opts,
299+
runtime_args,
300300
)
301301
if site:
302302
cmd += ' -S'
@@ -331,7 +331,7 @@ def python_test(name:str, srcs:list, data:list|dict=[], resources:list=[], deps:
331331
deps=deps,
332332
tools={
333333
'interpreter': [interpreter],
334-
'runtime_interpreters': interpreter_deps,
334+
'runtime_interpreters': runtime_targets,
335335
'pex': [CONFIG.PYTHON.PEX_TOOL],
336336
},
337337
labels = labels,
@@ -375,7 +375,7 @@ def python_test(name:str, srcs:list, data:list|dict=[], resources:list=[], deps:
375375
return build_rule(
376376
name=name,
377377
srcs=[pex_rule],
378-
runtime_deps=interpreter_deps,
378+
runtime_deps=runtime_targets,
379379
deps=deps,
380380
data=data,
381381
outs=[f'{name}.pex'],

0 commit comments

Comments
 (0)