(List (Com {[LIT_OTHER ":"]} {[VarSub BAZELRC test_op=VS_TEST_COLON_EQUALS {[DQ [LIT_CHARS /dev/null]]}]}) (Com {[LIT_OTHER ":"]} {[VarSub EMBED_LABEL test_op=VS_TEST_COLON_EQUALS {[DQ ]}]}) (= scope= flags=0 words=[] bindings=[('EMBED_LABEL_ARG', {[Array ]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub EMBED_LABEL]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('EMBED_LABEL_ARG', {[Array {[LIT_CHARS --stamp]} {[LIT_CHARS --embed_label]} {[DQ [VarSub EMBED_LABEL]]}]})]) ) (Com {[LIT_OTHER ":"]} {[VarSub JAVA_VERSION test_op=VS_TEST_COLON_EQUALS {[DQ [LIT_CHARS 1.8]]}]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub JAVA_VERSION]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS 1.7]]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER ":"]} {[VarSub BAZEL_ARGS test_op=VS_TEST_COLON_EQUALS {[LIT_CHARS "--java_toolchain="] [LIT_SLASH /] [LIT_SLASH /] [LIT_CHARS src] [LIT_SLASH /] [LIT_CHARS java_tools] [LIT_SLASH /] [LIT_CHARS "buildjar:bootstrap_toolchain_jdk7 "] [LIT_CHARS " --host_java_toolchain="] [LIT_SLASH /] [LIT_SLASH /] [LIT_CHARS src] [LIT_SLASH /] [LIT_CHARS java_tools] [LIT_SLASH /] [LIT_CHARS "buildjar:bootstrap_toolchain_jdk7 "] [LIT_CHARS " --define JAVA_VERSION=1.7 --ignore_unsupported_sandboxing "] [LIT_CHARS " --compilation_mode=opt "] [LIT_CHARS " "] [DQ [VarSub EXTRA_BAZEL_ARGS test_op=VS_TEST_COLON_HYPHEN {}]]}]}) (ElseTrue) (Com {[LIT_OTHER ":"]} {[VarSub BAZEL_ARGS test_op=VS_TEST_COLON_EQUALS {[LIT_CHARS "--java_toolchain="] [LIT_SLASH /] [LIT_SLASH /] [LIT_CHARS src] [LIT_SLASH /] [LIT_CHARS java_tools] [LIT_SLASH /] [LIT_CHARS "buildjar:bootstrap_toolchain "] [LIT_CHARS " --host_java_toolchain="] [LIT_SLASH /] [LIT_SLASH /] [LIT_CHARS src] [LIT_SLASH /] [LIT_CHARS java_tools] [LIT_SLASH /] [LIT_CHARS "buildjar:bootstrap_toolchain "] [LIT_CHARS " --strategy=Javac=worker --worker_quit_after_build --ignore_unsupported_sandboxing "] [LIT_CHARS " --compilation_mode=opt "] [LIT_CHARS " "] [DQ [VarSub EXTRA_BAZEL_ARGS test_op=VS_TEST_COLON_HYPHEN {}]]}]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub BAZEL test_op=VS_TEST_HYPHEN {}]]} {[LIT_OTHER "]"]}) (FunctionDef run_bootstrapping_bazel [] (List (= scope= flags=0 words=[] bindings=[('command', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS run_bazel_jar]} {[VarSub command]} {[VarSub BAZEL_ARGS test_op=VS_TEST_HYPHEN {}]} {[LIT_CHARS --verbose_failures]} {[LIT_CHARS --javacopt] [LIT_OTHER "="] [DQ [LIT_CHARS "-g -source "][VarSub JAVA_VERSION][LIT_CHARS " -target "][VarSub JAVA_VERSION]]} {[DQ [VarSub @]]}) ) ) (ElseTrue) (FunctionDef run_bootstrapping_bazel [] (List (= scope= flags=0 words=[] bindings=[('command', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (Com {[VarSub BAZEL]} {[LIT_CHARS --bazelrc] [LIT_OTHER "="] [VarSub BAZELRC]} {[VarSub BAZEL_DIR_STARTUP_OPTIONS]} {[VarSub command]} {[VarSub BAZEL_ARGS test_op=VS_TEST_HYPHEN {}]} {[LIT_CHARS --verbose_failures]} {[LIT_CHARS --javacopt] [LIT_OTHER "="] [DQ [LIT_CHARS "-g -source "][VarSub JAVA_VERSION][LIT_CHARS " -target "][VarSub JAVA_VERSION]]} {[DQ [VarSub @]]}) ) ) ) (FunctionDef bazel_build [] (Com {[LIT_CHARS run_bootstrapping_bazel]} {[LIT_CHARS build]} {[DQ [VarSub EMBED_LABEL_ARG bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[DQ [VarSub @]]}) ) (FunctionDef get_bazel_bin_path [] (AndOr OP_OR_IF (Com {[LIT_CHARS run_bootstrapping_bazel]} {[LIT_CHARS info]} {[DQ [LIT_CHARS bazel-bin]]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS bazel-bin]]}) ) ) (FunctionDef md5_outputs [] (List (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub BAZEL_TEST_XTRACE test_op=VS_TEST_COLON_HYPHEN {}]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS set]} {[LIT_OTHER "+"] [LIT_CHARS x]}) ) (For i [{[ComSub (Com {[LIT_CHARS find]} {[LIT_CHARS bazel-bin/]} {[LIT_CHARS -type]} {[LIT_CHARS f]} {[LIT_CHARS -a]} {[\ LIT_ESCAPED_CHAR "\\!"]} {[LIT_CHARS -name]} {[LIT_CHARS MANIFEST]} {[LIT_CHARS -a]} {[\ LIT_ESCAPED_CHAR "\\!"]} {[LIT_CHARS -name]} {[SQ ]} {[LIT_CHARS -a]} {[\ LIT_ESCAPED_CHAR "\\!"]} {[LIT_CHARS -name]} {[SQ ]})]}]) (Com {[LIT_CHARS md5_file]} {[VarSub i]}) ) (For i [{[ComSub (Com {[LIT_CHARS find]} {[LIT_CHARS bazel-genfiles/]} {[LIT_CHARS -type]} {[LIT_CHARS f]})]}]) (Com {[LIT_CHARS md5_file]} {[VarSub i]}) ) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub BAZEL_TEST_XTRACE test_op=VS_TEST_COLON_HYPHEN {}]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS set]} {[LIT_CHARS -x]}) ) ) ) (FunctionDef get_outputs_sum [] (Pipeline (Com {[LIT_CHARS md5_outputs]}) (Com {[LIT_CHARS sort]} {[LIT_CHARS -k]} {[LIT_CHARS 2]}) ) ) (FunctionDef bootstrap_test [] (List (= scope= flags=0 words=[] bindings=[('BAZEL_BIN', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('BAZEL_SUM', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('BAZEL_TARGET', {[VarSub 3 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS "src:bazel"]}]})]) (= scope= flags=0 words=[] bindings=[('STRATEGY', {[DQ [LIT_CHARS "--strategy=Javac=worker --worker_quit_after_build"]]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub JAVA_VERSION]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS 1.7]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('STRATEGY', {[SQ ]})]) ) (AndOr OP_OR_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -x]} {[DQ [VarSub BAZEL_BIN]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "syntax: bootstrap bazel-binary"]]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS run]} {[VarSub BAZEL_BIN]} {[LIT_CHARS --nomaster_bazelrc]} {[LIT_CHARS --bazelrc] [LIT_OTHER "="] [VarSub BAZELRC]} {[VarSub BAZEL_DIR_STARTUP_OPTIONS]} {[LIT_CHARS clean]} {[LIT_CHARS --expunge]}) (Com {[LIT_CHARS return]} {[VarSub ?]}) ) (AndOr OP_OR_IF (Com {[LIT_CHARS run]} {[VarSub BAZEL_BIN]} {[LIT_CHARS --nomaster_bazelrc]} {[LIT_CHARS --bazelrc] [LIT_OTHER "="] [VarSub BAZELRC]} {[VarSub BAZEL_DIR_STARTUP_OPTIONS]} {[LIT_CHARS build]} {[VarSub EXTRA_BAZEL_ARGS test_op=VS_TEST_HYPHEN {}]} {[VarSub STRATEGY]} {[LIT_CHARS --fetch]} {[LIT_CHARS --nostamp]} {[LIT_CHARS --define]} {[DQ [LIT_CHARS "JAVA_VERSION="][VarSub JAVA_VERSION]]} {[LIT_CHARS --javacopt] [LIT_OTHER "="] [DQ [LIT_CHARS "-g -source "][VarSub JAVA_VERSION][LIT_CHARS " -target "][VarSub JAVA_VERSION]]} {[VarSub BAZEL_TARGET]}) (Com {[LIT_CHARS return]} {[VarSub ?]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub BAZEL_SUM]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS cat]} {[LIT_CHARS bazel-genfiles/src/java.version]} < (FilenameRedirectNode filename={[VarSub BAZEL_SUM]} "> 1), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS get_outputs_sum]} < (FilenameRedirectNode filename={[VarSub BAZEL_SUM]} >"> 1), > ) (Com {[LIT_CHARS return]} {[VarSub ?]}) ) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub BOOTSTRAP test_op=VS_TEST_COLON_HYPHEN {}]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS tempdir]}) (= scope= flags=0 words=[] bindings=[('BOOTSTRAP', {[VarSub NEW_TMPDIR] [LIT_CHARS /bazel]})]) (= scope= flags=0 words=[] bindings=[('FILE', {[LIT_CHARS bazel-bin/] [VarSub BAZEL_TARGET transform_ops=[VS_UNARY_DPOUND {[LIT_SLASH /] [LIT_SLASH /]}]]})]) (Com {[LIT_CHARS cp]} {[LIT_CHARS -f]} {[VarSub FILE transform_ops=[PatSub {[LIT_CHARS ":"]} {[\ LIT_ESCAPED_CHAR "\\/"]}]]} {[VarSub BOOTSTRAP]}) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[VarSub BOOTSTRAP]}) ) ) ) ) )