<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ QQQ - Low-code Application Framework for Engineers.
  ~ Copyright (C) 2021-2022.  Kingsrook, LLC
  ~ 651 N Broad St Ste 205 # 6917 | Middletown DE 19709 | United States
  ~ contact@kingsrook.com
  ~ https://github.com/Kingsrook/
  ~
  ~ This program is free software: you can redistribute it and/or modify
  ~ it under the terms of the GNU Affero General Public License as
  ~ published by the Free Software Foundation, either version 3 of the
  ~ License, or (at your option) any later version.
  ~
  ~ This program is distributed in the hope that it will be useful,
  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  ~ GNU Affero General Public License for more details.
  ~
  ~ You should have received a copy of the GNU Affero General Public License
  ~ along with this program.  If not, see <https://www.gnu.org/licenses/>.
  -->

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

   <artifactId>qqq-backend-core</artifactId>

   <parent>
      <groupId>com.kingsrook.qqq</groupId>
      <artifactId>qqq-parent-project</artifactId>
      <version>${revision}</version>
   </parent>

   <properties>
      <!-- props specifically to this module -->
      <!-- noe at this time -->
   </properties>

   <dependencyManagement>
      <dependencies>
         <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>bom</artifactId>
            <version>2.17.259</version>
            <type>pom</type>
            <scope>import</scope>
         </dependency>
      </dependencies>
   </dependencyManagement>
   <dependencies>
      <!-- other qqq modules deps -->
      <!-- none, this is core.  -->

      <!-- 3rd party deps specifically for this module -->
      <dependency>
         <groupId>software.amazon.awssdk</groupId>
         <artifactId>quicksight</artifactId>
      </dependency>
      <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-databind</artifactId>
         <version>2.14.0-rc1</version>
      </dependency>
      <dependency>
         <groupId>com.fasterxml.jackson.datatype</groupId>
         <artifactId>jackson-datatype-jsr310</artifactId>
         <version>2.13.0</version>
      </dependency>
      <dependency>
         <groupId>org.json</groupId>
         <artifactId>json</artifactId>
         <version>20210307</version>
      </dependency>
      <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-csv</artifactId>
         <version>1.8</version>
      </dependency>
      <dependency>
         <!-- generates Method objects from method references, used initially by QFieldMetaData to make fields from getter method refs -->
         <groupId>com.github.hervian</groupId>
         <artifactId>safety-mirror</artifactId>
         <version>4.0.1</version>
      </dependency>
      <dependency>
         <groupId>org.dhatim</groupId>
         <artifactId>fastexcel</artifactId>
         <version>0.12.15</version>
      </dependency>
      <dependency>
         <groupId>com.auth0</groupId>
         <artifactId>mvc-auth-commons</artifactId>
         <version>1.9.2</version>
      </dependency>
      <dependency>
         <groupId>io.github.cdimascio</groupId>
         <artifactId>java-dotenv</artifactId>
         <version>5.2.2</version>
      </dependency>
      <dependency>
         <groupId>org.apache.velocity</groupId>
         <artifactId>velocity-engine-core</artifactId>
         <version>2.3</version>
      </dependency>

      <!-- the next 2 deps are for html to pdf - per https://www.baeldung.com/java-html-to-pdf -->
      <dependency>
         <groupId>org.jsoup</groupId>
         <artifactId>jsoup</artifactId>
         <version>1.15.3</version>
      </dependency>
      <dependency>
         <groupId>org.xhtmlrenderer</groupId>
         <artifactId>flying-saucer-pdf-openpdf</artifactId>
         <version>9.1.22</version>
      </dependency>

      <!-- the next 3 deps are being added for google drive support -->
      <dependency>
         <groupId>com.google.api-client</groupId>
         <artifactId>google-api-client</artifactId>
         <version>1.35.2</version>
      </dependency>
      <dependency>
         <groupId>com.google.auth</groupId>
         <artifactId>google-auth-library-oauth2-http</artifactId>
         <version>1.11.0</version>
      </dependency>
      <dependency>
         <groupId>com.google.apis</groupId>
         <artifactId>google-api-services-drive</artifactId>
         <version>v3-rev20220815-2.0.0</version>
      </dependency>

      <dependency>
         <groupId>com.amazonaws</groupId>
         <artifactId>aws-java-sdk-sqs</artifactId>
         <version>1.12.321</version>
      </dependency>

      <!-- Common deps for all qqq modules -->
      <dependency>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-api</artifactId>
      </dependency>
      <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-core</artifactId>
      </dependency>
      <dependency>
         <groupId>org.junit.jupiter</groupId>
         <artifactId>junit-jupiter-engine</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.junit.jupiter</groupId>
         <artifactId>junit-jupiter-params</artifactId>
         <scope>test</scope>
      </dependency>
      <dependency>
         <groupId>org.assertj</groupId>
         <artifactId>assertj-core</artifactId>
         <scope>test</scope>
      </dependency>

   </dependencies>

   <build>
      <plugins>
         <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <configuration>
               <excludes>
                  <exclude>com/kingsrook/qqq/backend/core/model/**/*.class</exclude>
                  <exclude>com/kingsrook/qqq/backend/core/exceptions/**/*.class</exclude>
               </excludes>
            </configuration>
         </plugin>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.4.3</version>
            <configuration>
               <createDependencyReducedPom>false</createDependencyReducedPom>
               <filters>
                  <filter>
                     <artifact>*:*</artifact>
                     <excludes>
                        <exclude>META-INF/*</exclude>
                     </excludes>
                  </filter>
               </filters>
            </configuration>
            <executions>
               <execution>
                  <phase>${plugin.shade.phase}</phase>
                  <goals>
                     <goal>shade</goal>
                  </goals>
               </execution>
            </executions>
         </plugin>
      </plugins>
   </build>

</project>
