Newer
Older
<?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>
<url>https://www.openolat.com</url>
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>
<url>https://www.openolat.com</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>nmvn-lms</id>
<url>https://nmvn.uibk.ac.at/artifactory/olat-release-local</url>
<id>nmvn-lms</id>
<url>https://nmvn.uibk.ac.at/artifactory/olat-snapshot-local</url>
</snapshotRepository>
</distributionManagement>
<issueManagement>
<system>JIRA</system>
<url>https://jira.openolat.org</url>
<url>https://github.com/OpenOLAT/OpenOLAT</url>
<connection>scm:git:git://github.com/OpenOLAT/OpenOLAT.git</connection>
<developerConnection>scm:git:git@github.com:OpenOLAT/OpenOLAT.git</developerConnection>
<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>
<org.springframework.version>5.1.5.RELEASE</org.springframework.version>
<org.hibernate.version>5.4.1.Final</org.hibernate.version>

srosse
committed
<com.sun.jersey.version>1.19.4</com.sun.jersey.version>
<apache.cxf>3.2.7</apache.cxf>
<org.mysql.version>5.1.46</org.mysql.version>
<org.postgresql.version>42.2.5</org.postgresql.version>
<org.infinispan.version>9.2.3.Final</org.infinispan.version>
<lucene.version>7.7.0</lucene.version>
<version.selenium>3.13.0</version.selenium>
<version.drone>2.5.1</version.drone>
<activemq.version>5.15.8</activemq.version>
<qtiworks.version>1.0.13</qtiworks.version>

srosse
committed
<!-- 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>

User expired
committed
<test.env.db.postgresql.host.name>localhost</test.env.db.postgresql.host.name>
<test.env.db.postgresql.host.port>5432</test.env.db.postgresql.host.port>
<test.env.db.oracle.name>orcl</test.env.db.oracle.name>
<test.env.db.oracle.user>OLATTEST</test.env.db.oracle.user>
<test.env.db.oracle.pass>olat00002</test.env.db.oracle.pass>
<test.env.db.oracle.host.port>1521</test.env.db.oracle.host.port>
<test.env.instance.id>myolat</test.env.instance.id>
<test.env.jmx.rmi.port.0>3000</test.env.jmx.rmi.port.0>
<test.env.webdriver.browser>chrome</test.env.webdriver.browser>
<skipTests>true</skipTests>
<skipSeleniumTests>false</skipSeleniumTests>
<maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
<sonar.language>java</sonar.language>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
<profile>
<id>documentation</id>
<build>
<plugins>
<plugin>
<artifactId>jaxb2-maven-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/alert.min.js</include>
<include>${basedir}/target/bootstrap/javascripts/bootstrap/button.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/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>
<exclude>**/dragula/*</exclude>
<exclude>**/mediaelementjs/*</exclude>
<exclude>**/mediaelementjs/**/*</exclude>
<exclude>**/fullcalendar/*</exclude>
<exclude>**/sliderpips/jquery-ui-slider-pips.js</exclude>
</excludes>
</configuration>
<execution>
<!-- compress movie player in place, don't append to any other file -->
<id>compressmovieplayer</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/jsmovie</outputDirectory>
<sourceDirectory>${basedir}/src/main/webapp/static/movie</sourceDirectory>
<excludeResources>true</excludeResources>
<aggregations>
<aggregation>
<output>${basedir}/src/main/webapp/static/movie/player.min.js</output>
<removeIncluded>false</removeIncluded>
<includes>
<include>${basedir}/target/jsmovie/player.min.js</include>
</includes>
</aggregation>
</aggregations>
<excludes>
<exclude>**/*.min.js</exclude>
<exclude>**/dragula/*</exclude>
<exclude>**/fullcalendar/*</exclude>
<exclude>**/mediaelementjs/*</exclude>
<exclude>**/mediaelementjs/**/*</exclude>
<exclude>**/sliderpips/jquery-ui-slider-pips.js</exclude>
<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.translator.min.js</include>

srosse
committed
<include>${basedir}/target/jquery/jquery/openolat/jquery.navbar.min.js</include>

kscherer
committed
<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/jquery/qti/jquery.qti.min.js</output>
<removeIncluded>false</removeIncluded>
<includes><!-- qtiAutosave, qtiTimer are loaded separately -->
<include>${basedir}/target/jquery/jquery/qti/jquery.associate.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.choice.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.gapMatch.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.graphicAssociate.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.graphicGap.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.graphicOrder.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.hotspot.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.hotspot.responsive.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.match.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.match_dnd.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.order.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.positionObject.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.selectPoint.min.js</include>
<include>${basedir}/target/jquery/jquery/qti/jquery.slider.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/olatqti/plugin.min.js</output>
<removeIncluded>false</removeIncluded>
<includes>
<include>${basedir}/target/jquery/tinymce4/tinymce/plugins/olatqti/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/olatcharcount/plugin.min.js</output>
<removeIncluded>false</removeIncluded>
<includes>
<include>${basedir}/target/jquery/tinymce4/tinymce/plugins/olatcharcount/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/tinymce4/tinymce/plugins/olatedusharing/plugin.min.js</output>
<removeIncluded>false</removeIncluded>
<includes>
<include>${basedir}/target/jquery/tinymce4/tinymce/plugins/olatedusharing/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>
<aggregation>
<output>${basedir}/src/main/webapp/static/js/jquery/openolat/jquery.timeline.min.js</output>
<removeIncluded>false</removeIncluded>
<includes>
<include>${basedir}/target/jquery/jquery/openolat/jquery.timeline.min.js</include>
</includes>
</aggregation>
</aggregations>
<exclude>**/dragula/*</exclude>
<exclude>**/fullcalendar/*</exclude>
<exclude>**/mediaelementjs/*</exclude>
<exclude>**/mediaelementjs/**/*</exclude>
<exclude>**/sliderpips/jquery-ui-slider-pips.js</exclude>
</excludes>
</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/sliderpips/jquery-ui-slider-pips.min.css</include>
<include>${basedir}/target/jquery/jquery/ui/jquery-ui-1.11.4.custom.min.css</include>
<include>${basedir}/src/main/webapp/static/js/dragula/dragula.min.css</include>
</includes>
</aggregation>
</aggregations>
<exclude>**/dragula/*</exclude>
<exclude>**/fullcalendar/fullcalendar.js</exclude>
<exclude>**/fullcalendar/fullcalendar.min.js</exclude>
<exclude>**/mediaelementjs/*</exclude>
<exclude>**/mediaelementjs/**/*</exclude>
<exclude>**/sliderpips/jquery-ui-slider-pips.js</exclude>
</excludes>
</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>

User expired
committed
<dependency>
<groupId>log4j</groupId>
<artifactId>apache-log4j-extras</artifactId>
<version>1.2.17</version>
</dependency>
<!-- Jersey for tomcat -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${apache.cxf}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>${apache.cxf}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${apache.cxf}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-http-sci</artifactId>
<version>${apache.cxf}</version>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.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.infinispan</groupId>
<artifactId>infinispan-hibernate-cache-v53</artifactId>
<version>${org.infinispan.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-hikaricp</artifactId>
<version>${org.hibernate.version}</version>
</dependency>
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
<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>
<exclusion>
<groupId>org.jgroups</groupId>
<artifactId>jgroups</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>
<exclusions>
<exclusion>
<groupId>com.github.dblock.waffle</groupId>
<artifactId>waffle-jna</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
</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-client</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-spring</artifactId>
<version>${activemq.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.xbean</groupId>
<artifactId>xbean-spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-pool</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jta_1.0.1B_spec</artifactId>
</exclusion>
<exclusion>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
</exclusion>
</exclusions>
</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>

User expired
committed
<webXml>src/main/webapp-tomcat/WEB-INF/web.xml</webXml>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>

srosse
committed
<id>wildfly</id>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>provided</scope>
</dependency>
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.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>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.infinispan</groupId>
<artifactId>infinispan-hibernate-cache-v53</artifactId>
<version>${org.infinispan.version}</version>
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
<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>
<exclusion>
<groupId>org.jgroups</groupId>
<artifactId>jgroups</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>

srosse
committed
<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>
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<id>copy-resources-4-mysqlunittests</id>
<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>

srosse
committed
<filtering>false</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>
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
<!-- 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>
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
<!-- 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>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.2</version>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
<append>true</append>
</configuration>
<executions>
<execution>
<id>agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
</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>
<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>
<exclusions>
<exclusion>
<groupId>com.github.dblock.waffle</groupId>
<artifactId>waffle-jna</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- common configuration shared by all executions -->
<configuration>
<driver>org.postgresql.Driver</driver>

User expired
committed
<url>jdbc:postgresql://${test.env.db.postgresql.host.name}:${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 -->

User expired
committed
<url>jdbc:postgresql://${test.env.db.postgresql.host.name}:${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>

User expired
committed
<url>jdbc:postgresql://${test.env.db.postgresql.host.name}:${test.env.db.postgresql.host.port}/postgres</url>