<?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.7.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/DECORATION/1.7.0 
                             http://maven.apache.org/xsd/decoration-1.7.0.xsd" 
         name="Apache Syncope">

  <publishDate position="none"/>
  <version position="none"/>
 
  <skin>
    <groupId>org.apache.maven.skins</groupId>
    <artifactId>maven-fluido-skin</artifactId>
    <version>1.5</version>
  </skin>
  <custom>
    <fluidoSkin>
      <topBarEnabled>false</topBarEnabled>
      <sideBarEnabled>true</sideBarEnabled>
      <leftColumnClass>span2</leftColumnClass>
      <bodyColumnClass>span10</bodyColumnClass>
      <sourceLineNumbersEnabled>false</sourceLineNumbersEnabled>
      <skipGenerationDate>true</skipGenerationDate>
      <twitter>
        <user>syncopeidm</user>
        <showUser>true</showUser>
        <showFollowers>false</showFollowers>
      </twitter>
      <facebookLike/>
      <googlePlusOne/>
    </fluidoSkin>
  </custom>
  
  <body>
    <breadcrumbs>
      <item name="Apache" href="http://www.apache.org/"/>
      <item name="Apache Syncope" href="http://syncope.apache.org/"/>
    </breadcrumbs>
        
    <menu name="Apache Syncope™" inherit="top">
      <item name="IAM Scenario" href="iam-scenario"/>
      <item name="Architecture" href="architecture"/>
      <item name="Demo" href="demo"/>
      <item name="Downloads" href="downloads"/>
      <item name="Security" href="https://syncope.apache.org/security"/>
      <item name="Documentation" href="docs/"/>
      <item name="Mailing Lists" href="mailing-lists"/>
      <item name="Team" href="team"/>
      <item name="License" href="https://www.apache.org/licenses/"/>
      <item name="Professional Services" href="professional-services"/>
    </menu>
        
    <menu name="Development">
      <item name="Roadmap" href="http://cwiki.apache.org/confluence/display/SYNCOPE/Roadmap"/>
      <item name="How to contribute?" href="contributing"/>
      <item name="Source Repository" href="source-repository"/>
      <item name="Continuous Integration" href="integration"/>
      <item name="Issue Management" href="issue-management"/>
      <item name="Building" href="building"/>
      <item name="Release Process" href="release-process"/>
    </menu>

    <menu name="ASF">
      <item name="How Apache Works" href="http://www.apache.org/foundation/how-it-works"/>
      <item name="Foundation" href="http://www.apache.org/foundation/"/>
      <item name="Sponsoring Apache" href="http://www.apache.org/foundation/sponsorship"/>
      <item name="Thanks" href="http://www.apache.org/foundation/thanks"/>
    </menu>

    <footer>
      <![CDATA[
Copyright &copy; 2021, the Apache Software Foundation.<br/>
Apache, Syncope, Apache Syncope, the Apache feather logo and the Apache Syncope project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
    
    <div class="pull-right">
      <a href="https://www.openhub.net/p/syncope"><img src="https://www.openhub.net/p/syncope/widgets/project_thin_badge.gif"/></a>
      <a href="https://bestpractices.coreinfrastructure.org/projects/154">
        <img src="https://bestpractices.coreinfrastructure.org/projects/154/badge" style="vertical-align: top"/>
      </a>
      <img src="https://img.shields.io/maven-central/v/org.apache.syncope/syncope.png" style="vertical-align: top"/>
      <a href="https://travis-ci.com/github/apache/syncope">
        <img src="https://api.travis-ci.com/apache/syncope.png" style="vertical-align: top"/>
      </a>
      <a href="https://github.com/apache/syncope/actions/workflows/crosschecks.yml">
        <img src="https://github.com/apache/syncope/actions/workflows/crosschecks.yml/badge.svg" style="max-width:100%;vertical-align: top">
      </a>
      <a href="https://github.com/apache/syncope/actions/workflows/codeql-analysis.yml">
        <img src="https://github.com/apache/syncope/actions/workflows/codeql-analysis.yml/badge.svg" style="max-width:100%;vertical-align: top">
      </a>
    </div>
      ]]>
    </footer>
  </body>

</project>
