-
erwan.salmon authorederwan.salmon authored
pom.xml 3.36 KiB
<?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.3.5</version>
</parent>
<groupId>demo.sonar</groupId>
<artifactId>sonar-maven</artifactId>
<version>0.2</version>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>21</java.version>
<springboot.version>3.3.5</springboot.version>
<npm.version>10.9.0</npm.version>
<node.version>20.18.0</node.version>
<plugin.frontend.version>1.15.1</plugin.frontend.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${springboot.version}</version>
</dependency>
<dependency>
<!--Analyse SonarQube-->
<groupId>demo.sonar</groupId>
<artifactId>sonar-maven-frontend</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<modules>
<module>sonar-maven-backend</module>
<module>sonar-maven-frontend</module>
</modules>
<build>
<pluginManagement>
<plugins>
<plugin>
<!--
Le plugin Frontend n'est ici utilisé que pour SonarQube car restitution "server-side".
=> Il est donc branché sur la seule phase "verify".
=> L'installation des dépendances npm est inutile, seule la présence de node nous intéresse.
Dans le cas d'une SPA de type Angular/React/Vuejs, il est aussi utile pour la construction du front.
=> Il resterait branché sur sa phase par défaut "generate-resources".
=> npm install redeviendrait nécessaire.
-->
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>${plugin.frontend.version}</version>
<configuration>
<installDirectory>target</installDirectory>
</configuration>
<executions>
<execution>
<!-- Installation de node et npm-->
<id>install-node-npm</id>
<phase>verify</phase>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>v${node.version}</nodeVersion>
<npmVersion>${npm.version}</npmVersion>
</configuration>
</execution>
<!--
Installation des dépendances npm.
Désactivé ici car inutile en dehors du contexte d'une SPA, laissé pour mémoire
-->
<!--
<execution>
<id>npm-install</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>install</arguments>
</configuration>
</execution>
-->
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>