<?xml version="1.0" encoding="UTF-8"?>

<!--
  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.3.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/DECORATION/1.3.0 http://maven.apache.org/xsd/decoration-1.3.0.xsd"
         name="Jackrabbit Filevault Package Maven Plugin">
    <body>
        <menu name="Overview">
            <item name="Introduction" href="index.html"/>
            <item name="Goals" href="plugin-info.html"/>
            <item name="Developing" href="dev.html"/>
        </menu>
        <menu name="Documentation">
            <item name="Import-package Generation" href="import_package.html"/>
            <item name="Migration from Adobe" href="migrating.html"/>
        </menu>
        <menu name="Project Documentation">
            <item href="project-summary.html" name="Project Summary"/>
            <item href="license.html" name="Project License"/>
            <item href="source-repository.html" name="Source Repository"/>
            <item href="issue-tracking.html" name="Issue Tracking"/>
            <item href="mail-lists.html" name="Mailing Lists"/>
            <item href="dependencies.html" name="Dependencies"/>
            <item href="plugin-management.html" name="Plugin Management"/>
            <item href="plugins.html" name="Project Plugins"/>
            <item href="distribution-management.html" name="Distribution Management"/>
        </menu>
        <menu name="Links">
            <item href="http://jackrabbit.apache.org/filevault/" name="Apache Jackrabbit FileVault"/>
            <item href="http://jackrabbit.apache.org/" name="Apache Jackrabbit"/>
        </menu>
        <menu name="Site Versions">
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin-archives/1.0.2-SNAPSHOT" name="1.0.2-SNAPSHOT"/>
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin" name="1.0.1"/>
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin-archives/1.0.0" name="1.0.0"/>
        </menu>
    </body>

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

    <custom>
        <fluidoSkin>
            <sourceLineNumbersEnabled>true</sourceLineNumbersEnabled>
            <topBarEnabled>true</topBarEnabled>
            <sideBarEnabled>true</sideBarEnabled>
            <gitHub>
                <projectId>apache/jackrabbit-filevault-package-maven-plugin</projectId>
                <ribbonOrientation>right</ribbonOrientation>
            </gitHub>
            <ohloh>
                <projectId>jackrabbit-filevault-package-maven-plugin</projectId>
            </ohloh>
            <googlePlusOne/>
        </fluidoSkin>
    </custom>
</project>
