<?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.8.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/DECORATION/1.8.0 http://maven.apache.org/xsd/decoration-1.8.0.xsd"
    name="Jackrabbit FileVault Package Maven Plugin">
    <body>
        <breadcrumbs>
            <item name="Jackrabbit FileVault Package Maven Plugin" href="https://jackrabbit.apache.org/filevault-package-maven-plugin" />
        </breadcrumbs>
        <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.7-SNAPSHOT" name="1.1.7-SNAPSHOT"/>
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin" name="1.1.6"/>
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin-archives/1.1.4" name="1.1.4"/>
            <item href="http://jackrabbit.apache.org/filevault-package-maven-plugin-archives/1.1.2" 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>

    <custom>
        <fluidoSkin>
            <gitHub>
                <projectId>apache/jackrabbit-filevault-package-maven-plugin</projectId>
                <ribbonOrientation>right</ribbonOrientation>
            </gitHub>
            <ohloh>
                <projectId>jackrabbit-filevault-package-maven-plugin</projectId>
            </ohloh>
        </fluidoSkin>
    </custom>
</project>
