<?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>parent</artifactId>
    <groupId>org.geysermc.floodgate</groupId>
    <version>2.0-SNAPSHOT</version>
  </parent>

  <artifactId>velocity</artifactId>

  <properties>
    <velocity.version>3.0.1</velocity.version>
    <log4j.version>2.11.2</log4j.version>
    <gson.version>2.8.8</gson.version>
    <guava.version>25.1-jre</guava.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.geysermc.floodgate</groupId>
      <artifactId>common</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>cloud.commandframework</groupId>
      <artifactId>cloud-velocity</artifactId>
      <version>${cloud.version}</version>
    </dependency>
    <!-- the following common dependencies are already present on the platform -->
    <dependency>
      <groupId>net.kyori</groupId>
      <artifactId>adventure-api</artifactId>
      <version>${adventure-api.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>${gson.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>${guava.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.google.inject</groupId>
      <artifactId>guice</artifactId>
      <version>${guice.version}</version>
      <scope>provided</scope>
    </dependency>
    <!-- SnakeYaml is included in Configurate  -->
    <dependency>
      <groupId>org.yaml</groupId>
      <artifactId>snakeyaml</artifactId>
      <version>${snakeyaml.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.velocitypowered</groupId>
      <artifactId>velocity-api</artifactId>
      <version>${velocity.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>${log4j.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-transport</artifactId>
      <version>${netty.version}</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-codec</artifactId>
      <version>${netty.version}</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>

  <repositories>
    <repository>
      <id>velocity-repo</id>
      <url>https://repo.velocitypowered.com/snapshots/</url>
    </repository>
    <!-- Hotfix to support the newest velocity-api, because they depend on the minecraft repo
     but for whatever reason they don't have it in the velocity-api -->
    <repository>
      <id>minecraft-repo</id>
      <url>https://libraries.minecraft.net/</url>
    </repository>
    <repository>
      <id>sponge-repo</id>
      <url>https://repo.spongepowered.org/maven/</url>
    </repository>
  </repositories>

  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.2.1</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <relocations>
                <relocation>
                  <pattern>cloud.commandframework</pattern>
                  <shadedPattern>org.geysermc.floodgate.shaded.cloud.commandframework</shadedPattern>
                </relocation>
                <!-- used in cloud -->
                <relocation>
                  <pattern>io.leangen.geantyref</pattern>
                  <shadedPattern>org.geysermc.floodgate.shaded.io.leangen.geantyref</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <finalName>${outputName}</finalName>
          <shadedArtifactAttached>true</shadedArtifactAttached>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
