<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- 
/*
 * 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>Properties</title>
    <author email="nathan.coast@blueyonder.co.uk">Nathan Coast</author>
  </properties>

  <body>
    <section name="ejb jar settings">
      <table>
        <tr><th>Property</th><th>Optional?</th><th>Description</th><th>Default</th></tr>
        <tr>
          <td>maven.ear.manifest</td>
          <td>Yes</td>
          <td>
            Location of the manifest file to be used within the ear file.
          </td>
          <td>
            ${maven.src.dir}/application/META-INF/MANIFEST.MF
          </td>
        </tr>
        <tr>
          <td>maven.ear.appxml</td>
          <td>Yes</td>
          <td>
            Location of the application.xml file 
            to be used within the ear file.
          </td>
          <td>
            ${maven.src.dir}/application/META-INF/application.xml
          </td>
        </tr>
        <tr>
          <td>maven.ear.appxml.generate</td>
          <td>Yes</td>
          <td>
            Indicates if application.xml files should
            be autogenerated 
          </td>
          <td>
            false
          </td>
        </tr>
        <tr>
          <td>maven.ear.appxml.version</td>
          <td>Yes</td>
          <td>
            Inserts the doctype header depending on the specified version. Default is 1.3
          </td>
          <td>
            false
          </td>
        </tr>
        <tr>
          <td>maven.ear.displayname</td>
          <td>Yes</td>
          <td>
            Display name of the application to be used
            when application.xml file is autogenerated
          </td>
          <td>
            ${pom.id}
          </td>
        </tr>
        <tr>
          <td>maven.ear.resources</td>
          <td>Yes</td>
          <td>
            Directory that resources are copied to during the build
          </td>
          <td>
            ${maven.build.dir}/ear
          </td>
        </tr>
        <tr>
          <td>maven.ear.src</td>
          <td>Yes</td>
          <td>
            Single directory for extra files to include in the EAR
          </td>
          <td>
            ${maven.src.dir}/application
          </td>
        </tr>
      </table>
    </section>
    <section name="other settings">
      <table>
        <tr><th>Property</th><th>Description</th><th>See</th></tr>
        <tr>
          <td>maven.build.dir</td>
          <td>where the component will be assembled</td>
          <td>
            <A href="../java/properties.html#Other Settings">maven.build.dir</A>
          </td>
        </tr>
        <tr>
          <td>maven.final.name</td>
          <td>The assembled component will be <code>${maven.build.dir}/${maven.final.name}.ear</code></td>
          <td>
            <A href="../java/properties.html#Other Settings">maven.final.name</A>
          </td>
        </tr>
      </table>
    </section>
    <section name="Including artifacts in the ear file">
      <p>
        You must tell Maven what artifact you want to include in the ear. 
        This operation is type sensitive.
        Maven can bundle in ear artifacts of following types: jar, war, ejb, rar, sar.
        Artifacts of other types are ignored.
        This is achieved by specifying meta-information in the POM, using the
        following syntax:
      </p>

  <source><![CDATA[
    <dependency>
      <groupId>groupId</groupId>
      <artifactId>ejbArtifactId</artifactId>
      <version>aversion</version>
      <type>ejb</type>
      <properties>
        <ear.bundle>true</ear.bundle>
      </properties>
    </dependency>
  ]]></source>
        
      <p>
      Those artifact will be also "visible" during generation
      of application.xml file. In case of war artifacts you can also
      specify context root which will be set in application.xml file:
      </p>
    <source><![CDATA[
    <dependency>
      <groupId>groupId</groupId>
      <artifactId>warArtifactId</artifactId>
      <version>aversion</version>
      <type>war</type>
      <properties>
        <ear.bundle>true</ear.bundle>
        <ear.appxml.war.context-root>webapp</ear.appxml.war.context-root>
      </properties>
    </dependency>
  ]]></source>
  
       <p>
         Please note that if a jar is a java client module, you will need to declare
         it using the <code>ear.module</code> property, rather than ear.bundle:
       </p>
  <source><![CDATA[
    <dependency>
      <groupId>groupId</groupId>
      <artifactId>jarArtifactId</artifactId>
      <version>aversion</version>
      <type>jar</type>
      <properties>
        <ear.module>true</ear.module>
      </properties>
    </dependency>
  ]]></source>

    </section>
  </body>
</document>
