<?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>conductor</artifactId>
    <groupId>dev.getelements.conductor</groupId>
    <version>1.0.8</version>
  </parent>

  <artifactId>api</artifactId>
  <version>1.0.8</version>

  <url>https://github.com/NamazuStudios/namazu-conductor</url>
  <name>Namazu Conductor API</name>
  <description>Interfaces and data types for the Namazu Conductor orchestration system</description>

  <build>
    <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
    <plugins>
      <plugin>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>compile</id>
            <goals><goal>compile</goal></goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <id>classified-jar</id>
            <phase>package</phase>
            <goals>
              <goal>jar</goal>
            </goals>
            <configuration>
              <classifier>${api.classifier}</classifier>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <!--
    In any given Deployment, API artifacts attach to a common classpath. To avoid dependency conflicts and other
    related problems, we strongly recommend that the dependency graph of an Element API is as lean as absolutely
    possible. The API interfaces focus on interfaces, plain DTOs (POJO beans or record types), and helper classes that
    depend only on the core Elements API and the Java standard APIs. The Namazu Elements runtime provides various
    standard APIs like jakarta.inject, jakarta.validation, jakarta.rs, jakarta.ws etc. Refer to the Namazu Elements
    manual for what is specifically provided.
    -->
    <dependency>
      <groupId>dev.getelements.elements</groupId>
      <artifactId>sdk</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.jetbrains.kotlin</groupId>
      <artifactId>kotlin-stdlib</artifactId>
      <scope>provided</scope>
    </dependency>

  </dependencies>

</project>
