<?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>
    <groupId>com.tesobe</groupId>
    <artifactId>obp-parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    <version>1.10.1</version>
  </parent>
  <artifactId>obp-api</artifactId>
  <packaging>war</packaging>
  <name>Open Bank Project API</name>
  <properties>
    <webXmlPath>src/main/webapp/WEB-INF/web.xml</webXmlPath>
  </properties>
  <profiles>
    <profile>
      <id>prod</id>
      <properties>
        <webXmlPath>src/main/resources/web.xml</webXmlPath>
      </properties>
    </profile>
  </profiles>
  <pluginRepositories>
    <pluginRepository>
      <id>org.sonatype.oss.groups.public</id>
    <name>Sonatype Public</name>
      <url>https://oss.sonatype.org/content/groups/public</url>
    </pluginRepository>
  </pluginRepositories>

  <dependencies>
    <dependency>
      <groupId>com.tesobe</groupId>
      <artifactId>obp-commons</artifactId>
    </dependency>
    <!--embed akka adapter start - COMMENTED OUT FOR PEKKO MIGRATION-->
    <!-- TODO: Find or create Pekko equivalent for adapter-akka-commons
    <dependency>
      <groupId>com.github.OpenBankProject.OBP-Adapter-Akka-SpringBoot</groupId>
      <artifactId>adapter-akka-commons</artifactId>
      <version>v1.1.0</version>
      <exclusions>
        <exclusion>
          <groupId>*</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    -->
    <!--embed akka adapter end-->
    <dependency>
      <groupId>com.github.everit-org.json-schema</groupId>
      <artifactId>org.everit.json.schema</artifactId>
      <version>1.6.1</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.13</version>
    </dependency>
    <dependency>
      <groupId>net.liftweb</groupId>
      <artifactId>lift-mapper_${scala.version}</artifactId>
    </dependency>
    <dependency>
      <groupId>net.databinder.dispatch</groupId>
      <artifactId>dispatch-lift-json_${scala.version}</artifactId>
      <version>0.13.1</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>log4j-over-slf4j</artifactId>
      <version>1.7.26</version>
    </dependency>
    <dependency>
      <artifactId>slf4j-ext</artifactId>
      <groupId>org.slf4j</groupId>
      <version>1.7.26</version>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcpg-jdk15on</artifactId>
      <version>1.70</version>
    </dependency>
    <dependency>
      <groupId>org.http4s</groupId>
      <artifactId>http4s-ember-server_${scala.version}</artifactId>
      <version>${http4s.version}</version>
    </dependency>
    <dependency>
      <groupId>org.http4s</groupId>
      <artifactId>http4s-dsl_${scala.version}</artifactId>
      <version>${http4s.version}</version>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcpkix-jdk15on</artifactId>
      <version>1.70</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.12.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-text -->
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-text</artifactId>
      <version>1.10.0</version>
    </dependency>
    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <version>42.4.4</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8-production -->
    <dependency>
      <groupId>com.oracle.database.jdbc</groupId>
      <artifactId>ojdbc8-production</artifactId>
      <version>23.2.0.0</version>
      <type>pom</type>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.h2database/h2 -->
    <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>2.2.220</version>
      <scope>runtime</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.30</version>
    </dependency>
    <!--    <dependency>
          <groupId>com.microsoft.sqlserver</groupId>
          <artifactId>mssql-jdbc</artifactId>
          <version>6.2.0.jre8</version>
          <scope>test</scope>
        </dependency>-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.scalatest</groupId>
      <artifactId>scalatest_${scala.version}</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-server -->
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
      <version>${jetty.version}</version>
      <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.eclipse.jetty.websocket/websocket-server -->
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-webapp</artifactId>
      <version>${jetty.version}</version>
      <scope>test</scope>
  </dependency>
    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib</artifactId>
      <version>3.3.0</version>
    </dependency>
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>htmlunit-driver</artifactId>
      <version>2.36.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.5.13</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-pool2</artifactId>
      <version>2.11.1</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-util</artifactId>
      <version>${jetty.version}</version>
    </dependency>
    <dependency>
      <groupId>net.liftmodules</groupId>
      <artifactId>amqp_3.1_${scala.version}</artifactId>
      <version>1.5.0</version>
    </dependency>
<!--    <dependency>-->
<!--      <groupId>com.tokbox</groupId>-->
<!--      <artifactId>opentok-server-sdk</artifactId>-->
<!--      <version>3.0.0-beta.2</version>-->
<!--      <exclusions>-->
<!--        <exclusion>-->
<!--          <groupId>com.fasterxml.jackson.core</groupId>-->
<!--          <artifactId>jackson-databind</artifactId>-->
<!--        </exclusion>-->
<!--      </exclusions>-->
<!--    </dependency>-->
    <dependency>
      <groupId>org.elasticsearch</groupId>
      <artifactId>elasticsearch</artifactId>
      <version>8.14.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.sksamuel.elastic4s/elastic4s-client-esjava -->
    <dependency>
      <groupId>com.sksamuel.elastic4s</groupId>
      <artifactId>elastic4s-client-esjava_${scala.version}</artifactId>
      <version>8.5.2</version>
    </dependency>
    <!-- for LiftConsole -->
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-compiler</artifactId>
      <version>${scala.compiler}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>${scala.compiler}</version>
    </dependency>
    <dependency>
      <groupId>oauth.signpost</groupId>
      <artifactId>signpost-commonshttp4</artifactId>
      <version>1.2.1.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.pekko/pekko-http-core -->
    <dependency>
      <groupId>org.apache.pekko</groupId>
      <artifactId>pekko-http-core_${scala.version}</artifactId>
      <version>1.1.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.pekko</groupId>
      <artifactId>pekko-actor_${scala.version}</artifactId>
      <version>${pekko.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.pekko</groupId>
      <artifactId>pekko-remote_${scala.version}</artifactId>
      <version>${pekko.version}</version>
    </dependency>
    <dependency>
      <groupId>com.sksamuel.avro4s</groupId>
      <artifactId>avro4s-core_${scala.version}</artifactId>
      <version>${avro.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-compress</artifactId>
      <version>1.26.0</version>
    </dependency>
    <dependency>
      <groupId>com.twitter</groupId>
      <artifactId>chill_${scala.version}</artifactId>
      <version>0.9.3</version>
    </dependency>
    <dependency>
      <groupId>com.twitter</groupId>
      <artifactId>chill-bijection_${scala.version}</artifactId>
      <version>0.9.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.github.cb372/scalacache-redis -->
    <dependency>
      <groupId>com.github.cb372</groupId>
      <artifactId>scalacache-redis_${scala.version}</artifactId>
      <version>0.9.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.github.cb372/scalacache-guava -->
    <dependency>
      <groupId>com.github.cb372</groupId>
      <artifactId>scalacache-guava_${scala.version}</artifactId>
      <version>0.9.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.pekko</groupId>
      <artifactId>pekko-slf4j_${scala.version}</artifactId>
      <version>${pekko.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.github.dwickern/scala-nameof_2.11 -->
    <dependency>
      <groupId>com.github.dwickern</groupId>
      <artifactId>scala-nameof_${scala.version}</artifactId>
      <version>1.0.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.nimbusds/nimbus-jose-jwt -->
    <dependency>
      <groupId>com.nimbusds</groupId>
      <artifactId>nimbus-jose-jwt</artifactId>
      <version>9.37.2</version>
    </dependency>
    <dependency>
      <groupId>com.github.OpenBankProject</groupId>
      <artifactId>scala-macros</artifactId>
      <version>v1.0.0-alpha.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.scalameta/scalameta -->
    <dependency>
      <groupId>org.scalameta</groupId>
      <artifactId>scalameta_${scala.version}</artifactId>
      <version>3.7.4</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.nimbusds/oauth2-oidc-sdk -->
    <dependency>
      <groupId>com.nimbusds</groupId>
      <artifactId>oauth2-oidc-sdk</artifactId>
      <version>9.27</version>
    </dependency>
    <!-- ********** flexmark START ********** -->
    <!-- Library flexmark-all v0.40.8 is replaced with used modules -->
    <!-- https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark-profile-pegdown -->
    <dependency>
      <groupId>com.vladsch.flexmark</groupId>
      <artifactId>flexmark-profile-pegdown</artifactId>
      <version>0.40.8</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.vladsch.flexmark/flexmark-util-options -->
    <dependency>
      <groupId>com.vladsch.flexmark</groupId>
      <artifactId>flexmark-util-options</artifactId>
      <version>0.64.0</version>
    </dependency>
      <!-- https://mvnrepository.com/artifact/org.web3j/core -->
      <dependency>
          <groupId>org.web3j</groupId>
          <artifactId>core</artifactId>
          <version>4.9.8</version>
      </dependency>
    <dependency>
      <groupId>com.zaxxer</groupId>
      <artifactId>HikariCP</artifactId>
      <version>4.0.3</version>
    </dependency>
    <!-- ********** flexmark END ********** -->
    <!--scala utils, for type scan-->
    <dependency>
      <groupId>org.clapper</groupId>
      <artifactId>classutil_${scala.version}</artifactId>
      <version>1.5.1</version>
    </dependency>
    <dependency>
      <groupId>com.github.grumlimited</groupId>
      <artifactId>geocalc</artifactId>
      <version>0.5.7</version>
    </dependency>
    <dependency>
      <groupId>com.twilio.sdk</groupId>
      <artifactId>twilio</artifactId>
      <version>9.2.0</version>
    </dependency>
    <dependency>
      <groupId>io.swagger.parser.v3</groupId>
      <artifactId>swagger-parser</artifactId>
      <version>2.0.13</version>
      <exclusions>
        <exclusion>
          <artifactId>mailapi</artifactId>
          <groupId>javax.mail</groupId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- convert word to plural -->
    <dependency>
      <groupId>org.atteo</groupId>
      <artifactId>evo-inflector</artifactId>
      <version>1.2.2</version>
    </dependency>
    <!-- modify class dynamically-->
    <dependency>
      <groupId>org.javassist</groupId>
      <artifactId>javassist</artifactId>
      <version>3.25.0-GA</version>
    </dependency>
    <!-- Stripe client library. It is a payment gateway. -->
    <dependency>
      <groupId>com.stripe</groupId>
      <artifactId>stripe-java</artifactId>
      <version>12.1.0</version>
    </dependency>
    <!-- grpc related begin-->
    <dependency>
      <groupId>com.thesamet.scalapb</groupId>
      <artifactId>scalapb-runtime-grpc_${scala.version}</artifactId>
      <version>0.8.4</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/io.grpc/grpc-all -->
    <dependency>
      <groupId>io.grpc</groupId>
      <artifactId>grpc-all</artifactId>
      <version>1.48.1</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-tcnative-boringssl-static</artifactId>
      <version>2.0.27.Final</version>
    </dependency>
    <dependency>
      <groupId>org.asynchttpclient</groupId>
      <artifactId>async-http-client</artifactId>
      <version>2.10.4</version>
        <exclusions>
            <exclusion>
                <artifactId>javax.activation</artifactId>
                <groupId>com.sun.activation</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- grpc related end-->

    <!-- scalikejdbc for call stored procedure start-->
    <dependency>
      <groupId>org.scalikejdbc</groupId>
      <artifactId>scalikejdbc_${scala.version}</artifactId>
      <version>3.4.0</version>
      <exclusions>
        <exclusion>
          <groupId>com.sun.activation</groupId>
          <artifactId>javax.activation</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.activation</groupId>
          <artifactId>activation</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.microsoft.sqlserver</groupId>
      <artifactId>mssql-jdbc</artifactId>
      <version>11.2.0.jre${java.version}</version>
    </dependency>
    <!-- scalikejdbc for call stored procedure end-->

    <dependency>
      <groupId>org.scala-lang.modules</groupId>
      <artifactId>scala-xml_${scala.version}</artifactId>
      <version>1.2.0</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.networknt/json-schema-validator -->
    <dependency>
      <groupId>com.networknt</groupId>
      <artifactId>json-schema-validator</artifactId>
      <version>1.0.87</version>
    </dependency>


    <!-- https://mvnrepository.com/artifact/org.iban4j/iban4j -->
    <dependency>
      <groupId>org.iban4j</groupId>
      <artifactId>iban4j</artifactId>
      <version>3.2.7-RELEASE</version>
    </dependency>

    <!-- util convert Future to js Promise
    <dependency>
      <groupId>org.scala-js</groupId>
      <artifactId>scalajs-library_${scala.version}</artifactId>
      <version>1.9.0</version>
    </dependency>
    -->
    <dependency>
      <groupId>org.graalvm.js</groupId>
      <artifactId>js</artifactId>
      <version>22.0.0.2</version>
    </dependency>
    <dependency>
      <groupId>org.graalvm.js</groupId>
      <artifactId>js-scriptengine</artifactId>
      <version>22.0.0.2</version>
    </dependency>
    <!--java dynamic compiler-->
    <dependency>
      <groupId>ch.obermuhlner</groupId>
      <artifactId>java-scriptengine</artifactId>
      <version>2.0.0</version>
    </dependency>
    <!--
    Java Client for ORY Hydra
    https://github.com/ory/hydra-client-java
    -->
    <dependency>
      <groupId>sh.ory.hydra</groupId>
      <artifactId>hydra-client</artifactId>
      <version>1.7.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.12.7.1</version>
    </dependency>
      <!-- https://mvnrepository.com/artifact/tools.jackson.dataformat/jackson-dataformat-yaml -->
    <dependency>
      <groupId>tools.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-yaml</artifactId>
      <version>3.0.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->
    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp</artifactId>
      <version>4.12.0</version>
    </dependency>
    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>logging-interceptor</artifactId>
      <version>4.12.0</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
    <dependency>
      <groupId>com.rabbitmq</groupId>
      <artifactId>amqp-client</artifactId>
      <version>5.22.0</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.testcontainers/rabbitmq -->
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>rabbitmq</artifactId>
      <version>1.20.3</version>
      <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>jakarta.mail</artifactId>
        <version>2.0.1</version>
    </dependency>
    <dependency>
        <groupId>jakarta.activation</groupId>
        <artifactId>jakarta.activation-api</artifactId>
        <version>2.0.1</version>
    </dependency>
    <dependency>
      <groupId>com.sun.activation</groupId>
      <artifactId>jakarta.activation</artifactId>
      <version>1.2.2</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.nulab-inc/zxcvbn -->
    <dependency>
      <groupId>com.nulab-inc</groupId>
      <artifactId>zxcvbn</artifactId>
      <version>1.9.0</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${scala.version}</version>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>
      <plugin>
        <!-- enable the scalatest plugin -->
        <groupId>org.scalatest</groupId>
        <artifactId>scalatest-maven-plugin</artifactId>
        <configuration>
          <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
            <forkMode>once</forkMode>
            <junitxml>.</junitxml>
            <filereports>WDF TestSuite.txt</filereports>
            <argLine>-Drun.mode=test -XX:MaxMetaspaceSize=512m -Xms512m -Xmx512m --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.jar=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED</argLine>
            <tagsToExclude>code.external</tagsToExclude>
            <testFailureIgnore>${maven.test.failure.ignore}</testFailureIgnore>
        </configuration>
        <executions>
          <execution>
            <id>test</id>
            <goals>
              <goal>test</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>3.5.2</version>
        <configuration>
          <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
          <outputDirectory>${project.build.directory}/surefire-reports</outputDirectory>
        </configuration>
        <executions>
          <execution>
            <id>surefire-html-report</id>
            <phase>package</phase>
            <goals>
              <goal>report-only</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <id>delete-surefire-xml-after-html</id>
            <phase>verify</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <target>
                <delete>
                  <fileset dir="${project.build.directory}/surefire-reports">
                    <include name="TEST-*.xml"/>
                    <include name="TESTS-*.xml"/>
                  </fileset>
                </delete>
              </target>
            </configuration>
          </execution>
        </executions>
      </plugin>
        <plugin>
          <!-- add src/main/java to source dirs -->
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.6.0</version>
          <executions>
            <execution>
              <phase>generate-sources</phase>
              <goals>
                <goal>add-source</goal>
              </goals>
              <configuration>
                <sources>
                  <source>src/main/java</source>
                </sources>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>net.alchim31.maven</groupId>
          <artifactId>scala-maven-plugin</artifactId>
          <version>4.8.1</version>
          <configuration>
            <fork>true</fork>
            <jvmArgs>
              <jvmArg>-Xms4G</jvmArg>
              <jvmArg>-Xmx12G</jvmArg>
              <jvmArg>-XX:MaxMetaspaceSize=4G</jvmArg>
              <jvmArg>-XX:+UseG1GC</jvmArg>
            </jvmArgs>
            <args>
              <arg>-deprecation</arg>
              <arg>-feature</arg>
            </args>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.4.0</version>
          <configuration>
            <webXml>${webXmlPath}</webXml>
            <attachClasses>true</attachClasses>
            <classesClassifier>classes</classesClassifier>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.1</version>
          <executions>
            <execution>
              <id>default-copy-resources</id>
              <phase>process-resources</phase>
              <goals>
                <goal>copy-resources</goal>
              </goals>
              <configuration>
                <overwrite>true</overwrite>
                <outputDirectory>${project.build.directory}</outputDirectory>
                <resources>
                  <resource>
                    <directory>${project.basedir}/src</directory>
                    <includes>
                      <include>packageLinkDefs.properties</include>
                    </includes>
                    <filtering>true</filtering>
                  </resource>
                </resources>
              </configuration>
            </execution>
          </executions>
        </plugin>

<plugin>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
  <version>${jetty.version}</version>
  <configuration>
    <contextPath>/</contextPath>
    <scanIntervalSeconds>5</scanIntervalSeconds>
    <port>8080</port>

    <!-- Jetty 9.4 plugin settings for max header size -->
    <requestHeaderSize>32768</requestHeaderSize>
    <responseHeaderSize>32768</responseHeaderSize>
  </configuration>
</plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-idea-plugin</artifactId>
          <version>2.2.1</version>
          <configuration>
            <downloadSources>true</downloadSources>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>2.10</version>
          <configuration>
            <downloadSources>true</downloadSources>
            <additionalProjectnatures>
              <projectnature>ch.epfl.lamp.sdt.core.scalanature</projectnature>
            </additionalProjectnatures>
            <additionalBuildcommands>
              <buildcommand>ch.epfl.lamp.sdt.core.scalabuilder</buildcommand>
            </additionalBuildcommands>
            <classpathContainers>
              <classpathContainer>ch.epfl.lamp.sdt.launching.SCALA_CONTAINER</classpathContainer>
              <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
            </classpathContainers>
          </configuration>
        </plugin>
        <plugin>
          <groupId>pl.project13.maven</groupId>
          <artifactId>git-commit-id-plugin</artifactId>
          <version>4.9.10</version>
          <executions>
            <execution>
              <goals>
                <goal>revision</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
            <generateGitPropertiesFile>true</generateGitPropertiesFile>
            <generateGitPropertiesFilename>src/main/resources/git.properties</generateGitPropertiesFilename>
            <failOnNoGitDirectory>false</failOnNoGitDirectory>
          </configuration>
        </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.13.0</version>
        <configuration>
          <release>${java.version}</release>
        </configuration>
      </plugin>
      <!--soap related plugin begin-->
<!--      <plugin>-->
<!--        <groupId>org.scalaxb</groupId>-->
<!--        <artifactId>scalaxb-maven-plugin</artifactId>-->
<!--        <version>1.7.5</version>-->
<!--        <configuration>-->
<!--          <packageName>code.adapter.soap</packageName>-->
<!--          <wsdlDirectory>src/main/resources/custom_webapp/wsdl</wsdlDirectory>-->
<!--          <xsdDirectory>src/main/resources/custom_webapp/xsd</xsdDirectory>-->
<!--        </configuration>-->
<!--        <executions>-->
<!--          <execution>-->
<!--            <id>scalaxb</id>-->
<!--            <goals>-->
<!--              <goal>generate</goal>-->
<!--            </goals>-->
<!--          </execution>-->
<!--        </executions>-->
<!--      </plugin>-->
      <!--grpc related plugin begin-->
      <!-- currently not need, enable this plugin when need generate new grpc code.
      <plugin>
       <groupId>net.catte</groupId>
       <artifactId>scalapb-maven-plugin</artifactId>
       <version>1.2</version>
       <configuration>
         <javaOutput>false</javaOutput>
         <inputDirectory>${basedir}/src/main/protobuf</inputDirectory>
         <outputDirectory>${basedir}/src/main/scala</outputDirectory>
         <grpc>true</grpc>
       </configuration>
       <executions>
         <execution>
           <goals>
             <goal>compile</goal>
           </goals>
           <phase>generate-sources</phase>
         </execution>
       </executions>
     </plugin>-->
     <!--grpc related plugin end-->
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </reporting>
</project>
