archetype-resources.pom.xml Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spring-mvc-react-archetype
Show all versions of spring-mvc-react-archetype
A Maven Archetype for projects using Spring MVC, and React + Redux.
<?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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- ********************************************** --> <!-- ***************** PARENT POM ***************** --> <!-- ********************************************** --> <parent> <groupId>com.bernardomg.maven</groupId> <artifactId>base-pom</artifactId> <version>1.3.4</version> </parent> <!-- ********************************************** --> <!-- **************** PROJECT INFO **************** --> <!-- ********************************************** --> <groupId>${groupId}</groupId> <artifactId>${artifactId}</artifactId> <version>${version}</version> <packaging>war</packaging> <name>${projectName}</name> <description>${projectDescription}</description> <url>https://github.com/${repoUserId}/${artifactId}</url> <inceptionYear>${currentYear}</inceptionYear> <licenses> <license> <name>MIT License</name> <url>http://www.opensource.org/licenses/mit-license.php</url> <distribution>repo</distribution> </license> </licenses> <!-- ********************************************** --> <!-- ************ RESOURCES AND SERVICES ********** --> <!-- ********************************************** --> <scm> <connection>scm:git:https://github.com/${repoUserId}/${artifactId}.git</connection> <developerConnection>scm:git:https://github.com/${repoUserId}/${artifactId}.git</developerConnection> <tag>head</tag> <url>https://www.github.com/${repoUserId}/${artifactId}</url> </scm> <issueManagement> <system>GitHub</system> <url>https://www.github.com/${repoUserId}/${artifactId}/issues</url> </issueManagement> <ciManagement> <system>Github</system> <url>https://www.github.com/${repoUserId}/${artifactId}/actions</url> <notifiers /> </ciManagement> <distributionManagement> <repository> <uniqueVersion>false</uniqueVersion> <id>releases</id> <name>Releases Repository</name> <url>https://api.bintray.com/maven/${repoUserId}/maven/${artifactId}</url> </repository> <snapshotRepository> <uniqueVersion>false</uniqueVersion> <id>snapshots</id> <name>Snapshots Repository</name> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> <!-- ********************************************** --> <!-- ****************** PROFILES ****************** --> <!-- ********************************************** --> <profiles> <profile> <!-- Profile for the Eclipse Maven plugin --> <!-- Sets the POM so this plugin does not give the usual unregistered goals errors --> <!-- It will be activated automatically on Eclipse if this has the m2e plugin, by detecting the version property --> <id>eclipse-maven</id> <activation> <property> <name>m2e.version</name> </property> </activation> <build> <pluginManagement> <plugins> <plugin> <!-- m2e lifecycle mapping --> <!-- This is used to configure the Maven plugin for Eclipse. --> <!-- Among other things, it allows registering goals, which Eclipse would otherwise reject. --> <!-- It has no real effect on Maven. --> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>${plugin.lifecycle.version}</version> <configuration> <!-- Sample fix for plugin executions --> <!-- This is to be used in case a Maven plugins gives problems in Eclipse --> <!-- <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <versionRange>[0.5,)</versionRange> <goals> <goal>prepare-agent</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> --> <downloadSources>true</downloadSources> <downloadJavadocs>true</downloadJavadocs> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <!-- ============================================== --> <!-- ============= DATABASE PROFILES ============== --> <!-- ============================================== --> <profile> <!-- H2 database profile --> <!-- Prepares the project to make use of an H2 in-memory database --> <id>h2</id> <activation> <!-- Active by default so it can be installed by CI --> <activeByDefault>true</activeByDefault> </activation> <dependencies> <dependency> <!-- H2 database --> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>${h2.version}</version> </dependency> </dependencies> </profile> <profile> <!-- MySQL database profile --> <!-- Prepares the project to make use of a MySQL database --> <id>mysql</id> <activation> <property> <name>env.DATABASE_SYSTEM</name> <value>mysql</value> </property> </activation> <dependencies> <dependency> <!-- MySQL connector --> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> </dependencies> </profile> <profile> <!-- Postgres database profile --> <!-- Prepares the project to make use of a Postgres database --> <id>postgres</id> <activation> <property> <name>env.DATABASE_SYSTEM</name> <value>postgres</value> </property> </activation> <dependencies> <dependency> <!-- Postgres connector --> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>${postgresql.version}</version> </dependency> </dependencies> </profile> <!-- ============================================== --> <!-- ============ DEPLOYMENT PROFILES ============= --> <!-- ============================================== --> <profile> <!-- Release site deployment profile --> <!-- Sets the site repository to point to the releases repo --> <id>deployment-release</id> <activation> <!-- Active by default so the repository appears in the reports --> <activeByDefault>true</activeByDefault> </activation> <distributionManagement> <site> <id>site</id> <name>Project Documentation Site</name> <!-- The URL should be set externally --> <url>${site.release.url}</url> </site> </distributionManagement> </profile> <profile> <!-- Development site deployment profile --> <!-- Sets the site repository to point to the development repo --> <id>deployment-development</id> <distributionManagement> <site> <id>site-development</id> <name>Project Development Documentation Site</name> <!-- The URL should be set externally --> <url>${site.develop.url}</url> </site> </distributionManagement> </profile> <profile> <!-- Deployment profile --> <!-- Sets ups the environment for deployment --> <id>deployment</id> <properties> <!-- Tests are skipped --> <maven.test.skip>true</maven.test.skip> </properties> </profile> </profiles> <!-- ********************************************** --> <!-- *********** ORGANIZATION AND MEMBERS ********* --> <!-- ********************************************** --> <organization> <name>${developerName}</name> <url>${developerUrl}</url> </organization> <developers> <developer> <id>${developerId}</id> <name>${developerName}</name> <email>${developerMail}</email> <url>${developerUrl}</url> <organization>${developerName}</organization> <organizationUrl>${developerUrl}</organizationUrl> <roles> <role>Developer</role> </roles> <timezone>+1</timezone> <properties /> </developer> </developers> <!-- ********************************************** --> <!-- **************** PROPERTIES ****************** --> <!-- ********************************************** --> <properties> <!-- ============================================== --> <!-- =============== MAVEN VERSION ================ --> <!-- ============================================== --> <maven.version>3.5.0</maven.version> <!-- ============================================== --> <!-- ================ JAVA VERSION ================ --> <!-- ============================================== --> <java.version>1.8</java.version> <!-- ============================================== --> <!-- =============== MANIFEST DATA ================ --> <!-- ============================================== --> <manifest.name>com/bernardomg/jqassistant/test</manifest.name> <!-- ============================================== --> <!-- =============== TEMPLATE INFO ================ --> <!-- ============================================== --> <view.keywords>"keywords"</view.keywords> <site.url>https://application.com</site.url> <social.twitter>@BernardoMartG</social.twitter> <!-- ============================================== --> <!-- ============= NODE ENVIRONMENT =============== --> <!-- ============================================== --> <node.env.api>http://localhost:8080</node.env.api> <node.env.appVersion>v${project.version}</node.env.appVersion> <node.env.repoUrl>${project.scm.url}</node.env.repoUrl> <node.env.inputPath>./src/main/js/</node.env.inputPath> <node.env.outputPath>./target/classes/static/</node.env.outputPath> <node.env.modules>./node_modules</node.env.modules> <!-- ============================================== --> <!-- =========== DEPENDENCIES VERSIONS ============ --> <!-- ============================================== --> <aspectj.version>1.9.6</aspectj.version> <byteBuddy.version>1.10.13</byteBuddy.version> <classmate.version>1.5.1</classmate.version> <commons.logging.version>1.2</commons.logging.version> <glassfish.el>2.2</glassfish.el> <guava.version>29.0-jre</guava.version> <h2.version>1.4.200</h2.version> <hamcrest.version>2.2</hamcrest.version> <hibernate.validator.version>5.4.3.Final</hibernate.validator.version> <hibernate.version>5.4.21.Final</hibernate.version> <hikari.version>3.4.5</hikari.version> <itext.version>5.5.13.1</itext.version> <jackson.version>2.11.2</jackson.version> <javaee.api.version>2.2</javaee.api.version> <jsonpath.version>2.4.0</jsonpath.version> <junit.jupiter.version>5.6.2</junit.jupiter.version> <liquibase.version>3.10.2</liquibase.version> <log4j.version>2.13.3</log4j.version> <mockito.version>3.5.10</mockito.version> <mysql.version>5.1.39</mysql.version> <postgresql.version>42.1.4</postgresql.version> <servlet.version>4.0.1</servlet.version> <slf4j.version>1.7.30</slf4j.version> <snakeyaml.version>1.26</snakeyaml.version> <spring.boot.version>2.3.3.RELEASE</spring.boot.version> <spring.data.train.version>Neumann-SR3</spring.data.train.version> <spring.version>5.2.8.RELEASE</spring.version> <thymeleaf.version>3.0.11.RELEASE</thymeleaf.version> <webappRunner.version>8.5.30.0</webappRunner.version> <!-- ============================================== --> <!-- ============== PLUGINS VERSIONS ============== --> <!-- ============================================== --> <plugin.frontend.node.version>v12.3.1</plugin.frontend.node.version> <plugin.frontend.npm.version>6.9.0</plugin.frontend.npm.version> <plugin.frontend.version>1.10.0</plugin.frontend.version> <plugin.spring.boot.version>${spring.boot.version}</plugin.spring.boot.version> <!-- ============================================== --> <!-- ================= MAVEN SITE ================= --> <!-- ============================================== --> <site.skin.version>2.0.8</site.skin.version> </properties> <!-- ********************************************** --> <!-- *************** DEPENDENCIES ***************** --> <!-- ********************************************** --> <dependencyManagement> <dependencies> <dependency> <!-- Spring Framework BOM --> <groupId>org.springframework</groupId> <artifactId>spring-framework-bom</artifactId> <version>${spring.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <!-- Spring Data Train BOM --> <groupId>org.springframework.data</groupId> <artifactId>spring-data-releasetrain</artifactId> <version>${spring.data.train.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <!-- Jackson BOM --> <groupId>com.fasterxml.jackson</groupId> <artifactId>jackson-bom</artifactId> <version>${jackson.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <!-- JUnit BOM --> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>${junit.jupiter.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- ============================================== --> <!-- ================== SPRING ==================== --> <!-- ============================================== --> <dependency> <!-- Spring AOP --> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </dependency> <dependency> <!-- Spring beans --> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </dependency> <dependency> <!-- Spring context --> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <!-- Spring context support --> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> </dependency> <dependency> <!-- Spring Core --> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </dependency> <dependency> <!-- Spring Data JPA --> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> </dependency> <dependency> <!-- Spring JDBC --> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <!-- Spring OXM --> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> </dependency> <dependency> <!-- Spring transactions --> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> </dependency> <dependency> <!-- Spring Web --> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </dependency> <dependency> <!-- Spring Web MVC --> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </dependency> <dependency> <!-- Spring ORM --> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> </dependency> <!-- ============================================== --> <!-- =============== SPRING BOOT ================== --> <!-- ============================================== --> <dependency> <!-- Spring Boot Starter: Thymeleaf --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> <version>${spring.boot.version}</version> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <!-- Spring Boot Starter: Web --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>${spring.boot.version}</version> </dependency> <dependency> <!-- Spring Boot Starter: JPA --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <version>${spring.boot.version}</version> </dependency> <dependency> <!-- Spring Boot Starter: Devtools --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <version>${spring.boot.version}</version> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <!-- Spring Boot Starter: AOP --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> <version>${spring.boot.version}</version> </dependency> <dependency> <!-- Spring Boot Starter: Cache --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> <version>${spring.boot.version}</version> </dependency> <dependency> <!-- Spring Boot Starter: log4j --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> <version>${spring.boot.version}</version> </dependency> <!-- ============================================== --> <!-- ================= ASPECTJ ==================== --> <!-- ============================================== --> <dependency> <!-- AspectJ Runtime --> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <!-- AspectJ Weaver --> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj.version}</version> <scope>runtime</scope> </dependency> <!-- ============================================== --> <!-- ============== JPA DEPENDENCIES ============== --> <!-- ============================================== --> <dependency> <!-- JPA API --> <groupId>javax.persistence</groupId> <artifactId>javax.persistence-api</artifactId> <version>${javaee.api.version}</version> </dependency> <!-- ============================================== --> <!-- ================ HIBERNATE =================== --> <!-- ============================================== --> <dependency> <!-- Hibernate Core --> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <!-- Hibernate Ehcache --> <groupId>org.hibernate</groupId> <artifactId>hibernate-ehcache</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <!-- Hibernate validator --> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>${hibernate.validator.version}</version> </dependency> <dependency> <!-- Hikari CP --> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>${hikari.version}</version> </dependency> <!-- ============================================== --> <!-- ================ LIQUIBASE =================== --> <!-- ============================================== --> <dependency> <!-- Liquibase --> <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>${liquibase.version}</version> <exclusions> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> </exclusions> </dependency> <!-- ============================================== --> <!-- ================ SNAKEYAML =================== --> <!-- ============================================== --> <dependency> <!-- SnakeYAML --> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>${snakeyaml.version}</version> </dependency> <!-- ============================================== --> <!-- =================== ITEXT ==================== --> <!-- ============================================== --> <dependency> <!-- IText --> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>${itext.version}</version> </dependency> <!-- ============================================== --> <!-- ================ SERVLET ===================== --> <!-- ============================================== --> <dependency> <!-- Servlet API --> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>${servlet.version}</version> <scope>provided</scope> </dependency> <!-- ============================================== --> <!-- ================ THYMELEAF =================== --> <!-- ============================================== --> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId> <version>${thymeleaf.version}</version> </dependency> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring5</artifactId> <version>${thymeleaf.version}</version> </dependency> <!-- ============================================== --> <!-- ================== LOGGING =================== --> <!-- ============================================== --> <dependency> <!-- SL4J API --> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <!-- Log4j SLF4J Bridge --> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <!-- Log4j core --> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <!-- Log4j Commons Logging Bridge --> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jcl</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <!-- Log4j Web --> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> <version>${log4j.version}</version> </dependency> <!-- ============================================== --> <!-- ================= JACKSON ==================== --> <!-- ============================================== --> <dependency> <!-- Jackson --> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> </dependency> <dependency> <!-- Jackson databinding --> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <!-- Jackson annotations --> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> </dependency> <!-- ============================================== --> <!-- ============ OTHER DEPENDENCIES ============== --> <!-- ============================================== --> <dependency> <!-- Guava --> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guava.version}</version> </dependency> <dependency> <!-- Javax EL implementation --> <groupId>org.glassfish.web</groupId> <artifactId>el-impl</artifactId> <version>${glassfish.el}</version> <scope>provided</scope> </dependency> <!-- ============================================== --> <!-- =========== VERSION ENFORCEMENT ============== --> <!-- ============================================== --> <dependency> <!-- FasterXML ClassMate --> <groupId>com.fasterxml</groupId> <artifactId>classmate</artifactId> <version>${classmate.version}</version> </dependency> <dependency> <!-- Commons Logging --> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>${commons.logging.version}</version> </dependency> <dependency> <!-- Byte Buddy --> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>${byteBuddy.version}</version> </dependency> <!-- ============================================== --> <!-- ======= TEST ENVIRONMENT DEPENDENCIES ======== --> <!-- ============================================== --> <dependency> <!-- Hamcrest --> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</artifactId> <version>${hamcrest.version}</version> <scope>test</scope> </dependency> <dependency> <!-- JSON Path --> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> <version>${jsonpath.version}</version> <scope>test</scope> </dependency> <dependency> <!-- JUnit Jupiter Engine --> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> <dependency> <!-- JUnit Jupiter Platform --> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-runner</artifactId> <scope>test</scope> <exclusions> <exclusion> <!-- JUnit 3 --> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> </exclusions> </dependency> <dependency> <!-- Mockito --> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>${mockito.version}</version> <scope>test</scope> </dependency> <dependency> <!-- Spring Test --> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <scope>test</scope> </dependency> <dependency> <!-- Spring Boot Starter: Test --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <version>${spring.boot.version}</version> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <!-- ********************************************** --> <!-- ******************* BUILD ******************** --> <!-- ********************************************** --> <build> <defaultGoal>clean package</defaultGoal> <pluginManagement> <plugins> <plugin> <!-- Frontend Plugin --> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <version>${plugin.frontend.version}</version> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <!-- Build helper --> <!-- Adds the generated files to the Maven classpath --> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-source</id> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <!-- JS sources --> <source>${project.basedir}/src/main/js</source> </sources> </configuration> </execution> </executions> </plugin> <plugin> <!-- Changes --> <!-- Takes care of the changes log --> <!-- It is set to also validate the changes log file --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> <executions> <!-- Changes plugin is bound to the pre-site phase --> <execution> <id>check-changes</id> <phase>pre-site</phase> <goals> <goal>changes-check</goal> </goals> </execution> <execution> <id>validate-changes</id> <phase>pre-site</phase> <goals> <goal>changes-validate</goal> </goals> <configuration> <failOnError>true</failOnError> </configuration> </execution> </executions> </plugin> <plugin> <!-- Frontend Plugin --> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <configuration> <installDirectory>target</installDirectory> </configuration> <executions> <execution> <!-- Installs the frontend frameworks --> <!-- Installs Node and npm --> <id>frontend-framework</id> <goals> <goal>install-node-and-npm</goal> </goals> <configuration> <nodeVersion>${plugin.frontend.node.version}</nodeVersion> <npmVersion>${plugin.frontend.npm.version}</npmVersion> </configuration> </execution> <execution> <!-- Installs the frontend dependencies --> <!-- Installs npm dependencies --> <id>frontend-dependencies</id> <goals> <goal>npm</goal> </goals> <configuration> <arguments>install</arguments> </configuration> </execution> <execution> <!-- Runs the frontend tests --> <id>frontend-test</id> <goals> <goal>npm</goal> </goals> <phase>test</phase> <configuration> <arguments>test</arguments> </configuration> </execution> </executions> </plugin> <plugin> <!-- Resources --> <!-- Handles the project resources. --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <!-- Variables to to override will be delimited with a @. --> <!-- This avoids collisions with Spring variables. --> <!-- So instead of replacing ${project.name} Maven will replace @project.name@. --> <useDefaultDelimiters>false</useDefaultDelimiters> <delimiters> <delimiter>@</delimiter> </delimiters> </configuration> </plugin> <plugin> <!-- Site --> <!-- Generates the Maven Site --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <dependencies> <dependency> <!-- Docs Maven Skin --> <groupId>com.bernardomg.maven.skins</groupId> <artifactId>docs-maven-skin</artifactId> <version>${site.skin.version}</version> </dependency> </dependencies> </plugin> <plugin> <!-- WAR --> <!-- Generates the WAR package. --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <webResources> <resource> <!-- The UI template is filtered --> <filtering>true</filtering> <directory>${project.basedir}/src/main/resources/templates</directory> <targetPath>WEB-INF/templates</targetPath> <includes> <include>index.html</include> </includes> </resource> </webResources> <!-- Variables to to override will be delimited with a @. --> <!-- This avoids collisions with Spring variables. --> <!-- So instead of replacing ${project.name} Maven will replace @project.name@. --> <useDefaultDelimiters>false</useDefaultDelimiters> <delimiters> <delimiter>@</delimiter> </delimiters> </configuration> </plugin> <plugin> <!-- Spring Boot --> <!-- Takes care of running Spring Boot application --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${plugin.spring.boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <!-- ********************************************** --> <!-- ****************** REPORTS ******************* --> <!-- ********************************************** --> <reporting> <plugins> <plugin> <!-- FindBugs --> <!-- Checks for patterns which are prone to errors --> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <configuration> <!-- Exclusion patterns --> <excludeFilterFile>${project.basedir}/src/config/findbugs/findbugs-exclude.xml</excludeFilterFile> </configuration> </plugin> <plugin> <!-- Checkstyle --> <!-- Checks that the source files comply with style standards --> <!-- It is using a customized rules file --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <!-- The customized rules file --> <configLocation>${project.basedir}/src/config/checkstyle/checkstyle-rules.xml</configLocation> <!-- Excludes generated code --> <excludes>**/generated/**/*</excludes> </configuration> </plugin> <plugin> <!-- Javadoc --> <!-- Generates the javadocs --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <sourceFileExcludes> <!-- Excludes generated code --> <exclude>**/generated/**/*</exclude> </sourceFileExcludes> </configuration> </plugin> <plugin> <!-- PMD --> <!-- Checks that the code complies with a series of code quality rules --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <configuration> <rulesets> <!-- The customized rules file --> <ruleset>${project.basedir}/src/config/pmd/pmd-rules.xml</ruleset> </rulesets> <excludes> <!-- Excludes generated code --> <exclude>**/generated/**/*</exclude> </excludes> </configuration> </plugin> </plugins> </reporting> </project>
© 2015 - 2024 Weber Informatics LLC | Privacy Policy