From a4d93cac636e908459e05f1778cafb9a1567f8ed Mon Sep 17 00:00:00 2001 From: jcater Date: Mon, 2 Dec 2019 07:30:47 -0800 Subject: [PATCH] Add Starlark flags to BEP output. PiperOrigin-RevId: 283336349 --- .../build/lib/runtime/CommandLineEvent.java | 18 +++++- .../java/com/google/devtools/build/lib/BUILD | 1 + .../StarlarkOptionCommandLineEventTest.java | 64 +++++++++++++++++++ .../integration/build_event_stream_test.sh | 28 +++++++- 4 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 src/test/java/com/google/devtools/build/lib/runtime/StarlarkOptionCommandLineEventTest.java diff --git a/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java b/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java index 97a6e924e758ed..bd1fbb8326bfca 100644 --- a/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java +++ b/src/main/java/com/google/devtools/build/lib/runtime/CommandLineEvent.java @@ -145,6 +145,17 @@ private Option createOption( return option.build(); } + Option createStarlarkOption(String starlarkFlag, @Nullable Object value) { + String combinedForm = String.format("--%s=%s", starlarkFlag, value); + Option.Builder option = Option.newBuilder(); + option.setCombinedForm(combinedForm); + option.setOptionName(starlarkFlag); + if (value != null) { + option.setOptionValue(String.valueOf(value)); + } + return option.build(); + } + /** * Returns the startup option section of the command line for the startup options as the server * received them at its startup. Since not all client options get passed to the server as @@ -251,11 +262,16 @@ private CommandLineSection getExplicitCommandOptions() { parsedOptionDescription.getPriority().getPriorityCategory() == OptionPriority.PriorityCategory.COMMAND_LINE) .collect(Collectors.toList()); + List