<?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">

  <modelVersion>4.0.0</modelVersion>

  <groupId>org.eclipse</groupId>
  <artifactId>yasson-tck</artifactId>
  <version>1.0.0-SNAPSHOT</version>

  <properties>
    <jsonb.tck.version>3.0.0-SNAPSHOT</jsonb.tck.version>
    <yasson.version>3.0.0-SNAPSHOT</yasson.version>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
  </properties>

  <!-- TODO: Temporarily enable snapshot repository -->
  <!-- This can be removed once an official release of jakarta.json.bind-tck is available -->
  <repositories>
    <repository>
        <id>jakarta-snapshots</id>
        <url>https://jakarta.oss.sonatype.org/content/repositories/staging/</url>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>jakarta.json.bind</groupId>
      <artifactId>jakarta.json.bind-tck</artifactId>
      <version>${jsonb.tck.version}</version>
<!--      Limitation to the test scope has been temporarily removed due to NumberFormatCustomizationTest, once it is removed,
  test scope will be enabled again-->
      <!--      <scope>test</scope>-->
    </dependency>
    <dependency>
      <groupId>org.eclipse</groupId>
      <artifactId>yasson</artifactId>
      <version>${yasson.version}</version>
      <!--      Limitation to the test scope has been temporarily removed due to NumberFormatCustomizationTest, once it is removed,
        test scope will be enabled again-->
<!--      <scope>test</scope>-->
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.container</groupId>
        <artifactId>arquillian-weld-embedded</artifactId>
        <version>3.0.0.Alpha1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.weld.se</groupId>
        <artifactId>weld-se-core</artifactId>
        <version>4.0.2.Final</version>
        <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M4</version>
        <configuration>
          <dependenciesToScan>
            <dependency>jakarta.json.bind:jakarta.json.bind-tck</dependency>
          </dependenciesToScan>
          <trimStackTrace>false</trimStackTrace>
          <failIfNoTests>true</failIfNoTests>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>3.0.0-M4</version>
        <executions>
              <execution>
                <id>post-unit-test</id>
                <phase>test</phase>
                <goals>
                  <goal>report</goal>
                </goals>
              </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
