<?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/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <name>Apache Syncope</name>
  <description>Apache Syncope parent POM</description>

  <groupId>org.apache.syncope</groupId>
  <artifactId>syncope</artifactId>
  <version>1.2.7</version>
  <packaging>pom</packaging>

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>17</version>
    <relativePath />
  </parent>

  <url>http://syncope.apache.org/</url>

  <inceptionYear>2010</inceptionYear>

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <scm>
    <connection>scm:git:https://git-wip-us.apache.org/repos/asf/syncope.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/syncope.git</developerConnection>
    <url>https://git-wip-us.apache.org/repos/asf?p=syncope.git</url>
    <tag>syncope-1.2.7</tag>
  </scm>

  <issueManagement>
    <system>jira</system>
    <url>https://issues.apache.org/jira/browse/SYNCOPE</url>
  </issueManagement>

  <ciManagement>
    <system>Jenkins</system>
    <url>https://builds.apache.org/view/S-Z/view/Syncope/</url>
  </ciManagement>

  <distributionManagement>
    <site>
      <id>syncope.website</id>
      <name>Apache Syncope website</name>
      <url>${site.deploymentBaseUrl}</url>
    </site>
  </distributionManagement>

  <mailingLists>
    <mailingList>
      <name>Syncope User List</name>
      <subscribe>user-subscribe@syncope.apache.org</subscribe>
      <unsubscribe>user-unsubscribe@syncope.apache.org</unsubscribe>
      <post>user@syncope.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/syncope-user/</archive>
      <otherArchives>
        <otherArchive>http://syncope.markmail.org/</otherArchive>
        <otherArchive>http://syncope-user.1051894.n5.nabble.com/</otherArchive>
        <otherArchive>http://www.mail-archive.com/user@syncope.apache.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Syncope Developer List</name>
      <subscribe>dev-subscribe@syncope.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@syncope.apache.org</unsubscribe>
      <post>dev@syncope.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/syncope-dev/</archive>
      <otherArchives>
        <otherArchive>http://syncope.markmail.org/</otherArchive>
        <otherArchive>http://syncope-dev.1063484.n5.nabble.com/</otherArchive>
        <otherArchive>http://www.mail-archive.com/dev@syncope.apache.org/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Syncope Commits List</name>
      <subscribe>commits-subscribe@syncope.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@syncope.apache.org</unsubscribe>
      <post>commits@syncope.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/syncope-commits/</archive>
      <otherArchives>
        <otherArchive>http://syncope.markmail.org/</otherArchive>
        <otherArchive>http://www.mail-archive.com/commits@syncope.apache.org/</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>

  <developers>
    <developer>
      <id>ilgrosso</id>
      <email>ilgrosso@apache.org</email>
      <name>Francesco Chicchiriccò</name>
      <organization>Tirasa</organization>
      <organizationUrl>http://www.tirasa.net/</organizationUrl>
      <roles>
        <role>ASF member</role>
        <role>PMC chair</role>
      </roles>
      <url>http://people.apache.org/~ilgrosso/</url>
    </developer>
    <developer>
      <id>fmartelli</id>
      <name>Fabio Martelli</name>
      <organization>Tirasa</organization>
      <organizationUrl>http://www.tirasa.net/</organizationUrl>
      <roles>
        <role>PMC member</role>
      </roles>
      <url>http://people.apache.org/~fmartelli/</url>
    </developer>
    <developer>
      <id>mdisabatino</id>
      <name>Marco Di Sabatino Di Diodoro</name>
      <organization>Tirasa</organization>
      <organizationUrl>http://www.tirasa.net/</organizationUrl>
      <roles>
        <role>PMC member</role>
      </roles>
      <url>http://people.apache.org/~mdisabatino/</url>
    </developer>
    <developer>
      <id>massi</id>
      <name>Massimiliano Perrone</name>
      <organization>Tirasa</organization>
      <organizationUrl>http://www.tirasa.net/</organizationUrl>
      <roles>
        <role>PMC member</role>
      </roles>
      <url>http://people.apache.org/~massi/</url>
    </developer>    
    <developer>
      <id>rene</id>
      <name>René Mulder</name>
      <organization>Everett</organization>
      <organizationUrl>http://www.everett.nl/</organizationUrl>
      <roles>
        <role>committer</role>
      </roles>
      <url>http://people.apache.org/~rene/</url>
    </developer>
    <developer>
      <id>simonetripodi</id>
      <name>Simone Tripodi</name>
      <organization>The Apache Software Foundation</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>ASF member</role>
        <role>PMC member</role>
      </roles>
      <url>http://people.apache.org/~simonetripodi/</url>
    </developer>
    <developer>
      <id>elecharny</id>
      <name>Emmanuel Lecharny</name>
      <organization>The Apache Software Foundation</organization>
      <organizationUrl>http://www.apache.org/</organizationUrl>
      <roles>
        <role>ASF member</role>
        <role>PMC member</role>
      </roles>
      <url>http://people.apache.org/~elecharny/</url>
    </developer>
    <developer>
      <id>anzelld</id>
      <name>Dino Anzellotti</name>
      <organization>Cambridge Technology Partners</organization>
      <organizationUrl>http://www.ctp.com/</organizationUrl>
      <roles>
        <role>committer</role>
      </roles>
      <url>http://people.apache.org/~anzelld/</url>
    </developer>
    <developer>
      <id>coheigea</id>
      <name>Colm O hEigeartaigh</name>
      <organization>Talend</organization>
      <organizationUrl>http://www.talend.com/</organizationUrl>
      <roles>
        <role>ASF member</role>
        <role>PMC member</role>
      </roles>
      <url>http://people.apache.org/~coheigea/</url>
    </developer>
    <developer>
      <id>jbonofre</id>
      <name>Jean-Baptiste Onofré</name>
      <organization>Talend</organization>
      <organizationUrl>http://www.talend.com/</organizationUrl>
      <roles>
        <role>ASF member</role>
        <role>PMC member</role>
      </roles>
      <url>http://people.apache.org/~jbonofre/</url>
    </developer>
    <developer>
      <id>jbernhardt</id>
      <name>Jan Bernhardt</name>
      <organization>Talend</organization>
      <organizationUrl>http://www.talend.com/</organizationUrl>
      <roles>
        <role>PMC member</role>
      </roles>
      <url>http://people.apache.org/~jbernhardt/</url>
    </developer>
    <developer>
      <id>ashakirin</id>
      <name>Andrei Shakirin</name>
      <organization>Talend</organization>
      <organizationUrl>http://www.talend.com/</organizationUrl>
      <roles>
        <role>committer</role>
      </roles>
      <url>http://ashakirin.blogspot.de/</url>
    </developer>
    <developer>
      <id>cschneider</id>
      <name>Christian Schneider</name>
      <organization>Talend</organization>
      <organizationUrl>http://www.talend.com/</organizationUrl>
      <roles>
        <role>committer</role>
      </roles>
      <url>http://www.liquid-reality.de/</url>
      <email>chris@die-schneider.net</email>
    </developer>
    <developer>
      <id>gwimmel</id>
      <name>Guido Wimmel</name>
      <organization>Stadtwerke München Services GmbH</organization>
      <organizationUrl>http://www.swm.de/</organizationUrl>
      <roles>
        <role>PMC member</role>
      </roles>
      <url>http://people.apache.org/~gwimmel/</url>
      <email>gwimmel@apache.org</email>
    </developer>
    <developer>
      <id>andreapatricelli</id>
      <name>Andrea Patricelli</name>
      <organization>Tirasa</organization>
      <organizationUrl>http://www.tirasa.net/</organizationUrl>
      <roles>
        <role>committer</role>
      </roles>
      <url>http://people.apache.org/~andreapatricelli/</url>
      <email>andreapatricelli@apache.org</email>
    </developer>
    <developer>
      <id>giacomolm</id>
      <name>Giacomo Lamonaco</name>
      <organization>Tirasa</organization>
      <organizationUrl>http://www.tirasa.net/</organizationUrl>
      <roles>
        <role>committer</role>
      </roles>
      <url>http://people.apache.org/~giacomolm/</url>
      <email>giacomolm@apache.org</email>
    </developer>
  </developers>

  <contributors>
    <contributor>
      <name>Denis Signoretto</name>
      <email>denis.signoretto@intesys.it</email>
      <organization>Intesys</organization>
      <organizationUrl>http://www.intesys.it/</organizationUrl>
    </contributor>
    <contributor>
      <name>Bob Lannoy</name>
      <email>bob.lannoy@smals.be</email>
      <organization>Smals</organization>
      <organizationUrl>http://www.smals.be/</organizationUrl>
      <url>http://blogresearch.smalsrech.be/</url>
    </contributor>
    <contributor>
      <name>Bruno Rogério de Moura</name>
      <email>brunormoura@gmail.com</email>
      <organization>Exprivia</organization>
      <organizationUrl>http://www.exprivia.it/home</organizationUrl>
      <url>http://br.linkedin.com/pub/bruno-moura/1b/2a/806</url>
    </contributor>
    <contributor>
      <name>Nicola Baiocco</name>
      <email>nicola.baiocco@intesys.it</email>
      <organization>Intesys</organization>
      <organizationUrl>http://www.intesys.it/</organizationUrl>
    </contributor>
  </contributors>

  <prerequisites>
    <maven>[3.0.3,)</maven>
  </prerequisites>

  <properties>
    <syncope.version>${project.version}</syncope.version>
    <targetJdk>1.6</targetJdk>

    <servlet-api.version>3.0.1</servlet-api.version>
    <jsp-api.version>2.2</jsp-api.version>
    <jstl.version>1.2</jstl.version>
    <!-- Upgrade to 3.0.0 for Java 7+ -->
    <javax.el.version>3.0-b02</javax.el.version>
    <jax-rs.version>2.0</jax-rs.version>

    <connid.version>1.4.1.0</connid.version>
    <connid.soap.version>1.3.0</connid.soap.version>
    <connid.db.table.version>2.2.2</connid.db.table.version>
    <connid.csvdir.version>0.8.2</connid.csvdir.version>
    <connid.ldap.version>1.4.0</connid.ldap.version>
    <connid.ad.version>1.2.4</connid.ad.version>

    <commons-jexl.version>2.1.1</commons-jexl.version>
    <commons-lang.version>3.3.2</commons-lang.version>
    <commons-codec.version>1.10</commons-codec.version>

    <activiti.version>5.16.5</activiti.version>

    <aspectj.version>1.8.8</aspectj.version>

    <cxf.version>3.0.7</cxf.version>	
    <spring.version>4.0.9.RELEASE</spring.version>
    <spring-security.version>3.2.9.RELEASE</spring-security.version>
    <jackson.version>2.4.6</jackson.version>
    <velocity.version>1.7</velocity.version>
    <velocitytools.version>2.0</velocitytools.version>
    <quartz.version>2.2.1</quartz.version>

    <openjpa.version>2.3.0</openjpa.version>
    <hibernate-validator.version>5.1.3.Final</hibernate-validator.version>
    <commons-dbcp.version>1.4</commons-dbcp.version>
    <commons.logging.version>1.1.3</commons.logging.version>

    <cocoon.version>3.0.0-alpha-3</cocoon.version>

    <wicket.version>6.21.0</wicket.version>

    <groovy.version>2.3.10</groovy.version>

    <h2.version>1.4.190</h2.version>

    <log4j.version>2.3</log4j.version>
    <slf4j.version>1.7.13</slf4j.version>
    <disruptor.version>3.3.4</disruptor.version>

    <junit.version>4.11</junit.version>
    <selenium.version>2.46.0</selenium.version>

    <apacheds.version>1.5.7</apacheds.version>
    
    <httpclient.version>4.3.6</httpclient.version>

    <tomcat.version>7.0.67</tomcat.version>

    <jasypt.version>1.9.2</jasypt.version>
 
    <jquery.version>1.11.1</jquery.version>
    <jquery-ui.version>1.10.4</jquery-ui.version>
    <highlightjs.version>8.0</highlightjs.version>
    <codemirror.version>3.23</codemirror.version>

    <izpack.version>5.0.5</izpack.version>
    <maven-invoker.version>2.1.1</maven-invoker.version>
    
    <jdeb.version>1.4</jdeb.version>
 
    <conf.directory>${project.build.directory}/test-classes</conf.directory>
    <bundles.directory>${project.build.directory}/bundles</bundles.directory>
    <connid.location>file:${bundles.directory}/</connid.location>
    <log.directory>${project.build.directory}/log</log.directory>
    <activiti-modeler.directory>${project.build.directory}/activiti-modeler</activiti-modeler.directory>
                
    <cargo.servlet.port>9080</cargo.servlet.port>
    <cargo.tomcat.ajp.port>9889</cargo.tomcat.ajp.port>
    <cargo.rmi.port>9805</cargo.rmi.port>
    <cargo.run.dir>${project.build.directory}/syncope-core-test</cargo.run.dir>
    <cargo.log>${log.directory}/cargo.log</cargo.log>
    <cargo.output>${log.directory}/cargo-output.log</cargo.output>

    <testds.port>1389</testds.port>
    <testdb.webport>9082</testdb.webport>

    <testdb.driver>org.h2.Driver</testdb.driver>
    <testdb.url>jdbc:h2:tcp://localhost:9092/mem:testdb;DB_CLOSE_DELAY=-1</testdb.url>
    <testdb.username>sa</testdb.username>
    <testdb.password>sa</testdb.password>

    <testconnectorserver.port>4554</testconnectorserver.port>
    <testconnectorserver.key>testconnectorserver</testconnectorserver.key>

    <test.csvdir.path>${project.build.directory}/test-csvdir</test.csvdir.path>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <anonymousUser>anonymous</anonymousUser>
    <!-- static keys, only used for build: generated overlays will override during archetype:generate -->
    <anonymousKey>anonymousKey</anonymousKey>
    <secretKey>1abcdefghilmnopqrstuvz2!</secretKey>
  </properties>

  <dependencyManagement>

    <dependencies>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${servlet-api.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>${jsp-api.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>${jstl.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.el</groupId>
        <artifactId>javax.el-api</artifactId>
        <version>${javax.el.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-javamail_1.4_spec</artifactId>
        <version>1.7.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.geronimo.javamail</groupId>
        <artifactId>geronimo-javamail_1.4_provider</artifactId>
        <version>1.8.3</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-jexl</artifactId>
        <version>${commons-jexl.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons-lang.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons-codec.version}</version>
      </dependency>

      <dependency>
        <groupId>net.tirasa.connid</groupId>
        <artifactId>connector-framework</artifactId>
        <version>${connid.version}</version>
      </dependency>
      <dependency>
        <groupId>net.tirasa.connid</groupId>
        <artifactId>connector-framework-internal</artifactId>
        <version>${connid.version}</version>
      </dependency>
      <dependency>
        <groupId>net.tirasa.connid</groupId>
        <artifactId>slf4j-logging</artifactId>
        <version>${connid.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jasypt</groupId>
        <artifactId>jasypt</artifactId>
        <version>${jasypt.version}</version>
      </dependency>
    
      <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-engine</artifactId>
        <version>${activiti.version}</version>
        <!-- Using geronimo-* for this -->
        <exclusions>
          <exclusion>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-spring</artifactId>
        <version>${activiti.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-json-converter</artifactId>
        <version>${activiti.version}</version>
      </dependency>
      <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-webapp-explorer2</artifactId>
        <version>${activiti.version}</version>
        <type>war</type>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jpa_2.0_spec</artifactId>
        <version>1.1</version> 
      </dependency>

      <dependency>
        <groupId>org.apache.openjpa</groupId>
        <artifactId>openjpa-jdbc</artifactId>
        <version>${openjpa.version}</version>
        <exclusions>
          <exclusion>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.openjpa</groupId>
        <artifactId>openjpa-persistence-jdbc</artifactId>
        <version>${openjpa.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>${commons-dbcp.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
      </dependency>      
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>${hibernate-validator.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>${velocity.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-tools</artifactId>
        <version>${velocitytools.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>struts-core</artifactId>
            <groupId>org.apache.struts</groupId>
          </exclusion>
          <exclusion>
            <artifactId>struts-taglib</artifactId>
            <groupId>org.apache.struts</groupId>
          </exclusion>
          <exclusion>
            <artifactId>struts-tiles</artifactId>
            <groupId>org.apache.struts</groupId>
          </exclusion>
          <exclusion>
            <artifactId>sslext</artifactId>
            <groupId>sslext</groupId>
          </exclusion>
        </exclusions>
      </dependency>

      <!-- Spring -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-oxm</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>${spring-security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>${spring-security.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>${spring-security.version}</version>
      </dependency>
      <!-- /Spring -->

      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>${aspectj.version}</version>
      </dependency>

      <dependency>
        <groupId>javax.ws.rs</groupId>
        <artifactId>javax.ws.rs-api</artifactId>
        <version>${jax-rs.version}</version>
      </dependency>

      <!-- CXF -->
      <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxrs</artifactId>
        <version>${cxf.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-rs-extension-search</artifactId>
        <version>${cxf.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-rs-service-description</artifactId>
        <version>${cxf.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-rs-client</artifactId>
        <version>${cxf.version}</version>
      </dependency>      
      <!-- /CXF -->

      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-json-provider</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-afterburner</artifactId>
        <version>${jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>${quartz.version}</version>
        <exclusions>
          <exclusion>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.cocoon.sax</groupId>
        <artifactId>cocoon-sax</artifactId>
        <version>${cocoon.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.cocoon.optional</groupId>
        <artifactId>cocoon-optional</artifactId>
        <version>${cocoon.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.xmlgraphics</groupId>
        <artifactId>fop</artifactId>
        <version>1.1</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.avalon.framework</groupId>
            <artifactId>avalon-framework-api</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.apache.avalon.framework</groupId>
            <artifactId>avalon-framework-impl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.avalon.framework</groupId>
        <artifactId>avalon-framework-api</artifactId>
        <version>4.3.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.avalon.framework</groupId>
        <artifactId>avalon-framework-impl</artifactId>
        <version>4.3.1</version>
      </dependency>

      <dependency>
        <groupId>xalan</groupId>
        <artifactId>xalan</artifactId>
        <version>2.7.1</version>
      </dependency>
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.11.0</version>
      </dependency>

      <!-- Wicket -->
      <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket</artifactId>
        <version>${wicket.version}</version>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-extensions</artifactId>
        <version>${wicket.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-datetime</artifactId>
        <version>${wicket.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-spring</artifactId>
        <version>${wicket.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.wicket</groupId>
        <artifactId>wicket-auth-roles</artifactId>
        <version>${wicket.version}</version>
      </dependency>
      <!-- /Wicket -->

      <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>1.8.10</version>
      </dependency>

      <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>${groovy.version}</version>
      </dependency>

      <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>${h2.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.directory.server</groupId>
        <artifactId>apacheds-all</artifactId>
        <version>${apacheds.version}</version>
        <exclusions>
          <!-- shared-ldap-schema module needs to be excluded to avoid multiple schema resources on the classpath-->
          <exclusion>
            <groupId>org.apache.directory.shared</groupId>
            <artifactId>shared-ldap-schema</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpmime</artifactId>
        <version>${httpclient.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <dependency>
        <groupId>com.lmax</groupId>
        <artifactId>disruptor</artifactId>
        <version>${disruptor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commons.logging.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>jquery</artifactId>
        <version>${jquery.version}</version>
      </dependency>
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>jquery-ui</artifactId>
        <version>${jquery-ui.version}</version>
      </dependency>
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>highlightjs</artifactId>
        <version>${highlightjs.version}-3</version>
      </dependency>
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>codemirror</artifactId>
        <version>${codemirror.version}</version>
      </dependency>

      <dependency>
        <groupId>org.codehaus.izpack</groupId>
        <artifactId>izpack-compiler</artifactId>
        <version>${izpack.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.izpack</groupId>
        <artifactId>izpack-panel</artifactId>
        <version>${izpack.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-invoker</artifactId>
        <version>${maven-invoker.version}</version>
      </dependency>

      <!-- TEST -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <!-- SELENIUM INTEGRATION TEST -->
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-api</artifactId>
        <version>${selenium.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>${selenium.version}</version>
        <scope>test</scope>
      </dependency>
      <!-- /SELENIUM INTEGRATION TEST -->
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>net.tirasa.connid.bundles.soap</groupId>
        <artifactId>wssample</artifactId>
        <version>${connid.soap.version}</version>
        <type>war</type>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.icegreen</groupId>
        <artifactId>greenmail</artifactId>
        <version>1.4.1</version>
        <scope>test</scope>
      </dependency>
      <!-- /TEST -->

    </dependencies>

  </dependencyManagement>

  <repositories>
    <repository>
      <id>sonatype</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>apache.snapshots</id>
      <url>http://repository.apache.org/snapshots</url>
    </pluginRepository>
  </pluginRepositories>

  <build>
    <defaultGoal>clean verify</defaultGoal>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.3</version> 
          <configuration>
            <source>${targetJdk}</source>
            <target>${targetJdk}</target>
            <useIncrementalCompilation>false</useIncrementalCompilation>
            <showWarnings>true</showWarnings>
            <showDeprecation>true</showDeprecation>
            <!--<compilerArgument>-Xlint:unchecked</compilerArgument>-->
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.7</version>
          <configuration>
            <useDefaultDelimiters>false</useDefaultDelimiters>
            <delimiters>
              <delimiter>${*}</delimiter>
            </delimiters>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.10.3</version>          
        </plugin>
        <plugin>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-java2wadl-plugin</artifactId>
          <version>${cxf.version}</version>
        </plugin>
        <plugin>
          <groupId>com.google.code.maven-replacer-plugin</groupId>
          <artifactId>replacer</artifactId>
          <version>1.5.3</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.4.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.openjpa</groupId>
          <artifactId>openjpa-maven-plugin</artifactId>
          <version>${openjpa.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>xml-maven-plugin</artifactId>
          <version>1.0</version>
          <dependencies>
            <dependency>
              <groupId>xalan</groupId>
              <artifactId>xalan</artifactId>
              <version>2.7.1</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.19</version>
          <configuration>
            <redirectTestOutputToFile>true</redirectTestOutputToFile>
            <encoding>utf-8</encoding>
            <runOrder>alphabetical</runOrder>
            <argLine>-Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m</argLine>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.6</version>
          <configuration>
            <attachClasses>true</attachClasses>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>selenium-maven-plugin</artifactId>
          <version>2.3</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.19</version>
          <configuration>
            <redirectTestOutputToFile>true</redirectTestOutputToFile>
            <encoding>utf-8</encoding>
            <runOrder>alphabetical</runOrder>
          </configuration>
          <executions>
            <execution>
              <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.8</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.10</version>
          <configuration>
            <outputDirectory>${bundles.directory}</outputDirectory>
            <artifactItems>
              <artifactItem>
                <groupId>net.tirasa.connid.bundles.soap</groupId>
                <artifactId>net.tirasa.connid.bundles.soap</artifactId>
                <version>${connid.soap.version}</version>
              </artifactItem>
              <artifactItem>
                <groupId>net.tirasa.connid.bundles</groupId>
                <artifactId>net.tirasa.connid.bundles.csvdir</artifactId>
                <version>${connid.csvdir.version}</version>
              </artifactItem>
              <artifactItem>
                <groupId>net.tirasa.connid.bundles.db</groupId>
                <artifactId>net.tirasa.connid.bundles.db.table</artifactId>
                <version>${connid.db.table.version}</version>
              </artifactItem>
              <artifactItem>
                <groupId>net.tirasa.connid.bundles</groupId>
                <artifactId>net.tirasa.connid.bundles.ldap</artifactId>
                <version>${connid.ldap.version}</version>
              </artifactItem>
              <artifactItem>
                <groupId>net.tirasa.connid.bundles</groupId>
                <artifactId>net.tirasa.connid.bundles.ad</artifactId>
                <version>${connid.ad.version}</version>
              </artifactItem>
            </artifactItems>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.cargo</groupId>
          <artifactId>cargo-maven2-plugin</artifactId>
          <version>1.4.17</version>
          <configuration>
            <container>
              <containerId>tomcat7x</containerId>
              <zipUrlInstaller>
                <url>http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.zip</url>
                <downloadDir>${settings.localRepository}/org/codehaus/cargo/cargo-container-archives</downloadDir>
                <extractDir>${project.build.directory}/cargo/extract</extractDir>
              </zipUrlInstaller>
              <timeout>240000</timeout>
              <log>${cargo.log}</log>
              <output>${cargo.output}</output>    
            </container>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>1.9</version>
        </plugin>
        <plugin>
          <groupId>org.zeroturnaround</groupId>
          <artifactId>jrebel-maven-plugin</artifactId>
          <version>1.1.5</version>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>2.5.0</version>
          <configuration>
            <supportedProjectTypes>
              <supportedProjectType>jar</supportedProjectType>
              <supportedProjectType>war</supportedProjectType>
              <supportedProjectType>bundle</supportedProjectType>
            </supportedProjectTypes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>2.17</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.syncope</groupId>
              <artifactId>syncope-build-tools</artifactId>
              <version>${project.version}</version>
              <classifier>classes</classifier>
            </dependency>
          </dependencies>
          <configuration>
            <configLocation>org/apache/syncope/checkstyle.xml</configLocation>
            <targetJdk>${targetJdk}</targetJdk>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>3.4</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.syncope</groupId>
              <artifactId>syncope-build-tools</artifactId>
              <version>${project.version}</version>
              <classifier>classes</classifier>
            </dependency>
          </dependencies>
          <configuration>
            <rulesets>
              <ruleset>org/apache/syncope/pmd.xml</ruleset>
            </rulesets>
            <targetJdk>${targetJdk}</targetJdk>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>2.5.4</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.7.0,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute>
                      <runOnIncremental>false</runOnIncremental>
                    </execute>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <versionRange>[2.0.0,)</versionRange>
                    <goals>
                      <goal>copy</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute>
                      <runOnIncremental>false</runOnIncremental>
                    </execute>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>gmaven-plugin</artifactId>
                    <versionRange>[1.5.0,)</versionRange>
                    <goals>
                      <goal>execute</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute>
                      <runOnIncremental>false</runOnIncremental>
                    </execute>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.openjpa</groupId>
                    <artifactId>openjpa-maven-plugin</artifactId>
                    <versionRange>[2.0.0,)</versionRange>
                    <goals>
                      <goal>enhance</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute>
                      <runOnIncremental>false</runOnIncremental>
                    </execute>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>xml-maven-plugin</artifactId>
                    <versionRange>[1.0,)</versionRange>
                    <goals>
                      <goal>transform</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute>
                      <runOnIncremental>false</runOnIncremental>
                    </execute>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.izpack</groupId>
          <artifactId>izpack-maven-plugin</artifactId>
          <version>${izpack.version}</version>
        </plugin>
        <plugin>
          <groupId>org.vafer</groupId>
          <artifactId>jdeb</artifactId>
          <version>${jdeb.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.4</version>
        <executions>
          <execution>
            <id>enforce-java</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireJavaVersion>
                  <version>[1.6.0-23,)</version>
                </requireJavaVersion>
              </rules>    
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.gmaven</groupId>
        <artifactId>gmaven-plugin</artifactId>
        <version>1.5</version>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>1.5.8</version>
          </dependency>
        </dependencies>
        <executions>
          <execution>
            <phase>generate-resources</phase>
            <goals>
              <goal>execute</goal>
            </goals>
            <configuration>
              <source>                
                project.properties['licenseUrl'] = project.parent.licenses[0].url
              </source>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <configuration>
          <excludes>
            <exclude>nbactions.xml</exclude>
            <exclude>nb-configuration.xml</exclude>
            <exclude>**/META-INF/cxf/**</exclude>
            <exclude>**/META-INF/services/**</exclude>
            <exclude>**/META-INF/MANIFEST.MF</exclude>            
            <exclude>**/*.csv</exclude>
            <exclude>**/archetype-resources/**</exclude>
            <exclude>**/goal.txt</exclude>
            <exclude>**/rat.txt</exclude>
            <exclude>**/build-copy-javadoc-files.xml</exclude>
            <exclude>**/maven-eclipse.xml</exclude>
            <exclude>**/*.iml</exclude>
            <exclude>**/*.log</exclude>
            <exclude>**/.externalToolBuilders/**</exclude>
            <exclude>.git/**</exclude>
            <exclude>.idea/**</exclude>
            <exclude>**/.settings/**</exclude>
            <exclude>**/.*</exclude>
            <exclude>**/deb/control/conffiles</exclude>
            <exclude>**/deb/control/control</exclude>
            <exclude>**/*.lst</exclude>
          </excludes>
        </configuration>
        <executions>
          <execution>
            <phase>verify</phase>
            <goals>
              <goal>check</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <!-- Drop inherited behavior (i.e. don't put any more default LICENSE and NOTICE files in all artifacts) -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-remote-resources-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>process</goal>
            </goals>
            <phase>none</phase>
          </execution>
        </executions>
      </plugin>
      <!-- Put NOTICE and LICENSE files in all javadoc artifacts -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.6</version>
        <executions>
          <execution>
            <id>copy-javadoc-legal-files</id>
            <phase>process-resources</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/apidocs/META-INF</outputDirectory>
              <resources>
                <resource>
                  <directory>..</directory>
                  <includes>
                    <include>LICENSE</include>
                    <include>NOTICE</include>
                  </includes>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>ianal-maven-plugin</artifactId>
        <version>1.0-alpha-1</version>
        <executions>
          <execution>
            <goals>
              <goal>verify-legal-files</goal>
            </goals>
            <configuration>
              <!-- Fail the build if any artifacts are missing legal files -->
              <strict>true</strict>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.5.3</version>
        <configuration>
          <mavenExecutorId>forked-path</mavenExecutorId>
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <tagNameFormat>syncope-@{project.version}</tagNameFormat>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <profiles>

    <profile>
      <id>apache-release</id>

      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.8.2</version>
          </plugin>  

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>site</id>
      <build>
        <defaultGoal>clean site-deploy</defaultGoal>

        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.4</version>
            <configuration>
              <locales>en</locales>
              <generateProjectInfo>false</generateProjectInfo>
              <reportPlugins>
                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-project-info-reports-plugin</artifactId>
                  <version>2.8.1</version>
                  <configuration>
                    <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                  </configuration>
                  <reports>
                    <report>index</report>
                    <report>project-team</report>
                    <report>issue-tracking</report>
                    <report>license</report>
                  </reports>
                </plugin>
                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-javadoc-plugin</artifactId>
                  <version>2.10.3</version>
                  <configuration>
                    <destDir>apidocs/1.2</destDir>
                    <detectLinks>true</detectLinks>
                    <detectJavaApiLink>true</detectJavaApiLink>
                    <links>
                      <link>http://docs.oracle.com/javaee/6/api/</link>
                      <link>http://www.slf4j.org/api/</link>
                      <link>http://connid.tirasa.net/apidocs/1.4/</link>
                      <link>http://ci.apache.org/projects/wicket/apidocs/6.0.x/</link>
                      <link>http://docs.spring.io/spring/docs/4.0.x/javadoc-api/</link>
                      <link>http://docs.spring.io/spring-security/site/docs/3.2.x/apidocs/</link>
                      <link>http://activiti.org/javadocs/</link>
                    </links>
                  </configuration>
                  <reports>
                    <report>aggregate</report>
                  </reports>
                </plugin>
              </reportPlugins>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>skipTests</id>
      <properties>
        <skipTests>true</skipTests>
      </properties>
      <build>
        <defaultGoal>clean install</defaultGoal>
      </build>
    </profile>

  </profiles>

  <modules>
    <module>archetype</module>
    <module>build-tools</module>
    <module>common</module>
    <module>client</module>
    <module>core</module>
    <module>core-upgrader</module>
    <module>console</module>
    <module>standalone</module>
    <module>installer</module>
    <module>deb</module>
  </modules>
</project>
