2019-10-31 21:43:47 -04:00
<?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/maven-v4_0_0.xsd" >
<modelVersion > 4.0.0</modelVersion>
<parent >
<artifactId > jhipster-microservice</artifactId>
<groupId > com.baeldung.jhipster</groupId>
<version > 1.0.0-SNAPSHOT</version>
</parent>
<groupId > com.gateway</groupId>
<artifactId > gateway-app</artifactId>
<packaging > war</packaging>
<name > gateway-app</name>
<prerequisites >
<maven > ${maven.version}</maven>
</prerequisites>
<properties >
<argLine > -Djava.security.egd=file:/dev/./urandom -Xmx256m</argLine>
<assertj.version > 3.6.2</assertj.version>
<awaitility.version > 2.0.0</awaitility.version>
<cassandra-driver.version > 3.6.0</cassandra-driver.version>
<commons-codec.version > 1.10</commons-codec.version>
<docker-maven-plugin.version > 0.4.13</docker-maven-plugin.version>
<frontend-maven-plugin.version > 1.3</frontend-maven-plugin.version>
<hazelcast-hibernate52.version > 1.2</hazelcast-hibernate52.version>
<hibernate.version > 5.2.8.Final</hibernate.version>
<hikaricp.version > 2.6.0</hikaricp.version>
<jacoco-maven-plugin.version > 0.7.9</jacoco-maven-plugin.version>
<javassist.version > 3.21.0-GA</javassist.version>
<jcache.version > 1.0.0</jcache.version>
<jhipster.server.version > 1.1.0</jhipster.server.version>
<jjwt.version > 0.7.0</jjwt.version>
<liquibase-hibernate5.version > 3.6</liquibase-hibernate5.version>
<liquibase-slf4j.version > 2.0.0</liquibase-slf4j.version>
<liquibase.version > 3.6.2</liquibase.version>
<logstash-logback-encoder.version > 4.8</logstash-logback-encoder.version>
<lz4.version > 1.3.0</lz4.version>
<m2e.apt.activation > jdt_apt</m2e.apt.activation>
<mapstruct.version > 1.1.0.Final</mapstruct.version>
<maven-eclipse-plugin.version > 2.10</maven-eclipse-plugin.version>
<maven-enforcer-plugin.version > 1.4.1</maven-enforcer-plugin.version>
<maven-resources-plugin.version > 3.0.1</maven-resources-plugin.version>
<maven.build.timestamp.format > yyyyMMddHHmmss</maven.build.timestamp.format>
<maven.version > 3.0.0</maven.version>
<metrics-spring.version > 3.1.3</metrics-spring.version>
<node.version > v6.10.0</node.version>
<!-- These remain empty unless the corresponding profile is active -->
<profile.no-liquibase />
<profile.swagger />
<!-- Sonar properties -->
<project.testresult.directory > ${project.build.directory}/test-results</project.testresult.directory>
<prometheus-simpleclient.version > 0.0.20</prometheus-simpleclient.version>
<run.addResources > false</run.addResources>
<scala-maven-plugin.version > 3.2.2</scala-maven-plugin.version>
<scala.version > 2.12.1</scala.version>
<sonar-maven-plugin.version > 3.2</sonar-maven-plugin.version>
<sonar.exclusions > src/main/webapp/content/**/*.*, src/main/webapp/bower_components/**/*.*, src/main/webapp/i18n/*.js, target/www/**/*.*</sonar.exclusions>
<sonar.issue.ignore.multicriteria > S3437,UndocumentedApi,BoldAndItalicTagsCheck</sonar.issue.ignore.multicriteria>
<!-- Rule https://sonarqube.com/coding_rules#rule_key=Web%3ABoldAndItalicTagsCheck is ignored. Even if we agree that using the "i" tag is an awful practice, this is what is
recommended by http://fontawesome.io/examples/ -->
<sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey > src/main/webapp/app/**/*.*</sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey>
<sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey > Web:BoldAndItalicTagsCheck</sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey>
<!-- Rule https://sonarqube.com/coding_rules#rule_key=squid%3AS3437 is ignored, as a JPA - managed field cannot be transient -->
<sonar.issue.ignore.multicriteria.S3437.resourceKey > src/main/java/**/*</sonar.issue.ignore.multicriteria.S3437.resourceKey>
<sonar.issue.ignore.multicriteria.S3437.ruleKey > squid:S3437</sonar.issue.ignore.multicriteria.S3437.ruleKey>
<!-- Rule http://sonarqube.com/coding_rules#rule_key=squid%3AUndocumentedApi is ignored, as we want to follow "clean code" guidelines and classes, methods and arguments names
should be self-explanatory -->
<sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey > src/main/java/**/*</sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey>
<sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey > squid:UndocumentedApi</sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey>
<sonar.jacoco.itReportPath > ${project.testresult.directory}/coverage/jacoco/jacoco-it.exec</sonar.jacoco.itReportPath>
<sonar.jacoco.reportPath > ${project.testresult.directory}/coverage/jacoco/jacoco.exec</sonar.jacoco.reportPath>
<sonar.java.codeCoveragePlugin > jacoco</sonar.java.codeCoveragePlugin>
<sonar.javascript.jstestdriver.reportsPath > ${project.testresult.directory}/karma</sonar.javascript.jstestdriver.reportsPath>
<!-- For Sonar < 6.2 -->
<sonar.javascript.lcov.reportPath > ${project.testresult.directory}/coverage/report-lcov/lcov.info</sonar.javascript.lcov.reportPath>
<!-- For Sonar >= 6.2 -->
<sonar.javascript.lcov.reportPaths > ${project.testresult.directory}/coverage/report-lcov/lcov.info</sonar.javascript.lcov.reportPaths>
<sonar.sources > ${project.basedir}/src/main/</sonar.sources>
<sonar.surefire.reportsPath > ${project.testresult.directory}/surefire-reports</sonar.surefire.reportsPath>
<sonar.tests > ${project.basedir}/src/test/</sonar.tests>
<sortpom-maven-plugin.version > 2.5.0</sortpom-maven-plugin.version>
<!-- Spring properties -->
<spring-cloud.version > Camden.SR5</spring-cloud.version>
<springfox.version > 2.6.1</springfox.version>
<undertow.version > 1.4.10.Final</undertow.version>
<validation-api.version > 1.1.0.Final</validation-api.version>
<yarn.version > v0.21.3</yarn.version>
2020-01-15 15:23:26 -05:00
<lifecycle.mapping.version > 1.0.0</lifecycle.mapping.version>
2019-10-31 21:43:47 -04:00
</properties>
<dependencyManagement >
<dependencies >
<dependency >
<groupId > org.springframework.cloud</groupId>
<artifactId > spring-cloud-dependencies</artifactId>
<version > ${spring-cloud.version}</version>
<type > pom</type>
<scope > import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies >
<!-- DataStax driver -->
<dependency >
<groupId > com.datastax.cassandra</groupId>
<artifactId > cassandra-driver-core</artifactId>
<exclusions >
<exclusion >
<artifactId > metrics-core</artifactId>
<groupId > com.codahale.metrics</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency >
<groupId > com.datastax.cassandra</groupId>
<artifactId > cassandra-driver-extras</artifactId>
<version > ${cassandra-driver.version}</version>
</dependency>
<dependency >
<groupId > com.datastax.cassandra</groupId>
<artifactId > cassandra-driver-mapping</artifactId>
</dependency>
<dependency >
<groupId > com.fasterxml.jackson.datatype</groupId>
<artifactId > jackson-datatype-hibernate5</artifactId>
</dependency>
<dependency >
<groupId > com.fasterxml.jackson.datatype</groupId>
<artifactId > jackson-datatype-hppc</artifactId>
</dependency>
<dependency >
<groupId > com.fasterxml.jackson.datatype</groupId>
<artifactId > jackson-datatype-json-org</artifactId>
</dependency>
<dependency >
<groupId > com.fasterxml.jackson.datatype</groupId>
<artifactId > jackson-datatype-jsr310</artifactId>
</dependency>
<dependency >
<groupId > com.h2database</groupId>
<artifactId > h2</artifactId>
</dependency>
<dependency >
<groupId > com.hazelcast</groupId>
<artifactId > hazelcast</artifactId>
</dependency>
<dependency >
<groupId > com.hazelcast</groupId>
<artifactId > hazelcast-hibernate52</artifactId>
<version > ${hazelcast-hibernate52.version}</version>
</dependency>
<dependency >
<groupId > com.hazelcast</groupId>
<artifactId > hazelcast-spring</artifactId>
</dependency>
<dependency >
<groupId > com.jayway.jsonpath</groupId>
<artifactId > json-path</artifactId>
<scope > test</scope>
<!-- parent POM declares this dependency in default (compile) scope -->
</dependency>
<dependency >
<groupId > com.mattbertolini</groupId>
<artifactId > liquibase-slf4j</artifactId>
<version > ${liquibase-slf4j.version}</version>
</dependency>
<dependency >
<groupId > com.ryantenney.metrics</groupId>
<artifactId > metrics-spring</artifactId>
<version > ${metrics-spring.version}</version>
<exclusions >
<exclusion >
<artifactId > metrics-annotation</artifactId>
<groupId > com.codahale.metrics</groupId>
</exclusion>
<exclusion >
<artifactId > metrics-core</artifactId>
<groupId > com.codahale.metrics</groupId>
</exclusion>
<exclusion >
<artifactId > metrics-healthchecks</artifactId>
<groupId > com.codahale.metrics</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency >
<groupId > com.zaxxer</groupId>
<artifactId > HikariCP</artifactId>
<exclusions >
<exclusion >
<artifactId > tools</artifactId>
<groupId > com.sun</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency >
<groupId > commons-codec</groupId>
<artifactId > commons-codec</artifactId>
</dependency>
<dependency >
<groupId > commons-io</groupId>
<artifactId > commons-io</artifactId>
</dependency>
<dependency >
<groupId > io.dropwizard.metrics</groupId>
<artifactId > metrics-annotation</artifactId>
</dependency>
<dependency >
<groupId > io.dropwizard.metrics</groupId>
<artifactId > metrics-core</artifactId>
</dependency>
<dependency >
<groupId > io.dropwizard.metrics</groupId>
<artifactId > metrics-json</artifactId>
</dependency>
<dependency >
<groupId > io.dropwizard.metrics</groupId>
<artifactId > metrics-jvm</artifactId>
</dependency>
<dependency >
<groupId > io.dropwizard.metrics</groupId>
<artifactId > metrics-servlet</artifactId>
</dependency>
<dependency >
<groupId > io.dropwizard.metrics</groupId>
<artifactId > metrics-servlets</artifactId>
</dependency>
<dependency >
<groupId > io.github.jhipster</groupId>
<artifactId > jhipster</artifactId>
<version > ${jhipster.server.version}</version>
</dependency>
<dependency >
<groupId > io.jsonwebtoken</groupId>
<artifactId > jjwt</artifactId>
<version > ${jjwt.version}</version>
</dependency>
<dependency >
<groupId > io.springfox</groupId>
<artifactId > springfox-bean-validators</artifactId>
<version > ${springfox.version}</version>
</dependency>
<dependency >
<groupId > io.springfox</groupId>
<artifactId > springfox-swagger2</artifactId>
<version > ${springfox.version}</version>
<exclusions >
<exclusion >
<artifactId > mapstruct</artifactId>
<groupId > org.mapstruct</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency >
<groupId > javax.cache</groupId>
<artifactId > cache-api</artifactId>
</dependency>
<dependency >
<groupId > mysql</groupId>
<artifactId > mysql-connector-java</artifactId>
</dependency>
<dependency >
<groupId > net.jpountz.lz4</groupId>
<artifactId > lz4</artifactId>
<version > ${lz4.version}</version>
</dependency>
<dependency >
<groupId > net.logstash.logback</groupId>
<artifactId > logstash-logback-encoder</artifactId>
<version > ${logstash-logback-encoder.version}</version>
<exclusions >
<exclusion >
<artifactId > logback-core</artifactId>
<groupId > ch.qos.logback</groupId>
</exclusion>
<exclusion >
<artifactId > logback-classic</artifactId>
<groupId > ch.qos.logback</groupId>
</exclusion>
<exclusion >
<artifactId > logback-access</artifactId>
<groupId > ch.qos.logback</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency >
<groupId > org.apache.commons</groupId>
<artifactId > commons-lang3</artifactId>
2021-01-04 06:50:24 -05:00
<version > ${commons-lang3.version}</version>
2019-10-31 21:43:47 -04:00
</dependency>
<dependency >
<groupId > org.assertj</groupId>
<artifactId > assertj-core</artifactId>
<scope > test</scope>
</dependency>
<dependency >
<groupId > org.awaitility</groupId>
<artifactId > awaitility</artifactId>
<version > ${awaitility.version}</version>
<scope > test</scope>
</dependency>
<dependency >
<groupId > org.hibernate</groupId>
<artifactId > hibernate-envers</artifactId>
</dependency>
<dependency >
<groupId > org.hibernate</groupId>
<artifactId > hibernate-validator</artifactId>
</dependency>
<dependency >
<groupId > org.liquibase</groupId>
<artifactId > liquibase-core</artifactId>
<exclusions >
<exclusion >
<artifactId > jetty-servlet</artifactId>
<groupId > org.eclipse.jetty</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency >
<groupId > org.mapstruct</groupId>
<artifactId > mapstruct-jdk8</artifactId>
<version > ${mapstruct.version}</version>
</dependency>
<dependency >
<groupId > org.springframework</groupId>
<artifactId > spring-context-support</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-actuator</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-autoconfigure</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-configuration-processor</artifactId>
<optional > true</optional>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-loader-tools</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-aop</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-cloud-connectors</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-logging</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-mail</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-security</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-test</artifactId>
<scope > test</scope>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-web</artifactId>
<exclusions >
<exclusion >
<artifactId > spring-boot-starter-tomcat</artifactId>
<groupId > org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-test</artifactId>
<scope > test</scope>
</dependency>
<dependency >
<groupId > org.springframework.cloud</groupId>
<artifactId > spring-cloud-starter</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.cloud</groupId>
<artifactId > spring-cloud-starter-config</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.cloud</groupId>
<artifactId > spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.cloud</groupId>
<artifactId > spring-cloud-starter-feign</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.cloud</groupId>
<artifactId > spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.cloud</groupId>
<artifactId > spring-cloud-starter-ribbon</artifactId>
<!-- netty's native is pulled, but is useless unless you explicitly add the native binary dependency. Having it in the classpath without the binary can cause warnings -->
<exclusions >
<exclusion >
<artifactId > netty-transport-native-epoll</artifactId>
<groupId > io.netty</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency >
<groupId > org.springframework.cloud</groupId>
<artifactId > spring-cloud-starter-spectator</artifactId>
</dependency>
<!-- Spring Cloud -->
<dependency >
<groupId > org.springframework.cloud</groupId>
<artifactId > spring-cloud-starter-zuul</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.retry</groupId>
<artifactId > spring-retry</artifactId>
</dependency>
<!-- security -->
<dependency >
<groupId > org.springframework.security</groupId>
<artifactId > spring-security-data</artifactId>
</dependency>
<dependency >
<groupId > org.springframework.security</groupId>
<artifactId > spring-security-test</artifactId>
<scope > test</scope>
</dependency>
<!-- jhipster - needle - maven - add - dependency -->
</dependencies>
<build >
<defaultGoal > spring-boot:run</defaultGoal>
<pluginManagement >
<plugins >
<!-- This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. Remove when the m2e plugin can correctly
bind to Maven lifecycle -->
<plugin >
<groupId > org.eclipse.m2e</groupId>
<artifactId > lifecycle-mapping</artifactId>
2020-01-15 15:23:26 -05:00
<version > ${lifecycle.mapping.version}</version>
2019-10-31 21:43:47 -04:00
<configuration >
<lifecycleMappingMetadata >
<pluginExecutions >
<pluginExecution >
<pluginExecutionFilter >
<groupId > org.jacoco</groupId>
<artifactId > jacoco-maven-plugin</artifactId>
<versionRange > ${jacoco-maven-plugin.version}</versionRange>
<goals >
<goal > prepare-agent</goal>
</goals>
</pluginExecutionFilter>
<action >
<ignore />
</action>
</pluginExecution>
<pluginExecution >
<pluginExecutionFilter >
<groupId > com.github.eirslett</groupId>
<artifactId > frontend-maven-plugin</artifactId>
<versionRange > ${frontend-maven-plugin.version}</versionRange>
<goals >
<goal > install-node-and-yarn</goal>
<goal > yarn</goal>
<goal > bower</goal>
<goal > gulp</goal>
</goals>
</pluginExecutionFilter>
<action >
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins >
<plugin >
<groupId > com.github.ekryd.sortpom</groupId>
<artifactId > sortpom-maven-plugin</artifactId>
<version > ${sortpom-maven-plugin.version}</version>
<executions >
<execution >
<phase > verify</phase>
<goals >
<goal > sort</goal>
</goals>
</execution>
</executions>
<configuration >
<sortProperties > true</sortProperties>
<nrOfIndentSpace > 4</nrOfIndentSpace>
<sortDependencies > groupId,artifactId</sortDependencies>
<sortPlugins > groupId,artifactId</sortPlugins>
<keepBlankLines > true</keepBlankLines>
<expandEmptyElements > false</expandEmptyElements>
</configuration>
</plugin>
<plugin >
<groupId > com.spotify</groupId>
<artifactId > docker-maven-plugin</artifactId>
<version > ${docker-maven-plugin.version}</version>
<configuration >
<imageName > gateway</imageName>
<dockerDirectory > src/main/docker</dockerDirectory>
<resources >
<resource >
<targetPath > /</targetPath>
<directory > ${project.build.directory}</directory>
<include > ${project.build.finalName}.war</include>
</resource>
</resources>
</configuration>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-compiler-plugin</artifactId>
<version > ${maven-compiler-plugin.version}</version>
<configuration >
<annotationProcessorPaths >
<path >
<groupId > org.mapstruct</groupId>
<artifactId > mapstruct-processor</artifactId>
<version > ${mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-eclipse-plugin</artifactId>
<version > ${maven-eclipse-plugin.version}</version>
<configuration >
<downloadSources > true</downloadSources>
<downloadJavadocs > true</downloadJavadocs>
</configuration>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-enforcer-plugin</artifactId>
<version > ${maven-enforcer-plugin.version}</version>
<executions >
<execution >
<id > enforce-versions</id>
<goals >
<goal > enforce</goal>
</goals>
</execution>
</executions>
<configuration >
<rules >
<requireMavenVersion >
<message > You are running an older version of Maven. JHipster requires at least Maven ${maven.version}</message>
<version > [${maven.version},)</version>
</requireMavenVersion>
<requireJavaVersion >
<message > You are running an older version of Java. JHipster requires at least JDK ${java.version}</message>
<version > [${java.version}.0,)</version>
</requireJavaVersion>
</rules>
</configuration>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-resources-plugin</artifactId>
<version > ${maven-resources-plugin.version}</version>
<executions >
<execution >
<id > default-resources</id>
<phase > validate</phase>
<goals >
<goal > copy-resources</goal>
</goals>
<configuration >
<outputDirectory > target/classes</outputDirectory>
<useDefaultDelimiters > false</useDefaultDelimiters>
<delimiters >
<delimiter > #</delimiter>
</delimiters>
<resources >
<resource >
<directory > src/main/resources/</directory>
<filtering > true</filtering>
<includes >
<include > **/*.xml</include>
<include > **/*.yml</include>
</includes>
</resource>
<resource >
<directory > src/main/resources/</directory>
<filtering > false</filtering>
<excludes >
<exclude > **/*.xml</exclude>
<exclude > **/*.yml</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-surefire-plugin</artifactId>
<configuration >
<!-- Force alphabetical order to have a reproducible build -->
<runOrder > alphabetical</runOrder>
</configuration>
</plugin>
<plugin >
<groupId > org.jacoco</groupId>
<artifactId > jacoco-maven-plugin</artifactId>
<version > ${jacoco-maven-plugin.version}</version>
<executions >
<execution >
<id > pre-unit-tests</id>
<goals >
<goal > prepare-agent</goal>
</goals>
<configuration >
<!-- Sets the path to the file which contains the execution data. -->
<destFile > ${project.testresult.directory}/coverage/jacoco/jacoco.exec</destFile>
</configuration>
</execution>
<!-- Ensures that the code coverage report for unit tests is created after unit tests have been run -->
<execution >
<id > post-unit-test</id>
<phase > test</phase>
<goals >
<goal > report</goal>
</goals>
<configuration >
<dataFile > ${project.testresult.directory}/coverage/jacoco/jacoco.exec</dataFile>
<outputDirectory > ${project.testresult.directory}/coverage/jacoco</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin >
<groupId > org.liquibase</groupId>
<artifactId > liquibase-maven-plugin</artifactId>
<version > ${liquibase.version}</version>
<dependencies >
<dependency >
<groupId > javax.validation</groupId>
<artifactId > validation-api</artifactId>
<version > ${validation-api.version}</version>
</dependency>
<dependency >
<groupId > org.javassist</groupId>
<artifactId > javassist</artifactId>
<version > ${javassist.version}</version>
</dependency>
<dependency >
<groupId > org.liquibase.ext</groupId>
<artifactId > liquibase-hibernate5</artifactId>
<version > ${liquibase-hibernate5.version}</version>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-data-jpa</artifactId>
<version > ${project.parent.version}</version>
</dependency>
</dependencies>
<configuration >
<changeLogFile > src/main/resources/config/liquibase/master.xml</changeLogFile>
<diffChangeLogFile > src/main/resources/config/liquibase/changelog/${maven.build.timestamp}_changelog.xml</diffChangeLogFile>
<driver > org.h2.Driver</driver>
<url > jdbc:h2:file:./target/h2db/db/gateway</url>
<defaultSchemaName />
<username > gateway</username>
<password />
<referenceUrl > hibernate:spring:com.gateway.domain?dialect=org.hibernate.dialect.H2Dialect& hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy& hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</referenceUrl>
<verbose > true</verbose>
<logging > debug</logging>
</configuration>
</plugin>
<plugin >
<groupId > org.sonarsource.scanner.maven</groupId>
<artifactId > sonar-maven-plugin</artifactId>
<version > ${sonar-maven-plugin.version}</version>
</plugin>
<plugin >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-maven-plugin</artifactId>
<configuration >
<executable > true</executable>
<fork > true</fork>
<!-- Enable the line below to have remote debugging of your application on port 5005 <jvmArguments> - agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments> -->
</configuration>
</plugin>
<!-- jhipster - needle - maven - add - plugin -->
</plugins>
</build>
<profiles >
<profile >
<id > no-liquibase</id>
<properties >
<profile.no-liquibase > ,no-liquibase</profile.no-liquibase>
</properties>
</profile>
<profile >
<id > swagger</id>
<properties >
<profile.swagger > ,swagger</profile.swagger>
</properties>
</profile>
<profile >
<id > dev</id>
<activation >
<activeByDefault > true</activeByDefault>
</activation>
<build >
<plugins >
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-war-plugin</artifactId>
<configuration >
<warSourceDirectory > src/main/webapp/</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
<properties >
<!-- log configuration -->
<logback.loglevel > DEBUG</logback.loglevel>
<!-- default Spring profiles -->
<spring.profiles.active > dev${profile.no-liquibase}</spring.profiles.active>
</properties>
<dependencies >
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-devtools</artifactId>
<optional > true</optional>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-undertow</artifactId>
</dependency>
</dependencies>
</profile>
<profile >
<id > prod</id>
<build >
<plugins >
<plugin >
<groupId > com.github.eirslett</groupId>
<artifactId > frontend-maven-plugin</artifactId>
<version > ${frontend-maven-plugin.version}</version>
<executions >
<execution >
<id > install node and yarn</id>
<goals >
<goal > install-node-and-yarn</goal>
</goals>
<configuration >
<nodeVersion > ${node.version}</nodeVersion>
<yarnVersion > ${yarn.version}</yarnVersion>
</configuration>
</execution>
<execution >
<id > yarn install</id>
<goals >
<goal > yarn</goal>
</goals>
<configuration >
<arguments > install</arguments>
</configuration>
</execution>
<execution >
<id > bower install</id>
<goals >
<goal > bower</goal>
</goals>
<configuration >
<arguments > install --no-color</arguments>
</configuration>
</execution>
<execution >
<id > gulp build</id>
<goals >
<goal > gulp</goal>
</goals>
<configuration >
<arguments > build --no-notification</arguments>
</configuration>
</execution>
<execution >
<id > gulp test</id>
<phase > test</phase>
<goals >
<goal > gulp</goal>
</goals>
<configuration >
<arguments > test --no-notification</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin >
<artifactId > maven-clean-plugin</artifactId>
<configuration >
<filesets >
<fileset >
<directory > target/www/</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-war-plugin</artifactId>
<configuration >
<warSourceDirectory > target/www/</warSourceDirectory>
</configuration>
</plugin>
<plugin >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-maven-plugin</artifactId>
<executions >
<execution >
<goals >
<goal > build-info</goal>
</goals>
</execution>
</executions>
<configuration >
<executable > true</executable>
</configuration>
</plugin>
</plugins>
</build>
<properties >
<!-- log configuration -->
<logback.loglevel > INFO</logback.loglevel>
<!-- default Spring profiles -->
<spring.profiles.active > prod${profile.swagger}${profile.no-liquibase}</spring.profiles.active>
</properties>
<dependencies >
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-undertow</artifactId>
</dependency>
</dependencies>
</profile>
<profile >
<!-- Profile for doing "continuous compilation" with the Scala Maven plugin. It allows automatic compilation of Java classes as soon as they are saved. To use it, run in
3 terminals: - './mvnw -Pcc scala:cc' for continous compilation of your classes - './mvnw -Pcc' for hot reload of Spring boot - 'gulp' for hot reload of the HTML/JavaScript assets Everything
should hot reload automatically! -->
<id > cc</id>
<build >
<plugins >
<plugin >
<groupId > net.alchim31.maven</groupId>
<artifactId > scala-maven-plugin</artifactId>
<version > ${scala-maven-plugin.version}</version>
<executions >
<execution >
<id > compile</id>
<phase > compile</phase>
<goals >
<goal > add-source</goal>
<goal > compile</goal>
</goals>
</execution>
<execution >
<id > test-compile</id>
<phase > test-compile</phase>
<goals >
<goal > add-source</goal>
<goal > testCompile</goal>
</goals>
</execution>
</executions>
<configuration >
<recompileMode > incremental</recompileMode>
<verbose > true</verbose>
<scalaVersion > ${scala.version}</scalaVersion>
</configuration>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-compiler-plugin</artifactId>
<executions >
<execution >
<id > default-compile</id>
<phase > none</phase>
</execution>
<execution >
<id > default-testCompile</id>
<phase > none</phase>
</execution>
</executions>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-war-plugin</artifactId>
<configuration >
<warSourceDirectory > src/main/webapp/</warSourceDirectory>
</configuration>
</plugin>
<plugin >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-maven-plugin</artifactId>
<configuration >
<executable > true</executable>
<fork > true</fork>
<addResources > true</addResources>
<!-- Enable the line below to have remote debugging of your application on port 5005 <jvmArguments> - agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments> -->
</configuration>
</plugin>
</plugins>
</build>
<properties >
<!-- log configuration -->
<logback.loglevel > DEBUG</logback.loglevel>
<!-- default Spring profiles -->
<spring.profiles.active > dev,swagger</spring.profiles.active>
</properties>
<dependencies >
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-devtools</artifactId>
<optional > true</optional>
</dependency>
<dependency >
<groupId > org.springframework.boot</groupId>
<artifactId > spring-boot-starter-undertow</artifactId>
</dependency>
</dependencies>
</profile>
<profile >
<!-- Profile for monitoring the application with Graphite. -->
<id > graphite</id>
<dependencies >
<dependency >
<groupId > io.dropwizard.metrics</groupId>
<artifactId > metrics-graphite</artifactId>
</dependency>
</dependencies>
</profile>
<profile >
<!-- Profile for monitoring the application with Prometheus. -->
<id > prometheus</id>
<dependencies >
<dependency >
<groupId > io.prometheus</groupId>
<artifactId > simpleclient</artifactId>
<version > ${prometheus-simpleclient.version}</version>
</dependency>
<dependency >
<groupId > io.prometheus</groupId>
<artifactId > simpleclient_dropwizard</artifactId>
<version > ${prometheus-simpleclient.version}</version>
</dependency>
<dependency >
<groupId > io.prometheus</groupId>
<artifactId > simpleclient_servlet</artifactId>
<version > ${prometheus-simpleclient.version}</version>
</dependency>
</dependencies>
</profile>
<profile >
<!-- Profile for applying IDE - specific configuration. At the moment it only configures MapStruct, which you need when working with DTOs. -->
<id > IDE</id>
<dependencies >
<dependency >
<groupId > org.mapstruct</groupId>
<artifactId > mapstruct-processor</artifactId>
<version > ${mapstruct.version}</version>
</dependency>
</dependencies>
</profile>
</profiles>
</project>