<?xml version="1.0"?> <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> <groupId>org.openolat</groupId> <artifactId>openolat-lms</artifactId> <version>10.1-SNAPSHOT</version> <packaging>war</packaging> <name>OpenOLAT LMS</name> <url>http://www.openolat.org</url> <description> Welcome to the OpenOLAT (Open Online Learning And Training) Developer Project Site. This site contains materials chiefly of concern to developers (e.g., unit testing and SCA output etc.) and is rebuilt periodically on a regular basis. The site structure is divided between project information (e.g., infrastructure, mailing lists, repositories etc.) and reports (e.g., unit testing, SCAs etc.) </description> <organization> <name>OpenOLAT</name> <url>http://www.openolat.org</url> </organization> <licenses> <license> <name>Apache 2.0 Open Source License</name> <url>http://www.apache.org/licenses/LICENSE-2.0</url> <distribution>manual</distribution> <comments> OpenOLAT 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. </comments> </license> </licenses> <distributionManagement> <repository> <id>nexus.openolat</id> <name>OpenOLAT Internal Nexus Release Repository</name> <url>http://nexus.openolat.org/nexus/content/repositories/openolat</url> </repository> <snapshotRepository> <id>nexus.openolat</id> <name>OpenOLAT Internal Nexus Snapshot Repository</name> <url>http://nexus.openolat.org/nexus/content/repositories/openolat-snapshots</url> </snapshotRepository> </distributionManagement> <issueManagement> <system>JIRA</system> <url>http://jira.openolat.org</url> </issueManagement> <scm> <connection>scm:hg:http://hg.openolat.org</connection> <developerConnection>scm:hg:http://hg.openolat.org</developerConnection> <url>http://hg.openolat.org</url> </scm> <mailingLists> <mailingList> <name>openolat</name> <subscribe>https://groups.google.com/forum/#!forum/openolat</subscribe> <post>openolat@googlegroups.com</post> <archive>https://groups.google.com/forum/#!forum/openolat</archive> </mailingList> </mailingLists> <!-- Unless otherwise explicitly stated the character encoding for all resources (e.g., source, test etc.) will be UTF-8. This can be overriden at the plugin level if necessary. --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <targetJdk>1.7</targetJdk> <org.springframework.version>3.2.10.RELEASE</org.springframework.version> <org.hibernate.version>4.3.6.Final</org.hibernate.version> <com.sun.jersey.version>1.17.1</com.sun.jersey.version> <jackson.version>1.9.2</jackson.version> <org.mysql.version>5.1.31</org.mysql.version> <org.postgresql.version>9.3-1102-jdbc41</org.postgresql.version> <org.infinispan.version>6.0.2.Final</org.infinispan.version> <lucene.version>4.8.0</lucene.version> <version.selenium>2.43.1</version.selenium> <!-- properties for testing and Q&A --> <!-- by default no tests are executed so far (April 2011). Use appropriate profiles and properties on the command line --> <!-- properties to define the testing environment --> <test.env>mysql</test.env> <!-- olat.local.properties to distinguish multiple single and cluster olat instances on a single machine--> <test.env.db.name>olattest</test.env.db.name> <test.env.db.user>olat</test.env.db.user> <test.env.db.pass>olat</test.env.db.pass> <test.env.db.host.port>3306</test.env.db.host.port> <test.env.db.postgresql.user>postgres</test.env.db.postgresql.user> <test.env.db.postgresql.pass>postgres</test.env.db.postgresql.pass> <test.env.db.postgresql.host.port>5432</test.env.db.postgresql.host.port> <test.env.instance.id>myolat</test.env.instance.id> <test.env.jmx.rmi.port.0>3000</test.env.jmx.rmi.port.0> <skipTests>true</skipTests> <skipSeleniumTests>false</skipSeleniumTests> </properties> <profiles> <profile> <id>documentation</id> <build> <plugins> <plugin> <groupId>com.sun.tools.jxc.maven2</groupId> <artifactId>maven-jaxb-schemagen-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>com.sun.jersey.contribs</groupId> <artifactId>maven-wadl-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> </plugin> </plugins> </build> </profile> <profile> <id>compressjs</id> <build> <plugins> <!-- Compress jquery plugins --> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <version>1.3.2</version> <executions> <execution> <id>compressbootstrap</id> <phase>process-resources</phase> <goals> <goal>compress</goal> </goals> <configuration> <suffix>.min</suffix> <force>true</force> <encoding>UTF-8</encoding> <nocompress>false</nocompress> <outputDirectory>${basedir}/target/bootstrap</outputDirectory> <sourceDirectory>${basedir}/src/main/webapp/static/bootstrap</sourceDirectory> <excludeResources>true</excludeResources> <aggregations> <aggregation> <output>${basedir}/target/bootstrap/bootstrap-openolat.min.js</output> <removeIncluded>false</removeIncluded> <includes> <!-- <include>${basedir}/target/bootstrap/javascripts/bootstrap/affix.min.js</include> --> <include>${basedir}/target/bootstrap/javascripts/bootstrap/alert.min.js</include> <include>${basedir}/target/bootstrap/javascripts/bootstrap/button.min.js</include> <!-- <include>${basedir}/target/bootstrap/javascripts/bootstrap/carousel.min.js</include> --> <include>${basedir}/target/bootstrap/javascripts/bootstrap/collapse.min.js</include> <include>${basedir}/target/bootstrap/javascripts/bootstrap/dropdown.min.js</include> <include>${basedir}/target/bootstrap/javascripts/bootstrap/tab.min.js</include> <include>${basedir}/target/bootstrap/javascripts/bootstrap/transition.min.js</include> <!-- <include>${basedir}/target/bootstrap/javascripts/bootstrap/scrollspy.min.js</include> --> <include>${basedir}/target/bootstrap/javascripts/bootstrap/modal.min.js</include> <include>${basedir}/target/bootstrap/javascripts/bootstrap/tooltip.min.js</include> <include>${basedir}/target/bootstrap/javascripts/bootstrap/popover.min.js</include> </includes> </aggregation> </aggregations> </configuration> </execution> <execution> <id>compressjs</id> <phase>process-resources</phase> <goals> <goal>compress</goal> </goals> <configuration> <suffix>.min</suffix> <force>true</force> <encoding>UTF-8</encoding> <nocompress>false</nocompress> <outputDirectory>${basedir}/target/jquery</outputDirectory> <sourceDirectory>${basedir}/src/main/webapp/static/js</sourceDirectory> <excludeResources>true</excludeResources> <aggregations> <aggregation> <output>${basedir}/src/main/webapp/static/js/js.plugins.min.js</output> <removeIncluded>false</removeIncluded> <includes> <include>${basedir}/target/jquery/jquery/periodic/jquery.periodic.min.js</include> <include>${basedir}/target/jquery/jshashtable-2.1_src.min.js</include> <include>${basedir}/target/jquery/jquery/openolat/jquery.oolog.min.js</include> <include>${basedir}/target/jquery/jquery/openolat/jquery.translator.min.js</include> <include>${basedir}/target/jquery/jquery/openolat/jquery.navbar.min.js</include> <include>${basedir}/target/jquery/jquery/openolat/jquery.bgcarrousel.min.js</include> <include>${basedir}/src/main/webapp/static/js/tinymce4/tinymce/jquery.tinymce.min.js</include> <include>${basedir}/target/jquery/functions.min.js</include> <include>${basedir}/target/jquery/jquery/transit/jquery.transit.min.js</include> <include>${basedir}/target/bootstrap/bootstrap-openolat.min.js</include> </includes> </aggregation> <aggregation> <output>${basedir}/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatmatheditor/plugin.min.js</output> <removeIncluded>false</removeIncluded> <includes> <include>${basedir}/target/jquery/tinymce4/tinymce/plugins/olatmatheditor/plugin.min.js</include> </includes> </aggregation> <aggregation> <output>${basedir}/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatmovieviewer/plugin.min.js</output> <removeIncluded>false</removeIncluded> <includes> <include>${basedir}/target/jquery/tinymce4/tinymce/plugins/olatmovieviewer/plugin.min.js</include> </includes> </aggregation> <aggregation> <output>${basedir}/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatsmileys/plugin.min.js</output> <removeIncluded>false</removeIncluded> <includes> <include>${basedir}/target/jquery/tinymce4/tinymce/plugins/olatsmileys/plugin.min.js</include> </includes> </aggregation> <aggregation> <output>${basedir}/src/main/webapp/static/js/tinymce4/tinymce/plugins/quotespliter/plugin.min.js</output> <removeIncluded>false</removeIncluded> <includes> <include>${basedir}/target/jquery/tinymce4/tinymce/plugins/quotespliter/plugin.min.js</include> </includes> </aggregation> <aggregation> <output>${basedir}/src/main/webapp/static/js/jquery/openolat/jquery.statistics.chart.min.js</output> <removeIncluded>false</removeIncluded> <includes> <include>${basedir}/target/jquery/jquery/openolat/jquery.statistics.chart.min.js</include> </includes> </aggregation> </aggregations> </configuration> </execution> <execution> <id>compresscss</id> <phase>process-resources</phase> <goals> <goal>compress</goal> </goals> <configuration> <suffix>.min</suffix> <force>true</force> <encoding>UTF-8</encoding> <nocompress>false</nocompress> <outputDirectory>${basedir}/target/jquery</outputDirectory> <sourceDirectory>${basedir}/src/main/webapp/static/js</sourceDirectory> <excludeResources>true</excludeResources> <aggregations> <aggregation> <output>${basedir}/src/main/webapp/static/js/js.plugins.min.css</output> <removeIncluded>false</removeIncluded> <includes> <include>${basedir}/target/jquery/jquery/tagsinput/bootstrap-tagsinput.min.css</include> <include>${basedir}/target/jquery/jquery/fullcalendar/fullcalendar.min.css</include> <include>${basedir}/target/jquery/jquery/cropper/cropper.min.css</include> <include>${basedir}/target/jquery/jquery/ui/jquery-ui-1.10.4.custom.min.css</include> </includes> </aggregation> </aggregations> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- This is the default build which had all dependencies needed by tomcat --> <profile> <id>tomcat</id> <activation> <activeByDefault>true</activeByDefault> </activation> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- Jersey for tomcat --> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> <version>${com.sun.jersey.version}</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-jca</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-servlet</artifactId> <version>${com.sun.jersey.version}</version> </dependency> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${org.hibernate.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${org.hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-infinispan</artifactId> <version>${org.hibernate.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-hikaricp</artifactId> <version>${org.hibernate.version}</version> </dependency> <dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-core</artifactId> <version>${org.infinispan.version}</version> <exclusions> <exclusion> <groupId>org.jboss.spec.javax.transaction</groupId> <artifactId>jboss-transaction-api_1.1_spec</artifactId> </exclusion> <exclusion> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.woodstox</groupId> <artifactId>woodstox-core-asl</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.woodstox</groupId> <artifactId>stax2-api</artifactId> </exclusion> <exclusion> <groupId>org.rhq.helpers</groupId> <artifactId>rhq-pluginAnnotations</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${org.mysql.version}</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>${org.postgresql.version}</version> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jms_1.1_spec</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-core</artifactId> <version>5.3.2</version> <exclusions> <exclusion> <groupId>backport-util-concurrent</groupId> <artifactId>backport-util-concurrent</artifactId> </exclusion> <exclusion> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> </exclusion> <!-- fxdiff: FXOLAT-243 clean up the dependencies of ActiveMQ --> <exclusion> <groupId>org.springframework.osgi</groupId> <artifactId>spring-osgi-core</artifactId> </exclusion> <exclusion> <groupId>org.apache.activemq</groupId> <artifactId>kahadb</artifactId> </exclusion> <exclusion> <groupId>org.osgi</groupId> <artifactId>org.osgi.core</artifactId> </exclusion> <exclusion> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-j2ee-management_1.0_spec</artifactId> </exclusion> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging-api</artifactId> </exclusion> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- webservice stack --> <dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-rt</artifactId> <version>2.2.6</version> <exclusions> <exclusion> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.sun.xml.fastinfoset</groupId> <artifactId>FastInfoset</artifactId> <version>1.2.8</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <webResources> <resource> <directory>src/main/webapp-tomcat</directory> <filtering>false</filtering> </resource> </webResources> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>wildfly</id> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>1.1.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-servlet</artifactId> <version>${com.sun.jersey.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jms_1.1_spec</artifactId> <version>1.1.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${org.hibernate.version}</version> <scope>provided</scope> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${org.hibernate.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-infinispan</artifactId> <version>${org.hibernate.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-core</artifactId> <version>${org.infinispan.version}</version> <scope>provided</scope> <exclusions> <exclusion> <groupId>org.jboss.spec.javax.transaction</groupId> <artifactId>jboss-transaction-api_1.1_spec</artifactId> </exclusion> <exclusion> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.woodstox</groupId> <artifactId>woodstox-core-asl</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.woodstox</groupId> <artifactId>stax2-api</artifactId> </exclusion> <exclusion> <groupId>org.rhq.helpers</groupId> <artifactId>rhq-pluginAnnotations</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${org.mysql.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>${org.postgresql.version}</version> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <webResources> <resource> <directory>src/main/webapp-wildfly</directory> <filtering>false</filtering> </resource> </webResources> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>mysqlunittests</id> <activation> <property> <name>with-mysql</name> </property> </activation> <properties> <testFailureIgnore>false</testFailureIgnore> <test.env>mysql</test.env> <skipTests>false</skipTests> </properties> <build> <plugins> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <id>copy-resources-4-mysqlunittests</id> <!-- hook in to copy maven.build.properties to allow test and integration-test phase run properly --> <phase>generate-test-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/target/test-classes</outputDirectory> <resources> <resource> <!-- place resources you like to get filtered an copied --> <directory>src/test/profile/${test.env}</directory> <includes> <include>olat.local.properties</include> </includes> <filtering>true</filtering> </resource> <resource> <!-- place resources you like to get filtered an copied --> <directory>src/main/resources/database/mysql</directory> <includes> <include>setupDatabase.sql</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sql-maven-plugin</artifactId> <version>1.5</version> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${org.mysql.version}</version> </dependency> </dependencies> <!-- common configuration shared by all executions --> <configuration> <driver>com.mysql.jdbc.Driver</driver> <url>jdbc:mysql://localhost:${test.env.db.host.port}/${test.env.db.name}</url> <username>${test.env.db.user}</username> <password>${test.env.db.pass}</password> </configuration> <executions> <execution> <id>drop-mysql-db-before-test</id> <phase>process-test-resources</phase> <goals> <goal>execute</goal> </goals> <configuration> <!-- need another database to drop the targeted one --> <url>jdbc:mysql://localhost:${test.env.db.host.port}/olat</url> <autocommit>true</autocommit> <sqlCommand>drop database if exists ${test.env.db.name}</sqlCommand> <!-- ignore error when database is not avaiable --> <onError>continue</onError> </configuration> </execution> <execution> <id>create-mysql-db</id> <phase>process-test-resources</phase> <goals> <goal>execute</goal> </goals> <configuration> <url>jdbc:mysql://localhost:${test.env.db.host.port}/olat</url> <!-- no transaction --> <autocommit>true</autocommit> <sqlCommand>create database ${test.env.db.name} default character set utf8</sqlCommand> </configuration> </execution> <execution> <id>create-mysql-schema</id> <phase>process-test-resources</phase> <goals> <goal>execute</goal> </goals> <configuration> <autocommit>true</autocommit> <srcFiles> <srcFile>target/test-classes/setupDatabase.sql</srcFile> </srcFiles> </configuration> </execution> <!-- drop db after test --> <execution> <id>drop-mysql-db-after-test</id> <!-- there is no post-test phase, the next phase after "test" is "prepare-package" for integration tests running against mysql generated via setupDatabase.sql there is need to bind a similar drop/create/schema/drop to pre-integration-test and post-integration-test --> <phase>prepare-package</phase> <goals> <goal>execute</goal> </goals> <configuration> <autocommit>true</autocommit> <sqlCommand>drop database if exists ${test.env.db.name}</sqlCommand> </configuration> </execution> <!-- Same for integration-test --> <execution> <id>drop-mysql-db-before-integration</id> <phase>pre-integration-test</phase> <goals> <goal>execute</goal> </goals> <configuration> <!-- need another database to drop the targeted one --> <url>jdbc:mysql://localhost:${test.env.db.host.port}/olat</url> <autocommit>true</autocommit> <sqlCommand>drop database if exists ${test.env.db.name}</sqlCommand> <!-- ignore error when database is not avaiable --> <onError>continue</onError> </configuration> </execution> <execution> <id>create-mysql-db-before-integration-test</id> <phase>pre-integration-test</phase> <goals> <goal>execute</goal> </goals> <configuration> <url>jdbc:mysql://localhost:${test.env.db.host.port}/olat</url> <!-- no transaction --> <autocommit>true</autocommit> <sqlCommand>create database ${test.env.db.name} default character set utf8</sqlCommand> </configuration> </execution> <execution> <id>create-mysql-schema-before-integration-test</id> <phase>pre-integration-test</phase> <goals> <goal>execute</goal> </goals> <configuration> <autocommit>true</autocommit> <srcFiles> <srcFile>target/test-classes/setupDatabase.sql</srcFile> </srcFiles> </configuration> </execution> <!-- drop db after test --> <execution> <id>drop-mysql-db-after-integration-test</id> <phase>post-integration-test</phase> <goals> <goal>execute</goal> </goals> <configuration> <autocommit>true</autocommit> <sqlCommand>drop database if exists ${test.env.db.name}</sqlCommand> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>postgresqlunittests</id> <activation> <property> <name>with-postgresql</name> </property> </activation> <properties> <testFailureIgnore>false</testFailureIgnore> <test.env>postgresql</test.env> <skipTests>false</skipTests> </properties> <build> <plugins> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <id>copy-resources-4-postgresqlunittests</id> <!-- hook in to copy maven.build.properties to allow test and integration-test phase run properly --> <phase>generate-test-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/target/test-classes</outputDirectory> <resources> <resource> <!-- place resources you like to get filtered an copied --> <directory>src/test/profile/${test.env}</directory> <includes> <include>olat.local.properties</include> </includes> <filtering>true</filtering> </resource> <resource> <!-- place resources you like to get filtered an copied --> <directory>src/main/resources/database/postgresql</directory> <includes> <include>setupDatabase.sql</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>sql-maven-plugin</artifactId> <version>1.5</version> <dependencies> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>${org.postgresql.version}</version> </dependency> </dependencies> <!-- common configuration shared by all executions --> <configuration> <driver>org.postgresql.Driver</driver> <url>jdbc:postgresql://localhost:${test.env.db.postgresql.host.port}/${test.env.db.name}</url> <username>${test.env.db.postgresql.user}</username> <password>${test.env.db.postgresql.pass}</password> </configuration> <executions> <execution> <id>drop-postgresql-db-before-test</id> <phase>process-test-resources</phase> <goals> <goal>execute</goal> </goals> <configuration> <!-- need another database to drop the targeted one --> <url>jdbc:postgresql://localhost:${test.env.db.postgresql.host.port}/postgres</url> <autocommit>true</autocommit> <sqlCommand>drop database if exists ${test.env.db.name}</sqlCommand> <!-- ignore error when database is not avaiable --> <onError>continue</onError> </configuration> </execution> <execution> <id>create-postgresql-db</id> <phase>process-test-resources</phase> <goals> <goal>execute</goal> </goals> <configuration> <url>jdbc:postgresql://localhost:${test.env.db.postgresql.host.port}/postgres</url> <!-- no transaction --> <autocommit>true</autocommit> <sqlCommand>create database ${test.env.db.name}</sqlCommand> </configuration> </execution> <execution> <id>create-postgresql-schema</id> <phase>process-test-resources</phase> <goals> <goal>execute</goal> </goals> <configuration> <autocommit>true</autocommit> <srcFiles> <srcFile>target/test-classes/setupDatabase.sql</srcFile> </srcFiles> </configuration> </execution> <!-- drop db after test --> <execution> <id>drop-postgresql-db-after-test</id> <!-- there is no post-test phase, the next phase after "test" is "prepare-package" for integration tests running against mysql generated via setupDatabase.sql there is need to bind a similar drop/create/schema/drop to pre-integration-test and post-integration-test --> <phase>prepare-package</phase> <goals> <goal>execute</goal> </goals> <configuration> <url>jdbc:postgresql://localhost:${test.env.db.postgresql.host.port}/postgres</url> <autocommit>true</autocommit> <sqlCommand>drop database if exists ${test.env.db.name}</sqlCommand> </configuration> </execution> <!-- Same for integration tests --> <execution> <id>drop-postgresql-db-before-integtration-test</id> <phase>pre-integration-test</phase> <goals> <goal>execute</goal> </goals> <configuration> <!-- need another database to drop the targeted one --> <url>jdbc:postgresql://localhost:${test.env.db.postgresql.host.port}/postgres</url> <autocommit>true</autocommit> <sqlCommand>drop database if exists ${test.env.db.name}</sqlCommand> <!-- ignore error when database is not avaiable --> <onError>continue</onError> </configuration> </execution> <execution> <id>create-postgresql-db-before-integration-test</id> <phase>pre-integration-test</phase> <goals> <goal>execute</goal> </goals> <configuration> <url>jdbc:postgresql://localhost:${test.env.db.postgresql.host.port}/postgres</url> <!-- no transaction --> <autocommit>true</autocommit> <sqlCommand>create database ${test.env.db.name}</sqlCommand> </configuration> </execution> <execution> <id>create-postgresql-schema-before-integration-test</id> <phase>pre-integration-test</phase> <goals> <goal>execute</goal> </goals> <configuration> <autocommit>true</autocommit> <srcFiles> <srcFile>target/test-classes/setupDatabase.sql</srcFile> </srcFiles> </configuration> </execution> <!-- drop db after test --> <execution> <id>drop-postgresql-db-after-integration-test</id> <phase>post-integration-test</phase> <goals> <goal>execute</goal> </goals> <configuration> <url>jdbc:postgresql://localhost:${test.env.db.postgresql.host.port}/postgres</url> <autocommit>true</autocommit> <sqlCommand>drop database if exists ${test.env.db.name}</sqlCommand> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>oracleunittests</id> <activation> <property> <name>with-oracle</name> </property> </activation> <properties> <testFailureIgnore>false</testFailureIgnore> <test.env>oracle</test.env> </properties> <build> <plugins> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <id>copy-resources-4-oracleunittests</id> <!-- hook in to copy maven.build.properties to allow test and integration-test phase run properly --> <phase>generate-test-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/target/test-classes</outputDirectory> <resources> <resource> <!-- place resources you like to get filtered an copied --> <directory>src/test/profile/${test.env}</directory> <includes> <include>olat.local.properties</include> </includes> <filtering>true</filtering> </resource> <resource> <!-- place resources you like to get filtered an copied --> <directory>src/main/resources/database/oracle</directory> <includes> <include>setupDatabase.sql</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.0</version> <optional>true</optional> </dependency> </dependencies> </profile> </profiles> <repositories> <repository> <id>central</id> <name>Maven Repository Switchboard</name> <layout>default</layout> <url>http://central.maven.org/maven2</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>maven2-repository.java.net</id> <name>Java.net repository for Maven</name> <url>https://maven.java.net/content/repositories/public</url> <layout>default</layout> </repository> <repository> <id>nexus.codehaus.org</id> <name>Codehaus nexus repo</name> <url>https://nexus.codehaus.org/content/groups/public</url> </repository> <repository> <id>jboss-public-repository-group</id> <name>JBoss Public Maven Repository Group</name> <url>https://repository.jboss.org/nexus/content/groups/public</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> </snapshots> </repository> <repository> <id>openolat-repo</id> <name>OpenOLAT Public Maven Repository Group</name> <url>http://nexus.openolat.org/nexus/content/groups/public</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>daily</updatePolicy> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>java-net-plugin-repo</id> <name>Java net Maven plugin repository</name> <url>http://download.java.net/maven/2</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> </snapshots> </pluginRepository> <pluginRepository> <id>openolat-plugin-repo</id> <name>OpenOLAT Public Maven Repository Group</name> <url>http://nexus.openolat.org/nexus/content/groups/public</url> <layout>default</layout> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> </pluginRepository> </pluginRepositories> <build> <!-- Useful maven commands: o mvn dependency:tree - check to see what other dependencies get downloaded by an artifact o Maven lifecycle: Each phase of the lifecycle can also be called independent - e.g. mvn process-resources - http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference o mvn versions:display-plugin-updates (find updates to maven plugins) o mvn versions:use-latest-versions (automatically update dependencies. WARNING!!!) o mvn versions:display-dependency-updates (shows updates for dependencies) o mvn help:effective-pom - displays the computed pom, where you will see what is getting executed after expanding vars and plugin settings --> <resources> <!-- as long as we have resources like html, css, js in the src/main/java tree we need these two entries. the first tells maven to treat the java folder as the resource folder but not to copy the java files. The later tell maven that we have an other resource folder which is normally the default --> <resource> <directory>src/main/java</directory> <excludes> <exclude>**/*.java</exclude> <exclude>**/*.vsd</exclude> <exclude>**/*.odg</exclude> <exclude>**/*.odt</exclude> <exclude>**/*.pdf</exclude> <exclude>**/*.graffle</exclude> </excludes> </resource> <resource> <directory>src/main/resources</directory> <!-- when enabled resources will be searched and variables replaces with values --> <filtering>false</filtering> <excludes> <exclude>log4j.xml</exclude> </excludes> </resource> </resources> <testResources> <!-- Same comment as for src/main/java also applies to src/test/java --> <testResource> <directory>src/test/java</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </testResource> <testResource> <directory>src/test/resources</directory> <!-- when enabled resources will be searched and variables replaces with values --> <filtering>true</filtering> </testResource> </testResources> <plugins> <!-- Set the build number from mercurial --> <plugin> <groupId>org.openolat.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.2.0</version> <executions> <execution> <phase>validate</phase> <goals> <goal>hgchangeset</goal> </goals> </execution> </executions> <configuration> <doCheck>true</doCheck> <doUpdate>true</doUpdate> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.7</version> <executions> <!-- Copy the notice.txt file --> <execution> <id>copy-notices-txt</id> <phase>compile</phase> <goals> <goal>run</goal> </goals> <configuration> <target name="copy notice.txt to web project"> <copy file="${project.basedir}/NOTICE.TXT" tofile="${project.build.outputDirectory}/NOTICE.TXT"/> </target> </configuration> </execution> <!-- Download tomcat for integration test --> <execution> <phase>pre-integration-test</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <mkdir dir="${project.build.directory}/downloads" /> <get src="http://nexus.openolat.org/nexus/content/repositories/openolat/org/apache/tomcat/apache-tomcat-arq/7.0.27/apache-tomcat-arq-7.0.27.zip" dest="${project.build.directory}/downloads" verbose="true" skipexisting="true" /> <unzip src="${project.build.directory}/downloads/apache-tomcat-arq-7.0.27.zip" dest="${project.build.directory}" /> </tasks> </configuration> </execution> </executions> </plugin> <!-- Unit tests --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.8.1</version> <configuration> <skipTests>${skipTests}</skipTests> <argLine>-XX:MaxPermSize=128m -Xmx512m -Xms256m -Djava.awt.headless=true</argLine> <systemPropertyVariables> <java.io.tmpdir>${project.build.directory}/olatdata</java.io.tmpdir> </systemPropertyVariables> <testNGArtifactName>none:none</testNGArtifactName> <includes> <include>org/olat/test/AllTestsJunit4.java</include> </includes> </configuration> </plugin> <!-- Selenium tests --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>2.9</version> <configuration> <skipITs>${skipSeleniumTests}</skipITs> <skipTests>${skipSeleniumTests}</skipTests> <forkMode>always</forkMode> <systemProperties> <arquillian.launch>tomcat-7-managed</arquillian.launch> </systemProperties> <testNGArtifactName>none:none</testNGArtifactName> <test>org/olat/selenium/*Test.java</test> </configuration> <executions> <execution> <id>selenium-test</id> <goals> <goal>integration-test</goal> </goals> </execution> <execution> <id>selenium-verify</id> <goals> <goal>verify</goal> </goals> </execution> </executions> </plugin> </plugins> <pluginManagement> <plugins> <!-- OLAT requires JDK 1.7 or later ! --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.4</version> <configuration> <attachClasses>true</attachClasses> <directory>src/main/java</directory> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> <manifestEntries> <Build-Change-Set>${changeSet}</Build-Change-Set> <Build-Change-Set-Date>${changeSetDate}</Build-Change-Set-Date> <Build-Revision-Number>${revisionNumber}</Build-Revision-Number> <Implementation-Build>${buildNumber}</Implementation-Build> </manifestEntries> </archive> <excludes>**/*.pxm, **/*.psd, **/*.scss, **/*.sh, **/*.README</excludes> <webResources> <resource> <directory>src/main/webapp</directory> <filtering>false</filtering> </resource> </webResources> </configuration> </plugin> <!-- The Eclipse plugin is only of interest to developers and requires that WTP be installed. --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-eclipse-plugin</artifactId> <version>2.9</version> <configuration> <linkedResources> <linkedResource> <name>/src/main/java/olat.local.properties</name> <type>1</type> <location>${basedir}/olat.local.properties</location> </linkedResource> <linkedResource> <name>/src/test/java/olat.local.properties</name> <type>1</type> <location>${basedir}/src/test/profile/mysql/olat.local.properties</location> </linkedResource> </linkedResources> <wtpversion>2.0</wtpversion> <!-- context name for servlet container e.g. localhost:8080/olat --> <wtpContextName>olat</wtpContextName> <downloadSources>true</downloadSources> <additionalConfig> <file> <name>.settings/org.eclipse.core.resources.prefs</name> <content> <![CDATA[eclipse.preferences.version=1 encoding/<project>=UTF-8]]> </content> </file> </additionalConfig> </configuration> </plugin> <!-- reporting i.e., the site goal requires a more recent plugin version --> <plugin> <artifactId>maven-site-plugin</artifactId> <version>3.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>1.3.1</version> <executions> <execution> <id>show-versions</id> <phase>validate</phase> <goals> <goal>display-info</goal> </goals> </execution> <execution> <id>enforce-versions</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireMavenVersion> <version>2.2+</version> </requireMavenVersion> <requireJavaVersion> <version>1.7+</version> </requireJavaVersion> </rules> </configuration> </execution> </executions> </plugin> <!-- start rest api documentation: broken: mvn javadoc:javadoc --> <plugin> <groupId>com.sun.tools.jxc.maven2</groupId> <artifactId>maven-jaxb-schemagen-plugin</artifactId> <version>1.2</version> <executions> <execution> <phase>generate-resources</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <srcdir>${basedir}/src/</srcdir> <includes> <include>org/olat/restapi/**/*VO.java</include> <include>org/olat/user/restapi/**/*VO.java</include> <include>org/olat/modules/fo/restapi/*VO.java</include> <include>org/olat/catalog/restapi/*VO.java</include> </includes> <excludes></excludes> <destdir>${project.build.outputDirectory}</destdir> <verbose>true</verbose> </configuration> <dependencies> <dependency> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> <version>2.9.1</version> </dependency> <dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>1.7</version> <scope>system</scope> <systemPath>${java.home}/../lib/tools.jar</systemPath> </dependency> </dependencies> </plugin> <!-- Javadoc --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.4</version> <executions> <execution> <goals> <goal>javadoc</goal> </goals> <phase>compile</phase> </execution> </executions> <configuration> <encoding>UTF-8</encoding> <verbose>false</verbose> <show>public</show> <subpackages> org.olat.restapi,org.olat.modules.fo.restapi, org.olat.core.commons.services.notifications.restapi,org.olat.user.restapi,org.olat.course.nodes, org.olat.restapi.system </subpackages> <doclet>com.sun.jersey.wadl.resourcedoc.ResourceDoclet</doclet> <docletArtifacts> <docletArtifact> <groupId>com.sun.jersey.contribs</groupId> <artifactId>wadl-resourcedoc-doclet</artifactId> <version>${com.sun.jersey.version}</version> </docletArtifact> <!-- Also specify jersey and xerces as doclet artifacts as the ResourceDoclet uses classes provided by them to generate the resourcedoc. --> <docletArtifact> <groupId>com.sun.jersey</groupId> <artifactId>jersey-server</artifactId> <version>${com.sun.jersey.version}</version> </docletArtifact> <docletArtifact> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> <version>2.9.1</version> </docletArtifact> </docletArtifacts> <additionalparam>-output ${project.build.outputDirectory}/resourcedoc.xml</additionalparam> </configuration> </plugin> <plugin> <groupId>com.sun.jersey.contribs</groupId> <artifactId>maven-wadl-plugin</artifactId> <version>${com.sun.jersey.version}</version> <executions> <execution> <id>generate</id> <goals> <goal>generate</goal> </goals> <phase>compile</phase> </execution> </executions> <configuration> <wadlFile>${project.build.outputDirectory}/application.wadl</wadlFile> <formatWadlFile>true</formatWadlFile> <baseUri>http://www.example.com</baseUri> <packagesResourceConfig> <param>org.olat.restapi;org.olat.core.commons.services.notifications.restapi;org.olat.modules.fo.restapi;org.olat.user.restapi;org.olat.course.nodes</param> </packagesResourceConfig> <wadlGenerators> <wadlGeneratorDescription> <className>com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc</className> <properties> <property> <name>applicationDocsFile</name> <value>src/main/java/org/olat/restapi/support/application-doc.xml</value> </property> </properties> </wadlGeneratorDescription> <wadlGeneratorDescription> <className>com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport</className> <properties> <property> <name>grammarsFile</name> <value>src/main/java/org/olat/restapi/support/application-grammars.xml</value> </property> </properties> </wadlGeneratorDescription> <wadlGeneratorDescription> <className>com.sun.jersey.server.wadl.generators.resourcedoc.WadlGeneratorResourceDocSupport</className> <properties> <property> <name>resourceDocFile</name> <value>${project.build.outputDirectory}/resourcedoc.xml</value> </property> </properties> </wadlGeneratorDescription> </wadlGenerators> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>xml-maven-plugin</artifactId> <executions> <execution> <id>xslt: ${project.build.outputDirectory}/application.html</id> <phase>compile</phase> <!-- append to the packaging phase. --> <goals> <goal>transform</goal> <!-- goals == mojos --> </goals> <configuration> <transformationSets> <transformationSet> <dir>${project.build.outputDirectory}</dir> <includes> <include>application.wadl</include> </includes> <outputDir>src/main/java/org/olat/restapi/api/_content/</outputDir> <stylesheet>src/main/java/org/olat/restapi/support/wadl_documentation.xsl</stylesheet> <fileMappers> <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.FileExtensionMapper"> <targetExtension>.html</targetExtension> </fileMapper> </fileMappers> </transformationSet> </transformationSets> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>net.sf.saxon</groupId> <artifactId>saxon</artifactId> <version>8.7</version> </dependency> </dependencies> </plugin> <!-- end rest api documentation --> </plugins> </pluginManagement> </build> <!-- check with mvn dependency:tree to see what other dep. get downloaded --> <dependencies> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-core</artifactId> <version>5.3.2</version> <scope>test</scope> <exclusions> <exclusion> <groupId>backport-util-concurrent</groupId> <artifactId>backport-util-concurrent</artifactId> </exclusion> <exclusion> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> </exclusion> <!-- fxdiff: FXOLAT-243 clean up the dependencies of ActiveMQ --> <exclusion> <groupId>org.springframework.osgi</groupId> <artifactId>spring-osgi-core</artifactId> </exclusion> <exclusion> <groupId>org.apache.activemq</groupId> <artifactId>kahadb</artifactId> </exclusion> <exclusion> <groupId>org.osgi</groupId> <artifactId>org.osgi.core</artifactId> </exclusion> <exclusion> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-j2ee-management_1.0_spec</artifactId> </exclusion> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging-api</artifactId> </exclusion> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- <OLATCE-1322> --> <dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-rt</artifactId> <version>2.2.6</version> <scope>test</scope> <exclusions> <exclusion> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.sun.xml.fastinfoset</groupId> <artifactId>FastInfoset</artifactId> <version>1.2.8</version> <scope>test</scope> </dependency> <!-- </OLATCE-1322> --> <dependency> <!-- Used by SCORM implementation --> <groupId>org.beanshell</groupId> <artifactId>bsh-core</artifactId> <version>2.0b4</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>org.jcodec</groupId> <artifactId>jcodec</artifactId> <version>0.1.6-3</version> </dependency> <dependency> <groupId>org.mnode.ical4j</groupId> <artifactId>ical4j</artifactId> <version>1.0.2</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency><!-- Velocity dependency --> <groupId>oro</groupId> <artifactId>oro</artifactId> <version>2.0.8</version> </dependency> <dependency> <groupId>org.openolat.jamwiki</groupId> <artifactId>jamwiki-core</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>opensaml</groupId> <artifactId>opensaml</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.openolat</groupId> <artifactId>openmeetingws</artifactId> <version>2.1.1</version> </dependency> <dependency> <groupId>org.openolat</groupId> <artifactId>viterows</artifactId> <version>4.4</version> </dependency> <!-- docx4j need poi scratchpad version 3.8 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.8</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.8</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>1.8.7</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcmail-jdk15</artifactId> <version>1.46</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15</artifactId> <version>1.46</version> </dependency> <dependency> <groupId>org.scribe</groupId> <artifactId>scribe</artifactId> <version>1.3.5</version> </dependency> <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> <version>1.1.4</version> <exclusions> <exclusion> <groupId>com.ibm.icu</groupId> <artifactId>icu4j</artifactId> </exclusion> <exclusion> <groupId>xalan</groupId> <artifactId>xalan</artifactId> </exclusion> <exclusion> <groupId>jdom</groupId> <artifactId>jdom</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.jdom</groupId> <artifactId>jdom</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>fmath</groupId> <artifactId>fmath-latex-mathml</artifactId> <version>0.5</version> <!-- need org.jdom 1.1.3, jaxen 1.1.4 and commons-codec --> </dependency> <dependency> <groupId>jgrapht</groupId> <artifactId>jgrapht</artifactId> <version>0.6.0</version> </dependency> <!-- fxdiff: FXOLAT-243 remove dependency to jbosscache (only for cluster + deprecated by JBoss) --> <!-- cluster --> <dependency> <groupId>reload-diva</groupId> <artifactId>reload-diva</artifactId> <version>reload_dist255-diva.jar</version> </dependency> <dependency> <groupId>reload-dweezil</groupId> <artifactId>reload-dweezil</artifactId> <version>reload_dist255-dweezil.jar</version> </dependency> <dependency> <groupId>reload-jdom</groupId> <artifactId>reload-jdom</artifactId> <version>reload_dist255-jdom.jar</version> </dependency> <dependency> <groupId>reload-moonunit</groupId> <artifactId>reload-moonunit</artifactId> <version>reload_dist255-moonunit.jar</version> </dependency> <dependency> <groupId>rome</groupId> <artifactId>rome</artifactId> <version>1.0</version> <exclusions> <exclusion> <groupId>jdom</groupId> <artifactId>jdom</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>ch.ethz</groupId> <artifactId>pfplms-scorm</artifactId> <version>unknown</version> <classifier>patched</classifier><!-- patched version of scorm adapter: contact: matthai.kurian@gmail.com --> </dependency> <dependency><!-- used by SCORM --> <groupId>gnu-regexp</groupId> <artifactId>gnu-regexp</artifactId> <version>1.1.4</version> </dependency> <!-- logging stuff --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.5.11</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.5.11</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId> <version>1.5.8</version> </dependency> <!-- Replace commons-logging --> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>1.5.8</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> <scope>test</scope> </dependency> <!-- basic LTI stuff for lti demo: http://www.imsglobal.org/toolsinteroperability2.cfm --> <dependency> <groupId>org.sakaiproject.basiclti</groupId> <artifactId>basiclti-util</artifactId> <version>2.10.SP1</version> </dependency> <!-- J2EE dependencies but provided --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jms_1.1_spec</artifactId> <version>1.1.1</version> <scope>test</scope> </dependency> <!-- core dependencies --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>net.sourceforge.nekohtml</groupId> <artifactId>nekohtml</artifactId> <version>1.9.16</version> </dependency> <dependency> <groupId>org.owasp.antisamy</groupId> <artifactId>antisamy</artifactId> <version>1.5.2</version> </dependency> <dependency> <groupId>org.w3c.css</groupId> <artifactId>sac</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>org.apache.xmlgraphics</groupId> <artifactId>batik-css</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.apache.xmlgraphics</groupId> <artifactId>batik-util</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>de.java2html</groupId> <artifactId>java2html</artifactId> <version>5.0</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.3.1</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.3.1</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.3.1</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>org.infinispan</groupId> <artifactId>infinispan-core</artifactId> <version>${org.infinispan.version}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.jboss.spec.javax.transaction</groupId> <artifactId>jboss-transaction-api_1.1_spec</artifactId> </exclusion> <exclusion> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.woodstox</groupId> <artifactId>woodstox-core-asl</artifactId> </exclusion> <exclusion> <groupId>org.codehaus.woodstox</groupId> <artifactId>stax2-api</artifactId> </exclusion> <exclusion> <groupId>org.rhq.helpers</groupId> <artifactId>rhq-pluginAnnotations</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${org.hibernate.version}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>${org.hibernate.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-infinispan</artifactId> <version>${org.hibernate.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-hikaricp</artifactId> <version>${org.hibernate.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20080701</version> </dependency> <dependency> <groupId>jazzlib</groupId> <artifactId>jazzlib</artifactId> <version>0.0.6</version> <!-- do not replace with 0.0.7 as this version is highly patched. --> <classifier>patched</classifier> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>1.8.6</version> </dependency> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.7</version> </dependency> <dependency> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> <version>2.9.1</version> <!-- fxdiff: FXOLAT-243 prevents duplicate --> <exclusions> <exclusion> <groupId>xerces</groupId> <artifactId>xmlParserAPIs</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>xml-apis</groupId> <artifactId>xml-apis</artifactId> <version>1.3.04</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.3</version> <!-- fxdiff: FXOLAT-243 included in JDK 1.6 --> <exclusions> <exclusion> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.neemsoft</groupId> <artifactId>jmep</artifactId> <version>unknown</version> <classifier>patched</classifier> <!-- unknown patched version of jmep (java mathematical expression parser)[http://jmep.tigris.org/], do not replace unless you know what you do! --> </dependency> <!-- Lucene dependencies --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>${lucene.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-highlighter</artifactId> <version>${lucene.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-queryparser</artifactId> <version>${lucene.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers-common</artifactId> <version>${lucene.version}</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-suggest</artifactId> <version>${lucene.version}</version> </dependency> <!-- End lucene dependencies --> <!-- Spring dependencies --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${org.springframework.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${org.springframework.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${org.springframework.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${org.springframework.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${org.springframework.version}</version> </dependency> <!-- end Spring dependencies --> <!-- Start Jersey dependency --> <dependency> <groupId>javax.ws.rs</groupId> <artifactId>jsr311-api</artifactId> <version>1.1.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-jaxrs</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-xc</artifactId> <version>${jackson.version}</version> </dependency> <!-- end jersey --> <!-- paypal --> <dependency> <groupId>com.paypal</groupId> <artifactId>paypal_platform_base_AP</artifactId> <version>0.76</version> </dependency> <dependency> <groupId>com.paypal</groupId> <artifactId>paypal_platform_stubs_AP</artifactId> <version>0.76</version> </dependency> <!-- end Paypal --> <!-- Start test dependencies --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> <scope>test</scope> </dependency> <dependency> <groupId>io.undertow</groupId> <artifactId>undertow-core</artifactId> <version>1.0.16.Final</version> <scope>test</scope> </dependency> <dependency> <groupId>io.undertow</groupId> <artifactId>undertow-servlet</artifactId> <version>1.0.16.Final</version> <scope>test</scope> </dependency> <!-- Start test dependencies for Arquillian and Selenium --> <dependency> <groupId>org.jboss.arquillian.junit</groupId> <artifactId>arquillian-junit-container</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.arquillian.container</groupId> <artifactId>arquillian-tomcat-managed-7</artifactId> <version>1.0.0.CR6</version> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.arquillian.extension</groupId> <artifactId>arquillian-drone-impl</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.arquillian.extension</groupId> <artifactId>arquillian-drone-selenium</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.arquillian.extension</groupId> <artifactId>arquillian-drone-selenium-server</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.arquillian.extension</groupId> <artifactId>arquillian-drone-webdriver-depchain</artifactId> <version>1.3.1.Final</version> <type>pom</type> <scope>test</scope> </dependency> <dependency> <groupId>org.jboss.arquillian.graphene</groupId> <artifactId>graphene-webdriver</artifactId> <version>2.0.3.Final</version> <type>pom</type> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-server</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.mortbay.jetty</groupId> <artifactId>servlet-api-2.5</artifactId> </exclusion> </exclusions> </dependency> <!-- End test dependencies --> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.jboss.arquillian.selenium</groupId> <artifactId>selenium-bom</artifactId> <version>${version.selenium}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.jboss.arquillian</groupId> <artifactId>arquillian-bom</artifactId> <version>1.1.5.Final</version> <scope>import</scope> <type>pom</type> </dependency> <dependency> <groupId>org.jboss.arquillian.extension</groupId> <artifactId>arquillian-drone-bom</artifactId> <version>1.3.1.Final</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.3.1</version> <configuration> <!-- disable checking of url's im pom's --> <dependencyDetailsEnabled>false</dependencyDetailsEnabled> <dependencyLocationsEnabled>false</dependencyLocationsEnabled> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> <version>2.9</version> </plugin> </plugins> </reporting> <ciManagement> <system>Hudson</system> <url>http://jenkins.frentix.com</url> </ciManagement> </project>