<?xml version="1.0"?>
<!-- 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">
    <parent>
    <artifactId>turbine-parent</artifactId>
    <groupId>org.apache.turbine</groupId>
    <version>13</version>
    <relativePath />
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.apache.fulcrum</groupId>
    <artifactId>fulcrum-testcontainer</artifactId>
    <version>2.0.1</version>
    <name>Fulcrum Test Container</name>
    <inceptionYear>2004</inceptionYear>
    <description>A test framework for Avalon components</description>
    <url>https://turbine.apache.org/fulcrum/fulcrum-testcontainer</url>

    <scm>
    <connection>scm:git:https://gitbox.apache.org/repos/asf/turbine-fulcrum-testcontainer.git</connection>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/turbine-fulcrum-testcontainer.git</developerConnection>
    <url>https://github.com/apache/${turbine.site.path}/tree/${project.scm.tag}</url>
    <tag>fulcrum-testcontainer-2.0.1-candidate</tag>
    </scm>

   <!-- distributionManagement id and url defined in parent, adapt turbine.site.path -->
    <developers>
    <developer>
        <name>Siegfried Goeschl</name>
        <id>sgoeschl</id>
        <email>sgoeschl@apache.org</email>
        <organization />
        <roles>
            <role>Java Developer</role>
        </roles>
    </developer>
    </developers>

    <dependencies>
    <!-- testcontainer will be set in scope test  -->
    <!-- do not set test scope to allow for running surefire test with junit 4  -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>${junit.jupiter.version}</version>
      <!-- testcontainer will be set in scope test, but required deps should be not in test scope to allow for running surefire test with junit 5  -->
    </dependency>
    <!-- use Junit 4 within Junit 5 -->
     <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
         <version>${junit.jupiter.version}</version>
    </dependency>

    <!-- Needed if testing with YAAFI -->
    <dependency>
        <groupId>org.apache.fulcrum</groupId>
        <artifactId>fulcrum-yaafi</artifactId>
        <version>2.0.1</version>
        <!--optional>true</optional-->
    </dependency>
    <!-- required for testcontainer and not test scope, we have to define version here -->
    <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>6.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>5.10.0</version>
    </dependency>
    <!-- Needed if testing with ECM -->
    <dependency>
        <groupId>org.apache.excalibur.component</groupId>
        <artifactId>excalibur-component</artifactId>
        <version>2.2.1</version>
        <type>jar</type>
        <optional>true</optional>
        <exclusions>
           <exclusion>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.2</version>
        <optional>true</optional>
    </dependency>
    <!-- Log4j2 may be better used by default -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>${turbine.log4j2.version}</version>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${turbine.log4j2.version}</version>
        <optional>true</optional>
    </dependency>
    <!-- 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>

    </dependencies>

    <build>
    <sourceDirectory>${basedir}/src/java</sourceDirectory>
    <testSourceDirectory>${basedir}/src/test</testSourceDirectory>
    <testResources>
        <testResource>
            <directory>${basedir}/src/test</directory>
            <includes>
                <include>*.xml</include>
            </includes>
        </testResource>
    </testResources>
    <plugins>
        <plugin>
            <!-- JUnit 5 requires Surefire version 2.22.0 or higher -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <!-- setting the default: forkCount=1/reuseForks=true -->
                <forkCount>1</forkCount>
                <!-- setting this to false (highest isolation: each test class has its 
                    own jvm process) let maven test ignore all tests? -->
                <reuseForks>true</reuseForks>
            </configuration>
            <dependencies>
                <!-- need no junit-platform-surefire-provider dependency -->
            </dependencies>
        </plugin>
    </plugins>
    </build>

    <properties>
        <turbine.site.path>turbine-fulcrum-testcontainer</turbine.site.path>
        <turbine.scmPubCheckoutDirectory>${turbine.site.cache}/fulcrum/testcontainer</turbine.scmPubCheckoutDirectory>
        <junit.jupiter.version>5.11.2</junit.jupiter.version>
    </properties>

</project>
