ancient-vegetable-10556
12/07/2022, 5:52 PMexperimental_shell_command, and realising that there’s two purposes for dependencies here — there’s the runtime dependencies of your shell command: these rarely need to be consumed by consumers of your command’s `output`s, since they’re consumed and (potentially) transformed by the command into the outputs. The dependencies that may make sense as being included in a transitive walk should only be the depednencies of the output itself, and should therefore just be included as outputs.
I am leaning towards making it so that dependencies of an experimental_shell_command are not included in a transitive dependency resolution, and that any dependencies of an experimental_shell_command that need to be consumed by subsequent steps need to be specified explicitly as an output. Does that make sense? (@curved-television-6568, @bitter-ability-32190)ancient-vegetable-10556
12/07/2022, 5:53 PMbitter-ability-32190
12/07/2022, 5:54 PMbitter-ability-32190
12/07/2022, 5:55 PMancient-vegetable-10556
12/07/2022, 5:55 PMfast-nail-55400
12/07/2022, 5:55 PMancient-vegetable-10556
12/07/2022, 5:55 PMfast-nail-55400
12/07/2022, 5:56 PMancient-vegetable-10556
12/07/2022, 5:56 PMexperimental_shell_command specifically, the notion of transitive dependencies doesn’t really make any sensefast-nail-55400
12/07/2022, 5:56 PMancient-vegetable-10556
12/07/2022, 5:58 PMalmost always is dangerous to me hereIs there a specific concern that wouldn’t be solved by explicitly including exportable dependencies as an output?
ancient-vegetable-10556
12/07/2022, 5:58 PMancient-vegetable-10556
12/07/2022, 6:04 PMbitter-ability-32190
12/07/2022, 6:04 PMfast-nail-55400
12/07/2022, 6:06 PMfast-nail-55400
12/07/2022, 6:06 PMfast-nail-55400
12/07/2022, 6:06 PMancient-vegetable-10556
12/07/2022, 6:07 PMancient-vegetable-10556
12/07/2022, 6:07 PMancient-vegetable-10556
12/07/2022, 6:09 PMhttpx to make the HTTP request.
If you want to consume the bindings as Python sources, the most Pants-like solution would be to export httpx as a dependency of the outputs. httpx, however, is not required by the bindings generator, so it doesn’t need to be requested when assembling the sandbox.
Likewise, the bindings generator is not relevant to subsequent tasks.curved-television-6568
12/07/2022, 6:15 PMancient-vegetable-10556
12/07/2022, 6:16 PMbitter-ability-32190
12/07/2022, 6:45 PMbitter-ability-32190
12/07/2022, 6:46 PMancient-vegetable-10556
12/07/2022, 7:10 PMruntime_dependencies field, and a field to decide how to treat dependenciesbitter-ability-32190
12/07/2022, 7:11 PMspecial_cased_dependenciesbitter-ability-32190
12/07/2022, 7:11 PMancient-vegetable-10556
12/07/2022, 7:12 PMbitter-ability-32190
12/07/2022, 7:14 PMancient-vegetable-10556
12/07/2022, 7:14 PMexperimental feature is reasonably safeancient-vegetable-10556
12/07/2022, 7:14 PMbitter-ability-32190
12/07/2022, 7:47 PMbitter-ability-32190
12/07/2022, 7:47 PMancient-vegetable-10556
12/07/2022, 7:47 PMbitter-ability-32190
12/07/2022, 7:47 PMancient-vegetable-10556
12/07/2022, 8:05 PMbitter-ability-32190
12/07/2022, 8:07 PMbitter-ability-32190
12/07/2022, 8:07 PMancient-vegetable-10556
12/07/2022, 8:07 PMancient-vegetable-10556
12/07/2022, 8:49 PM