pom
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.nuiton</groupId> <artifactId>pom</artifactId> <version>11.17</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- #%L Pom %% Copyright (C) 2014 - 2022 CodeLutin %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Lesser Public License for more details. You should have received a copy of the GNU General Lesser Public License along with this program. If not, see <http://www.gnu.org/licenses/lgpl-3.0.html>. #L% --> <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> <groupId>org.nuiton</groupId> <artifactId>pom</artifactId> <version>11.17</version> <packaging>pom</packaging> <name>POM</name> <description>A common shared POM for our Maven projects</description> <url>${projectUrl}</url> <inceptionYear>2014</inceptionYear> <organization> <name>Code Lutin</name> <url>http://www.codelutin.com/</url> </organization> <licenses> <license> <name>Lesser General Public License (LGPL) v 3.0</name> <url>http://www.gnu.org/licenses/lgpl-3.0.txt</url> <distribution>repo</distribution> </license> </licenses> <!-- Les développeurs sont propres à chaque projet. On ne les déclare pas sur POM pour ne pas impacter les projets --> <developers/> <mailingLists/> <prerequisites> <maven>3.6</maven> </prerequisites> <modules> <module>nuitonpom</module> <module>chorempom</module> </modules> <scm> <connection>scm:git:git@gitlab.nuiton.org:nuiton/pom.git</connection> <developerConnection>scm:git:git@gitlab.nuiton.org:nuiton/pom.git</developerConnection> <url>https://gitlab.nuiton.org/nuiton/pom</url> </scm> <issueManagement> <system>${issuesSystem}</system> <url>${issuesUrl}</url> </issueManagement> <ciManagement> <system>gitlab-ci</system> <url>https://gitlab.nuiton.org/${gitlabGroupName}/${gitlabProjectName}/pipelines</url> </ciManagement> <distributionManagement> <repository> <id>${release.server}</id> <url>${release.repository}</url> </repository> <snapshotRepository> <id>${snapshot.server}</id> <url>${snapshot.repository}</url> </snapshotRepository> <site> <id>${project.artifactId}-site</id> <!-- On ne déploie plus les sites via Maven, donc on fait juste croire au plugin que c'est dans /tmp pour qu'il génère les sites avec les liens entre projet et sous-modules --> <url>file://tmp/</url> </site> </distributionManagement> <properties> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// Mandatory properties you need to define in your project //// --> <!-- ////////////////////////////////////////////////////////////////// --> <!-- a property to define the Gitlab's group --> <gitlabGroupName/> <!-- a property to define the id of the project, in a multi-module project, you must use a hard-cored value, otherwise for modules the artifactId will be expanded , otherwise, no need to override it --> <gitlabProjectName/> <projectUrl>https://gitlab.nuiton.org/${gitlabGroupName}/${gitlabProjectName}</projectUrl> <issuesSystem>gitlab</issuesSystem> <issuesUrl>https://gitlab.nuiton.org/${gitlabGroupName}/${gitlabProjectName}/issues</issuesUrl> <!-- To define java level (use 1.6, 1.7 or 1.8) --> <javaVersion/> <!-- To define which java level to check in your java code (should be synch with javaVersion). Use (16, 17 or 18) (this is the version of the animal-sniffer signature artifactId to use) --> <signatureArtifactId/> <!-- To define which java level to check in your java code (should be synch with javaVersion). Use (1.0 for most case) (this is the version of the animal-sniffer signature version to use) --> <signatureVersion/> <!-- default encoding --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// Deployement configuration //// --> <!-- ////////////////////////////////////////////////////////////////// --> <!-- server to use for snapshot --> <snapshot.server>nuiton-nexus-deploy</snapshot.server> <!-- location of the snapshot repository to use --> <snapshot.repository>https://nexus.nuiton.org/nexus/content/repositories/snapshots</snapshot.repository> <!-- server to use for release --> <release.server>nuiton-nexus-deploy</release.server> <!-- location of the release repository to use --> <release.repository>${other.release.repository}</release.repository> <!-- location of central-releases repository --> <central.release.repository> https://nexus.nuiton.org/nexus/content/repositories/central-releases </central.release.repository> <!-- location of other-releases repository --> <other.release.repository> https://nexus.nuiton.org/nexus/content/repositories/other-releases </other.release.repository> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// Maven repositories //// --> <!-- ////////////////////////////////////////////////////////////////// --> <!-- central releases url --> <central.release.home.url>https://nexus.nuiton.org/nexus/content/repositories/central-releases </central.release.home.url> <!-- other releases url --> <other.release.home.url>https://nexus.nuiton.org/nexus/content/repositories/other-releases</other.release.home.url> <!-- release repository url (to be used in site.xml, by default use other-release repository) --> <repository.home.url>${other.release.home.url}</repository.home.url> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// Plugins version //// --> <!-- ////////////////////////////////////////////////////////////////// --> <!-- our plugins --> <helperPluginVersion>2.4.1</helperPluginVersion> <!-- apache maven plugins version --> <antRunPluginVersion>3.1.0</antRunPluginVersion> <assemblyPluginVersion>3.6.0</assemblyPluginVersion> <cleanPluginVersion>3.3.2</cleanPluginVersion> <compilerPluginVersion>3.12.1</compilerPluginVersion> <dependencyPluginVersion>3.6.1</dependencyPluginVersion> <deployPluginVersion>3.1.1</deployPluginVersion> <earPluginVersion>3.3.0</earPluginVersion> <ejbPluginVersion>3.2.1</ejbPluginVersion> <enforcerPluginVersion>3.4.1</enforcerPluginVersion> <gpgPluginVersion>3.1.0</gpgPluginVersion> <installPluginVersion>3.1.1</installPluginVersion> <invokerPluginVersion>3.6.0</invokerPluginVersion> <jarPluginVersion>3.3.0</jarPluginVersion> <jarSignerPluginVersion>3.0.0</jarSignerPluginVersion> <javadocPluginVersion>3.6.3</javadocPluginVersion> <pluginPluginVersion>3.11.0</pluginPluginVersion> <pmdPluginVersion>3.21.2</pmdPluginVersion> <releasePluginVersion>3.0.1</releasePluginVersion> <remoteResourcesPluginVersion>3.1.0</remoteResourcesPluginVersion> <resourcesPluginVersion>3.3.1</resourcesPluginVersion> <shadePluginVersion>3.5.1</shadePluginVersion> <sitePluginVersion>4.0.0-M13</sitePluginVersion> <sourcePluginVersion>3.3.0</sourcePluginVersion> <surefirePluginVersion>3.2.5</surefirePluginVersion> <warPluginVersion>3.4.0</warPluginVersion> <!-- codehaus mojo plugins --> <animalSnifferPluginVersion>1.23</animalSnifferPluginVersion> <buildHelperPluginVersion>3.4.0</buildHelperPluginVersion> <buildNumberPluginVersion>1.4</buildNumberPluginVersion> <coberturaPluginVersion>2.7</coberturaPluginVersion> <execPluginVersion>3.1.0</execPluginVersion> <findbugsPluginVersion>3.0.5</findbugsPluginVersion> <l10nPluginVersion>1.0.0</l10nPluginVersion> <licensePluginVersion>1.20</licensePluginVersion> <!-- Version 2.0.0 breaks the site generation. See https://github.com/mojohaus/license-maven-plugin/issues/358 --> <sonarPluginVersion>3.10.0.2594</sonarPluginVersion> <tidyPluginVersion>1.2.0</tidyPluginVersion> <versionsPluginVersion>2.16.2</versionsPluginVersion> <wagonPluginVersion>2.0.2</wagonPluginVersion> <webstartPluginVersion>1.0-beta-7</webstartPluginVersion> <!-- codehaus plexus plugins --> <plexusComponentMetadataPluginVersion>2.2.0</plexusComponentMetadataPluginVersion> <plexusPluginVersion>1.3.8</plexusPluginVersion> <!-- others plugins --> <androidPluginVersion>3.0.0-alpha-11</androidPluginVersion> <gitCommitIdPluginVersion>4.9.10</gitCommitIdPluginVersion> <jacocoPluginVersion>0.8.11</jacocoPluginVersion> <jettyPluginVersion>11.0.19</jettyPluginVersion> <gitflowPluginVersion>1.21.0</gitflowPluginVersion> <statScmPluginVersion>1.2.0</statScmPluginVersion> <tomcatPluginVersion>2.2</tomcatPluginVersion> <!-- report plugins version --> <changelogPluginVersion>2.3</changelogPluginVersion> <changesPluginVersion>2.12.1</changesPluginVersion> <jrxPluginVersion>3.3.2</jrxPluginVersion> <projectInfoReportsPluginVersion>3.5.0</projectInfoReportsPluginVersion> <!-- to deploy with scpexe for maven 3 --> <wagonSshExternalVersion>1.0</wagonSshExternalVersion> <!-- versions of javadoc tagglets --> <mavenPluginToolsJavadocVersion>2.8</mavenPluginToolsJavadocVersion> <plexusComponentJavadocVersion>1.5.5</plexusComponentJavadocVersion> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// Compiler configuration //// --> <!-- ////////////////////////////////////////////////////////////////// --> <maven.compiler.source>${javaVersion}</maven.compiler.source> <maven.compiler.target>${javaVersion}</maven.compiler.target> <maven.compiler.showWarnings>true</maven.compiler.showWarnings> <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation> <!-- for the moment we do not want to use incremental compilation --> <maven.compiler.useIncrementalCompilation>false</maven.compiler.useIncrementalCompilation> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// Javadoc configuration //// --> <!-- ////////////////////////////////////////////////////////////////// --> <!-- pour modifier la verbosite de la javadoc --> <maven.javadoc.quiet>true</maven.javadoc.quiet> <!-- pour definir la version de l'api de la jre à inclure dans le site --> <javadocJreApiVersion>${javaVersion}</javadocJreApiVersion> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// License configuration //// --> <!-- ////////////////////////////////////////////////////////////////// --> <license.useMissingFile>true</license.useMissingFile> <license.failIfWarning>true</license.failIfWarning> <license.licenseName>lgpl_v3</license.licenseName> <maven.license.file>${project.basedir}/LICENSE.txt</maven.license.file> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// Site generation configuration //// --> <!-- ////////////////////////////////////////////////////////////////// --> <!-- fluido skin version --> <fluidoSkinVersion>1.11.1</fluidoSkinVersion> <!-- to generate sitemap --> <generateSitemap>true</generateSitemap> <!-- do not relativize links in generated site --> <relativizeDecorationLinks>false</relativizeDecorationLinks> <!-- Documentation is in apt format (can use rst, md)--> <siteSourcesType>apt</siteSourcesType> <!-- Shared resources for maven site --> <siteCommonResourcesUrl>https://common.nuiton.org/dev</siteCommonResourcesUrl> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// gitflow configuration //// --> <!-- ////////////////////////////////////////////////////////////////// --> <gitflow.masterBranchName>master</gitflow.masterBranchName> <gitflow.developBranchName>develop</gitflow.developBranchName> <!-- La pratique avant était de mettre `${gitlabProjectName}-` mais on décide en 11.7 d'avoir des noms de tag sans le nom du projet --> <gitflow.versionTagPrefix/> <!-- Étape de vérification avant le tag --> <gitflow.preReleaseGoals>clean verify -DperformRelease</gitflow.preReleaseGoals> <!-- Étape de déploiement après le tag --> <gitflow.postReleaseGoals>deploy -DperformRelease -Dmaven.test.skip</gitflow.postReleaseGoals> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// Release configuration //// --> <!-- ////////////////////////////////////////////////////////////////// --> <!-- extra arguments used by release plugin --> <arguments>-Ppost-release-profile</arguments> <!-- Post Release configuration (set it to false on last module of a project to finalize to release) --> <skipPostRelease>true</skipPostRelease> <!--par defaut on ne déploie rien--> <maven.deploy.skip>true</maven.deploy.skip> <!--par default on ne construit pas la javadoc--> <maven.javadoc.skip>true</maven.javadoc.skip> <!--par defaut on ne construit pas les sources--> <maven.source.skip>true</maven.source.skip> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// Analyze Dependencies configuration (in performRelease) //// --> <!-- ////////////////////////////////////////////////////////////////// --> <!-- In some cases, false positive cannot be bypassed : https://issues.apache.org/jira/browse/MDEP-753 --> <analyzeDependencies.failOnWarning>true</analyzeDependencies.failOnWarning> </properties> <build> <!--Ressources--> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <includes> <include>**/*</include> </includes> <excludes> <exclude>**/*~</exclude> </excludes> </resource> </resources> <pluginManagement> <plugins> <!-- Plugins version from apache --> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>${antRunPluginVersion}</version> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>${assemblyPluginVersion}</version> <dependencies> <dependency> <groupId>org.nuiton</groupId> <artifactId>helper-maven-plugin-api</artifactId> <version>${helperPluginVersion}</version> </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>${cleanPluginVersion}</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>${compilerPluginVersion}</version> </plugin> <plugin> <artifactId>maven-dependency-plugin</artifactId> <version>${dependencyPluginVersion}</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>${deployPluginVersion}</version> </plugin> <plugin> <artifactId>maven-ear-plugin</artifactId> <version>${earPluginVersion}</version> </plugin> <plugin> <artifactId>maven-ejb-plugin</artifactId> <version>${ejbPluginVersion}</version> </plugin> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <version>${enforcerPluginVersion}</version> </plugin> <plugin> <artifactId>maven-gpg-plugin</artifactId> <version>${gpgPluginVersion}</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>${installPluginVersion}</version> </plugin> <plugin> <artifactId>maven-invoker-plugin</artifactId> <version>${invokerPluginVersion}</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>${jarPluginVersion}</version> <inherited>true</inherited> <configuration> <archive> <manifest> <addDefaultImplementationEntries>true</addDefaultImplementationEntries> </manifest> <manifestEntries> <url>${project.url}</url> </manifestEntries> <!--<!– cela fait bugger le chargement des service via ServiceLoader donc on desactive –>--> <!--<!– index>true</index–>--> <!--<manifest>--> <!--<mainClass>${maven.jar.main.class}</mainClass>--> <!--</manifest>--> </archive> </configuration> </plugin> <plugin> <artifactId>maven-jarsigner-plugin</artifactId> <version>${jarSignerPluginVersion}</version> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>${javadocPluginVersion}</version> <configuration> <quiet>${maven.javadoc.quiet}</quiet> <charset>${project.reporting.outputEncoding}</charset> <links> <link>https://docs.oracle.com/javase/${javadocJreApiVersion}/docs/api</link> </links> <tagletArtifacts> <tagletArtifact> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools-javadoc</artifactId> <version>${mavenPluginToolsJavadocVersion}</version> </tagletArtifact> <tagletArtifact> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-component-javadoc</artifactId> <version>${plexusComponentJavadocVersion}</version> </tagletArtifact> </tagletArtifacts> </configuration> </plugin> <plugin> <artifactId>maven-plugin-plugin</artifactId> <version>${pluginPluginVersion}</version> </plugin> <plugin> <artifactId>maven-pmd-plugin</artifactId> <version>${pmdPluginVersion}</version> </plugin> <plugin> <artifactId>maven-release-plugin</artifactId> <version>${releasePluginVersion}</version> </plugin> <plugin> <artifactId>maven-remote-resources-plugin</artifactId> <version>${remoteResourcesPluginVersion}</version> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>${resourcesPluginVersion}</version> </plugin> <plugin> <artifactId>maven-shade-plugin</artifactId> <version>${shadePluginVersion}</version> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <version>${sitePluginVersion}</version> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <version>${sourcePluginVersion}</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>${surefirePluginVersion}</version> <configuration> <systemPropertyVariables> <java.io.tmpdir> ${project.build.directory}/surefire-workdir </java.io.tmpdir> </systemPropertyVariables> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>${warPluginVersion}</version> </plugin> <!-- Plugins version from codehaus mojo --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-maven-plugin</artifactId> <version>${animalSnifferPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>${coberturaPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>${execPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${buildHelperPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>${buildNumberPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>${findbugsPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>l10n-maven-plugin</artifactId> <version>${l10nPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <version>${licensePluginVersion}</version> </plugin> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>${sonarPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tidy-maven-plugin</artifactId> <version>${tidyPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>${versionsPluginVersion}</version> <configuration> <generateBackupPoms>false</generateBackupPoms> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <version>${wagonPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>webstart-maven-plugin</artifactId> <version>${webstartPluginVersion}</version> <configuration> <libPath>lib</libPath> <makeArchive>false</makeArchive> <verbose>false</verbose> <canUnsign>false</canUnsign> <jnlp> <mainClass>${maven.jar.main.class}</mainClass> <allPermissions>true</allPermissions> <offlineAllowed>true</offlineAllowed> </jnlp> <sign> <keystore>${keystorepath}</keystore> <storepass>${keystorepass}</storepass> <alias>${keyalias}</alias> <keypass>${keypass}</keypass> <verify>true</verify> <keystoreConfig> <delete>false</delete> <gen>false</gen> </keystoreConfig> </sign> </configuration> </plugin> <!-- Plugins version from codehaus plexus --> <plugin> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-component-metadata</artifactId> <version>${plexusComponentMetadataPluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-maven-plugin</artifactId> <version>${plexusPluginVersion}</version> </plugin> <!-- Plugins version from nuiton --> <plugin> <groupId>org.nuiton</groupId> <artifactId>helper-maven-plugin</artifactId> <version>${helperPluginVersion}</version> </plugin> <!-- <plugin>--> <!-- <groupId>org.nuiton.jredmine</groupId>--> <!-- <artifactId>jredmine-maven-plugin</artifactId>--> <!-- <version>${jredminePluginVersion}</version>--> <!-- </plugin>--> <!-- Plugins version from others --> <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>maven-android-plugin</artifactId> <version>${androidPluginVersion}</version> </plugin> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>${jettyPluginVersion}</version> </plugin> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-jspc-maven-plugin</artifactId> <version>${jettyPluginVersion}</version> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-maven-plugin</artifactId> <version>${tomcatPluginVersion}</version> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>${tomcatPluginVersion}</version> </plugin> <plugin> <groupId>com.amashchenko.maven.plugin</groupId> <artifactId>gitflow-maven-plugin</artifactId> <version>${gitflowPluginVersion}</version> <configuration> <verbose>true</verbose> <gitFlowConfig> <productionBranch>${gitflow.masterBranchName}</productionBranch> <developmentBranch>${gitflow.developBranchName}</developmentBranch> <versionTagPrefix>${gitflow.versionTagPrefix}</versionTagPrefix> </gitFlowConfig> <commitMessagePrefix>[gitflow-maven-plugin] </commitMessagePrefix> <!-- On ignore les tests pendant le release-finish ... --> <skipTestProject>true</skipTestProject> <!-- ... pour en réalité faire un verify complet avec -DperformRelease --> <preReleaseGoals>${gitflow.preReleaseGoals}</preReleaseGoals> <!-- Et on déploie ensuite --> <postReleaseGoals>${gitflow.postReleaseGoals}</postReleaseGoals> </configuration> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacocoPluginVersion}</version> </plugin> <plugin> <groupId>net.sf</groupId> <artifactId>stat-scm</artifactId> <version>${statScmPluginVersion}</version> </plugin> <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> <version>${gitCommitIdPluginVersion}</version> </plugin> </plugins> </pluginManagement> <plugins> <!-- http://nuiton.org/issues/1683 : creates the surefire-workdir --> <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>generate-surefire-workdir</id> <phase>generate-test-sources</phase> <configuration> <!-- do not generate if tests are skipped --> <skip>${maven.test.skip}</skip> <target> <mkdir dir="${basedir}/target/surefire-workdir"/> </target> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-LICENSE-file</id> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <rules> <requireFilesExist> <message>LICENSE.txt manquant. Il sera en théorie créé à la prochaine release.</message> <files> <file>LICENSE.txt</file> </files> </requireFilesExist> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> <fail>false</fail> </configuration> </execution> <execution> <id>enforce-README-file</id> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <rules> <requireFilesExist> <message>Il est recommendé que chaque module ait son propre fichier README.md</message> <files> <file>README.md</file> </files> </requireFilesExist> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> <fail>false</fail> </configuration> </execution> <execution> <id>enforce-gitlabGroupName</id> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <rules> <requireProperty> <property>gitlabGroupName</property> <message>"gitlabGroupName property must be specified."</message> <regex>.+$</regex> <regexMessage>"gitlabGroupName property can not be empty."</regexMessage> </requireProperty> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> <fail>true</fail> </configuration> </execution> <execution> <id>enforce-gitlabProjectName</id> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <rules> <requireProperty> <property>gitlabProjectName</property> <message>"gitlabProjectName property must be specified."</message> <regex>.+$</regex> <regexMessage>"gitlabProjectName property can not be empty."</regexMessage> </requireProperty> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> <fail>true</fail> </configuration> </execution> <execution> <id>enforce-javaVersion</id> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <rules> <requireProperty> <property>javaVersion</property> <regex>1\.6|1\.7|1\.8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25$</regex> <regexMessage>"Vous devez définir la propriété `javaVersion=(1\.6|1\.7|1\.8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25)`"</regexMessage> </requireProperty> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> <fail>true</fail> </configuration> </execution> <execution> <id>enforce-signatureArtifactId</id> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <skip>${animal.sniffer.skip}</skip> <rules> <requireProperty> <property>signatureArtifactId</property> <regex>java16|java17|java18$</regex> <regexMessage>"Vous devez définir la propriété `signatureArtifactId=(java16|java17|java18)` ou ignorer la vérification avec `animal.sniffer.skip=true`"</regexMessage> </requireProperty> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> <fail>false</fail> </configuration> </execution> <execution> <id>enforce-signatureVersion</id> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <skip>${animal.sniffer.skip}</skip> <rules> <requireProperty> <property>signatureVersion</property> <regex>.+$</regex> <regexMessage>"Vous devez définir la propriété `signatureVersion` ou ignorer la vérification avec `animal.sniffer.skip=true`"</regexMessage> </requireProperty> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> <fail>false</fail> </configuration> </execution> <execution> <id>enforce-java-versions</id> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <rules> <requireJavaVersion> <version>${javaVersion}</version> </requireJavaVersion> </rules> </configuration> </execution> </executions> </plugin> </plugins> <!-- Enabling the use of scpexe with maven 3.0 --> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ssh-external</artifactId> <version>${wagonSshExternalVersion}</version> </extension> </extensions> </build> <reporting> <excludeDefaults>true</excludeDefaults> </reporting> <profiles> <!-- perform only on a release stage when using the maven-release-plugin --> <profile> <id>release-profile</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <properties> <maven.root.dir>${session.executionRootDirectory}</maven.root.dir> <!-- since v 4.0, can execute some mojo not on root module --> <helper.runOnlyOnRoot>false</helper.runOnlyOnRoot> </properties> <build> <plugins> <!-- always compute source jar --> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <!-- always compute javadoc jar --> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- perform only on a release stage when using the maven-release-plugin --> <profile> <id>license-profile</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <build> <defaultGoal>generate-resources</defaultGoal> <plugins> <!-- add license and third-party files to build --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <executions> <execution> <id>attach-licenses</id> <goals> <goal>update-project-license</goal> <goal>add-third-party</goal> </goals> <configuration> <licenseMerges> <licenseMerge> The Apache Software License, Version 2.0|Apache License, Version 2.0|Apache License V2.0|Apache 2|ASF 2.0|apache-2.0|Apache Public License 2.0 </licenseMerge> <licenseMerge>BSD License|BSD license|BSD</licenseMerge> <licenseMerge>MIT License|MIT license|MIT</licenseMerge> <licenseMerge> Lesser General Public License (LPGL) v 2.1|GNU Lesser General Public License, 2.1|LGPL 2.1 </licenseMerge> <licenseMerge> Lesser General Public License (LPGL)|GNU Lesser General Public License|GNU LESSER GENERAL PUBLIC LICENSE|LGPL|lgpl </licenseMerge> <licenseMerge> COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0|Common Development and Distribution License (CDDL) v1.0 </licenseMerge> <licenseMerge>Indiana University Extreme! Lab Software License, vesion 1.1.1|Indiana University Extreme! Lab Software License </licenseMerge> </licenseMerges> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- perform only on a release to do quality checks on release --> <profile> <id>release-quality-profile</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-maven-plugin</artifactId> <executions> <execution> <goals> <goal>check</goal> </goals> <configuration> <signature> <groupId>org.codehaus.mojo.signature</groupId> <artifactId>${signatureArtifactId}</artifactId> <version>${signatureVersion}</version> </signature> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <goals> <goal>enforce</goal> </goals> <id>ensure-no-container-api</id> <configuration> <rules> <bannedDependencies> <excludes> <exclude> org.codehaus.plexus:plexus-component-api </exclude> </excludes> <message> The new containers are not supported. You probably added a dependency that is missing the exclusions. </message> </bannedDependencies> </rules> <fail>true</fail> </configuration> </execution> <execution> <id>enforce-bytecode-version</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <enforceBytecodeVersion> <maxJdkVersion>${javaVersion}</maxJdkVersion> </enforceBytecodeVersion> </rules> <fail>true</fail> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.mojo</groupId> <artifactId>extra-enforcer-rules</artifactId> <version>1.7.0</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.nuiton</groupId> <artifactId>helper-maven-plugin</artifactId> <executions> <execution> <id>check-central-safe</id> <inherited>true</inherited> <goals> <goal>check-auto-container</goal> </goals> <configuration> <addMavenCentral>true</addMavenCentral> <failIfNotSafe>true</failIfNotSafe> <runOnlyOnRoot>false</runOnlyOnRoot> <runOnce>false</runOnce> <repositories> <central-releases> ${central.release.home.url} </central-releases> </repositories> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>release-sign-artifacts</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <properties> <!-- Disable this execution if no GPG signature is expected --> <helper.skipShareServerSecret>${gpg.skip}</helper.skipShareServerSecret> </properties> <build> <plugins> <plugin> <groupId>org.nuiton</groupId> <artifactId>helper-maven-plugin</artifactId> <executions> <execution> <id>get-pgp-passphrase</id> <goals> <goal>share-server-secret</goal> </goals> <phase>verify</phase> <configuration> <serverId>gpg-signer</serverId> <usernameOut>gpg.keyname</usernameOut> <passwordOut>gpg.passphrase</passwordOut> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-gpg-plugin</artifactId> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- This profile update license stuff with new goal update-file-header --> <profile> <id>update-file-header</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <properties> <license.descriptor>src/license/project.xml</license.descriptor> </properties> <build> <defaultGoal>process-resources</defaultGoal> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <executions> <execution> <id>update-file-header</id> <goals> <goal>update-file-header</goal> </goals> <configuration> <excludes> <exclude>**/i18n/*.properties</exclude> <exclude>**/THIRD-PARTY.properties</exclude> <!-- since sh scripts must begins by the line #!/bin/sh, can not use the mojo for the mojo --> <exclude>**/*.sh</exclude> </excludes> </configuration> <phase>process-resources</phase> </execution> <execution> <id>update-pom-header</id> <goals> <goal>update-file-header</goal> </goals> <configuration> <roots> <root>${project.basedir}</root> </roots> <includes> <include>pom.xml</include> </includes> </configuration> <phase>process-resources</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <id>analyze-dependencies</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <build> <defaultGoal>verify</defaultGoal> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactId> <inherited>true</inherited> <executions> <execution> <id>analyze</id> <goals> <goal>analyze-only</goal> </goals> <configuration> <verbose>true</verbose> <failOnWarning>${analyzeDependencies.failOnWarning}</failOnWarning> <ignoreNonCompile>true</ignoreNonCompile> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- perform on a release stage (do some redmine actions) --> <profile> <id>redmine-release-profile</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <!-- fails if redmine goals are not ok --> <redmine.safe>true</redmine.safe> </properties> <reporting> <plugins> <plugin> <artifactId>maven-changes-plugin</artifactId> <version>${changesPluginVersion}</version> <configuration> <issueLinkTemplatePerSystem> <redmine>${redmine.issueLinkTemplate}</redmine> </issueLinkTemplatePerSystem> <xmlPath>${redmine.xmlPath}</xmlPath> </configuration> <reportSets> <reportSet> <reports> <report>changes-report</report> </reports> </reportSet> </reportSets> </plugin> <!-- <!– generate issues report –>--> <!-- <plugin>--> <!-- <groupId>org.nuiton.jredmine</groupId>--> <!-- <artifactId>jredmine-maven-plugin</artifactId>--> <!-- <version>${jredminePluginVersion}</version>--> <!-- <configuration>--> <!-- <columnNames>--> <!-- key,summary,status,assignee,tracker,priority,version,category,createdOn--> <!-- </columnNames>--> <!-- </configuration>--> <!-- <reportSets>--> <!-- <reportSet>--> <!-- <reports>--> <!-- <report>issues-report</report>--> <!-- </reports>--> <!-- </reportSet>--> <!-- </reportSets>--> <!-- </plugin>--> </plugins> </reporting> <build> <plugins> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-redmineDomain</id> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <rules> <requireProperty> <property>redmineDomain</property> <message>"redmineDomain property must be specified."</message> <regex>.+$</regex> <regexMessage>"redmineDomain property can not be empty. Consider using the redmine-codelutin profile."</regexMessage> </requireProperty> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> <fail>true</fail> </configuration> </execution> </executions> </plugin> <!-- - obtain redmine username - collect all artifacts attached to build for announcements --> <plugin> <groupId>org.nuiton</groupId> <artifactId>helper-maven-plugin</artifactId> <executions> <execution> <id>get-redmine-login</id> <goals> <goal>share-server-secret</goal> </goals> <phase>initialize</phase> <configuration> <serverId>redmine-${redmineDomain}</serverId> <privateKeyOut>redmine.apiKey</privateKeyOut> </configuration> </execution> <execution> <id>collect-build-artifacts</id> <goals> <goal>collect-files</goal> </goals> <phase>verify</phase> <configuration> <descriptionFile>${redmine.collectedArtifacts}</descriptionFile> <includeAttached>true</includeAttached> <includeSiteAttached>true</includeSiteAttached> </configuration> </execution> <execution> <id>collect-build-attachements</id> <goals> <goal>collect-files</goal> </goals> <phase>verify</phase> <configuration> <extraFiles>${redmine.releaseFiles}</extraFiles> <descriptionFile>${redmine.collectedAttachments}</descriptionFile> <includeAttached>false</includeAttached> </configuration> </execution> </executions> </plugin> <!-- <!–--> <!-- - generate changes.xml file from redmine--> <!-- –>--> <!-- <plugin>--> <!-- <groupId>org.nuiton.jredmine</groupId>--> <!-- <artifactId>jredmine-maven-plugin</artifactId>--> <!-- <executions>--> <!-- <execution>--> <!-- <id>jredmine-generate-changes</id>--> <!-- <goals>--> <!-- <goal>generate-changes</goal>--> <!-- </goals>--> <!-- <phase>process-classes</phase>--> <!-- <configuration>--> <!-- <generateOnce>true</generateOnce>--> <!-- <actionMapping>fix:1, add:2, update:4</actionMapping>--> <!-- </configuration>--> <!-- </execution>--> <!-- </executions>--> <!-- </plugin>--> </plugins> </build> </profile> <!-- profile with all reports (include in release process) --> <profile> <id>reporting</id> <activation> <property> <name>performRelease</name> <value>true</value> </property> </activation> <reporting> <plugins> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>${projectInfoReportsPluginVersion}</version> <reportSets> <reportSet> <reports> <!-- see https://forge.nuiton.org/issues/3346 --> <!--<report>index</report>--> <report>team</report> <report>mailing-lists</report> <report>ci-management</report> <report>issue-management</report> <report>licenses</report> <report>scm</report> <report>dependency-info</report> <report>dependencies</report> <report>dependency-convergence</report> <report>plugin-management</report> <report>plugins</report> <report>dependency-management</report> <report>summary</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>${javadocPluginVersion}</version> <configuration> <quiet>${maven.javadoc.quiet}</quiet> <charset>${project.reporting.outputEncoding}</charset> <links> <link>https://docs.oracle.com/javase/${javadocJreApiVersion}/docs/api/</link> </links> <!--<excludePackageNames>${maven.javadoc.excludePackageNames}</excludePackageNames>--> <tagletArtifacts> <tagletArtifact> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools-javadoc</artifactId> <version>${mavenPluginToolsJavadocVersion}</version> </tagletArtifact> <tagletArtifact> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-component-javadoc</artifactId> <version>${plexusComponentJavadocVersion}</version> </tagletArtifact> </tagletArtifacts> </configuration> <reportSets> <reportSet> <reports> <report>javadoc</report> <report>test-javadoc</report> </reports> </reportSet> </reportSets> </plugin> <plugin> <artifactId>maven-changelog-plugin</artifactId> <version>${changelogPluginVersion}</version> </plugin> <plugin> <artifactId>maven-jxr-plugin</artifactId> <version>${jrxPluginVersion}</version> </plugin> <plugin> <artifactId>maven-surefire-report-plugin</artifactId> <version>${surefirePluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>license-maven-plugin</artifactId> <version>${licensePluginVersion}</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>${versionsPluginVersion}</version> <reportSets> <reportSet> <reports> <report>dependency-updates-report</report> <report>plugin-updates-report</report> <report>property-updates-report</report> </reports> </reportSet> </reportSets> </plugin> <!--plugin> <groupId>net.sf</groupId> <artifactId>stat-scm</artifactId> <version>${statScmPluginVersion}</version> </plugin--> </plugins> </reporting> </profile> <!-- For post-release actions --> <profile> <id>post-release-profile</id> <properties> <!-- Default Release annoncement title --> <releaseAnnouncementTitle>${session.topLevelProject.name} ${session.topLevelProject.version} released </releaseAnnouncementTitle> <!-- FIX #534 unmodifiable parameter when releasing --> <helper.smtpHost>smtp</helper.smtpHost> <skipReleaseSendEmail>${skipPostRelease}</skipReleaseSendEmail> </properties> <build> <defaultGoal>validate</defaultGoal> <plugins> <!-- - send announcement email --> <plugin> <groupId>org.nuiton</groupId> <artifactId>helper-maven-plugin</artifactId> <executions> <execution> <id>send-release-email</id> <goals> <goal>send-email</goal> </goals> <phase>install</phase> <!--inherited>false</inherited--> <configuration> <!-- for a multi-module just run on root project --> <runOnce>true</runOnce> <skipSendEmail>${skipReleaseSendEmail}</skipSendEmail> <emailTitle> [ANN] - ${releaseAnnouncementTitle} </emailTitle> <emailContentFile> target/generated-sources/announcement/release-email-announcement.vm </emailContentFile> <mailSender> <name>Release Notification</name> <email>noreply@${releaseEmailDomain}</email> </mailSender> <toAddresses> <item>${gitlabProjectName}-commits@list.${releaseEmailDomain}</item> </toAddresses> <!--smtpHost>smtp</smtpHost--> <!-- fix bug #146 --> <encoding>iso-8859-1</encoding> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Redmine specific post-release actions --> <profile> <id>redmine-post-release-profile</id> <properties> <!-- fails if redmine goals are not ok --> <redmine.safe>true</redmine.safe> <!-- no dry run for us (we trust the jredmine-m-p !) --> <redmine.dryRun>false</redmine.dryRun> <!-- templates location --> <redmine.templateDirectory>http://doc.nuiton.org/common/0.3/announcement/default</redmine.templateDirectory> <!-- Default Release annoncement title --> <releaseAnnouncementTitle>${session.topLevelProject.name} ${session.topLevelProject.version} released </releaseAnnouncementTitle> <skipReleasePublishAttachments>${skipPostRelease}</skipReleasePublishAttachments> <skipReleaseUpdateVersion>${skipPostRelease}</skipReleaseUpdateVersion> <skipReleasePublishNews>${skipPostRelease}</skipReleasePublishNews> </properties> <build> <defaultGoal>validate</defaultGoal> <plugins> <plugin> <artifactId>maven-enforcer-plugin</artifactId> <executions> <execution> <id>enforce-redmineDomain</id> <goals> <goal>enforce</goal> </goals> <phase>validate</phase> <configuration> <rules> <requireProperty> <property>redmineDomain</property> <message>"redmineDomain property must be specified."</message> <regex>.+$</regex> <regexMessage>"redmineDomain property can not be empty. Consider using the redmine-codelutin profile."</regexMessage> </requireProperty> </rules> <ignoreCache>true</ignoreCache> <failFast>true</failFast> <fail>true</fail> </configuration> </execution> </executions> </plugin> <!-- - obtain redmine login --> <plugin> <groupId>org.nuiton</groupId> <artifactId>helper-maven-plugin</artifactId> <executions> <execution> <id>get-redmine-login</id> <goals> <goal>share-server-secret</goal> </goals> <phase>validate</phase> <configuration> <serverId>redmine-${redmineDomain}</serverId> <privateKeyOut>redmine.apiKey</privateKeyOut> </configuration> </execution> </executions> </plugin> <!-- - publish attachments - generate news announcement - generate email announcement - update version - publish news announcement - create next version --> <plugin> <groupId>org.nuiton.jredmine</groupId> <artifactId>jredmine-maven-plugin</artifactId> <executions> <execution> <id>publish-attachments</id> <goals> <goal>publish-attachments</goal> </goals> <phase>verify</phase> <configuration> <filesFromProperties> ${redmine.collectedAttachments} </filesFromProperties> <skipPublishAttachments> ${skipReleasePublishAttachments} </skipPublishAttachments> </configuration> </execution> <execution> <id>generate-announcements</id> <goals> <goal>generate-news-announcement</goal> <goal>generate-email-announcement</goal> </goals> <phase>verify</phase> <configuration> <announceParameters> <releaseProjectGroupId> ${session.topLevelProject.groupId} </releaseProjectGroupId> <releaseProjectArtifactId> ${session.topLevelProject.artifactId} </releaseProjectArtifactId> <releaseProjectVersion> ${session.topLevelProject.version} </releaseProjectVersion> </announceParameters> <skipGenerateEmailAnnouncement> ${skipReleaseSendEmail} </skipGenerateEmailAnnouncement> <skipGenerateNewsAnnouncement> ${skipReleasePublishNews} </skipGenerateNewsAnnouncement> <urlDownload> ${redmine.url}/projects/${gitlabProjectName}/files </urlDownload> <artifactsFile>${redmine.collectedArtifacts}</artifactsFile> </configuration> </execution> <execution> <id>jredmine-release</id> <goals> <goal>update-version</goal> <goal>publish-news</goal> </goals> <phase>install</phase> <configuration> <!-- for a multi-module just run on root project --> <runOnce>true</runOnce> <skipUpdateVersion> ${skipReleaseUpdateVersion} </skipUpdateVersion> <skipPublishNews>${skipReleasePublishNews}</skipPublishNews> <!-- udpate-version --> <closeVersion>true</closeVersion> <!-- publish-news --> <newsContentFile> target/generated-sources/announcement/release-news-announcement.vm </newsContentFile> <newsSummary>${project.description}</newsSummary> <newsTitle> ${releaseAnnouncementTitle} </newsTitle> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- do not generate site if no src/site is found for module --> <profile> <id>no-site</id> <activation> <file> <missing>src/site</missing> </file> </activation> <properties> <!-- no site generation --> <maven.site.skip>true</maven.site.skip> <maven.site.deploy.skip>true</maven.site.deploy.skip> </properties> </profile> <profile> <id>maven-3</id> <activation> <file> <!-- This employs that the basedir expression is only recognized by Maven 3.x (see MNG-2363) --> <exists>${basedir}</exists> </file> </activation> <build> <plugins> <plugin> <artifactId>maven-site-plugin</artifactId> <executions> <execution> <id>attach-descriptor</id> <goals> <goal>attach-descriptor</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- To collect deploy files (used to deploy application to a demo environnement --> <profile> <id>collect-deploy-files</id> <properties> <deploy.collectedFiles> target/collect-deploy-files.txt </deploy.collectedFiles> </properties> <build> <defaultGoal>verify</defaultGoal> <plugins> <plugin> <groupId>org.nuiton</groupId> <artifactId>helper-maven-plugin</artifactId> <executions> <execution> <id>collect-deploy-files</id> <goals> <goal>collect-files</goal> </goals> <phase>verify</phase> <configuration> <extraFiles>${deployFiles}</extraFiles> <descriptionFile> ${deploy.collectedFiles} </descriptionFile> <includeAttached>false</includeAttached> <includeSiteAttached>false</includeSiteAttached> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Pour changer la version du projet utilisant le hash du commit : --> <profile> <id>add-git-commit-id-to-project-version</id> <build> <defaultGoal>initialize</defaultGoal> <plugins> <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> <executions> <execution> <goals> <goal>revision</goal> </goals> <phase>initialize</phase> </execution> </executions> <configuration> <runOnlyOnce>true</runOnlyOnce> <skipPoms>false</skipPoms> <includeOnlyProperties> <includeOnlyProperty>git\.commit\.id\.abbrev</includeOnlyProperty> </includeOnlyProperties> </configuration> </plugin> <plugin> <groupId>org.nuiton</groupId> <artifactId>helper-maven-plugin</artifactId> <executions> <execution> <goals> <goal>transform-project-version</goal> </goals> <phase>initialize</phase> </execution> </executions> <configuration> <runOnce>true</runOnce> <newVersionPattern>#V-rev#R</newVersionPattern> <revision>#git.commit.id.abbrev</revision> <versionKey>newVersion</versionKey> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <executions> <execution> <goals> <goal>set</goal> </goals> <phase>initialize</phase> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Profile to build the pom project --> <profile> <id>internal</id> <activation> <file> <exists>${basedir}/.pom-project-do-not-delete.txt</exists> </file> </activation> <properties> <gitlabGroupName>nuiton</gitlabGroupName> <gitlabProjectName>pom</gitlabProjectName> <!-- POM est le seul projet qui n'a pas de version de Java, donc on laisse le contrôle sur tous les projets mais on met une version bidon --> <javaVersion>1.8</javaVersion> <!-- Pas un projet Java, donc pas d'animal-sniffer --> <animal.sniffer.skip>true</animal.sniffer.skip> <!-- Deploy on central release repository --> <release.repository>${central.release.repository}</release.repository> <repository.home.url>${central.release.home.url}</repository.home.url> <maven.deploy.skip>false</maven.deploy.skip> <!-- Pour garder la continuité, on reprend l'ancien formalisme pour les TAG pour ce projet --> <gitflow.versionTagPrefix>pom-</gitflow.versionTagPrefix> </properties> </profile> <!-- Redmine specific profile for codelutin --> <profile> <id>redmine-codelutin</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <!-- ////////////////////////////////////////////////////////////////// --> <!-- //// Redmine configuration //// --> <!-- ////////////////////////////////////////////////////////////////// --> <!-- extra files to include in release --> <redmine.releaseFiles/> <!-- use this for a lib extra files --> <redmine.libReleaseFiles> target/${project.artifactId}-${project.version}-deps.zip, target/${project.artifactId}-${project.version}-full.zip </redmine.libReleaseFiles> <redmineDomain>forge.codelutin.com</redmineDomain> <redmine.safe>false</redmine.safe> <redmine.url>https://${redmineDomain}</redmine.url> <!-- <redmine.projectId>${gitlabProjectName}</redmine.projectId>--> <redmine.xmlPath>${maven.root.dir}/target/changes/changes.xml</redmine.xmlPath> <redmine.collectedArtifacts>${maven.root.dir}/target/collect-artifacts.txt</redmine.collectedArtifacts> <redmine.collectedAttachments>${maven.root.dir}/target/collect-attachments.txt</redmine.collectedAttachments> <redmine.deploymentUrl>${repository.home.url}</redmine.deploymentUrl> <!-- since v 4.0, can execute some mojo not on root module --> <redmine.runOnlyOnRoot>false</redmine.runOnlyOnRoot> <!-- issues status to include in changelog --> <redmine.statusIds>3,10,11,18,19</redmine.statusIds> <!-- extra arguments used by release plugin --> <arguments>-Ppost-release-profile,redmine-post-release-profile</arguments> <issuesSystem>redmine</issuesSystem> <issuesUrl>https://forge.codelutin.com/projects/${redmine.projectId}/issues</issuesUrl> </properties> </profile> </profiles> </project>