<?xml version="1.0" encoding="ISO-8859-1"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you 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.
-->

<project>
  <body>
    <menu name="Overview">
      <item name="Introduction" href="index.html"/>
      <item name="Goals" href="plugin-info.html"/>
      <item name="Usage" href="usage.html"/>
      <item name="FAQ" href="faq.html"/>
    </menu>
    <menu name="Examples">
      <item name="Exclude the project jar from the rar" href="examples/exclude-project-jar.html"/>
      <item name="Custom location of Resource Adapter Descriptor" href="examples/ra-custom-location.html" />
      <item name="Include extra files in RAR" href="examples/include-extra-files.html" />
      <item name="Adding Manifest File" href="examples/manifest.html" />
    </menu>
    <menu name="Resources">
      <item name="J2EE Connector API specification" href="http://java.sun.com/j2ee/connector/" />
      <item name="Resource Adapter Archive Descriptor Sample" href="http://docs.sun.com/source/817-2254-10/Ch_04_sm.html" />
    </menu>
  </body>
</project>
