org.nuiton.license.plugin
Class ThirdPartyPlugin

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

public class ThirdPartyPlugin
extends AbstractPlugin

Le goal pour copier le fichier THIRD-PARTY.txt (contenant les licenses de toutes les dependances du projet) dans le classpath (et le generer s'il n'existe pas).

Author:
chemit

Nested Class Summary
protected  class ThirdPartyPlugin.LicenseMap
           
 
Field Summary
protected  org.apache.maven.artifact.metadata.ArtifactMetadataSource artifactMetadataSource
          Artifact metadata source component.
protected  org.apache.maven.artifact.resolver.ArtifactCollector collector
          Artifact collector component.
protected  boolean copyToMETA_INF
          Un flag pour farie une copie nommé dans META-INF (prefixe avec le nom de l'artifact).
protected  org.apache.maven.shared.dependency.tree.DependencyTreeBuilder dependencyTreeBuilder
          Dependency tree builder component.
protected  java.lang.String encoding
          Encoding a utiliser pour lire et ecrire les fichiers.
protected  org.apache.maven.artifact.factory.ArtifactFactory factory
          Artifact Factory component.
protected  boolean force
          Un flag pour forcer la generation.
protected  boolean keepBackup
          Un flag pour conserver un backup des fichiers modifies.
protected  org.apache.maven.artifact.repository.ArtifactRepository localRepository
          Local Repository.
protected  org.apache.maven.project.MavenProjectBuilder mavenProjectBuilder
          Maven Project Builder component.
protected  java.io.File outputDirectory
          Repertoire de sortie des classes (classpath).
protected  org.apache.maven.project.MavenProject project
          Dependance du projet.
protected  java.util.List<?> remoteRepositories
          Remote repositories used for the project.
protected  java.io.File thirdPartyFile
           
protected  java.lang.String thirdPartyFileContent
          content of third party file (only computed if force is active or the thirdPartyFile does not exist, or is not up-to-date.
protected  java.lang.String thirdPartyFilename
          Fichier ou ecrire les licences des dependances.
protected  boolean verbose
          Un flag pour activer le mode verbeux.
 
Fields inherited from class org.nuiton.AbstractPlugin
skipAfterInitMessage
 
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
 
Constructor Summary
ThirdPartyPlugin()
           
 
Method Summary
protected  java.lang.String buildGroupedLicenses(ThirdPartyPlugin.LicenseMap licenseMap)
           
protected  void buildLicenseMap(org.apache.maven.shared.dependency.tree.DependencyNode node, ThirdPartyPlugin.LicenseMap licenseMap)
           
protected  void doAction()
          Do plugin action.
protected  boolean ensurePackaging()
           
protected  java.lang.String getArtifactName(org.apache.maven.project.MavenProject artifactProject)
           
protected  org.apache.maven.project.MavenProject getMavenProjectFromRepository(org.apache.maven.artifact.Artifact artifact)
          Get the Maven project from the repository depending the Artifact given.
 org.apache.maven.project.MavenProject getProject()
           
protected  boolean init()
          la methode qui est lancee au debut de la methode AbstractPlugin.execute() pour preparer l'init du goal.
 boolean isVerbose()
           
protected  org.apache.maven.shared.dependency.tree.DependencyNode resolveProject()
           
 void setProject(org.apache.maven.project.MavenProject project)
           
 void setVerbose(boolean verbose)
           
 
Methods inherited from class org.nuiton.AbstractPlugin
addCompileSourceRoots, addResourceDir, addTestCompileSourceRoots, addTestResourceDir, checkResource, copyFile, copyFile, execute, getFilesToTreate, getFilesToTreateForRoots, getTemplate, initClassLoader, isFileNewerThanPomFile, 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
 

Field Detail

project

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

Since:
1.0.0

thirdPartyFilename

protected java.lang.String thirdPartyFilename
Fichier ou ecrire les licences des dependances.

Since:
1.0.0

outputDirectory

protected java.io.File outputDirectory
Repertoire de sortie des classes (classpath).

Since:
1.0.0

encoding

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

Since:
1.0.0

force

protected boolean force
Un flag pour forcer la generation.

Since:
1.0.0

keepBackup

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

Since:
1.0.0

copyToMETA_INF

protected boolean copyToMETA_INF
Un flag pour farie une copie nommé dans META-INF (prefixe avec le nom de l'artifact).

Since:
1.0.0

verbose

protected boolean verbose
Un flag pour activer le mode verbeux.

Since:
1.0.0

localRepository

protected org.apache.maven.artifact.repository.ArtifactRepository localRepository
Local Repository.

Since:
1.0.0

remoteRepositories

protected java.util.List<?> remoteRepositories
Remote repositories used for the project.

Since:
1.0.0

dependencyTreeBuilder

protected org.apache.maven.shared.dependency.tree.DependencyTreeBuilder dependencyTreeBuilder
Dependency tree builder component.


factory

protected org.apache.maven.artifact.factory.ArtifactFactory factory
Artifact Factory component.


artifactMetadataSource

protected org.apache.maven.artifact.metadata.ArtifactMetadataSource artifactMetadataSource
Artifact metadata source component.


collector

protected org.apache.maven.artifact.resolver.ArtifactCollector collector
Artifact collector component.


mavenProjectBuilder

protected org.apache.maven.project.MavenProjectBuilder mavenProjectBuilder
Maven Project Builder component.


thirdPartyFileContent

protected java.lang.String thirdPartyFileContent
content of third party file (only computed if force is active or the thirdPartyFile does not exist, or is not up-to-date.


thirdPartyFile

protected java.io.File thirdPartyFile
Constructor Detail

ThirdPartyPlugin

public ThirdPartyPlugin()
Method Detail

ensurePackaging

protected boolean ensurePackaging()
Specified by:
ensurePackaging in class AbstractPlugin

init

protected boolean init()
                throws java.lang.Exception
Description copied from class: AbstractPlugin
la methode qui est lancee au debut de la methode AbstractPlugin.execute() pour preparer l'init du goal.

Specified by:
init in class AbstractPlugin
Returns:
true if there is something to generate, false otherwise.
Throws:
java.lang.Exception - if any

doAction

protected void doAction()
                 throws java.lang.Exception
Description copied from class: AbstractPlugin
Do plugin action.

The method AbstractPlugin.execute() invoke this method only and only if :

Specified by:
doAction in class AbstractPlugin
Throws:
java.lang.Exception - if any

resolveProject

protected org.apache.maven.shared.dependency.tree.DependencyNode resolveProject()
Returns:
resolve the dependency tree

buildLicenseMap

protected void buildLicenseMap(org.apache.maven.shared.dependency.tree.DependencyNode node,
                               ThirdPartyPlugin.LicenseMap licenseMap)

buildGroupedLicenses

protected java.lang.String buildGroupedLicenses(ThirdPartyPlugin.LicenseMap licenseMap)

getArtifactName

protected java.lang.String getArtifactName(org.apache.maven.project.MavenProject artifactProject)

getMavenProjectFromRepository

protected org.apache.maven.project.MavenProject getMavenProjectFromRepository(org.apache.maven.artifact.Artifact artifact)
                                                                       throws org.apache.maven.project.ProjectBuildingException
Get the Maven project from the repository depending the Artifact given.

Parameters:
artifact - an artifact
Returns:
the Maven project for the given artifact
Throws:
org.apache.maven.project.ProjectBuildingException - if any

isVerbose

public boolean isVerbose()
Specified by:
isVerbose in class AbstractPlugin

setVerbose

public void setVerbose(boolean verbose)
Specified by:
setVerbose in class AbstractPlugin

getProject

public org.apache.maven.project.MavenProject getProject()
Specified by:
getProject in class AbstractPlugin

setProject

public void setProject(org.apache.maven.project.MavenProject project)
Specified by:
setProject in class AbstractPlugin


Copyright © 2009 CodeLutin. All Rights Reserved.