<?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 name="Apache Tomcat Maven Plugin">
  <bannerLeft>
    <name>Tomcat</name>
    <src>http://tomcat.apache.org/images/tomcat.gif</src>
    <href>http://tomcat.apache.org/</href>
  </bannerLeft>
  <bannerRight>
    <src>http://www.apache.org/images/asf-logo.gif</src>
    <href>http://www.apache.org</href>
  </bannerRight>
  <skin>
    <groupId>org.apache.maven.skins</groupId>
    <artifactId>maven-fluido-skin</artifactId>
    <version>1.3.0</version>
  </skin>

  <custom>
    <fluidoSkin>
      <topBarEnabled>true</topBarEnabled>
      <sideBarEnabled>false</sideBarEnabled>
      <topBarContainerStyle>width: auto;</topBarContainerStyle>
      <googleSearch>
        <sitesearch>${project.url}</sitesearch>
      </googleSearch>
      <twitter>
        <user>TheApacheTomcat</user>
        <showUser>true</showUser>
        <showFollowers>false</showFollowers>
      </twitter>
    </fluidoSkin>

  </custom>

  <publishDate format="dd MMMM yyyy" position="right" />
  <version position="right" />

  <body>
    <breadcrumbs>
      <item name="Apache" href="http://www.apache.org/" />
      <item name="Apache Tomcat" href="http://tomcat.apache.org/" />
      <item name="Apache Tomcat Maven plugin" href="index.html" />
    </breadcrumbs>

    <menu name="Apache Tomcat Mojo">
      <item name="About"             href="index.html"/>
      <item name="Context Goals"     href="context-goals.html"/>
      <item name="Container Goals"   href="container-goals.html"/>
      <item name="Executable War"    href="executable-war-jar.html"/>
      <item name="Run Mojo"          href="run-mojo-features.html"/>
      <item name="Maven Archetype"   href="archetype.html"/>
      <item name="Developement Test" href="snapshot-test.html"/>
      <item name="How to contribute" href="how-to-contribute.html"/>
      <item name="Changelog"         href="jira-report.html"/>
      <item name="License"           href="http://www.apache.org/licenses/"/>
    </menu>

    <menu ref="modules" inherit="bottom"/>
    <menu ref="reports" inherit="bottom"/>

    <menu name="ASF">
      <item name="How Apache Works" href="http://www.apache.org/foundation/how-it-works.html"/>
      <item name="Foundation" href="http://www.apache.org/foundation/"/>
      <item name="Sponsoring Apache" href="http://www.apache.org/foundation/sponsorship.html"/>
      <item name="Thanks" href="http://www.apache.org/foundation/thanks.html"/>
    </menu>

    <footer>
      <div class="row span16">
        Apache Tomcat, Tomcat, Apache Maven, Maven, Apache, the Apache feather, and the Apache Tomcat project logo are trademarks of the Apache Software Foundation.</div>
    </footer>

  </body>

</project>
