(List (Com {[LIT_CHARS set]} {[LIT_CHARS -xe]}) (Com {[LIT_OTHER ":"]} {[VarSub OS test_op=VS_TEST_COLON_QMARK {[DQ [LIT_CHARS "Environment variable 'OS' must be set (e.g., OS=ubuntu:14.04)"]]}]}) (Com {[LIT_OTHER ":"]} {[VarSub BUILDTOOL test_op=VS_TEST_COLON_QMARK {[DQ [LIT_CHARS "Environment variable 'BUILDTOOL' must be set (e.g., BUILDTOOL=autotools)"]]}]}) (Com {[LIT_OTHER ":"]} {[VarSub COMPILER test_op=VS_TEST_COLON_QMARK {[DQ [LIT_CHARS "Environment variable 'COMPILER' must be set (e.g., COMPILER=gcc)"]]}]}) (Com {[LIT_OTHER ":"]} {[VarSub CONFIGURATION test_op=VS_TEST_COLON_QMARK {[DQ [LIT_CHARS "Environment variable 'CONFIGURATION' must be set (e.g., CONFIGURATION='--enable-libevent --enable-ssl')"]]}]}) (Com {[LIT_OTHER ":"]} {[VarSub ENVIRONMENT test_op=VS_TEST_COLON_QMARK {[DQ [LIT_CHARS "Environment variable 'ENVIRONMENT' must be set (e.g., ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1')"]]}]}) (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('MESOS_DIRECTORY', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub 0]]})][LIT_CHARS /..]]}) (Com {[LIT_CHARS pwd]}) )]})]) (Com {[LIT_CHARS cd]} {[DQ [VarSub MESOS_DIRECTORY]]}) (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('DOCKERFILE', {[DQ [LIT_CHARS Dockerfile]]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub DOCKERFILE]}) (FunctionDef append_dockerfile [] (Com {[LIT_CHARS echo]} {[VarSub 1]} < (FilenameRedirectNode filename={[VarSub DOCKERFILE]} <REDIR_DGREAT ">>"> 1), > ) ) (Case to_match={[VarSub OS]}, pat_word_list=[[{[LIT_CHARS centos] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"] [LIT_CHARS ubuntu] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "FROM "][VarSub OS]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN yum install -y which"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN yum groupinstall -y 'Development Tools'"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN yum install -y epel-release"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN yum install -y clang git maven cmake"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN yum install -y java-1.8.0-openjdk-devel python-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-utils-devel libevent-devel libev-devel"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN adduser mesos"]]}) ) (List (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "FROM "][VarSub OS]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN rm -rf /var/lib/apt/lists/*"]]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -m]})]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS x86_64]]} {[LIT_OTHER "]"]}) (AndOr OP_OR_IF (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CLANG_PKG', {[LIT_CHARS clang-3.5]})]) (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CLANG_PKG', {[SQ ]})]) ) ) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN apt-get update"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN apt-get -y install build-essential "][VarSub CLANG_PKG][LIT_CHARS " git maven autoconf libtool cmake"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN apt-get -y install openjdk-7-jdk python-dev libcurl4-nss-dev libsasl2-dev libapr1-dev libsvn-dev libevent-dev libev-dev"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN apt-get -y install wget curl sed"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN adduser --disabled-password --gecos '' mesos"]]}) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unknown OS "][VarSub OS]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Case to_match={[VarSub COMPILER]}, pat_word_list=[[{[LIT_CHARS gcc]}], [{[LIT_CHARS clang]}], [{[LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "ENV CC gcc"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "ENV CXX g++"]]}) ) (Case to_match={[VarSub OS]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS ubuntu] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "ENV CC clang-3.5"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "ENV CXX clang++-3.5"]]}) ) (List (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "ENV CC clang"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "ENV CXX clang++"]]}) ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unknown Compiler "][VarSub COMPILER]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "WORKDIR mesos"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "COPY . /mesos/"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN chown -R mesos /mesos"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "USER mesos"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "ENV GTEST_OUTPUT xml:report.xml"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "ENV DISTCHECK_CONFIGURE_FLAGS "][VarSub CONFIGURATION]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "ENV "][VarSub ENVIRONMENT]]}) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub COVERITY_TOKEN]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "ENV MESOS_VERSION "][ComSub (Pipeline (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS AC_INIT]]} {[LIT_CHARS configure.ac]}) (Com {[LIT_CHARS sed]} {[SQ <LIT_CHARS "s/AC_INIT[(]\\[mesos\\], \\[\\(.*\\)\\][)]/\\1/">]}) )]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN wget https://scan.coverity.com/download/linux64 --post-data "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "token="][VarSub COVERITY_TOKEN][LIT_CHARS "&project=Mesos"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " -O coverity_tool.tgz"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "RUN tar xvf coverity_tool.tgz; mv cov-analysis-linux* cov-analysis"]]}) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "CMD ./bootstrap && ./configure "][VarSub CONFIGURATION][LIT_CHARS " && cov-analysis/bin/cov-build -dir cov-int make -j6 && tar czcf mesos.tgz cov-int && tail cov-int/build-log.txt && curl --form "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "token="][VarSub COVERITY_TOKEN][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " --form "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "email=dev@mesos.apache.org"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " --form "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "file=@mesos.tgz"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " --form "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "version="][VarSub MESOS_VERSION][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " --form "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "description='Continious Coverity Build'"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS " https://scan.coverity.com/builds?project=Mesos"]]}) ) (ElseTrue) (Case to_match={[VarSub BUILDTOOL]}, pat_word_list=[[{[LIT_CHARS autotools]}], [{[LIT_CHARS cmake]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "CMD ./bootstrap && ./configure "][VarSub CONFIGURATION][LIT_CHARS " && make -j6 distcheck 2>&1"]]}) (List (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CONFIGURATION', {[VarSub CONFIGURATION transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\'"]} {[DQ ]} do_all]]})]) (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CONFIGURATION', {[VarSub CONFIGURATION transform_ops=[PatSub {[LIT_CHARS -]} {[DQ [LIT_CHARS _]]} do_all]]})]) (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CONFIGURATION', {[VarSub CONFIGURATION transform_ops=[PatSub {[LIT_CHARS __]} {[DQ [LIT_CHARS -D]]} do_all]]})]) (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CONFIGURATION', {[VarSub CONFIGURATION transform_ops=[VS_UNARY_DCARET {}]]})]) (Com {[LIT_CHARS read]} {[LIT_CHARS -r]} {[LIT_CHARS -a]} {[LIT_CHARS array]} < (HereWordRedirectNode here_word={[DQ [VarSub CONFIGURATION]]} <REDIR_TLESS "<<<"> 0), > more_env=[('IFS', {[SQ <LIT_CHARS " ">]})] ) (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CONFIGURATION', {[DQ ]})]) (For element [{[DQ [VarSub array bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('CONFIGURATION', {[DQ [VarSub CONFIGURATION][LIT_CHARS " "][VarSub element][LIT_CHARS "=1"]]})]) ) (Com {[LIT_CHARS append_dockerfile]} {[DQ [LIT_CHARS "CMD ./bootstrap && mkdir build && cd build && cmake "][VarSub CONFIGURATION][LIT_CHARS " .. && make -j6 check && make -j6"]]}) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unknown build tool "][VarSub BUILDTOOL]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('TAG', {[LIT_CHARS mesos-] [ComSub (Com {[LIT_CHARS date]} {[LIT_OTHER "+"] [LIT_OTHER "%"] [LIT_CHARS s]})] [LIT_CHARS -] [VarSub RANDOM]})]) (Com {[LIT_CHARS docker]} {[LIT_CHARS build]} {[LIT_CHARS --no-cache] [LIT_OTHER "="] [LIT_CHARS true]} {[LIT_CHARS -t]} {[VarSub TAG]} {[LIT_CHARS .]}) (Com {[LIT_CHARS trap]} {[DQ [LIT_CHARS "docker rmi "][VarSub TAG]]} {[LIT_CHARS EXIT]}) (Com {[LIT_CHARS docker]} {[LIT_CHARS run]} {[LIT_CHARS --privileged]} {[LIT_CHARS --rm]} {[VarSub TAG]}) )