Author: tchemit Date: 2009-10-09 11:48:16 +0200 (Fri, 09 Oct 2009) New Revision: 277 Modified: trunk/maven-processor-plugin/src/main/java/org/nuiton/processor/ant/I18nExtractorTask.java trunk/maven-processor-plugin/src/main/java/org/nuiton/processor/plugin/ProcessorPlugin.java Log: Evolution #80: ajouter des logs dans le plugin Modified: trunk/maven-processor-plugin/src/main/java/org/nuiton/processor/ant/I18nExtractorTask.java =================================================================== --- trunk/maven-processor-plugin/src/main/java/org/nuiton/processor/ant/I18nExtractorTask.java 2009-09-29 11:39:53 UTC (rev 276) +++ trunk/maven-processor-plugin/src/main/java/org/nuiton/processor/ant/I18nExtractorTask.java 2009-10-09 09:48:16 UTC (rev 277) @@ -113,13 +113,13 @@ // Obtain this list of files within the source directory DirectoryScanner ds = getDirectoryScanner(srcDir); - String[] includes = getIncludes(); - if (includes.length > 0) { - ds.setIncludes(includes); + String[] ins = getIncludes(); + if (ins.length > 0) { + ds.setIncludes(ins); } - String[] excludes = getExcludes(); - if (excludes.length > 0) { - ds.setExcludes(excludes); + String[] exs = getExcludes(); + if (exs.length > 0) { + ds.setExcludes(exs); } ds.scan(); Modified: trunk/maven-processor-plugin/src/main/java/org/nuiton/processor/plugin/ProcessorPlugin.java =================================================================== --- trunk/maven-processor-plugin/src/main/java/org/nuiton/processor/plugin/ProcessorPlugin.java 2009-09-29 11:39:53 UTC (rev 276) +++ trunk/maven-processor-plugin/src/main/java/org/nuiton/processor/plugin/ProcessorPlugin.java 2009-10-09 09:48:16 UTC (rev 277) @@ -23,6 +23,7 @@ import java.io.File; import java.io.FileReader; import java.io.FileWriter; +import java.util.Arrays; import java.util.Map; import java.util.Map.Entry; import org.apache.maven.project.MavenProject; @@ -30,6 +31,7 @@ import org.nuiton.processor.Processor; import org.nuiton.processor.ProcessorUtil; import org.nuiton.io.MirroredFileUpdater; +import org.nuiton.plugin.PluginHelper; /** * Maven2 plugin for Nuiton Processor. @@ -100,12 +102,12 @@ * @parameter expression="${processor.fileInPattern}" default-value="" * @since 0.10 */ - protected String fileInPattern=""; + protected String fileInPattern = ""; /** * @parameter expression="${processor.fileOutPattern}" default-value="" * @since 0.10 */ - protected String fileOutPattern=""; + protected String fileOutPattern = ""; /** * Les filtres a utiliser par le processor, séparés par des virgules * @@ -127,7 +129,9 @@ * @since 0.10 */ private boolean verbose; - + /** + * Les fichiers à traiter + */ protected Map<String, String> filesToTreate; public ProcessorPlugin() { @@ -157,40 +161,56 @@ @Override protected boolean init() throws Exception { - boolean doGenerate = filters.length() > 0; + if (filters.isEmpty()) { + getLog().warn("No filters to use, skip execution."); + return false; + } - if (doGenerate) { + MirroredFileUpdater updater = overwrite ? null : new MirroredFileUpdater(fileInPattern, fileOutPattern, srcDir, destDir); - MirroredFileUpdater updater = overwrite ? null : new MirroredFileUpdater(fileInPattern, fileOutPattern, srcDir, destDir); + updater.setDestinationDirectory(destDir); + String[] aIncludes = includes.split(","); + String[] aExcludes = excludes == null ? null : excludes.split(","); - updater.setDestinationDirectory(destDir); - String[] aIncludes = includes.split(","); - String[] aExcludes = excludes == null ? null : excludes.split(","); + filesToTreate = getFilesToTreate(aIncludes, aExcludes, srcDir, updater); - filesToTreate = getFilesToTreate(aIncludes, aExcludes, srcDir, updater); - - doGenerate = !filesToTreate.isEmpty(); - } - - return doGenerate; + return true; } @Override protected void doAction() throws Exception { + if (filesToTreate.isEmpty()) { + getLog().info("No file to process."); + return; + } + if (isVerbose()) { + printConfig(); + } + + long t0 = System.nanoTime(); + Processor processor = ProcessorUtil.newProcessor(filters, ","); + getLog().info("Processing " + filesToTreate.size() + " files(s)."); + for (Entry<String, String> entry : filesToTreate.entrySet()) { File srcFile = new File(srcDir, entry.getKey()); File dstFile = new File(entry.getValue()); + if (isVerbose()) { + getLog().info("Process " + srcFile); + } // creation du repertoire pour le fichier destination dstFile.getParentFile().mkdirs(); processor.process(new FileReader(srcFile), new FileWriter(dstFile)); } + if (isVerbose()) { + getLog().info("done in " + PluginHelper.convertTime(System.nanoTime() - t0)); + } // on indique que le repertoire entrant n'est plus dans le build // car sinon on va avoir des classes dupliquées removeCompileSourceRoots(srcDir); @@ -199,4 +219,22 @@ addCompileSourceRoots(destDir); } + protected void printConfig() { + getLog().info("config - srcDir " + srcDir); + getLog().info("config - destDir " + destDir); + getLog().info("config - includes " + includes); + getLog().info("config - filters " + Arrays.asList(PluginHelper.splitAndTrim(filters, ","))); + if (excludes != null) { + getLog().info("config - excludes " + excludes); + } + if (!fileInPattern.isEmpty()) { + getLog().info("config - fileInPattern " + fileInPattern); + } + if (!fileOutPattern.isEmpty()) { + getLog().info("config - fileOutPattern " + fileOutPattern); + } + if (overwrite) { + getLog().info("config - overwrite " + overwrite); + } + } }