<!--
  ~ This file is part of the Yildiz-Engine project, licenced under the MIT License  (MIT)
  ~
  ~ Copyright (c) 2017 Grégory Van den Borre
  ~
  ~ More infos available: https://www.yildiz-games.be
  ~
  ~ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
  ~ documentation files (the "Software"), to deal in the Software without restriction, including without
  ~ limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
  ~ of the Software, and to permit persons to whom the Software is furnished to do so,
  ~ subject to the following conditions:
  ~
  ~ The above copyright notice and this permission notice shall be included in all copies or substantial
  ~ portions of the Software.
  ~
  ~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  ~ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
  ~ OR COPYRIGHT  HOLDERS BE LIABLE FOR ANY CLAIM,
  ~ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE  SOFTWARE.
  -->

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         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>
  <name>Yildiz Authentication</name>
  <description>Yildiz authentication application.</description>
  <url>https://bitbucket.org/yildiz-engine-team/authentication</url>

  <artifactId>authentication</artifactId>
  <version>1.0.2</version>

  <packaging>jar</packaging>
  <inceptionYear>2014</inceptionYear>

  <scm>
    <connection>scm:git:https://bitbucket.org/yildiz-engine-team/authentication</connection>
    <developerConnection>scm:git:https://bitbucket.org/yildiz-engine-team/authentication</developerConnection>
    <url>https://bitbucket.org/yildiz-engine-team/authentication</url>
  </scm>

  <parent>
    <groupId>be.yildiz-games</groupId>
    <artifactId>parent</artifactId>
    <version>1.0.11</version>
  </parent>


  <dependencies>
    <dependency>
      <groupId>be.yildiz-games</groupId>
      <artifactId>module-network-netty</artifactId>
    </dependency>
    <dependency>
      <groupId>be.yildiz-games</groupId>
      <artifactId>module-database</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>authentication-server</finalName>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
          <archive>
            <manifest>
              <mainClass>be.yildiz.authentication.main.EntryPoint</mainClass>
            </manifest>
          </archive>
          <appendAssemblyId>false</appendAssemblyId>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>docker</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <configuration>
              <serverId>docker-hub</serverId>
              <imageName>moussavdb/yildiz-authentication:${project.version}</imageName>
              <baseImage>openjdk</baseImage>
              <runs>
                <run>
                  mkdir /yildiz
                </run>
              </runs>
              <entryPoint>["java", "-jar", "/authentication-server.jar", "/yildiz/authentication.properties"]</entryPoint>
              <forceTags>true</forceTags>
              <imageTags>
                <imageTag>${project.version}</imageTag>
                <imageTag>latest</imageTag>
              </imageTags>
              <resources>
                <resource>
                  <targetPath>/</targetPath>
                  <directory>${project.build.directory}</directory>
                  <include>authentication-server.jar</include>
                </resource>
              </resources>
            </configuration>
            <executions>
              <execution>
                <id>build-image</id>
                <phase>package</phase>
                <goals>
                  <goal>build</goal>
                </goals>
              </execution>
              <execution>
                <id>deploy-image</id>
                <phase>install</phase>
                <goals>
                  <goal>push</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
