r1241 - in trunk: mavenpom4labs/src/site/apt mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt mavenpom4redmine/src/site/apt mavenpomdoc/src/site mavenpomdoc/src/site/apt mavenpomdoc/src/site/apt/mavenpom4labs mavenpomdoc/src/site/apt/mavenpom4redmine mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral
Author: tchemit Date: 2012-04-19 18:39:07 +0200 (Thu, 19 Apr 2012) New Revision: 1241 Url: http://nuiton.org/repositories/revision/mavenpom/1241 Log: refs #2058: Remove mavenpom site descriptors refs #2060: Introduce new module (mavenpomdoc) for documentation of mavenpom Added: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/ trunk/mavenpomdoc/src/site/apt/mavenpom4labs/index.apt trunk/mavenpomdoc/src/site/apt/mavenpom4labs/minimalpom.apt trunk/mavenpomdoc/src/site/apt/mavenpom4labs/profiles.apt trunk/mavenpomdoc/src/site/apt/mavenpom4labs/properties.apt trunk/mavenpomdoc/src/site/apt/mavenpom4labs/release.apt trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/index.apt trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/minimalpom.apt trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/profiles.apt trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/properties.apt trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/release.apt trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/ trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/index.apt trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/minimalpom.apt trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/release.apt Removed: trunk/mavenpom4labs/src/site/apt/index.apt trunk/mavenpom4labs/src/site/apt/minimalpom.apt trunk/mavenpom4labs/src/site/apt/profiles.apt trunk/mavenpom4labs/src/site/apt/properties.apt trunk/mavenpom4labs/src/site/apt/release.apt trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/index.apt trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/minimalpom.apt trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/release.apt trunk/mavenpom4redmine/src/site/apt/index.apt trunk/mavenpom4redmine/src/site/apt/minimalpom.apt trunk/mavenpom4redmine/src/site/apt/profiles.apt trunk/mavenpom4redmine/src/site/apt/properties.apt trunk/mavenpom4redmine/src/site/apt/release.apt Modified: trunk/mavenpomdoc/src/site/site.xml Deleted: trunk/mavenpom4labs/src/site/apt/index.apt =================================================================== --- trunk/mavenpom4labs/src/site/apt/index.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4labs/src/site/apt/index.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,119 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4labs -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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% -~~~ - ------- -Mavenpom4labs ------- ------- -2010-01-19 ------- - -Présentation - - Le projet <mavenpom4labs> est un pom de type <Corporate> dont héritent tous - les projets hébergés sur le {{{http://labs.libre-entreprise.org}labs}}. - - Il étend <<mavenpom>> et ajoute les profiles de release pour le labs. - -* Ce qui est géré par mavenpom4labs - - Ce pom définit tout ce qui concerne l'environnement, il vous est donc - inutile de les définir dans vos poms, à savoir : - - * intégration continue (hudson) - - * environnement de distribution (deploiement des artifacts et site) - - * les profiles de release - - * la license GPL v3 - - * les version des plugins externes - - * la configuration des rapports du site - -* Ce que vous devez définir dans votre pom - - * l'url de votre projet - - * les développeurs et contributeurs du projet (sinon tous ceux de <mavenpom> - seront utilisés) - - * les listes de diffusion du projet (section <<mailingLists>>) - - * la définition du dépôt svn (section <<scm>>) - - * les dépendances de votre projet - - * gestion des 'issues' (sur le labs) (section <<issueManagement>>) - - * le 'build' - - [] - -* Le pom minimal - - Un exemple de pom minimal est donnée à la - {{{./minimalpom.html}page suivante}}, en vous basant dessus, tout devrait - bien se dérouler. - -Les propriétés dans mavenpom4labs - - Voir la page des {{{./properties.html}propriétés}}. - - Voir la page des {{{../../properties.html}propriétés}} de <mavenpom>. - - -Les profiles - - Voir la page des {{{./profiles.html}profiles}} du pom. - - Voir la page des {{{../../profiles.html}profiles}} de <mavenpom>. - -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 - - <<labs.id>> - -* Fichiers obligatoires - --------------------------------------------------------------------------------- -README.txt -changelog.txt -LICENSE.txt --------------------------------------------------------------------------------- - -Configuration des plugins - - Pour connaître la liste des plugins gérés par <mavenpom4labs>, veuillez vous - rendre sur la page de {{{./plugin-management.html}configuration des plugins}}. - - Pour mieux comprendre comment utiliser les plugins (et gérer les versions des - plugins) une explication est donnée dans <mavenpom> sur la - {{{../index.html#Configuration des plugins}page suivante}}. Deleted: trunk/mavenpom4labs/src/site/apt/minimalpom.apt =================================================================== --- trunk/mavenpom4labs/src/site/apt/minimalpom.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4labs/src/site/apt/minimalpom.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,242 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4labs -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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% -~~~ ------- -Mavenpom4labs usage ------- ------- -2010-01-22 ------- - -Préambule - - Cette page décrit un pom minimal qui utilise correctement <<mavenpom4labs>>. - -Le pom - --------------------------------------------------------------------------------- - -<?xml version="1.0" encoding="UTF-8"?> -<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>mavenpom4labs</artifactId> - <version>3.0</version> - </parent> - - <groupId>com.myorganisation</groupId> - <artifactId>myproject</artifactId> - <version>0.1-SNAPSHOT</version> - - <!-- ************************************************************* --> - <!-- *** Project Information ************************************* --> - <!-- ************************************************************* --> - - <name>TODO</name> - - <description>TODO</description> - <inceptionYear>2009</inceptionYear> - <url>http://myproject.${platform}/myproject</url> - - <organization> - <name>mycompany</name> - <url>http://www.mycompany.com/</url> - </organization> - - <developers> - - <!-- developpers of the porject --> - - </developers> - - <!-- ************************************************************* --> - <!-- *** Build Settings ****************************************** --> - <!-- ************************************************************* --> - <packaging>your packaging (pom, jar, war, ear, plugin, ...)</packaging> - - <properties> - - <!-- always use this on a multi-module project --> - <projectId>myProject</projectId> - - <!-- project's id on the labs --> - <labs.id>146</labs.id> - - </properties> - - <dependencies> - - <!-- project dependencies --> - - </<dependencies> - - - <!-- use always a dependencyManagement for a multi-module project --> - - <dependencyManagement> - <dependencies> - - </dependencies> - </dependencyManagement> - - <build> - - <plugins> - - <!-- extra build plugins --> - - </plugins> - - <pluginManagement> - <plugins> - - <!-- extra plugins --> - - <plugin> - <!-- to use rst as documentation format in site --> - <artifactId>maven-site-plugin</artifactId> - <dependencies> - <dependency> - <groupId>org.nuiton.jrst</groupId> - <artifactId>doxia-module-jrst</artifactId> - <version>${jrstPluginVersion}</version> - </dependency> - </dependencies> - </plugin> - - </plugins> - </pluginManagement> - - </build> - - <!-- ************************************************************* --> - <!-- *** Build Environment ************************************** --> - <!-- ************************************************************* --> - - <!--Any mailing lists for the project--> - <mailingLists> - - <!-- add your own mailing list using this form --> - <mailingList> - <name>${projectId}-devel</name> - <subscribe>http://${labs.list.host}/mailman/listinfo/${projectId}-devel</subscribe> - <unsubscribe>http://${labs.list.host}/mailman/listinfo/${projectId}-devel</unsubscribe> - <post>${projectId}-devel@${labs.list.host}</post> - <archive>http://${labs.list.host}/pipermail/${projectId}-devel/</archive> - </mailingList> - - </mailingLists> - - <issueManagement> - <system>gforge</system> - <url>https://${platform}/tracker?group_id=${labs.id}</url> - </issueManagement> - - <scm> - <connection>scm:svn:svn://anonymous@${platform}/svnroot/myproject/myproject/trunk</connection> - <developerConnection>scm:svn:svn+ssh://${username}@${platform}/svnroot/myproject/myproject/trunk</developerConnection> - <url>http://${platform}/plugins/scmsvn/viewcvs.php/myproject/trunk/?root=myproject</url> - </scm> - - <repositories> - - <!-- depot des releases nuiton --> - - <repository> - <id>nuiton.release</id> - <name>NuitonReleaseRepository</name> - <url>http://maven.nuiton.org/release</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - <releases> - <enabled>true</enabled> - <checksumPolicy>warn</checksumPolicy> - </releases> - </repository> - - <!-- depot des snapshots nuiton --> - - <repository> - <id>nuiton.snapshot</id> - <name>NuitonSnapshotRepository</name> - <url>http://maven.nuiton.org/snapshot</url> - <snapshots> - <enabled>true</enabled> - <checksumPolicy>fail</checksumPolicy> - </snapshots> - <releases> - <enabled>false</enabled> - </releases> - </repository> - - </repositories> - - <pluginRepositories> - - <!-- depot des releases nuiton --> - - <pluginRepository> - - <id>nuiton.release</id> - <name>NuitonReleaseRepository</name> - <url>http://maven.nuiton.org/release</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - <releases> - <enabled>true</enabled> - <checksumPolicy>warn</checksumPolicy> - </releases> - </pluginRepository> - - <!-- depot des snapshots nuiton --> - - <pluginRepository> - <id>nuiton.snapshot</id> - <name>NuitonSnapshotRepository</name> - <url>http://maven.nuiton.org/snapshot</url> - <snapshots> - <enabled>true</enabled> - <checksumPolicy>fail</checksumPolicy> - </snapshots> - <releases> - <enabled>false</enabled> - </releases> - </pluginRepository> - - </pluginRepositories> - -</project> - --------------------------------------------------------------------------------- Deleted: trunk/mavenpom4labs/src/site/apt/profiles.apt =================================================================== --- trunk/mavenpom4labs/src/site/apt/profiles.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4labs/src/site/apt/profiles.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,86 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4labs -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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 mavenpom4labs ------- ------- -2010-01-19 ------- - -Abstract - - Cette page décrit l'ensemble des profiles ajoutés (ou surchargés) dans - <mavenpom4labs> et disponibles pour tous les projets qui en héritent. - - <mavenpom4labs> héritant de <mavenpom>, tous les profiles de <mavenpom> sont - aussi disponibles pour les enfants de <mavenpom4labs>. - - Reportez vous a cette page pour avoir la liste des profiles de - {{{../profiles.html} mavenpom}}. - -Vue d'ensemble - -*-------------------------------+---------------------------+ -| <<nom du profile>> | <<propriété d'activation>>| -*-------------------------------+---------------------------+ -| {{labs-build-release-profile}}| <<performRelease>> | -*-------------------------------+---------------------------+ -| {{labs-pre-release-profile}} | <<performLabsPreRelease>> | -*-------------------------------+---------------------------+ -| {{labs-release-profile}} | <<performLabsRelease>> | -*-------------------------------+---------------------------+ -| {{labs-next-version-profile}} | <<labsNextVersion>> | -*-------------------------------+---------------------------+ - - -Détails - -* {labs-build-release-profile} - - Ce profile est activé automatiquement lors d'une release (ou par le - déclancheur <<performRelease>>). - - Actuellement, permet de copier le fichier <<changelog.txt>> dans le site. Ce - fichier devient sur le site généré la page <<release-note.html>>. - - A noter, que le changelog doit être au format rst. - -* {labs-pre-release-profile} - - Ne fait rien actuellement, en prévision de pouvoir communiquer avec le labs - pour préparer une release. - -* {labs-release-profile} - - Envoie un email de release à partir du fichier - - src/announcement/release-email-${project.version}.txt - - aux listes users et devel du projet (+ nuiton annonces) - -* {labs-next-version-profile} - - Ne fait rien actuellement, en prévision de pouvoir communiquer avec le labs - pour préparer la version suivant suite à une release. Deleted: trunk/mavenpom4labs/src/site/apt/properties.apt =================================================================== --- trunk/mavenpom4labs/src/site/apt/properties.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4labs/src/site/apt/properties.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,95 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4labs -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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 mavenpom4labs ------- ------- -2010-01-19 ------- - -Abstract - - Cette décrit l'ensemble des propriétés ajoutés dans <mavenpom4labs>. - - <mavenpom4labs> héritant de <mavenpom>, tous les propriétés de <mavenpom> sont - aussi disponibles pour les enfants de <mavenpom4labs>. - - Les propriétés définies dans <mavenpom> sont accéssibles - {{{../properties.html}ici}}. - -Vue d'ensemble - -*-------------------------+----------------------------------------------------+ -| <<propriété>> | <<valeur par défaut>> | -*-------------------------+----------------------------------------------------+ -| {{platform}} | <<labs.libre-entreprise.org>> | -*-------------------------+----------------------------------------------------+ -| {{labs.id}} | - | -*-------------------------+----------------------------------------------------+ -| {{labs.list.host}} | lists.${platform} | -*-------------------------+----------------------------------------------------+ -| {{scmwebeditorEnabled}} | <<false>> | -*-------------------------+----------------------------------------------------+ - -Détails - -* {platform} - - La plateforme labs utilisée, par défaut : <<labs.libre-entreprise.org>>. - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - -* {labs.id} - - L'id du projet sur le labs. - - Cet indentifiant peut-être retrouver par exemple en allant sur un tracker du - projet sur le labs (il s'agit du paramètre group_id). - - Exemple pour isis-fish (<<labs.id=8>>): - --------------------------------------------------------------------------------- -https://labs.libre-entreprise.org/tracker/?atid=113&group_id=8&func=browse --------------------------------------------------------------------------------- - -* {labs.list.host} - - Le nom du serveur des listes de diffusion (sur la labs) du projet. - - Cette propriété est calculé <<list.${platform}>> - - Exemple pour isis-fish : - --------------------------------------------------------------------------------- -lists.labs.libre-entreprise.org --------------------------------------------------------------------------------- - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - - -* {scmwebeditorEnabled} - - On désactive toujours la génération des liens vers scmwebeditor pour les - sites maven car tous les projets hébergés sur le labs utilisent un svn + ssh. Deleted: trunk/mavenpom4labs/src/site/apt/release.apt =================================================================== --- trunk/mavenpom4labs/src/site/apt/release.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4labs/src/site/apt/release.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,124 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4labs -~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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-19 ------- - -Abstract - - 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 (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: - - - deploiement des fichiers sur le labs - - - récupération des 'issues' depuis le labs (et génération des rapports) - - - envoie du courriel d'annonce de release - - - publication de l'annonce de release sur le labs. - Deleted: trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/index.apt =================================================================== --- trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/index.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/index.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,79 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4redmine -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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% -~~~ - ------- -Mavenpom4redmineAndCentral ------- ------- -2010-10-03 ------- - -Présentation - - Le projet <mavenpom4redmine> est un pom de type <Corporate> dont héritent - tous les projets {{{http://www.nuiton.org}nuiton}} qui sont synchronisés sur - - Il étend <<mavenpom4redmine>> et ajoute la configuration pour synchroniser - sur central. - -* Ce qui est géré par mavenpom4redmine4Central - - Tout ce qui est définit par le <<mavenpom4redmine>>. - -* Ce que vous devez définir dans votre pom - - * l'url de votre projet - - * la définition du dépôt svn (section <<scm>>). - - * les dépendances de votre projet - - * le build - -* Le pom minimal - - Un exemple de pom minimal est donnée à la - {{{./minimalpom.html}page suivante}}, en vous basant dessus, tout devrait - bien se dérouler. - -Les propriétés - - Voir la page des {{{../properties.html}propriétés}} de <mavenpom4redmine>. - - Voir la page des {{{../../properties.html}propriétés}} de <mavenpom>. - -Les profiles - - Voir la page des {{{../../en/profiles.html}profiles}} de <mavenpom4redmine>. - - Voir la page des {{{../../../en/profiles.html}profiles}} de <mavenpom>. - -Vérification de conformité - - On effectue sur le pom les même contrôles de conformités que - <mavenpom4redmine>. - - On vérifie aussi que tous les artifacts sont bien dans le dépôt central en - activant le profile <central-safe> lors d'un release. Deleted: trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/minimalpom.apt =================================================================== --- trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/minimalpom.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/minimalpom.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,149 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4redmine -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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% -~~~ - ------- -Pom minimale avec Mavenpom4redmineAndCentral ------- ------- -2010-10-03 ------- - -Préambule - - Cette page décrit un pom minimal qui utilise correctement <<mavenpom4redmineAndCentral>>. - -Le pom - --------------------------------------------------------------------------------- - -<?xml version="1.0" encoding="UTF-8"?> -<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/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <!-- ************************************************************* --> - <!-- *** POM Relationships *************************************** --> - <!-- ************************************************************* --> - - <parent> - <groupId>org.nuiton</groupId> - <artifactId>mavenpom4redmineAndCentral</artifactId> - <version>3.0</version> - </parent> - - <artifactId>myProject</artifactId> - <version>0.1-SNAPSHOT</version> - - <dependencies> - - <!-- your dependencies --> - - </dependencies> - - <!-- ************************************************************* --> - <!-- *** Project Information ************************************* --> - <!-- ************************************************************* --> - <name>Maven License Plugin</name> - - <description>myProject description</description> - <inceptionYear>2010</inceptionYear> - <url>projectUrl</url> - - <developers> - - <!-- project developpers --> - - </developers> - - <!-- ************************************************************* --> - <!-- *** Build Environment ************************************** --> - <!-- ************************************************************* --> - - <!-- Source control management. --> - <scm> - <connection>scm:svn:http://svn.${platform}/svn/myProject/trunk</connection> - <developerConnection>scm:svn:http://svn.${platform}/svn/myProject/trunk</developerConnection> - <url>http://www.${platform}/repositories/browse/myProject/trunk</url> - </scm> - - <!-- ************************************************************* --> - <!-- *** Build Settings ****************************************** --> - <!-- ************************************************************* --> - - <packaging>your packaging (pom, jar, war, ear, plugin, ...)</packaging> - - <properties> - - <!-- use this on a multi-module --> - <projectId>myProject</projectId> - - <!-- if documentation is not in french, oveerides it --> - <siteLocales>fr,en</siteLocales> - - <!-- if documentation is not in rst format, overrides it --> - <siteSourcesType>rst</siteSourcesType> - </properties> - - <distributionManagement> - <site> - <id>${platform}</id> - <url>${our.site.repository}/${projectId}</url> - </site> - </distributionManagement> - - <build> - - <plugins> - - <!-- extra build plugins --> - - </plugins> - - <pluginManagement> - <plugins> - - <!-- extra plugins --> - <plugin> - <!-- use this conf for documentation in rst --> - <artifactId>maven-site-plugin</artifactId> - <dependencies> - <dependency> - <groupId>org.nuiton.jrst</groupId> - <artifactId>doxia-module-jrst</artifactId> - <version>${jrstPluginVersion}</version> - </dependency> - </dependencies> - </plugin> - - </plugins> - </pluginManagement> - - </build> - -</project> - --------------------------------------------------------------------------------- Deleted: trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/release.apt =================================================================== --- trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/release.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/release.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,40 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4redmine -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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-10-03 ------- - -Abstract - - Cette page décrit la méthode pour effectuer une release d'un projet héritant - de <<mavenpom4redmineAndCentral>>. - - La procédure est identique à celle de <<mavenpom4redmine>>. - - Reportez vous à la {{{../release.html}page de release de mavenpom4redmine}}. \ No newline at end of file Deleted: trunk/mavenpom4redmine/src/site/apt/index.apt =================================================================== --- trunk/mavenpom4redmine/src/site/apt/index.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4redmine/src/site/apt/index.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,115 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4redmine -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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% -~~~ - ------- -Mavenpom4redmine ------- ------- -2009-08-22 ------- - -Présentation - - Le projet <mavenpom4redmine> est un pom de type <Corporate> dont héritent - tous les projets {{{http://www.nuiton.org}nuiton}} et - {{{http://www.chorem.org}chorem}}. - - Il étend <<mavenpom>> et ajoute les profiles de release pour redmine. - -* Ce qui est géré par mavenpom4redmine - - Ce pom définit tout ce qui concerne l'environnement, il vous est donc - inutile de les définir dans vos poms, à savoir : - - * intégration continue (hudson) - - * environnement de distribution (deploiement des artifacts et site) - - * gestion des 'issues' (sur redmine) - - * les profiles de release - - * la license LGPL v3 - - * les listes de diffusion <commits>, <devel> et <users> - - * les version des plugins externes - - * la configuration des rapports du site - -* Ce que vous devez définir dans votre pom - - * l'url de votre projet - - * la définition du dépôt svn (section <<scm>>). - - * les dépendances de votre projet - - * le build - -* Le pom minimal - - Un exemple de pom minimal est donnée à la - {{{./minimalpom.html}page suivante}}, en vous basant dessus, tout devrait - bien se dérouler. - -Les propriétés - - Voir la page des {{{./properties.html}propriétés}} du pom. - - Voir la page des {{{../properties.html}propriétés}} de <mavenpom>. - -Les profiles - - Voir la page des {{{./profiles.html}profiles}} du pom. - - Voir la page des {{{../../profiles.html}profiles}} de <mavenpom>. - -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 a l'heure actuelle - -* Fichiers obligatoires - --------------------------------------------------------------------------------- -README.txt -changelog.txt -LICENSE.txt --------------------------------------------------------------------------------- - -Configuration des plugins - - Pour connaître la liste des plugins gérés par <mavenpom4redmine>, veuillez - vous rendre sur la page de - {{{./plugin-management.html}configuration des plugins}}. - - Pour mieux comprendre comment utiliser les plugins (et gérer les versions des - plugins) une explication est donnée dans <mavenpom> sur la - {{{../index.html#Configuration des plugins}page suivante}}. Deleted: trunk/mavenpom4redmine/src/site/apt/minimalpom.apt =================================================================== --- trunk/mavenpom4redmine/src/site/apt/minimalpom.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4redmine/src/site/apt/minimalpom.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,149 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4redmine -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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% -~~~ - ------- -Mavenpom4redmine usage ------- ------- -2010-01-22 ------- - -Préambule - - Cette page décrit un pom minimal qui utilise correctement <<mavenpom4redmine>>. - -Le pom - --------------------------------------------------------------------------------- - -<?xml version="1.0" encoding="UTF-8"?> -<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/maven-v4_0_0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <!-- ************************************************************* --> - <!-- *** POM Relationships *************************************** --> - <!-- ************************************************************* --> - - <parent> - <groupId>org.nuiton</groupId> - <artifactId>mavenpom4redmine</artifactId> - <version>3.0</version> - </parent> - - <artifactId>myProject</artifactId> - <version>0.1-SNAPSHOT</version> - - <dependencies> - - <!-- your dependencies --> - - </dependencies> - - <!-- ************************************************************* --> - <!-- *** Project Information ************************************* --> - <!-- ************************************************************* --> - <name>Maven License Plugin</name> - - <description>myProject description</description> - <inceptionYear>2010</inceptionYear> - <url>projectUrl</url> - - <developers> - - <!-- project developpers --> - - </developers> - - <!-- ************************************************************* --> - <!-- *** Build Environment ************************************** --> - <!-- ************************************************************* --> - - <!-- Source control management. --> - <scm> - <connection>scm:svn:http://svn.${platform}/svn/myProject/trunk</connection> - <developerConnection>scm:svn:http://svn.${platform}/svn/myProject/trunk</developerConnection> - <url>http://www.${platform}/repositories/browse/myProject/trunk</url> - </scm> - - <!-- ************************************************************* --> - <!-- *** Build Settings ****************************************** --> - <!-- ************************************************************* --> - - <packaging>your packaging (pom, jar, war, ear, plugin, ...)</packaging> - - <properties> - - <!-- use this on a multi-module --> - <projectId>myProject</projectId> - - <!-- if documentation is not in french, oveerides it --> - <siteLocales>fr,en</siteLocales> - - <!-- if documentation is not in rst format, overrides it --> - <siteSourcesType>apt</siteSourcesType> - </properties> - - <distributionManagement> - <site> - <id>${platform}</id> - <url>${our.site.repository}/${projectId}</url> - </site> - </distributionManagement> - - <build> - - <plugins> - - <!-- extra build plugins --> - - </plugins> - - <pluginManagement> - <plugins> - - <!-- extra plugins --> - <plugin> - <!-- use this conf for documentation in rst --> - <artifactId>maven-site-plugin</artifactId> - <dependencies> - <dependency> - <groupId>org.nuiton.jrst</groupId> - <artifactId>doxia-module-jrst</artifactId> - <version>${jrstPluginVersion}</version> - </dependency> - </dependencies> - </plugin> - - </plugins> - </pluginManagement> - - </build> - -</project> - --------------------------------------------------------------------------------- Deleted: trunk/mavenpom4redmine/src/site/apt/profiles.apt =================================================================== --- trunk/mavenpom4redmine/src/site/apt/profiles.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4redmine/src/site/apt/profiles.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,143 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4redmine -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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 mavenpom4redmine ------- ------- -2009-10-11 ------- - -Abstract - - Cette page décrit l'ensemble des profiles ajoutés (ou surchargés) dans - mavenpom4redmine et disponibles pour tous les projets qui héritent de - mavenpom. - - Reportez vous a cette page pour avoir la liste des profiles de - {{{../profiles.html} mavenpom}}. - -Vue d'ensemble - -*----------------------------------+------------------------------+ -| <<property>> | <<Activation property>> | -*----------------------------------+------------------------------+ -| {{redmine-publish-attachments-profile}}| <<publishAttachments>> | -*----------------------------------+------------------------------+ -| {{redmine-build-release-profile}}| <<performRelease>> | -*----------------------------------+------------------------------+ -| {{redmine-pre-release-profile}} | <<performRedminePreRelease>> | -*----------------------------------+------------------------------+ -| {{redmine-release-profile}} | <<performRedmineRelease>> | -*----------------------------------+------------------------------+ -| {{redmine-next-version-profile}} | <<redmineNextVersion>> | -*----------------------------------+------------------------------+ - -Détails - -* {redmine-publish-attachments-profile} - - Ce profile permet de déployer des fichiers sur le redmine. Il est activable - via la propriété <<publishAttachments>>. - -* {redmine-build-release-profile} - - Ce profile permet pendant la release classique de collecter les fichiers à - publier et de générer le changelog. Il est activable via la propriété - <<performRelease>>. - - Dans ce profile, on lance la collecte des artifacts qui seront déployés - sur le dépôt maven. La liste de ces artifacts sont conservés dans le fichier - défini par la propriété <<redmine.collectedArtifacts>>. - - A noter, que dans le cadre des projets multi-modules, on ne conserve qu'un - seul fichier situé dans le module du pom. - - Dans ce profile, on lance la collecte des fichiers qui seront déployés sur - le serveur redmine. La liste de ces fichiers sont conservés dans le fichier - défini par la propriété <<redmine.collectedAttachments>>. - - A noter, que dans le cadre des projets multi-modules, on ne conserve qu'un - seul fichier situé dans le module du pom. - -* {redmine-pre-release-profile} - - Ce profile permet suite à une release de publier la release sur redmine et est - activable via la propriété <<performRedminePreRelease>>. - - Il faut l'utiliser sur le projet releasé, cela déployera les fichiers attachés - à la release sur redmine et génèrera les contenus d'annonces ici : - --------------------------------------------------------------------------------- -target/generate-sources/announcement/release-news-announcement.vm -target/generate-sources/announcement/release-email-announcement.vm --------------------------------------------------------------------------------- - - Un paramètre supplémentaire <<-DdryRun=false>> est à passer pour confirmer - l'exécution des commandes sur le serveur redmine. - --------------------------------------------------------------------------------- -cd target/checkout; mvn -DperformRedminePreRelease -N --------------------------------------------------------------------------------- - - Une fois que tout à l'air ok : - --------------------------------------------------------------------------------- -cd target/checkout; mvn -DperformRedminePreRelease -N -DdryRun=false --------------------------------------------------------------------------------- - - -* {redmine-release-profile} - - Ce profile permet suite à une release de publier la release sur redmine et est - activable via la propriété <<performRedmineRelease>>. - - Il faut l'utiliser sur le projet releasé (et pas le projet en SNAPSHOT). - --------------------------------------------------------------------------------- -cd target/checkout; mvn -DperformRedmineRelease -N --------------------------------------------------------------------------------- - - Une fois que tout à l'air ok : - --------------------------------------------------------------------------------- -cd target/checkout; mvn -DperformRedmineRelease -N -DdryRun=false --------------------------------------------------------------------------------- - -* {redmine-next-version-profile} - - Ce profile permet de créer la version sur le serveur redmine correspondant à - la version (non snapshot) du pom, est activable par la propriété - <<redmineNextVersion>>. - --------------------------------------------------------------------------------- -mvn -Predmine-next-version-profile -N -Dredmine.previousVersionName=XX --------------------------------------------------------------------------------- - - ou - --------------------------------------------------------------------------------- -mvn -DredmineNextVersion -N -Dredmine.previousVersionName=XX --------------------------------------------------------------------------------- Deleted: trunk/mavenpom4redmine/src/site/apt/properties.apt =================================================================== --- trunk/mavenpom4redmine/src/site/apt/properties.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4redmine/src/site/apt/properties.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,224 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4redmine -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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 mavenpom4redmine ------- ------- -2009-10-11 ------- - -Abstract - - Cette décrit l'ensemble des propriétés ajoutés dans mavenpom et disponibles - pour tous les projets qui héritent de <mavenpom4redmine>. - - Les propriétés définies dans <mavenpom> sont accéssibles {{{../properties.html}ici}} - -Vue d'ensemble - -*----------------------------------------------+--------------------------------------------------------+ -| <<property>> | <<Default- value>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{platform}} | <<nuiton.org>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{publicProject}} | <<true>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.url}} | <<http://www.${platform}>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.serverId}} | <<redmine-${platform}>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.projectId}} | <<${projectId}>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.xmlPath}} | <<${maven.gen.dir}/changes/changes.xml>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.issueLinkTemplate}} | <<${redmine.url}/issues/show/%ISSUE%>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.versionLinkTemplate}} | <<${redmine.url}/versions/show/%VERSION%>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.attachmentLinkTemplate}} | <<${redmine.url}/attachments/download/%FILE%>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.collectedAttachments}} | <<target/collect-attachments.txt>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.collectedArtifacts}} | <<target/collect-artifacts.txt>> | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.releaseFiles}} | - | -*----------------------------------------------+--------------------------------------------------------+ -| {{redmine.libReleaseFiles}} | target/${project.artifactId}-${project.version}-deps.zip,target/${project.artifactId}-${project.version}-full.zip| -*----------------------------------------------+--------------------------------------------------------+ - -Détails - -* {platform} - - La plateforme redmine utilisée parmi : - --------------------------------------------------------------------------------- -nuiton.org -chorem.org --------------------------------------------------------------------------------- - -* {publicProject} - - Pour savoir si un project est public. Si le projet est privé dans redmine, il - faut alors mettre comme valeur <<false>>. - -* {redmine.url} - - L'url du serveur redmine. - --------------------------------------------------------------------------------- -http://www.${platform} --------------------------------------------------------------------------------- - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - -* {redmine.serverId} - - L'id du serveur (dans votre <<settings.xml>>) pour se logguer sur redmine. - --------------------------------------------------------------------------------- -redmine-${platform} --------------------------------------------------------------------------------- - - Vous devez donc avoir deux serveurs définis : - --------------------------------------------------------------------------------- -redmine-nuiton.org -redmine-chorem.org --------------------------------------------------------------------------------- - - afin de pouvoir faire des releases sur <<nuiton.org>> et <<chorem.org>>. - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - -* {redmine.projectId} - - L'id du projet redmine. Par défaut, il s'agit de la propriété <<projectId>>. - --------------------------------------------------------------------------------- -${projectId} --------------------------------------------------------------------------------- - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - -* {redmine.xmlPath} - - Le chemin du fichier des 'issues' généré. - --------------------------------------------------------------------------------- -${maven.gen.dir}/changes/changes.xml --------------------------------------------------------------------------------- - - Le contenu de ce fichier xml, sera utilisé par le plugin - <<maven-change-plugin>> pour générer le rapport des changements. - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - -* {redmine.issueLinkTemplate} - - L'url des issues sur le serveur redmine. Le pattern <<%ISSUE%>> sera remplacé - dans les rapports par l'id de l'issue. - --------------------------------------------------------------------------------- -${redmine.url}/issues/show/%ISSUE% --------------------------------------------------------------------------------- - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - -* {redmine.versionLinkTemplate} - - L'url des version sur le serveur redmine. Le pattern <<%VERSION%>> sera - remplacé dans les rapport par l'id de la version. - --------------------------------------------------------------------------------- -${redmine.url}/versions/show/%VERSION% --------------------------------------------------------------------------------- - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - -* {redmine.attachmentLinkTemplate} - - L'url des fichiers sur le serveur redmine. Le pattern <<%FILE%>> sera - remplacé dans les rapport par l'id du fichier. - --------------------------------------------------------------------------------- -${redmine.url}/attachments/download/%FILE% --------------------------------------------------------------------------------- - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - -* {redmine.collectedAttachments} - - Le fichier qui contient la liste des fichiers à envoyer sur redmine lors d'une - nouvelle release. - --------------------------------------------------------------------------------- -target/collect-attachments.txt --------------------------------------------------------------------------------- - - Le contenu de ce fichier contient une ligne par fichier et est rempli pendant - la réalisation de la release (<mvn release:perform>) et ceci grâce au profile - <redmine-build-release-profile>. - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - -* {redmine.collectedArtifacts} - - Le fichier qui contient la liste des fichiers à deployer sur le dépôt maven. - --------------------------------------------------------------------------------- -target/collect-artifacts.txt --------------------------------------------------------------------------------- - - Le contenu de ce fichier contient une ligne par fichier et est rempli pendant - la réalisation de la release (<mvn release:perform>) et ceci grâce au profile - <redmine-build-release-profile>. - - <Note:> en théorie, cette propriété ne doit pas être modifiée. - -* {redmine.releaseFiles} - - La liste des fichiers à envoyer sur redmine lors d'une nouvelle release - (séparés par des virgules). - - Mettez dans cette propriété la liste des fichiers que vous voulez déployer - sur redmine lors d'une release. - - Par défaut, vide (i.e rien à deployer sur redmine pour le module courant). - -* {redmine.libReleaseFiles} - - La définition des fichiers à ajouter à une release pour un module de type - <<jar>> qui générè les deux zip deps et full. - - On remplit dans ce cas la propriété <<redmine.releaseFiles>> avec cette - propriété : - --------------------------------------------------------------------------------- -<redmine.releaseFiles>${redmine.libReleaseFiles}</redmine.releaseFiles> --------------------------------------------------------------------------------- - - <Note:> en théorie, cette propriété ne doit pas être modifiée. Deleted: trunk/mavenpom4redmine/src/site/apt/release.apt =================================================================== --- trunk/mavenpom4redmine/src/site/apt/release.apt 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpom4redmine/src/site/apt/release.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -1,122 +0,0 @@ -~~~ -~~ #%L -~~ Mavenpom4redmine -~~ ~~ -~~ $Id$ -~~ $HeadURL$ -~~ %% -~~ Copyright (C) 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 d'un projet héritant - de <<mavenpom4redmine>>. - - L'opération se déroule en 4 étapes. - -Etape 1 - - Effectuer une release normal - --------------------------------------------------------------------------------- -mvn release:prepare -mvn release:perform --------------------------------------------------------------------------------- - -Etape 2 - - Dans cette phase, on va : - - * Deployement des fichiers vers redmine - - * Créer les annonces 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 -DperformRedminePreRelease -N [-Pcentral-safe] --------------------------------------------------------------------------------- - - Si aucune erreur lors de l'execution, on lance la commande suivante - --------------------------------------------------------------------------------- -mvn -DperformRedminePreRelease -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 modifié 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 -DperformRedmineRelease -N --------------------------------------------------------------------------------- - - Si aucune erreur, on peut lancer la commande réelle - --------------------------------------------------------------------------------- -mvn -DperformRedmineRelease -DdryRun=false -N --------------------------------------------------------------------------------- - -Etape 4 - - On revient sur le projet du trunk - --------------------------------------------------------------------------------- -cd ../../ --------------------------------------------------------------------------------- - - On crée la nouvelle version sur redmine (où <XXX> est la version qui vient - d'être releasée) et on déplace les demandes non fermées vers la nouvelle - version. - --------------------------------------------------------------------------------- -mvn -DredmineNextVersion -Dredmine.previousVersionName=XXX -N --------------------------------------------------------------------------------- Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/index.apt (from rev 1240, trunk/mavenpom4labs/src/site/apt/index.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4labs/index.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4labs/index.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,119 @@ +~~~ +~~ #%L +~~ Mavenpom4labs +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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% +~~~ + +------ +Mavenpom4labs +------ +------ +2010-01-19 +------ + +Présentation + + Le projet <mavenpom4labs> est un pom de type <Corporate> dont héritent tous + les projets hébergés sur le {{{http://labs.libre-entreprise.org}labs}}. + + Il étend <<mavenpom>> et ajoute les profiles de release pour le labs. + +* Ce qui est géré par mavenpom4labs + + Ce pom définit tout ce qui concerne l'environnement, il vous est donc + inutile de les définir dans vos poms, à savoir : + + * intégration continue (hudson) + + * environnement de distribution (deploiement des artifacts et site) + + * les profiles de release + + * la license GPL v3 + + * les version des plugins externes + + * la configuration des rapports du site + +* Ce que vous devez définir dans votre pom + + * l'url de votre projet + + * les développeurs et contributeurs du projet (sinon tous ceux de <mavenpom> + seront utilisés) + + * les listes de diffusion du projet (section <<mailingLists>>) + + * la définition du dépôt svn (section <<scm>>) + + * les dépendances de votre projet + + * gestion des 'issues' (sur le labs) (section <<issueManagement>>) + + * le 'build' + + [] + +* Le pom minimal + + Un exemple de pom minimal est donnée à la + {{{./minimalpom.html}page suivante}}, en vous basant dessus, tout devrait + bien se dérouler. + +Les propriétés dans mavenpom4labs + + Voir la page des {{{./properties.html}propriétés}}. + + Voir la page des {{{../../properties.html}propriétés}} de <mavenpom>. + + +Les profiles + + Voir la page des {{{./profiles.html}profiles}} du pom. + + Voir la page des {{{../../profiles.html}profiles}} de <mavenpom>. + +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 + + <<labs.id>> + +* Fichiers obligatoires + +-------------------------------------------------------------------------------- +README.txt +changelog.txt +LICENSE.txt +-------------------------------------------------------------------------------- + +Configuration des plugins + + Pour connaître la liste des plugins gérés par <mavenpom4labs>, veuillez vous + rendre sur la page de {{{./plugin-management.html}configuration des plugins}}. + + Pour mieux comprendre comment utiliser les plugins (et gérer les versions des + plugins) une explication est donnée dans <mavenpom> sur la + {{{../index.html#Configuration des plugins}page suivante}}. Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/index.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/minimalpom.apt (from rev 1240, trunk/mavenpom4labs/src/site/apt/minimalpom.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4labs/minimalpom.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4labs/minimalpom.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,242 @@ +~~~ +~~ #%L +~~ Mavenpom4labs +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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% +~~~ +------ +Mavenpom4labs usage +------ +------ +2010-01-22 +------ + +Préambule + + Cette page décrit un pom minimal qui utilise correctement <<mavenpom4labs>>. + +Le pom + +-------------------------------------------------------------------------------- + +<?xml version="1.0" encoding="UTF-8"?> +<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>mavenpom4labs</artifactId> + <version>3.0</version> + </parent> + + <groupId>com.myorganisation</groupId> + <artifactId>myproject</artifactId> + <version>0.1-SNAPSHOT</version> + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + + <name>TODO</name> + + <description>TODO</description> + <inceptionYear>2009</inceptionYear> + <url>http://myproject.${platform}/myproject</url> + + <organization> + <name>mycompany</name> + <url>http://www.mycompany.com/</url> + </organization> + + <developers> + + <!-- developpers of the porject --> + + </developers> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + <packaging>your packaging (pom, jar, war, ear, plugin, ...)</packaging> + + <properties> + + <!-- always use this on a multi-module project --> + <projectId>myProject</projectId> + + <!-- project's id on the labs --> + <labs.id>146</labs.id> + + </properties> + + <dependencies> + + <!-- project dependencies --> + + </<dependencies> + + + <!-- use always a dependencyManagement for a multi-module project --> + + <dependencyManagement> + <dependencies> + + </dependencies> + </dependencyManagement> + + <build> + + <plugins> + + <!-- extra build plugins --> + + </plugins> + + <pluginManagement> + <plugins> + + <!-- extra plugins --> + + <plugin> + <!-- to use rst as documentation format in site --> + <artifactId>maven-site-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.nuiton.jrst</groupId> + <artifactId>doxia-module-jrst</artifactId> + <version>${jrstPluginVersion}</version> + </dependency> + </dependencies> + </plugin> + + </plugins> + </pluginManagement> + + </build> + + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + + <!--Any mailing lists for the project--> + <mailingLists> + + <!-- add your own mailing list using this form --> + <mailingList> + <name>${projectId}-devel</name> + <subscribe>http://${labs.list.host}/mailman/listinfo/${projectId}-devel</subscribe> + <unsubscribe>http://${labs.list.host}/mailman/listinfo/${projectId}-devel</unsubscribe> + <post>${projectId}-devel@${labs.list.host}</post> + <archive>http://${labs.list.host}/pipermail/${projectId}-devel/</archive> + </mailingList> + + </mailingLists> + + <issueManagement> + <system>gforge</system> + <url>https://${platform}/tracker?group_id=${labs.id}</url> + </issueManagement> + + <scm> + <connection>scm:svn:svn://anonymous@${platform}/svnroot/myproject/myproject/trunk</connection> + <developerConnection>scm:svn:svn+ssh://${username}@${platform}/svnroot/myproject/myproject/trunk</developerConnection> + <url>http://${platform}/plugins/scmsvn/viewcvs.php/myproject/trunk/?root=myproject</url> + </scm> + + <repositories> + + <!-- depot des releases nuiton --> + + <repository> + <id>nuiton.release</id> + <name>NuitonReleaseRepository</name> + <url>http://maven.nuiton.org/release</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + <releases> + <enabled>true</enabled> + <checksumPolicy>warn</checksumPolicy> + </releases> + </repository> + + <!-- depot des snapshots nuiton --> + + <repository> + <id>nuiton.snapshot</id> + <name>NuitonSnapshotRepository</name> + <url>http://maven.nuiton.org/snapshot</url> + <snapshots> + <enabled>true</enabled> + <checksumPolicy>fail</checksumPolicy> + </snapshots> + <releases> + <enabled>false</enabled> + </releases> + </repository> + + </repositories> + + <pluginRepositories> + + <!-- depot des releases nuiton --> + + <pluginRepository> + + <id>nuiton.release</id> + <name>NuitonReleaseRepository</name> + <url>http://maven.nuiton.org/release</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + <releases> + <enabled>true</enabled> + <checksumPolicy>warn</checksumPolicy> + </releases> + </pluginRepository> + + <!-- depot des snapshots nuiton --> + + <pluginRepository> + <id>nuiton.snapshot</id> + <name>NuitonSnapshotRepository</name> + <url>http://maven.nuiton.org/snapshot</url> + <snapshots> + <enabled>true</enabled> + <checksumPolicy>fail</checksumPolicy> + </snapshots> + <releases> + <enabled>false</enabled> + </releases> + </pluginRepository> + + </pluginRepositories> + +</project> + +-------------------------------------------------------------------------------- Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/minimalpom.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/profiles.apt (from rev 1240, trunk/mavenpom4labs/src/site/apt/profiles.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4labs/profiles.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4labs/profiles.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,86 @@ +~~~ +~~ #%L +~~ Mavenpom4labs +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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 mavenpom4labs +------ +------ +2010-01-19 +------ + +Abstract + + Cette page décrit l'ensemble des profiles ajoutés (ou surchargés) dans + <mavenpom4labs> et disponibles pour tous les projets qui en héritent. + + <mavenpom4labs> héritant de <mavenpom>, tous les profiles de <mavenpom> sont + aussi disponibles pour les enfants de <mavenpom4labs>. + + Reportez vous a cette page pour avoir la liste des profiles de + {{{../profiles.html} mavenpom}}. + +Vue d'ensemble + +*-------------------------------+---------------------------+ +| <<nom du profile>> | <<propriété d'activation>>| +*-------------------------------+---------------------------+ +| {{labs-build-release-profile}}| <<performRelease>> | +*-------------------------------+---------------------------+ +| {{labs-pre-release-profile}} | <<performLabsPreRelease>> | +*-------------------------------+---------------------------+ +| {{labs-release-profile}} | <<performLabsRelease>> | +*-------------------------------+---------------------------+ +| {{labs-next-version-profile}} | <<labsNextVersion>> | +*-------------------------------+---------------------------+ + + +Détails + +* {labs-build-release-profile} + + Ce profile est activé automatiquement lors d'une release (ou par le + déclancheur <<performRelease>>). + + Actuellement, permet de copier le fichier <<changelog.txt>> dans le site. Ce + fichier devient sur le site généré la page <<release-note.html>>. + + A noter, que le changelog doit être au format rst. + +* {labs-pre-release-profile} + + Ne fait rien actuellement, en prévision de pouvoir communiquer avec le labs + pour préparer une release. + +* {labs-release-profile} + + Envoie un email de release à partir du fichier + + src/announcement/release-email-${project.version}.txt + + aux listes users et devel du projet (+ nuiton annonces) + +* {labs-next-version-profile} + + Ne fait rien actuellement, en prévision de pouvoir communiquer avec le labs + pour préparer la version suivant suite à une release. Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/profiles.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/properties.apt (from rev 1240, trunk/mavenpom4labs/src/site/apt/properties.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4labs/properties.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4labs/properties.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,95 @@ +~~~ +~~ #%L +~~ Mavenpom4labs +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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 mavenpom4labs +------ +------ +2010-01-19 +------ + +Abstract + + Cette décrit l'ensemble des propriétés ajoutés dans <mavenpom4labs>. + + <mavenpom4labs> héritant de <mavenpom>, tous les propriétés de <mavenpom> sont + aussi disponibles pour les enfants de <mavenpom4labs>. + + Les propriétés définies dans <mavenpom> sont accéssibles + {{{../properties.html}ici}}. + +Vue d'ensemble + +*-------------------------+----------------------------------------------------+ +| <<propriété>> | <<valeur par défaut>> | +*-------------------------+----------------------------------------------------+ +| {{platform}} | <<labs.libre-entreprise.org>> | +*-------------------------+----------------------------------------------------+ +| {{labs.id}} | - | +*-------------------------+----------------------------------------------------+ +| {{labs.list.host}} | lists.${platform} | +*-------------------------+----------------------------------------------------+ +| {{scmwebeditorEnabled}} | <<false>> | +*-------------------------+----------------------------------------------------+ + +Détails + +* {platform} + + La plateforme labs utilisée, par défaut : <<labs.libre-entreprise.org>>. + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + +* {labs.id} + + L'id du projet sur le labs. + + Cet indentifiant peut-être retrouver par exemple en allant sur un tracker du + projet sur le labs (il s'agit du paramètre group_id). + + Exemple pour isis-fish (<<labs.id=8>>): + +-------------------------------------------------------------------------------- +https://labs.libre-entreprise.org/tracker/?atid=113&group_id=8&func=browse +-------------------------------------------------------------------------------- + +* {labs.list.host} + + Le nom du serveur des listes de diffusion (sur la labs) du projet. + + Cette propriété est calculé <<list.${platform}>> + + Exemple pour isis-fish : + +-------------------------------------------------------------------------------- +lists.labs.libre-entreprise.org +-------------------------------------------------------------------------------- + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + + +* {scmwebeditorEnabled} + + On désactive toujours la génération des liens vers scmwebeditor pour les + sites maven car tous les projets hébergés sur le labs utilisent un svn + ssh. Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/properties.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/release.apt (from rev 1240, trunk/mavenpom4labs/src/site/apt/release.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4labs/release.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4labs/release.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,124 @@ +~~~ +~~ #%L +~~ Mavenpom4labs +~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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-19 +------ + +Abstract + + 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 (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: + + - deploiement des fichiers sur le labs + + - récupération des 'issues' depuis le labs (et génération des rapports) + + - envoie du courriel d'annonce de release + + - publication de l'annonce de release sur le labs. + Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4labs/release.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/index.apt (from rev 1240, trunk/mavenpom4redmine/src/site/apt/index.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/index.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/index.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,115 @@ +~~~ +~~ #%L +~~ Mavenpom4redmine +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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% +~~~ + +------ +Mavenpom4redmine +------ +------ +2009-08-22 +------ + +Présentation + + Le projet <mavenpom4redmine> est un pom de type <Corporate> dont héritent + tous les projets {{{http://www.nuiton.org}nuiton}} et + {{{http://www.chorem.org}chorem}}. + + Il étend <<mavenpom>> et ajoute les profiles de release pour redmine. + +* Ce qui est géré par mavenpom4redmine + + Ce pom définit tout ce qui concerne l'environnement, il vous est donc + inutile de les définir dans vos poms, à savoir : + + * intégration continue (hudson) + + * environnement de distribution (deploiement des artifacts et site) + + * gestion des 'issues' (sur redmine) + + * les profiles de release + + * la license LGPL v3 + + * les listes de diffusion <commits>, <devel> et <users> + + * les version des plugins externes + + * la configuration des rapports du site + +* Ce que vous devez définir dans votre pom + + * l'url de votre projet + + * la définition du dépôt svn (section <<scm>>). + + * les dépendances de votre projet + + * le build + +* Le pom minimal + + Un exemple de pom minimal est donnée à la + {{{./minimalpom.html}page suivante}}, en vous basant dessus, tout devrait + bien se dérouler. + +Les propriétés + + Voir la page des {{{./properties.html}propriétés}} du pom. + + Voir la page des {{{../properties.html}propriétés}} de <mavenpom>. + +Les profiles + + Voir la page des {{{./profiles.html}profiles}} du pom. + + Voir la page des {{{../../profiles.html}profiles}} de <mavenpom>. + +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 a l'heure actuelle + +* Fichiers obligatoires + +-------------------------------------------------------------------------------- +README.txt +changelog.txt +LICENSE.txt +-------------------------------------------------------------------------------- + +Configuration des plugins + + Pour connaître la liste des plugins gérés par <mavenpom4redmine>, veuillez + vous rendre sur la page de + {{{./plugin-management.html}configuration des plugins}}. + + Pour mieux comprendre comment utiliser les plugins (et gérer les versions des + plugins) une explication est donnée dans <mavenpom> sur la + {{{../index.html#Configuration des plugins}page suivante}}. Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/index.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/minimalpom.apt (from rev 1240, trunk/mavenpom4redmine/src/site/apt/minimalpom.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/minimalpom.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/minimalpom.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,149 @@ +~~~ +~~ #%L +~~ Mavenpom4redmine +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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% +~~~ + +------ +Mavenpom4redmine usage +------ +------ +2010-01-22 +------ + +Préambule + + Cette page décrit un pom minimal qui utilise correctement <<mavenpom4redmine>>. + +Le pom + +-------------------------------------------------------------------------------- + +<?xml version="1.0" encoding="UTF-8"?> +<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/maven-v4_0_0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> + + <parent> + <groupId>org.nuiton</groupId> + <artifactId>mavenpom4redmine</artifactId> + <version>3.0</version> + </parent> + + <artifactId>myProject</artifactId> + <version>0.1-SNAPSHOT</version> + + <dependencies> + + <!-- your dependencies --> + + </dependencies> + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + <name>Maven License Plugin</name> + + <description>myProject description</description> + <inceptionYear>2010</inceptionYear> + <url>projectUrl</url> + + <developers> + + <!-- project developpers --> + + </developers> + + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + + <!-- Source control management. --> + <scm> + <connection>scm:svn:http://svn.${platform}/svn/myProject/trunk</connection> + <developerConnection>scm:svn:http://svn.${platform}/svn/myProject/trunk</developerConnection> + <url>http://www.${platform}/repositories/browse/myProject/trunk</url> + </scm> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>your packaging (pom, jar, war, ear, plugin, ...)</packaging> + + <properties> + + <!-- use this on a multi-module --> + <projectId>myProject</projectId> + + <!-- if documentation is not in french, oveerides it --> + <siteLocales>fr,en</siteLocales> + + <!-- if documentation is not in rst format, overrides it --> + <siteSourcesType>apt</siteSourcesType> + </properties> + + <distributionManagement> + <site> + <id>${platform}</id> + <url>${our.site.repository}/${projectId}</url> + </site> + </distributionManagement> + + <build> + + <plugins> + + <!-- extra build plugins --> + + </plugins> + + <pluginManagement> + <plugins> + + <!-- extra plugins --> + <plugin> + <!-- use this conf for documentation in rst --> + <artifactId>maven-site-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.nuiton.jrst</groupId> + <artifactId>doxia-module-jrst</artifactId> + <version>${jrstPluginVersion}</version> + </dependency> + </dependencies> + </plugin> + + </plugins> + </pluginManagement> + + </build> + +</project> + +-------------------------------------------------------------------------------- Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/minimalpom.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/profiles.apt (from rev 1240, trunk/mavenpom4redmine/src/site/apt/profiles.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/profiles.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/profiles.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,143 @@ +~~~ +~~ #%L +~~ Mavenpom4redmine +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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 mavenpom4redmine +------ +------ +2009-10-11 +------ + +Abstract + + Cette page décrit l'ensemble des profiles ajoutés (ou surchargés) dans + mavenpom4redmine et disponibles pour tous les projets qui héritent de + mavenpom. + + Reportez vous a cette page pour avoir la liste des profiles de + {{{../profiles.html} mavenpom}}. + +Vue d'ensemble + +*----------------------------------+------------------------------+ +| <<property>> | <<Activation property>> | +*----------------------------------+------------------------------+ +| {{redmine-publish-attachments-profile}}| <<publishAttachments>> | +*----------------------------------+------------------------------+ +| {{redmine-build-release-profile}}| <<performRelease>> | +*----------------------------------+------------------------------+ +| {{redmine-pre-release-profile}} | <<performRedminePreRelease>> | +*----------------------------------+------------------------------+ +| {{redmine-release-profile}} | <<performRedmineRelease>> | +*----------------------------------+------------------------------+ +| {{redmine-next-version-profile}} | <<redmineNextVersion>> | +*----------------------------------+------------------------------+ + +Détails + +* {redmine-publish-attachments-profile} + + Ce profile permet de déployer des fichiers sur le redmine. Il est activable + via la propriété <<publishAttachments>>. + +* {redmine-build-release-profile} + + Ce profile permet pendant la release classique de collecter les fichiers à + publier et de générer le changelog. Il est activable via la propriété + <<performRelease>>. + + Dans ce profile, on lance la collecte des artifacts qui seront déployés + sur le dépôt maven. La liste de ces artifacts sont conservés dans le fichier + défini par la propriété <<redmine.collectedArtifacts>>. + + A noter, que dans le cadre des projets multi-modules, on ne conserve qu'un + seul fichier situé dans le module du pom. + + Dans ce profile, on lance la collecte des fichiers qui seront déployés sur + le serveur redmine. La liste de ces fichiers sont conservés dans le fichier + défini par la propriété <<redmine.collectedAttachments>>. + + A noter, que dans le cadre des projets multi-modules, on ne conserve qu'un + seul fichier situé dans le module du pom. + +* {redmine-pre-release-profile} + + Ce profile permet suite à une release de publier la release sur redmine et est + activable via la propriété <<performRedminePreRelease>>. + + Il faut l'utiliser sur le projet releasé, cela déployera les fichiers attachés + à la release sur redmine et génèrera les contenus d'annonces ici : + +-------------------------------------------------------------------------------- +target/generate-sources/announcement/release-news-announcement.vm +target/generate-sources/announcement/release-email-announcement.vm +-------------------------------------------------------------------------------- + + Un paramètre supplémentaire <<-DdryRun=false>> est à passer pour confirmer + l'exécution des commandes sur le serveur redmine. + +-------------------------------------------------------------------------------- +cd target/checkout; mvn -DperformRedminePreRelease -N +-------------------------------------------------------------------------------- + + Une fois que tout à l'air ok : + +-------------------------------------------------------------------------------- +cd target/checkout; mvn -DperformRedminePreRelease -N -DdryRun=false +-------------------------------------------------------------------------------- + + +* {redmine-release-profile} + + Ce profile permet suite à une release de publier la release sur redmine et est + activable via la propriété <<performRedmineRelease>>. + + Il faut l'utiliser sur le projet releasé (et pas le projet en SNAPSHOT). + +-------------------------------------------------------------------------------- +cd target/checkout; mvn -DperformRedmineRelease -N +-------------------------------------------------------------------------------- + + Une fois que tout à l'air ok : + +-------------------------------------------------------------------------------- +cd target/checkout; mvn -DperformRedmineRelease -N -DdryRun=false +-------------------------------------------------------------------------------- + +* {redmine-next-version-profile} + + Ce profile permet de créer la version sur le serveur redmine correspondant à + la version (non snapshot) du pom, est activable par la propriété + <<redmineNextVersion>>. + +-------------------------------------------------------------------------------- +mvn -Predmine-next-version-profile -N -Dredmine.previousVersionName=XX +-------------------------------------------------------------------------------- + + ou + +-------------------------------------------------------------------------------- +mvn -DredmineNextVersion -N -Dredmine.previousVersionName=XX +-------------------------------------------------------------------------------- Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/profiles.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/properties.apt (from rev 1240, trunk/mavenpom4redmine/src/site/apt/properties.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/properties.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/properties.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,224 @@ +~~~ +~~ #%L +~~ Mavenpom4redmine +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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 mavenpom4redmine +------ +------ +2009-10-11 +------ + +Abstract + + Cette décrit l'ensemble des propriétés ajoutés dans mavenpom et disponibles + pour tous les projets qui héritent de <mavenpom4redmine>. + + Les propriétés définies dans <mavenpom> sont accéssibles {{{../properties.html}ici}} + +Vue d'ensemble + +*----------------------------------------------+--------------------------------------------------------+ +| <<property>> | <<Default- value>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{platform}} | <<nuiton.org>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{publicProject}} | <<true>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.url}} | <<http://www.${platform}>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.serverId}} | <<redmine-${platform}>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.projectId}} | <<${projectId}>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.xmlPath}} | <<${maven.gen.dir}/changes/changes.xml>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.issueLinkTemplate}} | <<${redmine.url}/issues/show/%ISSUE%>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.versionLinkTemplate}} | <<${redmine.url}/versions/show/%VERSION%>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.attachmentLinkTemplate}} | <<${redmine.url}/attachments/download/%FILE%>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.collectedAttachments}} | <<target/collect-attachments.txt>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.collectedArtifacts}} | <<target/collect-artifacts.txt>> | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.releaseFiles}} | - | +*----------------------------------------------+--------------------------------------------------------+ +| {{redmine.libReleaseFiles}} | target/${project.artifactId}-${project.version}-deps.zip,target/${project.artifactId}-${project.version}-full.zip| +*----------------------------------------------+--------------------------------------------------------+ + +Détails + +* {platform} + + La plateforme redmine utilisée parmi : + +-------------------------------------------------------------------------------- +nuiton.org +chorem.org +-------------------------------------------------------------------------------- + +* {publicProject} + + Pour savoir si un project est public. Si le projet est privé dans redmine, il + faut alors mettre comme valeur <<false>>. + +* {redmine.url} + + L'url du serveur redmine. + +-------------------------------------------------------------------------------- +http://www.${platform} +-------------------------------------------------------------------------------- + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + +* {redmine.serverId} + + L'id du serveur (dans votre <<settings.xml>>) pour se logguer sur redmine. + +-------------------------------------------------------------------------------- +redmine-${platform} +-------------------------------------------------------------------------------- + + Vous devez donc avoir deux serveurs définis : + +-------------------------------------------------------------------------------- +redmine-nuiton.org +redmine-chorem.org +-------------------------------------------------------------------------------- + + afin de pouvoir faire des releases sur <<nuiton.org>> et <<chorem.org>>. + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + +* {redmine.projectId} + + L'id du projet redmine. Par défaut, il s'agit de la propriété <<projectId>>. + +-------------------------------------------------------------------------------- +${projectId} +-------------------------------------------------------------------------------- + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + +* {redmine.xmlPath} + + Le chemin du fichier des 'issues' généré. + +-------------------------------------------------------------------------------- +${maven.gen.dir}/changes/changes.xml +-------------------------------------------------------------------------------- + + Le contenu de ce fichier xml, sera utilisé par le plugin + <<maven-change-plugin>> pour générer le rapport des changements. + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + +* {redmine.issueLinkTemplate} + + L'url des issues sur le serveur redmine. Le pattern <<%ISSUE%>> sera remplacé + dans les rapports par l'id de l'issue. + +-------------------------------------------------------------------------------- +${redmine.url}/issues/show/%ISSUE% +-------------------------------------------------------------------------------- + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + +* {redmine.versionLinkTemplate} + + L'url des version sur le serveur redmine. Le pattern <<%VERSION%>> sera + remplacé dans les rapport par l'id de la version. + +-------------------------------------------------------------------------------- +${redmine.url}/versions/show/%VERSION% +-------------------------------------------------------------------------------- + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + +* {redmine.attachmentLinkTemplate} + + L'url des fichiers sur le serveur redmine. Le pattern <<%FILE%>> sera + remplacé dans les rapport par l'id du fichier. + +-------------------------------------------------------------------------------- +${redmine.url}/attachments/download/%FILE% +-------------------------------------------------------------------------------- + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + +* {redmine.collectedAttachments} + + Le fichier qui contient la liste des fichiers à envoyer sur redmine lors d'une + nouvelle release. + +-------------------------------------------------------------------------------- +target/collect-attachments.txt +-------------------------------------------------------------------------------- + + Le contenu de ce fichier contient une ligne par fichier et est rempli pendant + la réalisation de la release (<mvn release:perform>) et ceci grâce au profile + <redmine-build-release-profile>. + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + +* {redmine.collectedArtifacts} + + Le fichier qui contient la liste des fichiers à deployer sur le dépôt maven. + +-------------------------------------------------------------------------------- +target/collect-artifacts.txt +-------------------------------------------------------------------------------- + + Le contenu de ce fichier contient une ligne par fichier et est rempli pendant + la réalisation de la release (<mvn release:perform>) et ceci grâce au profile + <redmine-build-release-profile>. + + <Note:> en théorie, cette propriété ne doit pas être modifiée. + +* {redmine.releaseFiles} + + La liste des fichiers à envoyer sur redmine lors d'une nouvelle release + (séparés par des virgules). + + Mettez dans cette propriété la liste des fichiers que vous voulez déployer + sur redmine lors d'une release. + + Par défaut, vide (i.e rien à deployer sur redmine pour le module courant). + +* {redmine.libReleaseFiles} + + La définition des fichiers à ajouter à une release pour un module de type + <<jar>> qui générè les deux zip deps et full. + + On remplit dans ce cas la propriété <<redmine.releaseFiles>> avec cette + propriété : + +-------------------------------------------------------------------------------- +<redmine.releaseFiles>${redmine.libReleaseFiles}</redmine.releaseFiles> +-------------------------------------------------------------------------------- + + <Note:> en théorie, cette propriété ne doit pas être modifiée. Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/properties.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/release.apt (from rev 1240, trunk/mavenpom4redmine/src/site/apt/release.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/release.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/release.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,122 @@ +~~~ +~~ #%L +~~ Mavenpom4redmine +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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 d'un projet héritant + de <<mavenpom4redmine>>. + + L'opération se déroule en 4 étapes. + +Etape 1 + + Effectuer une release normal + +-------------------------------------------------------------------------------- +mvn release:prepare +mvn release:perform +-------------------------------------------------------------------------------- + +Etape 2 + + Dans cette phase, on va : + + * Deployement des fichiers vers redmine + + * Créer les annonces 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 -DperformRedminePreRelease -N [-Pcentral-safe] +-------------------------------------------------------------------------------- + + Si aucune erreur lors de l'execution, on lance la commande suivante + +-------------------------------------------------------------------------------- +mvn -DperformRedminePreRelease -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 modifié 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 -DperformRedmineRelease -N +-------------------------------------------------------------------------------- + + Si aucune erreur, on peut lancer la commande réelle + +-------------------------------------------------------------------------------- +mvn -DperformRedmineRelease -DdryRun=false -N +-------------------------------------------------------------------------------- + +Etape 4 + + On revient sur le projet du trunk + +-------------------------------------------------------------------------------- +cd ../../ +-------------------------------------------------------------------------------- + + On crée la nouvelle version sur redmine (où <XXX> est la version qui vient + d'être releasée) et on déplace les demandes non fermées vers la nouvelle + version. + +-------------------------------------------------------------------------------- +mvn -DredmineNextVersion -Dredmine.previousVersionName=XXX -N +-------------------------------------------------------------------------------- Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4redmine/release.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/index.apt (from rev 1240, trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/index.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/index.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/index.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,79 @@ +~~~ +~~ #%L +~~ Mavenpom4redmine +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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% +~~~ + +------ +Mavenpom4redmineAndCentral +------ +------ +2010-10-03 +------ + +Présentation + + Le projet <mavenpom4redmine> est un pom de type <Corporate> dont héritent + tous les projets {{{http://www.nuiton.org}nuiton}} qui sont synchronisés sur + + Il étend <<mavenpom4redmine>> et ajoute la configuration pour synchroniser + sur central. + +* Ce qui est géré par mavenpom4redmine4Central + + Tout ce qui est définit par le <<mavenpom4redmine>>. + +* Ce que vous devez définir dans votre pom + + * l'url de votre projet + + * la définition du dépôt svn (section <<scm>>). + + * les dépendances de votre projet + + * le build + +* Le pom minimal + + Un exemple de pom minimal est donnée à la + {{{./minimalpom.html}page suivante}}, en vous basant dessus, tout devrait + bien se dérouler. + +Les propriétés + + Voir la page des {{{../properties.html}propriétés}} de <mavenpom4redmine>. + + Voir la page des {{{../../properties.html}propriétés}} de <mavenpom>. + +Les profiles + + Voir la page des {{{../../en/profiles.html}profiles}} de <mavenpom4redmine>. + + Voir la page des {{{../../../en/profiles.html}profiles}} de <mavenpom>. + +Vérification de conformité + + On effectue sur le pom les même contrôles de conformités que + <mavenpom4redmine>. + + On vérifie aussi que tous les artifacts sont bien dans le dépôt central en + activant le profile <central-safe> lors d'un release. Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/index.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/minimalpom.apt (from rev 1240, trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/minimalpom.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/minimalpom.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/minimalpom.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,149 @@ +~~~ +~~ #%L +~~ Mavenpom4redmine +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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% +~~~ + +------ +Pom minimale avec Mavenpom4redmineAndCentral +------ +------ +2010-10-03 +------ + +Préambule + + Cette page décrit un pom minimal qui utilise correctement <<mavenpom4redmineAndCentral>>. + +Le pom + +-------------------------------------------------------------------------------- + +<?xml version="1.0" encoding="UTF-8"?> +<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/maven-v4_0_0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <!-- ************************************************************* --> + <!-- *** POM Relationships *************************************** --> + <!-- ************************************************************* --> + + <parent> + <groupId>org.nuiton</groupId> + <artifactId>mavenpom4redmineAndCentral</artifactId> + <version>3.0</version> + </parent> + + <artifactId>myProject</artifactId> + <version>0.1-SNAPSHOT</version> + + <dependencies> + + <!-- your dependencies --> + + </dependencies> + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + <name>Maven License Plugin</name> + + <description>myProject description</description> + <inceptionYear>2010</inceptionYear> + <url>projectUrl</url> + + <developers> + + <!-- project developpers --> + + </developers> + + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + + <!-- Source control management. --> + <scm> + <connection>scm:svn:http://svn.${platform}/svn/myProject/trunk</connection> + <developerConnection>scm:svn:http://svn.${platform}/svn/myProject/trunk</developerConnection> + <url>http://www.${platform}/repositories/browse/myProject/trunk</url> + </scm> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + + <packaging>your packaging (pom, jar, war, ear, plugin, ...)</packaging> + + <properties> + + <!-- use this on a multi-module --> + <projectId>myProject</projectId> + + <!-- if documentation is not in french, oveerides it --> + <siteLocales>fr,en</siteLocales> + + <!-- if documentation is not in rst format, overrides it --> + <siteSourcesType>rst</siteSourcesType> + </properties> + + <distributionManagement> + <site> + <id>${platform}</id> + <url>${our.site.repository}/${projectId}</url> + </site> + </distributionManagement> + + <build> + + <plugins> + + <!-- extra build plugins --> + + </plugins> + + <pluginManagement> + <plugins> + + <!-- extra plugins --> + <plugin> + <!-- use this conf for documentation in rst --> + <artifactId>maven-site-plugin</artifactId> + <dependencies> + <dependency> + <groupId>org.nuiton.jrst</groupId> + <artifactId>doxia-module-jrst</artifactId> + <version>${jrstPluginVersion}</version> + </dependency> + </dependencies> + </plugin> + + </plugins> + </pluginManagement> + + </build> + +</project> + +-------------------------------------------------------------------------------- Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/minimalpom.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Copied: trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/release.apt (from rev 1240, trunk/mavenpom4redmine/mavenpom4redmineAndCentral/src/site/apt/release.apt) =================================================================== --- trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/release.apt (rev 0) +++ trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/release.apt 2012-04-19 16:39:07 UTC (rev 1241) @@ -0,0 +1,40 @@ +~~~ +~~ #%L +~~ Mavenpom4redmine +~~ ~~ +~~ $Id$ +~~ $HeadURL$ +~~ %% +~~ Copyright (C) 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-10-03 +------ + +Abstract + + Cette page décrit la méthode pour effectuer une release d'un projet héritant + de <<mavenpom4redmineAndCentral>>. + + La procédure est identique à celle de <<mavenpom4redmine>>. + + Reportez vous à la {{{../release.html}page de release de mavenpom4redmine}}. \ No newline at end of file Property changes on: trunk/mavenpomdoc/src/site/apt/mavenpom4redmineAndCentral/release.apt ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/mavenpomdoc/src/site/site.xml =================================================================== --- trunk/mavenpomdoc/src/site/site.xml 2012-04-18 23:44:35 UTC (rev 1240) +++ trunk/mavenpomdoc/src/site/site.xml 2012-04-19 16:39:07 UTC (rev 1241) @@ -60,7 +60,7 @@ <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="Forge Codelutin" href="http://www.forge.codelutin.com"/> <item name="${project.organization.name}" href="${project.organization.url}"/> </links>
participants (1)
-
tchemit@users.nuiton.org