(command.CommandList children: [ (C {<set>} {<-o>} {<errexit>}) (C {<set>} {<-o>} {<nounset>}) (C {<set>} {<-o>} {<pipefail>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KUBE_ROOT) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {(DQ (${ Id.VSub_Name BASH_SOURCE))}) ) <'/..'> } spids: [63] ) ] ) (C {<source>} {(DQ (${ Id.VSub_Name KUBE_ROOT) <'/hack/lib/init.sh'>)}) (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <golang> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <setup_env> } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:BINS) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {<'vendor/k8s.io/code-generator/cmd/go-to-protobuf'>} {<'vendor/k8s.io/code-generator/cmd/go-to-protobuf/protoc-gen-gogo'>} ] ) } spids: [94] ) ] ) (C {<make>} {<-C>} {(DQ (${ Id.VSub_Name KUBE_ROOT))} {<Id.Lit_VarLike 'WHAT='> (DQ (braced_var_sub token: <Id.VSub_Name BINS> bracket_op: (bracket_op.WholeArray op_id:Id.Arith_Star) ) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalOr left: (bool_expr.Unary op_id: Id.BoolUnary_z child: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<which>} {<protoc>}) ) ) } ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<protoc>} {<--version>}) ) ) } right: {(DQ <'libprotoc 3.'>) <Id.Lit_Other '*'>} ) ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'Generating protobuf requires protoc 3.0.0-beta1 or newer. Please download and'>)} ) (C {<echo>} {(DQ <'install the platform appropriate Protobuf package for your OS: '>)}) (C {<echo>}) (C {<echo>} {(DQ <' https://github.com/google/protobuf/releases'>)}) (C {<echo>}) (C {<echo>} {(DQ <'WARNING: Protobuf changes are not being validated'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [126 160] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:gotoprotobuf) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <util> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <find-binary> } {(DQ <go-to-protobuf>)} ) ) } spids: [204] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PACKAGES) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {<'k8s.io/apiserver/pkg/apis/example/v1'>} {<'k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1'>} {<'k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1'>} {<'k8s.io/api/core/v1'>} {<'k8s.io/api/policy/v1beta1'>} {<'k8s.io/api/extensions/v1beta1'>} {<'k8s.io/api/autoscaling/v1'>} {<'k8s.io/api/authorization/v1'>} {<'k8s.io/api/autoscaling/v2beta1'>} {<'k8s.io/api/authorization/v1beta1'>} {<'k8s.io/api/batch/v1'>} {<'k8s.io/api/batch/v1beta1'>} {<'k8s.io/api/batch/v2alpha1'>} {<'k8s.io/api/apps/v1beta1'>} {<'k8s.io/api/apps/v1beta2'>} {<'k8s.io/api/apps/v1'>} {<'k8s.io/api/authentication/v1'>} {<'k8s.io/api/authentication/v1beta1'>} {<'k8s.io/api/rbac/v1alpha1'>} {<'k8s.io/api/rbac/v1beta1'>} {<'k8s.io/api/certificates/v1beta1'>} {<'k8s.io/api/imagepolicy/v1alpha1'>} {<'k8s.io/api/scheduling/v1alpha1'>} {<'k8s.io/api/settings/v1alpha1'>} {<'k8s.io/api/storage/v1beta1'>} {<'k8s.io/api/storage/v1'>} {<'k8s.io/api/admissionregistration/v1alpha1'>} {<'k8s.io/api/admission/v1alpha1'>} {<'k8s.io/api/networking/v1'>} {<'k8s.io/kubernetes/federation/apis/federation/v1beta1'>} {<'k8s.io/metrics/pkg/apis/metrics/v1alpha1'>} {<'k8s.io/metrics/pkg/apis/metrics/v1beta1'>} {<'k8s.io/metrics/pkg/apis/custom_metrics/v1beta1'>} {<'k8s.io/apiserver/pkg/apis/audit/v1alpha1'>} {<'k8s.io/apiserver/pkg/apis/audit/v1beta1'>} ] ) } spids: [220] ) ] ) (command.Simple words: [ {(DQ (${ Id.VSub_Name gotoprotobuf))} {<--proto-import> <Id.Lit_Equals '='> (DQ (${ Id.VSub_Name KUBE_ROOT) <'/vendor'>)} {<--proto-import> <Id.Lit_Equals '='> (DQ (${ Id.VSub_Name KUBE_ROOT) <'/third_party/protobuf'>) } {<--packages> <Id.Lit_Equals '='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Comma ','>} spids: [389] ) ] ) terminator: <Id.Op_Semi _> ) (C {<echo>} { (DQ (braced_var_sub token: <Id.VSub_Name PACKAGES> bracket_op: (bracket_op.WholeArray op_id:Id.Arith_Star) ) ) } ) ] ) ) } ] more_env: [ (env_pair name: PATH val: {(DQ (${ Id.VSub_Name KUBE_ROOT) <'/_output/bin:'> (${ Id.VSub_Name PATH))} spids: [343] ) ] do_fork: T ) (C {(DQ ($ Id.VSub_At '$@'))}) ] )