blob: 7d12ae6eabca8cdf7394d031047f19af7adbf57b [file] [log] [blame]
<?xml version="1.0"?>
<!--
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed 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.
*/
-->
<document>
<properties>
<title>How To Build Turbine</title>
</properties>
<body>
<section name="How to build Turbine">
<p>
Turbine is built using the <a href="http://maven.apache.org/">Maven</a> build
tool. So to get started you should download and install Maven.
</p>
<p>
There are three major components to the core Turbine codebase. They are the Turbine
server itself, a Maven plugin to make working Turbine easier, and an implementation
of the Schedule and Security services that uses Torque to generate object mapping classes
for the database backend.
</p>
<p>
To build these three projects, from the Turbine home directory just run 'maven' and by
default each of these projects will be compiled, test cases run, and jar files created.
This will also install the artifacts into your local Maven repository as well.
</p>
<p>
To build the site documentation, run <code>maven multiproject:site</code>, and this will build
the site documenation for all the projects, and aggregate them together.
</p>
</section>
<section name="Extension Details">
<subsection name="Maven Plugin for Turbine">
<p>
You can then go into your local repostory and take the jar file called <code>maven-turbine-plugin-XX.jar</code>
and place it in your maven plugins directory. Make sure to delete any existing onces. Then run <code>maven -g</code>
and you will see the turbine goals. For more information see the <a href="maven-turbine-plugin/index.html">site docs</a> for the Maven plugin.
</p>
</subsection>
<subsection name="Torque Impl">
<p>
The Torque implementations for the Schedule and Security services where broken out into seperate Maven
projects in the Extensions directory because they require a codegeneration step before compiling the
source code. Additioanlly, these services should implement an API defined by the main services Interface.
This way, over time, other backend implementations of the Schedule and Security services can be added.
</p>
</subsection>
</section>
</body>
</document>