e2fa26434d4139d3748c11eed5d241962d157f94
[platform/core/security/suspicious-activity-monitor.git] / server / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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">
3     <modelVersion>4.0.0</modelVersion>
4
5     <groupId>com.samsung.samserver</groupId>
6     <artifactId>samserver</artifactId>
7     <version>0.0.1-SNAPSHOT</version>
8     <packaging>war</packaging>
9     <name>Samserver</name>
10
11     <properties>
12         <!-- Build properties -->
13         <maven.version>3.0.0</maven.version>
14         <java.version>1.8</java.version>
15         <scala.version>2.12.1</scala.version>
16         <node.version>v8.9.4</node.version>
17         <yarn.version>v1.3.2</yarn.version>
18         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
19         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
20         <project.testresult.directory>${project.build.directory}/test-results</project.testresult.directory>
21         <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
22         <maven.compiler.source>${java.version}</maven.compiler.source>
23         <maven.compiler.target>${java.version}</maven.compiler.target>
24         <argLine>-Djava.security.egd=file:/dev/./urandom -Xmx256m</argLine>
25         <m2e.apt.activation>jdt_apt</m2e.apt.activation>
26         <run.addResources>false</run.addResources>
27         <!-- These remain empty unless the corresponding profile is active -->
28         <profile.no-liquibase />
29         <profile.swagger />
30
31         <!-- Dependency versions -->
32         <jhipster-dependencies.version>0.1.7</jhipster-dependencies.version>
33         <!-- The spring-boot version should match the one managed by
34         https://mvnrepository.com/artifact/io.github.jhipster/jhipster-dependencies/${jhipster-dependencies.version} -->
35         <spring-boot.version>1.5.9.RELEASE</spring-boot.version>
36         <!-- The hibernate version should match the one managed by
37         https://mvnrepository.com/artifact/io.github.jhipster/jhipster-dependencies/${jhipster-dependencies.version} -->
38         <hibernate.version>5.2.12.Final</hibernate.version>
39         <!-- The javassist version should match the one managed by
40         https://mvnrepository.com/artifact/org.hibernate/hibernate-core/${hibernate.version} -->
41         <javassist.version>3.20.0-GA</javassist.version>
42         <!-- The liquibase version should match the one managed by
43         https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies/${spring-boot.version} -->
44         <liquibase.version>3.5.3</liquibase.version>
45         <liquibase-hibernate5.version>3.6</liquibase-hibernate5.version>
46         <validation-api.version>1.1.0.Final</validation-api.version>
47         <mapstruct.version>1.2.0.Final</mapstruct.version>
48
49         <!-- Plugin versions -->
50         <maven-clean-plugin.version>2.6.1</maven-clean-plugin.version>
51         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
52         <maven-eclipse-plugin.version>2.10</maven-eclipse-plugin.version>
53         <maven-enforcer-plugin.version>3.0.0-M1</maven-enforcer-plugin.version>
54         <maven-resources-plugin.version>3.0.1</maven-resources-plugin.version>
55         <maven-surefire-plugin.version>2.18.1</maven-surefire-plugin.version>
56         <maven-war-plugin.version>2.6</maven-war-plugin.version>
57         <dockerfile-maven-plugin.version>1.3.4</dockerfile-maven-plugin.version>
58         <jacoco-maven-plugin.version>0.7.9</jacoco-maven-plugin.version>
59         <scala-maven-plugin.version>3.2.2</scala-maven-plugin.version>
60         <sonar-maven-plugin.version>3.2</sonar-maven-plugin.version>
61
62         <!-- Sonar properties -->
63         <sonar.exclusions>src/main/webapp/content/**/*.*, src/main/webapp/i18n/*.js, target/www/**/*.*</sonar.exclusions>
64         <sonar.issue.ignore.multicriteria>S3437,UndocumentedApi,BoldAndItalicTagsCheck</sonar.issue.ignore.multicriteria>
65         <!-- 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/ -->
66         <sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey>src/main/webapp/app/**/*.*</sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.resourceKey>
67         <sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey>Web:BoldAndItalicTagsCheck</sonar.issue.ignore.multicriteria.BoldAndItalicTagsCheck.ruleKey>
68         <!-- Rule https://sonarqube.com/coding_rules#rule_key=squid%3AS3437 is ignored, as a JPA-managed field cannot be transient -->
69         <sonar.issue.ignore.multicriteria.S3437.resourceKey>src/main/java/**/*</sonar.issue.ignore.multicriteria.S3437.resourceKey>
70         <sonar.issue.ignore.multicriteria.S3437.ruleKey>squid:S3437</sonar.issue.ignore.multicriteria.S3437.ruleKey>
71         <!-- 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 -->
72         <sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey>src/main/java/**/*</sonar.issue.ignore.multicriteria.UndocumentedApi.resourceKey>
73         <sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey>squid:UndocumentedApi</sonar.issue.ignore.multicriteria.UndocumentedApi.ruleKey>
74         <sonar.jacoco.itReportPath>${project.testresult.directory}/coverage/jacoco/jacoco-it.exec</sonar.jacoco.itReportPath>
75         <sonar.jacoco.reportPath>${project.testresult.directory}/coverage/jacoco/jacoco.exec</sonar.jacoco.reportPath>
76         <sonar.java.codeCoveragePlugin>jacoco</sonar.java.codeCoveragePlugin>
77         <sonar.javascript.jstestdriver.reportsPath>${project.testresult.directory}/karma</sonar.javascript.jstestdriver.reportsPath>
78         <sonar.typescript.lcov.reportPaths>${project.testresult.directory}/coverage/report-lcov/lcov.info</sonar.typescript.lcov.reportPaths>
79         <sonar.sources>${project.basedir}/src/main/</sonar.sources>
80         <sonar.surefire.reportsPath>${project.testresult.directory}/surefire-reports</sonar.surefire.reportsPath>
81         <sonar.tests>${project.basedir}/src/test/</sonar.tests>
82
83         <apache.commons-codec.version>1.11</apache.commons-codec.version>
84         <springfox-swagger-ui.version>2.8.0</springfox-swagger-ui.version>
85
86     </properties>
87
88     <dependencyManagement>
89         <dependencies>
90             <dependency>
91                 <groupId>io.github.jhipster</groupId>
92                 <artifactId>jhipster-dependencies</artifactId>
93                 <version>${jhipster-dependencies.version}</version>
94                 <type>pom</type>
95                 <scope>import</scope>
96             </dependency>
97             <!-- jhipster-needle-maven-add-dependency-management -->
98         </dependencies>
99     </dependencyManagement>
100
101     <dependencies>
102         <dependency>
103             <groupId>io.github.jhipster</groupId>
104             <artifactId>jhipster</artifactId>
105         </dependency>
106         <dependency>
107             <groupId>io.dropwizard.metrics</groupId>
108             <artifactId>metrics-core</artifactId>
109         </dependency>
110         <dependency>
111             <groupId>io.dropwizard.metrics</groupId>
112             <artifactId>metrics-annotation</artifactId>
113         </dependency>
114         <dependency>
115             <groupId>io.dropwizard.metrics</groupId>
116             <artifactId>metrics-json</artifactId>
117         </dependency>
118         <dependency>
119             <groupId>io.dropwizard.metrics</groupId>
120             <artifactId>metrics-jvm</artifactId>
121         </dependency>
122         <dependency>
123             <groupId>io.dropwizard.metrics</groupId>
124             <artifactId>metrics-servlet</artifactId>
125         </dependency>
126         <dependency>
127             <groupId>io.dropwizard.metrics</groupId>
128             <artifactId>metrics-servlets</artifactId>
129         </dependency>
130         <dependency>
131             <groupId>com.fasterxml.jackson.datatype</groupId>
132             <artifactId>jackson-datatype-hibernate5</artifactId>
133         </dependency>
134         <dependency>
135             <groupId>com.fasterxml.jackson.datatype</groupId>
136             <artifactId>jackson-datatype-hppc</artifactId>
137         </dependency>
138         <dependency>
139             <groupId>com.fasterxml.jackson.datatype</groupId>
140             <artifactId>jackson-datatype-jsr310</artifactId>
141         </dependency>
142         <dependency>
143             <groupId>com.fasterxml.jackson.datatype</groupId>
144             <artifactId>jackson-datatype-json-org</artifactId>
145         </dependency>
146         <dependency>
147             <groupId>com.fasterxml.jackson.module</groupId>
148             <artifactId>jackson-module-afterburner</artifactId>
149         </dependency>
150         <dependency>
151             <groupId>com.h2database</groupId>
152             <artifactId>h2</artifactId>
153             <scope>test</scope>
154         </dependency>
155         <dependency>
156             <groupId>com.jayway.jsonpath</groupId>
157             <artifactId>json-path</artifactId>
158             <scope>test</scope>
159             <!-- parent POM declares this dependency in default (compile) scope -->
160         </dependency>
161         <dependency>
162             <groupId>io.springfox</groupId>
163             <artifactId>springfox-swagger2</artifactId>
164         </dependency>
165         <dependency>
166             <groupId>io.springfox</groupId>
167             <artifactId>springfox-bean-validators</artifactId>
168         </dependency>
169         <dependency>
170             <groupId>io.springfox</groupId>
171             <artifactId>springfox-swagger-ui</artifactId>
172             <version>${springfox-swagger-ui.version}</version>
173         </dependency>
174         <dependency>
175             <groupId>com.mattbertolini</groupId>
176             <artifactId>liquibase-slf4j</artifactId>
177         </dependency>
178         <dependency>
179             <groupId>com.ryantenney.metrics</groupId>
180             <artifactId>metrics-spring</artifactId>
181         </dependency>
182         <dependency>
183             <groupId>com.zaxxer</groupId>
184             <artifactId>HikariCP</artifactId>
185         </dependency>
186         <dependency>
187             <groupId>commons-io</groupId>
188             <artifactId>commons-io</artifactId>
189         </dependency>
190         <dependency>
191             <groupId>org.apache.commons</groupId>
192             <artifactId>commons-lang3</artifactId>
193         </dependency>
194         <dependency>
195             <groupId>org.assertj</groupId>
196             <artifactId>assertj-core</artifactId>
197             <scope>test</scope>
198         </dependency>
199         <dependency>
200             <groupId>org.hibernate</groupId>
201             <artifactId>hibernate-envers</artifactId>
202         </dependency>
203         <dependency>
204             <groupId>org.hibernate</groupId>
205             <artifactId>hibernate-validator</artifactId>
206         </dependency>
207         <dependency>
208             <groupId>org.liquibase</groupId>
209             <artifactId>liquibase-core</artifactId>
210         </dependency>
211         <dependency>
212             <groupId>net.logstash.logback</groupId>
213             <artifactId>logstash-logback-encoder</artifactId>
214         </dependency>
215         <dependency>
216             <groupId>org.postgresql</groupId>
217             <artifactId>postgresql</artifactId>
218         </dependency>
219         <dependency>
220             <groupId>org.mapstruct</groupId>
221             <artifactId>mapstruct-jdk8</artifactId>
222             <version>${mapstruct.version}</version>
223         </dependency>
224         <dependency>
225             <groupId>org.springframework</groupId>
226             <artifactId>spring-context-support</artifactId>
227         </dependency>
228         <dependency>
229             <groupId>org.springframework.boot</groupId>
230             <artifactId>spring-boot-actuator</artifactId>
231         </dependency>
232         <dependency>
233             <groupId>org.springframework.boot</groupId>
234             <artifactId>spring-boot-autoconfigure</artifactId>
235         </dependency>
236         <dependency>
237             <groupId>org.springframework.boot</groupId>
238             <artifactId>spring-boot-configuration-processor</artifactId>
239             <optional>true</optional>
240         </dependency>
241         <dependency>
242             <groupId>org.springframework.boot</groupId>
243             <artifactId>spring-boot-loader-tools</artifactId>
244         </dependency>
245         <dependency>
246             <groupId>org.springframework.boot</groupId>
247             <artifactId>spring-boot-starter-aop</artifactId>
248         </dependency>
249         <dependency>
250             <groupId>org.springframework.boot</groupId>
251             <artifactId>spring-boot-starter-data-jpa</artifactId>
252         </dependency>
253         <dependency>
254             <groupId>org.springframework.boot</groupId>
255             <artifactId>spring-boot-starter-logging</artifactId>
256         </dependency>
257         <dependency>
258             <groupId>org.springframework.boot</groupId>
259             <artifactId>spring-boot-starter-mail</artifactId>
260         </dependency>
261         <dependency>
262             <groupId>org.springframework.boot</groupId>
263             <artifactId>spring-boot-starter-security</artifactId>
264         </dependency>
265         <dependency>
266             <groupId>org.springframework.boot</groupId>
267             <artifactId>spring-boot-starter-test</artifactId>
268             <scope>test</scope>
269         </dependency>
270         <dependency>
271             <groupId>org.springframework.security</groupId>
272             <artifactId>spring-security-test</artifactId>
273             <scope>test</scope>
274         </dependency>
275         <dependency>
276             <groupId>org.springframework.boot</groupId>
277             <artifactId>spring-boot-test</artifactId>
278             <scope>test</scope>
279         </dependency>
280         <dependency>
281             <groupId>org.springframework.boot</groupId>
282             <artifactId>spring-boot-starter-thymeleaf</artifactId>
283         </dependency>
284         <dependency>
285             <groupId>org.springframework.boot</groupId>
286             <artifactId>spring-boot-starter-web</artifactId>
287         </dependency>
288         <dependency>
289             <groupId>org.zalando</groupId>
290             <artifactId>problem-spring-web</artifactId>
291         </dependency>
292         <dependency>
293             <groupId>io.jsonwebtoken</groupId>
294             <artifactId>jjwt</artifactId>
295         </dependency>
296         <!-- Spring Cloud -->
297         <dependency>
298             <groupId>org.springframework.cloud</groupId>
299             <artifactId>spring-cloud-starter</artifactId>
300         </dependency>
301         <dependency>
302             <groupId>org.springframework.cloud</groupId>
303             <artifactId>spring-cloud-starter-ribbon</artifactId>
304         </dependency>
305         <dependency>
306             <groupId>org.springframework.cloud</groupId>
307             <artifactId>spring-cloud-starter-hystrix</artifactId>
308         </dependency>
309         <dependency>
310             <groupId>org.springframework.cloud</groupId>
311             <artifactId>spring-cloud-starter-spectator</artifactId>
312         </dependency>
313         <dependency>
314             <groupId>org.springframework.retry</groupId>
315             <artifactId>spring-retry</artifactId>
316         </dependency>
317         <dependency>
318             <groupId>org.springframework.cloud</groupId>
319             <artifactId>spring-cloud-starter-feign</artifactId>
320         </dependency>
321         <dependency>
322             <groupId>org.springframework.cloud</groupId>
323             <artifactId>spring-cloud-spring-service-connector</artifactId>
324         </dependency>
325         <!-- Security -->
326         <dependency>
327             <groupId>org.springframework.security</groupId>
328             <artifactId>spring-security-data</artifactId>
329         </dependency>
330         <!-- jhipster-needle-maven-add-dependency -->
331
332         <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
333         <dependency>
334             <groupId>commons-codec</groupId>
335             <artifactId>commons-codec</artifactId>
336             <version>${apache.commons-codec.version}</version>
337         </dependency>
338
339     </dependencies>
340
341     <build>
342         <defaultGoal>spring-boot:run</defaultGoal>
343         <plugins>
344             <plugin>
345                 <groupId>org.apache.maven.plugins</groupId>
346                 <artifactId>maven-compiler-plugin</artifactId>
347                 <version>${maven-compiler-plugin.version}</version>
348                 <configuration>
349                     <annotationProcessorPaths>
350                         <path>
351                             <groupId>org.mapstruct</groupId>
352                             <artifactId>mapstruct-processor</artifactId>
353                             <version>${mapstruct.version}</version>
354                         </path>
355                         <!-- For JPA static metamodel generation -->
356                         <path>
357                             <groupId>org.hibernate</groupId>
358                             <artifactId>hibernate-jpamodelgen</artifactId>
359                             <version>${hibernate.version}</version>
360                         </path>
361
362                     </annotationProcessorPaths>
363                 </configuration>
364             </plugin>
365             <plugin>
366                 <groupId>org.apache.maven.plugins</groupId>
367                 <artifactId>maven-eclipse-plugin</artifactId>
368                 <version>${maven-eclipse-plugin.version}</version>
369                 <configuration>
370                     <downloadSources>true</downloadSources>
371                     <downloadJavadocs>true</downloadJavadocs>
372                 </configuration>
373             </plugin>
374             <plugin>
375                 <groupId>org.apache.maven.plugins</groupId>
376                 <artifactId>maven-enforcer-plugin</artifactId>
377                 <version>${maven-enforcer-plugin.version}</version>
378                 <executions>
379                     <execution>
380                         <id>enforce-versions</id>
381                         <goals>
382                             <goal>enforce</goal>
383                         </goals>
384                     </execution>
385                 </executions>
386                 <configuration>
387                     <rules>
388                         <requireMavenVersion>
389                             <message>You are running an older version of Maven. JHipster requires at least Maven ${maven.version}</message>
390                             <version>[${maven.version},)</version>
391                         </requireMavenVersion>
392                         <requireJavaVersion>
393                             <!-- Until JHipster supports JDK 9 -->
394                             <message>You are running an incompatible version of Java. JHipster requires JDK ${java.version}</message>
395                             <version>[1.8,1.9)</version>
396                         </requireJavaVersion>
397                     </rules>
398                 </configuration>
399             </plugin>
400             <plugin>
401                 <groupId>org.apache.maven.plugins</groupId>
402                 <artifactId>maven-resources-plugin</artifactId>
403                 <version>${maven-resources-plugin.version}</version>
404                 <executions>
405                     <execution>
406                         <id>default-resources</id>
407                         <phase>validate</phase>
408                         <goals>
409                             <goal>copy-resources</goal>
410                         </goals>
411                         <configuration>
412                             <outputDirectory>target/classes</outputDirectory>
413                             <useDefaultDelimiters>false</useDefaultDelimiters>
414                             <delimiters>
415                                 <delimiter>#</delimiter>
416                             </delimiters>
417                             <resources>
418                                 <resource>
419                                     <directory>src/main/resources/</directory>
420                                     <filtering>true</filtering>
421                                     <includes>
422                                         <include>config/*.yml</include>
423                                     </includes>
424                                 </resource>
425                                 <resource>
426                                     <directory>src/main/resources/</directory>
427                                     <filtering>false</filtering>
428                                     <excludes>
429                                         <exclude>config/*.yml</exclude>
430                                     </excludes>
431                                 </resource>
432                             </resources>
433                         </configuration>
434                     </execution>
435                     <execution>
436                         <id>docker-resources</id>
437                         <phase>validate</phase>
438                         <goals>
439                             <goal>copy-resources</goal>
440                         </goals>
441                         <configuration>
442                             <outputDirectory>target/</outputDirectory>
443                             <resources>
444                                 <resource>
445                                     <directory>src/main/docker/</directory>
446                                     <filtering>false</filtering>
447                                     <excludes>
448                                         <exclude>**/*.yml</exclude>
449                                     </excludes>
450                                 </resource>
451                             </resources>
452                         </configuration>
453                     </execution>
454                 </executions>
455             </plugin>
456             <plugin>
457                 <groupId>org.apache.maven.plugins</groupId>
458                 <artifactId>maven-surefire-plugin</artifactId>
459                 <version>${maven-surefire-plugin.version}</version>
460                 <configuration>
461                     <!-- Force alphabetical order to have a reproducible build -->
462                     <runOrder>alphabetical</runOrder>
463                 </configuration>
464             </plugin>
465             <plugin>
466                 <groupId>org.jacoco</groupId>
467                 <artifactId>jacoco-maven-plugin</artifactId>
468                 <version>${jacoco-maven-plugin.version}</version>
469                 <executions>
470                     <execution>
471                         <id>pre-unit-tests</id>
472                         <goals>
473                             <goal>prepare-agent</goal>
474                         </goals>
475                         <configuration>
476                             <!-- Sets the path to the file which contains the execution data. -->
477                             <destFile>${project.testresult.directory}/coverage/jacoco/jacoco.exec</destFile>
478                         </configuration>
479                     </execution>
480                     <!-- Ensures that the code coverage report for unit tests is created after unit tests have been run -->
481                     <execution>
482                         <id>post-unit-test</id>
483                         <phase>test</phase>
484                         <goals>
485                             <goal>report</goal>
486                         </goals>
487                         <configuration>
488                             <dataFile>${project.testresult.directory}/coverage/jacoco/jacoco.exec</dataFile>
489                             <outputDirectory>${project.testresult.directory}/coverage/jacoco</outputDirectory>
490                         </configuration>
491                     </execution>
492                 </executions>
493             </plugin>
494             <plugin>
495                 <groupId>org.sonarsource.scanner.maven</groupId>
496                 <artifactId>sonar-maven-plugin</artifactId>
497                 <version>${sonar-maven-plugin.version}</version>
498             </plugin>
499             <plugin>
500                 <groupId>org.liquibase</groupId>
501                 <artifactId>liquibase-maven-plugin</artifactId>
502                 <version>${liquibase.version}</version>
503                 <configuration>
504                     <changeLogFile>src/main/resources/config/liquibase/master.xml</changeLogFile>
505                     <diffChangeLogFile>src/main/resources/config/liquibase/changelog/${maven.build.timestamp}_changelog.xml</diffChangeLogFile>
506                     <driver></driver>
507                     <url></url>
508                     <defaultSchemaName></defaultSchemaName>
509                     <username>samserver</username>
510                     <password></password>
511                     <referenceUrl>hibernate:spring:com.samsung.samserver.domain?dialect=&amp;hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&amp;hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy</referenceUrl>
512                     <verbose>true</verbose>
513                     <logging>debug</logging>
514                 </configuration>
515                 <dependencies>
516                     <dependency>
517                         <groupId>org.javassist</groupId>
518                         <artifactId>javassist</artifactId>
519                         <version>${javassist.version}</version>
520                     </dependency>
521                     <dependency>
522                         <groupId>org.liquibase.ext</groupId>
523                         <artifactId>liquibase-hibernate5</artifactId>
524                         <version>${liquibase-hibernate5.version}</version>
525                     </dependency>
526                     <dependency>
527                         <groupId>org.springframework.boot</groupId>
528                         <artifactId>spring-boot-starter-data-jpa</artifactId>
529                         <version>${spring-boot.version}</version>
530                     </dependency>
531                     <dependency>
532                         <groupId>javax.validation</groupId>
533                         <artifactId>validation-api</artifactId>
534                         <version>${validation-api.version}</version>
535                     </dependency>
536                 </dependencies>
537             </plugin>
538             <plugin>
539                 <groupId>org.springframework.boot</groupId>
540                 <artifactId>spring-boot-maven-plugin</artifactId>
541                 <version>${spring-boot.version}</version>
542                 <executions>
543                     <execution>
544                         <goals>
545                             <goal>repackage</goal>
546                         </goals>
547                     </execution>
548                 </executions>
549                 <configuration>
550                     <mainClass>${start-class}</mainClass>
551                     <executable>true</executable>
552                     <fork>true</fork>
553                     <!--
554                     Enable the line below to have remote debugging of your application on port 5005
555                     <jvmArguments>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments>
556                     -->
557                 </configuration>
558             </plugin>
559             <plugin>
560                 <groupId>com.spotify</groupId>
561                 <artifactId>dockerfile-maven-plugin</artifactId>
562                 <version>${dockerfile-maven-plugin.version}</version>
563                 <!--
564                 Uncomment the section below to build the docker image with mvn package and and push it with mvn deploy
565                 <executions>
566                     <execution>
567                     <id>default</id>
568                     <goals>
569                         <goal>build</goal>
570                         <goal>push</goal>
571                     </goals>
572                     </execution>
573                 </executions>
574                 -->
575                 <configuration>
576                     <repository>samserver</repository>
577                     <tag>latest</tag>
578                     <contextDirectory>${project.build.directory}</contextDirectory>
579                 </configuration>
580             </plugin>
581             <!-- jhipster-needle-maven-add-plugin -->
582         </plugins>
583         <pluginManagement>
584             <plugins>
585                 <!--
586                     This plugin's configuration is used to store Eclipse m2e settings only.
587                     It has no influence on the Maven build itself.
588                     Remove when the m2e plugin can correctly bind to Maven lifecycle
589                 -->
590                 <plugin>
591                     <groupId>org.eclipse.m2e</groupId>
592                     <artifactId>lifecycle-mapping</artifactId>
593                     <version>1.0.0</version>
594                     <configuration>
595                         <lifecycleMappingMetadata>
596                             <pluginExecutions>
597                                 <pluginExecution>
598                                     <pluginExecutionFilter>
599                                         <groupId>org.jacoco</groupId>
600                                         <artifactId>
601                                             jacoco-maven-plugin
602                                         </artifactId>
603                                         <versionRange>
604                                             ${jacoco-maven-plugin.version}
605                                         </versionRange>
606                                         <goals>
607                                             <goal>prepare-agent</goal>
608                                         </goals>
609                                     </pluginExecutionFilter>
610                                     <action>
611                                         <ignore/>
612                                     </action>
613                                 </pluginExecution>
614                             </pluginExecutions>
615                         </lifecycleMappingMetadata>
616                     </configuration>
617                 </plugin>
618             </plugins>
619         </pluginManagement>
620     </build>
621     <profiles>
622         <profile>
623             <id>no-liquibase</id>
624             <properties>
625                 <profile.no-liquibase>,no-liquibase</profile.no-liquibase>
626             </properties>
627         </profile>
628         <profile>
629             <id>swagger</id>
630             <properties>
631                 <profile.swagger>,swagger</profile.swagger>
632             </properties>
633         </profile>
634         <profile>
635             <id>dev</id>
636             <activation>
637                 <activeByDefault>true</activeByDefault>
638             </activation>
639             <dependencies>
640                 <dependency>
641                     <groupId>org.springframework.boot</groupId>
642                     <artifactId>spring-boot-starter-undertow</artifactId>
643                 </dependency>
644                 <dependency>
645                     <groupId>org.springframework.boot</groupId>
646                     <artifactId>spring-boot-devtools</artifactId>
647                     <optional>true</optional>
648                 </dependency>
649                 <dependency>
650                     <groupId>com.h2database</groupId>
651                     <artifactId>h2</artifactId>
652                 </dependency>
653             </dependencies>
654             <build>
655                 <plugins>
656                     <plugin>
657                         <groupId>org.apache.maven.plugins</groupId>
658                         <artifactId>maven-war-plugin</artifactId>
659                         <version>${maven-war-plugin.version}</version>
660                         <configuration>
661                             <failOnMissingWebXml>false</failOnMissingWebXml>
662                         </configuration>
663                     </plugin>
664                 </plugins>
665             </build>
666             <properties>
667                 <!-- default Spring profiles -->
668                 <spring.profiles.active>dev${profile.no-liquibase}</spring.profiles.active>
669             </properties>
670         </profile>
671         <profile>
672             <id>prod</id>
673             <dependencies>
674                 <dependency>
675                     <groupId>org.springframework.boot</groupId>
676                     <artifactId>spring-boot-starter-undertow</artifactId>
677                 </dependency>
678             </dependencies>
679             <build>
680                 <plugins>
681                     <plugin>
682                         <artifactId>maven-clean-plugin</artifactId>
683                         <version>${maven-clean-plugin.version}</version>
684                         <configuration>
685                             <filesets>
686                                 <fileset>
687                                     <directory>target/www/</directory>
688                                 </fileset>
689                             </filesets>
690                         </configuration>
691                     </plugin>
692                     <plugin>
693                         <groupId>org.apache.maven.plugins</groupId>
694                         <artifactId>maven-war-plugin</artifactId>
695                         <version>${maven-war-plugin.version}</version>
696                         <configuration>
697                             <failOnMissingWebXml>false</failOnMissingWebXml>
698                         </configuration>
699                     </plugin>
700                     <plugin>
701                         <groupId>org.springframework.boot</groupId>
702                         <artifactId>spring-boot-maven-plugin</artifactId>
703                         <version>${spring-boot.version}</version>
704                         <configuration>
705                             <mainClass>${start-class}</mainClass>
706                             <executable>true</executable>
707                         </configuration>
708                         <executions>
709                             <execution>
710                                 <goals>
711                                     <goal>build-info</goal>
712                                 </goals>
713                             </execution>
714                         </executions>
715                     </plugin>
716                     <plugin>
717                         <groupId>pl.project13.maven</groupId>
718                         <artifactId>git-commit-id-plugin</artifactId>
719                         <version>2.2.4</version>
720                             <executions>
721                                 <execution>
722                                     <goals>
723                                         <goal>revision</goal>
724                                     </goals>
725                                 </execution>
726                             </executions>
727                             <configuration>
728                                 <failOnNoGitDirectory>false</failOnNoGitDirectory>
729                                 <generateGitPropertiesFile>true</generateGitPropertiesFile>
730                                 <includeOnlyProperties>
731                                     <includeOnlyProperty>^git.commit.id.abbrev$</includeOnlyProperty>
732                                     <includeOnlyProperty>^git.commit.id.describe$</includeOnlyProperty>
733                                     <includeOnlyProperty>^git.branch$</includeOnlyProperty>
734                                 </includeOnlyProperties>
735                         </configuration>
736                     </plugin>
737                 </plugins>
738             </build>
739             <properties>
740                 <!-- default Spring profiles -->
741                 <spring.profiles.active>prod${profile.swagger}${profile.no-liquibase}</spring.profiles.active>
742             </properties>
743         </profile>
744         <profile>
745             <!--
746                 Profile for doing "continuous compilation" with the Scala Maven plugin.
747                 It allows automatic compilation of Java classes as soon as they are saved.
748                 To use it, run in 3 terminals:
749                 - './mvnw -Pcc scala:cc' for continuous compilation of your classes
750                 - './mvnw -Pcc' for hot reload of Spring boot
751                 - 'npm start/yarn start' for hot reload of the HTML/JavaScript asset
752                 Everything should hot reload automatically!
753             -->
754             <id>cc</id>
755             <dependencies>
756                 <dependency>
757                     <groupId>org.springframework.boot</groupId>
758                     <artifactId>spring-boot-starter-undertow</artifactId>
759                 </dependency>
760                 <dependency>
761                     <groupId>org.springframework.boot</groupId>
762                     <artifactId>spring-boot-devtools</artifactId>
763                     <optional>true</optional>
764                 </dependency>
765             </dependencies>
766             <build>
767                 <plugins>
768                     <plugin>
769                         <groupId>org.apache.maven.plugins</groupId>
770                         <artifactId>maven-war-plugin</artifactId>
771                         <version>${maven-war-plugin.version}</version>
772                         <configuration>
773                             <failOnMissingWebXml>false</failOnMissingWebXml>
774                             <warSourceDirectory>src/main/webapp/</warSourceDirectory>
775                         </configuration>
776                     </plugin>
777                     <plugin>
778                         <groupId>org.springframework.boot</groupId>
779                         <artifactId>spring-boot-maven-plugin</artifactId>
780                         <version>${spring-boot.version}</version>
781                         <configuration>
782                             <mainClass>${start-class}</mainClass>
783                             <executable>true</executable>
784                             <fork>true</fork>
785                             <addResources>true</addResources>
786                             <!--
787                             Enable the line below to have remote debugging of your application on port 5005
788                             <jvmArguments>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005</jvmArguments>
789                             -->
790                         </configuration>
791                     </plugin>
792                     <plugin>
793                         <groupId>org.apache.maven.plugins</groupId>
794                         <artifactId>maven-compiler-plugin</artifactId>
795                         <version>${maven-compiler-plugin.version}</version>
796                         <executions>
797                             <execution>
798                                 <id>default-compile</id>
799                                 <phase>none</phase>
800                             </execution>
801                             <execution>
802                                 <id>default-testCompile</id>
803                                 <phase>none</phase>
804                             </execution>
805                         </executions>
806                     </plugin>
807                     <plugin>
808                         <groupId>net.alchim31.maven</groupId>
809                         <artifactId>scala-maven-plugin</artifactId>
810                         <version>${scala-maven-plugin.version}</version>
811                         <executions>
812                             <execution>
813                                 <id>compile</id>
814                                 <phase>compile</phase>
815                                 <goals>
816                                     <goal>add-source</goal>
817                                     <goal>compile</goal>
818                                 </goals>
819                             </execution>
820                             <execution>
821                                 <id>test-compile</id>
822                                 <phase>test-compile</phase>
823                                 <goals>
824                                     <goal>add-source</goal>
825                                     <goal>testCompile</goal>
826                                 </goals>
827                             </execution>
828                         </executions>
829                         <configuration>
830                             <recompileMode>incremental</recompileMode>
831                             <verbose>true</verbose>
832                             <scalaVersion>${scala.version}</scalaVersion>
833                         </configuration>
834                     </plugin>
835                 </plugins>
836             </build>
837             <properties>
838                 <!-- default Spring profiles -->
839                 <spring.profiles.active>dev,swagger</spring.profiles.active>
840             </properties>
841         </profile>
842         <profile>
843             <!--
844                 Profile for monitoring the application with Graphite.
845             -->
846             <id>graphite</id>
847             <dependencies>
848                 <dependency>
849                     <groupId>io.dropwizard.metrics</groupId>
850                     <artifactId>metrics-graphite</artifactId>
851                 </dependency>
852             </dependencies>
853         </profile>
854         <profile>
855             <!--
856                 Profile for monitoring the application with Prometheus.
857             -->
858             <id>prometheus</id>
859             <dependencies>
860                 <dependency>
861                     <groupId>io.prometheus</groupId>
862                     <artifactId>simpleclient</artifactId>
863                 </dependency>
864                 <dependency>
865                     <groupId>io.prometheus</groupId>
866                     <artifactId>simpleclient_servlet</artifactId>
867                 </dependency>
868                 <dependency>
869                     <groupId>io.prometheus</groupId>
870                     <artifactId>simpleclient_dropwizard</artifactId>
871                 </dependency>
872             </dependencies>
873         </profile>
874         <profile>
875             <!--
876                 Profile for tracing requests with Zipkin.
877             -->
878             <id>zipkin</id>
879             <dependencies>
880                 <dependency>
881                     <groupId>org.springframework.cloud</groupId>
882                     <artifactId>spring-cloud-starter-zipkin</artifactId>
883                 </dependency>
884             </dependencies>
885         </profile>
886         <profile>
887             <!--
888                 Profile for applying IDE-specific configuration.
889                 At the moment it only configures MapStruct, which you need when working
890                 with DTOs.
891             -->
892             <id>IDE</id>
893             <dependencies>
894                 <dependency>
895                     <groupId>org.mapstruct</groupId>
896                     <artifactId>mapstruct-processor</artifactId>
897                     <version>${mapstruct.version}</version>
898                 </dependency>
899             </dependencies>
900         </profile>
901         <!-- jhipster-needle-maven-add-profile -->
902     </profiles>
903 </project>