blob: 868959291948fcece71d9b1c24a0bbc936d9d685 [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.1-EA-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>org.hsqldb</jdbcdriver.groupId>
<jdbcdriver.artifactId>hsqldb</jdbcdriver.artifactId>
<cargo.servlet.port>9080</cargo.servlet.port>
<cargo.run.dir>${project.build.directory}/syncope-core-test</cargo.run.dir>
<cargo.log>/var/tmp/syncope-core-cargo.log</cargo.log>
<cargo.output>/var/tmp/syncope-core-cargo-output.log</cargo.output>
<logfile>/var/tmp/syncope-core.log</logfile>
<logfile.persistence>/var/tmp/syncope-core-persistence.log</logfile.persistence>
<logfile.rest>/var/tmp/syncope-core-rest.log</logfile.rest>
<logfile.connid>/var/tmp/syncope-core-connid.log</logfile.connid>
<logfile.test>/var/tmp/syncope-core-test.log</logfile.test>
<logfile.monitor>/var/tmp/syncope-core-monitor.log</logfile.monitor>
</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>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>osworkflow</artifactId>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>propertyset</artifactId>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>oscore</artifactId>
</dependency>
<dependency>
<groupId>org.beanshell</groupId>
<artifactId>bsh</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</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>javax.inject</groupId>
<artifactId>inject-api</artifactId>
<version>1.0.0-PRD</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-lgpl</artifactId>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</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.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>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</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>
<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.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<attachClasses>true</attachClasses>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<includes>
<include>**/*.jsp</include>
</includes>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</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>
<includes>
<include>**/dao/*Test.java</include>
</includes>
<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>
<!-- Integration test -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<encoding>utf-8</encoding>
</configuration>
<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>package</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="**/userWorkflow.xml" />
<exclude name="**/persistence.properties" />
<exclude name="**/security.properties" />
</patternset>
</unzip>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>setupTomcat</id>
<phase>package</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>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>set-bundles</id>
<phase>pre-integration-test</phase>
<goals>
<goal>copy</goal>
</goals>
<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>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.onebusaway.plugins</groupId>
<artifactId>maven-hsqldb-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<dbName>testdb</dbName>
<mode>server</mode>
<isTransient>true</isTransient>
</configuration>
<dependencies>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>${hsqldb.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>startTestDb</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<inherited>true</inherited>
<dependencies>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>${hsqldb.version}</version>
</dependency>
</dependencies>
<configuration>
<driver>org.hsqldb.jdbcDriver</driver>
<url>jdbc:hsqldb:hsql://localhost:9001/testdb;shutdown=true</url>
<username>sa</username>
<password />
<srcFiles>
<srcFile>${project.build.directory}/test-classes/testdb.sql</srcFile>
</srcFiles>
</configuration>
<executions>
<execution>
<id>loadTestDb</id>
<phase>pre-integration-test</phase>
<goals>
<goal>execute</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<wait>true</wait>
<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-classes/</location>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</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.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n</cargo.jvmargs>-->
</properties>
<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>
</deployables>
</configuration>
</configuration>
<executions>
<execution>
<id>start-container</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
<configuration>
<wait>false</wait>
</configuration>
</execution>
<execution>
<id>stop-container</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2</version>
<configuration>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>org.syncope.core.persistence.util.SchemaExporter</argument>
<argument>HSQL</argument>
</arguments>
</configuration>
</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>
</excludes>
</testResource>
</testResources>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<configLocation>${project.parent.basedir}/syncope_checks.xml</configLocation>
</configuration>
</plugin>
</plugins>
</reporting>
<profiles>
<profile>
<id>oracle-it</id>
<properties>
<jdbcdriver.groupId>com.oracle</jdbcdriver.groupId>
<jdbcdriver.artifactId>ojdbc6</jdbcdriver.artifactId>
</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 todir="${project.build.directory}/test-classes" overwrite="true">
<fileset dir="${basedir}/src/test/resources/oracle" />
</copy>
<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>
</build>
</profile>
<profile>
<id>postgres-it</id>
<properties>
<jdbcdriver.groupId>postgresql</jdbcdriver.groupId>
<jdbcdriver.artifactId>postgresql</jdbcdriver.artifactId>
</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>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>set-postgres</id>
<phase>process-test-resources</phase>
<configuration>
<target>
<copy todir="${project.build.directory}/test-classes" overwrite="true">
<fileset dir="${basedir}/src/test/resources/postgres" />
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>