Author: tchemit Date: 2012-02-09 21:30:52 +0100 (Thu, 09 Feb 2012) New Revision: 1214 Url: http://nuiton.org/repositories/revision/mavenpom/1214 Log: Evolution #1961: Make possible to deploy site at others locations Modified: trunk/pom.xml trunk/src/site/apt/index.apt trunk/src/site/apt/profiles.apt trunk/src/site/apt/properties.apt.vm Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2012-02-09 19:19:13 UTC (rev 1213) +++ trunk/pom.xml 2012-02-09 20:30:52 UTC (rev 1214) @@ -48,7 +48,7 @@ <description>Ancestor of all projects of Code Lutin</description> - <url>http://maven-site.nuiton.org/mavenpom</url> + <url>${projectUrl}${projectUrlSuffix}</url> <inceptionYear>2009</inceptionYear> @@ -182,6 +182,12 @@ <!-- a property to define list id --> <listId>${projectId}</listId> + <!-- project site base url (this is mandatory in your project) --> + <projectUrl/> + + <!-- project site url suffix (by default empty, but filled to /SNAPSHOT for trunk sites) --> + <projectUrlSuffix/> + <!-- location of central-releases repository --> <central.release.repository>http://nexus.nuiton.org/nexus/content/repositories/central-releases</central.release.repository> @@ -538,6 +544,25 @@ </configuration> </execution> + <execution> + <id>check-project-properties</id> + <goals> + <goal>enforce</goal> + </goals> + <phase>initialize</phase> + <configuration> + <rules> + <requireProperty> + <property>projectUrl</property> + </requireProperty> + </rules> + <ignoreCache>true</ignoreCache> + <failFast>true</failFast> + <fail>true</fail> + + </configuration> + </execution> + </executions> </plugin> @@ -1510,7 +1535,8 @@ <siteSourcesType>apt</siteSourcesType> <license.licenseName>lgpl_v3</license.licenseName> - + <projectUrl>http://maven-site.nuiton.org/mavenpom</projectUrl> + <!-- release config --> <!-- activate this profile while doing release:prepare --> @@ -1544,7 +1570,7 @@ <distributionManagement> <site> <id>${platform}</id> - <url>${our.site.repository}/${projectId}</url> + <url>${our.site.repository}/${projectId}${projectUrlSuffix}</url> </site> </distributionManagement> <build> @@ -1882,7 +1908,6 @@ </build> </profile> - <profile> <id>analyze-dependencies</id> <activation> @@ -1915,6 +1940,22 @@ </build> </profile> + <profile> + <id>deploy-trunk-site</id> + <activation> + <property> + <name>deployTrunkSite</name> + <value>true</value> + </property> + </activation> + <properties> + <projectUrlSuffix>/SNAPSHOT</projectUrlSuffix> + </properties> + <build> + <defaultGoal>site-deploy</defaultGoal> + </build> + </profile> + </profiles> </project> Modified: trunk/src/site/apt/index.apt =================================================================== --- trunk/src/site/apt/index.apt 2012-02-09 19:19:13 UTC (rev 1213) +++ trunk/src/site/apt/index.apt 2012-02-09 20:30:52 UTC (rev 1214) @@ -35,6 +35,21 @@ Le projet <mavenpom> est un pom de type <Corporate> dont héritent tous les projets {{{http://www.codelutin.com}code Lutin}}. +* Nouveautés de la version 3.1.1 + +** Pouvoir déployer le site à différents endroits + + Depuis la 3.1.1 on peut déployer les sites vers différentes urls. Le but est + de pouvoir dépoyer le site du trunk à une autre url. + + Il suffit d'utiliser le profile deploy-trunk-site et /SNAPSHOT sera rajouté à + l'url du projet. + + Une des conséquences de cette nouvelle fonctionnalité est qu'on doit désormais + définir l'url du site dans une propriété nommé ${projectBaseUrl} et ne pas + renseigner la balise url. + + * Nouveautés de la version 3.1 ** Changement du maven-helper-plugin Modified: trunk/src/site/apt/profiles.apt =================================================================== --- trunk/src/site/apt/profiles.apt 2012-02-09 19:19:13 UTC (rev 1213) +++ trunk/src/site/apt/profiles.apt 2012-02-09 20:30:52 UTC (rev 1214) @@ -67,6 +67,8 @@ *----------------------------------+------------------------------+ | {{staging-site-profile}} | <<stagingSite>> | *----------------------------------+------------------------------+ +| {{deploy-trunk-site}} | <<deployTrunkSite>> | +*----------------------------------+------------------------------+ * Profiles inclus dans le cycle de release @@ -218,7 +220,25 @@ mvn -DstagingSite -DstagingUrl=scpexe://myServer/myPath -------------------------------------------------------------------------------- {{{Profiles autonomes}[remonter]}} - + +** {deploy-trunk-site} + + Ce profile permet de surcharger la propriété <<projectUrlSuffix>> afin de + déployer le site vers projectUrl/SNAPSHOT + + On se sert de ce profile pour déployer le site du trunk. + +-------------------------------------------------------------------------------- + mvn -Pdeploy-trunk-site verify site-deploy -DperformRelease +-------------------------------------------------------------------------------- + + ou + +-------------------------------------------------------------------------------- + mvn -DdeployTrunkSite verify site-deploy -DperformRelease +-------------------------------------------------------------------------------- + {{{Profiles autonomes}[remonter]}} + * Profiles inclus dans le cycle de release ** {reporting} Modified: trunk/src/site/apt/properties.apt.vm =================================================================== --- trunk/src/site/apt/properties.apt.vm 2012-02-09 19:19:13 UTC (rev 1213) +++ trunk/src/site/apt/properties.apt.vm 2012-02-09 20:30:52 UTC (rev 1214) @@ -52,6 +52,10 @@ *--------------------------------------+------------------------------------------------------+ | {{projectId}} | <<(project.artifactId)>> | *--------------------------------------+------------------------------------------------------+ +| {{projectUrl}} | <<A définir dans chaque projet>> | +*--------------------------------------+------------------------------------------------------+ +| {{projectUrlSuffix}} | <<>> | +*--------------------------------------+------------------------------------------------------+ | {{listId}} | <<(projectId)>> | *--------------------------------------+------------------------------------------------------+ | {{maven.src.dir}} | <<(project.basedir)/src>> | @@ -330,6 +334,21 @@ correct.\ {{{Propriétés générales du projet}[remonter]}} +** {projectUrl} + + L'url du site du proet. + + Cette propriété est obligatoire et doit être définie dans chaque projet. + {{{Propriétés générales du projet}[remonter]}} + +** {projectUrlSuffix} + + Une propriété pour suffixer l'url du site du projet (et donc pouvoir le + déployer ailleurs). + + Par défaut, cette propriété est vide. + {{{Propriétés générales du projet}[remonter]}} + ** {listId} Le préfixe utilisé pour les listes de diffusion. @@ -394,7 +413,6 @@ : <<${mavenVersion}>>\ {{{Propriétés de versions}[remonter]}} - ** {antVersion} La version de l'api de ant utilisée (principalement dans les modules de tâches ant).\