(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (= scope= flags=1 words=[] bindings=[('DOCKER_PKG', {[SQ ]})]) (If (AndOr OP_OR_IF (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})]]} {[LIT_NEQUAL "!="]} {[DQ [LIT_CHARS /go/src/][VarSub DOCKER_PKG]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub DOCKER_CROSSPLATFORMS]]} {[LIT_DBRACKET_LIKE "]"]} ) ) (List redirects=[(DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1)] (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "# WARNING! I don't seem to be running in the Docker container."]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "# The result of this command might be an incorrect build, and will not be"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "# officially supported."]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "#"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "# Try this instead: make all"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "#"]]} ) ) ) (Com {[LIT_CHARS echo]} ) (= scope= flags=0 words=[] bindings=[('DEFAULT_BUNDLES', {[Array {OP_NEWLINE "\n"} {[LIT_CHARS validate-dco]} {OP_NEWLINE "\n"} {[LIT_CHARS validate-gofmt]} {OP_NEWLINE "\n"} {[LIT_CHARS binary]} {OP_NEWLINE "\n"} {[LIT_CHARS test-unit]} {OP_NEWLINE "\n"} {[LIT_CHARS test-integration]} {OP_NEWLINE "\n"} {[LIT_CHARS test-integration-cli]} {OP_NEWLINE "\n"} {[LIT_CHARS test-docker-py]} {OP_NEWLINE "\n"} {[LIT_CHARS dynbinary]} {OP_NEWLINE "\n"} {[LIT_CHARS dyntest-unit]} {OP_NEWLINE "\n"} {[LIT_CHARS dyntest-integration]} {OP_NEWLINE "\n"} {[LIT_CHARS cover]} {OP_NEWLINE "\n"} {[LIT_CHARS cross]} {OP_NEWLINE "\n"} {[LIT_CHARS tgz]} {OP_NEWLINE "\n"} {[LIT_CHARS ubuntu]} {OP_NEWLINE "\n"}]})]) (= scope= flags=0 words=[] bindings=[('VERSION', {[ComSub (Com {[LIT_CHARS cat]} {[LIT_CHARS ./VERSION]})]})]) (If (List (Fork (Com {[LIT_CHARS command]} {[LIT_CHARS -v]} {[LIT_CHARS git]} ) ) (Fork (AndOr OP_AND_IF (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} ) ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (List (= scope= flags=0 words=[] bindings=[('GITCOMMIT', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short]} {[LIT_CHARS HEAD]})]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -n]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS status]} {[LIT_CHARS --porcelain]} {[LIT_CHARS --untracked-files] [LIT_DBRACKET_LIKE "="] [LIT_CHARS no]})]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('GITCOMMIT', {[DQ [VarSub GITCOMMIT][LIT_CHARS -dirty]]})]) ) ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub DOCKER_GITCOMMIT]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('GITCOMMIT', {[DQ [VarSub DOCKER_GITCOMMIT]]})]) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub AUTO_GOPATH]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS .gopath]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS .gopath/src/] [DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub DOCKER_PKG]]})]]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -sf]} {[LIT_CHARS ../../../..]} {[LIT_CHARS .gopath/src/] [DQ [VarSub DOCKER_PKG]]} ) (= scope= flags=1 words=[] bindings=[('GOPATH', {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS "/.gopath:"][ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /vendor]]})]) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[DQ [VarSub GOPATH]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub DOCKER_CLIENTONLY]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('DOCKER_BUILDTAGS+', {[DQ [LIT_CHARS " daemon"]]})]) ) (= scope= flags=0 words=[] bindings=[('LDFLAGS', {[SQ ] [VarSub DOCKER_PKG] [SQ ] [VarSub GITCOMMIT] [SQ ] [VarSub DOCKER_PKG] [SQ ] [VarSub VERSION] [SQ ]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub DEBUG]]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('LDFLAGS', {[DQ [LIT_CHARS "-w "][VarSub LDFLAGS]]})]) ) (= scope= flags=0 words=[] bindings=[('LDFLAGS_STATIC', {[SQ ]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [ComSub (Com {[LIT_CHARS go]} {[LIT_CHARS env]} {[LIT_CHARS GOOS]})]]} {[LIT_DBRACKET_LIKE "=="]} {[SQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('LDFLAGS_STATIC', {[SQ ]})]) ) (= scope= flags=0 words=[] bindings=[('EXTLDFLAGS_STATIC', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('ORIG_BUILDFLAGS', {[Array {[LIT_CHARS -a]} {[LIT_CHARS -tags]} {[DQ [LIT_CHARS "netgo static_build "][VarSub DOCKER_BUILDTAGS]]}]})]) (= scope= flags=0 words=[] bindings=[('BUILDFLAGS', {[Array {[VarSub BUILDFLAGS]} {[DQ [VarSub ORIG_BUILDFLAGS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]})]) (Com {[LIT_OTHER ":"]} {[VarSub TIMEOUT test_op=VS_TEST_COLON_EQUALS {[LIT_CHARS 30m]}]} ) (= scope= flags=0 words=[] bindings=[('TESTFLAGS+', {[DQ [LIT_CHARS " -test.timeout="][VarSub TIMEOUT]]})]) (= scope= flags=0 words=[] bindings=[('EXTLDFLAGS_STATIC_DOCKER', {[DQ [VarSub EXTLDFLAGS_STATIC][LIT_CHARS " -lpthread -Wl,--unresolved-symbols=ignore-in-object-files"]]})]) (= scope= flags=0 words=[] bindings=[('LDFLAGS_STATIC_DOCKER', {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t"][VarSub LDFLAGS_STATIC][LIT_CHARS "\n"][LIT_CHARS "\t-X "][VarSub DOCKER_PKG][LIT_CHARS "/dockerversion.IAMSTATIC true\n"][LIT_CHARS "\t-extldflags "][\ LIT_ESCAPED_CHAR "\\\""][VarSub EXTLDFLAGS_STATIC_DOCKER][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "\n"]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]} {[LIT_DBRACKET_LIKE "="]} {[SQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=1 words=[] bindings=[('CC', {[LIT_CHARS clang]})]) (= scope= flags=0 words=[] bindings=[('LDFLAGS', {[DQ [VarSub LDFLAGS][LIT_CHARS " -extld clang"]]})]) ) ) (If (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[LIT_CHARS /usr/include/sqlite3.h]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -e]} {[LIT_CHARS /usr/local/include/sqlite3.h]} {[LIT_DBRACKET_LIKE "]"]} ) ) (List (= scope= flags=1 words=[] bindings=[('CGO_CFLAGS', {[SQ ]})]) (= scope= flags=1 words=[] bindings=[('CGO_LDFLAGS', {[SQ ]})]) ) ) (= scope= flags=0 words=[] bindings=[('HAVE_GO_TEST_COVER', {[SQ ]})]) (If (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS go]} {[LIT_CHARS help]} {[LIT_CHARS testflag]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS --]} {[LIT_CHARS -cover]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (Com {[LIT_CHARS go]} {[LIT_CHARS tool]} {[LIT_CHARS -n]} {[LIT_CHARS cover]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (= scope= flags=0 words=[] bindings=[('HAVE_GO_TEST_COVER', {[LIT_CHARS 1]})]) ) (FunctionDef go_test_dir [] (List (= scope= flags=0 words=[] bindings=[('dir', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('coverpkg', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('testcover', {[Array ]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub HAVE_GO_TEST_COVER]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub DEST][LIT_CHARS /coverprofiles]]} ) (= scope= flags=0 words=[] bindings=[('coverprofile', {[DQ [LIT_CHARS docker][VarSub dir transform_ops=[VS_UNARY_POUND {[LIT_CHARS .]}]]]})]) (= scope= flags=0 words=[] bindings=[('coverprofile', {[DQ [VarSub DEST][LIT_CHARS /coverprofiles/][VarSub coverprofile transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\/"]} {[LIT_CHARS -]} do_all]]]})]) (= scope= flags=0 words=[] bindings=[('testcover', {[Array {[LIT_CHARS -cover]} {[LIT_CHARS -coverprofile]} {[DQ [VarSub coverprofile]]} {[VarSub coverpkg]}]})]) ) ) (Subshell (List (= scope= flags=1 words=[{[LIT_CHARS DEST]}] bindings=[]) (Com {[LIT_CHARS echo]} {[SQ ]} {[VarSub TESTFLAGS]} {[DQ [VarSub DOCKER_PKG][VarSub dir transform_ops=[VS_UNARY_POUND {[LIT_CHARS .]}]]]} ) (Com {[LIT_CHARS cd]} {[DQ [VarSub dir]]} ) (Com {[LIT_CHARS go]} {[LIT_CHARS test]} {[VarSub testcover bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]} {[LIT_CHARS -ldflags]} {[DQ [VarSub LDFLAGS]]} {[DQ [VarSub BUILDFLAGS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[VarSub TESTFLAGS]} ) ) ) ) ) (FunctionDef find_dirs [] (Pipeline (Com {[LIT_CHARS find]} {[LIT_CHARS .]} {[LIT_CHARS -not]} {[\ LIT_ESCAPED_CHAR "\\("]} {[\ LIT_ESCAPED_CHAR "\\("]} {[LIT_CHARS -wholename]} {[SQ ]} {[LIT_CHARS -o]} {[LIT_CHARS -wholename]} {[SQ ]} {[LIT_CHARS -o]} {[LIT_CHARS -wholename]} {[SQ ]} {[LIT_CHARS -o]} {[LIT_CHARS -wholename]} {[SQ ]} {[LIT_CHARS -o]} {[LIT_CHARS -wholename]} {[SQ ]} {[LIT_CHARS -o]} {[LIT_CHARS -wholename]} {[SQ ]} {[LIT_CHARS -o]} {[LIT_CHARS -wholename]} {[SQ ]} {[LIT_CHARS -o]} {[LIT_CHARS -wholename]} {[SQ ]} {[LIT_CHARS -o]} {[LIT_CHARS -wholename]} {[SQ ]} {[\ LIT_ESCAPED_CHAR "\\)"]} {[LIT_CHARS -prune]} {[\ LIT_ESCAPED_CHAR "\\)"]} {[LIT_CHARS -name]} {[DQ [VarSub 1]]} {[LIT_CHARS -print0]} ) (Com {[LIT_CHARS xargs]} {[LIT_CHARS -0n1]} {[LIT_CHARS dirname]} ) (Com {[LIT_CHARS sort]} {[LIT_CHARS -u]} ) ) ) (FunctionDef hash_files [] (While (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('f', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]} ) (= scope= flags=0 words=[] bindings=[('dir', {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub f]]})]]})]) (= scope= flags=0 words=[] bindings=[('base', {[DQ [ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub f]]})]]})]) (For hashAlgo [{[LIT_CHARS md5]}, {[LIT_CHARS sha256]}]) (If (List (Fork (Com {[LIT_CHARS command]} {[LIT_CHARS -v]} {[DQ [VarSub hashAlgo][LIT_CHARS sum]]} ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (Subshell (List (Com {[LIT_CHARS cd]} {[DQ [VarSub dir]]} ) (Com {[DQ [VarSub hashAlgo][LIT_CHARS sum]]} {[DQ [VarSub base]]} < (FilenameRedirectNode filename={[DQ [VarSub base][LIT_CHARS .][VarSub hashAlgo]]} "> 1), > ) ) ) ) ) ) ) ) (FunctionDef bundle [] (List (= scope= flags=0 words=[] bindings=[('bundlescript', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('bundle', {[ComSub (Com {[LIT_CHARS basename]} {[VarSub bundlescript]})]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "---> Making bundle: "][VarSub bundle][LIT_CHARS " (in bundles/"][VarSub VERSION][LIT_CHARS /][VarSub bundle][LIT_CHARS ")"]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS bundles/] [VarSub VERSION] [LIT_CHARS /] [VarSub bundle]} ) (Com {[LIT_CHARS source]} {[DQ [VarSub bundlescript]]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})][LIT_CHARS /bundles/][VarSub VERSION][LIT_CHARS /][VarSub bundle]]} ) ) ) (FunctionDef main [] (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS bundles]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS bundles/][VarSub VERSION]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS bundles/][VarSub VERSION][LIT_CHARS " already exists. Removing."]]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -fr]} {[LIT_CHARS bundles/] [VarSub VERSION]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS mkdir]} {[LIT_CHARS bundles/] [VarSub VERSION]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS echo]} ) ) ) (= scope= flags=0 words=[] bindings=[('SCRIPTDIR', {[DQ [ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})]]})]]}) (Com {[LIT_CHARS pwd]}) )]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub #]} {[LIT_CHARS -lt]} {[LIT_CHARS 1]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('bundles', {[Array {[VarSub DEFAULT_BUNDLES bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]}]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('bundles', {[Array {[VarSub @]}]})]) ) (For bundle [{[VarSub bundles bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]}]) (List (Com {[LIT_CHARS bundle]} {[VarSub SCRIPTDIR] [LIT_CHARS /make/] [VarSub bundle]} ) (Com {[LIT_CHARS echo]} ) ) ) ) ) (Com {[LIT_CHARS main]} {[DQ [VarSub @]]} ) )