(Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]}) (= scope= flags=0 words=[] bindings=[('dom_distiller_js_path', {[LIT_CHARS third_party/dom_distiller_js]})]) (= scope= flags=0 words=[] bindings=[('dom_distiller_js_package', {[VarSub dom_distiller_js_path] [LIT_CHARS /package]})]) (= scope= flags=0 words=[] bindings=[('readme_chromium', {[VarSub dom_distiller_js_path] [LIT_CHARS /README.chromium]})]) (= scope= flags=0 words=[] bindings=[('tmpdir', {[LIT_CHARS /tmp/domdistiller-] [VarSub $]})]) (= scope= flags=0 words=[] bindings=[('changes', {[VarSub tmpdir] [LIT_CHARS /domdistiller.changes]})]) (= scope= flags=0 words=[] bindings=[('bugs', {[VarSub tmpdir] [LIT_CHARS /domdistiller.bugs]})]) (= scope= flags=0 words=[] bindings=[('curr_gitsha', {[ComSub (Pipeline (Com {[LIT_CHARS grep]} {[SQ ]} {[VarSub readme_chromium]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub tmpdir]}) (Com {[LIT_CHARS mkdir]} {[VarSub tmpdir]}) (Com {[LIT_CHARS pushd]} {[VarSub tmpdir]}) (Com {[LIT_CHARS git]} {[LIT_CHARS clone]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //code.google.com/p/dom-distiller/]} {[LIT_CHARS .]}) (= scope= flags=0 words=[] bindings=[('new_gitsha', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short] [LIT_OTHER "="] [LIT_CHARS 10]} {[LIT_CHARS HEAD]})]})]) (Com {[LIT_CHARS git]} {[LIT_CHARS log]} {[LIT_CHARS --oneline]} {[VarSub curr_gitsha] [LIT_CHARS ..]} < (FilenameRedirectNode filename={[VarSub changes]} "> 1), > ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[LIT_VAR_LIKE "BUG="] =} < (FilenameRedirectNode filename={[VarSub bugs]} "> 1), > ) (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS log]} {[VarSub curr_gitsha] [LIT_CHARS ..]}) (Com {[LIT_CHARS grep]} {[LIT_VAR_LIKE "BUG="] =}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]}) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS sort]}) (Com {[LIT_CHARS uniq]}) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS head]} {[LIT_CHARS --bytes] [LIT_OTHER "="] [LIT_CHARS -1]} < (FilenameRedirectNode filename={[VarSub bugs]} >"> 1), > ) ) (Com {[LIT_CHARS echo]} < (FilenameRedirectNode filename={[VarSub bugs]} >"> 1), > ) (Com {[LIT_CHARS ant]} {[LIT_CHARS package]}) (Com {[LIT_CHARS popd]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub dom_distiller_js_package]}) (Com {[LIT_CHARS mkdir]} {[VarSub dom_distiller_js_package]}) (Com {[LIT_CHARS cp]} {[LIT_CHARS -rf]} {[VarSub tmpdir] [LIT_CHARS /out/package/] [LIT_OTHER "*"]} {[VarSub dom_distiller_js_package]}) (Com {[LIT_CHARS cp]} {[VarSub tmpdir] [LIT_CHARS /LICENSE]} {[VarSub dom_distiller_js_path] [LIT_CHARS /]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[DQ [LIT_CHARS "s/Version: [0-9a-f]*/Version: "][VarSub new_gitsha][LIT_CHARS /]]} {[VarSub readme_chromium]}) (FunctionDef gen_message [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Roll DomDistillerJS"]]}) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Picked up changes:"]]}) (Com {[LIT_CHARS cat]} {[VarSub changes]}) (Com {[LIT_CHARS echo]}) (Com {[LIT_CHARS cat]} {[VarSub bugs]}) ) ) (= scope= flags=0 words=[] bindings=[('message', {[VarSub tmpdir] [LIT_CHARS /message]})]) (Com {[LIT_CHARS gen_message]} < (FilenameRedirectNode filename={[VarSub message]} "> 1), > ) (AndOr OP_OR_IF (Com {[LIT_CHARS tools/checklicenses/checklicenses.py]} {[VarSub dom_distiller_js_path]} < (FilenameRedirectNode filename={[VarSub tmpdir] [LIT_CHARS /checklicenses.out]} "> 1), > ) (Com {[LIT_CHARS cat]} {[VarSub tmpdir] [LIT_CHARS /checklicenses.out]}) ) (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -a]} {[LIT_CHARS -F]} {[VarSub message]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub tmpdir]}) ) )