org.nuiton.license.plugin
Class UpdateHeaderPlugin

java.lang.Object
  extended by org.apache.maven.plugin.AbstractMojo
      extended by org.nuiton.plugin.AbstractPlugin
          extended by org.nuiton.license.plugin.UpdateHeaderPlugin
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, org.nuiton.plugin.Plugin

public class UpdateHeaderPlugin
extends org.nuiton.plugin.AbstractPlugin

The goal to update (or add) the licence header on some files.

Since:
1.0.1
Author:
chemit
Is defined by the goal name:
update-header
Requires a Maven project to run:
true

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.nuiton.plugin.Plugin
org.nuiton.plugin.Plugin.Packaging
 
Field Summary
protected  java.util.Map<java.lang.String,HeaderGenerator> _generators
          All available generators
protected  java.lang.String boxedLicenseHeaderContent
          le header complet (avec les balises de commentaires)
protected  java.util.List<java.lang.String> compileSourceRoots
          Repertoires des fichiers sources a traiter.
protected  boolean dryRun
          A flag to test plugin but modify no file.
protected  java.lang.String encoding
          Encoding a utiliser pour lire et ecrire les fichiers.
protected  java.lang.String excludes
          La liste des patterns de fichiers à exclure (séparés par des virgules).
protected  java.util.Map<java.io.File,java.lang.String[]> filesToTreate
          la liste des chemin relatifs des sources java a traiter pour chaque repertoire contenant des sources
protected  java.lang.String generatorName
          Le type de générateur a utiliser pour encapsuler le header.
protected  java.lang.String inceptionYear
          l'annee de creation du module (sera place dans le header)
protected  java.lang.String includes
          La liste des patterns de fichiers à inclure (séparés par des virgules).
protected  boolean keepBackup
          Un flag pour conserver un backup des fichiers modifies.
protected  java.lang.String licenseHeaderContent
          le header a ajouter dans chaque fichier source java
protected  java.lang.String licenseName
          Le type de license a appliquer.
protected  java.lang.String licenseResolver
          Un resolver externe
protected  java.lang.String organizationName
          le nom de l'organisation (sera place dans le header)
protected  org.apache.maven.project.MavenProject project
          Dependance du projet.
protected  java.lang.String projectName
          le nom du projet (sera place dans le header)
protected  java.lang.String template
          La template (velocity) a utiliser pour construire le header.
protected  java.util.Map<java.lang.String,java.lang.String> templateParameters
          Des paramètres supplémentaires à utiliser dans la template du header.
protected  java.util.List<java.lang.String> testCompileSourceRoots
          Repertoires des fichiers sources de test a traiter.
protected  long timestamp
          le timestamp utilise pour la generation
protected  org.codehaus.plexus.velocity.VelocityComponent velocity
          Velocity Component.
protected  boolean verbose
          Un flag pour activer le mode verbeux.
 
Fields inherited from class org.nuiton.plugin.AbstractPlugin
skipAfterInitMessage
 
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
 
Constructor Summary
UpdateHeaderPlugin()
           
 
Method Summary
 boolean checkPackaging()
           
protected  java.lang.String computeHeader(License license, HeaderGenerator generator)
          Construction du header a utiliser.
protected  void doAction()
           
 org.apache.maven.project.MavenProject getProject()
           
 boolean init()
           
 boolean isVerbose()
           
 void setProject(org.apache.maven.project.MavenProject project)
           
 void setVerbose(boolean verbose)
           
 
Methods inherited from class org.nuiton.plugin.AbstractPlugin
acceptPackaging, addCompileSourceRoots, addResourceDir, addTestCompileSourceRoots, addTestResourceDir, checkResource, copyFile, execute, getFilesToTreate, getFilesToTreateForRoots, getTemplate, initClassLoader, isFileNewerThanPomFile, rejectPackaging, removeCompileSourceRoots, removeTestCompileSourceRoots, writeFile
 
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.maven.plugin.Mojo
getLog, setLog
 

Field Detail

project

protected org.apache.maven.project.MavenProject project
Dependance du projet.

Since:
1.0.0
Is defined by:
default-value:
${project}
Is required.

encoding

protected java.lang.String encoding
Encoding a utiliser pour lire et ecrire les fichiers.

Since:
1.0.0
Is defined by:
expression:
${license.encoding}
default-value:
${project.build.sourceEncoding}
Is required.

inceptionYear

protected java.lang.String inceptionYear
l'annee de creation du module (sera place dans le header)

Since:
1.0.0
Is defined by:
expression:
${license.inceptionYear}
default-value:
${project.inceptionYear}
Is required.

organizationName

protected java.lang.String organizationName
le nom de l'organisation (sera place dans le header)

Since:
1.0.0
Is defined by:
expression:
${license.organizationName}
default-value:
${project.organization.name}
Is required.

projectName

protected java.lang.String projectName
le nom du projet (sera place dans le header)

Since:
1.0.0
Is defined by:
expression:
${license.projectName}
default-value:
${project.name}
Is required.

licenseName

protected java.lang.String licenseName
Le type de license a appliquer.

Since:
1.0.0
Is defined by:
expression:
${license.licenseName}
Is required.

generatorName

protected java.lang.String generatorName
Le type de générateur a utiliser pour encapsuler le header. Par défaut, on veut utiliser le plugin sur des fichiers sources java.

Since:
1.0.1
Is defined by:
expression:
${license.generatorName}
default-value:
license-java
Is required.

includes

protected java.lang.String includes
La liste des patterns de fichiers à inclure (séparés par des virgules). Exemple : **\/*.java,**\/*.properties On recherchera alors les fichiers respectant l'un des patterns dans tous les répertoires de sources et de tests. Par défaut, on veut utiliser le plugin sur des fichiers sources java.

Since:
1.0.1
Is defined by:
expression:
${license.includes}
default-value:
**\/*.java
Is required.

excludes

protected java.lang.String excludes
La liste des patterns de fichiers à exclure (séparés par des virgules). Exemple : **\/*.java,**\/*.properties On recherchera alors les fichiers respectant l'un des patterns dans tous les répertoires de sources et de tests. Par défaut, on n'exclue rien.

Since:
1.0.1
Is defined by:
expression:
${license.excludes}

compileSourceRoots

protected java.util.List<java.lang.String> compileSourceRoots
Repertoires des fichiers sources a traiter.

Since:
1.0.0
Is defined by:
expression:
${license.compileSourceRoots}
default-value:
${project.compileSourceRoots}
Is required.

testCompileSourceRoots

protected java.util.List<java.lang.String> testCompileSourceRoots
Repertoires des fichiers sources de test a traiter.

Since:
1.0.0
Is defined by:
expression:
${license.testCompileSourceRoots}
default-value:
${project.testCompileSourceRoots}
Is required.

licenseResolver

protected java.lang.String licenseResolver
Un resolver externe

Since:
1.0.0
Is defined by:
expression:
${license.licenseResolver}

template

protected java.lang.String template
La template (velocity) a utiliser pour construire le header. Cette template doit être dans le class-path ou être un fichier existant

Since:
1.0.1
Is defined by:
expression:
${license.template}
default-value:
/license/defaultHeader.vm

templateParameters

protected java.util.Map<java.lang.String,java.lang.String> templateParameters
Des paramètres supplémentaires à utiliser dans la template du header.

Since:
1.0.1
Is defined by:

keepBackup

protected boolean keepBackup
Un flag pour conserver un backup des fichiers modifies.

Since:
1.0.0
Is defined by:
expression:
${license.keepBackup}
default-value:
false

verbose

protected boolean verbose
Un flag pour activer le mode verbeux.

Since:
1.0.0
Is defined by:
expression:
${license.verbose}
default-value:
${maven.verbose}

dryRun

protected boolean dryRun
A flag to test plugin but modify no file.

Since:
1.0.3
Is defined by:
expression:
${dryRun}
default-value:
false

velocity

protected org.codehaus.plexus.velocity.VelocityComponent velocity
Velocity Component.

Since:
2.0.0
Is a Plexus component defined by:
roleHint:
maven-license-plugin

_generators

protected java.util.Map<java.lang.String,HeaderGenerator> _generators
All available generators

Is a Plexus component defined by:
role:
org.nuiton.license.plugin.header.generator.HeaderGenerator

licenseHeaderContent

protected java.lang.String licenseHeaderContent
le header a ajouter dans chaque fichier source java


boxedLicenseHeaderContent

protected java.lang.String boxedLicenseHeaderContent
le header complet (avec les balises de commentaires)


filesToTreate

protected java.util.Map<java.io.File,java.lang.String[]> filesToTreate
la liste des chemin relatifs des sources java a traiter pour chaque repertoire contenant des sources


timestamp

protected long timestamp
le timestamp utilise pour la generation

Constructor Detail

UpdateHeaderPlugin

public UpdateHeaderPlugin()
Method Detail

isVerbose

public boolean isVerbose()

setVerbose

public void setVerbose(boolean verbose)

getProject

public org.apache.maven.project.MavenProject getProject()

setProject

public void setProject(org.apache.maven.project.MavenProject project)

checkPackaging

public boolean checkPackaging()
Overrides:
checkPackaging in class org.nuiton.plugin.AbstractPlugin

init

public boolean init()
             throws java.lang.Exception
Specified by:
init in class org.nuiton.plugin.AbstractPlugin
Throws:
java.lang.Exception

doAction

protected void doAction()
                 throws java.lang.Exception
Specified by:
doAction in class org.nuiton.plugin.AbstractPlugin
Throws:
java.lang.Exception

computeHeader

protected java.lang.String computeHeader(License license,
                                         HeaderGenerator generator)
                                  throws java.lang.Exception
Construction du header a utiliser. Le header est généré à partir de la template velocity donnée et de la license donnée.

Parameters:
license -
generator -
Returns:
le header construit
Throws:
java.lang.Exception - pour toute erreur pendant la construction du header


Copyright © 2008-2009 CodeLutin. All Rights Reserved.