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

  <!-- POM pai: junta os modulos e guarda o que e comum a todos -->
  <groupId>dev.abyssdev</groupId>
  <artifactId>javadungeon-parent</artifactId>
  <version>1.1.0-beta</version>
  <packaging>pom</packaging>

  <name>Java Dungeon</name>
  <description>RPG de terminal e de interface grafica inspirado no D&amp;D 5e.</description>
  <url>https://cosmos.simioni.dev.br/caio/javadungeon</url>

  <modules>
    <module>javadungeon-core</module>
    <module>javadungeon-terminal</module>
    <module>javadungeon-gui</module>
  </modules>

  <licenses>
    <license>
      <name>MIT License</name>
      <url>https://opensource.org/licenses/MIT</url>
    </license>
  </licenses>

  <developers>
    <developer>
      <name>AbyssDev</name>
      <email>abyssdev.contact@proton.me</email>
    </developer>
  </developers>

  <scm>
    <url>https://cosmos.simioni.dev.br/caio/javadungeon</url>
    <connection>scm:git:https://cosmos.simioni.dev.br/caio/javadungeon.git</connection>
  </scm>

  <properties>
    <maven.compiler.release>17</maven.compiler.release>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <junit.version>5.11.3</junit.version>
    <!-- 21 e a linha LTS do JavaFX e a ultima que roda no Java 17 -->
    <javafx.version>21.0.12</javafx.version>
  </properties>

  <!-- Registro Maven do Forgejo. O id "cosmos" casa com o server do settings.xml do workflow -->
  <distributionManagement>
    <repository>
      <id>cosmos</id>
      <url>https://cosmos.simioni.dev.br/api/packages/caio/maven</url>
    </repository>
    <snapshotRepository>
      <id>cosmos</id>
      <url>https://cosmos.simioni.dev.br/api/packages/caio/maven</url>
    </snapshotRepository>
  </distributionManagement>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>dev.abyssdev</groupId>
        <artifactId>javadungeon-core</artifactId>
        <version>${project.version}</version>
      </dependency>
      <!-- Personagens prontos e o DadoFixo, para os testes dos outros modulos -->
      <dependency>
        <groupId>dev.abyssdev</groupId>
        <artifactId>javadungeon-core</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>${javafx.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <!-- Leva o LICENSE da raiz para dentro de cada jar, em META-INF -->
    <resources>
      <resource>
        <directory>src/main/resources</directory>
      </resource>
      <resource>
        <directory>${project.basedir}/..</directory>
        <targetPath>META-INF</targetPath>
        <includes>
          <include>LICENSE</include>
        </includes>
      </resource>
    </resources>

    <!-- Versoes fixas: o Maven do runner vem do apt e os padroes dele sao antigos -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.4.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.3.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.13.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>3.5.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.4.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>3.3.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>3.6.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>3.1.3</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>3.1.3</version>
        </plugin>
        <plugin>
          <groupId>org.openjfx</groupId>
          <artifactId>javafx-maven-plugin</artifactId>
          <version>0.0.8</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>
