<!-- == Saffron preprocessor and data engine == $Id: //guest/julian_hyde/saffron/build.xml#9 $ == Copyright (C) 2002 Julian Hyde <julian.hyde@mail.com> == == This library is free software; you can redistribute it and/or == modify it under the terms of the GNU Library General Public == License as published by the Free Software Foundation; either == version 2 of the License, or (at your option) any later version. == == This library is distributed in the hope that it will be useful, == but WITHOUT ANY WARRANTY; without even the implied warranty of == MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU == Library General Public License for more details. == == You should have received a copy of the GNU Library General Public == License along with this library; if not, write to the == Free Software Foundation, Inc., 59 Temple Place - Suite 330, == Boston, MA 02111-1307, USA. == == See the COPYING file located in the top-level-directory of == the archive of this library for complete text of license. --> <project name="saffron" default="compile"> <property environment="myenv"/> <property name="project.location" location="."/> <property name="lib.location" location="${project.location}/lib"/> <property file="${project.location}/build.properties"/> <property name="project.build.debug" value="on"/> <property name="Name" value="Saffron"/> <property name="name" value="saffron"/> <property name="version" value="0.1"/> <!-- =================================================================== External dependencies =================================================================== --> <property name="javacc.home" value="${myenv.JAVACC_HOME}"/> <property name="junit.home" value="${myenv.JUNIT_HOME}"/> <!-- =================================================================== Set the properties related to paths =================================================================== --> <property name="src.dir" value="src"/> <property name="java.dir" value="${src.dir}/main"/> <property name="examples.dir" value="${src.dir}/examples"/> <property name="tools.dir" value="${src.dir}/tools"/> <property name="lib.dir" value="lib"/> <property name="doc.dir" value="doc"/> <property name="resource.location" location="resource"/> <property name="javadoc.dir" value="${doc.dir}/api"/> <property name="classes.dir" value="classes"/> <property name="dist.name" value="${name}-${version}"/> <property name="dist.base" value="distribution"/> <property name="dist.dir" value="dist"/> <property name="demo.dir" value="demo"/> <property name="dist.src.file" value="${dist.dir}/${dist.name}-src.zip"/> <property name="dist.data.file" value="${dist.dir}/${dist.name}-data.zip"/> <property name="dist.bin.file" value="${dist.dir}/${dist.name}-bin.zip"/> <property name="dist.jar.file" value="${dist.dir}/${name}.jar"/> <property name="boot.jar.file" value="${lib.dir}/boot.jar"/> <path id="project.classpath"> <pathelement location="${classes.dir}"/> <pathelement location="${boot.jar.file}"/> <pathelement location="${junit.home}/junit.jar"/> <pathelement path="${myenv.CLASSPATH}"/> </path> <taskdef name="JavaCC" classname="org.apache.tools.ant.taskdefs.optional.javacc.JavaCC"/> <taskdef name="ojavac" classname="openjava.ojc.OpenJavaTask" classpathref="project.classpath"/> <taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" classpathref="project.classpath"/> <!-- =================================================================== Properties for running the FoodMart test =================================================================== --> <!-- Comma-separated list of jdbc drivers; for example, "org.hsqldb.jdbcDriver,sun.jdbc.odbc.JdbcOdbcDriver" --> <property name="saffron.jdbcDrivers" value="sun.jdbc.odbc.JdbcOdbcDriver"/> <!-- The URL of the folder which contains the resource files. --> <property name="saffron.resourceURL" value="file:///${resource.location}"/> <target name="help"> <echo> You must specify a specific project target when using the ANT build. The main targets are 'all', 'compile', 'clean', 'test'. </echo> </target> <target name="all" depends="clean,compile,test" description="Cleans, compiles all classes, and runs the regression test"/> <target name="test" depends="run.saffron.test.Main"/> <target name="junit" description="Should run the regression test, but doesn't work yet."> <junit printsummary="yes" fork="yes"> <classpath refid="project.classpath"/> <jvmarg value="-Dsaffron.package.name=saffron.runtime"/> <jvmarg value="-Dsaffron.java.dir=${examples.dir}"/> <jvmarg value="-Dsaffron.class.dir=${classes.dir}"/> <jvmarg value="-Dsaffron.java.compiler.args='-classpath ${project.classpath};${classes.dir} -d ${classes.dir} -verbose'"/> <formatter type="plain" /> <test name="saffron.test.Main"/> </junit> </target> <target name="clean"> <delete includeEmptyDirs="true" quiet="true"> <fileset dir="${classes.dir}" includes="**/*.class"/> <!-- ParserTokenManager.java is generated too, but don't delete, cuz we have modified it and checked it in. --> <fileset dir="${java.dir}" includes="openjava/tools/parser/Parser.java, openjava/tools/parser/TokenMgrError.java, openjava/tools/parser/ParseException.java, openjava/tools/parser/JavaCharStream.java, openjava/tools/parser/Token.java, openjava/tools/parser/ParserConstants.java, openjava/tools/parser/ASCII_UCodeESC_CharStream.java"/> <fileset dir="${examples.dir}" includes="saffron/runtime/Dummy_*.java"/> </delete> </target> <target name="clean.temp.classes"> <delete includeEmptyDirs="true" quiet="true"> <fileset dir="${examples.dir}" includes="saffron/runtime/Dummy_*.java"/> <fileset dir="${classes.dir}" includes="saffron/runtime/Dummy_*.class"/> </delete> </target> <target name="compile" depends="parser,compile.java,compile.test"/> <target name="compile.java"> <mkdir dir="${classes.dir}"/> <javac srcdir="${java.dir}" destdir="${classes.dir}" debug="${project.build.debug}" classpathref="project.classpath"> <include name="**/*.java" /> <exclude name="openjava/ptree/util/ParseTreeTranslator/java" /> <exclude name="openjava/debug/gui/ColoredSourceWriter.java" /> <exclude name="openjava/debug/gui/SourceCodeViewer.java" /> <exclude name="openjava/ptree/ExpressionObject.java" /> <exclude name="openjava/ptree/SetExpression.java" /> <exclude name="openjava/ptree/util/ParseTreeTranslator.java" /> <exclude name="saffron/util/Obsolete.java" /> </javac> </target> <target name="compile.test"> <javac srcdir="${examples.dir}" destdir="${classes.dir}" debug="${project.build.debug}" classpathref="project.classpath"> <include name="**/*.java" /> <exclude name="saffron/runtime/Dummy_*.java" /> </javac> </target> <target name="compile.oj"> <ojavac srcDir="${examples.dir}" destDir="${examples.dir}" debugInfo="3" debugToErr="false" includes="sales/Sales2.oj"/> </target> <target name="compile.examples" depends="compile.test,compile.oj,compile.test"> </target> <!-- generates TokenMgrError.java, ParseException.java, JavaCharStream.java, Token.java, ASCII_UCodeESC_CharStream.java --> <target name="parser"> <JavaCC target="${java.dir}/${parser.jj.file}" javacchome="${javacc.home}" buildtokenmanager="false"/> </target> <target name="etags"> <exec dir="${project.location}" executable="find" output="javaFiles"> <arg line=". -name "*.java" -print"/> </exec> <exec dir="${project.location}" executable="ctags"> <arg line="-e"/> <arg line="-L javaFiles"/> </exec> <delete file="${project.location}/javaFiles" quiet="true"/> </target> <target name="srczip"> <mkdir dir="${dist.dir}" /> <zip zipfile="${dist.src.file}" update="true"> <zipfileset dir="." prefix="${dist.name}" includes="**/*.java, **/*.jj, **/*.oj, **/*.html, **/*.css, lib/boot.jar, build.xml, build.properties, build.bat, LICENSE.html, README.txt, VERSION.txt" excludes="${javadoc.dir}/**, **/*~, ${examples.dir}/sales/Sales2.java, ${examples.dir}/sales/Sales2OJMI.java" /> </zip> </target> <target name="binzip" depends="javadoc"> <mkdir dir="${dist.dir}" /> <zip zipfile="${dist.bin.file}" update="true"> <zipfileset dir="." prefix="${dist.name}" includes="${javadoc.dir}/**/*, LICENSE.html, README.txt, VERSION.txt" excludes="**/*~"/> <zipfileset dir="${dist.dir}" prefix="${dist.name}/lib" includes="${name}.jar"/> </zip> </target> <!-- builds a jar file of the classes we need in order to run ant; when the new versions have built, we can replace them --> <target name="bootjar" depends="clean"> <javac srcdir="${tools.dir}" destdir="${classes.dir}" debug="${project.build.debug}" classpathref="project.classpath"> <include name="openjava/ojc/OpenJavaTask.java" /> </javac> <mkdir dir="${lib.dir}" /> <delete file="${boot.jar.file}"/> <jar jarfile="${boot.jar.file}"> <fileset dir="${classes.dir}" includes="openjava/ojc/OpenJavaTask.class"/> </jar> <antcall target="clean"/> </target> <target name="jar"> <mkdir dir="${dist.dir}" /> <zip zipfile="${dist.jar.file}" update="true"> <zipfileset dir="${classes.dir}" includes="**/*.class"/> <zipfileset dir="." includes="LICENSE.html, README.txt, VERSION.txt"/> </zip> </target> <target name="javadoc"> <mkdir dir="${javadoc.dir}" /> <javadoc sourcepath="${java.dir}" classpathref="project.classpath" destdir="${javadoc.dir}" packagenames="openjava.*, JP.*, saffron.*" overview="${doc.dir}/overview.html" access="package"> <link href="http://junit.sourceforge.net/javadoc"/> <link href="http://java.sun.com/j2ee/sdk_1.3/techdocs/api"/> </javadoc> </target> <target name="run.sales.Test"> <java classpathref="project.classpath" classname="sales.Test" fork="yes"> <jvmarg value="-Dsaffron.package.name=saffron.runtime"/> <jvmarg value="-Dsaffron.java.dir=${examples.dir}"/> <jvmarg value="-Dsaffron.class.dir=${classes.dir}"/> <jvmarg value="-Dsaffron.java.compiler.args='-classpath ${project.classpath};${classes.dir} -d ${classes.dir} -verbose'"/> </java> </target> <target name="run.saffron.test.Main"> <java classpathref="project.classpath" classname="saffron.test.Main" fork="yes"> <jvmarg value="-Dsaffron.package.name=saffron.runtime"/> <jvmarg value="-Dsaffron.java.dir=${examples.dir}"/> <jvmarg value="-Dsaffron.class.dir=${classes.dir}"/> <jvmarg value="-Dsaffron.java.compiler.args=-classpath ${project.classpath};${classes.dir} -d ${classes.dir} -verbose"/> </java> </target> <target name="run.walden"> <java classpathref="project.classpath" classname="saffron.walden.Main" fork="no"> <jvmarg value="-Dsaffron.package.name=saffron.runtime"/> <jvmarg value="-Dsaffron.java.dir=${examples.dir}"/> <jvmarg value="-Dsaffron.class.dir=${classes.dir}"/> <jvmarg value="-Dsaffron.java.compiler.args=-classpath ${project.classpath};${classes.dir} -d ${classes.dir} -verbose"/> </java> </target> </project>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#9 | 1853 | Julian Hyde |
saffron: Further improve binding of rows to variables. |
||
#8 | 1801 | Julian Hyde |
saffron: add ObjectSchema; rules can now be matched more than once; started to implement correlations in queries in from list. |
||
#7 | 1748 | Julian Hyde |
saffron: convert unit tests to JUnit; add CallingConvention.ITERABLE; lots of other stuff; release 0.1. |
||
#6 | 1485 | Julian Hyde | Saffron/Mondrian: John Sichi's feedback. | ||
#5 | 1479 | Julian Hyde |
Saffron. More files. Split out build.properties. Fix bootstrap problem by creating a dummy OpenJavaTask. |
||
#4 | 1474 | Julian Hyde |
saffron: Aggregations are working. Renamed 'aggregator' to 'aggregation'. |
||
#3 | 1467 | Julian Hyde |
saffron: First saffron check-in; incorporate my changes to openjava. |
||
#2 | 1462 | Julian Hyde | saffron: check in OpenJava20011117 source files, without any of my modifications | ||
#1 | 1461 | Julian Hyde |
saffron: First check in. Just documents, and the unmodified OpenJava 20001010 source files. |