dion        2002/06/13 18:33:46

  Modified:    xdocs/plugins/j2ee build-file.xml futures.xml index.xml
                        navigation.xml properties.xml
  Added:       xdocs/plugins/j2ee appserver.xml
  Log:
  AppServer docs patch from Pete Lynch
  
  Revision  Changes    Path
  1.3       +225 -27   jakarta-turbine-maven/xdocs/plugins/j2ee/build-file.xml
  
  Index: build-file.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/xdocs/plugins/j2ee/build-file.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- build-file.xml    31 May 2002 16:51:19 -0000      1.2
  +++ build-file.xml    14 Jun 2002 01:33:46 -0000      1.3
  @@ -4,6 +4,7 @@
     <properties>
       <author email="[EMAIL PROTECTED]">dIon Gillard</author>
       <author email="[EMAIL PROTECTED]">Kevin O'Neill</author>
  +    <author email="[EMAIL PROTECTED]">Peter Lynch</author>
       <title>Maven J2EE Plug-in Build File Documentation</title>
     </properties>
   
  @@ -27,7 +28,7 @@
           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, 
  +        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
  @@ -54,8 +55,8 @@
           The build file utilizes various properties for default and
           user-configurable settings.  All J2EE 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 
  +
  +        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>
  @@ -79,6 +80,24 @@
             <td><a href="#maven:ear">maven:ear</a></td>
             <td>Creates an <code>EAR</code> file.</td>
           </tr>
  +        <tr>
  +          <td><a href="#maven:appserver-install">maven:appserver-install</a></td>
  +          <td>Installs an Application Server instance</td>
  +        </tr>
  +        <tr>
  +          <td><a href="#maven:appserver-start">maven:appserver-start</a></td>
  +          <td>Starts an Application Server instance</td>
  +        </tr>
  +        <tr>
  +          <td><a href="#maven:appserver-stop">maven:appserver-stop</a></td>
  +          <td>Stops an Application Server instance</td>
  +        </tr>
  +        <tr>
  +          <td><a href="#maven:appserver-clean">maven:appserver-clean</a></td>
  +          <td>Safely deletes the Application Server instance installation directory
  +          specified by the <code><a 
href="./properties.html">${maven.appserver.dir}</a></code>
  +          property.</td>
  +        </tr>
         </table>
         <p/>
         <subsection name="maven:war">
  @@ -125,10 +144,10 @@
             <tr>
               <td>Java classes</td>
               <td>
  -              Class files in the 
  -              <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dest}</a></code> 
  -              directory. The properties <code><a 
href="properties.html#maven.j2ee.war.classes.includes">${maven.j2ee.war.classes.includes}</a></code>
 
  -              and <code><a 
href="properties.html#maven.j2ee.war.classes.excludes">${maven.j2ee.war.classes.excludes}</a></code>
 
  +              Class files in the
  +              <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dest}</a></code>
  +              directory. The properties <code><a 
href="properties.html#maven.j2ee.war.classes.includes">${maven.j2ee.war.classes.includes}</a></code>
  +              and <code><a 
href="properties.html#maven.j2ee.war.classes.excludes">${maven.j2ee.war.classes.excludes}</a></code>
                 determine how to filter the directory contents for
                 inclusion in the war. These files are placed in the
                 <code>/WEB-INF/classes</code> of the resulting war file.
  @@ -139,7 +158,7 @@
               <td>
                 A J2EE web application deployment descriptor, which is
                 placed in the <code>/WEB-INF</code> of the resulting war
  -              file.  The <code><a 
href="properties.html#maven.j2ee.war.webxml">${maven.j2ee.war.webxml}</a></code> 
  +              file.  The <code><a 
href="properties.html#maven.j2ee.war.webxml">${maven.j2ee.war.webxml}</a></code>
                 property defines the location of this file
               </td>
             </tr>
  @@ -147,7 +166,7 @@
         </subsection>
         <subsection name="maven:validate-war">
           <p>
  -          The <code>maven:validate-war</code> target validates the newly 
  +          The <code>maven:validate-war</code> target validates the newly
             produced war file.
           </p>
           <p>
  @@ -155,7 +174,7 @@
             <ol>
               <li>The war file exists</li>
               <li>It is readable</li>
  -            <li>The war file has a web.xml (it's only a warning if it 
  +            <li>The war file has a web.xml (it's only a warning if it
                 doesn't exist)</li>
               <li>Servlets defined by a <code>&lt;servlet&gt;</code> tag are loadable
                 from the war file and <strong>not</strong> the classpath</li>
  @@ -163,20 +182,20 @@
               </li>
               <li>Taglibs defined by a <code>&lt;taglib&gt;</code> have a <code>
                 &lt;taglib-location&gt;</code> that exists in the war</li>
  -            <li>Error pages specified by a <code>&lt;location&gt;</code> nested 
  +            <li>Error pages specified by a <code>&lt;location&gt;</code> nested
                 within an <code>&lt;error-page&gt;</code> element must exist in the
                 war file</li>
               <li>Login and error pages specified in the <code>&lt;form-login-config
                 &gt;</code> element must exist in the war file</li>
             </ol>
  -        </p>                                               
  +        </p>
         </subsection>
         <subsection name="maven:ejb">
           <p>
             The <code>maven:ejb</code> target generates the <code>ejb</code> jar file
             for the project. Optionally it can also create jars containing the local
  -          and remote interfaces. The files are produced in the 
  -          <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dir}</a>/ejb</code> 
  +          and remote interfaces. The files are produced in the
  +          <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dir}</a>/ejb</code>
             directory and have a name based on the
             <code><a 
href="properties.html#maven.j2ee.ejb.name">${maven.j2ee.ejb.name}</a></code>
             property.
  @@ -189,7 +208,7 @@
             </ul>
           </p>
           <p>
  -          Maven also includes the license file, LICENSE.txt, if it exists, in 
  +          Maven also includes the license file, LICENSE.txt, if it exists, in
             the META-INF directory.
           </p>
           <p>
  @@ -210,10 +229,10 @@
             <tr>
               <td>Classes</td>
               <td>
  -              The files in the <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dest}</a></code> 
  -              directory to be included is specified using the 
  +              The files in the <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dest}</a></code>
  +              directory to be included is specified using the
                 <code><a 
href="properties.html#maven.j2ee.ejb.includes">${maven.j2ee.ejb.includes}</a></code>
  -              and <code><a 
href="properties.html#maven.j2ee.ejb.excludes">${maven.j2ee.ejb.excludes}</a></code> 
  +              and <code><a 
href="properties.html#maven.j2ee.ejb.excludes">${maven.j2ee.ejb.excludes}</a></code>
                 properties.
               </td>
             </tr>
  @@ -221,11 +240,11 @@
               <td>Meta-Inf</td>
               <td>
                 Files to be included the <code>META-INF</code> directory of the ejb
  -              jar file may be specified using the  
  +              jar file may be specified using the
                 <code><a href="properties.html#maven.j2ee.ejb.conf.dir">
  -              ${maven.j2ee.ejb.conf.dir}</a></code>, 
  +              ${maven.j2ee.ejb.conf.dir}</a></code>,
                 <code><a href="properties.html#maven.j2ee.ejb.conf.includes">
  -              ${maven.j2ee.ejb.conf.includes}</a></code> and  
  +              ${maven.j2ee.ejb.conf.includes}</a></code> and
                 <code><a href="properties.html#maven.j2ee.ejb.conf.excludes">
                 ${maven.j2ee.ejb.conf.excludes}</a></code> properties.
               </td>
  @@ -235,14 +254,14 @@
         <subsection name="maven:ear">
           <p>
             The <code>maven:ear</code> target generates an ear file for the
  -          project. The ear file is produced in the 
  -          <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dir}</a></code> 
  +          project. The ear file is produced in the
  +          <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dir}</a></code>
             directory and has a name defined by the
             <code><a 
href="properties.html#maven.j2ee.ear.name">${maven.j2ee.ear.name}</a></code>
             property.
           </p>
           <p>
  -          This target automatically invokes the 
  +          This target automatically invokes the
             <code><a href="#maven:war">maven:war</a></code> target to ensure
             any war generated by the project is included in the ear.
           </p>
  @@ -260,18 +279,197 @@
               <td>
                 A J2EE enterprise application deployment descriptor, which
                 is placed in the root of the resulting ear file.
  -              The <code><a 
href="properties.html#maven.j2ee.ear.appxml">${maven.j2ee.ear.appxml}</a></code> 
  +              The <code><a 
href="properties.html#maven.j2ee.ear.appxml">${maven.j2ee.ear.appxml}</a></code>
                 property defines the location of this file.
               </td>
             </tr>
             <tr>
               <td>Other Content</td>
               <td>
  -              Files in the <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dir}</a></code> 
  +              Files in the <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dir}</a></code>
                 directory may be included using the
                 <code><a 
href="properties.html#maven.j2ee.ear.includes">${maven.j2ee.ear.includes}</a></code>
  -              and <code><a 
href="properties.html#maven.j2ee.ear.excludes">${maven.j2ee.ear.excludes}</a></code> 
  +              and <code><a 
href="properties.html#maven.j2ee.ear.excludes">${maven.j2ee.ear.excludes}</a></code>
                 properties.
  +            </td>
  +          </tr>
  +        </table>
  +      </subsection>
  +
  +      <!-- maven:appserver-* targets ======================================= -->
  +
  +      <subsection name="maven:appserver-install">
  +        <p>
  +          The <code>maven:appserver-install</code> target installs the minimum
  +          directory and file structure necessary for an individual application
  +          server instance. Once the structure is created inside the
  +          directory specified by <a 
href="properties.html#maven.appserver.dir">${maven.appserver.dir}</a>
  +          , configuration files are installed using the copy task and the filter
  +          mechanism built into <a href="http://jakarta.apache.org/ant";>Ant</a>.
  +          The exact work done by this target is specific to the
  +          name and version of the application server you specify using
  +          <a href="properties.html#maven.appserver.name">${maven.appserver.name}</a>
  +          and <a 
href="properties.html#maven.appserver.version">${maven.appserver.version}</a>
  +          properties.
  +        </p>
  +        <p>
  +          Optionally, you can invoke the <code>install</code> target of the
  +          Ant build.xml file copied to ${maven.appserver.dir} instead. See the
  +          <a href="appserver.html#Appserver Proxy Build File">appserver proxy build 
file</a> for more
  +          information.
  +        </p>
  +        <p>
  +          During the configuration process, all
  +          <a href="./properties.html#Application Server">maven.appserver.* 
properties</a>
  +          are used as filter tokens while files in
  +          ${maven.conf.dir}/${maven.appserver.name}${maven.appserver.version} are
  +          copied to ${maven.appserver.dir}. By default, certain files are
  +          excluded from copying to ${maven.appserver.dir}. Files excluded are:
  +         </p>
  +         <ul>
  +            <li>**/web.xml/**</li>
  +          </ul>
  +        <p>
  +          This allows you to keep you webapp specific conf files in the same
  +          directory and not have them installed with this target needlessly.
  +        </p>
  +        <p>
  +           Your configuration files may require additional processing ( using 
additional
  +           filter tokens for example). In that case you can use the
  +           <a 
href="properties.html#maven.appserver.post-appserver-install.buildFile">maven-post-appserver-install</a>
  +           callback target to re-configure files.
  +        </p>
  +        <p>
  +          This target has different behavior
  +          depending on the current status of the application server. The
  +          behavior is defined by the following rules:
  +        </p>
  +        <table>
  +          <tr><th>Server Status</th><th>Behavior</th></tr>
  +          <tr>
  +            <td>Not Installed</td>
  +            <td>
  +              Install and configure the application server.
  +            </td>
  +          </tr>
  +          <tr>
  +            <td>Installed and stopped</td>
  +            <td>
  +               Re-install/re-configure the application server.
  +            </td>
  +          </tr>
  +          <tr>
  +            <td>Installed and started</td>
  +            <td>
  +              Stop, re-install/re-configure, re-start the application server.
  +            </td>
  +          </tr>
  +        </table>
  +        <p><strong>Note:</strong> In all situations, the 
<code>maven:appserver-install</code>
  +        target will overwrite existing appserver configuration files already
  +        installed. Maven does this because it cannot know if the you have changed
  +        your <a href="properties.html#Application Server">maven.appserver.* related 
properties</a>,
  +        so it always re-configures the configuration files. Since this
  +        operation has low overhead, it is considered a feature that allows dynamic
  +        updates to your appserver related property values.</p>
  +      </subsection>
  +
  +      <subsection name="maven:appserver-start">
  +        <p>
  +          The <code>maven:appserver-start</code> target
  +          attempts to start the application server instance you have specified
  +          via properties.
  +        </p>
  +        <p>Optionally, you can invoke the <code>start</code> target of the
  +        Ant build.xml file copied to ${maven.appserver.dir} instead. See the
  +        <a href="appserver.html#Appserver Proxy Build File">appserver proxy build 
file</a> for more
  +        information.
  +        </p>
  +        <p>
  +          This target will cause two processes to run. One process will
  +          represent the running of the Ant build file for the Maven target.
  +          The other will be the forked JVM that actually starts the application
  +          server instance.
  +        </p>
  +        <p>
  +          If you don't want the processes to block your current terminal,
  +          you can execute the call to this target in the background using the
  +          traditional '&amp;' directive on unix-like systems.
  +        </p>
  +        <p> For example, to run the server in the background, go to your
  +        ${maven.appserver.dir} directory and type:</p>
  +        <source><![CDATA[ant start &]]></source>
  +        <p>
  +          This target has different behavior
  +          depending on the current status of the application server. The
  +          behavior is defined by the following rules:
  +        </p>
  +        <table>
  +          <tr><th>Server Status</th><th>Behavior</th></tr>
  +          <tr>
  +            <td>Not Installed</td>
  +            <td>
  +              Install/configure, then start the application server.
  +            </td>
  +          </tr>
  +          <tr>
  +            <td>Installed and stopped</td>
  +            <td>
  +               Start the application server.
  +            </td>
  +          </tr>
  +          <tr>
  +            <td>Installed and started</td>
  +            <td>
  +              Stop and then re-start the application server. This is useful for
  +              application servers that are not set to auto-reload resources.
  +            </td>
  +          </tr>
  +        </table>
  +      </subsection>
  +
  +      <subsection name="maven:appserver-stop">
  +        <p>
  +          The <code>maven:appserver-stop</code> target
  +          attempts to stop the application server instance you have specified
  +          via the <a href="properties.html">maven.appserver.* properties</a>.
  +        </p>
  +        <p>Optionally, you can invoke the <code>stop</code> target of the
  +        Ant build.xml file copied to ${maven.appserver.dir} instead. See the
  +        <a href="appserver.html#Appserver Proxy Build File">appserver proxy build 
file</a> for more
  +        information.
  +        </p>
  +        <p>
  +          This target only has relevance if the application server instance
  +          is actually started. All other situations do nothing.
  +        </p>
  +      </subsection>
  +
  +
  +      <subsection name="maven:appserver-clean">
  +        <p>
  +          The <code>maven:appserver-clean</code> target
  +          attempts to safely delete the directory specified by
  +          ${maven.appserver.dir}.
  +        </p>
  +        <p>
  +          This target has different behavior
  +          depending on the current status of the application server. The
  +          behavior is defined by the following rules:
  +        </p>
  +        <table>
  +          <tr><th>Server Status</th><th>Behavior</th></tr>
  +          <tr>
  +            <td>Installed and stopped</td>
  +            <td>
  +               Deletes the directory specified by ${maven.appserver.dir}.
  +            </td>
  +          </tr>
  +          <tr>
  +            <td>Installed and started</td>
  +            <td>
  +              Stop the application server instance and then delete the directory
  +              specified by ${maven.appserver.dir}.
               </td>
             </tr>
           </table>
  
  
  
  1.3       +30 -22    jakarta-turbine-maven/xdocs/plugins/j2ee/futures.xml
  
  Index: futures.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/xdocs/plugins/j2ee/futures.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- futures.xml       31 May 2002 16:51:19 -0000      1.2
  +++ futures.xml       14 Jun 2002 01:33:46 -0000      1.3
  @@ -2,31 +2,39 @@
   <document>
   
     <properties>
  -    <author email="[EMAIL PROTECTED]">dIon Gillard</author>
  -    <title>Futures for the J2EE Plug-in</title>
  +  <author email="[EMAIL PROTECTED]">dIon Gillard</author>
  +  <title>Futures for the J2EE Plug-in</title>
     </properties>
   
     <body>
  -    <section name="Futures">
  -      <p>
  -        The following is a list of things that are being contemplated
  -        for the Maven J2EE Plug-in.
  -      </p>
  -      <ol>
  -        <li>
  -          Add back the war lib excludes and includes
  -        </li>
  -        <li>
  -          Add HTML validation.
  -        </li>
  -        <li>
  -          Add EAR validation.
  -        </li>
  -        <li>
  -          Add technology specific validators, e.g. JSP/Turbine/Velocity/Struts
  -          etc
  -        </li>
  -     </ol>
  +  <section name="Futures">
  +    <p>
  +    The following is a list of things that are being contemplated
  +    for the Maven J2EE Plug-in.
  +    </p>
  +    <ol>
  +    <li>
  +      Add back the war lib excludes and includes
  +    </li>
  +    <li>
  +      Add HTML validation.
  +    </li>
  +    <li>
  +      Add EAR validation.
  +    </li>
  +    <li>
  +      Add technology specific validators, e.g. JSP/Turbine/Velocity/Struts
  +      etc
  +    </li>
  +    <li>
  +      Allow integration with a 'webserver' plugin so that application server
  +      requests can seamlessly be hooked into the application server.
  +    </li>
  +    <li>
  +      Tie where applicable the appserver instance to other Maven plugins that
  +      need an application server instance to do their work.
  +    </li>
  +   </ol>
      </section>
    </body>
   </document>
  
  
  
  1.2       +16 -1     jakarta-turbine-maven/xdocs/plugins/j2ee/index.xml
  
  Index: index.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/xdocs/plugins/j2ee/index.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- index.xml 30 May 2002 12:55:22 -0000      1.1
  +++ index.xml 14 Jun 2002 01:33:46 -0000      1.2
  @@ -9,7 +9,7 @@
     <body>
       <section name="J2EE Reference Documentation">
         <p>
  -        This document provides an overview of the reference section 
  +        This document provides an overview of the reference section
           for the Maven J2EE Plug-in.
           The documents presented here are references, if you are looking
           for more verbose usage material, please refer to the <a
  @@ -40,6 +40,21 @@
                 here.  This is a useful document if you are trying to
                 determine what a particular component of your directory
                 hierarchy is used for.
  +            </td>
  +          </tr>
  +          <tr><td><a href="appserver.html">Appserver Notes</a></td>
  +            <td>
  +              <p>
  +                This page contains additional reference material regarding the 
application server (
  +                appserver ) control features of the Maven J2EE plugin.
  +              </p>
  +              <p>
  +                For additional help in understanding what the appserver features of 
the
  +                Maven J2EE plugin are, look at the
  +                <a href="properties.html#Application Server">J2EE plug-in 
properties</a>
  +                and <a href="./build-file.html#maven:appserver-install">J2EE build 
file</a>
  +                documents.
  +              </p>
               </td>
             </tr>
             <tr><td><a href="futures.html">Futures</a></td>
  
  
  
  1.4       +5 -4      jakarta-turbine-maven/xdocs/plugins/j2ee/navigation.xml
  
  Index: navigation.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/xdocs/plugins/j2ee/navigation.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- navigation.xml    4 Jun 2002 03:20:52 -0000       1.3
  +++ navigation.xml    14 Jun 2002 01:33:46 -0000      1.4
  @@ -23,10 +23,11 @@
         <item name="Reference"               href="/ref/index.html"/>
         <item name="Plugins"                 href="/plugins/index.html">
           <item name="J2EE Plugin"           href="/plugins/j2ee/index.html">
  -          <item name="Build File"        href="/plugins/j2ee/build-file.html"/>
  -          <item name="Properties"        href="/plugins/j2ee/properties.html"/>
  -          <item name="Directory Layout"  href="/plugins/j2ee/dirlayout.html"/>
  -          <item name="Futures"           href="/plugins/j2ee/futures.html"/>
  +          <item name="Build File"          href="/plugins/j2ee/build-file.html"/>
  +          <item name="Properties"          href="/plugins/j2ee/properties.html"/>
  +          <item name="Directory Layout"    href="/plugins/j2ee/dirlayout.html"/>
  +          <item name="Appserver Notes"     href="/plugins/j2ee/appserver.html"/>
  +          <item name="Futures"             href="/plugins/j2ee/futures.html"/>
           </item>
           <item name="Struts Plugin"         href="/plugins/struts/index.html"/>
         </item>
  
  
  
  1.3       +380 -26   jakarta-turbine-maven/xdocs/plugins/j2ee/properties.xml
  
  Index: properties.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/xdocs/plugins/j2ee/properties.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- properties.xml    31 May 2002 16:51:19 -0000      1.2
  +++ properties.xml    14 Jun 2002 01:33:46 -0000      1.3
  @@ -4,6 +4,7 @@
     <properties>
       <author email="[EMAIL PROTECTED]">dIon Gillard</author>
       <author email="[EMAIL PROTECTED]">Kevin O'Neill</author>
  +    <author email="[EMAIL PROTECTED]">Peter Lynch</author>
       <title>Maven J2EE Plug-in Properties Documentation</title>
     </properties>
   
  @@ -14,18 +15,25 @@
           default values) used by the Maven J2EE Plug-in <a
             href="build-file.html">build file</a>.  These properties
           control various aspects of the J2EE build.  Most of these
  -        properties are optional and have defaults; however, there are 
  +        properties are optional and have defaults; however, there are
           mandatory properties that must be set as described in this document.
         </p>
         <p>
  -        These properties can be overridden to change the default behavior of 
  +        These properties can be overridden to change the default behavior of
           the Maven J2EE Plug-in.  If you need to override any of these properties,
           please refer to the <a href="../../start/integrate.html">Integration</a>
  -        document for the preferred method of setting properties in your project.  
  +        document for the preferred method of setting properties in your project.
         </p>
         <table>
           <tr><th>Section</th><th>Description</th></tr>
           <tr>
  +          <td><a href="#General Settings">General Settings</a></td>
  +          <td>
  +            These properties specify various settings that may be used in any
  +            J2EE Plug-in target.
  +          </td>
  +        </tr>
  +        <tr>
             <td><a href="#War Settings">War</a></td>
             <td>
               These properties specify various settings that control the build
  @@ -47,6 +55,14 @@
             </td>
           </tr>
           <tr>
  +          <td><a href="#Application Server">Appserver</a></td>
  +          <td>
  +            These properties detail what application server instance you would
  +            like to install and control for your project and how to configure
  +            it.
  +          </td>
  +        </tr>
  +        <tr>
             <td><a href="#Callbacks">Callbacks</a></td>
             <td>
               These properties specify how you can tell the J2EE Plug-in you would
  @@ -54,10 +70,37 @@
               before or after a war or ear is built.
             </td>
           </tr>
  -
         </table>
       </section>
   
  +
  +    <section name="General Settings" >
  +    <table>
  +        <tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
  +        <tr>
  +          <td><a name="maven.j2ee.version">maven.j2ee.version</a></td>
  +          <td>
  +            No for <br/>
  +            <code><a 
href="./build-file.html#maven:appserver-install">maven:appserver-*</a></code>
  +            targets. Otherwise,<br/>
  +            Yes.
  +          </td>
  +          <td>
  +            Specifies the version of J2EE you are trying to use. Valid values are:
  +            <ul>
  +              <li>12</li>
  +              <li>13</li>
  +            </ul>
  +            The above values represent version 1.2 and 1.3 respectively.
  +            The value of this property is especially important for the
  +            <a href="appserver.html#Supported Servers">supported servers</a>
  +            used with the appserver control features of this plugin.
  +          </td>
  +        </tr>
  +    </table>
  +    </section>
  +
  +
       <section name="War Settings">
         <table>
           <tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
  @@ -73,7 +116,7 @@
             <td>Yes</td>
             <td>
               Specifies the directory in the local file system that is
  -            used as the base directory for finding web applications. It defaults 
  +            used as the base directory for finding web applications. It defaults
               to <code><a href="../properties.html#Directory Layout 
Settings">${maven.src.dir}</a>/webapps</code>
             </td>
           </tr>
  @@ -82,7 +125,7 @@
             <td>Yes</td>
             <td>
               Specifies the directory in the local file system that holds
  -            web content to be placed in the war file. It defaults 
  +            web content to be placed in the war file. It defaults
               to ${maven.j2ee.war.src}/${maven.j2ee.war.name}
             </td>
           </tr>
  @@ -102,8 +145,8 @@
             <td>
               Specifies the pattern of files in the directory specified by
               <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dest}</a></code>
  -            that are <strong>not</strong> to be included in the 
  -            <code>/WEB-INF/classes</code> of the resulting war file. 
  +            that are <strong>not</strong> to be included in the
  +            <code>/WEB-INF/classes</code> of the resulting war file.
               It defaults to <code>**/package.html</code>.
             </td>
           </tr>
  @@ -140,7 +183,7 @@
           </tr>
         </table>
       </section>
  -    
  +
       <section name="EJB Settings">
         <table>
           <tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
  @@ -156,7 +199,7 @@
             <td>No</td>
             <td>
               Specifies the directory to be used to find the deployment descriptor
  -            and other files to be placed in <code>META-INF</code> directory of 
  +            and other files to be placed in <code>META-INF</code> directory of
               the resulting  ejb jar. It defaults to
               <code><a href="../properties.html#Directory Layout 
Settings">${maven.conf.dir}</a>/<a 
href="properties.html#maven.j2ee.ejb.name">${maven.j2ee.ejb.name}</a></code>
             </td>
  @@ -168,8 +211,8 @@
             </td>
             <td>Yes</td>
             <td>
  -            Specifies the a pattern of files to be included in the 
  -            <code>META-INF</code> directory of the resulting ejb jar, relative 
  +            Specifies the a pattern of files to be included in the
  +            <code>META-INF</code> directory of the resulting ejb jar, relative
               to the <code>${maven.j2ee.ejb.conf.dir}</code>. It defaults to
               <code>ejb-jar.xml</code>.
             </td>
  @@ -181,8 +224,8 @@
             </td>
             <td>Yes</td>
             <td>
  -            Specifies the a pattern of files to be excluded from the 
  -            <code>META-INF</code> directory of the resulting ejb jar, relative 
  +            Specifies the a pattern of files to be excluded from the
  +            <code>META-INF</code> directory of the resulting ejb jar, relative
               to the <code>${maven.j2ee.ejb.conf.dir}</code>. It defaults to
               blank.
             </td>
  @@ -191,7 +234,7 @@
             <td><a name="maven.j2ee.ejb.includes">maven.j2ee.ejb.includes</a></td>
             <td>Yes</td>
             <td>
  -            Specifies the pattern of files in the 
  +            Specifies the pattern of files in the
               <a href="../properties.html#Directory Layout 
Settings">${maven.build.dest}</a>
               directory to be included in the generated ejb jar. Defaults to 
<code>**/*</code>.
             </td>
  @@ -200,7 +243,7 @@
             <td><a name="maven.j2ee.ejb.excludes">maven.j2ee.ejb.includes</a></td>
             <td>Yes</td>
             <td>
  -            Specifies the pattern of compiled class files to be 
<strong>excluded</strong> 
  +            Specifies the pattern of compiled class files to be 
<strong>excluded</strong>
               from the generated ejb jar. Defaults to <code>**/package.html</code>.
             </td>
           </tr>
  @@ -218,7 +261,7 @@
             <td><a 
name="maven.j2ee.ejb.local.excludes">maven.j2ee.ejb.local.excludes</a></td>
             <td>Yes</td>
             <td>
  -            Files to be <strong>excluded</strong> from the 
  +            Files to be <strong>excluded</strong> from the
               <code><a 
href="properties.html#maven.j2ee.ejb.name">${maven.j2ee.ejb.name}</a>-local.jar</code>
             </td>
           </tr>
  @@ -236,14 +279,14 @@
             <td><a 
name="maven.j2ee.ejb.remote.excludes">maven.j2ee.ejb.remote.excludes</a></td>
             <td>Yes</td>
             <td>
  -            Files to be <strong>excluded</strong> from the 
  +            Files to be <strong>excluded</strong> from the
               <code><a 
href="properties.html#maven.j2ee.ejb.name">${maven.j2ee.ejb.name}</a>-remote.jar</code>
             </td>
           </tr>
         </table>
       </section>
  -    
  -    
  +
  +
       <section name="Ear Settings">
         <table>
           <tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
  @@ -258,9 +301,9 @@
             <td><a name="maven.j2ee.ear.includes">maven.j2ee.ear.includes</a></td>
             <td>Yes</td>
             <td>
  -            Specifies the pattern of files in the 
  +            Specifies the pattern of files in the
               <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dir}</a></code>
  -            directory to be included in the resulting ear file. It defaults to 
  +            directory to be included in the resulting ear file. It defaults to
               <code>*.jar, *.war</code>, that is, all jar and war files.
             </td>
           </tr>
  @@ -268,9 +311,9 @@
             <td><a name="maven.j2ee.ear.excludes">maven.j2ee.ear.excludes</a></td>
             <td>Yes</td>
             <td>
  -            Specifies the pattern of files in the 
  +            Specifies the pattern of files in the
               <code><a href="../properties.html#Directory Layout 
Settings">${maven.build.dir}</a></code>
  -            directory that are not to be included in the resulting ear file. 
  +            directory that are not to be included in the resulting ear file.
               It defaults to blank, that is, nothing is excluded.
             </td>
           </tr>
  @@ -286,6 +329,152 @@
   
         </table>
       </section>
  +
  +
  +
  +    <section name="Application Server">
  +      <p> Although application server ( appserver ) instance control is part
  +      of the J2EE plugin, all appserver related properties begin with
  +      the "maven.appserver" prefix. This is indicative of the large scope of
  +      functionality within the appserver targets.
  +      </p>
  +      <table>
  +        <tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
  +
  +        <tr>
  +          <td><a name="maven.appserver.name">maven.appserver.name</a></td>
  +          <td>No</td>
  +          <td>
  +            Specifies the name of the application server to install and control
  +            for your project.
  +            <p />
  +            Please refer to the <a href="appserver.html#Supported 
Servers">supported servers</a>
  +            table for a current list of supported appservers and the 
${maven.appserver.name}
  +            value they use use.
  +          </td>
  +        </tr>
  +
  +        <tr>
  +          <td><a name="maven.appserver.version">maven.appserver.version</a></td>
  +          <td>No</td>
  +          <td>
  +            Specifies the version of the appserver to install and control
  +            for your project. Please refer to the
  +            <a href="appserver.html#Supported Servers">supported servers</a>
  +            table for a current list of supported appservers and the
  +            ${maven.appserver.version} value they use.
  +          </td>
  +        </tr>
  +
  +        <tr>
  +          <td><a name="maven.appserver.home">maven.appserver.home</a></td>
  +          <td>No</td>
  +          <td>
  +            Specifies the directory where the shared installation of the appserver
  +            resides. This should be the home of the appserver specified by
  +            <a href="#maven.appserver.name">${maven.appserver.name}</a>
  +            and <a href="#maven.appserver.version">${maven.appserver.version}</a>.
  +          </td>
  +        </tr>
  +
  +        <tr>
  +          <td><a name="maven.appserver.dir">maven.appserver.dir</a></td>
  +          <td>No</td>
  +          <td>
  +            Specifies the directory where the appserver instance is installed
  +            during the <code><a 
href="build-file.html#maven:appserver-install">maven:appserver-install</a></code> 
target.
  +            Defaults to be ${basedir}/server .
  +          </td>
  +        </tr>
  +
  +        <tr>
  +          <td><a name="maven.appserver.host">maven.appserver.host</a></td>
  +          <td>No</td>
  +          <td>
  +            Specifies the default host to use to access the started server
  +            instance. Defaults to 'localhost'.
  +          </td>
  +        </tr>
  +
  +        <tr>
  +          <td><a name="maven.appserver.port.http">maven.appserver.port.http</a></td>
  +          <td>No</td>
  +          <td>
  +            Specifies the HTTP port number to use to access the started server
  +            instance. Defaults to 8080.
  +          </td>
  +        </tr>
  +
  +        <tr>
  +          <td><a name="maven.appserver.url">maven.appserver.url</a></td>
  +          <td>No</td>
  +          <td>
  +            The URL that is used to test if your appserver instance is running.
  +            This URL must point to a target that will return a response code &lt; 
400
  +            when your appserver instance is started. Default value is
  +            http://${maven.appserver.host}:${maven.appserver.port.http}/index.html
  +          </td>
  +        </tr>
  +
  +        <tr>
  +          <td><a 
name="maven.appserver.port.https">maven.appserver.port.https</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the HTTPS port number to use to access the started server
  +            instance using SSL. Defaults to 444.
  +          </td>
  +        </tr>
  +
  +        <tr>
  +          <td><a name="maven.appserver.port.one">maven.appserver.port.one</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Optional additional port you can specify when configuring appserver 
files during
  +            install.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.port.two">maven.appserver.port.two</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Optional additional port you can specify when configuring appserver 
files during
  +            install.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a 
name="maven.appserver.port.three">maven.appserver.port.three</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Optional additional port you can specify when configuring appserver 
files during
  +            install.
  +          </td>
  +        </tr>
  +
  +        <tr>
  +          <td><a name="maven.appserver.classpath">maven.appserver.classpath</a></td>
  +          <td>Yes</td>
  +          <td>
  +            A <a 
href="http://jakarta.apache.org/ant/manual/using.html#path";>path-like</a>
  +            value that can specify resources to make available as
  +            part of the classpath of the JVM used when controlling your appserver 
instance.
  +            For example, you may have several webapps running in the same container
  +            that require a JDBC driver be available. Adding a reference to that
  +            jar here will put it in the classpath of the JVM used to start
  +            your appserver.
  +            <p/>
  +            An example of a valid value might be:
  +            <p/>
  +            <code>/jars/database.jar;/jars/foobar.jar</code>
  +            <p/>
  +            Path seperators are automatically converted to their system correct 
values.
  +            By default, there are no additional paths. <strong>Jars required to 
control an appserver
  +            are automatically built-in and do not need to be added here.</strong>
  +          </td>
  +        </tr>
  +      </table>
  +    </section>
  +
  +
       <section name="Callbacks">
         <table>
           <tr><th>Property</th><th>Optional?</th><th>Description</th></tr>
  @@ -326,7 +515,7 @@
               There is no default for this property.
             </td>
           </tr>
  -        
  +
           <tr>
             <td><a name="maven.j2ee.callback.pre-ejb.buildFile">
               maven.j2ee.callback.pre-ejb.buildFile</a></td>
  @@ -399,12 +588,177 @@
              maven.j2ee.callback.post-ear.buildTarget</a></td>
             <td>Yes</td>
             <td>
  -            Specifies the target of the postprocess build file to be called after
  +            Specifies the target of the post-process build file to be called after
               an ear has been built.
               There is no default for this property.
             </td>
           </tr>
  +
  +
  +        <tr>
  +          <td><a name="maven.appserver.pre-appserver-install.buildFile">
  +           maven.appserver.pre-appserver-install.buildFile</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the build file to be used when pre-processing an appserver
  +            instance install or re-install.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.pre-appserver-install.buildTarget">
  +           maven.appserver.pre-appserver-install.buildTarget</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the target of the pre-process build file to be called
  +            before an appserver has been installed or re-installed.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.post-appserver-install.buildFile">
  +           maven.appserver.post-appserver-install.buildFile</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the build file to be used when post-processing an appserver
  +            instance install or re-install.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.post-appserver-install.buildTarget">
  +           maven.appserver.post-appserver-install.buildTarget</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the target of the post-process build file to be called
  +            after an appserver has been installed or re-installed.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.pre-appserver-start.buildFile">
  +           maven.appserver.pre-appserver-start.buildFile</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the build file to be used when pre-processing an appserver
  +            instance start or re-start.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.pre-appserver-start.buildTarget">
  +           maven.appserver.pre-appserver-start.buildTarget</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the target of the pre-process build file to be called
  +            before an appserver has been started or re-started.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.post-appserver-start.buildFile">
  +           maven.appserver.post-appserver-start.buildFile</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the build file to be used when post-processing an appserver
  +            instance start or re-start.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.post-appserver-start.buildTarget">
  +           maven.appserver.post-appserver-start.buildTarget</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the target of the post-process build file to be called
  +            after an appserver has been started or re-started.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.pre-appserver-stop.buildFile">
  +           maven.appserver.pre-appserver-stop.buildFile</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the build file to be used when pre-processing an appserver
  +            instance stop.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.pre-appserver-stop.buildTarget">
  +           maven.appserver.pre-appserver-stop.buildTarget</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the target of the pre-process build file to be called
  +            before an appserver has been stopped.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.post-appserver-stop.buildFile">
  +           maven.appserver.post-appserver-stop.buildFile</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the build file to be used when post-processing an appserver
  +            instance stop.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.post-appserver-stop.buildTarget">
  +           maven.appserver.post-appserver-stop.buildTarget</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the target of the post-process build file to be called
  +            after an appserver has been stopped.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.pre-appserver-clean.buildFile">
  +           maven.appserver.pre-appserver-clean.buildFile</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the build file to be used when pre-processing an appserver
  +            instance removal from the file system.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.pre-appserver-clean.buildTarget">
  +           maven.appserver.pre-appserver-clean.buildTarget</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the target of the pre-process build file to be called
  +            before an appserver has been removed from the file system.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.post-appserver-clean.buildFile">
  +           maven.appserver.post-appserver-clean.buildFile</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the build file to be used when post-processing an appserver
  +            instance removal from the file system.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +        <tr>
  +          <td><a name="maven.appserver.post-appserver-clean.buildTarget">
  +           maven.appserver.post-appserver-clean.buildTarget</a></td>
  +          <td>Yes</td>
  +          <td>
  +            Specifies the target of the post-process build file to be called
  +            after an appserver has been removed from the file system.
  +            There is no default for this property.
  +          </td>
  +        </tr>
  +
  +
         </table>
       </section>
  +
     </body>
   </document>
  
  
  
  1.1                  jakarta-turbine-maven/xdocs/plugins/j2ee/appserver.xml
  
  Index: appserver.xml
  ===================================================================
  <?xml version="1.0"?>
  <document>
  
    <properties>
      <author email="[EMAIL PROTECTED]">Peter Lynch</author>
      <title>Maven J2EE Plug-in: Appserver Notes</title>
    </properties>
  
    <body>
      <section name="Maven J2EE Appserver Control">
      <p>
      This page offers some general information about the appserver control
      features of the J2EE plug-in. Specific details about
      <a href="./build-file.html#maven:appserver-install">related targets</a> and
      their <a href="./properties.html#Application Server" >properties</a> can be 
found elsewhere.
      </p>
      </section>
      <section name="Plug-in Rationale">
      <p>
        When developing a web application (or website for that matter), each developer
        working on the project needs to have an environment to run and test their
        application. Rather than store a complete application server install in source
        control, it is much more feasible to have a centralized install of that
        application server. Then, using only the minimum configuration files the
        developer can control a separate isolated instance of the application server
        on their machine.
      </p>
      <p>
        The Maven J2EE plug-in appserver features use this technique to install and 
control
        application server instances for your project needs. The appserver
        features <strong>are not</strong> for
        deploying webapps or war files into application servers.
      </p>
      </section>
  
      <section name="Supported Servers">
      <p>
        The following table shows the various appserver versions that are
        supported by the appserver control features of the Maven J2EE plug-in
        and what propety values are required to be set in order for the
        maven:appserver-* targets to work with those versions.
      </p>
      <table>
        <tr>
          <th>Server</th>
          <th>${maven.appserver.name}</th>
          <th>${maven.appserver.version}</th>
          <th>${maven.j2ee.version}</th>
        </tr>
        <tr>
          <td><a href="http://jakarta.apache.org/tomcat";>Tomcat 4.x</a></td>
          <td><code>tomcat</code></td>
          <td><code>40</code></td>
          <td><code>12</code> or <code>13</code></td>
        </tr>
      </table>
  
      <p>The following application servers are expected to be supported soon:</p>
      <ul>
        <li><a href="http://enhydra.enhydra.org/";>Enhydra</a></li>
        <li><a href="http://www.orionserver.com/";>Orion</a></li>
        <li><a href="http://www.caucho.com/products/resin/";>Resin</a></li>
        <li><a href="http://www.weblogic.com/";>Weblogic</a></li>
      </ul>
      </section>
  
      <section name="Appserver Proxy Build File">
        <p>
        To make life even easier when using the appserver targets, the Maven J2EE
        plug-in includes a proxy build file. This means a file similar to the one
        below is copied to the directory specified by
        <a href="./properties.html#maven.appserver.dir">${maven.appserver.dir}</a>.
        </p>
        <table><tr><th>${maven.appserver.dir}/build.xml</th></tr></table>
        <source><![CDATA[
        <?xml version="1.0"?>
          <project name="Maven Application Server Plugin Proxy" default="install"
          basedir="@basedir@">
  
          <!-- ================================================================== -->
          <!-- Proxy for controlling an installed application server instance     -->
          <!-- ================================================================== -->
  
          <!-- ========================================================== -->
          <!-- Give user a chance to override without editing this file   -->
          <!-- (and without typing -D each time they compile)             -->
          <!-- ========================================================== -->
          <!-- all ant projects specific properties                       -->
          <property file="${user.home}/build.properties" />
          <!-- project/user specific settings                             -->
          <property file="@basedir@/build.properties" />
          <!-- anything here is expected to be project defaults           -->
          <property file="@basedir@/project.properties" />
          <!-- ========================================================== -->
  
          <target name="install">
            <ant antfile="${maven.home}/plugins/j2ee/build.xml"
              target="appserver-install" />
          </target>
  
          <target name="start">
          <ant antfile="${maven.home}/plugins/j2ee/build.xml"
            target="appserver-start" />
          </target>
  
          <target name="stop">
          <ant antfile="${maven.home}/plugins/j2ee/build.xml"
            target="appserver-stop" />
            </target>
  
          </project>]]>
        </source>
        <p>Using this build file, you can run the appserver related targets quickly
        from within your ${maven.appserver.dir} directory. Typing simply</p>
        <source><![CDATA[ant]]></source>
        <p>can stop, re-install, and re-start a started server instance.</p>
      </section>
    </body>
  </document>
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to