maven-plugins/struts/xdocs/build-file.xml
evenisse 85df922d35 Update to ASL v.2
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@114795 13f79535-47bb-0310-9956-ffa450edef68
2004-03-04 18:40:25 +00:00

129 lines
5.3 KiB
XML

<?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>
<author email="dion@multitask.com.au">dIon Gillard</author>
<title>Maven Plug-in Build File Documentation</title>
</properties>
<body>
<section name="Maven Struts Plug-in Build File">
<p>
Maven utilizes <a href="http://ant.apache.org/">Ant</a>
to provide users with an easy-to-use and familiar interface to
manage projects that have been described with a valid Maven <a
href="../project-descriptor.html">project descriptor</a>.
The build files that Maven <a href="../../start/index.html">
installs</a> are stored in <code>${maven.home}</code> directory.
</p>
<p>
This document describes the Ant build file and targets
that are available when using the Struts Plug-in with Maven.
</p>
<p>
The current recommended approach to using Maven is to add
delegators to these Maven-provided targets in your project's
main build file. This will enable you to use your existing
build file with the additional Maven functionality. In
addition, it is also recommended that you load a standard set of
property files. The property files will setup your environment,
<code>${lib.repo}</code> and <code>${maven.home}</code>, and
allow you to override Maven defaults properties. Please refer
to the <a href="../../start/integrate.html">Integration</a> document for
more information on how to integrate these build targets into
your project.
</p>
<p>
The following table contains a brief overview of the
build file that is installed as part of the Maven Struts Plug-in in the
<code>${maven.home}/plugin/struts</code> directory. In addition,
the various Ant targets in this file is discussed.
</p>
<table>
<tr><th>Build File</th><th>Description</th></tr>
<tr>
<td><a href="#struts/build.xml">build.xml</a></td>
<td>
Contains a target validate Struts <code>WAR</code> files.
</td>
</tr>
</table>
<p>
The build file utilizes various properties for default and
user-configurable settings. All Struts Plug-in properties are described
in the <a href="properties.html">Properties</a> document.
The rest of this document assumes your project follows the standard
<a href="dirlayout.html">Directory Layout</a>; however, it is
possible to override many of these defaults.
</p>
</section>
<section name="struts/build.xml">
<table>
<tr><th>Target</th><th>Description</th></tr>
<tr>
<td><a href="#maven:validate-struts-war">maven:validate-struts-war</a></td>
<td>Validate a Struts <code>WAR</code> file.</td>
</tr>
</table>
<p/>
<subsection name="maven:validate-struts-war">
<p>
The <code>maven:validate-struts-war</code> target validates the struts
war file.
</p>
<p>
The validator checks the folowing:
<ol>
<li>It's a valid war file as per the <a href="../j2ee/index.html">
J2EE War Validator</a></li>
<li>The war file has a struts configuration, usually
<code>WEB-INF/struts-config.xml</code></li>
<li>Form Beans defined by a <code>&lt;form-bean&gt;</code> tag
have a <code>type</code> that is loadable from the war file
and <strong>not</strong> the classpath. If the form bean has
a <code>className</code>, that class too must be loaded from
the war</li>
<li>Actions defined by a <code>&lt;action&lt;</code> tag have
several validations:
<ol>
<li>the <code>className</code> attribute must be a
class loadable from the war</li>
<li>the <code>name</code> attribute, must match a
<code>&lt;form-bean&gt; name</code> attribute.</li>
<li>the <code>path</code> attribute must start with a
forward slash, i.e. '/'</li>
<li>the <code>scope</code> attribute must be one of
<code>request</code> or <code>sesssion</code></li>
<li>the <code>type</code> attribute must be a class
loadable from the war</li>
<li>the <code>unknown</code> and <code>validate</code>
attributes must be either <code>true</code> or <code>
false</code></li>
</ol>
</li>
</ol>
</p>
</subsection>
</section>
</body>
</document>