yuicompressor:compress

Full name:

com.github.hazendaz.maven:yuicompressor-maven-plugin:2.2.0:compress

Description:

Apply compression on JS and CSS (using YUI Compressor).

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.
  • Binds by default to the lifecycle phase: process-resources.

Required Parameters

Name Type Since Description
<outputDirectory> File - The output directory into which to copy the resources.
Default: ${project.build.outputDirectory}

Optional Parameters

Name Type Since Description
<aggregations> Aggregation[] - a list of aggregation/concatenation to do after processing, for example to create big js files that contain several small js files. Aggregation could be done on any type of file (js, css, ..).
<disableOptimizations> boolean - [js only] disable all micro optimizations.
Default: false
User Property: maven.yuicompressor.disableOptimizations
<encoding> String - Read the input file using "encoding".
Default: ${project.build.sourceEncoding}
User Property: file.encoding
<excludeResources> boolean - Excludes files from resources directories.
Default: false
<excludeWarSourceDirectory> boolean - Excludes files from webapp directory.
<excludes> List<String> - list of additional excludes.
<failOnWarning> boolean - Define if plugin must stop/fail on warnings.
Default: false
User Property: maven.yuicompressor.failOnWarning
<force> boolean - force the compression of every files, else if compressed file already exists and is younger than source file, nothing is done.
Default: false
User Property: maven.yuicompressor.force
<gzip> boolean - request to create a gzipped version of the yuicompressed/aggregation files.
Default: false
User Property: maven.yuicompressor.gzip
<includes> List<String> - list of additional includes.
<jswarn> boolean - [js only] Display possible errors in the code.
Default: true
User Property: maven.yuicompressor.jswarn
<level> int - gzip level.
Default: 9
User Property: maven.yuicompressor.level
<linebreakpos> int - Insert line breaks in output after the specified column number.
Default: -1
User Property: maven.yuicompressor.linebreakpos
<nocompress> boolean - [js only] No compression.
Default: false
User Property: maven.yuicompressor.nocompress
<nomunge> boolean - [js only] Minify only, do not obfuscate.
Default: false
User Property: maven.yuicompressor.nomunge
<nosuffix> boolean - If no "suffix" must be add to output filename (maven's configuration manage empty suffix like default).
Default: false
User Property: maven.yuicompressor.nosuffix
<preProcessAggregates> boolean - aggregate files before minify.
Default: false
User Property: maven.yuicompressor.preProcessAggregates
<preserveAllSemiColons> boolean - [js only] Preserve unnecessary semicolons.
Default: false
User Property: maven.yuicompressor.preserveAllSemiColons
<skip> boolean - Whether to skip execution.
Default: false
User Property: maven.yuicompressor.skip
<sourceDirectory> File - Javascript source directory. (result will be put to outputDirectory).
Default: ${project.basedir}/src/main/js
<statistics> boolean - show statistics (compression ratio).
Default: true
User Property: maven.yuicompressor.statistics
<suffix> String - The output filename suffix.
Default: -min
User Property: maven.yuicompressor.suffix
<useProcessedResources> boolean - Use processed resources if available.
Default: false
<useSmallestFile> boolean - use the input file as output when the compressed file is larger than the original.
Default: true
User Property: maven.yuicompressor.useSmallestFile
<warSourceDirectory> File - Single directory for extra files to include in the WAR.
Default: ${project.basedir}/src/main/webapp
<webappDirectory> File - The directory where the webapp is built.
Default: ${project.build.directory}/${project.build.finalName}

Parameter Details

<aggregations>

a list of aggregation/concatenation to do after processing, for example to create big js files that contain several small js files. Aggregation could be done on any type of file (js, css, ..).
  • Type: net.alchim31.maven.yuicompressor.Aggregation[]
  • Required: No

<disableOptimizations>

[js only] disable all micro optimizations.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.disableOptimizations
  • Default: false

<encoding>

Read the input file using "encoding".
  • Type: java.lang.String
  • Required: No
  • User Property: file.encoding
  • Default: ${project.build.sourceEncoding}

<excludeResources>

Excludes files from resources directories.
  • Type: boolean
  • Required: No
  • Default: false

<excludeWarSourceDirectory>

Excludes files from webapp directory.
  • Type: boolean
  • Required: No

<excludes>

list of additional excludes.
  • Type: java.util.List<java.lang.String>
  • Required: No

<failOnWarning>

Define if plugin must stop/fail on warnings.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.failOnWarning
  • Default: false

<force>

force the compression of every files, else if compressed file already exists and is younger than source file, nothing is done.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.force
  • Default: false

<gzip>

request to create a gzipped version of the yuicompressed/aggregation files.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.gzip
  • Default: false

<includes>

list of additional includes.
  • Type: java.util.List<java.lang.String>
  • Required: No

<jswarn>

[js only] Display possible errors in the code.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.jswarn
  • Default: true

<level>

gzip level.
  • Type: int
  • Required: No
  • User Property: maven.yuicompressor.level
  • Default: 9

<linebreakpos>

Insert line breaks in output after the specified column number.
  • Type: int
  • Required: No
  • User Property: maven.yuicompressor.linebreakpos
  • Default: -1

<nocompress>

[js only] No compression.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.nocompress
  • Default: false

<nomunge>

[js only] Minify only, do not obfuscate.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.nomunge
  • Default: false

<nosuffix>

If no "suffix" must be add to output filename (maven's configuration manage empty suffix like default).
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.nosuffix
  • Default: false

<outputDirectory>

The output directory into which to copy the resources.
  • Type: java.io.File
  • Required: Yes
  • Default: ${project.build.outputDirectory}

<preProcessAggregates>

aggregate files before minify.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.preProcessAggregates
  • Default: false

<preserveAllSemiColons>

[js only] Preserve unnecessary semicolons.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.preserveAllSemiColons
  • Default: false

<skip>

Whether to skip execution.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.skip
  • Default: false

<sourceDirectory>

Javascript source directory. (result will be put to outputDirectory).
  • Type: java.io.File
  • Required: No
  • Default: ${project.basedir}/src/main/js

<statistics>

show statistics (compression ratio).
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.statistics
  • Default: true

<suffix>

The output filename suffix.
  • Type: java.lang.String
  • Required: No
  • User Property: maven.yuicompressor.suffix
  • Default: -min

<useProcessedResources>

Use processed resources if available.
  • Type: boolean
  • Required: No
  • Default: false

<useSmallestFile>

use the input file as output when the compressed file is larger than the original.
  • Type: boolean
  • Required: No
  • User Property: maven.yuicompressor.useSmallestFile
  • Default: true

<warSourceDirectory>

Single directory for extra files to include in the WAR.
  • Type: java.io.File
  • Required: No
  • Default: ${project.basedir}/src/main/webapp

<webappDirectory>

The directory where the webapp is built.
  • Type: java.io.File
  • Required: No
  • Default: ${project.build.directory}/${project.build.finalName}