<?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"/>
            <item name="Releasing" href="howto_release.html"/>
        </menu>
        <menu name="Documentation">
            <item name="Import-package Generation" href="import_package.html"/>
            <item name="Migration from Adobe" href="migrating.html"/>
            <item name="Validators" href="validators.html"/>
        </menu>
        <menu ref="modules"/>
        <menu ref="reports" inherit="bottom"/>
        <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.1.3-SNAPSHOT" name="1.1.3-SNAPSHOT"/>
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin" name="1.1.2"/>
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin-archives/1.1.0" name="1.1.0"/>
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin-archives/1.0.4" name="1.0.4"/>
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin-archives/1.0.3" name="1.0.3"/>
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin-archives/1.0.1" 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.9</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>
