Propriétés disponibles dans mavenpom
2009-10-11

Abstract

Cette page décrit l'ensemble des propriétés ajoutés dans mavenpom et disponibles pour tous les projets qui héritent de mavenpom.

Vue d'ensemble

Propriétés générales du projet

Propriété Valeur par défaut
platform nuiton.org
projectId ${project.artifactId}
listId ${projectId}
maven.src.dir ${project.basedir}/src
maven.gen.dir ${project.build.directory}/generated-sources
maven.license.file ${project.basedir}/LICENSE.txt

Propriétés de versions

Propriété Valeur par défaut
javaVersion 1.6
mavenVersion 2.2.1
antVersion 1.8.3

Vérification des signatures

(depuis la version 3.4.9).

signatureArtifactId java16
signatureVersion 1.1

Pour avoir la liste des signatures possible, rendez-vous sur la page des signautres supportées.

Pour utiliser avec un jre 1.7, rajouter ça dans les propriétés de votre projet

<signatureArtifactId>java17</signatureArtifactId>
<signatureVersion>1.0</signatureVersion>

Pour avoir la liste de toutes les dépendances mutualisées dans le projet, aller sur la page des versions supportées.

Chaque dépendance possède une propriété pour définir sa version, afin de vous permettre dans vos poms de pouvoir facilement surcharger la version d'une telle dépendances sans avoir à changer de version de mavenpom.

Propriété librarie
commonsBeanutilsVersion commons-beanutils:commons-beanutils:1.9.1
commonsCollectionsVersion commons-collections:commons-collections:3.2.1
commonsCollections4Version org.apache.commons:commons-collections4:4.0
commonsCodecVersion commons-codec:commons-codec:1.9
commonsEmailVersion org.apache.commons:commons-email:1.3.2
commonsHttpclientVersion commons-httpclient:commons-httpclient:3.1
httpCommonsHttpclientVersion org.apache.httpcomponents:httpclient:4.3.3
httpCommonsHttpcoreVersion org.apache.httpcomponents:httpcore:4.3.2
commonsIoVersion commons-io:commons-io:2.4
commonsJxpathVersion commons-jxpath:commons-jxpath:1.3
commonsLangVersion commons-lang:commons-lang:2.6
commonsLang3Version org.apache.commons:commons-lang3:3.3.2
commonsLoggingVersion commons-logging:commons-logging:1.1.3
commonsPrimitivesVersion commons-primitives:commons-primitives:1.0
commonsMathVersion org.apache.commons:commons-math:2.2
plexusUtilsVersion org.codehaus.plexus:plexus-utils:3.0.17
guavaVersion com.google.guava:guava:16.0.1
junitVersion junit:junit:4.11
log4jVersion log4j:log4j:1.2.17

Propriétés de versions de plugins

On définit dans le mavenpom beaucoup de versions de plugins. En consultant la page des versions de plugins supportés.

Comme pour les librairies, on définit une propriété pour chaque plugin définit et ceci pour les même raisons.

A noter que si un plugin est aussi un report il est nécessaire dans la partie report de refournir la version du plugin (merci d'utiliser la propriété et non pas une version en dure).

Plugins maven

Propriété (plugins maven) GAV
antRunPluginVersion org.apache.maven.plugins:maven-antrun-plugin:1.7
assemblyPluginVersion org.apache.maven.plugins:maven-assembly-plugin:2.4
cleanPluginVersion org.apache.maven.plugins:maven-clean-plugin:2.5
compilerPluginVersion org.apache.maven.plugins:maven-compiler-plugin:3.1
dependencyPluginVersion org.apache.maven.plugins:maven-dependency-plugin:2.8
deployPluginVersion org.apache.maven.plugins:maven-deploy-plugin:2.8.1
earPluginVersion org.apache.maven.plugins:maven-ear-plugin:2.9
ejbPluginVersion org.apache.maven.plugins:maven-ejb-plugin:2.3
enforcerPluginVersion org.apache.maven.plugins:maven-enforcer-plugin:1.3.1
gpgPluginVersion org.apache.maven.plugins:maven-gpg-plugin:1.5
installPluginVersion org.apache.maven.plugins:maven-install-plugin:2.5.1
invokerPluginVersion org.apache.maven.plugins:maven-invoker-plugin:1.8
jarPluginVersion org.apache.maven.plugins:maven-jar-plugin:2.4
javadocPluginVersion org.apache.maven.plugins:maven-javadoc-plugin:2.9.1
pluginPluginVersion org.apache.maven.plugins:maven-plugin-plugin:3.2
pmdPluginVersion org.apache.maven.plugins:maven-pmd-plugin:3.1
releasePluginVersion org.apache.maven.plugins:maven-release-plugin:2.4.2
remoteResourcesPluginVersion org.apache.maven.plugins:maven-remote-resources-plugin:1.5
resourcesPluginVersion org.apache.maven.plugins:maven-resources-plugin:2.6
sitePluginVersion org.apache.maven.plugins:maven-site-plugin:3.3
sourcePluginVersion org.apache.maven.plugins:maven-source-plugin:2.2.1
surefirePluginVersion org.apache.maven.plugins:maven-surefire-plugin:2.17
warPluginVersion org.apache.maven.plugins:maven-war-plugin:2.4

Propriétés de génération de site et reports

Propriété Valeur par défaut
fluidoSkinVersion ${fluidoSkinVersion}
siteSourcesType rst
scmwebeditorEnabled true
piwikEnabled true
piwikId -
central.release.home.url http://maven.nuiton.org/central-releases
other.release.home.url http://maven.nuiton.org/other-releases
repository.home.url ${other.release.home.url}
scmwebeditorUrl http://scmwebeditor.nuiton.org/nuiton-scmwebeditor/scmwebeditor
maven.javadoc.skip false
maven.javadoc.quiet true
javadocJreApiVersion 6

Propriétés pour les déployements

Propriété Valeur par défaut
snapshot.repository ${our.snapshot.repository}
snapshot.server nuiton-nexus-deploy
our.snapshot.repository http://nexus.nuiton.org/nexus/content/repositories/snapshots
release.repository ${other.release.repository}
release.server nuiton-nexus-deploy
other.release.repository http://nexus.nuiton.org/nexus/content/repositories/others-releases
central.release.repository http://nexus.nuiton.org/nexus/content/repositories/central-releases
our.site.repository scpexe://${platform}/var/lib/redmine-${platform}/project-site/${projectId}

Détails

Détail des propriétés générales du projet

platform

Le domaine de la plateforme utilisée.

nuiton.org
chorem.org
codelutin.com

[remonter]

projectId

L'identifiant unique du projet associé.

(project.artifactId)

Note : Sur un multi-module, la propriété doit être surchargé, sinon on se retrouve avec des valeurs héritiés sur les modules fils, ce qui n'est pas correct.
[remonter]

listId

Le préfixe utilisé pour les listes de diffusion.

(projectId)

[remonter]

maven.compile.source

Le niveau de java utilisé dans les sources (par défaut 1.6)
[remonter]

maven.compile.target

Le niveau de java utilisé dans le code compilé (par défaut 1.6)
[remonter]

maven.compile.encoding

Encoding à utiliser dans les sources (par défaut UTF-8)
[remonter]

project.reporting.outputEncoding

Encoding à utiliser dans le site (par défaut UTF-8)
[remonter]

maven.src.dir

Répertoire des sources

$\{project.basedir\}/src

[remonter]

maven.gen.dir

Répertoire de génération

$\{project.basedir\}/target/generated-sources

[remonter]

maven.license.file

Chemin vers la license utilisée dans le projet.

$\{project.basedir\}/LICENSE.txt

[remonter]

Détail des propriétés de versions

javaVersion

La version de java à utiliser pour la compilation (entrée et sortie) : 1.6
[remonter]

mavenVersion

La version de l'api de maven utilisée (principalement dans les plugins maven) : 2.2.1
[remonter]

antVersion

La version de l'api de ant utilisée (principalement dans les modules de tâches ant).
[remonter]

commonsCodecVersion

La version de la librairie commons-codec.
[remonter]

commonsEmailVersion

La version de la librairie commons-email.
[remonter]

httpCommonsHttpcoreVersion

La version de la librairie http-core.
[remonter]

commonsIoVersion

La version de la librairie commons-io.
[remonter]

commonsJxpathVersion

La version de la librairie commons-jxpath.
[remonter]

commonsLangVersion

La version de la librairie (en version 2) commons-lang.
[remonter]

commonsLang3Version

La version de la librairie commons-lang.
[remonter]

commonsMathVersion

La version de la librairie commons-math.
[remonter]

guavaVersion

La version de la librairie guava.
[remonter]

plexusUtilsVersion

La version de la librairie plexus-utils.
[remonter]

junitVersion

La version de la librairie junit.
[remonter]

log4jVersion

La version de la librairie log4j.
[remonter]

Détail des propriétés de génération de site et reports

fluidoSkinVersion

La version utilisée du skin fluido.
[remonter]

siteSourcesType

Le type de fichiers utilisé pour écrire la documentation du site (apt ou rst) (par défaut rst).
[remonter]

central.release.home.url

L'url du dépôt des releases dite central-safe.
[remonter]

other.release.home.url

L'url du dépôt des releases dite none central-safe.
[remonter]

repository.home.url

L'url du dépôt maven de release du projet. Par défault on utilise le dépôt non central safe .

En utilisant le profile central-safe, cette propriété passe à : dépôt central safe
[remonter]

scmwebeditorEnabled

Pour activer (ou déasactiver) la génération des liens scmwebeditors dans les sites générés. (Par exemple, on ne peut pas gérer ces liens sur un svn ssh...).
[remonter]

scmwebeditorUrl

L'url de l'application scmwebeditor qui permet d'éditer le site en ligne.
[remonter]

piwikEnabled

Pour activer (ou déasactiver) la génération de l'analyze du site généré via Piwik.
[remonter]

piwikId

Pour utiliser un id de site Piwik particulier pour le site générer. Par défaut non renseigné, on utilisera celui de la forge qui héberge le projet.
[remonter]

javadocJreApiVersion

La version de la jre à embarquée dans la javadoc générée (par défault 6).
[remonter]

repository.home.url

L'url de dépôt maven de type release de Code Lutin. Cette propriété est utilisée dans les sites pour les liens de téléchargement.
[remonter]

Détail des propriétés pour les déployements

snapshot.repository

Url du dépôt maven où deployer les snapshots, par défaut : ${snapshot.repository}.
[remonter]

snapshot.server

Id du serveur à utiliser pour déployer les snapshots, par défault : nuiton-nexus-deploy.\

Note: le serveur doit être défini dans le settings.xml.
[remonter]

our.snapshot.repository

Url du dépôt maven Nuiton où deployer les snapshots.

Valeur par défaut (ne devrait pas être modifiée) :

scpexe://nuiton.org/var/lib/nexus/storage/snapshots

[remonter]

release.repository

Url du dépôt maven où deployer les releases, par défaut : ${other.release.repository}.
[remonter]

release.server

Id du serveur à utiliser pour déployer les releases, par défaut : nuiton-nexus-deploy.

Note: le serveur doit être défini dans le settings.xml.
[remonter]

other.release.repository

Url du dépôt maven de Nuiton où deployer les releases central-unsafe.

Valeur par défaut (ne devrait pas être modifiée) :

scpexe://nuiton.org/var/lib/nexus/storage/other-releases

[remonter]

central.release.repository

Url du dépôt maven de Nuiton où deployer les releases central-safe.

Valeur par défaut (ne devrait pas être modifiée) :

scpexe://nuiton.org/var/lib/nexus/storage/central-releases

[remonter]

our.site.repository

Url du dépôt maven de Nuiton où deployer les sites.

Valeur par défaut (ne devrait pas être modifiée) :

scpexe://nuiton.org/var/lib/redmine-$\{platform\}/project-site/$\{projectId\}

[remonter]