-
-
Save garcia-jj/759892 to your computer and use it in GitHub Desktop.
<target name="minify"> | |
<property name="static.library.dir" value="${build.dir}/${project.web}/static/library" /> | |
<property name="yuicompressor.jar" value="/opt/yuicompressor-2.4.2/build/yuicompressor-2.4.2.jar" /> | |
<fileset dir="${project.web}/web/static/library" includes="*.js" excludes="*.min.js" id="alljs" /> | |
<fileset dir="${project.web}/web/static/library" includes="*.css" excludes="*.min.css" id="allcss" /> | |
<delete file="${build.dir}/${project.web}/static/library/all.css" /> | |
<concat destfile="${build.dir}/${project.web}/static/library/all.css" fixlastline="true"> | |
<fileset refid="allcss" /> | |
</concat> | |
<java jar="${yuicompressor.jar}" fork="true"> | |
<arg value="${build.dir}/${project.web}/static/library/all.css"/> | |
<arg value="-o"/> | |
<arg value="${build.dir}/${project.web}/static/all.min.css"/> | |
</java> | |
<delete file="${build.dir}/${project.web}/static/library/all.js" /> | |
<concat destfile="${build.dir}/${project.web}/static/library/all.js" fixlastline="true"> | |
<fileset refid="alljs" /> | |
</concat> | |
<java jar="${yuicompressor.jar}" fork="true"> | |
<arg value="${build.dir}/${project.web}/static/library/all.js"/> | |
<arg value="-o"/> | |
<arg value="${build.dir}/${project.web}/static/all.min.js"/> | |
</java> | |
</target> |
Oi Leandro. Muito obrigado pelo feedback.
Estou testando com a versão 2.4.2 que está no site do YUI. Será que há alguma diferença entre o que tem no Maven? Me manda por email ou MP esse stacktrace, aí posso ver onde é o erro.
Essa task que passei é um pequeno pedaço do meu ant-build. Nele eu faço um delete no diretório de build, por isso eu não tive esse ero. vou adicionar um delete então para evitar esse erro. Quanto ao fixlastline eu não conhecia mesmo, vou adicionar ele no build.
Assim que a correria passar vou enviar as alterações para o autor do vraptor-scaffold.
Garcia mto bom o script e obrigado por compartilhar :).
Eu fiz a integração no vraptor-scaffold e está funcionando porém com a versão 2.3.6, eu tive o mesmo problema que o Leandro.
Pelo fato do scaffold usar o ivy ele baixa o artefato do repo do maven.
Acredito que o jar que vc está usando não é o mesmo pois o jar que está no repo do maven vem com uma dependencias o rhino js vc pode ver aqui http://mvnrepository.com/artifact/com.yahoo.platform.yui/yuicompressor/2.4.2
eu tentei mudar a task para carregar o jar do rhino no classpath mas sem sucesso.
O build.xml do vraptor-scaffold está aqui https://github.com/caelum/vraptor-scaffold/blob/master/lib/generators/app_generator/templates/build.xml
Rodolfo, vou dar uma olhada nisso e te dou um retorno. Realmente a versão que eu usei é a do site do YU.
Abraços
Oi pessoal, desculpem a grande demora em responder. Analisei as versões do YUI baixadas pelo site do Yahoo Developer e do Maven, e a diferença é que no Maven o Rhino é distribuído separado na versão 2.4.2. Notem que o jar é 800K menor que a versão anterior 2.3.6. Aqui no meu caso eu coloquei o rhino no classpath e funcionou bem.
java -cp build-lib/minify/js-1.7R2.jar:build-lib/minify/yuicompressor-2.4.2.jar com.yahoo.platform.yui.compressor.YUICompressor site.css
Obrigado pelo reporte.
Fala Garcia,
Testei aqui e a versão 2.4.2 do yuicompressor não funciona, dá o seguinte erro: "[java] Failed to load Main-Class manifest attribute from..."
Já a versão 2.3.6 funciona perfeitamente.
Para não ter problemas, tive também que deletar o arquivo antes de concatenar, tanto no js quanto no css.
No concat existe o atributo fixlastline="true", é bacana pois ele ajusta a quebra de linha da última linha de cada arquivo na hora de juntar.
Repositório do Maven:
http://mvnrepository.com/artifact/com.yahoo.platform.yui/yuicompressor
Abraço!