<?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="Maven">
  <version position="none" />

  <skin>
    <groupId>org.apache.maven.skins</groupId>
    <artifactId>maven-fluido-skin</artifactId>
    <version>${fluidoVersion}</version><!-- modify pom.xml property if necessary -->
  </skin>

  <edit>${project.scm.url}</edit>

  <custom>
    <fluidoSkin>
      <sourceLineNumbersEnabled>true</sourceLineNumbersEnabled>
      <googleSearch>
        <sitesearch>https://maven.apache.org</sitesearch>
      </googleSearch>
    </fluidoSkin>
  </custom>
  
  <body>
    <links>
      <item name="Download" href="/download.cgi" />
      <item name="Get Sources" href="/scm.html" />
    </links>
    <breadcrumbs>
      <item name="Maven"  href="https://maven.apache.org/index.html" />
    </breadcrumbs>

    <menu>
      <item name="Welcome" href="/index.html"/>
      <item name="License" href="https://www.apache.org/licenses/"/>
    </menu>
 
    <menu name="About Maven">
      <item name="What is Maven?" href="/what-is-maven.html"/>
      <item name="Features" href="/maven-features.html"/>
      <item name="Download" href="/download.html"/>
      <item name="Use" href="/users/index.html" collapse="true">
        <item name="Install" href="/install.html"/>
        <item name="Run" href="/run.html"/>
        <item name="Configure" href="/configure.html"/>
        <item name="IDE Integration" href="/ide.html"/>
        <item name="Support and Training" href="/support-and-training.html"/>
      </item>
      <item name="Release Notes" href="/docs/history.html"/>
      <!--  <item name="Powered By" href="/powered-by-m2.html"/> -->
    </menu>

    <menu name="Documentation">
      <item name="Maven Plugins" href="/plugins/index.html" />
      <item name="Index (category)" href="/guides/index.html" />

      <item name="User Centre" href="/users/index.html" collapse="true">
        <item name="Maven in 5 Minutes" href="/guides/getting-started/maven-in-five-minutes.html" />
        <item name="Getting Started Guide" href="/guides/getting-started/index.html" collapse="true">
          <item name="The Build Lifecycle" href="/guides/introduction/introduction-to-the-lifecycle.html" />
          <item name="The POM" href="/guides/introduction/introduction-to-the-pom.html" />
          <item name="Profiles" href="/guides/introduction/introduction-to-profiles.html" />
          <item name="Standard Directory Layout" href="/guides/introduction/introduction-to-the-standard-directory-layout.html" />
          <item name="Dependency Mechanism" href="/guides/introduction/introduction-to-dependency-mechanism.html" collapse="true">
            <item name="Optional &amp; Exclusion" href="/guides/introduction/introduction-to-optional-and-excludes-dependencies.html" />
          </item>
        </item>
        <!--
        <item name="Build Cookbook" href="/users/cookbook/index.html"/>
        -->
        <item name="Getting Help" href="/users/getting-help.html"/>
        <item name="Running Maven" href="/run-maven/index.html" />
        <item name="Configuring Plugins" href="/guides/mini/guide-configuring-plugins.html" collapse="true">
          <item name="Plugin Prefix Resolution" href="/guides/introduction/introduction-to-plugin-prefix-mapping.html" />
        </item>
        <item name="Creating a site" href="/guides/mini/guide-site.html" collapse="true">
          <item name="Markup Formats" href="/doxia/references/index.html" />
          <item name="Snippet Macro" href="/guides/mini/guide-snippet-macro.html" />
        </item>
        <item name="Archetypes" href="/guides/introduction/introduction-to-archetypes.html" collapse="true">
          <item name="Creating Archetypes" href="/guides/mini/guide-creating-archetypes.html" />
        </item>
        <item name="Repositories" href="/guides/introduction/introduction-to-repositories.html" collapse="true">
          <item name="Install to Local" href="/guides/mini/guide-3rd-party-jars-local.html" />
          <item name="Deploy to Remote" href="/guides/mini/guide-3rd-party-jars-remote.html" />
          <item name="Repository Management" href="/repository-management.html" />
          <item name="Authenticated HTTPS" href="/guides/mini/guide-repository-ssl.html" />
          <item name="Relocation" href="/guides/mini/guide-relocation.html" />
        </item>
        <item name="Guides" href="/guides/mini/index.html" collapse="true">
          <item name="Configuring for Reproducible Builds" href="/guides/mini/guide-reproducible-builds.html" />
          <item name="Creating Assemblies" href="/guides/mini/guide-assemblies.html" />
          <item name="Configuring Archive Plugins" href="/guides/mini/guide-archive-configuration.html" />
          <item name="Configuring Maven" href="/guides/mini/guide-configuring-maven.html" />
          <item name="Mirror Settings" href="/guides/mini/guide-mirror-settings.html" />
          <item name="Deployment and Security Settings" href="/guides/mini/guide-deployment-security-settings.html" />
          <item name="Generating Sources" href="/guides/mini/guide-generating-sources.html" />
          <item name="Working with Manifests" href="/guides/mini/guide-manifest.html" />
          <item name="Maven Classloading" href="/guides/mini/guide-maven-classloading.html" />
          <item name="Using Modules" href="/guides/mini/guide-multiple-modules.html" />
          <item name="Using Repositories" href="/guides/mini/guide-multiple-repositories.html" />
          <item name="Using Proxies" href="/guides/mini/guide-proxies.html" />
          <item name="Using Release Plugin" href="/guides/mini/guide-releasing.html" />
          <item name="Using Ant" href="/guides/mini/guide-using-ant.html" />
          <item name="Using Modello" href="/guides/mini/guide-using-modello.html" />
          <item name="Using Extensions" href="/guides/mini/guide-using-extensions.html" />
          <item name="Building for Different Environments" href="/guides/mini/guide-building-for-different-environments.html" />
          <item name="Using Toolchains" href="/guides/mini/guide-using-toolchains.html" />
          <item name="Encrypting Passwords" href="/guides/mini/guide-encryption.html" />
          <item name="HTTP Connection Settings" href="/guides/mini/guide-http-settings.html" />
          <item name="Alternative Wagon Providers" href="/guides/mini/guide-wagon-providers.html" />
          <item name="Building JDK 1.4 Projects Using JDK 1.5" href="/guides/mini/guide-building-jdk14-on-jdk15.html" />
          <item name="Configuring Default Mojo Executions" href="/guides/mini/guide-default-execution-ids.html" />
        </item>
        <item name="Settings Reference" href="/settings.html" /> <!-- TODO: all references should be collected under another area instead/as well, reconsider -->
        <item name="POM Reference" href="/pom.html" />
        <item name="FAQ" href="/general.html"/>
      </item>
      <item name="Plugin Developer Centre" href="/plugin-developers/index.html" collapse="true">
        <item name="Introduction" href="/guides/introduction/introduction-to-plugins.html" />
        <item name="Your First Mojo" href="/guides/plugin/guide-java-plugin-development.html" />
        <item name="Your First Report Mojo" href="/guides/plugin/guide-java-report-plugin-development.html" />
        <item name="Testing Plugins" href="/plugin-developers/plugin-testing.html" />
        <item name="Documenting Plugins" href="/plugin-developers/plugin-documenting.html" />
        <item name="Plugins Cookbook" href="/plugin-developers/cookbook/index.html" collapse="true">
          <item name="Build Time" href="/plugin-developers/cookbook/add-build-time-to-manifest.html" />
          <item name="SVN Revision" href="/plugin-developers/cookbook/add-svn-revision-to-manifest.html" />
          <item name="Attach Source + Javadoc" href="/plugin-developers/cookbook/attach-source-javadoc-artifacts.html" />
          <item name="Assembly" href="/plugin-developers/cookbook/generate-assembly.html" />
          <item name="Plexus Javadoc to Plexus Annotations" href="/plugin-developers/cookbook/plexus-plugin-upgrade.html" />
          <item name="Using JSR-330" href="/maven-jsr330.html" />
        </item>
        <item name="Mojo API" href="/developers/mojo-api-specification.html" />
        <item name="Common Bugs and Pitfalls" href="/plugin-developers/common-bugs.html" />
        <item name="Maven Lifecycle Extensions" href="/examples/maven-3-lifecycle-extensions.html" />
      </item>
      <item name="Maven Central Repository" href="/repository/index.html" collapse="true">
        <item name="Maintaining your Metadata" href="/project-faq.html" />
        <item name="Guide to Uploading Artifacts" href="/repository/guide-central-repository-upload.html" />
        <item name="Fixing Metadata" href="/repository/central-metadata.html" />
        <item name="Central Index" href="/repository/central-index.html" />
      </item>
      <item name="Maven Developer Centre" href="/developers/index.html" collapse="true">
        <item name="Guide to Helping with Maven" href="/guides/development/guide-helping.html" />
        <item name="Code Style and Conventions" href="/developers/conventions/code.html" />
        <item name="JIRA Convention" href="/developers/conventions/jira.html" />
        <item name="Git Convention" href="/developers/conventions/git.html" />
        <item name="Developing Maven" href="/guides/development/guide-maven-development.html" collapse="true">
          <item name="Building Maven" href="/guides/development/guide-building-maven.html"/>
        </item>
        <item name="Release Process" href="/developers/release/index.html" collapse="true">
          <item name="Common Procedure" href="/developers/release/maven-project-release-procedure.html" />
          <item name="Maven Core" href="/developers/release/maven-core-release.html" />
          <item name="Parent POM" href="/developers/release/parent-pom-release.html" />
          <item name="GPG Keys" href="/developers/release/pmc-gpg-keys.html" />
        </item>
        <item name="Deploy Maven Website" href="/developers/website/index.html" collapse="true">
          <item name="Components Documentation" href="developers/website/deploy-component-reference-documentation.html" />
          <item name="Component Helper" href="/developers/website/component-reference-documentation-helper.html" />
        </item>
        <item name="Committers" href="/developers/welcome-to-new-committers.html" collapse="true">
          <item name="Environment" href="/developers/committer-environment.html"/>
          <item name="Settings" href="/developers/committer-settings.html"/>
          <item name="Plugins Retirement Plan" href="/developers/retirement-plan-plugins.html"/>
          <item name="Maven Dependency Policies" href="/developers/dependency-policies.html"/>
          <item name="Compatibility Plan" href="/developers/compatibility-plan.html"/>
        </item>
      </item>
      <item name="Books and Resources" href="/articles.html" />
      <item name="Security" href="/security.html" />
    </menu>

    <menu name="Community">
      <item name="Community Overview" href="/community.html" />
      <item name="Project Roles" href="/project-roles.html" />
      <item name="How to Contribute" href="/guides/development/guide-helping.html" />
      <item name="Getting Help" href="/users/getting-help.html" />
      <item name="Issue Management" href="/issue-management.html" />
      <item name="Getting Maven Source" href="/scm.html" />
      <item name="The Maven Team" href="/team.html" />
    </menu>
  </body>
</project>
