<?xml version="1.0" encoding="UTF-8"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
 distributed with this work for additional information
 regarding copyright ownership.  The ASF licenses this file
 to you under the Apache License, Version 2.0 (the
 "License"); you may not use this file except in compliance
 with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing,
 software distributed under the License is distributed on an
 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.turbine</groupId>
    <artifactId>turbine-parent</artifactId>
    <version>8-SNAPSHOT</version>
  </parent>
  <artifactId>turbine</artifactId>
  <name>Apache Turbine</name>
  <version>5.1-SNAPSHOT</version>
  <description>Turbine is a servlet based framework that allows experienced Java
    developers to quickly build secure web applications. Parts of Turbine
    can also be used independently of the web portion of Turbine as
    well. In other words, we strive to make portions of Turbine easily
    available for use in other applications.</description>

  <url>http://turbine.apache.org/${turbine.site.path}</url>

  <inceptionYear>2000</inceptionYear>

  <developers>
    <developer>
      <id>brekke</id>
      <name>Jeff Brekke</name>
      <email>ekkerbj@yahoo.com</email>
      <url />
      <organization />
      <timezone />
    </developer>
    <developer>
      <id>hoffmann</id>
      <name>Jürgen Hoffmann</name>
      <email>hoffmann@apache.org</email>
      <url />
      <organization />
      <timezone />
    </developer>
    <developer>
      <id>daveb</id>
      <name>Dave Bryson</name>
      <email>mbryson@mont.mindspring.com</email>
      <url />
      <organization />
      <timezone />
    </developer>
    <developer>
      <id>burton</id>
      <name>Kevin A. Burton</name>
      <email>burton@relativity.yi.org</email>
      <url />
      <organization />
      <timezone />
    </developer>
    <developer>
      <id>dobbs</id>
      <name>Eric Dobbs</name>
      <email>dobbs@apache.org</email>
      <url />
      <organization />
      <timezone />
    </developer>
    <developer>
      <id>seade</id>
      <name>Scott Eade</name>
      <email>seade@backstagetech.com.au</email>
      <url />
      <organization>Backstage Technologies Pty. Ltd.</organization>
      <timezone />
    </developer>
    <developer>
      <id>fedor</id>
      <name>Fedor Karpelevitch</name>
      <email>fedor@karpelevitch.net</email>
      <url />
      <organization />
      <timezone />
    </developer>
    <developer>
      <id>legassick</id>
      <name>Sean Legassick</name>
      <email>sean@informage.net</email>
      <url />
      <organization />
      <timezone />
    </developer>
    <developer>
      <id>jmcnally</id>
      <name>John McNally</name>
      <email>jmcnally@collab.net</email>
      <url />
      <organization>CollabNet, Inc.</organization>
      <timezone />
    </developer>
    <developer>
      <id>quintonm</id>
      <name>Quinton McCombs</name>
      <email>quintonm@bellsouth.net</email>
      <url />
      <organization>NEqualsOne</organization>
      <roles>
        <role>Java Developer</role>
      </roles>
      <timezone />
    </developer>
    <developer>
      <id>painter</id>
      <name>Jeffery Painter</name>
      <email>jeff@jivecast.com</email>
      <url />
      <organization />
      <timezone />
    </developer>
    <developer>
      <id>mpoeschl</id>
      <name>Martin Poeschl</name>
      <email>mpoeschl@marmot.at</email>
      <url />
      <organization>tucana.at</organization>
      <timezone />
    </developer>
    <developer>
      <id>epugh</id>
      <name>Eric Pugh</name>
      <email>epugh@upstate.com</email>
      <url />
      <organization />
      <timezone />
    </developer>
    <developer>
      <id>dlr</id>
      <name>Daniel Rall</name>
      <email>dlr@finemaltcoding.com</email>
      <url />
      <organization>CollabNet, Inc.</organization>
      <timezone />
    </developer>
    <developer>
      <id>henning</id>
      <name>Henning P. Schmiedehausen</name>
      <email>hps@intermeta.de</email>
      <url />
      <organization>INTERMETA - Gesellschaft fuer Mehrwertdienste mbH</organization>
      <roles>
        <role>Java Developer</role>
      </roles>
      <timezone>1</timezone>
    </developer>
    <developer>
      <id>kschrader</id>
      <name>Kurt Schrader</name>
      <email>kschrader@karmalab.org</email>
      <url />
      <organization>University of Michigan</organization>
      <timezone />
    </developer>
    <developer>
      <id>jon</id>
      <name>Jon Scott Stevens</name>
      <email>jon@latchkey.com</email>
      <url />
      <organization>CollabNet, Inc.</organization>
      <timezone />
    </developer>
    <developer>
      <name>Thomas Vandahl</name>
      <id>tv</id>
      <email>tv@apache.org</email>
      <organization />
      <roles>
        <role>Java Developer</role>
      </roles>
      <timezone>1</timezone>
    </developer>
    <developer>
      <name>Ludwig Magnusson</name>
      <id>ludwig</id>
      <email>ludwig@apache.org</email>
      <organization />
      <roles>
        <role>Java Developer</role>
      </roles>
      <timezone>1</timezone>
    </developer>
    <developer>
      <name>Georg Kallidis</name>
      <id>gk</id>
      <email>gk@apache.org</email>
      <organization />
      <roles>
        <role>Java Developer</role>
      </roles>
      <timezone>1</timezone>
    </developer>
  </developers>
  <contributors>
    <contributor>
      <name>Gary Bartlett</name>
      <email>gary_a_bartlett@yahoo.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Youngho Cho</name>
      <email>youngho@nannet.co.kr</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Frank Conradie</name>
      <email>frank@opticode.co.za</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Gonzalo A. Diethelm</name>
      <email>gonzalo.diethelm@iname.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>David Duddleston</name>
      <email>david@i2a.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Christopher Elkins</name>
      <email>celkins@scardini.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>M. Sean Gilligan</name>
      <email>Sean_Gilligan@catalla.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Jian He</name>
      <email>hjnet@163.net</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Humberto Hernandez</name>
      <email>hhernandez@itweb.com.mx</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Nissim Karpenstein</name>
      <email>nissim@nksystems.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Rafal Krzewski</name>
      <email>krzewski@e-point.pl</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Chris Kimpton</name>
      <email>kimptoc.mail@bigfoot.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Brian Lawler</name>
      <email>brian@tribenetwork.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Josh Lucas</name>
      <email>josh@stonecottage.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Carl Ludwig</name>
      <email>carl@destinymusic.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Jonas Mauras</name>
      <email>jm@mediaphil.de</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Brett McLaughlin</name>
      <email>bmclaugh@algx.net</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Leon Messerschmidt</name>
      <email>leon@opticode.co.za</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Chris Meyer</name>
      <email>cmeyer@gatan.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Steven Nagy</name>
      <email>snagy@web-publicity.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Kasper Nielsen</name>
      <email>kav@kav.dk</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Paul O'Leary</name>
      <email>paul@evolventtech.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Giacomo Pati</name>
      <email>Giacomo.Pati@pwr.ch</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Mark Porter</name>
      <email>mark.porter@canlink.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Jeff Prickett</name>
      <email>jeffprickett@mindspring.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Ilkka Priha</name>
      <email>ilkka.priha@simsoft.fi</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Cameron Riley</name>
      <email>criley@ekmail.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Greg Ritter</name>
      <email>greg@shwoop.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Ingo Schuster</name>
      <email>ingo@raleigh.ibm.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Costas Stergiou</name>
      <email>csterg@aias.gr</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>George Stewart</name>
      <email>georgestewart@yahoo.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Ralf Stranzenbach</name>
      <email>ralf@reswi.ruhr.de</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Hakan Tandogan</name>
      <email>hakan42@gmx.de</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Scott C. Tavares</name>
      <email>stavares@home.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>John Thorhauer</name>
      <email>john@zenplex.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Magnús Þór Torfason</name>
      <email>magnus@handpoint.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Scott Weaver</name>
      <email>sweaver@rippe.com</email>
      <url />
      <organization />
      <timezone />
    </contributor>
    <contributor>
      <name>Siegfried Goeschl</name>
      <email>sgoeschl@apache.org</email>
      <url />
      <organization />
      <timezone />
    </contributor>
  </contributors>

  <scm>
    <connection>scm:svn:https://svn.apache.org/repos/asf/turbine/core/trunk</connection>
    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/turbine/core/trunk</developerConnection>
    <url>https://svn.apache.org/viewcvs/turbine/core/trunk/</url>
  </scm>

  <build>
    <sourceDirectory>src/java</sourceDirectory>
    <testSourceDirectory>src/test</testSourceDirectory>

    <resources>
      <resource>
        <directory>src/macros</directory>
        <targetPath>macros</targetPath>
        <includes>
          <include>TurbineMacros.vm</include>
        </includes>
      </resource>
      <resource>
          <directory>${basedir}/src/main/resources</directory>
          <!-- remove filtering to allow for non utf-8, if required; e.g. the case of i10n and non ascii chars - otherwise use html entities or \u notation. java.util.Properties files are in latin-1.  -->
          <filtering>true</filtering>
          <includes>
              <include>**/*.properties</include>
              <include>**/*.xml</include>
          </includes>
      </resource>
    </resources>

    <!-- cft. loading path https://logging.apache.org/log4j/2.x/manual/configuration.html -->
    <testResources>
      <testResource>
        <directory>conf/test</directory>
        <includes>
          <include>log4j2-test.xml</include>
        </includes>
      </testResource>
    </testResources>
    
     <pluginManagement>
      <plugins>
       <plugin>
        <groupId>org.apache.torque</groupId>
        <artifactId>torque-maven-plugin</artifactId>
        <version>${torque.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>

     <plugin>
        <groupId>org.owasp</groupId>
        <artifactId>dependency-check-maven</artifactId>
        <configuration>
           <!-- suppress false positive -->
           <suppressionFiles>
            <suppressionFile>${project.basedir}/suppression-owasp-fp.xml</suppressionFile>
            </suppressionFiles>
           <!-- no .NET code inside turbine -->
           <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled>
           <skip>false</skip>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
         <version>3.0.0-M5</version>
        <configuration>
          <!--default setting is forkCount=1/reuseForks=true -->
          <reuseForks>false</reuseForks>
          <forkCount>1</forkCount>
          <excludedGroups>performance,docker</excludedGroups>
          <!--useSystemClassLoader>false</useSystemClassLoader-->
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.torque</groupId>
        <artifactId>torque-maven-plugin</artifactId>
        <version>${torque.version}</version>
        <configuration>
          <targetDatabase>mysql</targetDatabase>
          <schemaDir>src/torque/schema</schemaDir>
        </configuration>
        <executions>
          <execution>
            <id>generate-om-scheduler-sources</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.om</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <sourceIncludes>
                <include>scheduler-schema.xml</include>
              </sourceIncludes>
              <loglevel>error</loglevel>
              <options>
                <torque.database>mysql</torque.database>
                <torque.om.addGetByNameMethods>false</torque.om.addGetByNameMethods>
                <torque.om.save.saveException>TorqueException</torque.om.save.saveException>
                <torque.om.package>org.apache.turbine.services.schedule</torque.om.package>
                <torque.om.useIsForBooleanGetters>true</torque.om.useIsForBooleanGetters>
                <torque.runOnlyOnSourceChange>true</torque.runOnlyOnSourceChange>
              </options>
              <outputDirMap>
                <modifiable>${project.build.directory}/generated-sources</modifiable>
              </outputDirMap>
            </configuration>
          </execution>
          <execution>
            <id>torque-sql-mysql</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.sql</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/mysql</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>mysql</torque.database>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>torque-sql-hsqldb</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.sql</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/hsqldb</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>hsqldb</torque.database>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>torque-sql-derby</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.sql</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/derby</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>derby</torque.database>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>torque-sql-oracle</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.sql</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/oracle</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>oracle</torque.database>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>torque-sql-postgresql</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.sql</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/postgresql</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>postgresql</torque.database>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>torque-sql-mssql</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.sql</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/mssql</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>mssql</torque.database>
              </options>
            </configuration>
          </execution>

          <execution>
            <id>torque-idtable-mysql</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.idtable</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/mysql</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>mysql</torque.database>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>torque-idtable-hsqldb</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.idtable</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/hsqldb</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>hsqldb</torque.database>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>torque-idtable-derby</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.idtable</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/derby</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>derby</torque.database>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>torque-idtable-oracle</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.idtable</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/oracle</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>oracle</torque.database>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>torque-idtable-postgresql</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.idtable</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/postgresql</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>postgresql</torque.database>
              </options>
            </configuration>
          </execution>
          <execution>
            <id>torque-idtable-mssql</id>
            <phase>package</phase>
            <goals>
              <goal>generate</goal>
            </goals>
            <configuration>
              <packaging>classpath</packaging>
              <configPackage>org.apache.torque.templates.idtable</configPackage>
              <sourceDir>src/torque/schema</sourceDir>
              <defaultOutputDir>${project.build.directory}/generated-sql/torque/mssql</defaultOutputDir>
              <defaultOutputDirUsage>none</defaultOutputDirUsage>
              <loglevel>error</loglevel>
              <options>
                <torque.database>mssql</torque.database>
              </options>
            </configuration>
          </execution>
        </executions>
        <dependencies>
            <dependency>
                <groupId>org.apache.torque</groupId>
                <artifactId>torque-templates</artifactId>
                <version>${torque.version}</version>
            </dependency>
        </dependencies>
      </plugin>
    </plugins>
  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jxr-plugin</artifactId>
        <configuration>
          <aggregate>false</aggregate>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <reportSets>
          <reportSet>
            <reports>
              <!-- select non-aggregate reports -->
              <report>report</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <dependencies>
	<dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>javax.servlet-api</artifactId>
	    <version>3.1.0</version>
	    <scope>provided</scope>
	</dependency>
    <dependency>
      <groupId>org.apache.avalon.framework</groupId>
      <artifactId>avalon-framework-api</artifactId>
      <version>4.3.1</version>
    </dependency>
    <dependency>
    	<groupId>commons-codec</groupId>
    	<artifactId>commons-codec</artifactId>
      <version>1.15</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-configuration2</artifactId>
      <version>2.7</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-email</artifactId>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.11</version>
    </dependency>
    <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-text</artifactId>
       <version>1.9</version>
    </dependency>
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.9.4</version>
    </dependency>
    <dependency>
      <groupId>nl.basjes.parse.useragent</groupId>
      <artifactId>yauaa</artifactId>
      <version>5.19</version>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-cache</artifactId>
      <version>1.1.0</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-factory</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-pool</artifactId>
      <version>1.0.5</version>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-localization</artifactId>
      <version>1.0.7</version>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-parser</artifactId>
      <version>${fulcrum.parser}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-intake</artifactId>
      <version>${fulcrum.intake}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-yaafi</artifactId>
      <version>1.0.8</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-crypto</artifactId>
      <version>1.0.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-xslt</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-mimetype</artifactId>
      <version>1.0.6</version>
    </dependency>
    <dependency>
      <groupId>org.apache.torque</groupId>
      <artifactId>torque-runtime</artifactId>
      <version>${torque.version}</version>
      <exclusions>
        <exclusion>
            <groupId>avalon-framework</groupId>
            <artifactId>avalon-framework-api</artifactId>
        </exclusion>
        <exclusion>
            <groupId>avalon-logkit</groupId>
            <artifactId>avalon-logkit</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!-- use default dbcp2 from torque-runtime -->
    <!--dependency> 
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.4</version>
    </dependency-->
    <dependency>
         <groupId>commons-configuration</groupId>
         <artifactId>commons-configuration</artifactId>
         <version>1.10</version>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-security-api</artifactId>
      <version>${fulcrum.security}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-security-memory</artifactId>
      <version>${fulcrum.security}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-security-api</artifactId>
      <version>${fulcrum.security}</version>
      <classifier>tests</classifier>
      <scope>test</scope>
    </dependency>
    <!--  owasp warning resolved in v1.1.2, which references quartz-2.3.0.jar, fixing CVE-2019-13990, https://github.com/quartz-scheduler/quartz/issues/467 -->
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-quartz</artifactId>
      <version>1.1.2-SNAPSHOT</version>
    </dependency>
    <!-- suppress owasp CVE-2018-11771, CVE-2018-1324, as jython-standalone is optional.-->
    <dependency>
      <groupId>org.python</groupId>
      <artifactId>jython-standalone</artifactId>
      <version>2.7.1</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.jabsorb</groupId>
      <artifactId>jabsorb</artifactId>
      <version>1.3.2</version>
      <optional>true</optional>
      <!-- requires maven version >= 3,  
         exclude old versions: org.slf4j:slf4j-jdk14,slf4j-api,(renamed)cl104-over-slf4j,org.mortbay.jetty:jsp-2.1, commons-httpclient:commons-httpclient,
         mvn eclipse:eclipse still no wildcard exclude (mvn version 3.3.9)
      -->
      <exclusions>
       <exclusion>
          <artifactId>jsp-2.1</artifactId>
          <groupId>org.mortbay.jetty</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jcl104-over-slf4j</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
        <exclusion>
          <artifactId>slf4j-jdk14</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
        <exclusion>
          <artifactId>*</artifactId>
          <groupId>*</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-jcl</artifactId>
      <version>${turbine.log4j2.version}</version>
    </dependency>
    <!-- yauaa + java testcontainers uses slf4j-api, need for log4j-slf4j-impl mapping-->
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <version>${turbine.log4j2.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <version>${turbine.log4j2.version}</version>
    </dependency>
    <dependency>
       <groupId>org.apache.logging.log4j</groupId>
       <artifactId>log4j-core</artifactId>
       <version>${turbine.log4j2.version}</version>
    </dependency>
    <!-- support of log4j-web (autodetect of log4j2 in WEB-INF folder) 
         may allow to remove explicit log4j2 loading/configuration except for tests -->
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-web</artifactId>
      <version>${turbine.log4j2.version}</version>
      <optional>true</optional>
    </dependency>
    <!-- optional log4j1.2 bridge instead of log4j -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-1.2-api</artifactId>
        <version>${turbine.log4j2.version}</version>
        <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity-engine-core</artifactId>
      <version>2.1</version>
    </dependency>
    <dependency>
      <groupId>org.hsqldb</groupId>
      <artifactId>hsqldb</artifactId>
      <version>2.5.1</version>
      <scope>test</scope>
    </dependency>
    <!-- testcontainer minimal shared resources -->
    <dependency>
      <groupId>org.apache.fulcrum</groupId>
      <artifactId>fulcrum-testcontainer</artifactId>
      <version>1.0.9</version>
      <scope>test</scope>
    </dependency> 
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>testcontainers</artifactId>
      <version>${docker.testcontainers.version}</version>
      <scope>test</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>${docker.testcontainers.version}</version>
      <scope>test</scope>
      <optional>true</optional>
    </dependency>
    <!-- do not add junit 4 support e.g. with org.junit.platform runner or launcher,
          as it is not compatible with jupiter tags, will throw 
         [WARNING] Couldn't load group class 'docker' in Surefire|Failsafe plugin
    -->
  </dependencies>

  <profiles>
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <executions>
              <execution>
                <id>turbine-release-site</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>site</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <!-- build the source and binary distribution packages -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>turbine-default-assembly</id>
                <configuration>
                  <skipAssembly>true</skipAssembly>
                </configuration>
              </execution>
              <execution>
                <id>turbine-core-assembly</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                  <descriptors>
                    <descriptor>./src/assembly/binaries.xml</descriptor>
                    <descriptor>./src/assembly/source.xml</descriptor>
                  </descriptors>
                  <tarLongFileFormat>gnu</tarLongFileFormat>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <properties> 
        <doclint>none</doclint><!-- since javadoc v.3 this is the required instead of -Xdoclint:none, remove if turbine parent (v6) is correct again using profile java8  -->
      </properties>
    </profile>
    <profile>
      <id>docker-testcontainer</id>
      <activation>
      <activeByDefault>false</activeByDefault>
    </activation>
      <build>
         <testResources>
          <testResource>
            <directory>conf/docker-resources</directory>
            <includes>
              <include>db/mysql/initdb.d/data.sql</include>
              <include>*.properties</include>
            </includes>
          </testResource>
        </testResources>
        <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-surefire-plugin</artifactId>
               <version>3.0.0-M5</version>
              <executions>
                <execution>
                   <id>default-test</id>
                  <configuration>
                    <groups>docker</groups>
                    <excludedGroups>performance</excludedGroups>
                  </configuration>
                </execution>
              </executions>
            </plugin>
            <plugin>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>3.0.0-M5</version>
            </plugin>
          </plugins>
      </build>
      <dependencies>
        <!-- docker testcontainer requires at least torque v5.0, start it like
        inside IDE (add dependencies):
        mvn eclipse:eclipse -Pdocker-testcontainer

        from console:
        mvn test -Pdocker-testcontainer

        -->
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>testcontainers</artifactId>
            <version>${docker.testcontainers.version}</version>
            <scope>test</scope>
          </dependency>
          <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>${docker.testcontainers.version}</version>
            <scope>test</scope>
          </dependency>
          <dependency>
              <groupId>org.testcontainers</groupId>
              <artifactId>mysql</artifactId>
              <version>${docker.testcontainers.version}</version>
              <scope>test</scope>
          </dependency>
          <dependency>
            <groupId>org.apache.fulcrum</groupId>
            <artifactId>fulcrum-security-torque</artifactId>
            <version>${fulcrum.security}</version>
            <exclusions>
              <exclusion><!-- will we mapped in jcl-over-slf4j -->
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.20</version>
          </dependency>
      </dependencies>
    </profile>
  </profiles>

  <properties>
    <!-- maven.compiler setting in turbine parent -->
    <!-- TODO: Change for release: remove development part in path "/turbine/development" -->
    <turbine.site.path>turbine/development/turbine-5.1</turbine.site.path>
    <fulcrum.intake>2.0.1-SNAPSHOT</fulcrum.intake>
    <fulcrum.parser>2.0.1</fulcrum.parser>
    <fulcrum.security>2.0.0</fulcrum.security>
    <torque.version>5.0</torque.version>
    <junit.platform>1.7.0</junit.platform>
    <doclint>none</doclint>
    <docker.testcontainers.version>1.15.1</docker.testcontainers.version>
    <jacoco.skip>true</jacoco.skip>
    <argLine></argLine>
  </properties>

</project>
