<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-tck-parent</artifactId>
        <version>0.25.0</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>quarkus-tck-microprofile-openapi</artifactId>
    <name>Quarkus - TCK - MicroProfile OpenAPI</name>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <systemPropertyVariables>
                        <!-- Disable quarkus optimization -->
                        <quarkus.arc.remove-unused-beans>false</quarkus.arc.remove-unused-beans>
                        <test.url>http://localhost:8081</test.url>
                    </systemPropertyVariables>
                    <!-- This workaround allows us to run a single test using
                        the "test" system property -->
                    <!-- https://issues.apache.org/jira/browse/SUREFIRE-569 -->
                    <dependenciesToScan>
                        <dependency>org.eclipse.microprofile.openapi:microprofile-openapi-tck</dependency>
                    </dependenciesToScan>
                    <excludes>
                        <!-- java.lang.IllegalArgumentException: Class 'org.eclipse.microprofile.openapi.models.Constructible' is not Constructible -->
                        <exclude>org.eclipse.microprofile.openapi.tck.OASFactoryErrorTest</exclude>
                        <!-- JSON path paths.'/reviews/users/{user}'.get.parameters.find{ it.name == 'user' }.content.'*/*'.schema.type doesn't match. Is null but expected string -->
                        <!-- Only testParameter.testAvailabilityGetParamater fails, but need to exclude whole test class -->
                        <exclude>org.eclipse.microprofile.openapi.tck.AirlinesAppTest</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-arquillian</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-smallrye-openapi</artifactId>
        </dependency>
        <dependency>
            <groupId>org.eclipse.microprofile.openapi</groupId>
            <artifactId>microprofile-openapi-tck</artifactId>
            <version>${microprofile-open-api.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>commons-logging-jboss-logging</artifactId>
        </dependency>
    </dependencies>
</project>
