<?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>
  <bannerLeft>
    <src>http://maven.apache.org/images/apache-maven-project.png</src>
    <href>http://www.apache.org/</href>
  </bannerLeft>

  <bannerRight>
    <src>http://maven.apache.org/images/maven-logo-black-on-white.png</src>
    <href>http://maven.apache.org/</href>
  </bannerRight>
  <skin>
    <groupId>org.apache.maven.skins</groupId>
    <artifactId>maven-fluido-skin</artifactId>
    <version>1.4</version>
  </skin>

  <custom>
    <fluidoSkin>
      <sourceLineNumbersEnabled>true</sourceLineNumbersEnabled>
      <googlePlusOne />
      <googleSearch>
        <sitesearch/>
      </googleSearch>
    </fluidoSkin>
  </custom>
  <body>
    <breadcrumbs>
      <item name="Shared Components" href="http://maven.apache.org/shared/index.html" />
    </breadcrumbs>
  </body>
</project>
