pom.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>3.1.8</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>ar.com.nanotaboada</groupId>
<artifactId>java.samples.spring.boot</artifactId>
<version>3.2.2024</version>
<name>java.samples.spring.boot</name>
<description>PoC for a REST API made with Spring Boot using Initializr</description>
<properties>
<java.version>21</java.version>
</properties>
<!--
Dependencies
________________________________________________________________________________
-->
<dependencies>
<!--
Spring Boot Starter Web
Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat
as the default embedded container.
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.3.4</version>
</dependency>
<!--
Spring Boot Starter Data JPA
Starter for using Spring Data JPA with Hibernate
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>3.3.1</version>
</dependency>
<!--
H2 Database Engine
Provides a fast in-memory database that supports JDBC API and R2DBC access, with a small
(2mb) footprint. Supports embedded and server modes as well as a browser based console
application.
https://mvnrepository.com/artifact/com.h2database/h2
-->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.3.232</version>
<scope>runtime</scope>
</dependency>
<!--
Spring Boot Starter Validation
Starter for using Java Bean Validation with Hibernate Validator
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>3.3.1</version>
</dependency>
<!--
ModelMapper
Simple, Intelligent, Object Mapping.
https://mvnrepository.com/artifact/org.modelmapper/modelmapper
-->
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>3.2.1</version>
</dependency>
<!--
Spring Boot Starter Security
Starter for using Spring Security.
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security
-->
<!--
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
-->
<!--
Spring Security Test
Spring Security
https://mvnrepository.com/artifact/org.springframework.security/spring-security-test
-->
<!--
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
-->
<!--
Spring Boot Starter Test
Starter for testing Spring Boot applications with libraries including JUnit Jupiter,
Hamcrest and Mockito.
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>3.2.3</version>
<scope>test</scope>
</dependency>
<!--
AssertJ Fluent Assertions
Rich and fluent assertions for testing for Java
https://mvnrepository.com/artifact/org.assertj/assertj-core
-->
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.26.3</version>
<scope>test</scope>
</dependency>
<!--
SpringDoc OpenAPI Starter WebMVC UI
https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webmvc-ui
-->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.6.0</version>
</dependency>
<!--
Spring Boot Starter Actuator
Starter for using Spring Boot's Actuator which provides production ready features to
help you monitor and manage your application
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-actuator
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>3.3.1</version>
</dependency>
<!--
CVE-2022-1471
-->
<!--
SnakeYAML
YAML 1.1 parser and emitter for Java
https://mvnrepository.com/artifact/org.yaml/snakeyaml
-->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>2.3</version>
</dependency>
<!--
Spring Boot Starter Cache
Starter for using Spring Framework's caching support
https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-cache
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
<version>3.3.1</version>
</dependency>
<!--
Project Lombok
Lombok is a Java library that provides annotations to simplify Java development by automating the generation of
boilerplate code. Key features include automatic generation of getters, setters, equals, hashCode, and toString
methods, as well as a facility for automatic resource management. It aims to reduce the amount of manual coding,
thereby streamlining the codebase and reducing potential for errors.
https://mvnrepository.com/artifact/org.projectlombok/lombok
-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.34</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<!--
Plugins
________________________________________________________________________________
-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--
JaCoCo :: Maven Plugin
The JaCoCo Maven Plugin provides the JaCoCo runtime agent to your tests and allows
basic report creation.
https://mvnrepository.com/artifact/org.jacoco/jacoco-maven-plugin
-->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.12</version>
<configuration>
<!-- https://www.eclemma.org/jacoco/trunk/doc/report-mojo.html#excludes -->
<excludes>
<exclude>ar/com/nanotaboada/**/Application.class</exclude>
<exclude>ar/com/nanotaboada/**/models/*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<releases>
<enabled>false</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</project>