in java/io/bazel/rules/closure/worker/PersistentWorker.java [162:187]
private void loadArguments(boolean isWorker) {
try {
String lastArg = Iterables.getLast(arguments, "");
if (lastArg.startsWith("@")) {
Path flagFile = fs.getPath(CharMatcher.is('@').trimLeadingFrom(lastArg));
if ((isWorker && lastArg.startsWith("@@")) || Files.exists(flagFile)) {
arguments.clear();
arguments.addAll(Files.readAllLines(flagFile, UTF_8));
}
} else {
List<String> newArguments = new ArrayList<>();
for (String argument : arguments) {
if (argument.startsWith(FLAGFILE_ARG)) {
newArguments.addAll(
Files.readAllLines(fs.getPath(argument.substring(FLAGFILE_ARG.length())), UTF_8));
}
}
if (!newArguments.isEmpty()) {
arguments.clear();
arguments.addAll(newArguments);
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}