r1026 - in trunk: . mavenpom4labs mavenpom4labs/src/site/apt mavenpom4redmine/mavenpom4redmineAndCentral src/site/apt
Author: tchemit Date: 2010-10-28 19:26:01 +0200 (Thu, 28 Oct 2010) New Revision: 1026 Url: http://nuiton.org/repositories/revision/mavenpom/1026 Log: improve release documentation Anomalie #1004: Use the performRelease property on release:prepare to make sure everything is ok before tagging improve pom documentation Modified: trunk/mavenpom4labs/pom.xml trunk/mavenpom4labs/src/site/apt/release.apt trunk/mavenpom4redmine/mavenpom4redmineAndCentral/pom.xml trunk/pom.xml trunk/src/site/apt/index.apt trunk/src/site/apt/properties.apt Modified: trunk/mavenpom4labs/pom.xml =================================================================== --- trunk/mavenpom4labs/pom.xml 2010-10-28 16:09:23 UTC (rev 1025) +++ trunk/mavenpom4labs/pom.xml 2010-10-28 17:26:01 UTC (rev 1026) @@ -118,18 +118,18 @@ <labs.list.host>lists.${platform}</labs.list.host> - <!--default license to use--> - <!--<license.licenseName>gpl_v3</license.licenseName>--> + <!-- default license to use for sons --> + <license.licenseName>gpl_v3</license.licenseName> + <!-- the platform is labs for all sons --> <platform>labs.libre-entreprise.org</platform> <!-- disable scmwebeditor in generated site --> <scmwebeditorEnabled>false</scmwebeditorEnabled> + <!-- sonar still stay on nuiton server --> <sonar.host.url>http://hudson.nuiton.org/sonar</sonar.host.url> - <license.licenseName>gpl_v3</license.licenseName> - <!-- ceux qui utilisent mavenpom4labs sont sur le labs --> <site.server>labs</site.server> <site.repository>scpexe://${platform}/home/groups/${projectId}/htdocs</site.repository> @@ -237,7 +237,6 @@ </then> <else> <echo message="Skip Copy changelog.txt to src/site/rst/release-note.rst (not rst documentation)" /> - </else> </if> </tasks> Modified: trunk/mavenpom4labs/src/site/apt/release.apt =================================================================== --- trunk/mavenpom4labs/src/site/apt/release.apt 2010-10-28 16:09:23 UTC (rev 1025) +++ trunk/mavenpom4labs/src/site/apt/release.apt 2010-10-28 17:26:01 UTC (rev 1026) @@ -34,15 +34,83 @@ Cette page décrit la méthode pour effectuer une release d'un projet héritant de <<mavenpom4labs>>. +A savoir avant de faire une release d'un projet de type labs + + Contrairement aux projets sur redmine, les releases sont beaucoups moins + abouties (pas de gestion de trackers, pas de déployement de fichiers, ...) + + Il y a quand même 2 choses qui peuvent être faites : + + * Ecrire un fichier changelog.txt à la racine du projet au format <<rst>>, + il sera incorporé au site généré sur la page <release-note.html>. + + Par exemple : {{http://observe.labs.libre-entreprise.org/observe/release-note.html}} + + * Ecrire les email d'annonces, dans le répertoire <src/announcement> sous la + forme <release-email-XXX.txt> où XXX est le numéro de version. + + Par exemple : {{https://svn.mpl.ird.fr/osiris/observe/trunk/src/announcement/}} + Etape 1 - Effectuer une release normal + Effectuer une release normal (enfin prèsque...) (voir les deux sections suivantes). -------------------------------------------------------------------------------- mvn release:prepare mvn release:perform -------------------------------------------------------------------------------- +* Conseil avant de lancer le prepare (pour l'utilisation d'un svn+ssh) + + Dans les pom on a un scm de la forme : + +-------------------------------------------------------------------------------- +<developerConnection> + scm:svn:svn+ssh://${username}@labs.libre-entreprise.org/svnroot/vradi/vradi/trunk +</developerConnection> +-------------------------------------------------------------------------------- + + Le mieux c'est de le laisser tel quel dans le pom et de faire la manipulation suivante : + +-------------------------------------------------------------------------------- +mvn release:prepare +-------------------------------------------------------------------------------- + + Cela va casse quand il veut commiter le tag, mais c'est pas grave, on va + ensuite modifier la propriété <scm.url> du fichier <release.properties> en + remplaçant le <username> par votre username. + + Puis en relançant le prepare tout va mieux... le tag est bien crée. A noter + que lorsque l'on relance le second prepare il ne fait que le dernière partie + des commits svn donc c'est très rapide. + + Cette procédure (en peu tordu certes) permet de toujours laisser le <username> + dans le pom. + +* Conseil avant de lancer le perform + + On connait un problème sur le labs lors du déployement des sites, il faut donc + avant de faire le perform, aller sur le labs et déplacer le site actuel. Je + préconise d'utiliser comme convention <nomDuprojet-version> (exemple <nada-0.3.2>). + + exemple pour le projet nada déjà release en version 0.0 : + +-------------------------------------------------------------------------------- +ssh nadaUser@labs.libre-entreprise.org +(cd /home/groups/nana/htdocs ; mv nana nada-0.0) +-------------------------------------------------------------------------------- + + +Etape 2 + + Si vous avez un répertoire src/announcement/ avec des fichiers release-meail-XXX.txt + l'envoie de l'email peut être fait tout seul : + +-------------------------------------------------------------------------------- +cd target/checkout +mvn -N -DdryRun=false -DperformLabsRelease +-------------------------------------------------------------------------------- + Pour le moment, il n'y rien d'autre de disponible mais à terme on aura les mêmes fonctionnalités que pour les releases de <mavenpom4redmine> à savoir: Modified: trunk/mavenpom4redmine/mavenpom4redmineAndCentral/pom.xml =================================================================== --- trunk/mavenpom4redmine/mavenpom4redmineAndCentral/pom.xml 2010-10-28 16:09:23 UTC (rev 1025) +++ trunk/mavenpom4redmine/mavenpom4redmineAndCentral/pom.xml 2010-10-28 17:26:01 UTC (rev 1026) @@ -68,9 +68,6 @@ <!-- pour casser l'héritage depuis mavenpom --> <site.repository>${our.site.repository}</site.repository> - <!-- activate this profile while doing release:prepare --> - <arguments>-DperformRelease</arguments> - <!-- deploy releases on central-releases repository --> <release.repository>${central.release.repository}</release.repository> Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2010-10-28 16:09:23 UTC (rev 1025) +++ trunk/pom.xml 2010-10-28 17:26:01 UTC (rev 1026) @@ -218,7 +218,6 @@ <jredminePluginVersion>1.1.4</jredminePluginVersion> <licensePluginVersion>2.4.1</licensePluginVersion> <jrstPluginVersion>1.1.1</jrstPluginVersion> - <processorVersion>1.0.4-SNAPSHOT</processorVersion> <nuitonSkinVersion>1.0.4</nuitonSkinVersion> <javadocPluginVersion>2.7</javadocPluginVersion> <webstartPluginVersion>1.0-alpha-2-cl_20100511</webstartPluginVersion> @@ -289,8 +288,12 @@ <!-- release configuration --> + <!-- all modules shares the same version in our projects --> <autoVersionSubmodules>true</autoVersionSubmodules> + <!-- activate this profile while doing release:prepare to make sur everything is ok (license, third-party...) --> + <arguments>-DperformRelease</arguments> + </properties> <packaging>pom</packaging> Modified: trunk/src/site/apt/index.apt =================================================================== --- trunk/src/site/apt/index.apt 2010-10-28 16:09:23 UTC (rev 1025) +++ trunk/src/site/apt/index.apt 2010-10-28 17:26:01 UTC (rev 1026) @@ -35,6 +35,24 @@ 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 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é Modified: trunk/src/site/apt/properties.apt =================================================================== --- trunk/src/site/apt/properties.apt 2010-10-28 16:09:23 UTC (rev 1025) +++ trunk/src/site/apt/properties.apt 2010-10-28 17:26:01 UTC (rev 1026) @@ -76,8 +76,6 @@ *--------------------------------------+--------------------------------------+ | {{jredminePluginVersion}} | <<1.1.4>> | *--------------------------------------+--------------------------------------+ -| {{processorVersion}} | <<1.0.4>> | -*--------------------------------------+--------------------------------------+ | {{licensePluginVersion}} | <<2.4.1>> | *--------------------------------------+--------------------------------------+ | {{javadocPluginVersion}} | <<2.7>> |
participants (1)
-
tchemit@users.nuiton.org