r1239 - in trunk: . mavenpomdoc mavenpomdoc/src mavenpomdoc/src/site mavenpomdoc/src/site/apt
Author: tchemit Date: 2012-04-19 01:31:27 +0200 (Thu, 19 Apr 2012) New Revision: 1239 Url: http://nuiton.org/repositories/revision/mavenpom/1239 Log: refs #2060: Introduce new module (mavenpomdoc) for documentation of mavenpom Added: trunk/mavenpomdoc/ trunk/mavenpomdoc/LICENSE.txt trunk/mavenpomdoc/README.txt trunk/mavenpomdoc/changelog.txt trunk/mavenpomdoc/pom.xml trunk/mavenpomdoc/src/ trunk/mavenpomdoc/src/site/ trunk/mavenpomdoc/src/site/apt/ trunk/mavenpomdoc/src/site/apt/index.apt trunk/mavenpomdoc/src/site/apt/profiles.apt trunk/mavenpomdoc/src/site/apt/properties.apt.vm trunk/mavenpomdoc/src/site/apt/release.apt trunk/mavenpomdoc/src/site/apt/repositories.apt trunk/mavenpomdoc/src/site/resources/ trunk/mavenpomdoc/src/site/site.xml Modified: trunk/pom.xml Property changes on: trunk/mavenpomdoc ___________________________________________________________________ Added: svn:ignore + target *.ipr *.iws *.iml .idea Added: trunk/mavenpomdoc/LICENSE.txt =================================================================== --- trunk/mavenpomdoc/LICENSE.txt (rev 0) +++ trunk/mavenpomdoc/LICENSE.txt 2012-04-18 23:31:27 UTC (rev 1239) @@ -0,0 +1,166 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. + Property changes on: trunk/mavenpomdoc/LICENSE.txt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Property changes on: trunk/mavenpomdoc/README.txt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Property changes on: trunk/mavenpomdoc/changelog.txt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/mavenpomdoc/pom.xml =================================================================== --- trunk/mavenpomdoc/pom.xml (rev 0) +++ trunk/mavenpomdoc/pom.xml 2012-04-18 23:31:27 UTC (rev 1239) @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + Mavenpom + + $Id$ + $HeadURL$ + %% + Copyright (C) 2009 - 2010 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> + + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> + + <parent> + <groupId>org.nuiton</groupId> + <artifactId>mavenpom4redmineAndCentral</artifactId> + <version>3.2.2-SNAPSHOT</version> + </parent> + + <artifactId>mavenpomdoc</artifactId> + <name>mavenpomdoc</name> + + <description>Documentation of the mavenpom project.</description> + + <inceptionYear>2012</inceptionYear> + + <url>http://maven-site.nuiton.org/mavenpom</url> + + <properties> + + <projectId>mavenpom</projectId> + <!--<locales>fr</locales>--> + <siteSourcesType>apt</siteSourcesType> + + <license.licenseName>lgpl_v3</license.licenseName> + + <!-- release config --> + + <!-- activate this profile while doing release:prepare --> + <arguments>-DperformRelease -Pcentral-safe</arguments> + <!-- activate this profile while doing release:perform --> + <releaseProfiles>central-safe</releaseProfiles> + + <!-- deploy releases on central-releases repository --> + <release.repository>${central.release.repository}</release.repository> + <!-- release repository url (to be used in site.xml, by default use other-release repository) --> + <repository.home.url>${central.release.home.url}</repository.home.url> + + <!-- must fail if redmine actions failed --> + <redmine.safe>true</redmine.safe> + + <!-- redmine configuration --> + <redmine.url>http://www.${platform}</redmine.url> + <redmine.projectId>${projectId}</redmine.projectId> + <redmine.xmlPath>${maven.gen.dir}/changes/changes.xml</redmine.xmlPath> + <redmine.collectedArtifacts>target/collect-artifacts.txt + </redmine.collectedArtifacts> + <redmine.deploymentUrl>${repository.home.url}</redmine.deploymentUrl> + + </properties> + + <packaging>pom</packaging> + + <distributionManagement> + <site> + <id>${platform}</id> + <url>${our.site.repository}/${projectId}</url> + </site> + </distributionManagement> + + <!--<scm>--> + <!--<connection>scm:svn:http://svn.nuiton.org/svn/mavenpom/trunk/mavenpomdoc</connection>--> + <!--<developerConnection>scm:svn:http://svn.nuiton.org/svn/mavenpom/trunk/mavenpomdoc</developerConnection>--> + <!--<url>http://www.nuiton.org/repositories/browse/mavenpom/trunk/mavenpomdoc</url>--> + <!--</scm>--> + + <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> + + <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> + +</project> Property changes on: trunk/mavenpomdoc/pom.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/mavenpomdoc/src/site/apt/index.apt =================================================================== --- trunk/mavenpomdoc/src/site/apt/index.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/index.apt 2012-04-18 23:31:27 UTC (rev 1239) @@ -0,0 +1,345 @@ +~~~ +~~ #%L +~~ Mavenpom +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 2009 - 2010 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% +~~~ + +------ +Maven nuiton pom +------ +------ +2009-08-22 +------ + +Présentation + + Le projet <mavenpom> est un pom de type <Corporate> dont héritent tous les + projets {{{http://www.codelutin.com}code Lutin}}. + + +* Nouveautés de la version 3.1 + +** Changement du maven-helper-plugin + + Depuis la version 1.4, maven-helper-plugin devien helper-maven-plugin (tout du + moins son GAV). Le site du projet reste bien (pour le moment) + {{http://maven-site.nuiton.org/maven-helper-plugin}}. + +* Nouveautés de la version 3.0.3 + +** Correction des déployements de site + + La version 3.0.3 corrige les problèmes suite au passage sur le + maven-site-plugin 3.0. + + L'héritage des définitions de site ne fonctionne plus, on ne peut donc plus + gérer cela au niveau de mavenpom et ses fils. + + Il faut donc dans chaque projet client ajouter ceci : + +-------------------------------------------------------------------------------- + <distributionManagement> + <site> + <id>${platform}</id> + <url>${our.site.repository}/${projectId}</url> + </site> + </distributionManagement> +-------------------------------------------------------------------------------- + + Les variables *site.repository* et *site.server* ne sont donc plus utiliséees et + sont supprimées sauf pour les projets héritants du mavenpom4labs. + +** Déployements via nexus (plutôt que par ssh) + + On utilise désormais le déployement en http via nexus. + + Il faut donc avoir un nouveau server dans son settings.xml + +-------------------------------------------------------------------------------- + <!-- nexus deployment user --> + <server> + <id>nuiton-nexus-deploy</id> + <username>deployment</username> + <password>{le mot de passe qui va bien :)}</password> + </server> +-------------------------------------------------------------------------------- + +* Nouveautés de la version 3.0 + + La version 3.0 survient avec une nouvelle forge http://forge.codelutin.com + + Cette forge est basée sur redmine et cela a nécessité du coup de revoir + légèrement l'utilisation de la variable <<platform>> et des serveurs dans le + <<settings.xml>>. + +** Modification du settings.xml + + Il faut donc ajouter les serveurs suivants (dans le <<settings.xml>>) : + +------------------------------------------------------------------------------- + <!-- depot site maven sur nuiton.org --> + <server> + <id>nuiton.org</id> + <username>publish</username> + <filePermissions>664</filePermissions> + <directoryPermissions>775</directoryPermissions> + </server> + + + <!-- depot maven + site maven sur chorem.org --> + <server> + <id>chorem.org</id> + <username>publish</username> + <filePermissions>664</filePermissions> + <directoryPermissions>775</directoryPermissions> + </server> + + <!-- depot maven + site maven sur forge.codelutin.com --> + <server> + <id>forge.codelutin.com</id> + <username>publish</username> + <filePermissions>664</filePermissions> + <directoryPermissions>775</directoryPermissions> + </server> + + <!-- depot maven + site maven sur le labs --> + <server> + <id>labs.libre-entreprise.org</id> + <username>votre login sur le labs</username> + <filePermissions>664</filePermissions> + <directoryPermissions>775</directoryPermissions> + </server> + + <!-- login to forge.codelutin.com --> + <server> + <id>redmine-forge.codelutin.com</id> + <username>votre login sur le redmine forge.codelutin.com </username> + <password>{votre password encodé sur forge.codelutin.com}</password> + </server> + +------------------------------------------------------------------------------- + +** Migration des projets + + En théorie, rien à faire tout reste compatible sauf pour les projets + utilisant mavenpom4labs. + + Il faut désormais rajouter la section de définition du server de site car + cela ne fonctionne plus très bien depuis le passage sur le maven-site-plugin 3. + +* Nouveautés de la version 2.5 + + Depuis la version <<2.5>>, chaque librairie ou plugin utilisé dans le mavenpom + ou un de ses fils est configurable via une propriété, il s'agit d'une + généralisation de ce qui était déjà fait sur nos propres plugins et les + librairies. + + Cela permet de pouvoir dans un projet utilisant un des mavenpom de pouvoir + changer les versions de librairies ou plugins sans avoir à redéfinir les + dépendances. + + +** Mise à jour plugins + + * {{{http://maven-site.nuiton.org/maven-helper-plugin}maven-helper-plugin 1.2.11}} + + * {{{http://maven-site.nuiton.org/jrst}jrst 1.2}} + + * {{{http://maven.apache.org/plugins/maven-plugin-plugin/}maven-plugin-plugin 2.7}} + + * {{{http://maven.apache.org/plugins/maven-changes-plugin/}maven-changes-plugin 2.4}} + +* Nouveautés de la version 2.4 + + Depuis la version <<2.4>>, on introduit on gère les librairies les plus souvent + utilisées dans nos projets et ceci pour éviter de repasser dans les poms : c'est + plus facile de changer de mavenpom que de changer les versions dans chaque projet. + + Voir la page des propriétés pour connaitre toutes les librairies connues au + niveau du mavenpom. + + On a aussi renommer toutes les propriétés de versin en utilisant le <camelStyle> + pour faire comme les petits copains de chez Maven. Par exemple <maven.version> + devient <mavenVersion>. + + On a ajouté un profile <analyze-dependencies> qui est automatiquement déclanché + lors d'une release pour vérifier la consistance des dépendances d'un projet. + + Pour le reste, c'est {{{http://nuiton.org/versions/show/198}ici}}. + +* Nouveautés de la version 2.3 + + Depuis la version <<2.3>>, un nouveau type de pom nommé + du <<mavenpom4redmineAndCentral>> pour tous les projets déployés sur redmine + et synchronisés sur Maven central. + + Il hérite du <mavenpom4redmine> et rajoute la configuration pour que cela soit + déployé sur maven central. + + Pour plus d'informations, voir la page de + {{{./mavenpom4redmineAndCentral/index.html} de mavenpom4redmineAndCentral}}. + +* Nouveautés de la version 2.2.2 + +** Simplification des noms de dépôts + + On a supprimé <<nuiton->> de tous les noms de dépôts de release + +** Configuration central-safe améliorée + + La configuration <<central-safe>> a été améliorée, il s'agit désormais d'un + {{{./profiles.html#central_safe}profile central-safe}} qui n'est pas activé + lors d'une release. + + Les projets <<central-safe>> modifie la configuration du <<plugin release>> + pour inclure explicitement ce profile et en <<prepare>> et en <<perform>>. + +** Mise à jour plugins + + * {{{http://maven-site.nuiton.org/maven-helper-plugin}maven-helper-plugin 1.2.6}} + + * {{{http://maven-site.nuiton.org/maven-license-plugin/fr}maven-license-plugin 2.3.1}} + +* Nouveautés de la version 2.2.1 + + Depuis la version <<2.2.1>> on utilise + {{{http://maven-site.nuiton.org/maven-license-plugin/fr}maven-license-plugin 2.3}}. + + Cela permet d'améliorer la qualité des fichiers THIRD-PARTY générés + (dépendances sans license, licenses dupliquées,...). + + On a aussi dans cette version de <mavenpom> ajouté une configuration pour permettre + en phase de préparation de release (<release:prepare>) d'activer les profiles + de releases afin de pouvoir détecter d'éventuelles problèmes avant le tag svn. + +* Nouveautés de la version 2.2 + + Depuis la version <<2.2>> on a amélioré la configuration des serveurs de + déployement et introduit la notion de projet <<central-safe>>. + + Un tel projet répond aux pré-requis d'un projet synchronisable sur {{{http://repo1.maven.org/maven2}central}} : + + * avoir un pom de bonne qualité (informations scm, url, license, ...) + + * être auto-conteneur (pas besoin d'autre dépôts que central) + + * être signé via gpg + + * javadoc et sources disponibles + + [] + + Pour plus d'informations, voir la page de {{{./repositories.html}configuration des serveurs}}. + +Les propriétés + + Voir la page des {{{./properties.html}propriétés}}. + +Les profiles + + Mavenpom définit un certain nombre de profiles. Certains sont dédiés + exclusivement à la préparation de releases, tandis que d'autres permettent de + réaliser certaines tâches pendant le développement (mise à jour des entêtes + des fichiers sources par exemple). + + La page des {{{./profiles.html}profiles}} décrit l'ensemble des profiles. + +Vérification de conformité + + On effectue sur le pom des contrôles de conformités via le plugin + <maven-enforcer-plugin>. + +* propriétés obligatoires + + Aucune à l'heure actuelle + +* Fichiers obligatoires + +-------------------------------------------------------------------------------- +README.txt +changelog.txt +LICENSE.txt +-------------------------------------------------------------------------------- + +Configuration des plugins + + Mavenpom fixe les versions d'un certain nombre de plugins et ceci pour + plusieurs raisons : + + * la <reproductibilité> : en effet, si on ne fixe pas les versions des plugins + on s'expose d'un build à l'autre à ne pas utiliser la même version des + plugins, et donc dans le temps on ne peut pas garantir que le build d'un + projet sera exactement le même. Ceci est une préconisation de <<maven>>. + + * l'<uniformisation> : le fait de fixer le plus grand nombre de versions de + plugin permet aussi de faire profiter à tous les projets héritant de + <<mavenpom>> d'une certaine stabilité et de faire profiter à tous des + dernières versions des plugins testées. + + * un dernier point intéressant est le fait que si on utilise correctement + <<mavenpom>>, on ne doit pas à avoir à gérer les versions des plugins hormis + les exceptions citées dans la section suivante. + +* Les plugins configurés dans mavenpom + + On distingue deux types de plugins : + + * les plugins <<internes>> que nous produisont + (et donc qui dépendent de <<mavenpom>>). + + * les plugins <<externes>> (ceux d'apache, codehaus, plexus,...) qui ne + dépendent pas de <<mavenpom>> + +** Plugins internes + + Nos plugins ne doivent pas être décrit dans <<mavenpom>> et ceci pour la + simple raison que nos propres plugins utilisent <<mavenpom>>, 3 exceptions + existent cependant : + + * <<maven-helper-plugin>> : il est utilisé pour construire les releases + + * <<maven-jredmine-plugin>> : aussi utilisé pour construire les releases + + * <<maven-license-plugin>> : utilisé dans les profiles de mises à jour des + entêtes de licenses. + + [] + + Tous nos autres plugins ne sont pas référencés ici et doivent donc être + entièrement définies (version + configuration) dans vos pom. + +** Plugin externes + + Pour tout plugin dit externe, il peut être référencé dans <<mavenpom>>. + +** Bonnes pratiques sur l'utilisant d'un plugin externe dans votre pom + + Avant de vouloir utiliser un nouveau plugin dans votre pom, consulter en + premier la page des {{{./plugin-management.html}plugins}} connus par <<mavenpom>>. + + Si le plugin est connu, alors pas de question à se poser, on peut l'utiliser + sans spécifier sa version utilisant celle définit dans <<mavenpom>>. + + Si le plugin n'existe pas, faites une demande d'évolution sur le projet + <<mavenpom>>, il sera rapidemment ajouté et vous pourrez l'utiliser en vous + plaçant sur la dernière snapshot de <<mavenpom>>. + Property changes on: trunk/mavenpomdoc/src/site/apt/index.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/mavenpomdoc/src/site/apt/profiles.apt =================================================================== --- trunk/mavenpomdoc/src/site/apt/profiles.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/profiles.apt 2012-04-18 23:31:27 UTC (rev 1239) @@ -0,0 +1,408 @@ +~~~ +~~ #%L +~~ Mavenpom +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 2009 - 2010 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% +~~~ + +------ +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 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>> | +*----------------------------------+------------------------------+ + +* Profiles inclus dans le cycle de release + + 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}} | - | +*----------------------------------+------------------------------+ + +* Profiles inclus dans le cycle de release de mavenpom + + 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>> | +*----------------------------------+------------------------------+ + +Détails + +* Profiles autonomes + +** {no-tests} + + Ce profile permet de ne pas lancer les tests. + {{{Profiles autonomes}[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 +-------------------------------------------------------------------------------- + {{{Profiles autonomes}[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 +-------------------------------------------------------------------------------- + {{{Profiles autonomes}[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 +-------------------------------------------------------------------------------- + {{{Profiles autonomes}[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 +-------------------------------------------------------------------------------- + {{{Profiles autonomes}[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 +-------------------------------------------------------------------------------- + {{{Profiles autonomes}[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 +-------------------------------------------------------------------------------- + {{{Profiles autonomes}[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 +-------------------------------------------------------------------------------- + {{{Profiles autonomes}[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 +-------------------------------------------------------------------------------- + {{{Profiles inclus dans le cycle de release}[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.\ + {{{Profiles inclus dans le cycle de release}[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 {{{http://pgp.mit.edu:11371/pks/lookup?search=Code+Lutin&op=index&fingerprint=on&exact=on}ici}}. + + Pour la récupérer, executer la commande + +-------------------------------------------------------------------------------- +gpg --keyserver hkp://pgp.mit.edu --recv-keys 014A6ED2 +-------------------------------------------------------------------------------- + + + {{{Profiles inclus dans le cycle de release}[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 +-------------------------------------------------------------------------------- + {{{Profiles inclus dans le cycle de release}[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 +-------------------------------------------------------------------------------- + {{{Profiles inclus dans le cycle de release}[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.html}release}}.\ + {{{Profiles inclus dans le cycle de release de mavenpom}[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.html}release}}.\ + {{{Profiles inclus dans le cycle de release de mavenpom}[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.html}release}}.\ + {{{Profiles inclus dans le cycle de release de mavenpom}[remonter]}} Property changes on: trunk/mavenpomdoc/src/site/apt/profiles.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/mavenpomdoc/src/site/apt/properties.apt.vm =================================================================== --- trunk/mavenpomdoc/src/site/apt/properties.apt.vm (rev 0) +++ trunk/mavenpomdoc/src/site/apt/properties.apt.vm 2012-04-18 23:31:27 UTC (rev 1239) @@ -0,0 +1,620 @@ +~~~ +~~ #%L +~~ Mavenpom +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 2009 - 2010 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% +~~~ + +------ +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. + + <<Notation:>> Pour définir l'utilisation d'un propriété du projet, on écrit : + +-------------------------------------------------------------------------------- +(propriété) +-------------------------------------------------------------------------------- + +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>> | +*--------------------------------------+--------------------------------------+ +| {{mavenVersion}} | <<${mavenVersion}>> | +*--------------------------------------+--------------------------------------+ +| {{antVersion}} | <<${antVersion}>> | +*--------------------------------------+--------------------------------------+ +| {{nuitonSkinVersion}} | <<${nuitonSkinVersion}>> | +*--------------------------------------+--------------------------------------+ + + Pour avoir la liste de toutes les dépendances mutualisées dans le projet, + aller sur la page {{{./dependency-management.html}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:${commonsBeanutilsVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{commonsCollectionsVersion}} | <<commons-collections:commons-collections:${commonsCollectionsVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{commonsEmailVersion}} | <<org.apache.commons:commons-email:${commonsEmailVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{commonsHttpclientVersion}} | <<commons-httpclient:commons-httpclient:${commonsHttpclientVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{commonsIoVersion}} | <<commons-io:commons-io:${commonsIoVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{commonsJxpathVersion}} | <<commons-jxpath:commons-jxpath:${commonsJxpathVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{commonsLangVersion}} | <<commons-lang:commons-lang:${commonsLangVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{commonsLang3Version}} | <<org.apache.commons:commons-lang3:${commonsLang3Version}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{commonsLoggingVersion}} | <<commons-logging:commons-logging:${commonsLoggingVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{commonsPrimitivesVersion}} | <<commons-primitives:commons-primitives:${commonsPrimitivesVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{commonsMathVersion}} | <<org.apache.commons:commons-math:${commonsMathVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{guavaVersion}} | <<com.google.guava:guava:${guavaVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{junitVersion}} | <<junit:junit:${junitVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{log4jVersion}} | <<log4j:log4j:${log4jVersion}>> | +*-------------------------------+--------------------------------------------------------------------------+ + +* Propriétés de versions de plugins + + On définit dans le mavenpom beaucoup de versions de plugins. En consultant la + page {{{./plugin-management.html}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 nuiton + +*-------------------------------+--------------------------------------------------------------------------+ +| <<Propriété (plugins nuton)>> | <<GAV>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{helperPluginVersion}} | {{{http://maven-site.nuiton.org/maven-helper-plugin} <<org.nuiton:helper-maven-plugin:${helperPluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ +| {{jredminePluginVersion}} | {{{http://maven-site.nuiton.org/jredmine/maven-jredmine-plugin} <<org.nuiton.jredmine:maven-jredmine-plugin:${jredminePluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ +| {{jrstPluginVersion}} | {{{http://maven-site.nuiton.org/jrst/doxia-module-jrst} <<org.nuiton.jrst:doxia-module-jrst:${jrstPluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ + +** Plugins maven + +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{Propriété (plugins maven)}} | <<GAV>> | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{antRunPluginVersion}} | {{{http://maven.apache.org/plugins/maven-antrun-plugin}<<org.apache.maven.plugins:maven-antrun-plugin:${antRunPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{assemblyPluginVersion}} | {{{http://maven.apache.org/plugins/maven-assembly-plugin}<<org.apache.maven.plugins:maven-assembly-plugin:${assemblyPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{cleanPluginVersion}} | {{{http://maven.apache.org/plugins/maven-clean-plugin}<<org.apache.maven.plugins:maven-clean-plugin:${cleanPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{compilerPluginVersion}} | {{{http://maven.apache.org/plugins/maven-compiler-plugin}<<org.apache.maven.plugins:maven-compiler-plugin:${compilerPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{dependencyPluginVersion}} | {{{http://maven.apache.org/plugins/maven-dependency-plugin}<<org.apache.maven.plugins:maven-dependency-plugin:${dependencyPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{deployPluginVersion}} | {{{http://maven.apache.org/plugins/maven-deploy-plugin}<<org.apache.maven.plugins:maven-deploy-plugin:${deployPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{earPluginVersion}} | {{{http://maven.apache.org/plugins/maven-ear-plugin}<<org.apache.maven.plugins:maven-ear-plugin:${earPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{ejbPluginVersion}} | {{{http://maven.apache.org/plugins/maven-ejb-plugin}<<org.apache.maven.plugins:maven-ejb-plugin:${ejbPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{enforcerPluginVersion}} | {{{http://maven.apache.org/plugins/maven-enforcer-plugin}<<org.apache.maven.plugins:maven-enforcer-plugin:${enforcerPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{gpgPluginVersion}} | {{{http://maven.apache.org/plugins/maven-gpg-plugin}<<org.apache.maven.plugins:maven-gpg-plugin:${gpgPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{installPluginVersion}} | {{{http://maven.apache.org/plugins/maven-install-plugin}<<org.apache.maven.plugins:maven-install-plugin:${installPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{invokerPluginVersion}} | {{{http://maven.apache.org/plugins/maven-invoker-plugin}<<org.apache.maven.plugins:maven-invoker-plugin:${invokerPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{jarPluginVersion}} | {{{http://maven.apache.org/plugins/maven-jar-plugin}<<org.apache.maven.plugins:maven-jar-plugin:${jarPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{javadocPluginVersion}} | {{{http://maven.apache.org/plugins/maven-javadoc-plugin}<<org.apache.maven.plugins:maven-javadoc-plugin:${javadocPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{pluginPluginVersion}} | {{{http://maven.apache.org/plugins/maven-plugin-plugin}<<org.apache.maven.plugins:maven-plugin-plugin:${pluginPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{pmdPluginVersion}} | {{{http://maven.apache.org/plugins/maven-pmd-plugin}<<org.apache.maven.plugins:maven-pmd-plugin:${pmdPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{releasePluginVersion}} | {{{http://maven.apache.org/plugins/maven-release-plugin}<<org.apache.maven.plugins:maven-release-plugin:${releasePluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{remoteResourcesPluginVersion}} | {{{http://maven.apache.org/plugins/maven-remote-resources-plugin}<<org.apache.maven.plugins:maven-remote-resources-plugin:${remoteResourcesPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{resourcesPluginVersion}} | {{{http://maven.apache.org/plugins/maven-resources-plugin}<<org.apache.maven.plugins:maven-resources-plugin:${resourcesPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{site2PluginVersion}} | {{{http://maven.apache.org/plugins/maven-site-plugin}<<org.apache.maven.plugins:maven-site-plugin:${site2PluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{site3PluginVersion}} | {{{http://maven.apache.org/plugins/maven-site-plugin-3.0-beta-3}<<org.apache.maven.plugins:maven-site-plugin:${site3PluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{sourcePluginVersion}} | {{{http://maven.apache.org/plugins/maven-source-plugin}<<org.apache.maven.plugins:maven-source-plugin:${sourcePluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{surefirePluginVersion}} | {{{http://maven.apache.org/plugins/maven-surefire-plugin}<<org.apache.maven.plugins:maven-surefire-plugin:${surefirePluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ +| {{warPluginVersion}} | {{{http://maven.apache.org/plugins/maven-war-plugin}<<org.apache.maven.plugins:maven-war-plugin:${warPluginVersion}>>}} | +*----------------------------------+---------------------------------------------------------------------------------------------+ + +** Plugins mojo (codehaus) + +*-------------------------------+--------------------------------------------------------------------------+ +| {{Propriété (plugins mojo)}} | <<GAV>> | +*-------------------------------+--------------------------------------------------------------------------+ +| {{coberturaPluginVersion}} | {{{http://mojo.codehaus.org/cobertura-maven-plugin}<<org.codehaus.mojo:cobertura-maven-plugin:${coberturaPluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ +| {{execPluginVersion}} | {{{http://mojo.codehaus.org/exec-maven-plugin}<<org.codehaus.mojo:exec-maven-plugin:${execPluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ +| {{findbugsPluginVersion}} | {{{http://mojo.codehaus.org/findbugs-maven-plugin}<<org.codehaus.mojo:findbugs-maven-plugin:${findbugsPluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ +| {{gwtPluginVersion}} | {{{http://mojo.codehaus.org/gwt-maven-plugin}<<org.codehaus.mojo:gwt-maven-plugin:${gwtPluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ +| {{licensePluginVersion}} | {{{http://mojo.codehaus.org/license-maven-plugin}<<codehaus.mojo:license-maven-plugin:${licensePluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ +| {{versionsPluginVersion}} | {{{http://mojo.codehaus.org/versions-maven-plugin}<<org.codehaus.mojo:versions-maven-plugin:${versionsPluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ +| {{wagonPluginVersion}} | {{{http://mojo.codehaus.org/wagon-maven-plugin}<<org.codehaus.mojo:wagon-maven-plugin:${wagonPluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ +| {{webstartPluginVersion}} | {{{http://mojo.codehaus.org/webstart/webstart-maven-plugin}<<org.codehaus.mojo.webstart:webstart-maven-plugin:${webstartPluginVersion}>>}} | +*-------------------------------+--------------------------------------------------------------------------+ + +** Plugins plexus (mojo) + +*-------------------------------+------------------------------------------------------------------------------------------------------+ +| {{Propriété (plugins plexus)}} | <<GAV>> | +*------------------------------------------+-------------------------------------------------------------------------------------------+ +| {{plexusPluginVersion}} | {{{http://plexus.codehaus.org/plexus-maven-plugin}<<org.codehaus.plexus:plexus-maven-plugin:${plexusPluginVersion}>>}} | +*------------------------------------------+-------------------------------------------------------------------------------------------+ +| {{plexusComponentMetadataPluginVersion}} | {{{http://plexus.codehaus.org/plexus-containers/plexus-component-metadata}<<org.codehaus.plexus:plexus-component-metadata:${plexusComponentMetadataPluginVersion}>>}} | +*------------------------------------------+-------------------------------------------------------------------------------------------+ + +** Autres plugins + +*-------------------------------------+------------------------------------------------------------------------------------------------+ +| {{Propriété (autre plugins)}} | <<GAV>> | +*-------------------------------------+------------------------------------------------------------------------------------------------+ +| {{androidPluginVersion}} | <<com.jayway.maven.plugins.android.generation2:maven-android-plugin:${androidPluginVersion}>> | +*-------------------------------------+------------------------------------------------------------------------------------------------+ +| {{jettyPluginVersion}} | {{{http://mojo.codehaus.org/jetty-maven-plugin}<<org.mortbay.jetty:jetty-maven-plugin:${jettyPluginVersion}>>}} | +*-------------------------------------+------------------------------------------------------------------------------------------------+ +| {{tomcatPluginVersion}} | {{{http://tomcat.apache.org/maven-plugin-${tomcatPluginVersion}/}<<org.apache.tomcat.maven:tomcat6-maven-plugin:${tomcatPluginVersion}>>}} | +*-------------------------------------+------------------------------------------------------------------------------------------------+ +| {{tomcatPluginVersion}} | {{{http://tomcat.apache.org/maven-plugin-${tomcatPluginVersion}/}<<org.apache.tomcat.maven:tomcat7-maven-plugin:${tomcatPluginVersion}>>}} | +*-------------------------------------+------------------------------------------------------------------------------------------------+ +| {{statScmPluginVersion}} | {{{http://stat-scm.sourceforge.net}<<net.sf:stat-scm:${statScmPluginVersion}>>}} | +*-------------------------------------+------------------------------------------------------------------------------------------------+ + +** Plugins de report + +*-------------------------------------+----------------------------------------------------------------------------------------------------+ +| {{Propriété (reports)}} | <<GAV>> | +*-------------------------------------+----------------------------------------------------------------------------------------------------+ +| {{changesPluginVersion}} | {{{http://maven.apache.org/plugins/maven-changes-plugin}<<org.apache.maven.plugins:maven-changes-plugin:${changesPluginVersion}>>}} | +*-------------------------------------+----------------------------------------------------------------------------------------------------+ +| {{projectInfoReportsPluginVersion}} | {{{http://maven.apache.org/plugins/maven-project-info-reports-plugin}<<org.apache.maven.plugins:maven-project-info-reports-plugin:${projectInfoReportsPluginVersion}>>}} | +*-------------------------------------+----------------------------------------------------------------------------------------------------+ +| {{changelogPluginVersion}} | {{{http://maven.apache.org/plugins/maven-changelog-plugin}<<org.apache.maven.plugins:maven-changelog-plugin:${changelogPluginVersion}>>}} | +*-------------------------------------+----------------------------------------------------------------------------------------------------+ +| {{jrxPluginVersion}} | {{{http://maven.apache.org/plugins/maven-jxr-plugin}<<org.apache.maven.plugins:maven-jxr-plugin:${jrxPluginVersion}>>}} | +*-------------------------------------+----------------------------------------------------------------------------------------------------+ +| {{sonarReportPluginVersion}} | {{{http://docs.codehaus.org/display/SONAR/Sonar+Maven+report}<<org.codehaus.sonar-plugins:maven-report:${sonarReportPluginVersion}>>}} | +*-------------------------------------+----------------------------------------------------------------------------------------------------+ + + +* Propriétés de génération de site et reports + +*--------------------------------------+--------------------------------------------------------+ +| <<Propriété>> | <<Valeur par défaut>> | +*--------------------------------------+--------------------------------------------------------+ +| {{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>> | +*--------------------------------------+--------------------------------------------------------+ +| {{ci.host.url}} | <<http://ci.(platform)/sonar>> | +*--------------------------------------+--------------------------------------------------------+ +| {{qa.host.url}} | <<http://qa.(platform)/jenkins>> | +*--------------------------------------+--------------------------------------------------------+ + +* 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 host de la plateforme utilisée. + +-------------------------------------------------------------------------------- +nuiton.org +chorem.org +forge.codelutin.com +labs.libre-entreprise.org +-------------------------------------------------------------------------------- + {{{Propriétés générales du projet}[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.\ + {{{Propriétés générales du projet}[remonter]}} + +** {listId} + + Le préfixe utilisé pour les listes de diffusion. + +-------------------------------------------------------------------------------- +(projectId) +-------------------------------------------------------------------------------- + {{{Propriétés générales du projet}[remonter]}} + +** {maven.compile.source} + + Le niveau de java utilisé dans les sources (par défaut <<1.6>>)\ + {{{Propriétés générales du projet}[remonter]}} + +** {maven.compile.target} + + Le niveau de java utilisé dans le code compilé (par défaut <<1.6>>)\ + {{{Propriétés générales du projet}[remonter]}} + +** {maven.compile.encoding} + + Encoding à utiliser dans les sources (par défaut <<UTF-8>>)\ + {{{Propriétés générales du projet}[remonter]}} + +** {project.reporting.outputEncoding} + + Encoding à utiliser dans le site (par défaut <<UTF-8>>)\ + {{{Propriétés générales du projet}[remonter]}} + +** {maven.src.dir} + + Répertoire des sources + +-------------------------------------------------------------------------------- +(project.basedir)/src +-------------------------------------------------------------------------------- + {{{Propriétés générales du projet}[remonter]}} + +** {maven.gen.dir} + + Répertoire de génération + +-------------------------------------------------------------------------------- +(project.basedir)/target/generated-sources +-------------------------------------------------------------------------------- + {{{Propriétés générales du projet}[remonter]}} + +** {maven.license.file} + + Chemin vers la license utilisée dans le projet. + +-------------------------------------------------------------------------------- +(project.basedir)/LICENSE.txt +-------------------------------------------------------------------------------- + {{{Propriétés générales du projet}[remonter]}} + +* Détail des propriétés de versions + +** {mavenVersion} + + La version de l'api de maven utilisée (principalement dans les plugins maven) + : <<${mavenVersion}>>\ + {{{Propriétés de versions}[remonter]}} + +** {antVersion} + + La version de l'api de ant utilisée (principalement dans les modules de tâches ant).\ + {{{Propriétés de versions}[remonter]}} + +** {nuitonSkinVersion} + + La version de notre skin + {{{http://maven-site.nuiton.org/maven-nuiton-skin}maven-nuiton-skin}} + utilisé pour la génération des sites maven.\ + {{{Propriétés de versions}[remonter]}} + +** {commonsBeanutilsVersion} + + La version de la librairie + {{{http://commons.apache.org/beanutils}commons-beanutils}}.\ + {{{Propriétés de versions}[remonter]}} + +** {commonsCollectionsVersion} + + La version de la librairie + {{{http://commons.apache.org/collections}commons-collections}}.\ + {{{Propriétés de versions}[remonter]}} + +** {commonsEmailVersion} + + La version de la librairie + {{{http://commons.apache.org/email}commons-email}}.\ + {{{Propriétés de versions}[remonter]}} + +** {commonsHttpclientVersion} + + La version de la librairie + {{{http://hc.apache.org/httpclient-3.x}commons-http-client}}.\ + {{{Propriétés de versions}[remonter]}} + +** {commonsIoVersion} + + La version de la librairie + {{{http://commons.apache.org/io}commons-io}}.\ + {{{Propriétés de versions}[remonter]}} + +** {commonsJxpathVersion} + + La version de la librairie + {{{http://commons.apache.org/jxpath}commons-jxpath}}.\ + {{{Propriétés de versions}[remonter]}} + +** {commonsLangVersion} + + La version de la librairie (en version 2) + {{{http://commons.apache.org/lang}commons-lang}}.\ + {{{Propriétés de versions}[remonter]}} + +** {commonsLang3Version} + + La version de la librairie + {{{http://commons.apache.org/lang}commons-lang}}.\ + {{{Propriétés de versions}[remonter]}} + +** {commonsLoggingVersion} + + La version de la librairie + {{{http://commons.apache.org/logging}commons-logging}}.\ + {{{Propriétés de versions}[remonter]}} + +** {commonsPrimitivesVersion} + + La version de la librairie + {{{http://commons.apache.org/primitives}commons-primitives}}.\ + {{{Propriétés de versions}[remonter]}} + +** {junitVersion} + + La version de la librairie + {{{http://www.junit.org}junit}}.\ + {{{Propriétés de versions}[remonter]}} + +** {log4jVersion} + + La version de la librairie + {{{http://logging.apache.org/log4j/1.2}log4j}}.\ + {{{Propriétés de versions}[remonter]}} + +* Détail des propriétés de génération de site et reports + +** {siteSourcesType} + + Le type de fichiers utilisé pour écrire la documentation du site + (<<apt>> ou <<rst>>) (par défaut <<rst>>).\ + {{{Propriétés de génération de site et reports}[remonter]}} + +** {central.release.home.url} + + L'url du dépôt des releases dite central-safe.\ + {{{Propriétés de génération de site et reports}[remonter]}} + +** {other.release.home.url} + + L'url du dépôt des releases dite none central-safe.\ + {{{Propriétés de génération de site et reports}[remonter]}} + +** {repository.home.url} + + L'url du dépôt maven de release du projet. Par défault on utilise + le {{{http://maven.nuiton.org/other-releases}dépôt non central safe }}. + + En utilisant le profile <<central-safe>>, cette propriété passe à : + {{{http://maven.nuiton.org/central-releases}dépôt central safe}}\ + {{{Propriétés de génération de site et reports}[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...).\ + {{{Propriétés de génération de site et reports}[remonter]}} + +** {scmwebeditorUrl} + + L'url de l'application scmwebeditor qui permet d'éditer le site en ligne.\ + {{{Propriétés de génération de site et reports}[remonter]}} + +** {piwikEnabled} + Pour activer (ou déasactiver) la génération de l'analyze du site généré via + Piwik.\ + {{{Propriétés de génération de site et reports}[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.\ + {{{Propriétés de génération de site et reports}[remonter]}} + +** {sonar.host.url} + + L'url du serveur sonar.\ + {{{Propriétés de génération de site et reports}[remonter]}} + +** {jenkins.host.url} + + L'url du serveur jenkins.\ + {{{Propriétés de génération de site et reports}[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.\ + {{{Propriétés de génération de site et reports}[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)>>.\ + {{{Propriétés pour les déployements}[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>>.\ + {{{Propriétés pour les déployements}[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 +-------------------------------------------------------------------------------- + {{{Propriétés pour les déployements}[remonter]}} + +** {release.repository} + + Url du dépôt maven où deployer les releases, par défaut : <<(other.release.repository)>>.\ + {{{Propriétés pour les déployements}[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>>.\ + {{{Propriétés pour les déployements}[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 +-------------------------------------------------------------------------------- + {{{Propriétés pour les déployements}[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 +-------------------------------------------------------------------------------- + {{{Propriétés pour les déployements}[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) +-------------------------------------------------------------------------------- + {{{Propriétés pour les déployements}[remonter]}} + Property changes on: trunk/mavenpomdoc/src/site/apt/properties.apt.vm ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/mavenpomdoc/src/site/apt/release.apt =================================================================== --- trunk/mavenpomdoc/src/site/apt/release.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/release.apt 2012-04-18 23:31:27 UTC (rev 1239) @@ -0,0 +1,107 @@ +~~~ +~~ #%L +~~ Mavenpom +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 2009 - 2010 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% +~~~ + +------ +Effectuer une release +------ +------ +2010-01-10 +------ + +Abstract + + Cette page décrit la méthode pour effectuer une release de mavenpom. Mavenpom devant être neutre + par rapport à un quelconque environnement, on utilise des profiles uniquement réservés à <<mavenpom>>. + + + L'opération se déroule en 3 étapes. + +Etape 1 + + Effectuer une release normal + +-------------------------------------------------------------------------------- +mvn release:prepare -Dinternal +mvn release:perform -Dinternal +-------------------------------------------------------------------------------- + +Etape 2 + + Dans cette phase, on va : + + * Deployement des fichiers vers redmine + + * Créer les announces de release + + [] + + On travaille sur la version utilisée pour faire la release. + +-------------------------------------------------------------------------------- +cd target/checkout +-------------------------------------------------------------------------------- + + La commande suivante simule (sans rien déployer) + +-------------------------------------------------------------------------------- +mvn -Dinternal -DinternalRedminePreRelease -N +-------------------------------------------------------------------------------- + + Si aucune erreur lors de l'execution, on lance la commande suivante + +-------------------------------------------------------------------------------- +mvn -Dinternal -DinternalRedminePreRelease -DdryRun=false -N +-------------------------------------------------------------------------------- + + A ce stade, les annonces ont été créées ici + +-------------------------------------------------------------------------------- +target/generated-sources/announcement/release-news-announcement.vm +target/generated-sources/announcement/release-email-announcement.vm +-------------------------------------------------------------------------------- + +Etape 3 + + On finalise la release après avoir finaliser les annonces (si nécessaire) : + + * Mise à jour de la version sur redmine (on la clôture) + + * Envoie de l'email d'annonce de release + + * Publication de l'annonce de release sur redmine + + [] + + La commande suivante simule (sans rien publier) : + +-------------------------------------------------------------------------------- +mvn -Dinternal -DinternalRedmineRelease -N +-------------------------------------------------------------------------------- + + Si aucune erreur, on peut lancer la commande réelle + +-------------------------------------------------------------------------------- +mvn -Dinternal -DinternalRedmineRelease -DdryRun=false -N +-------------------------------------------------------------------------------- Property changes on: trunk/mavenpomdoc/src/site/apt/release.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/mavenpomdoc/src/site/apt/repositories.apt =================================================================== --- trunk/mavenpomdoc/src/site/apt/repositories.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/repositories.apt 2012-04-18 23:31:27 UTC (rev 1239) @@ -0,0 +1,156 @@ +~~~ +~~ #%L +~~ Mavenpom +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 2009 - 2010 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% +~~~ + +------ +Utilisation des dépôts maven +------ +------ +2010-06-17 +------ + +Présentation + + Cette page explique comment configurer mavenpom pour déployer des artifacts. + + On distingue trois types de serveur : + + * dépôt maven de snapshots (voir {{{Déployer une snapshot}section snapshot}}). + + * dépôt maven de releases (voir {{{Déployer une release}section release}}). + + * dépôt de sites (voir {{{Déployer un site}section site}}). + +Déployer une snapshot + + Mavenpom définit grâce à deux propriétés : + + * {{{./properties.html#snapshot.repository}snapshot.repository}} + + * {{{./properties.html#snapshot.server}snapshot.server}} + + [] + + En résumé, voici la définition du serveur où déployer les snapshots : + +-------------------------------------------------------------------------------- +<snapshotRepository> + <id>${snapshot.server}</id> + <url>${snapshot.repository}</url> +</snapshotRepository> +-------------------------------------------------------------------------------- + + Par défaut, on utilise les valeurs suivantes pour le paramétrage : + + * <repository> : {{{./properties.html#our.snapshot.repository}our.snapshot.repository}} + + * <server> : <<nuiton>> + + Pour modifier le dépôt il suffit donc de rajouter dans la section <properties> + une nouvelle valeur pour l'un des deux paramètres.\ + {{{Présentation}[remonter]}} + +Déployer une release + + Mavenpom définit grâce à deux propriétés : + + * {{{./properties.html#release.repository}release.repository}} + + * {{{./properties.html#release.server}release.server}} + + [] + + En résumé, voici la définition du serveur où déployer les releases : + +-------------------------------------------------------------------------------- +<repository> + <id>${release.server}</id> + <url>${release.repository}</url> +</repository> +-------------------------------------------------------------------------------- + + Par défaut, on utilise les valeurs suivantes pour le paramétrage : + + * <repository> : {{{./properties.html#other.release.repository}other.release.repository}} + + * <server> : <<nuiton>> + + Pour modifier le dépôt il suffit donc de rajouter dans la section <properties> + une nouvelle valeur pour l'un des deux paramètres.\ + {{{Présentation}[remonter]}} + +* Paramétrage pour un projet <<central-unsafe>> + + Il suffit d'utiliser la configuration par défaut. + {{{Présentation}[remonter]}} + +* Paramétrage pour un projet <<central-safe>> + + Pour rendre un projet central-safe, il faut utiliser le bon dépôt de release : + {{{./properties.html#central.release.repository}central.release.repository}}. + + Pour assurer que le projet est bien compatible, on inclut le profile + <<central-safe>> dans le cycle de release. + + Pour ce faire ajouter dans la section <<properties>> du projet ceci : + +-------------------------------------------------------------------------------- + <!-- release config --> + + <!-- activate this profile while doing release:prepare --> + <arguments>-DperformRelease -Pcentral-safe</arguments> + + <!-- activate this profile while doing release:perform --> + <releaseProfiles>central-safe</releaseProfiles> +-------------------------------------------------------------------------------- + {{{Présentation}[remonter]}} + +Déployer un site + + Mavenpom définit grâce à deux propriétés : + + * {{{./properties.html#site.repository}site.repository}} + + * {{{./properties.html#site.server}site.server}} + + [] + + En résumé, voici la définition du serveur où déployer les sites : + +-------------------------------------------------------------------------------- +<site> + <id>${site.server}</id> + <url>${site.repository}</url> +</site> +-------------------------------------------------------------------------------- + + Par défaut, on utilise les valeurs suivantes pour le paramétrage : + + * <repository> : {{{./properties.html#our.site.repository}our.site.repository}} + + * <server> : <<nuiton>> + + Pour modifier le dépôt il suffit donc de rajouter dans la section <properties> + une nouvelle valeur pour l'un des deux paramètres.\ + {{{Présentation}[remonter]}} \ No newline at end of file Property changes on: trunk/mavenpomdoc/src/site/apt/repositories.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/mavenpomdoc/src/site/site.xml =================================================================== --- trunk/mavenpomdoc/src/site/site.xml (rev 0) +++ trunk/mavenpomdoc/src/site/site.xml 2012-04-18 23:31:27 UTC (rev 1239) @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + #%L + Mavenpom + + $Id$ + $HeadURL$ + %% + Copyright (C) 2009 - 2010 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 name="${project.name}"> + + <skin> + <groupId>org.apache.maven.skins</groupId> + <artifactId>maven-fluido-skin</artifactId> + <version>1.2.1</version> + </skin> + + <custom> + <fluidoSkin> + <topBarEnabled>true</topBarEnabled> + <googleSearch/> + <sideBarEnabled>false</sideBarEnabled> + <searchEnabled>true</searchEnabled> + <sourceLineNumbersEnabled>true</sourceLineNumbersEnabled> + </fluidoSkin> + </custom> + + <bannerLeft> + <name>${project.name}</name> + <href>index.html</href> + </bannerLeft> + + <bannerRight> + <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> + <href>${project.organization.url}</href> + </bannerRight> + + <body> + + <breadcrumbs> + <item name="${project.name}" href="${project.url}"/> + </breadcrumbs> + + <links> + <item name="Chorem" href="http://www.chorem.org"/> + <item name="Nuiton" href="http://www.nuiton.org"/> + <item name="Nuiton" href="http://www.forge.codelutin.com"/> + <item name="${project.organization.name}" + href="${project.organization.url}"/> + </links> + + <menu ref="modules"/> + + <menu name="Utiliser mavenpom"> + <item name="Accueil" href="index.html"/> + <item name="Propriétés" href="properties.html"/> + <item name="Profiles" href="profiles.html"/> + <item name="Configuration des serveurs" href="repositories.html"/> + </menu> + + <menu name="Développeur"> + <item name="Faire une release de mavenpom" href="release.html"/> + <item name="Maven best pratices" href="MavenProjectBestPratices.html"/> + </menu> + + <menu name="Liens"> + <item name="maven-nuiton-skin" + href="http://maven-site.nuiton.org/maven-nuiton-skin"/> + <item name="helper-maven-plugin" + href="http://maven-site.nuiton.org/helper-maven-plugin"/> + <item name="jredmine-maven-plugin" + href="http://maven-site.nuiton.org/jredmine/jredmine-maven-plugin"/> + <item name="license-maven-plugin" + href="http://mojo.codehaus.org/license-maven-plugin/"/> + + </menu> + + <menu ref="reports"/> + + </body> +</project> Property changes on: trunk/mavenpomdoc/src/site/site.xml ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2012-04-09 08:29:10 UTC (rev 1238) +++ trunk/pom.xml 2012-04-18 23:31:27 UTC (rev 1239) @@ -38,6 +38,7 @@ <modules> <module>mavenpom4redmine</module> <module>mavenpom4labs</module> + <module>mavenpomdoc</module> </modules> <!-- ************************************************************* -->
participants (1)
-
tchemit@users.nuiton.org