(command.CommandList children: [ (command.FuncDef name: on_travis body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TRAVIS'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(DQ ($ VSub_At '$@'))})] ) ] ) ] ) ) (command.FuncDef name: internal_build_cpp body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(src/protoc)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(command.ControlFlow token:<ControlFlow_Return return>)] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(uname)} {(-s)})] ) left_token: <Left_DollarParen '$('> ) } right: {(DQ (Linux))} ) right: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$TRAVIS'))} right: {(DQ (true))} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(sudo)} {(add-apt-repository)} {(ppa) (Lit_Other ':') (ubuntu-toolchain-r/test)} {(-y)} ) (C {(sudo)} {(apt-get)} {(update)} {(-qq)}) (C {(sudo)} {(apt-get)} {(install)} {(-qq)} {(g) (Lit_Other '+') (Lit_Other '+') (-4.8)} ) (C {(export)} {(Lit_VarLike 'CXX=') (DQ ('g++-4.8'))} {(Lit_VarLike 'CC=') (DQ (gcc-4.8))} ) ] ) ] ) (C {(./autogen.sh)}) (C {(./configure)} {(Lit_VarLike 'CXXFLAGS=') (DQ (-fPIC))}) (C {(make)} {(-j2)}) ] ) ) (command.FuncDef name: build_cpp body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (C {(make)} {(check)} {(-j2)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [(C {(cd)} {(conformance)}) (C {(make)} {(test_cpp)}) (C {(cd)} {(..)})] ) (C {(git)} {(submodule)} {(init)}) (C {(git)} {(submodule)} {(update)}) (command.AndOr ops: [Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(cd)} {(third_party/benchmark)}) (C {(cmake)} {(-DCMAKE_BUILD_TYPE) (Lit_Other '=') (Release)}) (C {(make)}) (C {(cd)} {(../..)}) ] ) (command.AndOr ops: [Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(cd)} {(benchmarks)}) (C {(make)}) (C {(./generate-datasets)}) (C {(cd)} {(..)}) ] ) ] ) ) (command.FuncDef name: build_cpp_distcheck body: (command.BraceGroup children: [ (C {(./autogen.sh)}) (C {(./configure)}) (C {(make)} {(dist)}) (command.Pipeline children: [ (C {(git)} {(ls-files)}) (C {(grep)} { (DQ ('^') (Lit_Other '\\') ('(java') (Lit_Other '\\') ('|python') (Lit_Other '\\') ('|objectivec') (Lit_Other '\\') ('|csharp') (Lit_Other '\\') ('|js') (Lit_Other '\\') ('|ruby') (Lit_Other '\\') ('|cmake') (Lit_Other '\\') ('|examples') (Lit_Other '\\') (')') ) } ) (C {(grep)} {(-v)} {(DQ (.gitignore))}) (command.SimpleCommand words: [{(grep)} {(-v)} {(DQ (java/compatibility_tests))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(dist.lst)})] ) ] negated: F ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DIST) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(ls)} {(Lit_Other '*') (.tar.gz)})] ) left_token: <Left_Backtick '`'> ) } ) ] ) (C {(tar)} {(-xf)} {($ VSub_DollarName '$DIST')}) (C {(cd)} { (word_part.BracedVarSub token: <VSub_Name DIST> suffix_op: (suffix_op.PatSub pat:{(.tar.gz)} replace_mode:Lit_Slash) ) } ) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:FILES_MISSING) op:Equal rhs:{(DQ )})] ) (command.ForEach iter_name: FILE iter_words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(../dist.lst)} ) ] ) ] ) left_token: <Left_DollarParen '$('> ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (command.SimpleCommand words: [{(file)} {($ VSub_DollarName '$FILE')}] redirects: [ (redir.Redir op: <Redir_AndGreat '&>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ($ VSub_DollarName '$FILE') (' is not found!'))}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:FILES_MISSING) op: Equal rhs: { (DQ ($ VSub_DollarName '$FILE') (' ') ($ VSub_DollarName '$FILES_MISSING') ) } ) ] ) ] ) ] ) ] ) ) (C {(cd)} {(..)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_DollarName '$FILES_MISSING'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Missing files in EXTRA_DIST: ') ($ VSub_DollarName '$FILES_MISSING'))} ) (command.ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) ] ) (C {(make)} {(distcheck)} {(-j2)}) ] ) ) (command.FuncDef name: build_csharp body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:NUGET) op: Equal rhs: {(/usr/local/bin/nuget.exe)} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TRAVIS'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(sudo)} {(apt-key)} {(adv)} {(--keyserver)} {(keyserver.ubuntu.com)} {(--recv-keys)} {(3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF)} ) (C {(sudo)} {(apt-key)} {(adv)} {(--keyserver)} {(keyserver.ubuntu.com)} {(--recv-keys)} {(1397BC53640DB551)} ) (command.Pipeline children: [ (C {(echo)} {(DQ ('deb http://download.mono-project.com/repo/debian wheezy main'))} ) (C {(sudo)} {(tee)} {(/etc/apt/sources.list.d/mono-xamarin.list)}) ] negated: F ) (C {(sudo)} {(apt-get)} {(update)} {(-qq)}) (C {(sudo)} {(apt-get)} {(install)} {(-qq)} {(mono-devel)} {(referenceassemblies-pcl)} {(nunit)} ) (C {(sudo)} {(sh)} {(-c)} { (SQ < 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list' > ) } ) (C {(sudo)} {(apt-key)} {(adv)} {(--keyserver)} {(apt-mo.trafficmanager.net)} {(--recv-keys)} {(417A0893)} ) (C {(sudo)} {(apt-get)} {(update)} {(-qq)}) (C {(sudo)} {(apt-get)} {(install)} {(-qq)} {(dotnet-dev-1.0.0-preview2-003121)}) ] ) ] ) (C {(mkdir)} {(dotnettmp)}) (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(cd)} {(dotnettmp)}) terminator: <Op_Semi ';'> ) (command.SimpleCommand words: [{(dotnet)} {(new)}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})] ) ] ) ) (C {(rm)} {(-rf)} {(dotnettmp)}) (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(cd)} {(csharp/src)}) terminator: <Op_Semi ';'> ) (C {(dotnet)} {(restore)}) ] ) ) (C {(csharp/buildall.sh)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [(C {(cd)} {(conformance)}) (C {(make)} {(test_csharp)}) (C {(cd)} {(..)})] ) ] ) ) (command.FuncDef name: build_golang body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (C {(export)} {(Lit_VarLike 'PATH=') (DQ (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> ) ('/src:') ($ VSub_DollarName '$PATH') ) } ) (C {(on_travis)} {(sudo)} {(apt-get)} {(update)} {(-qq)}) (C {(on_travis)} {(sudo)} {(apt-get)} {(install)} {(-qq)} {(golang)}) (C {(export)} {(Lit_VarLike 'GOPATH=') (DQ ($ VSub_DollarName '$HOME') (/gocode))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$GOPATH') (/src/github.com/google))}) (C {(rm)} {(-f)} {(DQ ($ VSub_DollarName '$GOPATH') (/src/github.com/google/protobuf))}) (C {(ln)} {(-s)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> ) ) } {(DQ ($ VSub_DollarName '$GOPATH') (/src/github.com/google/protobuf))} ) (C {(export)} {(Lit_VarLike 'PATH=') (DQ ($ VSub_DollarName '$GOPATH') ('/bin:') ($ VSub_DollarName '$PATH')) } ) (C {(go)} {(get)} {(github.com/golang/protobuf/protoc-gen-go)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [(C {(cd)} {(examples)}) (C {(make)} {(gotest)}) (C {(cd)} {(..)})] ) ] ) ) (command.FuncDef name: use_java body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:version) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.Case to_match: {(DQ ($ VSub_DollarName '$version'))} arms: [ (case_arm pat_list: [{(jdk7)}] action: [ (C {(on_travis)} {(sudo)} {(apt-get)} {(install)} {(openjdk-7-jdk)}) (C {(export)} {(Lit_VarLike 'PATH=') (/usr/lib/jvm/java-7-openjdk-amd64/bin) (Lit_Other ':') ($ VSub_DollarName '$PATH') } ) (C {(export)} {(Lit_VarLike 'JAVA_HOME=') (/usr/lib/jvm/java-7-openjdk-amd64)}) ] ) (case_arm pat_list: [{(oracle7)}] action: [ (command.Sentence child: (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TRAVIS'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(sudo)} {(apt-get)} {(install)} {(python-software-properties)}) (command.Pipeline children: [ (C {(echo)} { (DQ ( 'oracle-java7-installer shared/accepted-oracle-license-v1-1 select true' ) ) } ) (C {(sudo)} {(debconf-set-selections)}) ] negated: F ) (command.Pipeline children: [ (C {(yes)}) (C {(sudo)} {(apt-add-repository)} {(ppa) (Lit_Other ':') (webupd8team/java)} ) ] negated: F ) (command.Pipeline children: [ (C {(yes)}) (C {(sudo)} {(apt-get)} {(install)} {(oracle-java7-installer)}) ] negated: F ) ] ) ] ) terminator: <Op_Semi ';'> ) (C {(export)} {(Lit_VarLike 'PATH=') (/usr/lib/jvm/java-7-oracle/bin) (Lit_Other ':') ($ VSub_DollarName '$PATH') } ) (C {(export)} {(Lit_VarLike 'JAVA_HOME=') (/usr/lib/jvm/java-7-openjdk-amd64)}) ] ) ] ) (command.Sentence child: (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TRAVIS'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MAVEN_LOCAL_REPOSITORY) op: Equal rhs: {(/var/maven_local_repository)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MVN) op: Equal rhs: { (DQ ($ VSub_DollarName '$MVN') (' -e -X --offline -Dmaven.repo.local=') ($ VSub_DollarName '$MAVEN_LOCAL_REPOSITORY') ) } ) ] ) ] ) ] ) terminator: <Op_Semi ';'> ) (C {(which)} {(java)}) (C {(java)} {(-version)}) (C {($ VSub_DollarName '$MVN')} {(-version)}) ] ) ) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:MVN) op:Equal rhs:{(DQ ('mvn --batch-mode'))})] ) (command.FuncDef name: build_java body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:version) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:dir) op: Equal rhs: {(java_) ($ VSub_DollarName '$version')} ) ] ) (C {(internal_build_cpp)}) (C {(cp)} {(-r)} {(java)} {($ VSub_DollarName '$dir')}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(cd)} {($ VSub_DollarName '$dir')}) (C {($ VSub_DollarName '$MVN')} {(clean)}) (C {($ VSub_DollarName '$MVN')} {(test)}) ] ) (C {(cd)} {(../..)}) ] ) ) (command.FuncDef name: build_java_with_conformance_tests body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(cd)} {(java)}) (C {($ VSub_DollarName '$MVN')} {(test)}) (C {($ VSub_DollarName '$MVN')} {(install)}) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(cd)} {(util)}) (C {($ VSub_DollarName '$MVN')} {(package)} {(assembly) (Lit_Other ':') (single)}) ] ) (C {(cd)} {(../..)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [(C {(cd)} {(conformance)}) (C {(make)} {(test_java)}) (C {(cd)} {(..)})] ) ] ) ) (command.FuncDef name: build_javanano body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(cd)} {(javanano)}) (C {($ VSub_DollarName '$MVN')} {(test)}) (C {(cd)} {(..)}) ] ) ] ) ) (command.FuncDef name: build_java_jdk7 body: (command.BraceGroup children: [(C {(use_java)} {(jdk7)}) (C {(build_java_with_conformance_tests)})] ) ) (command.FuncDef name: build_java_oracle7 body: (command.BraceGroup children: [(C {(use_java)} {(oracle7)}) (C {(build_java)} {(oracle7)})] ) ) (command.FuncDef name: build_java_compatibility body: (command.BraceGroup children: [ (C {(use_java)} {(jdk7)}) (C {(internal_build_cpp)}) (C {(cd)} {(java/compatibility_tests/v2.5.0)}) (C {(./test.sh)} {(3.0.0-beta-4)}) ] ) ) (command.FuncDef name: build_javanano_jdk7 body: (command.BraceGroup children:[(C {(use_java)} {(jdk7)}) (C {(build_javanano)})]) ) (command.FuncDef name: build_javanano_oracle7 body: (command.BraceGroup children:[(C {(use_java)} {(oracle7)}) (C {(build_javanano)})]) ) (command.FuncDef name: internal_install_python_deps body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$TRAVIS'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Sentence child: (command.ControlFlow token:<ControlFlow_Return return>) terminator: <Op_Semi ';'> ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(uname)} {(-s)})]) left_token: <Left_DollarParen '$('> ) } {(Lit_Other '=') (Lit_Other '=')} {(DQ (Darwin))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(sudo)} {(easy_install)} {(tox)})] ) ] else_action: [(C {(sudo)} {(pip)} {(install)} {(tox)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(uname)} {(-s)})]) left_token: <Left_DollarParen '$('> ) } {(Lit_Other '=') (Lit_Other '=')} {(DQ (Linux))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(sudo)} {(apt-get)} {(install)} {(-y)} {(python-software-properties)}) (C {(sudo)} {(apt-add-repository)} {(-y)} {(ppa) (Lit_Other ':') (fkrull/deadsnakes)}) (C {(sudo)} {(apt-get)} {(update)} {(-qq)}) (C {(sudo)} {(apt-get)} {(install)} {(-y)} {(python2.6)} {(python2.6-dev)}) (C {(sudo)} {(apt-get)} {(install)} {(-y)} {(python3.3)} {(python3.3-dev)}) (C {(sudo)} {(apt-get)} {(install)} {(-y)} {(python3.4)} {(python3.4-dev)}) ] ) ] ) ] ) ) (command.FuncDef name: build_objectivec_ios body: (command.BraceGroup children: [ (C {(objectivec/DevTools/full_mac_build.sh)} {(--core-only)} {(--skip-xcode-osx)} {(--skip-objc-conformance)} {(DQ ($ VSub_At '$@'))} ) ] ) ) (command.FuncDef name: build_objectivec_ios_debug body: (command.BraceGroup children:[(C {(build_objectivec_ios)} {(--skip-xcode-release)})]) ) (command.FuncDef name: build_objectivec_ios_release body: (command.BraceGroup children:[(C {(build_objectivec_ios)} {(--skip-xcode-debug)})]) ) (command.FuncDef name: build_objectivec_osx body: (command.BraceGroup children: [(C {(objectivec/DevTools/full_mac_build.sh)} {(--core-only)} {(--skip-xcode-ios)})] ) ) (command.FuncDef name: build_objectivec_cocoapods_integration body: (command.BraceGroup children: [ (C {(source)} {(word_part.TildeSubPart token:<Lit_TildeLike '~'>) (/.rvm/scripts/rvm)}) (C {(rvm)} {(get)} {(head)}) (C {(rvm)} {(use)} {(2.2.3)} {(--install)} {(--binary)} {(--fuzzy)}) (C {(gem)} {(install)} {(cocoapods)} {(--no-ri)} {(--no-rdoc)}) (C {(objectivec/Tests/CocoaPods/run_tests.sh)}) ] ) ) (command.FuncDef name: build_python body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (C {(internal_install_python_deps)}) (C {(cd)} {(python)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(uname)} {(-s)})]) left_token: <Left_DollarParen '$('> ) } {(Lit_Other '=') (Lit_Other '=')} {(DQ (Linux))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:envlist) op: Equal rhs: {(py) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\{'>) (26) (Lit_Comma ',') (27) (Lit_Comma ',') (33) (Lit_Comma ',') (34) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\}'>) (-python) } ) ] ) ] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:envlist) op: Equal rhs: {(py27-python)} ) ] ) ] ) (C {(tox)} {(-e)} {($ VSub_DollarName '$envlist')}) (C {(cd)} {(..)}) ] ) ) (command.FuncDef name: build_python_cpp body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (C {(internal_install_python_deps)}) (C {(export)} {(Lit_VarLike 'LD_LIBRARY_PATH=') (../src/.libs)}) (C {(export)} {(Lit_VarLike 'DYLD_LIBRARY_PATH=') (../src/.libs)}) (C {(cd)} {(python)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(uname)} {(-s)})]) left_token: <Left_DollarParen '$('> ) } {(Lit_Other '=') (Lit_Other '=')} {(DQ (Linux))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:envlist) op: Equal rhs: {(py) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\{'>) (27) (Lit_Comma ',') (33) (Lit_Comma ',') (34) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\}'>) (-cpp) } ) ] ) ] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:envlist) op:Equal rhs:{(py27-cpp)})] ) ] ) (C {(tox)} {(-e)} {($ VSub_DollarName '$envlist')}) (C {(cd)} {(..)}) ] ) ) (command.FuncDef name: build_ruby21 body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(cd)} {(ruby)}) (C {(bash)} {(travis-test.sh)} {(ruby-2.1)}) (C {(cd)} {(..)}) ] ) ] ) ) (command.FuncDef name: build_ruby22 body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(cd)} {(ruby)}) (C {(bash)} {(travis-test.sh)} {(ruby-2.2)}) (C {(cd)} {(..)}) ] ) ] ) ) (command.FuncDef name: build_jruby body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(cd)} {(ruby)}) (C {(bash)} {(travis-test.sh)} {(jruby-1.7)}) (C {(cd)} {(..)}) ] ) ] ) ) (command.FuncDef name: build_ruby_all body: (command.BraceGroup children: [(C {(build_ruby21)}) (C {(build_ruby22)}) (C {(build_jruby)})] ) ) (command.FuncDef name: build_javascript body: (command.BraceGroup children: [ (C {(internal_build_cpp)}) (command.AndOr ops: [Op_DAmp Op_DAmp Op_DAmp] children: [(C {(cd)} {(js)}) (C {(npm)} {(install)}) (C {(npm)} {(test)}) (C {(cd)} {(..)})] ) ] ) ) (command.FuncDef name: use_php body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERSION) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PHP) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(which)} {(php)})]) left_token: <Left_Backtick '`'> ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PHP_CONFIG) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(which)} {(php-config)})]) left_token: <Left_Backtick '`'> ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PHPIZE) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(which)} {(phpize)})]) left_token: <Left_Backtick '`'> ) } ) ] ) (C {(rm)} {($ VSub_DollarName '$PHP')}) (C {(rm)} {($ VSub_DollarName '$PHP_CONFIG')}) (C {(rm)} {($ VSub_DollarName '$PHPIZE')}) (C {(cp)} {(DQ (/usr/bin/php) ($ VSub_DollarName '$VERSION'))} {($ VSub_DollarName '$PHP')}) (C {(cp)} {(DQ (/usr/bin/php-config) ($ VSub_DollarName '$VERSION'))} {($ VSub_DollarName '$PHP_CONFIG')} ) (C {(cp)} {(DQ (/usr/bin/phpize) ($ VSub_DollarName '$VERSION'))} {($ VSub_DollarName '$PHPIZE')} ) ] ) ) (command.FuncDef name: use_php_zts body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERSION) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PHP) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(which)} {(php)})]) left_token: <Left_Backtick '`'> ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PHP_CONFIG) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(which)} {(php-config)})]) left_token: <Left_Backtick '`'> ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PHPIZE) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(which)} {(phpize)})]) left_token: <Left_Backtick '`'> ) } ) ] ) (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-zts/bin/php))} {($ VSub_DollarName '$PHP')} ) (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-zts/bin/php-config))} {($ VSub_DollarName '$PHP_CONFIG')} ) (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-zts/bin/phpize))} {($ VSub_DollarName '$PHPIZE')} ) ] ) ) (command.FuncDef name: use_php_bc body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:VERSION) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PHP) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(which)} {(php)})]) left_token: <Left_Backtick '`'> ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PHP_CONFIG) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(which)} {(php-config)})]) left_token: <Left_Backtick '`'> ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PHPIZE) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(which)} {(phpize)})]) left_token: <Left_Backtick '`'> ) } ) ] ) (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-bc/bin/php))} {($ VSub_DollarName '$PHP')} ) (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-bc/bin/php-config))} {($ VSub_DollarName '$PHP_CONFIG')} ) (C {(ln)} {(-sfn)} {(DQ (/usr/local/php-) (${ VSub_Name VERSION) (-bc/bin/phpize))} {($ VSub_DollarName '$PHPIZE')} ) ] ) ) (command.FuncDef name: build_php5.5 body: (command.BraceGroup children: [ (C {(use_php)} {(5.5)}) (C {(rm)} {(-rf)} {(vendor)}) (C {(cp)} {(-r)} {(/usr/local/vendor-5.5)} {(vendor)}) (C {(./vendor/bin/phpunit)}) ] ) ) (command.FuncDef name: build_php5.5_c body: (command.BraceGroup children: [ (C {(use_php)} {(5.5)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [(C {(cd)} {(php/tests)}) (C {(/bin/bash)} {(./test.sh)}) (C {(cd)} {(../..)})] ) ] ) ) (command.FuncDef name: build_php5.5_zts_c body: (command.BraceGroup children: [ (C {(use_php_zts)} {(5.5)}) (C {(wget)} {(https) (Lit_Other ':') (//phar.phpunit.de/phpunit-old.phar)} {(-O)} {(/usr/bin/phpunit)} ) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [(C {(cd)} {(php/tests)}) (C {(/bin/bash)} {(./test.sh)}) (C {(cd)} {(../..)})] ) ] ) ) (command.FuncDef name: build_php5.5_32 body: (command.BraceGroup children: [ (C {(use_php_bc)} {(5.5)}) (C {(rm)} {(-rf)} {(vendor)}) (C {(cp)} {(-r)} {(/usr/local/vendor-5.5)} {(vendor)}) (C {(./vendor/bin/phpunit)}) ] ) ) (command.FuncDef name: build_php5.6 body: (command.BraceGroup children: [ (C {(use_php)} {(5.6)}) (C {(rm)} {(-rf)} {(vendor)}) (C {(cp)} {(-r)} {(/usr/local/vendor-5.6)} {(vendor)}) (C {(./vendor/bin/phpunit)}) ] ) ) (command.FuncDef name: build_php5.6_c body: (command.BraceGroup children: [ (C {(use_php)} {(5.6)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [(C {(cd)} {(php/tests)}) (C {(/bin/bash)} {(./test.sh)}) (C {(cd)} {(../..)})] ) ] ) ) (command.FuncDef name: build_php5.6_mac body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(curl)} {(-s)} {(https) (Lit_Other ':') (//php-osx.liip.ch/install.sh)}) (C {(bash)} {(-s)} {(5.6)}) ] negated: F ) (C {(export)} {(Lit_VarLike 'PATH=') (DQ ('/usr/local/php5-5.6.25-20160831-101628/bin:') ($ VSub_DollarName '$PATH')) } ) (C {(curl)} {(https) (Lit_Other ':') (//phar.phpunit.de/phpunit.phar)} {(-L)} {(-o)} {(phpunit.phar)} ) (C {(chmod)} {(Lit_Other '+') (x)} {(phpunit.phar)}) (C {(sudo)} {(mv)} {(phpunit.phar)} {(/usr/local/bin/phpunit)}) (command.SimpleCommand words: [{(echo)} {(DQ ('#! /bin/bash'))}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(valgrind)})] ) (C {(chmod)} {(ug) (Lit_Other '+') (x)} {(valgrind)}) (C {(sudo)} {(mv)} {(valgrind)} {(/usr/local/bin/valgrind)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [(C {(cd)} {(php/tests)}) (C {(/bin/bash)} {(./test.sh)}) (C {(cd)} {(../..)})] ) ] ) ) (command.FuncDef name: build_php7.0 body: (command.BraceGroup children: [ (C {(use_php)} {(7.0)}) (C {(rm)} {(-rf)} {(vendor)}) (C {(cp)} {(-r)} {(/usr/local/vendor-7.0)} {(vendor)}) (C {(./vendor/bin/phpunit)}) ] ) ) (command.FuncDef name: build_php7.0_c body: (command.BraceGroup children: [ (C {(use_php)} {(7.0)}) (command.AndOr ops: [Op_DAmp Op_DAmp] children: [(C {(cd)} {(php/tests)}) (C {(/bin/bash)} {(./test.sh)}) (C {(cd)} {(../..)})] ) ] ) ) (command.FuncDef name: build_php_all body: (command.BraceGroup children: [ (C {(build_php5.5)}) (C {(build_php5.6)}) (C {(build_php7.0)}) (C {(build_php5.5_c)}) (C {(build_php5.6_c)}) (C {(build_php5.5_zts_c)}) ] ) ) (command.FuncDef name: build_php_all_32 body: (command.BraceGroup children:[(C {(build_php5.5_32)})]) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Pound '$#'))} {(-ne)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('\n') ('Usage: ') ($ VSub_Number '$0') (' { cpp |\n') (' cpp_distcheck |\n') (' csharp |\n') (' java_jdk7 |\n') (' java_oracle7 |\n') (' java_compatibility |\n') (' javanano_jdk7 |\n') (' javanano_oracle7 |\n') (' objectivec_ios |\n') (' objectivec_ios_debug |\n') (' objectivec_ios_release |\n') (' objectivec_osx |\n') (' objectivec_cocoapods_integration |\n') (' python |\n') (' python_cpp |\n') (' ruby21 |\n') (' ruby22 |\n') (' jruby |\n') (' ruby_all |\n') (' php5.5 |\n') (' php5.5_c |\n') (' php5.6 |\n') (' php5.6_c |\n') (' php7.0 |\n') (' php7.0_c |\n') (' php_all)\n') ) } ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (C {(set)} {(-e)}) (C {(set)} {(-x)}) (C {(eval)} {(DQ (build_) ($ VSub_Number '$1'))}) ] )