Why make donate
Profiles disponibles dans mavenpom
2009-10-11

Abstract

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é)

Vue d'ensemble

Profiles autonomes

Il s'agit de profiles qui peuvent être inclus lors d'un build pour effectuer des tâches diverses.

Nom du profilePropriété d'activation
no-tests-
no-reports-
no-dep-details-
no-dep-locations-
webstart-profiledoWebstart
local-webstart-profiledoLocalWebstart
run-
staging-site-profilestagingSite

Profiles inclus dans le cycle de release

L'ensemble des profiles inclus lors d'un cycle de release.

Nom du profilePropriété d'activation
reportingperformRelease
release-profileperformRelease
license-profileperformRelease
update-file-headerperformRelease
release-sign-artifactsperformRelease
central-safe-

Profiles inclus dans le cycle de release de mavenpom

L'ensemble des profiles inclus lors d'un cycle de release de mavenpom.

Nom du profilePropriété d'activation
internalinternal
internal-redmine-pre-releaseinternalRedminePreRelease
internal-redmine-releaseinternalRedmineRelease

Détails

Profiles autonomes

no-tests

Ce profile permet de ne pas lancer les tests. [remonter]

mvn install -Pno-tests

no-reports

Ce profile permet de ne pas lancer la génération des rapports sur le cycle site.

mvn site -Pno-reports

[remonter]

run

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

[remonter]

no-dep-details

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

[remonter]

no-dep-locations

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

[remonter]

webstart-profile

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

[remonter]

local-webstart-profile

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

[remonter]

staging-site-profile

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

[remonter]

Profiles inclus dans le cycle de release

reporting

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

[remonter]

release-profile

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]

license-profile

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

release-sign-artifacts

Ce profile est utilisé pour signé avec gpg les artifacts à installer ou déployer.

Pour pouvoir l'utiliser il faut que :

  • avoir une clef gpg de nom Code Lutin
  • avoir dans son settings.xml un server de nom gpg-signer qui contient :
    • username : Code Lutin
    • password : la passephrase de la clef gpg (encodé bien sûr...)

Le clef gpg utilisé est visible ici.

Pour la récupérer, executer la commande

gpg --keyserver hkp://pgp.mit.edu --recv-keys 014A6ED2

[remonter]

update-file-header

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

[remonter]

central-safe

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

[remonter]

Profiles inclus dans le cycle de release de mavenpom

internal

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]

internal-redmine-pre-release

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]

internal-redmine-release

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]

Produit par Maven