blob: a7c0c7d95762f261b6b64e0dbc41720cfd45e77d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed 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>
<parent>
<groupId>org.syncope</groupId>
<artifactId>syncope</artifactId>
<version>0.7.2-SNAPSHOT</version>
</parent>
<name>Syncope core</name>
<description>Syncope core</description>
<groupId>org.syncope</groupId>
<artifactId>syncope-core</artifactId>
<packaging>war</packaging>
<properties>
<jdbcdriver.groupId>com.h2database</jdbcdriver.groupId>
<jdbcdriver.artifactId>h2</jdbcdriver.artifactId>
<javaagent />
</properties>
<dependencies>
<dependency>
<groupId>org.syncope</groupId>
<artifactId>syncope-client</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-javamail_1.4_spec</artifactId>
</dependency>
<dependency>
<groupId>org.apache.geronimo.javamail</groupId>
<artifactId>geronimo-javamail_1.4_provider</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl</artifactId>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-oracle</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
</dependency>
<dependency>
<groupId>org.dbunit</groupId>
<artifactId>dbunit</artifactId>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.connid</groupId>
<artifactId>framework</artifactId>
</dependency>
<dependency>
<groupId>org.connid</groupId>
<artifactId>framework-internal</artifactId>
</dependency>
<!-- CXF: needed by soap connector -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<scope>runtime</scope>
</dependency>
<!-- TEST -->
<dependency>
<groupId>org.connid.bundles.soap</groupId>
<artifactId>org.connid.bundles.soap</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.connid.bundles.soap</groupId>
<artifactId>wssample</artifactId>
<type>war</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.connid.bundles.db</groupId>
<artifactId>org.connid.bundles.db.table</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.connid.bundles</groupId>
<artifactId>org.connid.bundles.csvdir</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.connid.bundles</groupId>
<artifactId>org.connid.bundles.ldap</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.4</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- /TEST -->
</dependencies>
<build>
<finalName>${project.parent.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
project.properties['urlencoded.java.io.tmpdir'] = java.net.URLEncoder.encode(System.properties['java.io.tmpdir'])
</source>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>set-bundles</id>
<phase>process-test-resources</phase>
<goals>
<goal>copy</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>test-phase-execution</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<excludes>
<exclude>**/relationships/**Test.java</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>relationship-test-execution</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<includes>
<include>**/relationships/**Test.java</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>explodeSyncopeWAR</id>
<phase>pre-integration-test</phase>
<configuration>
<target>
<unzip src="${project.build.directory}/${project.build.finalName}.war" dest="${cargo.run.dir}">
<patternset>
<exclude name="**/content.xml" />
<exclude name="**/ehcache.xml" />
<exclude name="**/persistence.properties" />
<exclude name="**/security.properties" />
<exclude name="**/workflow.properties" />
</patternset>
</unzip>
<copy file="${project.build.directory}/test-classes/org/syncope/core/scheduling/TestSyncJobActions.class" todir="${cargo.run.dir}/WEB-INF/classes/org/syncope/core/scheduling" />
<mkdir dir="${project.build.directory}/test-conf" />
<copy todir="${project.build.directory}/test-conf" includeEmptyDirs="false">
<fileset dir="${project.build.directory}/test-classes" excludes="**/*.class" />
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>setupTomcat</id>
<phase>pre-integration-test</phase>
<configuration>
<target>
<get src="http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.zip" dest="${java.io.tmpdir}" skipexisting="true" />
<unzip src="${java.io.tmpdir}/apache-tomcat-${tomcat.version}.zip" dest="${java.io.tmpdir}" overwrite="false" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>setupCSV</id>
<phase>pre-integration-test</phase>
<configuration>
<target>
<copy file="${project.build.directory}/test-classes/test.csv" todir="${java.io.tmpdir}" overwrite="true" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>default-cli</id>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>org.syncope.core.util.SchemaExporter</argument>
<argument>H2</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<home>${java.io.tmpdir}/apache-tomcat-${tomcat.version}</home>
<log>${cargo.log}</log>
<output>${cargo.output}</output>
<dependencies>
<dependency>
<location>${project.build.directory}/test-conf</location>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>${jdbcdriver.groupId}</groupId>
<artifactId>${jdbcdriver.artifactId}</artifactId>
</dependency>
</dependencies>
</container>
<configuration>
<type>standalone</type>
<properties>
<cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port>
<cargo.tomcat.ajp.port>8889</cargo.tomcat.ajp.port>
<cargo.rmi.port>8805</cargo.rmi.port>
<!-- <cargo.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n</cargo.jvmargs>-->
<cargo.jvmargs>-noverify ${javaagent} -Drebel.spring_plugin=false</cargo.jvmargs>
</properties>
<configfiles>
<configfile>
<file>${project.build.directory}/test-classes/context.xml</file>
<todir>conf/</todir>
<tofile>context.xml</tofile>
</configfile>
</configfiles>
<deployables>
<deployable>
<location>${cargo.run.dir}</location>
<properties>
<context>syncope</context>
</properties>
</deployable>
<deployable>
<location>${settings.localRepository}/org/connid/bundles/soap/wssample/${connid.soap.version}/wssample-${connid.soap.version}.war</location>
<properties>
<context>wssample</context>
</properties>
</deployable>
<deployable>
<location>${basedir}/../build-tools/target/syncope-build-tools-${project.version}.war</location>
<properties>
<context>syncope-build-tools</context>
</properties>
</deployable>
</deployables>
</configuration>
</configuration>
<executions>
<execution>
<id>start-container</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop-container</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>oracle/**</exclude>
<exclude>postgres/**</exclude>
<exclude>mysql/**</exclude>
</excludes>
</testResource>
</testResources>
</build>
<profiles>
<profile>
<id>dev</id>
<properties>
<waitForCheck>true</waitForCheck>
<sureExcludes>**</sureExcludes>
<javaagent />
</properties>
<build>
<defaultGoal>clean verify</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>test-phase-execution</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<includes>
<include>**/dao/**Test.java</include>
</includes>
<excludes>
<exclude>**/relationships/**Test.java</exclude>
<exclude>${sureExcludes}</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>relationship-test-execution</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<includes>
<include>**/relationships/**Test.java</include>
</includes>
<excludes>
<exclude>**/dao/**Test.java</exclude>
<exclude>${sureExcludes}</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<wait>${waitForCheck}</wait>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>jrebel</id>
<properties>
<skipTests>true</skipTests>
<javaagent>-javaagent:${env.REBEL_HOME}/jrebel.jar</javaagent>
<waitForCheck>true</waitForCheck>
</properties>
<build>
<defaultGoal>clean verify</defaultGoal>
<plugins>
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<classpath>
<resources>
<resource>
<excludes>
<exclude>content.xml</exclude>
<exclude>ehcache.xml</exclude>
<exclude>persistence.properties</exclude>
<exclude>security.properties</exclude>
<exclude>workflow.properties</exclude>
</excludes>
</resource>
</resources>
</classpath>
</configuration>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<wait>${waitForCheck}</wait>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>oracle-it</id>
<properties>
<jdbcdriver.groupId>com.oracle</jdbcdriver.groupId>
<jdbcdriver.artifactId>ojdbc6</jdbcdriver.artifactId>
<javaagent />
</properties>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.1.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<defaultGoal>clean verify</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>set-oracle</id>
<phase>process-test-resources</phase>
<configuration>
<target>
<copy tofile="${project.build.directory}/classes/META-INF/orm.xml" file="${basedir}/src/main/resources/META-INF/orm.xml.oracle" overwrite="true" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>persistence.properties</exclude>
</excludes>
</testResource>
<testResource>
<directory>src/test/resources/oracle</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
</profile>
<profile>
<id>postgres-it</id>
<properties>
<jdbcdriver.groupId>postgresql</jdbcdriver.groupId>
<jdbcdriver.artifactId>postgresql</jdbcdriver.artifactId>
<javaagent />
</properties>
<dependencies>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.0-801.jdbc4</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<defaultGoal>clean verify</defaultGoal>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>persistence.properties</exclude>
</excludes>
</testResource>
<testResource>
<directory>src/test/resources/postgres</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
</profile>
<profile>
<id>mysql-it</id>
<properties>
<jdbcdriver.groupId>mysql</jdbcdriver.groupId>
<jdbcdriver.artifactId>mysql-connector-java</jdbcdriver.artifactId>
<javaagent />
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<defaultGoal>clean verify</defaultGoal>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>persistence.properties</exclude>
</excludes>
</testResource>
<testResource>
<directory>src/test/resources/mysql</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
</profile>
<profile>
<id>notification-test</id>
<properties>
<mail.password />
</properties>
<build>
<defaultGoal>clean test</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>notification-test-phase-execution</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<includes>
<include>**/notification/**Test.java</include>
</includes>
</configuration>
</execution>
<execution>
<id>test-phase-execution</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
<execution>
<id>relationship-test-execution</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>add-notification-test-source</id>
<phase>generate-test-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/test/notifications/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>oracle/**</exclude>
<exclude>postgres/**</exclude>
<exclude>mysql/**</exclude>
</excludes>
</testResource>
<testResource>
<directory>src/test/notifications/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
</profile>
</profiles>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.8</version>
<configuration>
<configLocation>org/syncope/checkstyle.xml</configLocation>
<targetJdk>${targetJdk}</targetJdk>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.6</version>
<configuration>
<rulesets>
<ruleset>org/syncope/pmd.xml</ruleset>
</rulesets>
<targetJdk>${targetJdk}</targetJdk>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.3</version>
</plugin>
</plugins>
</reporting>
</project>