Clarify how startup options are conveyed between the client and the server.
--
MOS_MIGRATED_REVID=137266505
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
index 9d040bd..5037ee6 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
@@ -632,8 +632,13 @@
}
/**
- * Splits given arguments into two lists - arguments matching options defined in this class
- * and everything else, while preserving order in each list.
+ * Splits given options into two lists - arguments matching options defined in this class and
+ * everything else, while preserving order in each list.
+ *
+ * <p>Note that this method relies on the startup options always being in the
+ * <code>--flag=ARG</code> form (instead of <code>--flag ARG</code>). This is enforced by
+ * <code>GetArgumentArray()</code> in <code>blaze.cc</code> by reconstructing the startup
+ * options from their parsed versions instead of using <code>argv</code> verbatim.
*/
static CommandLineOptions splitStartupOptions(
Iterable<BlazeModule> modules, String... args) {