| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!-- |
| |
| Ant build file for MRQL |
| |
| --> |
| |
| <project name="MRQL" |
| basedir="." |
| default="mapreduce"> |
| |
| <property name="HOME" value="${user.home}"/> |
| |
| <property file="conf/mrql-env.sh"/> |
| <property file="conf/mrql-ant-env.sh"/> |
| |
| <path id="classpath"> |
| <pathelement location="${JLINE_JAR}"/> |
| <pathelement location="${JFLEX_JAR}"/> |
| <pathelement location="${CUP_JAR}"/> |
| <pathelement path="${MRQL_CLASSPATH}"/> |
| </path> |
| |
| <target name="mapreduce" |
| depends="common" |
| description="Build the MRQL MapReduce jar"> |
| <fileset id="mr.gen.path" dir="src/main/java/MapReduce" includes="*.gen"/> |
| <pathconvert pathsep=" " property="mr.gen.files" refid="mr.gen.path"/> |
| <java classname="org.apache.mrql.gen.Main"> |
| <classpath refid="classpath"/> |
| <arg line="${mr.gen.files}"/> |
| <arg line="-o"/> |
| <arg file="tmp"/> |
| </java> |
| <javac srcdir="src/main/java:tmp" destdir="classes" classpathref="classpath" |
| includeantruntime="false"> |
| <exclude name="BSP/*"/> |
| <exclude name="spark/*"/> |
| </javac> |
| <jar destfile="lib/mrql-mr-${MRQL_VERSION}.jar" basedir="classes"> |
| <zipfileset includes="**/*" src="${JLINE_JAR}"/> |
| <zipfileset includes="**/*.class" src="${CUP_JAR}"/> |
| <zipfileset includes="**/*.class" src="${JFLEX_JAR}"/> |
| </jar> |
| </target> |
| |
| <target name="bsp" |
| depends="common" |
| description="Build the MRQL BSP jar"> |
| <fileset id="bsp.gen.path" dir="src/main/java/BSP" includes="*.gen"/> |
| <pathconvert pathsep=" " property="bsp.gen.files" refid="bsp.gen.path"/> |
| <java classname="org.apache.mrql.gen.Main"> |
| <classpath refid="classpath"/> |
| <arg line="${bsp.gen.files}"/> |
| <arg line="-o"/> |
| <arg file="tmp"/> |
| </java> |
| <javac srcdir="src/main/java:tmp" destdir="classes" classpathref="classpath" |
| includeantruntime="false"> |
| <exclude name="MapReduce/*"/> |
| <exclude name="spark/*"/> |
| </javac> |
| <jar destfile="lib/mrql-bsp-${MRQL_VERSION}.jar" basedir="classes"> |
| <zipfileset includes="**/*" src="${JLINE_JAR}"/> |
| <zipfileset includes="**/*.class" src="${CUP_JAR}"/> |
| <zipfileset includes="**/*.class" src="${JFLEX_JAR}"/> |
| </jar> |
| </target> |
| |
| <target name="spark" |
| depends="common" |
| description="Build the MRQL Spark jar"> |
| <fileset id="spark.gen.path" dir="src/main/java/spark" includes="*.gen"/> |
| <pathconvert pathsep=" " property="spark.gen.files" refid="spark.gen.path"/> |
| <java classname="org.apache.mrql.gen.Main"> |
| <classpath refid="classpath"/> |
| <arg line="${spark.gen.files}"/> |
| <arg line="-o"/> |
| <arg file="tmp"/> |
| </java> |
| <javac srcdir="src/main/java:tmp" destdir="classes" classpathref="classpath" |
| includeantruntime="false"> |
| <exclude name="MapReduce/*"/> |
| <exclude name="BSP/*"/> |
| </javac> |
| <jar destfile="lib/mrql-spark-${MRQL_VERSION}.jar" basedir="classes"> |
| <zipfileset includes="**/*" src="${JLINE_JAR}"/> |
| <zipfileset includes="**/*.class" src="${CUP_JAR}"/> |
| <zipfileset includes="**/*.class" src="${JFLEX_JAR}"/> |
| </jar> |
| </target> |
| |
| <target name="common" |
| depends="clean_build,gen,mrql_parser,json_parser" |
| description="Translate the GEN files and generate the parsers"> |
| <fileset id="gen.path" dir="src/main/java/core" includes="*.gen"/> |
| <pathconvert pathsep=" " property="gen.files" refid="gen.path"/> |
| <java classname="org.apache.mrql.gen.Main"> |
| <classpath refid="classpath"/> |
| <arg line="${gen.files}"/> |
| <arg line="-o"/> |
| <arg file="tmp"/> |
| </java> |
| </target> |
| |
| <target name="clean_build" |
| description="Clean the build directories"> |
| <delete dir="classes"/> |
| <delete dir="tmp"/> |
| <mkdir dir="lib"/> |
| <mkdir dir="classes"/> |
| <mkdir dir="tmp"/> |
| <mkdir dir="tests/results"/> |
| <mkdir dir="tests/results/mr-memory"/> |
| <mkdir dir="tests/results/bsp-memory"/> |
| <mkdir dir="tests/results/hadoop"/> |
| <mkdir dir="tests/results/bsp"/> |
| <mkdir dir="tests/results/spark"/> |
| </target> |
| |
| <target name="gen" |
| description="Generate the Gen tool"> |
| <java jar="${JFLEX_JAR}" fork='true'> |
| <arg line="--quiet --nobak"/> |
| <arg file="src/main/java/gen/gen.lex"/> |
| <arg line="-d"/> |
| <arg file="tmp"/> |
| </java> |
| <java jar="${CUP_JAR}" fork='true'> |
| <arg line="-nosummary"/> |
| <arg line="-symbols GenSym"/> |
| <arg line="-parser GenParser"/> |
| <arg file="src/main/java/gen/gen.cup"/> |
| </java> |
| <move todir="tmp"> |
| <filelist dir="."> |
| <file name="GenSym.java"/> |
| <file name="GenParser.java"/> |
| </filelist> |
| </move> |
| <javac srcdir="src/main/java/gen:tmp" destdir="classes" classpathref="classpath" |
| includeantruntime="false"> |
| </javac> |
| </target> |
| |
| <target name="mrql_parser" |
| description="Generate the MRQL scanner and parser"> |
| <java jar="${JFLEX_JAR}" fork='true'> |
| <arg line="--quiet --nobak"/> |
| <arg file="src/main/java/core/mrql.lex"/> |
| <arg line="-d"/> |
| <arg file="tmp"/> |
| </java> |
| <java classname="org.apache.mrql.gen.Main"> |
| <classpath refid="classpath"/> |
| <arg file="src/main/java/core/mrql.cgen"/> |
| <arg line="-o"/> |
| <arg file="tmp/mrql.cup"/> |
| </java> |
| <java jar="${CUP_JAR}" fork='true'> |
| <arg line="-nosummary"/> |
| <arg line="-parser MRQLParser"/> |
| <arg file="tmp/mrql.cup"/> |
| </java> |
| <move todir="tmp"> |
| <filelist dir="."> |
| <file name="sym.java"/> |
| <file name="MRQLParser.java"/> |
| </filelist> |
| </move> |
| </target> |
| |
| <target name="json_parser" |
| description="Generate the JSON scanner and parser"> |
| <java jar="${JFLEX_JAR}" fork='true'> |
| <arg line="--quiet --nobak"/> |
| <arg file="src/main/java/core/JSON.lex"/> |
| <arg line="-d"/> |
| <arg file="tmp"/> |
| </java> |
| <java jar="${CUP_JAR}" fork='true'> |
| <arg line="-nosummary"/> |
| <arg line="-parser JSONParser"/> |
| <arg line="-symbols jsym"/> |
| <arg file="src/main/java/core/JSON.cup"/> |
| </java> |
| <move todir="tmp"> |
| <filelist dir="."> |
| <file name="jsym.java"/> |
| <file name="JSONParser.java"/> |
| </filelist> |
| </move> |
| </target> |
| |
| <path id="mrql-classpath"> |
| <pathelement location="lib/mrql-mr-${MRQL_VERSION}.jar"/> |
| <path refid="classpath"/> |
| </path> |
| |
| <path id="bsp-classpath"> |
| <pathelement location="lib/mrql-bsp-${MRQL_VERSION}.jar"/> |
| <path refid="classpath"/> |
| </path> |
| |
| <path id="spark-classpath"> |
| <pathelement location="lib/mrql-spark-${MRQL_VERSION}.jar"/> |
| <path refid="classpath"/> |
| </path> |
| |
| <target name="validate" |
| description="Validate all test queries" |
| depends="validate_hadoop,validate_hama,validate_spark"/> |
| |
| <target name="validate_hadoop" |
| description="Validate all test queries on Hadoop"> |
| <echo message="Evaluating test queries in memory (Map-Reduce mode):"/> |
| <java classname="org.apache.mrql.Test" fork="yes"> |
| <classpath refid="mrql-classpath"/> |
| <arg file="tests/queries"/> |
| <arg file="tests/results/mr-memory"/> |
| <arg file="tests/error_log.txt"/> |
| </java> |
| <echo message="Evaluating test queries in Hadoop local mode:"/> |
| <java classname="org.apache.mrql.Test" fork="yes" error="/dev/null"> |
| <classpath refid="mrql-classpath"/> |
| <arg line="-local"/> |
| <arg file="tests/queries"/> |
| <arg file="tests/results/hadoop"/> |
| <arg file="tests/error_log.txt"/> |
| </java> |
| </target> |
| |
| <target name="validate_hama" |
| description="Validate all test queries on Hama"> |
| <echo message="Evaluating test queries in memory (BSP mode):"/> |
| <java classname="org.apache.mrql.Test" fork="yes"> |
| <classpath refid="bsp-classpath"/> |
| <arg file="tests/queries"/> |
| <arg file="tests/results/bsp-memory"/> |
| <arg file="tests/error_log.txt"/> |
| </java> |
| <echo message="Evaluating test queries in Hama local mode:"/> |
| <java classname="org.apache.mrql.Test" fork="yes" error="/dev/null"> |
| <classpath refid="bsp-classpath"/> |
| <arg line="-local"/> |
| <arg file="tests/queries"/> |
| <arg file="tests/results/bsp"/> |
| <arg file="tests/error_log.txt"/> |
| </java> |
| </target> |
| |
| <target name="validate_spark" |
| description="Validate all test queries on Spark"> |
| <echo message="Evaluating test queries in Spark local mode:"/> |
| <java classname="org.apache.mrql.Test" fork="yes" error="/dev/null"> |
| <classpath refid="spark-classpath"/> |
| <arg line="-local"/> |
| <arg file="tests/queries"/> |
| <arg file="tests/results/spark"/> |
| <arg file="tests/error_log.txt"/> |
| </java> |
| </target> |
| |
| <target name="clean_tests" |
| description="Clean test results"> |
| <delete> |
| <fileset dir="tests/results" includes="*/*"/> |
| </delete> |
| </target> |
| |
| <target name="clean" |
| description="Clean build artifacts"> |
| <delete dir="classes"/> |
| <delete dir="tmp"/> |
| <delete dir="mrql-tmp"/> |
| <delete> |
| <fileset dir="." includes="**/*~"/> |
| </delete> |
| </target> |
| |
| </project> |