Profiles disponibles dans mavenpom
2009-10-11
Cette page décrit l'ensemble des profiles ajoutés (ou surchargés) dans mavenpom et disponibles pour tous les projets qui en héritent.
Notation: Pour définir l'utilisation d'un propriété du projet, on écrit :
(propriété)
Il s'agit de profiles qui peuvent être inclus lors d'un build pour effectuer des tâches diverses.
| Nom du profile | Propriété d'activation |
| no-tests | - |
| no-reports | - |
| no-dep-details | - |
| no-dep-locations | - |
| webstart-profile | doWebstart |
| local-webstart-profile | doLocalWebstart |
| run | - |
| staging-site-profile | stagingSite |
L'ensemble des profiles inclus lors d'un cycle de release.
| Nom du profile | Propriété d'activation |
| reporting | performRelease |
| release-profile | performRelease |
| license-profile | performRelease |
| update-file-header | performRelease |
| release-sign-artifacts | performRelease |
| central-safe | - |
L'ensemble des profiles inclus lors d'un cycle de release de mavenpom.
| Nom du profile | Propriété d'activation |
| internal | internal |
| internal-redmine-pre-release | internalRedminePreRelease |
| internal-redmine-release | internalRedmineRelease |
Ce profile permet de ne pas lancer la génération des rapports sur le cycle site.
mvn site -Pno-reports
Ce profile permet de lancer une classe java depuis maven. Il faut définir une propriété maven.jar.main.class qui exprime le nom qualifié de la classe à lancer.
mvn -Prun -Dmaven.jar.main.class=org.nuiton.MyMainClass
Ce profile permet de désactiver la génération du détail des dépendances lors du rapport des dépendances (accélère beaucoup les temps de génération du site en phase de développement).
mvn site -Pno-dep-details
Ce profile permet de désactiver la génération de la localisation des dépendances lors du rapport des dépendances (accélère beaucoup les temps de génération du site en phase de développement).
mvn site -Pno-dep-locations
Ce profile est utilisé pour construire l'application webstart associé à un module de type jar.
Ce profile est utilisable en activant la propriété doWebstart :
mvn package -Pwebstart-profile
ou
mvn package -PdoWebstart
Ce profile est utilisé pour construire l'application webstart associé à un module de type jar.
Le codebase du webstart généré pointe sur target/jnlp, ainsi on peut tester en local le webstart avant tout déployement.
Ce profile est utilisable en activant la propriété doLocalWebstart :
mvn package -Plocal-webstart-profile
ou
mvn package -PdoLocalWebstart
Ce profile permet de deployer un site en local, pratique pour tester les sites multi-modules sans avoir à deployer sur un serveur distant.
Le profile utilise un server staging-site à définir dans votre settings.xml.
Il est possible de définir en ligne de commande l'url où deployer via la propriété stagingUrl.
mvn -Pstaging-site-profile -DstagingUrl=scpexe://myServer/myPath
ou
mvn -DstagingSite -DstagingUrl=scpexe://myServer/myPath
Ce profile regroupe tous les reports utilisés pour la génération du site. L'intérêt de les mettre dans un profile est de pouvoir générer simplement uniquement la documentation du site sans aucun raport.
Ce profile est utilisable en activant la propriété performRelease :
mvn site -Preporting
ou
mvn site -DperformRelease
Ce profile (défini par maven) est utilisé lors d'un mvn release:perform. On y indique qu'il faut toujours inclure les sources et la javadoc.
Ce profile est utilisable en activant la propriété performRelease :
mvn deploy -Prelease-profile
ou
mvn deploy -DperformRelease
A noter que lors d'un deploy (par exemple d'une snapshot), on doit l'utiliser afin que les utilisateurs puissent récupérer les sources et la javadoc dans leur IDE favori.
[remonter]
Ce profile est utilisé lors des release. On y indique qu'il faut toujours générer le fichier THIRD-PARTY et synchroniser les licenses.
Ce profile est utilisable en activant la propriété performRelease :
mvn -Plicense-profile
ou
mvn deploy -DperformRelease
Ce profile est utilisé pour signé avec gpg les artifacts à installer ou déployer.
Pour pouvoir l'utiliser il faut que :
Le clef gpg utilisé est visible ici.
Pour la récupérer, executer la commande
gpg --keyserver hkp://pgp.mit.edu --recv-keys 014A6ED2
Ce profile permet la mise à jour des entêtes de tous les fichiers d'un projet en utilisant le nouveau goal update-file-header (depuis maven-license-plugin 2.1).
Il faut avoir définit un fichier
license.descriptor
qui est par défaut src/license/project.xml.
Ce fichier décrit les en-têtes à inspecter.
mvn -Pupdate-file-header
ou
mvn -DperformRelease
Ce profile permet de vérifier que toutes les dépendances du projets sont sur central et central-release.
Il n'est pas inclus directement dans le cycle de release (car seul les projets central-safe doivent l'utiliser).
Pour l'utiliser lors d'une release ajouter ceci dans la section properties de votre pom :
<!-- release config -->
<!-- activate this profile while doing release:prepare -->
<arguments>-DperformRelease -Dcentral-safe</arguments>
<!-- activate this profile while doing release:perform -->
<releaseProfiles>central-safe</releaseProfiles>Pour le lancer manuellement :
mvn -Pcentral-safe
Ce profile permet de corriger l'url de deployement du site de mavenpom et il DOIT être toujours utilisé lors d'une installation déployement ou d'une release.
Il est activable via la propriété internal.
Ce profile ne doit être utiliser uniquement que pour le projet mavenpom.
Pour plus d'information sur ce profile voir la page des release.
[remonter]
Ce profile permet de préparer la finalisation de la release en générant les annonces de release.
Il est activable via la propriété internalRedminePreRelease.
Ce profile ne doit être utiliser uniquement que pour le projet mavenpom.
Pour plus d'information sur ce profile voir la page des release.
[remonter]
Ce profile permet de finaliser la release de mavenpom en publiant les annonces de release.
Il est activable via la propriété internalRedmineRelease.
Ce profile ne doit être utiliser uniquement que pour le projet mavenpom.
Pour plus d'information sur ce profile voir la page des release.
[remonter]