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.
477 lines
20 KiB
XML
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>
|