[Lutinbuilder-commits] r456 - in nuiton-enforcer-rules/trunk: . src/main/java/org src/main/java/org/nuiton src/main/java/org/nuiton/enforcer src/site src/site/apt
Author: tchemit Date: 2009-05-11 11:19:33 +0000 (Mon, 11 May 2009) New Revision: 456 Added: nuiton-enforcer-rules/trunk/src/main/java/org/nuiton/ nuiton-enforcer-rules/trunk/src/main/java/org/nuiton/enforcer/ nuiton-enforcer-rules/trunk/src/main/java/org/nuiton/enforcer/CheckLabsPropertiesRule.java nuiton-enforcer-rules/trunk/src/site/apt/ nuiton-enforcer-rules/trunk/src/site/apt/devel.apt nuiton-enforcer-rules/trunk/src/site/apt/index.apt Modified: nuiton-enforcer-rules/trunk/pom.xml nuiton-enforcer-rules/trunk/src/site/site.xml Log: migrate to nuiton Modified: nuiton-enforcer-rules/trunk/pom.xml =================================================================== --- nuiton-enforcer-rules/trunk/pom.xml 2009-05-11 11:14:31 UTC (rev 455) +++ nuiton-enforcer-rules/trunk/pom.xml 2009-05-11 11:19:33 UTC (rev 456) @@ -201,13 +201,13 @@ <outputEncoding>${project.reporting.outputEncoding}</outputEncoding> <generateReports>true</generateReports> </configuration> - <dependencies> + <!--dependencies> <dependency> <groupId>org.codelutin</groupId> <artifactId>doxia-module-jrst</artifactId> <version>1.0.0</version> </dependency> - </dependencies> + </dependencies--> </plugin> <plugin> Copied: nuiton-enforcer-rules/trunk/src/main/java/org/nuiton/enforcer/CheckLabsPropertiesRule.java (from rev 442, nuiton-enforcer-rules/trunk/src/main/java/org/codelutin/enforcer/CheckLabsPropertiesRule.java) =================================================================== --- nuiton-enforcer-rules/trunk/src/main/java/org/nuiton/enforcer/CheckLabsPropertiesRule.java (rev 0) +++ nuiton-enforcer-rules/trunk/src/main/java/org/nuiton/enforcer/CheckLabsPropertiesRule.java 2009-05-11 11:19:33 UTC (rev 456) @@ -0,0 +1,91 @@ +/** + * *##% Nuiton enforcer rules + * Copyright (C) 2009 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>. ##%* + */ +package org.nuiton.enforcer; + +import org.apache.maven.enforcer.rule.api.EnforcerRule; +import org.apache.maven.enforcer.rule.api.EnforcerRuleException; +import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper; +import org.apache.maven.plugin.logging.Log; +import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; + +import java.util.Arrays; +import java.util.List; + +/** + * Permet de vérifier que les propriétés <code>labs.id</code> et <code>labs.name</code> sont correctement positionnés. + * + * @author chemit + */ +public class CheckLabsPropertiesRule implements EnforcerRule { + + public static final String NUITONBUILDER_LABS_NAME = "nuitonbuilder"; + public static final String NUTIONBUILDER_LABS_ID = "1"; + + public static final List<String> NUITONBUILDER_PROJECT_ARTIFACT_IDS = Arrays.asList("nuitonproject", "maven-nuiton-skin", "nuiton-enforcer-rules"); + + @Override + public void execute(EnforcerRuleHelper helper) throws EnforcerRuleException { + Log log = helper.getLog(); + + try { + // get the various expressions out of the helper. + //MavenProject project = (MavenProject) helper.evaluate("${project}"); + //MavenSession session = (MavenSession) helper.evaluate("${session}"); + + String labsName = (String) helper.evaluate("${labs.name}"); + String labsId = (String) helper.evaluate("${labs.id}"); + String artifactId = (String) helper.evaluate("${project.artifactId}"); + + if (log.isDebugEnabled()) { + log.debug("Retrieved ArtifactId: " + artifactId); + log.debug("Retrieved LabsId: " + labsId); + log.debug("Retrieved LabsName: " + labsName); + + } + if (NUTIONBUILDER_LABS_ID.equals(labsId) || NUITONBUILDER_LABS_NAME.equals(labsName)) { + // must check we are on a lutinbuilder project + if (!NUITONBUILDER_PROJECT_ARTIFACT_IDS.contains(artifactId)) { + // a none lutinbuilder project can not have this labs.id value + throw new EnforcerRuleException("labs.id and labs.name must be override for your project, but was not!"); + } + } + + + } + catch (ExpressionEvaluationException e) { + throw new EnforcerRuleException("Unable to lookup an expression " + e.getLocalizedMessage(), e); + } + + } + + @Override + public boolean isCacheable() { + return false; + } + + @Override + public boolean isResultValid(EnforcerRule cachedRule) { + return false; + } + + @Override + public String getCacheId() { + return null; + } +} Property changes on: nuiton-enforcer-rules/trunk/src/main/java/org/nuiton/enforcer/CheckLabsPropertiesRule.java ___________________________________________________________________ Name: svn:mergeinfo + Added: nuiton-enforcer-rules/trunk/src/site/apt/devel.apt =================================================================== --- nuiton-enforcer-rules/trunk/src/site/apt/devel.apt (rev 0) +++ nuiton-enforcer-rules/trunk/src/site/apt/devel.apt 2009-05-11 11:19:33 UTC (rev 456) @@ -0,0 +1,7 @@ + ------------- + Documentation + ------------- + +Documentation + + todo. \ No newline at end of file Added: nuiton-enforcer-rules/trunk/src/site/apt/index.apt =================================================================== --- nuiton-enforcer-rules/trunk/src/site/apt/index.apt (rev 0) +++ nuiton-enforcer-rules/trunk/src/site/apt/index.apt 2009-05-11 11:19:33 UTC (rev 456) @@ -0,0 +1,15 @@ + ------ + Nuiton enforcer rules + ------ + Tony Chemit + ------ + May 2009 + ------ + +Introduction + + Librairie qui permet d'ajouter nos propres règles de vérification de projet mavan utilisé par Enforcer. + + Pour le moment il existe une unique règles qui valide les variables : + + <<labs.project>> et <<labs.id>> Modified: nuiton-enforcer-rules/trunk/src/site/site.xml =================================================================== --- nuiton-enforcer-rules/trunk/src/site/site.xml 2009-05-11 11:14:31 UTC (rev 455) +++ nuiton-enforcer-rules/trunk/src/site/site.xml 2009-05-11 11:19:33 UTC (rev 456) @@ -29,32 +29,31 @@ <body> <links> <item name="Labs" href="http://labs.libre-entreprise.org/"/> + <item name="Nuiton" href="http://www.nuiton.org/"/> <item name="${project.organization.name}" href="${project.organization.url}"/> - <item name="lutinproject" href="../lutinproject"/> - <item name="maven-lutin-skin" href="../maven-lutin-skin"/> - <item name="lutin maven repository" href="../maven2"/> + <item name="nuitonproject" href="../nuitonproject"/> + <item name="maven-nuiton-skin" href="../maven-nuiton-skin"/> + <item name="nuiton maven repository" href="../maven2"/> </links> - - <menu ref="parent"/> <menu name="Utilisateur"> <item name="Accueil" href="index.html"/> </menu> <menu name="Téléchargement"> - <item href="../maven2/org/codelutin/${project.artifactId}/${project.version}" - name="Télécharger la dernière version"/> - <item href="../maven2/org/codelutin/${project.artifactId}" - name="Voir toutes les versions"/> + <item href="${labs.builder.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}.jar" + name="Librairie (jar)"/> + <item href="${labs.builder.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-javadoc.jar" + name="Javadoc (jar)"/> + <item href="${labs.builder.url}/org/nuiton/${project.artifactId}/${project.version}/${project.build.finalName}-sources.jar" + name="Sources (jar)"/> </menu> <menu name="Développeur"> - <item name="A faire" href="Todo.html"/> + <item name="A faire" href="devel.html"/> </menu> <menu ref="reports"/> - <menu ref="modules"/> - </body> </project>
participants (1)
-
tchemit@users.labs.libre-entreprise.org