fr.paris.lutece.maven
Class AbstractLuteceWebappMojo

java.lang.Object
  extended by org.apache.maven.plugin.AbstractMojo
      extended by fr.paris.lutece.maven.AbstractLuteceMojo
          extended by fr.paris.lutece.maven.AbstractLuteceWebappMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, org.codehaus.plexus.logging.LogEnabled
Direct Known Subclasses:
AssemblyMojo, AssemblySiteMojo, CleanMojo, ExplodedMojo, InplaceMojo, UpdaterMojo

public abstract class AbstractLuteceWebappMojo
extends AbstractLuteceMojo

Abstracts functionnality common to mojos that create a Lutece webapp from Lutece artifacts.


Field Summary
protected  java.util.Set<org.apache.maven.artifact.Artifact> artifacts
          The set of artifacts required by this project, including transitive dependencies.
protected  java.io.File localConfDirectory
          The directory containing the local, user-specific configuration files.
protected  org.apache.maven.artifact.repository.ArtifactRepository localRepository
          The local repository.
protected  org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource
          The artifact metadata source.
protected  java.util.List remoteRepositories
          The remote repositories.
protected  org.apache.maven.artifact.resolver.ArtifactResolver resolver
          The artifact resolver.
protected  java.io.File testWebappDirectory
          The directory where to explode the test webapp.
 
Fields inherited from class fr.paris.lutece.maven.AbstractLuteceMojo
artifactCollector, ASSEMBLY_WEBAPP_EXCLUDES, ASSEMBLY_WEBAPP_INCLUDES, ASSEMBLY_WEBAPP_SITE_EXCLUDES, ASSEMBLY_WEBAPP_SITE_INCLUDES, classesDirectory, defaultConfDirectory, EXCLUDE_PATTERN_ASSEMBLY, EXCLUDE_PATTERN_BUSINESS, EXCLUDE_PATTERN_CLASSES, EXCLUDE_PATTERN_JAVA, EXCLUDE_PATTERN_LIB, EXCLUDE_PATTERN_PACKAGE_HTML, EXCLUDE_PATTERN_RESOURCES, EXCLUDE_PATTERN_SERVICE, EXCLUDE_PATTERN_SITE, EXCLUDE_PATTERN_SVN, EXCLUDE_PATTERN_TARGET, EXCLUDE_PATTERN_TEST, EXCLUDE_PATTERN_UTIL, EXCLUDE_PATTERN_UTILS, EXCLUDE_PATTERN_WEB, EXCLUDE_PATTERN_WEBAPP, EXCLUDE_PATTERN_WEBINF_TEST, INCLUDE_PATTERN_ALL, INCLUDE_PATTERN_RESOURCES, INCLUDE_PATTERN_SITE_USER, INCLUDE_PATTERN_SQL, INCLUDE_PATTERN_SRC, INCLUDE_PATTERN_WEBAPP, logger, LUTECE_CORE_PACKAGING, LUTECE_CORE_TYPE, LUTECE_DIRECTORY, LUTECE_PLUGIN_PACKAGING, LUTECE_PLUGIN_TYPE, LUTECE_SITE_PACKAGING, multiProjectArtifacts, outputDirectory, PACKAGE_CLASSES_EXCLUDES, PACKAGE_CLASSES_INCLUDES, PACKAGE_WEBAPP_EXCLUDES, PACKAGE_WEBAPP_INCLUDES, PACKAGE_WEBAPP_RESOURCES_EXCLUDES, PACKAGE_WEBAPP_RESOURCES_INCLUDE, PACKAGE_WEBAPP_SITE_EXCLUDES, PACKAGE_WEBAPP_SITE_INCLUDES, POM_PACKAGING, project, reactorProjects, siteDirectory, sqlDirectory, WEB_INF_DOC_XML_PATH, WEB_INF_SQL_PATH, WEBAPP_CLASSIFIER, webappSourceDirectory
 
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
 
Constructor Summary
AbstractLuteceWebappMojo()
           
 
Method Summary
protected  void addToExplodedWebapp(org.apache.maven.artifact.Artifact luteceArtifact, java.io.File webappDir)
          Adds a Lutece artifact to an exploded webapp.
protected  void explodeConfigurationFiles(java.io.File targetDir)
           
protected  void explodeWebapp(java.io.File targetDir)
          Creates an exploded webapp structure from the current project.
protected  java.util.Set<org.apache.maven.artifact.Artifact> filterArtifacts(org.apache.maven.artifact.resolver.filter.ArtifactFilter filter)
          Filters the project's set of artifacts with an ArtifactFilter.
protected  java.io.File getRootProjectBuildDirectory()
          Used for multiproject, return the output directory ( /target/lutece/ ) of root project.
protected  java.io.File getRootProjectBuildDirectoryTarget()
          Used for multiproject, return the output directory ( /target ) of root project.
 
Methods inherited from class fr.paris.lutece.maven.AbstractLuteceMojo
enableLogging
 
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
execute
 

Field Detail

localConfDirectory

protected java.io.File localConfDirectory
The directory containing the local, user-specific configuration files.


artifacts

protected java.util.Set<org.apache.maven.artifact.Artifact> artifacts
The set of artifacts required by this project, including transitive dependencies.


resolver

protected org.apache.maven.artifact.resolver.ArtifactResolver resolver
The artifact resolver.


localRepository

protected org.apache.maven.artifact.repository.ArtifactRepository localRepository
The local repository.


remoteRepositories

protected java.util.List remoteRepositories
The remote repositories.


metadataSource

protected org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource
The artifact metadata source.


testWebappDirectory

protected java.io.File testWebappDirectory
The directory where to explode the test webapp.

Constructor Detail

AbstractLuteceWebappMojo

public AbstractLuteceWebappMojo()
Method Detail

explodeWebapp

protected void explodeWebapp(java.io.File targetDir)
                      throws org.apache.maven.plugin.MojoExecutionException
Creates an exploded webapp structure from the current project.

Parameters:
targetDir - the destination directory.
Throws:
org.apache.maven.plugin.MojoExecutionException - if an error occurs while exploding the webapp.

explodeConfigurationFiles

protected void explodeConfigurationFiles(java.io.File targetDir)
                                  throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

addToExplodedWebapp

protected void addToExplodedWebapp(org.apache.maven.artifact.Artifact luteceArtifact,
                                   java.io.File webappDir)
                            throws org.apache.maven.plugin.MojoExecutionException
Adds a Lutece artifact to an exploded webapp.

Parameters:
luteceArtifact - the Lutece artifact.
webappDir - the exploded webapp's base directory.
Throws:
org.apache.maven.plugin.MojoExecutionException - if an error occurs while unpacking.

filterArtifacts

protected java.util.Set<org.apache.maven.artifact.Artifact> filterArtifacts(org.apache.maven.artifact.resolver.filter.ArtifactFilter filter)
Filters the project's set of artifacts with an ArtifactFilter.

Parameters:
type - the type to retain.
Returns:
a new Set containing the filtered elements.

getRootProjectBuildDirectory

protected java.io.File getRootProjectBuildDirectory()
Used for multiproject, return the output directory ( /target/lutece/ ) of root project.

Returns:
File corresponding to the root project output directory

getRootProjectBuildDirectoryTarget

protected java.io.File getRootProjectBuildDirectoryTarget()
Used for multiproject, return the output directory ( /target ) of root project.

Returns:
File corresponding to the root project output directory


Copyright © 2006-2008 Mairie de Paris. All Rights Reserved.