<?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/maven-v4_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.0.0-RC3-incubating</version>
  <packaging>pom</packaging>

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

  <url>http://incubator.apache.org/syncope/</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:svn:http://svn.apache.org/repos/asf/incubator/syncope/tags/syncope-1.0.0-RC3-incubating/parent</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/syncope/tags/syncope-1.0.0-RC3-incubating/parent</developerConnection>
    <url>http://svn.apache.org/viewvc/incubator/syncope/tags/syncope-1.0.0-RC3-incubating/parent</url>
  </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>syncope-user-subscribe@incubator.apache.org</subscribe>
      <unsubscribe>syncope-user-unsubscribe@incubator.apache.org</unsubscribe>
      <post>syncope-user@incubator.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/incubator-syncope-user/</archive>
      <otherArchives>
        <otherArchive>http://markmail.org/search/+list:org.apache.incubator.syncope-user</otherArchive>
        <otherArchive>http://syncope-user.1051894.n5.nabble.com/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Syncope Developer List</name>
      <subscribe>syncope-dev-subscribe@incubator.apache.org</subscribe>
      <unsubscribe>syncope-dev-unsubscribe@incubator.apache.org</unsubscribe>
      <post>syncope-dev@incubator.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/incubator-syncope-dev/</archive>
      <otherArchives>
        <otherArchive>http://markmail.org/search/+list:org.apache.incubator.syncope-dev</otherArchive>
        <otherArchive>http://syncope-dev.1063484.n5.nabble.com/</otherArchive>
      </otherArchives>
    </mailingList>
    <mailingList>
      <name>Syncope Commits List</name>
      <subscribe>syncope-commits-subscribe@incubator.apache.org</subscribe>
      <unsubscribe>syncope-commits-unsubscribe@incubator.apache.org</unsubscribe>
      <post>syncope-commits@incubator.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/incubator-syncope-commits/</archive>
      <otherArchives>
        <otherArchive>http://markmail.org/search/+list:org.apache.incubator.syncope-commits</otherArchive>
      </otherArchives>
    </mailingList>
  </mailingLists>
    
  <developers>
    <developer>
      <id>ilgrosso</id>
      <name>Francesco Chicchiriccò</name>
      <organization>Tirasa</organization>
      <organizationUrl>http://www.tirasa.net/</organizationUrl>
      <roles>
        <role>PPMC member</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>PPMC 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>PPMC 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>PPMC 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>PPMC member</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>Champion</role>
        <role>Mentor</role>
        <role>PPMC 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>Mentor</role>
        <role>PPMC member</role>
      </roles>
      <url>http://people.apache.org/~elecharny/</url>
    </developer>
    <developer>
      <id>anzelld</id>
      <name>Dino Anzellotti</name>
      <organization>Everett Italia</organization>
      <organizationUrl>http://www.everett.it/</organizationUrl>
      <roles>
        <role>PPMC member</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>Mentor</role>
        <role>PPMC member</role>
      </roles>
      <url>http://people.apache.org/~coheigea/</url>
    </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>
  </contributors>

  <prerequisites>
    <maven>[3.0.3,)</maven>
  </prerequisites>
    
  <properties>         
    <targetJdk>1.6</targetJdk>
        
    <servlet-api.version>2.5</servlet-api.version>
    <jsp-api.version>2.2</jsp-api.version>
    <jstl.version>1.2</jstl.version>
        
    <connid.version>1.3.1</connid.version>
    <connid.soap.version>1.2.2</connid.soap.version>
    <connid.db.table.version>2.1.2</connid.db.table.version>
    <connid.csvdir.version>0.2</connid.csvdir.version>
    <connid.ldap.version>1.3.1</connid.ldap.version>

    <commons-jexl.version>2.1.1</commons-jexl.version>
    <commons-lang.version>2.6</commons-lang.version>
        
    <httpcomponents.version>4.2.1</httpcomponents.version>

    <activiti.version>5.9</activiti.version>

    <spring.version>3.1.2.RELEASE</spring.version>
    <spring-security.version>3.1.1.RELEASE</spring-security.version>
    <aspectj.version>1.6.12</aspectj.version>
    <jackson.version>1.9.8</jackson.version>
    <xstream.version>1.4.2</xstream.version>
    <velocity.version>1.7</velocity.version>
    <quartz.version>1.8.6</quartz.version>

    <openjpa.version>2.2.0</openjpa.version>
    <bval.version>0.4</bval.version>
        
    <cocoon.version>3.0.0-alpha-3</cocoon.version>

    <wicket.version>1.5.7</wicket.version>

    <groovy.version>1.6.9</groovy.version>

    <h2.version>1.3.167</h2.version>

    <logback.version>1.0.6</logback.version>
    <slf4j.version>1.6.6</slf4j.version>

    <junit.version>4.10</junit.version>
    <selenium-java-client-driver.version>1.0.2</selenium-java-client-driver.version>

    <apacheds.version>1.5.7</apacheds.version>

    <tomcat.version>7.0.29</tomcat.version>
 
    <bundles.directory>${project.build.directory}/bundles</bundles.directory>
    <log.directory>${project.build.directory}/log</log.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/testdb</testdb.url>
    <testdb.username>sa</testdb.username>
    <testdb.password>sa</testdb.password>
        
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencyManagement>

    <dependencies>

      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>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>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.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.16.1-GA</version>
      </dependency>

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

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

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

      <dependency>
        <groupId>org.connid</groupId>
        <artifactId>framework</artifactId>
        <version>${connid.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connid</groupId>
        <artifactId>framework-internal</artifactId>
        <version>${connid.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>
      </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-all</artifactId>
        <version>${openjpa.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.openjpa</groupId>
        <artifactId>openjpa-jdbc</artifactId>
        <version>${openjpa.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.openjpa</groupId>
        <artifactId>openjpa-persistence-jdbc</artifactId>
        <version>${openjpa.version}</version>
      </dependency>
      
      <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.0.0.GA</version>
      </dependency>
      <dependency>
        <groupId>org.apache.bval</groupId>
        <artifactId>bval-jsr303</artifactId>
        <version>${bval.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>${velocity.version}</version>
      </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-aop</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-asm</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-webmvc</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>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2.2</version>
      </dependency>
            
      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${aspectj.version}</version>
      </dependency>
      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>${aspectj.version}</version>
      </dependency>

      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>${jackson.version}</version>
      </dependency>

      <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>${xstream.version}</version>
      </dependency>
            
      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>${quartz.version}</version>
      </dependency>
      <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz-oracle</artifactId>
        <version>${quartz.version}</version>
      </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.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.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.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
        
      <!-- TEST -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium.client-drivers</groupId>
        <artifactId>selenium-java-client-driver</artifactId>
        <version>${selenium-java-client-driver.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.connid.bundles.soap</groupId>
        <artifactId>org.connid.bundles.soap</artifactId>
        <version>${connid.soap.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.connid.bundles.soap</groupId>
        <artifactId>wssample</artifactId>
        <version>${connid.soap.version}</version>
        <type>war</type>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.connid.bundles.db</groupId>
        <artifactId>org.connid.bundles.db.table</artifactId>
        <version>${connid.db.table.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.connid.bundles</groupId>
        <artifactId>org.connid.bundles.csvdir</artifactId>
        <version>${connid.csvdir.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.connid.bundles</groupId>
        <artifactId>org.connid.bundles.ldap</artifactId>
        <version>${connid.ldap.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.icegreen</groupId>
        <artifactId>greenmail</artifactId>
        <version>1.3.1b</version>
        <scope>test</scope>
      </dependency>
      <!-- /TEST -->

    </dependencies>

  </dependencyManagement>

  <repositories>

    <repository>
      <id>activiti</id>
      <url>https://artifacts.alfresco.com/nexus/content/groups/public/</url>
    </repository>

  </repositories>

  <build>
    <defaultGoal>package</defaultGoal>

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.5.1</version> 
          <configuration>
            <source>${targetJdk}</source>
            <target>${targetJdk}</target>
            <showWarnings>true</showWarnings>
            <showDeprecation>true</showDeprecation>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.googlecode.maven-java-formatter-plugin</groupId>
          <artifactId>maven-java-formatter-plugin</artifactId>
          <version>0.3.1</version>
          <configuration>
            <configFile>org/apache/syncope/java-formatter.xml</configFile>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>org.apache.syncope</groupId>
              <artifactId>syncope-quality</artifactId>
              <version>${project.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.codehaus.gmaven</groupId>
          <artifactId>gmaven-plugin</artifactId>
          <version>1.4</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.2.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.openjpa</groupId>
          <artifactId>openjpa-maven-plugin</artifactId>
          <version>${openjpa.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.slf4j</groupId>
              <artifactId>slf4j-api</artifactId>
              <version>${slf4j.version}</version>
            </dependency>
            <dependency>
              <groupId>ch.qos.logback</groupId>
              <artifactId>logback-core</artifactId>
              <version>${logback.version}</version>
            </dependency>
            <dependency>
              <groupId>ch.qos.logback</groupId>
              <artifactId>logback-classic</artifactId>
              <version>${logback.version}</version>
            </dependency>
            <dependency>
              <groupId>org.slf4j</groupId>
              <artifactId>jcl-over-slf4j</artifactId>
              <version>${slf4j.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>xml-maven-plugin</artifactId>
          <version>1.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.12</version>
          <configuration>
            <redirectTestOutputToFile>true</redirectTestOutputToFile>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.2</version>
          <configuration>
            <attachClasses>true</attachClasses>
            <webResources>
              <resource>
                <directory>src/main/webapp</directory>
                <includes>
                  <include>**/*.jsp</include>
                </includes>
                <filtering>true</filtering>
              </resource>
              <!--
                   HACK: Include legal files explicity, otherwise they will end up in the wrong path
                         or in another jar file in the war.
              -->
              <resource>
                <directory>${project.build.outputDirectory}</directory>
                <includes>
                  <include>META-INF/DISCLAIMER*</include>
                  <include>META-INF/DEPENDENCIES*</include>
                </includes>
              </resource>
              <resource>
                <directory>${basedir}/../legal_ext</directory>
                <targetPath>META-INF</targetPath>
                <includes>
                  <include>LICENSE</include>
                  <include>NOTICE</include>
                </includes>
              </resource>
            </webResources>
            <packagingExcludes>WEB-INF/classes/META-INF/LICENSE*,WEB-INF/classes/META-INF/NOTICE*,WEB-INF/classes/META-INF/DISCLAIMER*,WEB-INF/classes/META-INF/DEPENDENCIES*</packagingExcludes>
          </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.12</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.7</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>2.4</version>
          <configuration>
            <artifactItems>
              <artifactItem>
                <groupId>org.connid.bundles.soap</groupId>
                <artifactId>org.connid.bundles.soap</artifactId>
                <version>${connid.soap.version}</version>
                <outputDirectory>${bundles.directory}</outputDirectory>
              </artifactItem>
              <artifactItem>
                <groupId>org.connid.bundles.db</groupId>
                <artifactId>org.connid.bundles.db.table</artifactId>
                <version>${connid.db.table.version}</version>
                <outputDirectory>${bundles.directory}</outputDirectory>
              </artifactItem>
              <artifactItem>
                <groupId>org.connid.bundles</groupId>
                <artifactId>org.connid.bundles.csvdir</artifactId>
                <version>${connid.csvdir.version}</version>
                <outputDirectory>${bundles.directory}</outputDirectory>
              </artifactItem>
              <artifactItem>
                <groupId>org.connid.bundles</groupId>
                <artifactId>org.connid.bundles.ldap</artifactId>
                <version>${connid.ldap.version}</version>
                <outputDirectory>${bundles.directory}</outputDirectory>
              </artifactItem>
            </artifactItems>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.cargo</groupId>
          <artifactId>cargo-maven2-plugin</artifactId>
          <version>1.2.2</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>${java.io.tmpdir}</extractDir>
              </zipUrlInstaller>
              <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.7</version>
        </plugin>
        <plugin>
          <groupId>org.zeroturnaround</groupId>
          <artifactId>jrebel-maven-plugin</artifactId>
          <version>1.1.3</version>
        </plugin>
      </plugins>
    </pluginManagement>
        
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.1</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.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <inherited>true</inherited>
        <configuration>
          <excludes>
            <exclude>nbactions.xml</exclude>
            <exclude>nb-configuration.xml</exclude>
            <exclude>**/META-INF/services/**</exclude>
            <exclude>**/*.css</exclude>
            <exclude>**/*.js</exclude>
            <exclude>**/*.csv</exclude>
            <exclude>**/archetype-resources/**</exclude>
            <exclude>.externalToolBuilders/**</exclude>
            <exclude>maven-eclipse.xml</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, LICENSE and DISCLAIMER files in all javadoc artifacts -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>run</goal>
            </goals>
            <phase>process-resources</phase>
            <configuration>
              <target name="copy-javadoc-files" description="Copy NOTICE/LICENSE/DISCLAIMER files for javadoc jars">
                <mkdir dir="target/apidocs/META-INF" />
                <copy todir="target/apidocs/META-INF">
                  <fileset dir="..">
                    <include name="NOTICE" />
                    <include name="LICENSE" />
                    <include name="DISCLAIMER" />
                  </fileset>
                </copy>
              </target>
            </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>
              <requiredFiles>
                <requiredFile>LICENSE</requiredFile>
                <requiredFile>NOTICE</requiredFile>
                <requiredFile>DISCLAIMER</requiredFile>
              </requiredFiles>
              <!-- 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-checkstyle-plugin</artifactId>
        <version>2.9.1</version>        
        <dependencies>    
          <dependency>
            <groupId>org.apache.syncope</groupId>
            <artifactId>syncope-quality</artifactId>
            <version>${project.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>2.7.1</version>
        <dependencies>    
          <dependency>
            <groupId>org.apache.syncope</groupId>
            <artifactId>syncope-quality</artifactId>
            <version>${project.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <version>2.3</version>
      </plugin>
    </plugins>
  </build>

  <profiles>
    
    <profile>
      <id>all</id>
      <modules>
        <module>../quality</module>
        <module>../archetype</module>
        <module>../hibernate-enhancer</module>
      </modules>
    </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.0</version>
            <configuration>
              <locales>en</locales>
              <reportPlugins>
                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-project-info-reports-plugin</artifactId>
                  <version>2.4</version>
                  <configuration>
                    <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                    <anonymousConnection>scm:svn:http://svn.apache.org/repos/asf/incubator/syncope/trunk</anonymousConnection>
                    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/syncope/trunk</developerConnection>
                    <webAccessUrl>http://svn.apache.org/viewvc/incubator/syncope/trunk</webAccessUrl>
                  </configuration>
                  <reportSets>
                    <reportSet>
                      <reports>
                        <report>index</report>
                        <report>mailing-list</report>
                        <report>project-team</report>
                        <report>scm</report>
                        <report>cim</report>
                        <report>issue-tracking</report>
                        <report>license</report>
                      </reports>
                    </reportSet>
                  </reportSets>
                </plugin>
                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-javadoc-plugin</artifactId>
                  <version>2.8.1</version>
                  <reportSets>
                    <reportSet>
                      <reports>
                        <report>aggregate</report>
                      </reports>
                    </reportSet>
                  </reportSets>
                </plugin>
              </reportPlugins>
            </configuration>
          </plugin>
        </plugins>
      </build>
      
      <modules>
        <module>../quality</module>
        <module>../archetype</module>
        <module>../hibernate-enhancer</module>
        <module>../build-tools</module>
        <module>../client</module>
        <module>../core</module>
        <module>../console</module>
      </modules>
    </profile>
    
  </profiles>
</project>
