Created
July 22, 2020 12:13
-
-
Save urbontaitis/74f9731121b93200ac2ba9122a507fd6 to your computer and use it in GitHub Desktop.
SpringBoot + Spock + Code formatter + Code coverage check
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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.3.1.RELEASE</version> | |
<relativePath/> <!-- lookup parent from repository --> | |
</parent> | |
<groupId>com.example</groupId> | |
<artifactId>video.rental</artifactId> | |
<version>0.0.1-SNAPSHOT</version> | |
<name>video-rental</name> | |
<description>Video rental store API</description> | |
<properties> | |
<java.version>11</java.version> | |
<checkstyle.version>8.28</checkstyle.version> | |
<googleformatter-maven-plugin.version>1.7.4</googleformatter-maven-plugin.version> | |
<gmavenplus-plugin.version>1.8.1</gmavenplus-plugin.version> | |
<jacoco-maven-plugin.version>0.8.5</jacoco-maven-plugin.version> | |
<maven-checkstyle-plugin.version>3.1.0</maven-checkstyle-plugin.version> | |
<maven-pmd-plugin.version>3.12.0</maven-pmd-plugin.version> | |
</properties> | |
<dependencies> | |
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-actuator</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-security</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-web</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.flywaydb</groupId> | |
<artifactId>flyway-core</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>com.h2database</groupId> | |
<artifactId>h2</artifactId> | |
<scope>runtime</scope> | |
</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>org.springframework.security</groupId> | |
<artifactId>spring-security-test</artifactId> | |
<scope>test</scope> | |
</dependency> | |
</dependencies> | |
<build> | |
<finalName>app</finalName> | |
<plugins> | |
<plugin> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-maven-plugin</artifactId> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-checkstyle-plugin</artifactId> | |
<version>${maven-checkstyle-plugin.version}</version> | |
<executions> | |
<execution> | |
<id>validate</id> | |
<phase>validate</phase> | |
<configuration> | |
<configLocation>google_checks.xml</configLocation> | |
<encoding>UTF-8</encoding> | |
<consoleOutput>true</consoleOutput> | |
<failsOnError>true</failsOnError> | |
</configuration> | |
<goals> | |
<goal>check</goal> | |
</goals> | |
</execution> | |
</executions> | |
<dependencies> | |
<dependency> | |
<groupId>com.puppycrawl.tools</groupId> | |
<artifactId>checkstyle</artifactId> | |
<version>${checkstyle.version}</version> | |
</dependency> | |
</dependencies> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-pmd-plugin</artifactId> | |
<version>${maven-pmd-plugin.version}</version> | |
<executions> | |
<execution> | |
<id>pmd</id> | |
<goals> | |
<goal>check</goal> | |
</goals> | |
</execution> | |
<execution> | |
<id>cpd</id> | |
<goals> | |
<goal>cpd-check</goal> | |
</goals> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.jacoco</groupId> | |
<artifactId>jacoco-maven-plugin</artifactId> | |
<version>${jacoco-maven-plugin.version}</version> | |
<configuration> | |
<excludes> | |
<exclude>**/generated/**</exclude> | |
</excludes> | |
</configuration> | |
<executions> | |
<execution> | |
<id>default-prepare-agent</id> | |
<goals> | |
<goal>prepare-agent</goal> | |
</goals> | |
</execution> | |
<execution> | |
<id>default-report</id> | |
<phase>prepare-package</phase> | |
<goals> | |
<goal>report</goal> | |
</goals> | |
</execution> | |
<execution> | |
<id>default-check</id> | |
<goals> | |
<goal>check</goal> | |
</goals> | |
<configuration> | |
<haltOnFailure>true</haltOnFailure> | |
<rules> | |
<rule> | |
<element>BUNDLE</element> | |
<limits> | |
<limit> | |
<counter>BRANCH</counter> | |
<value>COVEREDRATIO</value> | |
<minimum>80%</minimum> | |
</limit> | |
<limit> | |
<counter>LINE</counter> | |
<value>COVEREDRATIO</value> | |
<minimum>80%</minimum> | |
</limit> | |
</limits> | |
</rule> | |
</rules> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<groupId>org.codehaus.gmavenplus</groupId> | |
<artifactId>gmavenplus-plugin</artifactId> | |
<version>${gmavenplus-plugin.version}</version> | |
<executions> | |
<execution> | |
<goals> | |
<goal>compile</goal> | |
<goal>compileTests</goal> | |
<goal>addTestSources</goal> | |
</goals> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<artifactId>maven-surefire-plugin</artifactId> | |
<configuration> | |
<useFile>false</useFile> | |
<includes> | |
<include>**/*Spec.groovy</include> | |
<include>**/*Test.java</include> | |
</includes> | |
</configuration> | |
</plugin> | |
<plugin> | |
<groupId>com.theoryinpractise</groupId> | |
<artifactId>googleformatter-maven-plugin</artifactId> | |
<version>${googleformatter-maven-plugin.version}</version> | |
<executions> | |
<execution> | |
<id>reformat-sources</id> | |
<configuration> | |
<includeStale>false</includeStale> | |
<style>GOOGLE</style> | |
<filterModified>false</filterModified> | |
<skip>false</skip> | |
<fixImports>false</fixImports> | |
</configuration> | |
<goals> | |
<goal>format</goal> | |
</goals> | |
<phase>process-sources</phase> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment