[Lutingenerator-commits] r350 - in maven-generator-plugin/tags: . 0.60 0.60/src/main/java/org/codelutin/generator/plugin 0.60/src/site 0.60/src/site/rst 0.60/src/site/rst/fr
Author: tchemit Date: 2008-10-13 15:44:40 +0000 (Mon, 13 Oct 2008) New Revision: 350 Added: maven-generator-plugin/tags/0.60/ maven-generator-plugin/tags/0.60/changelog maven-generator-plugin/tags/0.60/pom.xml maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/CopyVersionFiles.java maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/GeneratorPlugin.java maven-generator-plugin/tags/0.60/src/site/rst/fr/ maven-generator-plugin/tags/0.60/src/site/rst/fr/index.rst maven-generator-plugin/tags/0.60/src/site/site.xml Removed: maven-generator-plugin/tags/0.60/changelog maven-generator-plugin/tags/0.60/pom.xml maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/CopyVersionFiles.java maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/GeneratorPlugin.java maven-generator-plugin/tags/0.60/src/site/rst/fr/index.rst maven-generator-plugin/tags/0.60/src/site/rst/index.rst maven-generator-plugin/tags/0.60/src/site/site.xml Log: [maven-release-plugin] copy for tag 0.60 Copied: maven-generator-plugin/tags/0.60 (from rev 328, maven-generator-plugin/trunk) Deleted: maven-generator-plugin/tags/0.60/changelog =================================================================== --- maven-generator-plugin/trunk/changelog 2008-10-02 15:40:56 UTC (rev 328) +++ maven-generator-plugin/tags/0.60/changelog 2008-10-13 15:44:40 UTC (rev 350) @@ -1,16 +0,0 @@ -0.51 thimel 20080925 - * 20080925 [thimel] Refactor pom using the correct architecture - * 20080925 [thimel] Switched License to LGPL - * 20080723 [chemit] - - add generated sources in maven project's compilation directories via addCompilationDirectory plugin property - - * 20070525 [chatellier] - - add Xmi2StateModel goal - - improve Xmi2Model Hierarchy - * 20070525 [chatellier] update ant dependency to 1.7.0 - * 20070525 [chatellier] replacing lutinxml.XSLAntTask by Ant.XSLTProcess - -0.50 ??? ??? - - * 20070420 [chatellier] add goal to copy a set of generated files - * 20070420 [chatellier] update lutingenerator depencency to 0.50 \ No newline at end of file Copied: maven-generator-plugin/tags/0.60/changelog (from rev 344, maven-generator-plugin/trunk/changelog) =================================================================== --- maven-generator-plugin/tags/0.60/changelog (rev 0) +++ maven-generator-plugin/tags/0.60/changelog 2008-10-13 15:44:40 UTC (rev 350) @@ -0,0 +1,22 @@ +0.60 chemit 20081013 + * 20081013 [chemit] + - remove addCompileDirectory option (always done) + add dynamic resources + - use lutingenerator 0.60 + - clean pom + +0.51 thimel 20080925 + * 20080925 [thimel] Refactor pom using the correct architecture + * 20080925 [thimel] Switched License to LGPL + * 20080723 [chemit] + - add generated sources in maven project's compilation directories via addCompilationDirectory plugin property + + * 20070525 [chatellier] + - add Xmi2StateModel goal + - improve Xmi2Model Hierarchy + * 20070525 [chatellier] update ant dependency to 1.7.0 + * 20070525 [chatellier] replacing lutinxml.XSLAntTask by Ant.XSLTProcess + +0.50 ??? ??? + + * 20070420 [chatellier] add goal to copy a set of generated files + * 20070420 [chatellier] update lutingenerator depencency to 0.50 \ No newline at end of file Deleted: maven-generator-plugin/tags/0.60/pom.xml =================================================================== --- maven-generator-plugin/trunk/pom.xml 2008-10-02 15:40:56 UTC (rev 328) +++ maven-generator-plugin/tags/0.60/pom.xml 2008-10-13 15:44:40 UTC (rev 350) @@ -1,112 +0,0 @@ -<?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"> - - <!--The version of maven's project object model--> - <modelVersion>4.0.0</modelVersion> - - <!-- parent --> - <parent> - <groupId>org.codelutin</groupId> - <artifactId>lutinpluginproject</artifactId> - <version>3.0</version> - </parent> - - <!--A unique name for this project--> - <groupId>org.codelutin</groupId> - <artifactId>maven-generator-plugin</artifactId> - <name>Plugin maven Generator</name> - - <!--ejb, jar, war...--> - <packaging>maven-plugin</packaging> - - <!--Version--> - <version>0.51-SNAPSHOT</version> - - <!--Description--> - <inceptionYear>2006</inceptionYear> - - <!-- Properties --> - <properties> - <!-- id du projet du labs --> - <labs.id>39</labs.id> - - <!-- nom du projet sur le labs --> - <labs.project>lutingenerator</labs.project> - - <!-- Test --> - <maven.test.skip>false</maven.test.skip> - </properties> - - <!--Source control management--> - <scm> - <connection>${maven.scm.connection}</connection> - <developerConnection>${maven.scm.developerConnection}</developerConnection> - <url>${maven.scm.url}</url> - </scm> - - <!--who the developers are for the project--> - <contributors> - <contributor> - <name>Julien Ruchaud</name> - <email>ruchaud@codelutin.com</email> - <organization>Code Lutin</organization> - <timezone>+2</timezone> - <roles> - <role>Développeur</role> - </roles> - </contributor> - </contributors> - - <build> - <plugins> - <!-- plugin license-switcher --> - <plugin> - <groupId>org.codelutin</groupId> - <artifactId>maven-license-switcher-plugin</artifactId> - <version>0.2</version> - <executions> - <execution> - <goals> - <goal>license</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <!--Librairies--> - <dependencies> - - <dependency> - <groupId>org.codelutin</groupId> - <artifactId>lutingenerator</artifactId> - <version>0.51-SNAPSHOT</version> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>org.codelutin</groupId> - <artifactId>lutinpluginutil</artifactId> - <version>0.2</version> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>org.apache.ant</groupId> - <artifactId>ant</artifactId> - <version>1.7.1</version> - <scope>compile</scope> - </dependency> - - <dependency> - <groupId>org.apache.ant</groupId> - <artifactId>ant-trax</artifactId> - <version>1.7.1</version> - <scope>runtime</scope> - </dependency> - - </dependencies> - -</project> Copied: maven-generator-plugin/tags/0.60/pom.xml (from rev 349, maven-generator-plugin/trunk/pom.xml) =================================================================== --- maven-generator-plugin/tags/0.60/pom.xml (rev 0) +++ maven-generator-plugin/tags/0.60/pom.xml 2008-10-13 15:44:40 UTC (rev 350) @@ -0,0 +1,90 @@ +<?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.codelutin</groupId> + <artifactId>lutinpluginproject</artifactId> + <version>3.0</version> + </parent> + + <artifactId>maven-generator-plugin</artifactId> + + <!-- POM Relationships : Inheritance : Dependencies --> + <dependencies> + + <dependency> + <groupId>org.codelutin</groupId> + <artifactId>lutingenerator</artifactId> + <version>0.60</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>org.codelutin</groupId> + <artifactId>lutinpluginutil</artifactId> + <version>0.2</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>org.apache.ant</groupId> + <artifactId>ant</artifactId> + <version>1.7.1</version> + <scope>compile</scope> + </dependency> + + <dependency> + <groupId>org.apache.ant</groupId> + <artifactId>ant-trax</artifactId> + <version>1.7.1</version> + <scope>runtime</scope> + </dependency> + + </dependencies> + + <!-- ************************************************************* --> + <!-- *** Project Information ************************************* --> + <!-- ************************************************************* --> + <name>Plugin maven Generator</name> + <version>0.60</version> + <inceptionYear>2006</inceptionYear> + <description>maven plugin to use the lutingenerator library</description> + + <!-- ************************************************************* --> + <!-- *** Build Settings ****************************************** --> + <!-- ************************************************************* --> + <packaging>maven-plugin</packaging> + + <properties> + <!-- id du projet du labs --> + <labs.id>39</labs.id> + + <!-- nom du projet sur le labs --> + <labs.project>lutingenerator</labs.project> + + </properties> + + <build> + <plugins> + + </plugins> + </build> + + + <!-- ************************************************************* --> + <!-- *** Build Environment ************************************** --> + <!-- ************************************************************* --> + + <!--Source control management--> + <scm> + <connection>scm:svn:svn://anonymous@labs.libre-entreprise.org/svnroot/lutingenerator/maven-generator-plugin/tags/0.60</connection> + <developerConnection>scm:svn:svn+ssh://tchemit@labs.libre-entreprise.org/svnroot/lutingenerator/maven-generator-plugin/tags/0.60</developerConnection> + <url>http://labs.libre-entreprise.org/plugins/scmsvn/viewcvs.php/maven-generator-plugin/tags/0.60?root=lutingenerator</url> + </scm> + +</project> Deleted: maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/CopyVersionFiles.java =================================================================== --- maven-generator-plugin/trunk/src/main/java/org/codelutin/generator/plugin/CopyVersionFiles.java 2008-10-02 15:40:56 UTC (rev 328) +++ maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/CopyVersionFiles.java 2008-10-13 15:44:40 UTC (rev 350) @@ -1,264 +0,0 @@ -/* *##% Plugin maven Generator - * Copyright (C) 2006 - 2008 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.codelutin.generator.plugin; - -import java.io.File; -import java.io.FileFilter; - -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugin.logging.Log; -import org.apache.tools.ant.BuildLogger; -import org.apache.tools.ant.NoBannerLogger; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.taskdefs.Copy; -import org.apache.tools.ant.types.FileSet; -import org.dom4j.DocumentException; -import org.dom4j.Node; -import org.dom4j.io.SAXReader; -import org.dom4j.Document; - -/* - * CopyVersionFiles - * - * @author chatellier - * - * @version $Revision$ - * - * Last update : $Date$ By : $Author$ - */ -/** - * CopyVersionFiles.java - * - * @goal copyVersionFiles - */ -public class CopyVersionFiles extends AbstractMojo implements FileFilter { - - /** - * Fichiers objectModel a lire pour determiner la version - * - * @parameter - * @required - */ - protected String includes; - - /** - * Répertoire source - * - * @parameter alias="srcGenDest" - * @required - */ - protected File srcDirGen; - - /** - * Le dossier de destination des mappings - * - * @parameter - * @required - */ - protected String copyVersionDir; - - /** - * Les mappings a sauvegarder - * - * @parameter - * @required - */ - protected String copyVersionFiles; - - /** - * Répertoire cible - * - * @parameter - * @required - */ - protected File destDirGen; - - /** - * Ecrase les fichiers deja presents ? - * - * @parameter default-value="false" - */ - protected boolean copyOverwrite = false; - - /** - * Version trouvee dans les fichiers objectModel. - * - * Type string, parce que elle peut avoir la forme "1.3.2" par exemple - */ - protected String versionFound = null; - - /** - * Nom du model sauvegarde - */ - protected String modelNameFound = null; - - /** - * Maven logger - */ - protected Log logger; - - /** - * Dossier incluant le nom de la version - */ - protected File fVersionDir; - - /* - * (non-Javadoc) - * - * @see org.apache.maven.plugin.Mojo#execute() - */ - public void execute() throws MojoExecutionException, MojoFailureException { - - // get log - logger = getLog(); - - // find version and model name - findVersionAndModelName(); - - if (versionFound == null || !versionFound.matches("[0-9]+(\\.[0-9]+)*")) { - versionFound = "0"; - logger.info("No version found in model files, setting version to '" - + versionFound + "'"); - } else { - logger.info("Version '" + versionFound - + "' found in model description"); - } - - String destDir = copyVersionDir.replace("%MODELNAME%", modelNameFound) - + File.separator + versionFound; - fVersionDir = new File(destDir); - - boolean doCopy = true; - - if (!copyOverwrite) { - doCopy = !checkExistence(); - } - if (doCopy) - copyAction(); - } - - /** - * Check if previous saved files are already present - */ - protected boolean checkExistence() { - - boolean exist = false; - - if (fVersionDir.exists() && fVersionDir.listFiles().length > 0) { - logger.warn("[COPY] Warning saved files for version '" - + versionFound + "' and name '" + modelNameFound - + "' already exists"); - logger.warn("[COPY] Copy won't be done unless copyOverwrite " - + "parameter is set to 'true' or version is updated"); - - exist = true; - } - - return exist; - } - - /** - * Copy hibernate files. - * - * Using ant task - */ - protected void copyAction() { - // creation du repertoire - fVersionDir.mkdirs(); - - /* Création d'un projet ant */ - Project project = createProject(); - - /* Création de la tâche ant Copy */ - Copy copy = new Copy(); - copy.setProject(project); - copy.setTaskName("Copy ressources"); - - /* Configuration */ - copy.setTodir(fVersionDir); - copy.setOverwrite(true); - - FileSet fileSet = new FileSet(); - fileSet.setDir(destDirGen); - fileSet.setIncludes(copyVersionFiles); - copy.addFileset(fileSet); - - /* Execution */ - copy.execute(); - } - - /** - * Find version and name in object model files - */ - protected void findVersionAndModelName() { - - File srcModelDir = srcDirGen; - - File[] modelFiles = srcModelDir.listFiles(this); - - for (int i = 0; i < modelFiles.length; ++i) { - SAXReader saxR = new SAXReader(); - Document document; - try { - document = saxR.read(modelFiles[i]); - Node node; - node = document.selectSingleNode("/objectModel/@version"); - if (node != null) { - versionFound = node.getStringValue(); - } - node = document.selectSingleNode("/objectModel/@name"); - if (node != null) { - modelNameFound = node.getStringValue(); - } - } catch (DocumentException e) { - logger.error("Can't read document", e); - } - } - } - - protected Project createProject() { - /* Création d'un projet ant */ - Project project = new Project(); - - BuildLogger logger = new NoBannerLogger(); - logger.setMessageOutputLevel(org.apache.tools.ant.Project.MSG_INFO); - logger.setOutputPrintStream(System.out); - logger.setErrorPrintStream(System.err); - - project.init(); - project.getBaseDir(); - project.addBuildListener(logger); - return project; - } - - /* - * (non-Javadoc) - * - * @see java.io.FileFilter#accept(java.io.File) - */ - public boolean accept(File arg0) { - String fullPath = arg0.getAbsolutePath(); - // regex - String regexInclude = includes.replaceAll("\\.", "\\.").replaceAll( - "([^\\*])\\*([^\\*])", "$1[^/]*$2").replaceAll("\\*\\*", ".*") - + "$"; - return fullPath.matches(regexInclude); - } -} Copied: maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/CopyVersionFiles.java (from rev 330, maven-generator-plugin/trunk/src/main/java/org/codelutin/generator/plugin/CopyVersionFiles.java) =================================================================== --- maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/CopyVersionFiles.java (rev 0) +++ maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/CopyVersionFiles.java 2008-10-13 15:44:40 UTC (rev 350) @@ -0,0 +1,265 @@ +/* *##% Plugin maven Generator + * Copyright (C) 2006 - 2008 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.codelutin.generator.plugin; + +import java.io.File; +import java.io.FileFilter; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugin.logging.Log; +import org.apache.tools.ant.BuildLogger; +import org.apache.tools.ant.NoBannerLogger; +import org.apache.tools.ant.Project; +import org.apache.tools.ant.taskdefs.Copy; +import org.apache.tools.ant.types.FileSet; +import org.dom4j.DocumentException; +import org.dom4j.Node; +import org.dom4j.io.SAXReader; +import org.dom4j.Document; + +/* + * CopyVersionFiles + * + * @author chatellier + * + * @version $Revision$ + * + * Last update : $Date$ By : $Author$ + */ +/** + * CopyVersionFiles.java + * + * @goal copyVersionFiles + */ +public class CopyVersionFiles extends AbstractMojo implements FileFilter { + + /** + * Fichiers objectModel a lire pour determiner la version + * + * @parameter + * @required + */ + protected String includes; + + /** + * Répertoire source + * + * @parameter alias="srcGenDest" + * @required + */ + protected File srcDirGen; + + /** + * Le dossier de destination des mappings + * + * @parameter + * @required + */ + protected String copyVersionDir; + + /** + * Les mappings a sauvegarder + * + * @parameter + * @required + */ + protected String copyVersionFiles; + + /** + * Répertoire cible + * + * @parameter + * @required + */ + protected File destDirGen; + + /** + * Ecrase les fichiers deja presents ? + * + * @parameter default-value="false" + */ + protected boolean copyOverwrite = false; + + /** + * Version trouvee dans les fichiers objectModel. + * + * Type string, parce que elle peut avoir la forme "1.3.2" par exemple + */ + protected String versionFound = null; + + /** + * Nom du model sauvegarde + */ + protected String modelNameFound = null; + + /** + * Maven logger + */ + protected Log logger; + + /** + * Dossier incluant le nom de la version + */ + protected File fVersionDir; + + /* + * (non-Javadoc) + * + * @see org.apache.maven.plugin.Mojo#execute() + */ + public void execute() throws MojoExecutionException, MojoFailureException { + + // get log + logger = getLog(); + + // find version and model name + findVersionAndModelName(); + + if (versionFound == null || !versionFound.matches("[0-9]+(\\.[0-9]+)*")) { + versionFound = "0"; + logger.info("No version found in model files, setting version to '" + + versionFound + "'"); + } else { + logger.info("Version '" + versionFound + + "' found in model description"); + } + + String destDir = copyVersionDir.replace("%MODELNAME%", modelNameFound) + + File.separator + versionFound; + fVersionDir = new File(destDir); + + boolean doCopy = true; + + if (!copyOverwrite) { + doCopy = !checkExistence(); + } + if (doCopy) + copyAction(); + } + + /** + * Check if previous saved files are already present + * @return <code>true</code> if already present,<code>false</code> otherwise. + */ + protected boolean checkExistence() { + + boolean exist = false; + + if (fVersionDir.exists() && fVersionDir.listFiles().length > 0) { + logger.warn("[COPY] Warning saved files for version '" + + versionFound + "' and name '" + modelNameFound + + "' already exists"); + logger.warn("[COPY] Copy won't be done unless copyOverwrite " + + "parameter is set to 'true' or version is updated"); + + exist = true; + } + + return exist; + } + + /** + * Copy hibernate files. + * + * Using ant task + */ + protected void copyAction() { + // creation du repertoire + fVersionDir.mkdirs(); + + /* Création d'un projet ant */ + Project project = createProject(); + + /* Création de la tâche ant Copy */ + Copy copy = new Copy(); + copy.setProject(project); + copy.setTaskName("Copy ressources"); + + /* Configuration */ + copy.setTodir(fVersionDir); + copy.setOverwrite(true); + + FileSet fileSet = new FileSet(); + fileSet.setDir(destDirGen); + fileSet.setIncludes(copyVersionFiles); + copy.addFileset(fileSet); + + /* Execution */ + copy.execute(); + } + + /** + * Find version and name in object model files + */ + protected void findVersionAndModelName() { + + File srcModelDir = srcDirGen; + + File[] modelFiles = srcModelDir.listFiles(this); + + for (File modelFile : modelFiles) { + SAXReader saxR = new SAXReader(); + Document document; + try { + document = saxR.read(modelFile); + Node node; + node = document.selectSingleNode("/objectModel/@version"); + if (node != null) { + versionFound = node.getStringValue(); + } + node = document.selectSingleNode("/objectModel/@name"); + if (node != null) { + modelNameFound = node.getStringValue(); + } + } catch (DocumentException e) { + logger.error("Can't read document", e); + } + } + } + + protected Project createProject() { + /* Création d'un projet ant */ + Project project = new Project(); + + BuildLogger logger = new NoBannerLogger(); + logger.setMessageOutputLevel(org.apache.tools.ant.Project.MSG_INFO); + logger.setOutputPrintStream(System.out); + logger.setErrorPrintStream(System.err); + + project.init(); + project.getBaseDir(); + project.addBuildListener(logger); + return project; + } + + /* + * (non-Javadoc) + * + * @see java.io.FileFilter#accept(java.io.File) + */ + public boolean accept(File arg0) { + String fullPath = arg0.getAbsolutePath(); + // regex + String regexInclude = includes.replaceAll("\\.", "\\.").replaceAll( + "([^\\*])\\*([^\\*])", "$1[^/]*$2").replaceAll("\\*\\*", ".*") + + "$"; + return fullPath.matches(regexInclude); + } +} Deleted: maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/GeneratorPlugin.java =================================================================== --- maven-generator-plugin/trunk/src/main/java/org/codelutin/generator/plugin/GeneratorPlugin.java 2008-10-02 15:40:56 UTC (rev 328) +++ maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/GeneratorPlugin.java 2008-10-13 15:44:40 UTC (rev 350) @@ -1,167 +0,0 @@ -/* *##% Plugin maven Generator - * Copyright (C) 2006 - 2008 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>. ##%*/ - -/* * - * GeneratorPlugin.java - * - * Created: 14 avril 2006 - * - * @author ruchaud - * @version $Revision$ - * - * Last update: $Date$ - * by : $Author$ - */ - -package org.codelutin.generator.plugin; - -import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.project.MavenProject; -import org.apache.tools.ant.BuildLogger; -import org.apache.tools.ant.NoBannerLogger; -import org.apache.tools.ant.Project; -import org.codelutin.generator.GeneratorTask; - -import java.io.File; - -/** - * Effectue toutes les générations et copie les fichiers générés - * dans le répertoire de compilation - * - * @goal generate - */ -public class GeneratorPlugin extends AbstractMojo { - - /** - * @description Dépendance du projet. - * @parameter default-value="${project}" - * @readonly - */ - protected MavenProject project; - - /** - * Répertoire source - * - * @parameter alias="srcGenDest" - * @required - */ - protected File srcDirGen; - - /** - * Répertoire cible - * - * @parameter - * @required - */ - protected File destDirGen; - - /** - * Templates à utiliser, séparés par des virgules - * - * @parameter - * @required - */ - protected String templates; - - /** - * Fichier à inclure - * - * @parameter - * @required - */ - protected String includes; - - /** - * Nom par défaut du paquetage généré - * - * @parameter expression="org.codelutin.${project.artifactId}" - */ - protected String defaultPackage; - - /** - * Flag pour indiquer si on doit ajouter le repertoire de generation dans les répertoires - * de compilation du project Maven Nom par défaut du paquetage généré - * <p/> - * TODO Ce flag doit disparaitre dans la prochaine release (uniquement utilisée pour compatibilité) - * - * @parameter expression="${generator.addCompileDirectory}" default-value="false" - */ - protected boolean addCompileDirectory; - - - /** - * Ecrase les fichiers générés - * - * @parameter default-value="false" - */ - private boolean overwrite = false; - - public void execute() throws MojoExecutionException, MojoFailureException { - getLog().info("Effectue toutes les générations et copie les fichiers générés " - + "dans le répertoire de compilation"); - - /* Création d'un projet ant */ - Project project = new Project(); - - BuildLogger logger = new NoBannerLogger(); - logger.setMessageOutputLevel(org.apache.tools.ant.Project.MSG_INFO); - logger.setOutputPrintStream(System.out); - logger.setErrorPrintStream(System.err); - - project.init(); - project.getBaseDir(); - project.addBuildListener(logger); - - /* Création de la tâche ant */ - GeneratorTask generator = new GeneratorTask(); - generator.setProject(project); - generator.setTaskName("Generator"); - - /* Configuration */ - generator.setOverwrite(overwrite); - - generator.setTemplates(templates); - - generator.setSrcdir(srcDirGen); - - destDirGen.mkdirs(); - generator.setDestdir(destDirGen); - - if (addCompileDirectory) { - fixCompileSourceRoots(); - } - - generator.setProperties("defaultPackage=" + defaultPackage); - - generator.setIncludes(includes); - - /* Execution */ - generator.execute(); - } - - /** - * permet d'ajout le répertoire de génération des fichiers java dans les répertoires - * de compilation du projet Maven. - */ - protected void fixCompileSourceRoots() { - if (!project.getCompileSourceRoots().contains(destDirGen.getPath())) { - project.addCompileSourceRoot(destDirGen.getPath()); - } - } -} Copied: maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/GeneratorPlugin.java (from rev 331, maven-generator-plugin/trunk/src/main/java/org/codelutin/generator/plugin/GeneratorPlugin.java) =================================================================== --- maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/GeneratorPlugin.java (rev 0) +++ maven-generator-plugin/tags/0.60/src/main/java/org/codelutin/generator/plugin/GeneratorPlugin.java 2008-10-13 15:44:40 UTC (rev 350) @@ -0,0 +1,163 @@ +/* *##% Plugin maven Generator + * Copyright (C) 2006 - 2008 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>. ##%*/ + +/* * + * GeneratorPlugin.java + * + * Created: 14 avril 2006 + * + * @author ruchaud + * @version $Revision$ + * + * Last update: $Date$ + * by : $Author$ + */ + +package org.codelutin.generator.plugin; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.project.MavenProject; +import org.apache.maven.model.Resource; +import org.apache.tools.ant.BuildLogger; +import org.apache.tools.ant.NoBannerLogger; +import org.apache.tools.ant.Project; +import org.codelutin.generator.GeneratorTask; + +import java.io.File; +import java.util.Arrays; + +/** + * Effectue toutes les générations et copie les fichiers générés + * dans le répertoire de compilation + * + * @goal generate + */ +public class GeneratorPlugin extends AbstractMojo { + + /** + * @description Dépendance du projet. + * @parameter default-value="${project}" + * @readonly + */ + protected MavenProject project; + + /** + * Répertoire source + * + * @parameter alias="srcGenDest" + * @required + */ + protected File srcDirGen; + + /** + * Répertoire cible + * + * @parameter + * @required + */ + protected File destDirGen; + + /** + * Templates à utiliser, séparés par des virgules + * + * @parameter + * @required + */ + protected String templates; + + /** + * Fichier à inclure + * + * @parameter + * @required + */ + protected String includes; + + /** + * Nom par défaut du paquetage généré + * + * @parameter expression="org.codelutin.${project.artifactId}" + */ + protected String defaultPackage; + + /** + * Ecrase les fichiers générés + * + * @parameter default-value="false" + */ + private boolean overwrite = false; + + public void execute() throws MojoExecutionException, MojoFailureException { + getLog().info("Effectue toutes les générations et copie les fichiers générés " + + "dans le répertoire de compilation"); + + /* Création d'un projet ant */ + Project project = new Project(); + + BuildLogger logger = new NoBannerLogger(); + logger.setMessageOutputLevel(org.apache.tools.ant.Project.MSG_INFO); + logger.setOutputPrintStream(System.out); + logger.setErrorPrintStream(System.err); + + project.init(); + project.getBaseDir(); + project.addBuildListener(logger); + + /* Création de la tâche ant */ + GeneratorTask generator = new GeneratorTask(); + generator.setProject(project); + generator.setTaskName("Generator"); + + /* Configuration */ + generator.setOverwrite(overwrite); + + generator.setTemplates(templates); + + generator.setSrcdir(srcDirGen); + + destDirGen.mkdirs(); + generator.setDestdir(destDirGen); + + fixCompileSourceRoots(); + + generator.setProperties("defaultPackage=" + defaultPackage); + + generator.setIncludes(includes); + + /* Execution */ + generator.execute(); + } + + /** + * permet d'ajout le répertoire de génération des fichiers java dans les répertoires + * de compilation du projet Maven. + */ + protected void fixCompileSourceRoots() { + if (!project.getCompileSourceRoots().contains(destDirGen.getPath())) { + getLog().info("add compile source root : "+destDirGen); + project.addCompileSourceRoot(destDirGen.getPath()); + Resource resources =new Resource(); + resources.setDirectory(destDirGen.getAbsolutePath()); + resources.setExcludes(Arrays.asList("**/*.java")); + getLog().info("add resource root :"+resources); + project.addResource(resources); + } + + } +} Copied: maven-generator-plugin/tags/0.60/src/site/rst/fr (from rev 346, maven-generator-plugin/trunk/src/site/rst/fr) Deleted: maven-generator-plugin/tags/0.60/src/site/rst/fr/index.rst =================================================================== (Binary files differ) Copied: maven-generator-plugin/tags/0.60/src/site/rst/fr/index.rst (from rev 348, maven-generator-plugin/trunk/src/site/rst/fr/index.rst) =================================================================== (Binary files differ) Deleted: maven-generator-plugin/tags/0.60/src/site/rst/index.rst =================================================================== (Binary files differ) Deleted: maven-generator-plugin/tags/0.60/src/site/site.xml =================================================================== --- maven-generator-plugin/trunk/src/site/site.xml 2008-10-02 15:40:56 UTC (rev 328) +++ maven-generator-plugin/tags/0.60/src/site/site.xml 2008-10-13 15:44:40 UTC (rev 350) @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project name="MavenJRstPlugin"> - - <skin> - <groupId>lutinlib</groupId> - <artifactId>lutin-site-skin</artifactId> - <version>0.1</version> - </skin> - - <bannerLeft> - <name>Maven-Generator-Plugin</name> - </bannerLeft> - - <bannerRight> - <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> - <href>http://www.codelutin.com</href> - </bannerRight> - - <poweredBy> - <logo href="http://maven.apache.org" name="Maven" img="images/logos/maven-feather.png"/> - <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="images/jrst-logo.png"/> - <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="images/restructuredtext-logo.png"/> - </poweredBy> - - <body> - <links> - <item name="LutinGenerator" href="http://lutingenerator.labs.libre-entreprise.org/"/> - <item name="Labs" href="http://labs.libre-entreprise.org/"/> - <item name="Code Lutin" href="http://www.codelutin.com/"/> - </links> - - <menu name="Utilisateur"> - <item href="index.html" name="Accueil"/> - <item href="http://lutinbuilder.labs.libre-entreprise.org/maven2/org/codelutin/maven-gen..." name="Téléchargement"/> - </menu> - - <!--<menu name="Developpeur"> - <item name="Todo" href="Todo.html"/> - </menu>--> - - ${reports} - - </body> -</project> Copied: maven-generator-plugin/tags/0.60/src/site/site.xml (from rev 346, maven-generator-plugin/trunk/src/site/site.xml) =================================================================== --- maven-generator-plugin/tags/0.60/src/site/site.xml (rev 0) +++ maven-generator-plugin/tags/0.60/src/site/site.xml 2008-10-13 15:44:40 UTC (rev 350) @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name="${project.name}"> + + <skin> + <groupId>org.codelutin</groupId> + <artifactId>maven-lutin-skin</artifactId> + <version>0.2.1</version> + </skin> + + <bannerLeft> + <name>${project.name}</name> + </bannerLeft> + + <bannerRight> + <src>http://www.codelutin.com/images/lutinorange-codelutin.png</src> + <href>${project.organization.url}</href> + </bannerRight> + + <poweredBy> + <logo href="http://maven.apache.org" name="Maven" img="images/logos/maven-feather.png"/> + <logo href="http://jrst.labs.libre-entreprise.org" name="JRst" img="images/jrst-logo.png"/> + <logo href="http://docutils.sourceforge.net/rst.html" name="ReStructuredText" img="images/restructuredtext-logo.png"/> + </poweredBy> + + <body> + <links> + <item name="LutinGenerator" href="http://lutingenerator.labs.libre-entreprise.org/lutingenerator"/> + <item name="Labs" href="http://labs.libre-entreprise.org/"/> + <item name="Code Lutin" href="http://www.codelutin.com/"/> + </links> + + <menu name="Utilisateur"> + <item href="index.html" name="Accueil"/> + <item name="Goals" href="plugin-info.html"> + <item name="generate" href="generate-mojo.html"/> + <item name="help" href="help-mojo.html"/> + </item> + </menu> + + <menu name="Téléchargement"> + <item href="${labs.builder.url}/org/codelutin/${project.artifactId}/${project.version}" + name="Télécharger la dernière version"/> + <item href="${labs.builder.url}/org/codelutin/${project.artifactId}" + name="Voir toutes les versions"/> + </menu> + + <!--<menu name="Developpeur"> + <item name="Todo" href="Todo.html"/> + </menu>--> + + <menu ref="reports"/> + + </body> +</project>
participants (1)
-
tchemit@users.labs.libre-entreprise.org