<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Copyright 2004-2008 H2 Group. Licensed under the H2 License, Version 1.0 (http://h2database.com/html/license.html).
Initial Developer: H2 Group
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><title>
Build
</title><link rel="stylesheet" type="text/css" href="stylesheet.css" />
<script type="text/javascript" src="navigation.js"></script>
</head><body onload="frameMe();">
<table class="content"><tr class="content"><td class="content"><div class="contentDiv">

<h1>Build</h1>
<a href="#portability">
    Portability</a><br />
<a href="#environment">
    Environment</a><br />
<a href="#building">
    Building the Software</a><br />
<a href="#maven2">
    Using Maven 2</a><br />
<a href="#translating">
    Translating</a><br />

<br /><a name="portability"></a>
<h2>Portability</h2>
<p>
This database is written in Java and therefore works on many platforms.
It can also be compiled to a native executable using GCJ.
</p>

<br /><a name="environment"></a>
<h2>Environment</h2>
<p>
A Java Runtime Environment (JRE) version 1.4 or higher is required to run this database.
</p>
<p>
To build the database executables, the following software stack was used.
Newer version or compatible software works too.
</p>
<ul>
    <li>Windows XP
    </li><li>Sun JDK Version 1.4
    </li><li>Apache Ant Version 1.6.5
    </li><li>Mozilla Firefox 1.5
    </li><li>Eclipse Version 3.2.2
    </li><li>YourKit Java Profiler
</li></ul>

<br /><a name="building"></a>
<h2>Building the Software</h2>
<p>
On the command line, go to the directory src and execute the following command:
<pre>
ant -projecthelp
</pre>
You will get a list of targets. If you want to build the jar files, execute:
<pre>
ant jar
</pre>
To create a jar file with the JDBC API and the classes required to connect to a server only,
use the target jarClient:
<pre>
ant jarClient
</pre>
The other targets may be used as well.
</p>

<br /><a name="maven2"></a>
<h2>Using Maven 2</h2>
<h3>Using a Central Repository</h3>
<p>
You can include the database in your Maven 2 project as a dependency.
Example:
</p>
<pre>
&lt;dependency&gt;
    &lt;groupId&gt;com.h2database&lt;/groupId&gt;
    &lt;artifactId&gt;h2&lt;/artifactId&gt;
    &lt;version&gt;1.0.65&lt;/version&gt;
&lt;/dependency&gt;
</pre>
<p>
New versions of this database are first uploaded to http://hsql.sourceforge.net/m2-repo/ and then automatically
synchronized with the main maven repository; however after a new release it may take a few hours before
they are available there.
</p>

<h3>Using Snapshot Version</h3>
<p>
To build a 'snapshot' H2 .jar file and upload it the to the local Maven 2 repository, execute the following command:
<pre>
ant mavenInstallLocal
</pre>
Afterwards, you can include the database in your Maven 2 project as a dependency:
<pre>
&lt;dependency&gt;
    &lt;groupId&gt;com.h2database&lt;/groupId&gt;
    &lt;artifactId&gt;h2&lt;/artifactId&gt;
    &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
&lt;/dependency&gt;
</pre>
</p>

<br /><a name="translating"></a>
<h2>Translating</h2>
<p>
The translation of this software is split into the following parts:
</p>
<ul>
<li>H2 Console: src/main/org/h2/server/web/res/_text_*.properties
</li><li>Error messages: src/main/org/h2/res/_messages_*.properties
</li><li>Web site: src/docsrc/text/_docs_*.utf8.txt
</li></ul>
<p>
The conversion between UTF-8 and Java encoding (using the \u syntax), as well as the HTML entities (&#..;)
is automated by running the tool PropertiesToUTF8. The web site translation is automated as well,
using <code>ant docs</code>.
</p>

</div></td></tr></table></body></html>