<?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="Redback">

  <custom>
    <fluidoSkin>
      <topBarEnabled>true</topBarEnabled>
      <copyrightStyle>pull-right</copyrightStyle>
      <sideBarEnabled>false</sideBarEnabled>
      <skipGenerationDate>true</skipGenerationDate>
      <googleSearch>
        <sitesearch>https://archiva.apache.org/redback</sitesearch>
      </googleSearch>
      <ohloh>
        <projectId>8659</projectId>
        <widget>thin-badge</widget>
      </ohloh>
      <gitHub>
        <projectId>apache/archiva</projectId>
        <ribbonOrientation>right</ribbonOrientation>
        <ribbonColor>gray</ribbonColor>
      </gitHub>

    </fluidoSkin>

  </custom>

  <publishDate format="yyyy-MM-dd" position="right" />
  <version position="right" />
 
  <body>
    <head>
      <![CDATA[<link rel="stylesheet" href="../css/site.css" type="text/css" />]]>
    </head>

    <breadcrumbs>
      <item name="Apache" href="https://www.apache.org" />
      <item name="Archiva" href="../../index.html" />
      <item name="Redback" href="../index.html" />
      <item name="Redback Modules" href="index.html" />
    </breadcrumbs>

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


    <menu name="ASF" inherit="bottom">
      <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>

  </body>
</project>
