Histórico da Página
...
Os plugins são configurados nos pom.xml de cada projeto. Primeiramente devemos fazer com que o YUI-Compressor pare de minificar os arquivos JS para isso na configuração já existente precisamos adicionar a seguinte tag dentro da configuração.
No exemplo estaremos utilizando a widget: sample-component-widget
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<configuration> … <excludes> <exclude>**/*.js</exclude> </excludes> … </configuration> |
...
Feito isso podemos configurar o Closure Compiler.
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<plugin> <groupId>com.github.blutorange</groupId> <artifactId>closure-compiler-maven-plugin</artifactId> <version>2.21.0</version> <executions> <execution> <id>default-minify</id> <goals> <goal>minify</goal> </goals> <phase>generate-resources</phase> </execution> </executions> <configuration> <skip>true</skip> <skip>false</skip> <baseSourceDir>${project.basedir}/src</baseSourceDir> <encoding>UTF-8</encoding> <sourceDir>main/webapp/resources</sourceDir> <targetDir>resources</targetDir> <includes>**/*.js</includes> <outputFilename>#{path}/#{basename}.#{extension}</outputFilename> <excludes>**/${project.basedir}</excludes> <excludes>**/*.min.js</excludes> <excludes>**/*-min.js</excludes> <closureCompilationLevel>SIMPLE_OPTIMIZATIONS</closureCompilationLevel> <closureWarningLevels> <undefinedVars>OFF</undefinedVars> <duplicate>OFF</duplicate> <duplicateMessage>OFF</duplicateMessage> <es5Strict>OFF</es5Strict> <checkVars>OFF</checkVars> </closureWarningLevels> <closureEmitUseStrict>false</closureEmitUseStrict> <closureRewritePolyfills>false</closureRewritePolyfills> <closureLanguageOut>NO_TRANSPILE</closureLanguageOut> <skipMinify>false</skipMinify> <skipMerge>true</skipMerge> </configuration> </plugin> | ||||||||
Aviso | ||||||||
title | Importante||||||||
O plugin é declarado dentro do profile "onlyminify" do pom.xml. No build de desenvolvimento o skipMinify é true. Para evitar que em nosso dia a dia o tempo de compilação seja maior do que o necessário. |
A documentação do mesmo pode ser acessada aqui: https://blutorange.github.io/closure-compiler-maven-plugin/minify-mojo.html
...
Nota | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
Atualmente, caso o plugin não encontre um js dentro do source dir definido ele quebra. Por isso, em projetos onde o pom pai não possui arquivos a serem minificados passamos o skip como true. Porém é necessário que em seus filhos haja a configuração:
Template StringPor conta do mecanismo de internacionalização utilizado no fluig, a funcionalidade de template de string, onde a sintaxe é ${...} deverá ser codificada com um parâmetro a mais, conforme exemplo abaixo:
|