<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2019 Patriot project
  ~
  ~    Licensed under the Apache License, Version 2.0 (the "License");
  ~    you may not use this file except in compliance with the License.
  ~    You may obtain a copy of the License at
  ~
  ~        http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~    Unless required by applicable law or agreed to in writing, software
  ~    distributed under the License is distributed on an "AS IS" BASIS,
  ~    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~    See the License for the specific language governing permissions and
  ~    limitations under the License.
  -->

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

   <groupId>io.patriot-framework</groupId>
   <version>2.0.0</version>
   <artifactId>generator</artifactId>

   <name>Device generator</name>
   <description>Library which is part of PatrIoT Framework responsible for device emulation and data generation.</description>
   <url>https://patriot-framework.io/</url>
   <scm>
      <connection>scm:git:git@github.com:PatrIoT-Framework/patriot-data-generator.git</connection>
      <developerConnection>scm:git:git@github.com:PatrIoT-Framework/patriot-data-generator.git</developerConnection>
      <url>https://github.com/PatrIoT-Framework/patriot-data-generator</url>
     <tag>patriot-generator-2.0.0</tag>
  </scm>
   <licenses>
      <license>
         <name>Apache License, Version 2.0</name>
         <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
         <distribution>repo</distribution>
         <comments>A business-friendly OSS license</comments>
      </license>
   </licenses>

   <developers>
      <developer>
         <id>obabec</id>
         <email>ond.babec@gmail.com</email>
         <organization>Red Hat</organization>
         <name>Ondřej Babec</name>
         <roles>
            <role>developer</role>
         </roles>
         <timezone>Europe/Prague</timezone>
      </developer>
      <developer>
         <id>sbunciak</id>
         <email>sbunciak@redhat.com</email>
         <organization>Red Hat</organization>
         <name>Štefan Bunčiak</name>
         <roles>
            <role>Project manager</role>
         </roles>
         <timezone>Europe/Prague</timezone>
      </developer>
      <developer>
         <id>mbures</id>
         <email>miroslav.bures@fel.cvut.cz</email>
         <organization>FEL CVUT</organization>
         <name>Miroslav Bureš</name>
         <roles>
            <role>Product owner</role>
         </roles>
         <timezone>Europe/Prague</timezone>
      </developer>
      <developer>
         <id>ficap</id>
         <email>ficap@redhat.com</email>
         <organization>Red Hat</organization>
         <name>Filip Čáp</name>
         <roles>
            <role>Developer</role>
         </roles>
         <timezone>Europe/Prague</timezone>
      </developer>
      <developer>
         <id>mijaros</id>
         <email>mjaros@redhat.com</email>
         <organization>Red Hat</organization>
         <name>Mirek Jaroš</name>
         <roles>
            <role>Tech lead</role>
         </roles>
         <timezone>Europe/Prague</timezone>
      </developer>
      <developer>
         <id>pmacik</id>
         <email>pmacik@redhat.com</email>
         <organization>Red Hat</organization>
         <name>Pavel Macík</name>
         <roles>
            <role>Tech lead</role>
         </roles>
         <timezone>Europe/Prague</timezone>
      </developer>
      <developer>
         <id>jpechane</id>
         <email>jpechane@redhat.com</email>
         <organization>Red Hat</organization>
         <name>Jiří Pechanec</name>
         <roles>
            <role>The guru</role>
         </roles>
         <timezone>Europe/Prague</timezone>
      </developer>
      <developer>
         <id>jsmolar</id>
         <email>jsmolar@redhat.com</email>
         <organization>Red Hat</organization>
         <name>Jakub Smolár</name>
         <roles>
            <role>Developer</role>
         </roles>
         <timezone>Europe/Bratislava</timezone>
      </developer>
   </developers>
   <distributionManagement>
      <snapshotRepository>
         <id>ossrh</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      </snapshotRepository>
      <repository>
         <id>ossrh</id>
         <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
      </repository>
   </distributionManagement>
   <properties>
      <org.junit.platform.version>1.3.0</org.junit.platform.version>
      <org.junit.jupiter.version>5.4.0</org.junit.jupiter.version>
      <maven-surefire-plugin.version>3.0.0-M1</maven-surefire-plugin.version>
      <slf4j-log4j2-version>2.0.1</slf4j-log4j2-version>
      <gpg-plugin-version>1.6</gpg-plugin-version>
      <release-plugin-version>2.5.3</release-plugin-version>
   </properties>

   <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
               <source>8</source>
               <target>8</target>
            </configuration>
         </plugin>
         <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${maven-surefire-plugin.version}</version>
         </plugin>
         <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
               <descriptorRefs>
                  <descriptorRef>jar-with-dependencies</descriptorRef>
               </descriptorRefs>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>${gpg-plugin-version}</version>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>${release-plugin-version}</version>
            <configuration>
               <autoVersionSubmodules>true</autoVersionSubmodules>
               <useReleaseProfile>false</useReleaseProfile>
               <releaseProfiles>release</releaseProfiles>
               <goals>deploy</goals>
            </configuration>
         </plugin>
      </plugins>
   </build>

   <dependencies>
      <!-- https://mvnrepository.com/artifact/ca.umontreal.iro.simul/ssj -->
      <dependency>
         <groupId>ca.umontreal.iro.simul</groupId>
         <artifactId>ssj</artifactId>
         <version>3.2.1</version>
      </dependency>

      <dependency>
         <groupId>org.json</groupId>
         <artifactId>json</artifactId>
         <version>20140107</version>
      </dependency>

      <!--Math Expressions-->
      <dependency>
         <groupId>net.objecthunter</groupId>
         <artifactId>exp4j</artifactId>
         <version>0.4.8</version>
      </dependency>

      <dependency>
         <groupId>org.apache.httpcomponents</groupId>
         <artifactId>httpclient</artifactId>
         <version>4.5.3</version>
      </dependency>

      <dependency>
         <groupId>org.junit.jupiter</groupId>
         <artifactId>junit-jupiter-api</artifactId>
         <version>${org.junit.jupiter.version}</version>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-simple</artifactId>
         <version>1.7.5</version>
      </dependency>
      <dependency>
         <groupId>javax.inject</groupId>
         <artifactId>javax.inject</artifactId>
         <version>1</version>
      </dependency>
      <dependency>
         <groupId>javax.enterprise</groupId>
         <artifactId>cdi-api</artifactId>
         <version>2.0.SP1</version>
      </dependency>
      <dependency>
         <groupId>org.dom4j</groupId>
         <artifactId>dom4j</artifactId>
         <version>2.1.1</version>
      </dependency>
      <dependency>
         <groupId>org.elasticsearch.client</groupId>
         <artifactId>transport</artifactId>
         <version>6.6.0</version>
      </dependency>
      <dependency>
         <groupId>org.eclipse.californium</groupId>
         <artifactId>californium-core</artifactId>
         <version>1.0.7</version>
      </dependency>
      <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-annotations</artifactId>
         <version>2.9.9</version>
      </dependency>
      <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-databind</artifactId>
         <version>2.9.9</version>
      </dependency>
      <dependency>
         <groupId>biz.paluch.logging</groupId>
         <artifactId>logstash-gelf</artifactId>
         <version>1.13.0</version>
      </dependency>
      <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-lang3</artifactId>
         <version>3.9</version>
      </dependency>
      <dependency>
         <groupId>org.eclipse.paho</groupId>
         <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
         <version>1.2.1</version>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
         <version>2.2.0.RELEASE</version>
      </dependency>

   </dependencies>

   <profiles>
      <profile>
         <id>release</id>
         <activation>
            <activeByDefault>false</activeByDefault>
         </activation>
         <build>
            <plugins>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-javadoc-plugin</artifactId>
                  <configuration>
                     <source>11</source>
                  </configuration>
                  <executions>
                     <execution>
                        <id>attach-javadocs</id>
                        <goals>
                           <goal>jar</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-gpg-plugin</artifactId>
                  <executions>
                     <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                           <goal>sign</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-source-plugin</artifactId>
                  <executions>
                     <execution>
                        <id>attach-sources</id>
                        <goals>
                           <goal>jar</goal>
                        </goals>
                     </execution>
                  </executions>
               </plugin>
            </plugins>
         </build>
      </profile>
   </profiles>

</project>
