TASKPM/libreplan-webapp/pom.xml
Oscar Gonzalez Fernandez 7b54a5063e Upgrade Spring to 3.2.8 and Hibernate to 4.2.8
Now Libreplan can be run on Java8.

This implied some changes:

* Latest versions of hibernate use the Bean Validation API. This
  implied renaming the imports and use ConstraintViolationException
  instead of InvalidValue. Besides some constraints had to be renamed,
  otherwise they wouldn't be recognized by Hibernate validation. In
  the new version of Hibernate validator @AssertTrue can only be
  applied to properties. So all methods it was applied to must follow
  the is.* format.

  Automatic execution of Bean Validation API is disabled, otherwise an
  infinite loop would happen. This is because there are some
  validation constraints that do launch queries to the database. This
  causes a flush of the objects in the session and automatic
  validation is called again.

* A new library for persisting JodaTime is necessary since
  joda-time-hibernate is incompatible with hibernate 4. This library
  can automatically register its types for Date conversion so they're
  removed from configuration.

* Now, in some places, an InvalidDataAccessApiUsageException is thrown
  instead of a DataIntegrityViolationException.

  This is because no constraint is violated, the API is being used
  incorrectly because a transient instance is being provided where a
  persisted one was expected.

* In hibernate 4 listeners cannot be configured via properties.
  HibernateDatabaseModificationsListener registers itself in its @PostConstruct method.

* ehcache classes used are now different.
2014-05-06 17:47:15 +02:00

477 lines
20 KiB
XML

<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>
<parent>
<groupId>org.libreplan</groupId>
<artifactId>libreplan</artifactId>
<version>1.4.0</version>
</parent>
<artifactId>libreplan-webapp</artifactId>
<packaging>war</packaging>
<name>LibrePlan Web Client Module</name>
<profiles>
<profile>
<id>reports</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<!-- =========================================================== -->
<!-- Jasper reports configuration -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<version>1.0-beta-2</version>
<configuration>
<sourceDirectory>${project.build.sourceDirectory}/../jasper</sourceDirectory>
<outputDirectory>${project.build.sourceDirectory}/../../../target/classes</outputDirectory>
<xmlValidation>true</xmlValidation>
</configuration>
<executions>
<execution>
<goals>
<goal>compile-reports</goal>
</goals>
<phase>compile</phase>
</execution>
</executions>
<dependencies>
<!--
note this must be repeated here to pick up correct xml
validation
-->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>4.7.0</version>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
<version>4.0.0</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<id>default</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>userguide</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>user-doc-generation</id>
<goals>
<goal>run</goal>
</goals>
<phase>process-resources</phase>
<inherited>false</inherited>
<configuration>
<tasks>
<echo>Executing make html</echo>
<exec executable="make" failifexecutionfails="false">
<arg value="-C"/>
<arg value="../doc/src/user/gl/"/>
<arg value="html"/>
</exec>
<copy todir="src/main/webapp/help/gl" failonerror="false">
<fileset dir="../doc/src/user/gl/html"/>
</copy>
<exec executable="make" failifexecutionfails="false">
<arg value="-C"/>
<arg value="../doc/src/user/es/"/>
<arg value="html"/>
</exec>
<copy todir="src/main/webapp/help/es" failonerror="false">
<fileset dir="../doc/src/user/es/html"/>
</copy>
<exec executable="make" failifexecutionfails="false">
<arg value="-C"/>
<arg value="../doc/src/user/en/"/>
<arg value="html"/>
</exec>
<copy todir="src/main/webapp/help/en" failonerror="false">
<fileset dir="../doc/src/user/en/html"/>
</copy>
<copy todir="src/main/webapp/help/ru" failonerror="false">
<fileset dir="../doc/src/user/en/html"/>
</copy>
<copy todir="src/main/webapp/help/pt" failonerror="false">
<fileset dir="../doc/src/user/en/html"/>
</copy>
<copy todir="src/main/webapp/help/it" failonerror="false">
<fileset dir="../doc/src/user/en/html"/>
</copy>
<copy todir="src/main/webapp/help/fr" failonerror="false">
<fileset dir="../doc/src/user/en/html"/>
</copy>
<copy todir="src/main/webapp/help/nl" failonerror="false">
<fileset dir="../doc/src/user/en/html"/>
</copy>
<copy todir="src/main/webapp/help/pl" failonerror="false">
<fileset dir="../doc/src/user/en/html"/>
</copy>
<copy todir="src/main/webapp/help/cs" failonerror="false">
<fileset dir="../doc/src/user/en/html"/>
</copy>
<copy todir="src/main/webapp/help/de" failonerror="false">
<fileset dir="../doc/src/user/en/html"/>
</copy>
<copy todir="src/main/webapp/help/ca" failonerror="false">
<fileset dir="../doc/src/user/es/html"/>
</copy>
<copy todir="src/main/webapp/help/zh" failonerror="false">
<fileset dir="../doc/src/user/en/html"/>
</copy>
</tasks>
</configuration>
</execution>
<execution>
<id>user-doc-clean</id>
<goals>
<goal>run</goal>
</goals>
<phase>clean</phase>
<inherited>false</inherited>
<configuration>
<tasks>
<exec executable="make" failifexecutionfails="false">
<arg value="-C"/>
<arg value="../doc/src/user/gl/"/>
<arg value="clean"/>
</exec>
<exec executable="make" failifexecutionfails="false">
<arg value="-C"/>
<arg value="../doc/src/user/es/"/>
<arg value="clean"/>
</exec>
<exec executable="make" failifexecutionfails="false">
<arg value="-C"/>
<arg value="../doc/src/user/en/"/>
<arg value="clean"/>
</exec>
<delete dir="src/main/webapp/help" failonerror="false" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>i18n</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<!--
Gettext Commons plugin
goals:
merge: parses source code and generates keys.pot
dist: generates binary Resoruce Bundle (Messages_XX.class)
-->
<plugins>
<plugin>
<groupId>org.xnap.commons</groupId>
<artifactId>maven-gettext-plugin</artifactId>
<configuration>
<targetBundle>i18n.Messages</targetBundle>
<poDirectory>${project.build.sourceDirectory}/../resources/i18n</poDirectory>
<keywords>-k_</keywords>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>dist</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<finalName>libreplan-webapp</finalName>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<versionRange>[1.1,)</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jasperreports-maven-plugin</artifactId>
<versionRange>[1.0-beta-2,)</versionRange>
<goals>
<goal>compile-reports</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore/>
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.xnap.commons</groupId>
<artifactId>maven-gettext-plugin</artifactId>
<versionRange>[1.2.0,)</versionRange>
<goals>
<goal>dist</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<!-- Jasper Reports -->
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
</dependency>
<!-- GPL Jasperreport Component for ZK -->
<dependency>
<groupId>com.igalia.java.zk.components</groupId>
<artifactId>jasperreportcomponent</artifactId>
</dependency>
<!-- GPL Jasperreport Component for ZK -->
<dependency>
<groupId>com.igalia.java.zk.components</groupId>
<artifactId>jfreechartengine</artifactId>
</dependency>
<!-- GPL detailrow Component for ZK -->
<dependency>
<groupId>com.igalia.java.zk.components</groupId>
<artifactId>customdetailrowcomponent</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-acl</artifactId>
</dependency>
<!-- Spring Dependency LDAP -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-ldap</artifactId>
</dependency>
<!-- Spring security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-acl</artifactId>
</dependency>
<!-- Spring Dependency LDAP -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-ldap</artifactId>
</dependency>
<dependency>
<groupId>org.beanshell</groupId>
<artifactId>bsh</artifactId>
</dependency>
<dependency>
<groupId>jfree</groupId>
<artifactId>jfreechart</artifactId>
</dependency>
<dependency>
<groupId>jfree</groupId>
<artifactId>jcommon</artifactId>
</dependency>
<!-- Apache Commons Fileupload (required by ZK) -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
<!-- ZK -->
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zul</artifactId>
</dependency>
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zkplus</artifactId>
</dependency>
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zk</artifactId>
</dependency>
<!-- LibrePlan ZK Components -->
<dependency>
<groupId>org.libreplan</groupId>
<artifactId>ganttzk</artifactId>
</dependency>
<!-- LibrePlan Business -->
<dependency>
<groupId>org.libreplan</groupId>
<artifactId>libreplan-business</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<!-- datasource for testing -->
<dependency>
<groupId>com.jolbox</groupId>
<artifactId>bonecp</artifactId>
<scope>test</scope>
</dependency>
<!-- JDBC driver -->
<dependency>
<groupId>${jdbcDriver.groupId}</groupId>
<artifactId>${jdbcDriver.artifactId}</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymockclassextension</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</dependency>
<!-- JAX-RS API -->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
</dependency>
<!-- CXF -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-xc</artifactId>
</dependency>
<!-- ZK Timeplot -->
<dependency>
<groupId>org.zkoss.zkforge</groupId>
<artifactId>timelinez</artifactId>
</dependency>
<dependency>
<groupId>org.zkoss.zkforge</groupId>
<artifactId>timeplotz</artifactId>
</dependency>
<!-- JGraphT -->
<dependency>
<groupId>org.jgrapht</groupId>
<artifactId>jgrapht-jdk1.5</artifactId>
</dependency>
<!-- jqPlot -->
<dependency>
<groupId>br.com.digilabs.jqplot</groupId>
<artifactId>jqplot4java</artifactId>
</dependency>
<!-- MPXJ Library -->
<dependency>
<groupId>net.sourceforge</groupId>
<artifactId>mpxj</artifactId>
</dependency>
<!-- ZK fileupload -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<!-- Quartz framework -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
</dependency>
</dependencies>
</project>