<?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>
  <parent>
    <artifactId>ebean-parent</artifactId>
    <groupId>io.ebean</groupId>
    <version>18.2.0</version>
  </parent>

  <name>ebean api</name>
  <description>ebean api</description>
  <artifactId>ebean-api</artifactId>

  <dependencies>

    <dependency>
      <groupId>io.avaje</groupId>
      <artifactId>avaje-applog</artifactId>
      <version>1.0</version>
    </dependency>

    <!-- exclude avaje-applog-slf4j to direct logging to something else -->
    <dependency>
      <groupId>io.avaje</groupId>
      <artifactId>avaje-applog-slf4j</artifactId>
      <version>1.0</version>
    </dependency>

    <dependency>
      <groupId>org.jspecify</groupId>
      <artifactId>jspecify</artifactId>
      <version>1.0.0</version>
    </dependency>

    <dependency>
      <groupId>io.avaje</groupId>
      <artifactId>avaje-config</artifactId>
      <version>4.2</version>
    </dependency>

    <dependency>
      <groupId>io.ebean</groupId>
      <artifactId>jakarta-persistence-api</artifactId>
      <version>${ebean-persistence-api.version}</version>
    </dependency>

    <dependency>
      <groupId>io.ebean</groupId>
      <artifactId>ebean-annotation</artifactId>
      <version>${ebean-annotation.version}</version>
    </dependency>

    <dependency>
      <groupId>io.ebean</groupId>
      <artifactId>ebean-types</artifactId>
      <version>${ebean-types.version}</version>
    </dependency>

    <dependency>
      <groupId>io.ebean</groupId>
      <artifactId>ebean-datasource-api</artifactId>
      <version>${ebean-datasource.version}</version>
    </dependency>

    <!-- Support MdcBackgroundExecutorWrapper -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.36</version>
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>io.avaje</groupId>
      <artifactId>avaje-json-core</artifactId>
      <version>${avaje-json-core.version}</version>
    </dependency>

    <!-- Jackson databind remains for ObjectMapper compatibility paths -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson.version}</version>
      <optional>true</optional>
    </dependency>

  </dependencies>

  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <includes>
          <include>**/ebean-maven-version.txt</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
        <excludes>
          <exclude>**/ebean-maven-version.txt</exclude>
        </excludes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <executions>
          <execution>
            <id>compile</id>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <release>11</release>
            </configuration>
          </execution>
          <execution>
            <id>compile-21</id>
            <phase>compile</phase>
            <goals>
              <goal>compile</goal>
            </goals>
            <configuration>
              <release>21</release>
              <compileSourceRoots>
                <compileSourceRoot>${project.basedir}/src/main/java21</compileSourceRoot>
              </compileSourceRoots>
              <multiReleaseOutput>true</multiReleaseOutput>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
            <manifestEntries>
              <Multi-Release>true</Multi-Release>
            </manifestEntries>
          </archive>
        </configuration>
<!--          <manifest>-->
<!--            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>-->
<!--          </manifest>-->

      </plugin>
    </plugins>
  </build>

</project>
