(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= 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= 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]} >"> 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_DBRACKET_LIKE "["]} {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -m]})]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS x86_64]]} {[LIT_DBRACKET_LIKE "]"]} ) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('CLANG_PKG', {[LIT_CHARS clang-3.5]})]) (= scope= 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_DBRACKET_LIKE "["]} {[LIT_CHARS -n]} {[DQ [VarSub COVERITY_TOKEN]]} {[LIT_DBRACKET_LIKE "]"]} ) (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 ]}) )]]} ) (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 -j8 && 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 -j8 distcheck"]]} ) (List (= scope= flags=0 words=[] bindings=[('CONFIGURATION', {[VarSub CONFIGURATION transform_ops=[PatSub {[\ LIT_ESCAPED_CHAR "\\'"]} {[DQ ]} do_all]]})]) (= scope= flags=0 words=[] bindings=[('CONFIGURATION', {[VarSub CONFIGURATION transform_ops=[PatSub {[LIT_CHARS -]} {[DQ [LIT_CHARS _]]} do_all]]})]) (= scope= flags=0 words=[] bindings=[('CONFIGURATION', {[VarSub CONFIGURATION transform_ops=[PatSub {[LIT_CHARS __]} {[DQ [LIT_CHARS -D]]} do_all]]})]) (= scope= 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]]} 0), > more_env=[('IFS', {[SQ ]})] ) (= scope= flags=0 words=[] bindings=[('CONFIGURATION', {[DQ ]})]) (For element [{[DQ [VarSub array bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (= scope= 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 -j8 check && make -j8"]]} ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unknown build tool "][VarSub BUILDTOOL]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) (= scope= 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_DBRACKET_LIKE "="] [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]} ) )