blob: b3bf015883e0781e83b4e36f81d390691436f5d4 [file] [log] [blame]
<?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>
<parent>
<groupId>org.apache.syncope</groupId>
<artifactId>syncope-fit</artifactId>
<version>2.0.16</version>
</parent>
<name>Apache Syncope FIT Enduser Reference</name>
<description>Apache Syncope FIT Enduser Reference</description>
<groupId>org.apache.syncope.fit</groupId>
<artifactId>syncope-fit-enduser-reference</artifactId>
<packaging>war</packaging>
<properties>
<rootpom.basedir>${basedir}/../..</rootpom.basedir>
<enduser-test.dir>${project.build.directory}/enduser-test</enduser-test.dir>
<protractor.cmd>${enduser-test.dir}/nodejs/bin/protractor</protractor.cmd>
<webdriver-manager.cmd>${enduser-test.dir}/nodejs/bin/webdriver-manager</webdriver-manager.cmd>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.syncope.client</groupId>
<artifactId>syncope-client-enduser</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.syncope.ext.saml2sp</groupId>
<artifactId>syncope-ext-saml2sp-client-enduser</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.syncope.ext.oidcclient</groupId>
<artifactId>syncope-ext-oidcclient-client-enduser</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</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>
<!-- TEST -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.syncope.fit</groupId>
<artifactId>syncope-fit-build-tools</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.syncope.fit</groupId>
<artifactId>syncope-fit-core-reference</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.syncope.fit</groupId>
<artifactId>syncope-fit-console-reference</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>setup-enduser-it</id>
<phase>pre-integration-test</phase>
<configuration>
<target>
<mkdir dir="${enduser-test.dir}" />
<copy todir="${enduser-test.dir}" overwrite="true">
<file name="${project.build.directory}/test-classes/protractor-conf.js" />
<fileset dir="${project.build.directory}/test-classes" includes="tests/**" />
</copy>
<delete file="${basedir}/../core-reference/target/syncope-fit-core-reference-${project.version}/WEB-INF/classes/userWorkflow.bpmn20.xml" />
</target>
<skip>${skipTests}</skip>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<configuration>
<skip>${skipTests}</skip>
<skipTests>${skipTests}</skipTests>
</configuration>
<executions>
<execution>
<id>install-node-npm</id>
<phase>pre-integration-test</phase>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<workingDirectory>${enduser-test.dir}/nodejs</workingDirectory>
<nodeVersion>${nodejs.version}</nodeVersion>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<skip>${skipTests}</skip>
</configuration>
<executions>
<execution>
<id>install-protractor</id>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<workingDirectory>${enduser-test.dir}/nodejs/node/node_modules</workingDirectory>
<executable>${enduser-test.dir}/nodejs/node/node</executable>
<arguments>
<argument>npm/bin/npm-cli.js</argument>
<argument>install</argument>
<argument>-g</argument>
<argument>protractor@${protractor.version}</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>update-protractor-webdriver-manager</id>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<workingDirectory>${enduser-test.dir}/nodejs/lib</workingDirectory>
<executable>${enduser-test.dir}/nodejs/node/node</executable>
<arguments>
<argument>${webdriver-manager.cmd}</argument>
<argument>update</argument>
</arguments>
</configuration>
</execution>
<execution>
<id>exec-protractor</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${enduser-test.dir}/nodejs/node/node</executable>
<arguments>
<argument>${protractor.cmd}</argument>
<argument>${enduser-test.dir}/protractor-conf.js</argument>
</arguments>
</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.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<container>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
</container>
<configuration>
<type>standalone</type>
<properties>
<cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port>
<cargo.tomcat.ajp.port>${cargo.tomcat.ajp.port}</cargo.tomcat.ajp.port>
<cargo.rmi.port>${cargo.rmi.port}</cargo.rmi.port>
<cargo.jvmargs>-XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=512m</cargo.jvmargs>
</properties>
<configfiles>
<configfile>
<file>${basedir}/src/main/resources/context.xml</file>
<todir>conf/</todir>
<tofile>context.xml</tofile>
</configfile>
</configfiles>
</configuration>
<deployables>
<deployable>
<groupId>org.apache.syncope.fit</groupId>
<artifactId>syncope-fit-build-tools</artifactId>
<type>war</type>
<properties>
<context>syncope-fit-build-tools</context>
</properties>
</deployable>
<deployable>
<location>${basedir}/../core-reference/target/syncope-fit-core-reference-${project.version}</location>
<pingURL>http://localhost:${cargo.servlet.port}/syncope/cacheStats.jsp</pingURL>
<pingTimeout>60000</pingTimeout>
<properties>
<context>syncope</context>
</properties>
</deployable>
<deployable>
<location>${basedir}/../console-reference/target/syncope-fit-console-reference-${project.version}</location>
<properties>
<context>syncope-console</context>
</properties>
</deployable>
<deployable>
<location>${project.build.directory}/${project.build.finalName}</location>
<properties>
<context>syncope-enduser</context>
</properties>
</deployable>
</deployables>
</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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<resourceIncludes>src/main/resources/**/*.properties</resourceIncludes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>ianal-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>context.xml</exclude>
</excludes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
<profiles>
<profile>
<id>windows-it</id>
<activation>
<os>
<family>Windows</family>
</os>
</activation>
<properties>
<protractor.cmd>${enduser-test.dir}/nodejs/node/node_modules/protractor/bin/protractor</protractor.cmd>
<webdriver-manager.cmd>${enduser-test.dir}/nodejs/node/node_modules/protractor/bin/webdriver-manager</webdriver-manager.cmd>
</properties>
</profile>
<profile>
<id>skipTests</id>
<properties>
<skipTests>true</skipTests>
</properties>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<deployables>
<deployable>
<location>${project.build.directory}/${project.build.finalName}.war</location>
</deployable>
</deployables>
</configuration>
<executions>
<execution>
<id>install-container</id>
<phase>package</phase>
<goals>
<goal>install</goal>
</goals>
</execution>
<execution>
<id>start-container</id>
<phase>none</phase>
</execution>
<execution>
<id>stop-container</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>debug</id>
<build>
<defaultGoal>clean verify cargo:run</defaultGoal>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>exec-protractor</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<configuration>
<properties>
<cargo.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
-XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=512m</cargo.jvmargs>
</properties>
</configuration>
</configuration>
<executions>
<execution>
<id>start-container</id>
<phase>none</phase>
</execution>
<execution>
<id>stop-container</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>hotswap</id>
<dependencies>
<dependency>
<groupId>org.hotswapagent</groupId>
<artifactId>hotswap-agent</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<defaultGoal>clean verify cargo:run</defaultGoal>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>exec-protractor</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>enableHotSwapForCoreAndConsole</id>
<phase>package</phase>
<configuration>
<target>
<copy file="${basedir}/../core-reference/target/test-classes/hotswap-agent.properties" tofile="${basedir}/../core-reference/target/syncope-fit-core-reference-${project.version}/WEB-INF/classes/hotswap-agent.properties" overwrite="true" />
<copy file="${basedir}/../console-reference/target/test-classes/hotswap-agent.properties" tofile="${basedir}/../console-reference/target/syncope-fit-console-reference-${project.version}/WEB-INF/classes/hotswap-agent.properties" overwrite="true" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<configuration>
<properties>
<cargo.jvmargs>
-Dwicket.configuration=development
-XXaltjvm=dcevm -javaagent:${settings.localRepository}/org/hotswapagent/hotswap-agent/${hotswap.version}/hotswap-agent-${hotswap.version}.jar=autoHotswap=true,disablePlugin=Spring
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
-XX:MaxPermSize=512m -Xmx1024m -Xms512m</cargo.jvmargs>
</properties>
</configuration>
</configuration>
<executions>
<execution>
<id>start-container</id>
<phase>none</phase>
</execution>
<execution>
<id>stop-container</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
<includes>
<include>hotswap-agent.properties</include>
</includes>
</resource>
</resources>
</build>
</profile>
<profile>
<id>apache-release</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<inherited>false</inherited>
<configuration>
<skipSource>true</skipSource>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>