(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(cd)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number '$0'))})]) left_token: <Left_CommandSub '$('> spids: [70 76] ) ) } ) (C {(Lit_Other ':')} { (BracedVarSub token: <VSub_Name VERBOSE> suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(no)}) spids: [91 95] ) } ) (C {(source)} {(scripts/bootstrap/buildenv.sh)}) (FuncDef name: usage body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(compile)}) spids: [117 121] ) ) } {(Lit_Other ']')} ) (SimpleCommand words: [{(echo)} {(DQ ('Invalid command(s): ') ($ VSub_Number '$1'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[135])] ) ] ) (SimpleCommand words: [ {(echo)} { (DQ ('syntax: ') ($ VSub_Number '$0') (' [command[,command]* [BAZEL_BIN [BAZEL_SUM]]]') ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[147])] ) (SimpleCommand words: [{(echo)} {(DQ (' General purpose commands:'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[157])] ) (SimpleCommand words: [{(echo)} {(DQ (' compile = compile the bazel binary (default)'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[167])] ) (SimpleCommand words: [{(echo)} {(DQ (' Commands for developers:'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[177])] ) (SimpleCommand words: [{(echo)} {(DQ (' all = compile,determinism,test'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[187])] ) (SimpleCommand words: [{(echo)} {(DQ (' determinism = test for stability of Bazel builds'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[197])] ) (SimpleCommand words: [{(echo)} {(DQ (' srcs = test that //:srcs contains all the sources'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[207])] ) (SimpleCommand words: [{(echo)} {(DQ (' test = run the full test suite of Bazel'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[217])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [109] ) spids: [103 108] ) (FuncDef name: parse_options body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:keywords) op: Equal rhs: {(DQ ('(compile|all|determinism|bootstrap|srcs|test)'))} spids: [239] ) ] spids: [237] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMMANDS) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(compile)}) spids: [247 251] ) ) } spids: [245] ) ] spids: [245] ) (AndOr ops: [Op_DPipe] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {(Lit_Other '^') ($ VSub_Name '$keywords') ('(') (Lit_Comma ',') ($ VSub_Name '$keywords') (')') (Lit_Other '*') (Lit_Other '$') } ) ) (C {(usage)} {(DQ ($ VSub_At '$@'))}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DO_COMPILE) op: Equal rhs: {(EmptyPart)} spids: [285] ) ] spids: [285] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DO_CHECKSUM) op: Equal rhs: {(EmptyPart)} spids: [288] ) ] spids: [288] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DO_FULL_CHECKSUM) op: Equal rhs: {(1)} spids: [291] ) ] spids: [291] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DO_TESTS) op: Equal rhs: {(EmptyPart)} spids: [295] ) ] spids: [295] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DO_SRCS_TEST) op: Equal rhs: {(EmptyPart)} spids: [298] ) ] spids: [298] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {('(') (compile) ('|') (all) (')')} ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:DO_COMPILE) op:Equal rhs:{(1)} spids:[321])] spids: [321] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {('(') (bootstrap) ('|') (determinism) ('|') (all) (')')} ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:DO_CHECKSUM) op:Equal rhs:{(1)} spids:[347])] spids: [347] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {('(') (bootstrap) (')')} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DO_FULL_CHECKSUM) op: Equal rhs: {(EmptyPart)} spids: [369] ) ] spids: [369] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {('(') (srcs) ('|') (all) (')')} ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DO_SRCS_TEST) op: Equal rhs: {(1)} spids: [392] ) ] spids: [392] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {('(') (test) ('|') (all) (')')} ) ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:DO_TESTS) op:Equal rhs:{(1)} spids:[416])] spids: [416] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BAZEL_BIN) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(DQ (bazel-bin/src/bazel))} ) spids: [422 428] ) } spids: [421] ) ] spids: [421] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BAZEL_SUM) op: Equal rhs: { (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (x))}) spids: [432 438] ) } spids: [431] ) ] spids: [431] ) ] spids: [234] ) spids: [228 233] ) (C {(parse_options)} {(DQ (${ VSub_At '@'))}) (C {(mkdir)} {(-p)} {(output)}) (C {(Lit_Other ':')} { (BracedVarSub token: <VSub_Name BAZEL> suffix_op: (StringUnary op_id: VTest_ColonEquals arg_word: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [463 466] ) } ) spids: [460 467] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-x)} {(DQ (${ VSub_Name BAZEL))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(display)} { (DQ ($ VSub_Name '$INFO') ( ' You can skip this first step by providing a path to the bazel binary as second argument:' ) ) } ) (C {(display)} { (DQ ($ VSub_Name '$INFO') (' ') ($ VSub_Number '$0') (' ') (${ VSub_Name COMMANDS) (' /path/to/bazel') ) } ) (C {(new_step)} {(SQ <'Building Bazel from scratch'>)}) (C {(source)} {(scripts/bootstrap/compile.sh)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:DO_COMPILE) op:Equal rhs:{(1)} spids:[537])] spids: [537] ) ] spids: [16777215 496] ) ] spids: [16777215 540] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name EMBED_LABEL> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(x)}) spids: [557 561] ) ) } {(Lit_Other '=')} {(DQ (x))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:git_sha1) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(git_sha1)})]) left_token: <Left_CommandSub '$('> spids: [581 583] ) } spids: [580] ) ] spids: [580] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EMBED_LABEL) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(get_last_version)})]) left_token: <Left_CommandSub '$('> spids: [588 590] ) (' (@') (BracedVarSub token: <VSub_Name git_sha1> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(non-git)}) spids: [592 596] ) (')') ) } spids: [586] ) ] spids: [586] ) ] spids: [16777215 573] ) ] spids: [16777215 600] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$PLATFORM')} right: {(DQ (darwin))} ) ) (Pipeline children: [ (SimpleCommand words: [{(xcodebuild)} {(-showsdks)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [625] ) ] ) (C {(grep)} {(-q)} {(SQ <'\\-sdk iphonesimulator'>)}) ] negated: F ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRA_BAZEL_ARGS) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name EXTRA_BAZEL_ARGS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)}) spids: [645 648] ) (' --define IPHONE_SDK=1') ) } spids: [643] ) ] spids: [643] ) ] spids: [16777215 640] ) ] spids: [16777215 652] ) (C {(source)} {(scripts/bootstrap/bootstrap.sh)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$DO_COMPILE')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(new_step)} {(SQ <'Building Bazel with Bazel'>)}) (C {(display)} {(DQ (.))}) (C {(log)} {(DQ ('Building output/bazel'))}) (AndOr ops: [Op_DPipe] children: [ (C {(bazel_build)} {(DQ ('src:bazel') (${ VSub_Name EXE_EXT))}) (C {(fail)} {(DQ ('Could not build Bazel'))}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:bazel_bin_path) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(get_bazel_bin_path)})]) left_token: <Left_CommandSub '$('> spids: [714 716] ) (/src/bazel) (${ VSub_Name EXE_EXT) ) } spids: [712] ) ] spids: [712] ) (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Name '$bazel_bin_path'))} {(Lit_Other ']')}) (C {(fail)} { (DQ ("Could not find freshly built Bazel binary at '") ($ VSub_Name '$bazel_bin_path') ("'") ) } ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(cp)} {(-f)} {(DQ ($ VSub_Name '$bazel_bin_path'))} {(DQ (output/bazel) (${ VSub_Name EXE_EXT))} ) (C {(fail)} { (DQ ("Could not copy '") ($ VSub_Name '$bazel_bin_path') ("' to 'output/bazel") (${ VSub_Name EXE_EXT) ("'") ) } ) ] ) (C {(chmod)} {(0755)} {(DQ (output/bazel) (${ VSub_Name EXE_EXT))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BAZEL) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub '$('> spids: [793 795] ) (/output/bazel) (${ VSub_Name EXE_EXT) ) } spids: [791] ) ] spids: [791] ) ] spids: [16777215 668] ) ] spids: [16777215 802] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$DO_CHECKSUM')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(new_step)} {(DQ ('Determinism test'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} { (BracedVarSub token: <VSub_Name BAZEL_SUM> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(x)}) spids: [844 848] ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BAZEL_SUM) op: Equal rhs: {(bazel-out/bazel_checksum)} spids: [856] ) ] spids: [856] ) (C {(log)} {(DQ ('First build'))}) (C {(bootstrap_test)} {(${ VSub_Name BAZEL)} {(${ VSub_Name BAZEL_SUM)}) ] spids: [16777215 853] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BOOTSTRAP) op: Equal rhs: {(${ VSub_Name BAZEL)} spids: [881] ) ] spids: [881] ) ] spids: [878 887] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (${ VSub_Name BAZEL_SUM))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (${ VSub_Name OUTPUT_DIR) (/bazel_checksum))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(cp)} {(${ VSub_Name BAZEL_SUM)} {(${ VSub_Name OUTPUT_DIR) (/bazel_checksum)}) ] spids: [16777215 913] ) ] spids: [16777215 928] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$DO_FULL_CHECKSUM')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(log)} {(DQ ('Second build'))}) (C {(bootstrap_test)} {(${ VSub_Name BOOTSTRAP)} {(bazel-out/bazel_checksum)}) (C {(log)} {(DQ ('Comparing output'))}) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (SimpleCommand words: [ {(diff)} {(-U)} {(0)} {(${ VSub_Name OUTPUT_DIR) (/bazel_checksum)} {(bazel-out/bazel_checksum)} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [980] ) ] ) spids: [966 982] ) (C {(fail)} {(DQ ('Differences detected in outputs!'))}) ] ) ] spids: [16777215 940] ) ] spids: [16777215 995] ) ] spids: [16777215 826] ) ] spids: [16777215 997] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$DO_SRCS_TEST')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(new_step)} {(DQ ('Checking that //:srcs contains all the sources'))}) (C {(log)} {(DQ ('Querying //:srcs'))}) (Pipeline children: [ (SimpleCommand words: [{(${ VSub_Name BAZEL)} {(query)} {(SQ <'kind("source file", deps(//:srcs))'>)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[1045])] ) (C {(grep)} {(-v)} {(SQ <'^@'>)}) (C {(sed)} {(-e)} {(SQ <'s|^//||'>)}) (C {(sed)} {(SQ <'s|^:||'>)}) (C {(sed)} {(SQ <'s|:|/|'>)}) (SimpleCommand words: [{(sort)} {(-u)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name OUTPUT_DIR) (/srcs-query))} spids: [1096] ) ] ) ] negated: F ) (C {(log)} {(DQ ('Finding all files'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SRCS_EXCLUDES) op: Equal rhs: { (BracedVarSub token: <VSub_Name SRCS_EXCLUDES> suffix_op: (StringUnary op_id: VTest_Hyphen arg_word: {(XXXXXXXXXXXXXX1268778dfsdf4)} ) spids: [1122 1126] ) } spids: [1121] ) ] spids: [1121] ) (Pipeline children: [ (C {(find)} {(.)} {(-type)} {(f)}) (C {(sed)} {(SQ <'s|./||'>)}) (C {(grep)} {(-v)} {(SQ <'^bazel-'>)}) (C {(grep)} {(-v)} {(SQ <'^WORKSPACE.user.bzl'>)}) (C {(grep)} {(-v)} {(SQ <'^\\.'>)}) (C {(grep)} {(-v)} {(SQ <'^out/'>)}) (C {(grep)} {(-v)} {(SQ <'^output/'>)}) (C {(grep)} {(-Ev)} {(DQ (${ VSub_Name SRCS_EXCLUDES))}) (C {(grep)} {(-v)} {(SQ <'^tools/defaults/BUILD'>)}) (SimpleCommand words: [{(sort)} {(-u)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name OUTPUT_DIR) (/srcs-find))} spids: [1241] ) ] ) ] negated: F ) (C {(log)} {(DQ (Diffing))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:res) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (C {(diff)} {(-U)} {(0)} {(DQ (${ VSub_Name OUTPUT_DIR) (/srcs-find))} {(DQ (${ VSub_Name OUTPUT_DIR) (/srcs-query))} ) (C {(sed)} {(SQ <'s|^-||'>)}) (C {(grep)} {(-Ev)} {(SQ <'^(@@|\\+\\+|--)'>)}) ] negated: F ) (C {(true)}) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [1260 1302] ) ) } spids: [1258] ) ] spids: [1258] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name res))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(fail)} { (DQ ('//:srcs filegroup do not contains all the sources, missing:\n') (${ VSub_Name res) ) } ) ] spids: [16777215 1322] ) ] spids: [16777215 1335] ) ] spids: [16777215 1018] ) ] spids: [16777215 1337] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$DO_TESTS')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(new_step)} {(DQ ('Running tests'))}) (C {(display)} {(DQ (.))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ndk_target) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_bind_target)} {(//external) (Lit_Other ':') (android_ndk_for_testing)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1378 1384] ) ) } spids: [1376] ) ] spids: [1376] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sdk_target) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(get_bind_target)} {(//external) (Lit_Other ':') (android_sdk_for_testing)} ) ] ) left_token: <Left_CommandSub '$('> spids: [1390 1396] ) ) } spids: [1388] ) ] spids: [1388] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$ndk_target'))} {(Lit_Other '=')} {(DQ ('//:dummy'))} {(-o)} {(DQ ($ VSub_Name '$sdk_target'))} {(Lit_Other '=')} {(DQ ('//:dummy'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(display)} { (DQ ($ VSub_Name '$WARNING') ( ' Android SDK or NDK are not set in the WORKSPACE file. Android tests will not be run.' ) ) } ) ] spids: [16777215 1429] ) ] spids: [16777215 1440] ) (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$JAVAC_VERSION'))} {(Lit_Other ']')}) (C {(get_java_version)}) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolBinary op_id: BoolBinary_EqualTilde left: { (DQ (BracedVarSub token: <VSub_Name BAZEL_TEST_FILTERS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)}) spids: [1466 1469] ) ) } right: {(DQ (-jdk8))} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} {(DQ (8))} {(-gt)} { (BracedVarSub token: <VSub_Name JAVAC_VERSION> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('*.')}) spids: [1494 1498] ) } {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ (${ VSub_Name JAVA_VERSION))} {(Lit_Other '=')} {(DQ (1.7))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(display)} { (DQ ($ VSub_Name '$WARNING') (' Your version of Java is lower than 1.8!') ) } ) (C {(display)} { (DQ ($ VSub_Name '$WARNING') (' Deactivating Java 8 tests, please use a JDK 8 to fully') ) } ) (C {(display)} {(DQ ($ VSub_Name '$WARNING') (' test Bazel.'))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Name BAZEL_TEST_FILTERS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)}) spids: [1555 1558] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BAZEL_TEST_FILTERS) op: Equal rhs: {(DQ (${ VSub_Name BAZEL_TEST_FILTERS) (',-jdk8'))} spids: [1567] ) ] spids: [1567] ) ] spids: [16777215 1564] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BAZEL_TEST_FILTERS) op: Equal rhs: {(DQ (-jdk8))} spids: [1579] ) ] spids: [1579] ) ] spids: [1576 1585] ) ] spids: [16777215 1521] ) ] spids: [16777215 1588] ) ] spids: [16777215 1481] ) ] spids: [16777215 1591] ) (AndOr ops: [Op_DPipe] children: [ (C {($ VSub_Name '$BAZEL')} {(--bazelrc) (Lit_Other '=') (${ VSub_Name BAZELRC)} {(--nomaster_bazelrc)} {(${ VSub_Name BAZEL_DIR_STARTUP_OPTIONS)} {(test)} {(--test_tag_filters) (Lit_Other '=') (DQ (BracedVarSub token: <VSub_Name BAZEL_TEST_FILTERS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)}) spids: [1619 1622] ) ) } {(--build_tests_only)} {(--nolegacy_bazel_java_test)} {(--define)} {(Lit_VarLike 'JAVA_VERSION=') (${ VSub_Name JAVA_VERSION)} {(${ VSub_Name EXTRA_BAZEL_ARGS)} {(-k)} {(--test_output) (Lit_Other '=') (errors)} {(//src/...)} {(//third_party/ijar/...)} {(//scripts/...)} ) (C {(fail)} {(DQ ('Tests failed'))}) ] ) ] spids: [16777215 1358] ) ] spids: [16777215 1672] ) (C {(clear_log)}) (C {(display)} {(DQ ('Build successful! Binary is here: ') (${ VSub_Name BAZEL))}) ] )