321 lines
9.0 KiB
XML
321 lines
9.0 KiB
XML
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-parent</artifactId>
|
|
<version>2.2.6.RELEASE</version>
|
|
<relativePath/>
|
|
</parent>
|
|
|
|
<groupId>io.wkrzywiec.hexagonal</groupId>
|
|
<artifactId>library-hexagonal</artifactId>
|
|
<version>0.0.1-SNAPSHOT</version>
|
|
<name>library-hexagonal</name>
|
|
<description>An example application written in Hexagonal (Ports and Adapter) architecture</description>
|
|
|
|
<properties>
|
|
<java.version>11</java.version>
|
|
<surefire.and.failsafe.report.dir>target/test-report</surefire.and.failsafe.report.dir>
|
|
<code.coverage.exclusions>
|
|
**/io/wkrzywiec/hexagonal/library/domain/borrowing/core/model/**,
|
|
**/io/wkrzywiec/hexagonal/library/domain/email/core/model/**,
|
|
**/io/wkrzywiec/hexagonal/library/domain/inventory/core/model/**,
|
|
**/io/wkrzywiec/hexagonal/library/domain/user/core/model/**,
|
|
**/io/wkrzywiec/hexagonal/library/**/*Entity.java,
|
|
**/io/wkrzywiec/hexagonal/library/LibraryHexagonalApplication.java
|
|
</code.coverage.exclusions>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-actuator</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>1.18.12</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.code.gson</groupId>
|
|
<artifactId>gson</artifactId>
|
|
<version>2.8.6</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.module</groupId>
|
|
<artifactId>jackson-module-jaxb-annotations</artifactId>
|
|
<version>2.11.0</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.h2database</groupId>
|
|
<artifactId>h2</artifactId>
|
|
<scope>runtime</scope>
|
|
<version>1.4.200</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<version>42.2.12</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.liquibase</groupId>
|
|
<artifactId>liquibase-core</artifactId>
|
|
<version>3.9.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sendgrid</groupId>
|
|
<artifactId>sendgrid-java</artifactId>
|
|
<version>4.4.8</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springdoc</groupId>
|
|
<artifactId>springdoc-openapi-ui</artifactId>
|
|
<version>1.2.32</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.junit.vintage</groupId>
|
|
<artifactId>junit-vintage-engine</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.tngtech.archunit</groupId>
|
|
<artifactId>archunit-junit5</artifactId>
|
|
<version>0.13.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.rest-assured</groupId>
|
|
<artifactId>rest-assured</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-failsafe-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>integration-test</goal>
|
|
<goal>verify</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<reportsDirectory>${surefire.and.failsafe.report.dir}</reportsDirectory>
|
|
<includes>
|
|
<include>**/*ITCase.java</include>
|
|
<include>**/*ComponentTest.java</include>
|
|
</includes>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<reportsDirectory>${surefire.and.failsafe.report.dir}</reportsDirectory>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>0.8.5</version>
|
|
<executions>
|
|
<execution>
|
|
<id>pre-unit-test</id>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>unit-test-report</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${project.reporting.outputDirectory}/jacoco</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>pre-integration-test</id>
|
|
<phase>pre-integration-test</phase>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>integration-test-report</id>
|
|
<phase>post-integration-test</phase>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.openapitools</groupId>
|
|
<artifactId>openapi-generator-maven-plugin</artifactId>
|
|
<version>4.3.1</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>generate</goal>
|
|
</goals>
|
|
<configuration>
|
|
<inputSpec>${project.basedir}/src/main/resources/api/api-docs.yaml</inputSpec>
|
|
<generatorName>html</generatorName>
|
|
<configOptions>
|
|
<sourceFolder>src/gen/java/main</sourceFolder>
|
|
</configOptions>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>default</id>
|
|
<activation>
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
<properties>
|
|
<active-profiles>default</active-profiles>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>prod</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
</activation>
|
|
<properties>
|
|
<active-profiles>prod</active-profiles>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>local-postgres</id>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
</activation>
|
|
<properties>
|
|
<active-profiles>local-postgres</active-profiles>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>component-test</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>add-component-test-sources</id>
|
|
<phase>generate-test-sources</phase>
|
|
<goals>
|
|
<goal>add-test-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>src/component-test/java</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>add-component-test-resources</id>
|
|
<phase>generate-test-resources</phase>
|
|
<goals>
|
|
<goal>add-test-resource</goal>
|
|
</goals>
|
|
<configuration>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/component-test/resources</directory>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>sonar</id>
|
|
<properties>
|
|
<sonar.sources>.</sonar.sources>
|
|
<sonar.inclusions>src/main/java/**,src/main/resources/**</sonar.inclusions>
|
|
<sonar.exclusions>${code.coverage.exclusions}</sonar.exclusions>
|
|
<sonar.projectKey>wkrzywiec_library-hexagonal</sonar.projectKey>
|
|
<sonar.organization>wkrzywiec</sonar.organization>
|
|
<sonar.coverage.jacoco.xmlReportPaths>target/site/jacoco/jacoco.xml,target/site/jacoco-it/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
|
|
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
|
|
</properties>
|
|
<activation>
|
|
<activeByDefault>false</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.sonarsource.scanner.maven</groupId>
|
|
<artifactId>sonar-maven-plugin</artifactId>
|
|
<version>3.7.0.1746</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>sonar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<distributionManagement>
|
|
<repository>
|
|
<id>github</id>
|
|
<name>Library REST application (hexagonal)</name>
|
|
<url>https://maven.pkg.github.com/wkrzywiec/library-hexagonal</url>
|
|
</repository>
|
|
</distributionManagement>
|
|
</project>
|