<?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 xmlns="http://maven.apache.org/DECORATION/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd"
  name="Apache Maven SCM">

  <bannerLeft>
    <name>${project.name}</name>
    <src>http://maven.apache.org/images/apache-maven-project.png</src>
    <href>http://maven.apache.org/</href>
  </bannerLeft>
  <bannerRight>
    <src>http://maven.apache.org/images/maventxt_logo_200.gif</src>
  </bannerRight>

  <skin>
    <groupId>org.apache.maven.skins</groupId>
    <artifactId>maven-fluido-skin</artifactId>
    <version>1.2.1</version>
  </skin>

  <version position="left" />

  <body>
    <menu ref="modules" />

    <menu name="Quick Links">
      <item name="Home" href="/index.html"/>
      <item name="Maven SCM Plugin" href="/maven-scm-plugin/index.html"/>
      <item name="Javadoc" href="/apidocs/index.html"/>
      <item name="SCM URL Format" href="/scm-url-format.html"/>
      <item name="Supported SCMs" href="/scms-overview.html" collapse="true">
        <item name="Accurev" href="/accurev.html"/>
        <item name="Bazaar" href="/bazaar.html"/>
        <item name="Mercurial" href="/mercurial.html"/>
        <item name="Clearcase" href="/clearcase.html"/>
        <item name="CM Synergy" href="/synergy.html"/>
        <item name="CVS" href="/cvs.html"/>
        <item name="Git" href="/git.html"/>
        <item name="Jazz" href="/jazz.html"/>
        <item name="Local" href="/local.html"/>
        <item name="Perforce" href="/perforce.html"/>
        <item name="StarTeam" href="/starteam.html"/>
        <item name="Subversion" href="/subversion.html"/>
        <item name="Visual Source Safe" href="/vss.html"/>
        <item name="Team Foundation Server" href="/tfs.html"/>
      </item>
      <item name="Guides" href="/guide/index.html" collapse="true">
        <item name="How to use Maven-SCM in my application" href="/guide/usage.html"/>
        <item name="How to write a new SCM provider" href="/guide/new_provider.html"/>
      </item>
      <item name="SCM Providers Matrix" href="/matrix.html"/>
    </menu>

    <menu ref="reports"/>
  </body>
</project>
