(command.CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(cd)} { (DQ (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [(C {(dirname)} {(DQ ($ VSub_Number '$0'))})] ) ) ) } ) (C {(Lit_Other ':')} { (word_part.BracedVarSub token: <VSub_Name VERBOSE> suffix_op: (suffix_op.Unary op_id:VTest_ColonEquals arg_word:{(no)}) ) } ) (C {(source)} {(scripts/bootstrap/buildenv.sh)}) (command.FuncDef name: usage body: (command.BraceGroup children: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_LBracket '[')} {(-n)} { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(compile)}) ) ) } {(Lit_RBracket ']')} ) (command.Simple words: [{(echo)} {(DQ ('Invalid command(s): ') ($ VSub_Number '$1'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) ] ) (command.Simple words: [ {(echo)} { (DQ ('syntax: ') ($ VSub_Number '$0') (' [command[,command]* [BAZEL_BIN [BAZEL_SUM]]]') ) } ] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(DQ (' General purpose commands:'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(DQ (' compile = compile the bazel binary (default)'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(DQ (' Commands for developers:'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(DQ (' all = compile,determinism,test'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(DQ (' determinism = test for stability of Bazel builds'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(DQ (' srcs = test that //:srcs contains all the sources'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.Simple words: [{(echo)} {(DQ (' test = run the full test suite of Bazel'))}] redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ) (command.FuncDef name: parse_options body: (command.BraceGroup children: [ (C {(local)} {(Lit_VarLike 'keywords=') (DQ ('(compile|all|determinism|bootstrap|srcs|test)'))} ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMMANDS) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(compile)}) ) ) } ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {(Lit_Other '^') ($ VSub_DollarName '$keywords') (Lit_Other '(') (Lit_Other ',') ($ VSub_DollarName '$keywords') (Lit_Other ')') (Lit_Other '*') (Lit_Other '$') } ) ) (C {(usage)} {(DQ ($ VSub_At '$@'))}) ] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_COMPILE) op:Equal rhs:(word.Empty))] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_CHECKSUM) op:Equal rhs:(word.Empty))] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_FULL_CHECKSUM) op:Equal rhs:{(1)})] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_TESTS) op:Equal rhs:(word.Empty))] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_SRCS_TEST) op:Equal rhs:(word.Empty))] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {(Lit_Other '(') (compile) (Lit_Other '|') (all) (Lit_Other ')')} ) ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_COMPILE) op:Equal rhs:{(1)})] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {(Lit_Other '(') (bootstrap) (Lit_Other '|') (determinism) (Lit_Other '|') (all) (Lit_Other ')') } ) ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_CHECKSUM) op:Equal rhs:{(1)})] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {(Lit_Other '(') (bootstrap) (Lit_Other ')')} ) ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_FULL_CHECKSUM) op:Equal rhs:(word.Empty))] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {(Lit_Other '(') (srcs) (Lit_Other '|') (all) (Lit_Other ')')} ) ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_SRCS_TEST) op:Equal rhs:{(1)})] ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name COMMANDS))} right: {(Lit_Other '(') (test) (Lit_Other '|') (all) (Lit_Other ')')} ) ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_TESTS) op:Equal rhs:{(1)})] ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BAZEL_BIN) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Number 2> suffix_op: (suffix_op.Unary op_id: VTest_ColonHyphen arg_word: {(DQ (bazel-bin/src/bazel))} ) ) } ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BAZEL_SUM) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Number 3> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(DQ (x))}) ) } ) ] ) ] ) ) (C {(parse_options)} {(DQ (${ VSub_At '@'))}) (C {(mkdir)} {(-p)} {(output)}) (C {(Lit_Other ':')} { (word_part.BracedVarSub token: <VSub_Name BAZEL> suffix_op: (suffix_op.Unary op_id: VTest_ColonEquals arg_word: { (word_part.BracedVarSub token: <VSub_Number 2> suffix_op: (suffix_op.Unary op_id:VTest_Hyphen arg_word:{}) ) } ) ) } ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(KW_Bang '!')} {(-x)} {(DQ (${ VSub_Name BAZEL))} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(display)} { (DQ ($ VSub_DollarName '$INFO') ( ' You can skip this first step by providing a path to the bazel binary as second argument:' ) ) } ) (C {(display)} { (DQ ($ VSub_DollarName '$INFO') (' ') ($ VSub_Number '$0') (' ') (${ VSub_Name COMMANDS) (' /path/to/bazel') ) } ) (C {(new_step)} {(SQ <'Building Bazel from scratch'>)}) (C {(source)} {(scripts/bootstrap/compile.sh)}) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DO_COMPILE) op:Equal rhs:{(1)})] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name EMBED_LABEL> suffix_op: (suffix_op.Unary op_id:VTest_Hyphen arg_word:{(x)}) ) ) } {(Lit_Other '=')} {(DQ (x))} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:git_sha1) op: Equal rhs: { (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children:[(C {(git_sha1)})]) ) } ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EMBED_LABEL) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children:[(C {(get_last_version)})]) ) (' (@') (word_part.BracedVarSub token: <VSub_Name git_sha1> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(non-git)}) ) (')') ) } ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$PLATFORM')} right: {(DQ (darwin))} ) ) (command.Pipeline children: [ (command.Simple words: [{(xcodebuild)} {(-showsdks)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(grep)} {(-q)} {(SQ <'\\-sdk iphonesimulator'>)}) ] negated: F ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:EXTRA_BAZEL_ARGS) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name EXTRA_BAZEL_ARGS> suffix_op: (suffix_op.Unary op_id:VTest_Hyphen arg_word:(word.Empty)) ) (' --define IPHONE_SDK=1') ) } ) ] ) ] ) ] ) (C {(source)} {(scripts/bootstrap/bootstrap.sh)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {($ VSub_DollarName '$DO_COMPILE')} {(Lit_RBracket ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(new_step)} {(SQ <'Building Bazel with Bazel'>)}) (C {(display)} {(DQ (.))}) (C {(log)} {(DQ ('Building output/bazel'))}) (command.AndOr ops: [Op_DPipe] children: [ (C {(bazel_build)} {(DQ ('src:bazel') (${ VSub_Name EXE_EXT))}) (C {(fail)} {(DQ ('Could not build Bazel'))}) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:bazel_bin_path) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children:[(C {(get_bazel_bin_path)})]) ) (/src/bazel) (${ VSub_Name EXE_EXT) ) } ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_LBracket '[')} {(-e)} {(DQ ($ VSub_DollarName '$bazel_bin_path'))} {(Lit_RBracket ']')} ) (C {(fail)} { (DQ ("Could not find freshly built Bazel binary at '") ($ VSub_DollarName '$bazel_bin_path') ("'") ) } ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(cp)} {(-f)} {(DQ ($ VSub_DollarName '$bazel_bin_path'))} {(DQ (output/bazel) (${ VSub_Name EXE_EXT))} ) (C {(fail)} { (DQ ("Could not copy '") ($ VSub_DollarName '$bazel_bin_path') ("' to 'output/bazel") (${ VSub_Name EXE_EXT) ("'") ) } ) ] ) (C {(chmod)} {(0755)} {(DQ (output/bazel) (${ VSub_Name EXE_EXT))}) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BAZEL) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children:[(C {(pwd)})]) ) (/output/bazel) (${ VSub_Name EXE_EXT) ) } ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {($ VSub_DollarName '$DO_CHECKSUM')} {(Lit_RBracket ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(new_step)} {(DQ ('Determinism test'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(KW_Bang '!')} {(-f)} { (word_part.BracedVarSub token: <VSub_Name BAZEL_SUM> suffix_op: (suffix_op.Unary op_id:VTest_ColonHyphen arg_word:{(x)}) ) } {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BAZEL_SUM) op: Equal rhs: {(bazel-out/bazel_checksum)} ) ] ) (C {(log)} {(DQ ('First build'))}) (C {(bootstrap_test)} {(${ VSub_Name BAZEL)} {(${ VSub_Name BAZEL_SUM)}) ] ) ] else_action: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BOOTSTRAP) op: Equal rhs: {(${ VSub_Name BAZEL)} ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(DQ (${ VSub_Name BAZEL_SUM))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (${ VSub_Name OUTPUT_DIR) (/bazel_checksum))} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(cp)} {(${ VSub_Name BAZEL_SUM)} {(${ VSub_Name OUTPUT_DIR) (/bazel_checksum)}) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {($ VSub_DollarName '$DO_FULL_CHECKSUM')} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log)} {(DQ ('Second build'))}) (C {(bootstrap_test)} {(${ VSub_Name BOOTSTRAP)} {(bazel-out/bazel_checksum)}) (C {(log)} {(DQ ('Comparing output'))}) (command.AndOr ops: [Op_DPipe] children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Simple words: [ {(diff)} {(-U)} {(0)} {(${ VSub_Name OUTPUT_DIR) (/bazel_checksum)} {(bazel-out/bazel_checksum)} ] redirects: [ (redir.Redir op: <Redir_GreatAnd '>&'> fd: 16777215 arg_word: {(2)} ) ] ) ] ) ) (C {(fail)} {(DQ ('Differences detected in outputs!'))}) ] ) ] ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {($ VSub_DollarName '$DO_SRCS_TEST')} {(Lit_RBracket ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(new_step)} {(DQ ('Checking that //:srcs contains all the sources'))}) (C {(log)} {(DQ ('Querying //:srcs'))}) (command.Pipeline children: [ (command.Simple words: [{(${ VSub_Name BAZEL)} {(query)} {(SQ <'kind("source file", deps(//:srcs))'>)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(grep)} {(-v)} {(SQ <'^@'>)}) (C {(sed)} {(-e)} {(SQ <'s|^//||'>)}) (C {(sed)} {(SQ <'s|^:||'>)}) (C {(sed)} {(SQ <'s|:|/|'>)}) (command.Simple words: [{(sort)} {(-u)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ (${ VSub_Name OUTPUT_DIR) (/srcs-query))} ) ] ) ] negated: F ) (C {(log)} {(DQ ('Finding all files'))}) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SRCS_EXCLUDES) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name SRCS_EXCLUDES> suffix_op: (suffix_op.Unary op_id: VTest_Hyphen arg_word: {(XXXXXXXXXXXXXX1268778dfsdf4)} ) ) } ) ] ) (command.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'>)}) (command.Simple words: [{(sort)} {(-u)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ (${ VSub_Name OUTPUT_DIR) (/srcs-find))} ) ] ) ] negated: F ) (C {(log)} {(DQ (Diffing))}) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:res) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.AndOr ops: [Op_DPipe] children: [ (command.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)}) ] ) ] ) ) ) } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(-n)} {(DQ (${ VSub_Name res))} {(Lit_RBracket ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(fail)} { (DQ ('//:srcs filegroup do not contains all the sources, missing:\n') (${ VSub_Name res) ) } ) ] ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {($ VSub_DollarName '$DO_TESTS')} {(Lit_RBracket ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(new_step)} {(DQ ('Running tests'))}) (C {(display)} {(DQ (.))}) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ndk_target) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(get_bind_target)} {(//external) (Lit_Other ':') (android_ndk_for_testing)} ) ] ) ) ) } ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:sdk_target) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(get_bind_target)} {(//external) (Lit_Other ':') (android_sdk_for_testing)} ) ] ) ) ) } ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$ndk_target'))} {(Lit_Other '=')} {(DQ ('//:dummy'))} {(-o)} {(DQ ($ VSub_DollarName '$sdk_target'))} {(Lit_Other '=')} {(DQ ('//:dummy'))} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(display)} { (DQ ($ VSub_DollarName '$WARNING') ( ' Android SDK or NDK are not set in the WORKSPACE file. Android tests will not be run.' ) ) } ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_LBracket '[')} {(-n)} {(DQ ($ VSub_DollarName '$JAVAC_VERSION'))} {(Lit_RBracket ']')} ) (C {(get_java_version)}) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalNot child: (bool_expr.Binary op_id: BoolBinary_EqualTilde left: { (DQ (word_part.BracedVarSub token: <VSub_Name BAZEL_TEST_FILTERS> suffix_op: (suffix_op.Unary op_id:VTest_Hyphen arg_word:(word.Empty)) ) ) } right: {(DQ (-jdk8))} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DPipe] children: [ (C {(Lit_LBracket '[')} {(DQ (8))} {(-gt)} { (word_part.BracedVarSub token: <VSub_Name JAVAC_VERSION> suffix_op: (suffix_op.Unary op_id: VOp1_Pound arg_word: {('*.')} ) ) } {(Lit_RBracket ']')} ) (C {(Lit_LBracket '[')} {(DQ (${ VSub_Name JAVA_VERSION))} {(Lit_Other '=')} {(DQ (1.7))} {(Lit_RBracket ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(display)} { (DQ ($ VSub_DollarName '$WARNING') (' Your version of Java is lower than 1.8!') ) } ) (C {(display)} { (DQ ($ VSub_DollarName '$WARNING') (' Deactivating Java 8 tests, please use a JDK 8 to fully') ) } ) (C {(display)} {(DQ ($ VSub_DollarName '$WARNING') (' test Bazel.'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(-n)} { (DQ (word_part.BracedVarSub token: <VSub_Name BAZEL_TEST_FILTERS> suffix_op: (suffix_op.Unary op_id:VTest_Hyphen arg_word:(word.Empty)) ) ) } {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BAZEL_TEST_FILTERS) op: Equal rhs: {(DQ (${ VSub_Name BAZEL_TEST_FILTERS) (',-jdk8'))} ) ] ) ] ) ] else_action: [ (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BAZEL_TEST_FILTERS) op: Equal rhs: {(DQ (-jdk8))} ) ] ) ] ) ] ) ] ) ] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {($ VSub_DollarName '$BAZEL')} {(--bazelrc) (Lit_Other '=') (${ VSub_Name BAZELRC)} {(--nomaster_bazelrc)} {(${ VSub_Name BAZEL_DIR_STARTUP_OPTIONS)} {(test)} {(--test_tag_filters) (Lit_Other '=') (DQ (word_part.BracedVarSub token: <VSub_Name BAZEL_TEST_FILTERS> suffix_op: (suffix_op.Unary op_id:VTest_Hyphen arg_word:(word.Empty)) ) ) } {(--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'))}) ] ) ] ) ] ) (C {(clear_log)}) (C {(display)} {(DQ ('Build successful! Binary is here: ') (${ VSub_Name BAZEL))}) ] )