(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_ROOT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})] ) left_token: <Left_CommandSub "$("> spids: [64 72] ) (/..) } spids: [63] ) ] spids: [63] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEVICE_PLUGIN_ROOT) op: Equal rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/pkg/kubelet/apis/deviceplugin/v1alpha1/))} spids: [75] ) ] spids: [75] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ERROR) op: Equal rhs: { (DQ ( "Device plugin api is out of date. Please run hack/update-generated-device-plugin.sh" ) ) } spids: [83] ) ] spids: [83] ) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/protoc.sh))}) (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (setup_env)}) (FuncDef name: cleanup body: (BraceGroup children: [(C {(rm)} {(-rf)} {(${ VSub_Name DEVICE_PLUGIN_ROOT) (/_tmp/)})] spids: [111] ) spids: [107 110] ) (C {(trap)} {(cleanup)} {(EXIT)}) (C {(mkdir)} {(-p)} {(${ VSub_Name DEVICE_PLUGIN_ROOT) (/_tmp)}) (C {(cp)} {(${ VSub_Name DEVICE_PLUGIN_ROOT) (/api.pb.go)} {(${ VSub_Name DEVICE_PLUGIN_ROOT) (/_tmp/)} ) (SimpleCommand words: [{(DQ (${ VSub_Name KUBE_ROOT) (/hack/update-generated-device-plugin.sh))}] more_env: [(env_pair name:KUBE_VERBOSE val:{(3)} spids:[155])] ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (protoc) (Lit_Other ":") (Lit_Other ":") (diff)} {(DQ (${ VSub_Name DEVICE_PLUGIN_ROOT) (/api.pb.go))} {(DQ (${ VSub_Name DEVICE_PLUGIN_ROOT) (/_tmp/api.pb.go))} {(${ VSub_Name ERROR)} ) (C {(echo)} {(DQ ("Generated device plugin api is up to date."))}) ] )