JEE Plugin (quokka.plugin.jee:0.1, namespace=jee)

The JEE (Java Enterprise Edition) plugin supports packaging of enterprise applications, including EJBs, WARs, RARs and EARs. At present, only WARs have been implemented.

Minor Targets

war-exploded Creates an exploded .war package using standard locations
war Creates a .war file package using standard locations

Template Targets

war-template Template for creating a .war file. Implements quokka.plugin.lifecycle:package
war-exploded-template Template for creating an exploded .war file

Shared Default Properties

q.jee.defaultLibPattern #{group}_#{name}_#{type}_#{version}.#{extension}

war-exploded

Creates an exploded .war package using standard locations

  • prefix: q.jee.warExploded
  • template-name: war-exploded-template
  • enabled-by-default: false

Default Properties

artifactName ${q.project.artifact.name[war]}

war

Creates a .war file package using standard locations

  • depends: war-exploded
  • prefix: q.jee.war
  • template-name: war-template
  • enabled-by-default: false

Default Properties

artifactName ${q.project.artifact.name[war]}
explodedOutput ${q.jee.warExploded.output}
manifest ${prefix.explodedOutput}/META-INF/MANIFEST.MF
webxml ${prefix.explodedOutput}/WEB-INF/web.xml

war-template

Template for creating a .war file

  • template: true
  • enabled-by-default: false
  • Implements: quokka.plugin.lifecycle:package

Properties:

All properties are optional unless stated otherwise.

  • artifactName Mandatory. The name of the war artifact to package
  • explodedOutput Mandatory. The directory that contains the exploded war package
  • manifest The location of a custom manifest file
  • needxmlfile Flag to indicate whether or not the web.xml file is needed. I=it should be set to false when generating servlet 2.5+ WAR files without a web.xml file
  • webxml The servlet configuration descriptor to use (WEB-INF/web.xml)
  • compress Not only store data but also compress them, defaults to true. Unless you set the keepcompression attribute to false, this will apply to the entire archive, not only the files you've added while updating.
  • keepcompression For entries coming from existing archives (like nested zipfilesets or while updating the archive), keep the compression as it has been originally instead of using the compress attribute. Defaults false.
  • encoding The character encoding to use for filenames inside the archive. Defaults to UTF8. It is not recommended to change this value as the created archive will most likely be unreadable for Java otherwise.
  • filesonly Store only file entries, defaults to false
  • whenmanifestonly Behavior when no files match. Valid values are "fail", "skip", and "create". Default is "create".
  • update Indicates whether to update or overwrite the destination file if it already exists. Default is "false".
  • duplicate Behavior when a duplicate file is found. Valid values are "add", "preserve", and "fail". The default value is "add".
  • roundup Whether the file modification times will be rounded up to the next even number of seconds. Zip archives store file modification times with a granularity of two seconds, so the times will either be rounded up or down. If you round down, the archive will always seem out-of-date when you rerun the task, so the default is to round up. Rounding up may lead to a different type of problems like JSPs inside a web archive that seem to be slightly more recent than precompiled pages, rendering precompilation useless. Defaults to true.
  • level Non-default level at which file compression should be performed. Valid values range from 0 (no compression/fastest) to 9 (maximum compression/slowest).

war-exploded-template

Template for creating an exploded .war file

  • template: true
  • enabled-by-default: false

Properties:

All properties are optional unless stated otherwise.

  • artifactName Mandatory. The name of the war artifact to package
  • output Mandatory. The directory to generate the exploded .war file into
  • libPath Mandatory. The name of the project path that contains the libraries to copy to the WEB-INF/lib directory
  • libPattern Mandatory. A pattern for how the libraries are to be named. The pattern is a string that contain variables for the group, name, type, version and extension enclosed in #{}. e.g. the following is a valid pattern #{group}_#{name}_#{type}_#{version}.#{extension}
  • webapp Mandatory. Is a
  • classes Mandatory.

The webapp property refers to the web app sources and the classes property refers to classes destined for WEB-INF/classes. Both properties each have the following nested properties:

  • output Mandatory. The directory to copy the resources to.
  • filtered A map of filesets that contain resources that will be processed with filtering (token substitution)
  • unfiltered A map of filesets that contain resources that will be processed without filtering (token substitution)
  • filters A map of filesets that contain filters. The filters should be property files containing name/value pairs of tokens
  • ignoredTokensPrefix The property prefix for tokens to ignore. Defaults to q.resources.
  • addPropertiesAsTokens If true (the default), quokka properties (includes system properties) are added as tokens for filtering.

Default Properties

classes.output ${prefix.output}/WEB-INF/classes
classes.unfiltered[0]set.dir ${q.lifecycle.compileOutput}
libPath war
libPattern ${q.jee.defaultLibPattern}
output ${q.lifecycle.packageOutput}/${prefix.artifactName}_war
webapp.filtered[0]set.dir ${prefix.webapp.unfiltered[0]set.dir}
webapp.filtered[0]set.includes ${prefix.webapp.unfiltered[0]set.excludes}
webapp.output ${prefix.output}
webapp.unfiltered[0]set.dir ${q.project.sourceDir}/main/webapp
webapp.unfiltered[0]set.excludes META-INF/manifest.mf

Plugin Paths

runtime : Runtime class path

quokka.core.metadata metadata 0.3

quokka.core.plugin-spi plugin-spi 0.3

quokka.core.util util 0.3

quokka.plugin.lifecycle lifecycle 0.3

quokka.core.plugin-spi plugin-spi 0.3

apache.ant ant 1.7.1

quokka.core.bootstrap-util bootstrap-util 0.3

quokka.core.bootstrap-util bootstrap-util 0.3

quokka.core.repo-spi repo-spi 0.3

apache.ant ant 1.7.1

quokka.plugin.resources resources 0.3

quokka.core.metadata metadata 0.3

quokka.core.plugin-spi plugin-spi 0.3

quokka.core.util util 0.3

apache.ant ant 1.7.1

quokka.plugin.lifecycle lifecycle 0.3

quokka.core.plugin-spi plugin-spi 0.3

apache.ant ant 1.7.1

quokka.core.bootstrap-util bootstrap-util 0.3

quokka.core.bootstrap-util bootstrap-util 0.3

quokka.core.repo-spi repo-spi 0.3