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  Set<org.apache.maven.artifact.Artifact> artifacts
          The set of artifacts required by this project, including transitive dependencies.
protected  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  List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories
          The remote repositories.
protected  org.apache.maven.artifact.resolver.ArtifactResolver resolver
          The artifact resolver.
protected  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, multiProjectArtifactsCopied, 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, File webappDir)
          Adds a Lutece artifact to an exploded webapp.
protected  void explodeConfigurationFiles(File targetDir)
           
protected  void explodeWebapp(File targetDir)
          Creates an exploded webapp structure from the current project.
protected  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  File getRootProjectBuildDirectory()
          Used for multiproject, return the output directory ( /target/lutece/ ) of root project.
protected  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 File localConfDirectory
The directory containing the local, user-specific configuration files.


artifacts

protected 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 List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories
The remote repositories.


metadataSource

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


testWebappDirectory

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

Constructor Detail

AbstractLuteceWebappMojo

public AbstractLuteceWebappMojo()
Method Detail

explodeWebapp

protected void explodeWebapp(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(File targetDir)
                                  throws org.apache.maven.plugin.MojoExecutionException
Throws:
org.apache.maven.plugin.MojoExecutionException

addToExplodedWebapp

protected void addToExplodedWebapp(org.apache.maven.artifact.Artifact luteceArtifact,
                                   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 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 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 File getRootProjectBuildDirectoryTarget()
Used for multiproject, return the output directory ( /target ) of root project.

Returns:
File corresponding to the root project output directory


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