<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <title>Saffron installation guide</title> <link rel="stylesheet" type="text/css" href="stylesheet.css" /> </head> <body bgcolor="#ffffff"> <table border="1" class="clsStd" width="795" height="136"> <tr> <td colspan="2"><a href="index.html">Top</a> | <a href="http://public.perforce.com/guest/julian_hyde/saffron/doc/index.html">Web home</a> | <a href="http://sourceforge.net/projects/saffron/">SourceForge home</a> <div align="right"> <a href="http://sourceforge.net"> <img src="http://sourceforge.net/sflogo.php?group_id=46646&type=1" border="0" alt="SourceForge.net Logo"> </a> </div> </td> </tr> <tr> <td colspan="2"><em>$Id: //guest/julian_hyde/saffron/doc/install.html#2 $</em></td> </tr> <tr> <td colspan="2"><em>(C) Copyright 2002, Julian Hyde</em></td> </tr> <tr> <th align="right">Author</th> <td>Julian Hyde (<a href="mailto:julian.hyde@mail.com">julian.hyde@mail.com</a>)</td> </tr> <tr> <th align="right">Created</th> <td>February 15<sup><font face="Verdana">th</font></sup>, 2002</td> </tr> </table> <h1><font size="6">How to build and install Saffron</font></h1> <h2><a name="1_Contents">1. Contents</a></h2> <ol> <li><A href="#Contents">Contents</A> <li><a href="#Modification_history">Modification history</a> <li><a href="#Build_environment">Setup build environment</a> <li><a href="#4_Build">Build</a> <li><a href="#Run_the_demo">Run the demo</a> <li><a href="#6_Miscellaneous">Miscellaneous</a> <ol> <li><a href="#6_1_Coding_guidelines">Coding guidelines</a></li> </ol> </ol> <h2><a name="2_Modification_history">2. Modification history</a></h2> <table border="1" class="clsStd" width="100%"> <tr> <th>Date</th> <th>Revision</th> <th>Author</th> <th>Comment</th> </tr> <tr> <td><I>February 15<SUP>th</SUP>, 2002</I></td> <td><em>1</em></td> <td><i>Julian Hyde</i></td> <td><em>Created</em></td> </tr> </table> <h2><a name="3_Setup_build_environment">3. Setup build environment</a></h2> <p>These are the products I used to build saffron. Install all of the products marked 'required'. (I use <code>/</code>-es in paths because I am run MKS on Windows 2000, and it makes things simpler.)</p> <p>In the following, the symbol <code><i>${project.location}</i></code> means the root of your source tree.</p> <table border="1" class="clsStd" width="100%"> <tr> <th>Product</th> <th>Required?</th> <th>Version</th> <th>Comment</th> </tr> <tr> <td>JDK</td> <td>Yes</td> <td>1.1 or later (I use version 1.3.1.)</td> <td>Available from <a href="http://developer.java.sun.com/">http://developer.java.sun.com/</a>. I downloaded <code>j2sdk-1_3_1_02-win.exe</code>, and extracted to <code>E:/jdk1.3.1_02</code>. Set <code> JAVA_HOME</code> to same, and <code> CLASS_PATH</code> to <code>%JAVA_HOME%/lib/dt.jar</code>.</td> </tr> <tr> <td>Ant</td> <td>Yes</td> <td>1.4.1 or later </td> <td>Available from <a href="http://jakarta.apache.org/builds/jakarta-ant/release/v1.4.1/bin/">here</a>. I downloaded <code>jakarta-ant-1.4.1-bin.zip</code> and extracted to <code>E:/jakarta-ant-1.4.1</code>; and downloaded <code>jakarta-ant-1.4.1-optional.jar</code> (needed for JavaCC) to <code>E:/jakarta-ant-1.4.1/bin/lib</code> and renamed to <code>optional.jar</code>. Edit <code><i>${project.location}</i></code><code>/build.bat</code>. to reference your Ant install.</td> </tr> <tr> <td>JavaCC (parser generator)</td> <td>Yes</td> <td>JavaCC2.1</td> <td>Available from <a href="http://www.webgain.com/products/java_cc/">http://www.webgain.com/products/java_cc/</a>. Install in <code>E:/JavaCC2.1</code> or similar. Edit <code>${project.home}/build.bat</code>. Edit <code>${project.home}/build.properties</code>.</td> </tr> <tr> <td>Jikes</td> <td>No</td> <td> </td> <td>You don't need this, but it builds faster and produces better error messages. Available from <a href="http://oss.software.ibm.com/developerworks/opensource/jikes/">http://oss.software.ibm.com/developerworks/opensource/jikes/</a>. I <code>downloaded jikes-1.15-windows.zip</code>, and extracted <code>jikes.exe</code> to <code>C:/winnt/system32</code>. Then uncomment the relevant line of <code><i>${project.location}</i></code><code>/build.properties</code>: <blockquote> <pre>build.compiler=jikes</pre> </blockquote> </td> </tr> <tr> <td>Intellij IDEA (a Java IDE)</td> <td>No</td> <td>2.5.1</td> <td>A nice IDE, with good support for refactoring. You can download a 30-day evaluation copy from <a href="http://www.intellij.com/idea/">http://www.intellij.com/idea/</a>. Follow the instructions in <code>Install.txt</code> in <code>idea-2_5_1.zip</code> to there. <p>Create a project <code><i>${project.location}</i></code><code>/saffron/saffron.ipr</code>. Set the compiler output path to <code><i>${project.location}</i></code><code>/saffron/classes/</code>. Add <code>hsqldb.jar</code>, <code>javaCupClasses.zip</code>, and <code>xerces.zip</code> in <code><i>${project.location}</i></code><code>/saffron/lib/</code> to the class path.</p> </td> </tr> </table> <h2><a name="4_Build">4. Build</a></h2> <p>As follows:</p> <blockquote> <pre>cd <i>${project.location}</i> build</pre> </blockquote> <h2><a name="5_Run_the_demo">5. Run the demo</a></h2> <p>There are two tests:</p> <ol> <li><code>src/examples/sales/Test.java</code> contains some dynamic queries;</li> <li><code>src/examples/sales/Sales2.oj </code>contains is Java code with relational extensions.</li> </ol> <p>To generate <code>Sales2.java</code> from <code>Sales2.oj</code> and compile it to <code>Sales2.class</code>; and to compile <code>Test.java</code> to <code> Test.class</code>:</p> <blockquote> <pre>cd <i>${project.location}</i> build compile.examples</pre> </blockquote> <p>(There is a bug in the <code>ojavac</code> Ant task. If you get an IOException, remove <code>Sales2.java</code> and try again.)</p> <p>To run <code>Test</code>:</p> <blockquote> <pre>build run.sales.Test</pre> </blockquote> <p>(This is still work-in-progress. Lots of horrible debug output; not all statements work; and you need an ODBC datasource called <code>empdept</code> in order to run the JDBC flavor of the tests. Sorry! I'll fix all of this at some point.)</p> <p>To run <code>Sales2</code>:</p> <blockquote> <pre>build run.sales.Sales2</pre> </blockquote> <h2><a name="6_Miscellaneous">6. Miscellaneous</a></h2> <h3><a name="6_1_Coding_guidelines">6.1. Coding guidelines</a></h3> <p>Indentation 4. Tab stop 4. Use tabs, not space. 'Berkeley' bracing convention. Use braces even for single-line blocks. Declare variables as near to their first use as possible. Don't initialize variables with 'dummy' values just to shut up the compiler. No line longer than 79 characters. Javadoc comments on methods are written in the active ('Collects garbage.') not imperative ('Collect garbage.') When editing HTML documents, don't use an editor which reformats the HTML source (such as Word).</p> <b> <table border="1" width="100%" class="clsStd"> <tr> <td>End <i>$Id: //guest/julian_hyde/saffron/doc/install.html#2 $</i></td> </tr> </table> <p> </p> </b> </body> </html>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#3 | 1748 | Julian Hyde |
saffron: convert unit tests to JUnit; add CallingConvention.ITERABLE; lots of other stuff; release 0.1. |
||
#2 | 1485 | Julian Hyde | Saffron/Mondrian: John Sichi's feedback. | ||
#1 | 1461 | Julian Hyde |
saffron: First check in. Just documents, and the unmodified OpenJava 20001010 source files. |