(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTO_FILES) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<ls>} {<'src/main/protobuf/'> <Id.Lit_Star '*'> <.proto>} {<'src/main/java/com/google/devtools/build/lib/buildeventstream/proto/'> <Id.Lit_Star '*'> <.proto> } ) ) } spids: [48] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBRARY_JARS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<find>} {<third_party>} {<-name>} {(SQ <'*.jar'>)}) (C {<grep>} {<-Fv>} {<'/javac.jar'>}) (C {<grep>} {<-Fv>} {<'/javac7.jar'>}) (C {<grep>} {<-Fv>} {<JavaBuilder>}) (C {<grep>} {<-ve>} {<'third_party/grpc/grpc.'> <Id.Lit_Star '*'> <jar>}) (C {<tr>} {(DQ <Id.Lit_BadBackslash '\\'> <n>)} {(DQ <' '>)}) ] negated: F ) ) } spids: [61] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GRPC_JAVA_VERSION) op: assign_op.Equal rhs: {<0.15.0>} spids: [121] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GRPC_LIBRARY_JARS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<find>} {<'third_party/grpc'>} {<-name>} {(SQ <'*.jar'>)}) (C {<grep>} {<-e>} {<.> <Id.Lit_Star '*'> (${ Id.VSub_Name GRPC_JAVA_VERSION) <.> <Id.Lit_Star '*'> <jar> } ) (C {<tr>} {(DQ <Id.Lit_BadBackslash '\\'> <n>)} {(DQ <' '>)}) ] negated: F ) ) } spids: [124] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LIBRARY_JARS) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name LIBRARY_JARS) <' '> (${ Id.VSub_Name GRPC_LIBRARY_JARS))} spids: [165] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DIRS) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<echo>} (word.BracedTree parts: [ <'src/'> (word_part.BracedTuple words: [ {<'java_tools/singlejar/java/com/google/devtools/build/zip'>} {<'main/java'>} {<'tools/xcode-common/java/com/google/devtools/build/xcode/'> (word_part.BracedTuple words: [{<common>} {<util>}] ) } ] ) ] ) {<'third_party/java/dd_plist/java'>} {(${ Id.VSub_Name OUTPUT_DIR) <'/src'>} ) ) } spids: [176] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:EXCLUDE_FILES) op: assign_op.Equal rhs: {<'src/main/java/com/google/devtools/build/lib/server/GrpcServerImpl.java'>} spids: [202] ) ] ) (C {<mkdir>} {<-p>} {(${ Id.VSub_Name OUTPUT_DIR) <'/classes'>}) (C {<mkdir>} {<-p>} {(${ Id.VSub_Name OUTPUT_DIR) <'/src'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ZIPOPTS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$ZIPOPTS'))} spids: [228] ) ] ) (C {<unset>} {<JAVA_TOOL_OPTIONS>}) (C {<unset>} {<_JAVA_OPTIONS>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LDFLAGS) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name LDFLAGS> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{(DQ )}) ) } spids: [243] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MSYS_DLLS) op: assign_op.Equal rhs: {(DQ )} spids: [252] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATHSEP) op: assign_op.Equal rhs: {(DQ <':'>)} spids: [256] ) ] ) (command.Case to_match: {(DQ (${ Id.VSub_Name PLATFORM))} arms: [ (case_arm pat_list: [{<linux>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:JAVA_HOME) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name JAVA_HOME> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<readlink>} {<-f>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<javac>}) ) } ) (C {<sed>} {(SQ <'s_/bin/javac__'>)}) ] negated: F ) ) } ) ) ) } spids: [280] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name MACHINE_IS_64BIT))} {<Id.Lit_Equals '='>} {(SQ <yes>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name MACHINE_IS_Z))} {<Id.Lit_Equals '='>} {(SQ <yes>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOC) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <protobuf> <Id.Lit_Slash '/'> <protoc-linux-s390x_64.exe> } ) ) } spids: [352] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GRPC_JAVA_PLUGIN) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name GRPC_JAVA_PLUGIN> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <grpc> <Id.Lit_Slash '/'> <protoc-gen-grpc-java-0.15.0-linux-s390x_64.exe> } ) ) } spids: [364] ) ] ) ] spids: [330 349] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOC) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <protobuf> <Id.Lit_Slash '/'> <protoc-linux-x86_64.exe> } ) ) } spids: [379] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GRPC_JAVA_PLUGIN) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name GRPC_JAVA_PLUGIN> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <grpc> <Id.Lit_Slash '/'> <protoc-gen-grpc-java-0.15.0-linux-x86_64.exe> } ) ) } spids: [391] ) ] ) ] ) ] spids: [308 327] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name MACHINE_IS_ARM))} {<Id.Lit_Equals '='>} {(SQ <yes>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOC) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <protobuf> <Id.Lit_Slash '/'> <protoc-linux-arm32.exe> } ) ) } spids: [431] ) ] ) ] spids: [409 428] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOC) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <protobuf> <Id.Lit_Slash '/'> <protoc-linux-x86_32.exe> } ) ) } spids: [446] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GRPC_JAVA_PLUGIN) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name GRPC_JAVA_PLUGIN> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <grpc> <Id.Lit_Slash '/'> <protoc-gen-grpc-java-0.15.0-linux-x86_32.exe> } ) ) } spids: [458] ) ] ) ] ) ] ) ] spids: [272 273 476 -1] ) (case_arm pat_list: [{<freebsd>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:JAVA_HOME) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name JAVA_HOME> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<Id.Lit_Slash '/'> <usr> <Id.Lit_Slash '/'> <local> <Id.Lit_Slash '/'> <openjdk8> } ) ) ) } spids: [487] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOC) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <protobuf> <Id.Lit_Slash '/'> <protoc-linux-x86_32.exe> } ) ) } spids: [514] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GRPC_JAVA_PLUGIN) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name GRPC_JAVA_PLUGIN> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <grpc> <Id.Lit_Slash '/'> <protoc-gen-grpc-java-0.15.0-linux-x86_32.exe> } ) ) } spids: [526] ) ] ) ] spids: [479 480 538 -1] ) (case_arm pat_list: [{<darwin>}] action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {(DQ ($ Id.VSub_DollarName '$JAVA_HOME'))} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:JAVA_HOME) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [ {<'/usr/libexec/java_home'>} {<-v>} {(${ Id.VSub_Name JAVA_VERSION) <Id.Lit_Other '+'>} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } spids: [561] ) ] ) (C {<fail>} { (DQ <'Could not find JAVA_HOME, please ensure a JDK (version '> (${ Id.VSub_Name JAVA_VERSION) <'+) is installed.'> ) } ) ] ) ] spids: [545 558] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name MACHINE_IS_64BIT))} {<Id.Lit_Equals '='>} {(SQ <yes>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOC) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <protobuf> <Id.Lit_Slash '/'> <protoc-osx-x86_64.exe> } ) ) } spids: [619] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GRPC_JAVA_PLUGIN) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name GRPC_JAVA_PLUGIN> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <grpc> <Id.Lit_Slash '/'> <protoc-gen-grpc-java-0.15.0-osx-x86_64.exe> } ) ) } spids: [631] ) ] ) ] spids: [597 616] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOC) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <protobuf> <Id.Lit_Slash '/'> <protoc-osx-x86_32.exe> } ) ) } spids: [646] ) ] ) ] ) ] spids: [541 542 661 -1] ) (case_arm pat_list: [{<msys> <Id.Lit_Star '*'>} {<mingw> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PLATFORM) op: assign_op.Equal rhs: {(DQ <mingw>)} spids: [676] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATHSEP) op: assign_op.Equal rhs: {(DQ <';'>)} spids: [682] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:JAVA_HOME) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: <Id.VSub_Name JAVA_HOME> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<ls>} {<-d>} {<'/c/Program'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\ '> ) <'Files/Java/jdk'> <Id.Lit_Star '*'> } ) (C {<sort>}) (C {<tail>} {<-n>} {<1>}) ] negated: F ) ) } ) ) ) } spids: [692] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name MACHINE_IS_64BIT))} {<Id.Lit_Equals '='>} {(SQ <yes>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOC) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <protobuf> <Id.Lit_Slash '/'> <protoc-windows-x86_64.exe> } ) ) } spids: [749] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GRPC_JAVA_PLUGIN) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name GRPC_JAVA_PLUGIN> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <grpc> <Id.Lit_Slash '/'> <protoc-gen-grpc-java-0.15.0-windows-x86_64.exe> } ) ) } spids: [761] ) ] ) ] spids: [727 746] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PROTOC) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <protobuf> <Id.Lit_Slash '/'> <protoc-windows-x86_32.exe> } ) ) } spids: [776] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GRPC_JAVA_PLUGIN) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name GRPC_JAVA_PLUGIN> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<third_party> <Id.Lit_Slash '/'> <grpc> <Id.Lit_Slash '/'> <protoc-gen-grpc-java-0.15.0-windows-x86_32.exe> } ) ) } spids: [788] ) ] ) ] ) ] spids: [664 669 -1 802] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_x child: { (DQ (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:(word.Empty)) ) ) } ) ) (C {<fail>} { (DQ <'Protobuf compiler not found in '> (braced_var_sub token: <Id.VSub_Name PROTOC> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:(word.Empty)) ) ) } ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_x child: { (DQ (braced_var_sub token: <Id.VSub_Name GRPC_JAVA_PLUGIN> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:(word.Empty)) ) ) } ) ) (C {<fail>} { (DQ <'gRPC Java plugin not found in '> (braced_var_sub token: <Id.VSub_Name GRPC_JAVA_PLUGIN> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:(word.Empty)) ) ) } ) ] ) (C {<get_java_version>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} { (braced_var_sub token: <Id.VSub_Name JAVA_VERSION> suffix_op: (suffix_op.Unary tok:<Id.VOp1_Pound '#'> arg_word:{<Id.Lit_Other '*'> <.>}) ) } {<-le>} { (braced_var_sub token: <Id.VSub_Name JAVAC_VERSION> suffix_op: (suffix_op.Unary tok:<Id.VOp1_Pound '#'> arg_word:{<Id.Lit_Other '*'> <.>}) ) } {<Id.Lit_RBracket ']'>} ) (C {<fail>} { (DQ <'JDK version ('> (${ Id.VSub_Name JAVAC_VERSION) <') is lower than '> (${ Id.VSub_Name JAVA_VERSION) <', please set '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <JAVA_HOME.> ) } ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:JAR) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name JAVA_HOME) <'/bin/jar'>)} spids: [907] ) ] ) (command.ShFunction name: java_compilation body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'name='> ($ Id.VSub_Number '$1')}) (C {<local>} {<Id.Lit_VarLike 'directories='> ($ Id.VSub_Number '$2')}) (C {<local>} {<Id.Lit_VarLike 'excludes='> ($ Id.VSub_Number '$3')}) (C {<local>} {<Id.Lit_VarLike 'library_jars='> ($ Id.VSub_Number '$4')}) (C {<local>} {<Id.Lit_VarLike 'output='> ($ Id.VSub_Number '$5')}) (C {<local>} {<Id.Lit_VarLike 'classpath='> (braced_var_sub token: <Id.VSub_Name library_jars> suffix_op: (suffix_op.PatSub pat: {<' '>} replace: {($ Id.VSub_DollarName '$PATHSEP')} replace_mode: Id.Lit_Slash ) ) <Id.Lit_Colon ':'> ($ Id.VSub_Number '$5') } ) (C {<local>} {<Id.Lit_VarLike 'sourcepath='> (braced_var_sub token: <Id.VSub_Name directories> suffix_op: (suffix_op.PatSub pat: {<' '>} replace: {($ Id.VSub_DollarName '$PATHSEP')} replace_mode: Id.Lit_Slash ) ) } ) (C {<tempdir>}) (C {<local>} {<Id.Lit_VarLike 'tmp='> (DQ (${ Id.VSub_Name NEW_TMPDIR))}) (C {<local>} {<Id.Lit_VarLike 'paramfile='> (DQ (${ Id.VSub_Name tmp) <'/param'>)}) (C {<local>} {<Id.Lit_VarLike 'filelist='> (DQ (${ Id.VSub_Name tmp) <'/filelist'>)}) (C {<local>} {<Id.Lit_VarLike 'excludefile='> (DQ (${ Id.VSub_Name tmp) <'/excludefile'>)}) (C {<touch>} {($ Id.VSub_DollarName '$paramfile')}) (C {<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name output) <'/classes'>)}) (C {<log>} {(DQ <'Compiling '> ($ Id.VSub_DollarName '$name') <' code...'>)}) (command.Pipeline children: [ (C {<find>} {(${ Id.VSub_Name directories)} {<-name>} {(DQ <'*.java'>)}) (command.Simple words: [{<sort>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$filelist'))} ) ] do_fork: T ) ] negated: F ) (command.Pipeline children: [ (command.Subshell child: (command.ForEach iter_name: i iter_words: [{($ Id.VSub_DollarName '$excludes')}] do_arg_iter: F body: (command.DoGroup children:[(C {<echo>} {($ Id.VSub_DollarName '$i')})]) ) ) (command.Simple words: [{<sort>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$excludefile'))} ) ] do_fork: T ) ] negated: F ) (command.Simple words: [ {<comm>} {<-23>} {(DQ ($ Id.VSub_DollarName '$filelist'))} {(DQ ($ Id.VSub_DollarName '$excludefile'))} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName '$paramfile'))} ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-z>} {(DQ ($ Id.VSub_DollarName '$BAZEL_DEBUG_JAVA_COMPILATION'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {(DQ <'directories='> (${ Id.VSub_Name directories))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'classpath='> (${ Id.VSub_Name classpath))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'sourcepath='> (${ Id.VSub_Name sourcepath))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'libraries='> (${ Id.VSub_Name library_jars))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'output='> (${ Id.VSub_Name output) <'/classes'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'List of compiled files:'>)}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [{<cat>} {(DQ ($ Id.VSub_DollarName '$paramfile'))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [1150 1165] ) ] ) (C {<run>} {(DQ (${ Id.VSub_Name JAVAC))} {<-classpath>} {(DQ (${ Id.VSub_Name classpath))} {<-sourcepath>} {(DQ (${ Id.VSub_Name sourcepath))} {<-d>} {(DQ (${ Id.VSub_Name output) <'/classes'>)} {<-source>} {(DQ ($ Id.VSub_DollarName '$JAVA_VERSION'))} {<-target>} {(DQ ($ Id.VSub_DollarName '$JAVA_VERSION'))} {<-encoding>} {<UTF-8>} {(DQ <'@'> (${ Id.VSub_Name paramfile))} ) (C {<log>} {(DQ <'Extracting helper classes for '> ($ Id.VSub_DollarName '$name') <...>)}) (command.ForEach iter_name: f iter_words: [{(${ Id.VSub_Name library_jars)}] do_arg_iter: F body: (command.DoGroup children: [ (C {<run>} {<unzip>} {<-qn>} {(${ Id.VSub_Name f)} {<-d>} {(DQ (${ Id.VSub_Name output) <'/classes'>)} ) ] ) ) ] ) ) (command.ShFunction name: create_deploy_jar body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'name='> ($ Id.VSub_Number '$1')}) (C {<local>} {<Id.Lit_VarLike 'mainClass='> ($ Id.VSub_Number '$2')}) (C {<local>} {<Id.Lit_VarLike 'output='> ($ Id.VSub_Number '$3')}) (C {<shift>} {<3>}) (C {<local>} {<Id.Lit_VarLike 'packages='> (DQ )}) (command.ForEach iter_name: i iter_words: [{($ Id.VSub_DollarName '$output') <'/classes/'> <Id.Lit_Star '*'>}] do_arg_iter: F body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'package='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<basename>} {($ Id.VSub_DollarName '$i')}) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {(DQ ($ Id.VSub_DollarName '$package'))} right: {(DQ <META-INF>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:packages) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$packages') <' -C '> ($ Id.VSub_DollarName '$output') <'/classes '> ($ Id.VSub_DollarName '$package') ) } spids: [1455] ) ] ) ] spids: [1435 1452] ) ] ) ] ) ) (C {<log>} {(DQ <'Creating '> ($ Id.VSub_DollarName '$name') <.jar...>)}) (command.Simple words: [{<echo>} {(DQ <'Main-Class: '> ($ Id.VSub_DollarName '$mainClass'))}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$output') <'/MANIFEST.MF'>} ) ] do_fork: T ) (C {<run>} {(DQ ($ Id.VSub_DollarName '$JAR'))} {<cmf>} {($ Id.VSub_DollarName '$output') <'/MANIFEST.MF'>} {($ Id.VSub_DollarName '$output') <'/'> ($ Id.VSub_DollarName '$name') <.jar>} {($ Id.VSub_DollarName '$packages')} {(DQ ($ Id.VSub_At '$@'))} ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ (${ Id.VSub_Name BAZEL_SKIP_JAVA_COMPILATION))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<log>} {(DQ <'Compiling Java stubs for protocol buffers...'>)}) (command.ForEach iter_name: f iter_words: [{($ Id.VSub_DollarName '$PROTO_FILES')}] do_arg_iter: F body: (command.DoGroup children: [ (C {<run>} {(DQ (${ Id.VSub_Name PROTOC))} {<'-Isrc/main/protobuf/'>} {<'-Isrc/main/java/com/google/devtools/build/lib/buildeventstream/proto/'>} {<--java_out> <Id.Lit_Equals '='> (${ Id.VSub_Name OUTPUT_DIR) <'/src'>} {<--plugin> <Id.Lit_Equals '='> <protoc-gen-grpc> <Id.Lit_Equals '='> (DQ (braced_var_sub token: <Id.VSub_Name GRPC_JAVA_PLUGIN> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:(word.Empty)) ) ) } {<--grpc_out> <Id.Lit_Equals '='> (${ Id.VSub_Name OUTPUT_DIR) <'/src'>} {(DQ ($ Id.VSub_DollarName '$f'))} ) ] ) ) (C {<java_compilation>} {(DQ <'Bazel Java'>)} {(DQ ($ Id.VSub_DollarName '$DIRS'))} {(DQ ($ Id.VSub_DollarName '$EXCLUDE_FILES'))} {(DQ ($ Id.VSub_DollarName '$LIBRARY_JARS'))} {(DQ (${ Id.VSub_Name OUTPUT_DIR))} ) (command.ForEach iter_name: i iter_words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<find>} {<'src/main/java'>} {<-type>} {<f>} {<-a>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\!'>)} {<-name>} {(SQ <'*.java'>)} {<-a>} {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\!'>)} {<-name>} {(SQ <BUILD>)} ) (C {<sed>} {(SQ <'s|src/main/java/||'>)}) ] negated: F ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {<mkdir>} {<-p>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {(${ Id.VSub_Name OUTPUT_DIR) <'/classes/'> ($ Id.VSub_DollarName '$i')} ) ) } ) (C {<cp>} {<'src/main/java/'> ($ Id.VSub_DollarName '$i')} {(${ Id.VSub_Name OUTPUT_DIR) <'/classes/'> ($ Id.VSub_DollarName '$i')} ) ] ) ) (C {<chmod>} {<u> <Id.Lit_Other '+'> <w>} { (DQ (${ Id.VSub_Name OUTPUT_DIR) <'/classes/com/google/devtools/build/lib/bazel/rules/tools.WORKSPACE'> ) } ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 1760 stdin_parts: [ <'local_repository(name = \'bazel_tools\', path = __workspace_dir__)\n'> <'bind(name = '> <Id.Right_DoubleQuote '"'> <cc_toolchain> <Id.Right_DoubleQuote '"'> <', actual = '> <Id.Right_DoubleQuote '"'> <'@bazel_tools//tools/cpp:default-toolchain'> <Id.Right_DoubleQuote '"'> <')\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name OUTPUT_DIR) <'/classes/com/google/devtools/build/lib/bazel/rules/tools.WORKSPACE'> } ) ] do_fork: T ) (C {<create_deploy_jar>} {(DQ <libblaze>)} {(DQ <com.google.devtools.build.lib.bazel.BazelMain>)} {(${ Id.VSub_Name OUTPUT_DIR)} ) ] spids: [1519 1534] ) ] ) (C {<log>} {(DQ <'Creating Bazel install base...'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ARCHIVE_DIR) op: assign_op.Equal rhs: {(${ Id.VSub_Name OUTPUT_DIR) <'/archive'>} spids: [1788] ) ] ) (C {<mkdir>} {<-p>} {(${ Id.VSub_Name ARCHIVE_DIR) <'/_embedded_binaries'>}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 1826 stdin_parts: [<'#!/bin/sh\n'> <'mkdir -p $2\n'> <'cp $1 $2/MANIFEST\n'>] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name ARCHIVE_DIR) <'/_embedded_binaries/build-runfiles'> (${ Id.VSub_Name EXE_EXT) } ) ] do_fork: T ) (C {<chmod>} {<0755>} {(${ Id.VSub_Name ARCHIVE_DIR) <'/_embedded_binaries/build-runfiles'> (${ Id.VSub_Name EXE_EXT)} ) (C {<log>} {(DQ <'Creating process-wrapper...'>)}) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 1893 stdin_parts: [ <'#!/bin/sh\n'> <'# Dummy process wrapper, does not support timeout\n'> <'shift 2\n'> <'stdout="$1"\n'> <'stderr="$2"\n'> <'shift 2\n'> <'\n'> <'if [ "$stdout" = "-" ]\n'> <'then\n'> <' if [ "$stderr" = "-" ]\n'> <' then\n'> <' "$@"\n'> <' exit $?\n'> <' else\n'> <' "$@" 2>"$stderr"\n'> <' exit $?\n'> <' fi\n'> <'else\n'> <' if [ "$stderr" = "-" ]\n'> <' then\n'> <' "$@" >"$stdout"\n'> <' exit $?\n'> <' else\n'> <' "$@" 2>"$stderr" >"$stdout"\n'> <' exit $?\n'> <' fi\n'> <'fi\n'> <'\n'> <'\n'> <'"$@"\n'> <'exit $?\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name ARCHIVE_DIR) <'/_embedded_binaries/process-wrapper'> (${ Id.VSub_Name EXE_EXT) } ) ] do_fork: T ) (C {<chmod>} {<0755>} {(${ Id.VSub_Name ARCHIVE_DIR) <'/_embedded_binaries/process-wrapper'> (${ Id.VSub_Name EXE_EXT)} ) (C {<cp>} {<'src/main/tools/build_interface_so'>} {(${ Id.VSub_Name ARCHIVE_DIR) <'/_embedded_binaries/build_interface_so'>} ) (C {<cp>} {<'src/main/tools/jdk.BUILD'>} {(${ Id.VSub_Name ARCHIVE_DIR) <'/_embedded_binaries/jdk.BUILD'>} ) (C {<cp>} {($ Id.VSub_DollarName '$OUTPUT_DIR') <'/libblaze.jar'>} {(${ Id.VSub_Name ARCHIVE_DIR)}) (C {<log>} {(DQ <'Compiling xcode-locator...'>)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$PLATFORM')} right: {(DQ <darwin>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<run>} {<'/usr/bin/xcrun'>} {<clang>} {<-fobjc-arc>} {<-framework>} {<CoreServices>} {<-framework>} {<Foundation>} {<-o>} {(${ Id.VSub_Name ARCHIVE_DIR) <'/_embedded_binaries/xcode-locator'>} {<'tools/osx/xcode_locator.m'>} ) ] spids: [1944 1959] ) ] else_action: [ (C {<cp>} {<'tools/osx/xcode_locator_stub.sh'>} {(${ Id.VSub_Name ARCHIVE_DIR) <'/_embedded_binaries/xcode-locator'>} ) ] ) (command.ShFunction name: run_bazel_jar body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'command='> ($ Id.VSub_Number '$1')}) (C {<shift>}) (C {(DQ (${ Id.VSub_Name JAVA_HOME) <'/bin/java'>)} {<-XX> <Id.Lit_Colon ':'> <Id.Lit_Other '+'> <HeapDumpOnOutOfMemoryError>} {<-Xverify> <Id.Lit_Colon ':'> <none>} {<-Dfile.encoding> <Id.Lit_Equals '='> <ISO-8859-1>} {<-XX> <Id.Lit_Colon ':'> <Id.Lit_VarLike 'HeapDumpPath='> (${ Id.VSub_Name OUTPUT_DIR)} {<-Djava.util.logging.config.file> <Id.Lit_Equals '='> (${ Id.VSub_Name OUTPUT_DIR) <'/javalog.properties'> } {<-Dio.bazel.EnableJni> <Id.Lit_Equals '='> <0>} {<-jar>} {(${ Id.VSub_Name ARCHIVE_DIR) <'/libblaze.jar'>} {<--batch>} {<--install_base> <Id.Lit_Equals '='> (${ Id.VSub_Name ARCHIVE_DIR)} {<--output_base> <Id.Lit_Equals '='> (${ Id.VSub_Name OUTPUT_DIR) <'/out'>} {<--install_md5> <Id.Lit_Equals '='>} {<--workspace_directory> <Id.Lit_Equals '='> (${ Id.VSub_Name PWD)} {<--nofatal_event_bus_exceptions>} {(${ Id.VSub_Name BAZEL_DIR_STARTUP_OPTIONS)} { (braced_var_sub token: <Id.VSub_Name BAZEL_BOOTSTRAP_STARTUP_OPTIONS> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{}) ) } {($ Id.VSub_DollarName '$command')} {<--ignore_unsupported_sandboxing>} {<--startup_time> <Id.Lit_Equals '='> <329>} {<--extract_data_time> <Id.Lit_Equals '='> <523>} {<--rc_source> <Id.Lit_Equals '='> <'/dev/null'>} {<--isatty> <Id.Lit_Equals '='> <1>} {<--ignore_client_env>} {<--client_cwd> <Id.Lit_Equals '='> (${ Id.VSub_Name PWD)} {(DQ (${ Id.VSub_At '@'))} ) ] ) ) ] )