Compactação de Javascript usando Ant

Alguem conhece alguma task ou classe que eu possa usar para essa tarefa? Queria fazer de forma automatica na geracao da aplicação para que os desenvolvedores nao se preocupem em ficar recompactando todas as alterações feitas…

usa o gzip, é só chamar a task dele pelo ant!

Nao compactacao nesse sentido… Mas naquela forma que ele ainda seja legivel pelo browser…

reformulando sua pergunta, vc está dizendo criptografar seu código javascript?

Se for o caso ant não serve para isso.

contudo… :slight_smile: existe esse programa aqui http://www.saltstorm.net/depo/esc/usage.wbm.
caso seu javascript esteja em arquivos js vc pode tentar rodar o programa a partir do ant.

criptografar, compactar, baixar o tamanho do arquivo, obfuscar… nao sei como voces chamam… acontece que tenho varios arquivos javascript q somam uns 200kb de download na pagina e queria diminuir essa carga para o usuário do site.

se eu deixar a tarefa de editar o fonte, compactar e publicar na mao do desenvolvedor, podem acontecer erros e até mesmo uma complicaçao do processo de desenvolvimento se o cara esquecer de compactar antes de publicar a versao do sistema.

Começando pelo seguinte: como vc compacta o javascript manualmente?

O ANT tem uma tag que pode servir para isso :wink:

Manualmente na maquina eu nao conhecia nenhuma forma… A solucao era entrar em algum site que fizesse o serviço, mas normalmente são em PHP q nao encontrei fonte que fosse possivel adaptar para java. Até ficaria feliz em compartilhar esse trabalho mas nao tenho material suficiente.

Nao posso amarrar a compactacao ao sistema operacional com um executavel porque quem gera o sistema é o cliente. Nós enviamos os fontes a ele e o resto do trabalho não é nossa responsabilidade. Agradeço a indicação do bobmoe mas nao posso usar…

  1. proteger seu javascript com criptografia só vai aumentar o arquivo js mais ainda.
  2. vc não pode compactar um arquivo js pq o browser não vai descompactar isso.

Errado, vc pode compactar usando gzip ou então vc pode tirar coisas inuteis para um .js em produção, por exemplo espaços em branco, comentarios e etc…

para fazer a compactação de tirar coisas inuteis do seu .js entra nesse site http://shrinksafe.dojotoolkit.org/, coloca o seu arquivo .js a ser compactado e salva oque ele retornar, pronto, já vai estar com o tamanho beeeemmmm menor!

boa sorte!

Errado, vc pode compactar usando gzip ou então vc pode tirar coisas inuteis para um .js em produção, por exemplo espaços em branco, comentarios e etc…
[/quote]
Muito legal isso que você falou, eu não conhecia! Mas… foi procurar como se faz, e infelizmente não da especificar um arquivo compactado armazenado no servidor.
É necessário criar um servlet basicamente com o seguinte:

response.setContentType("text/javascript"); response.setHeader("Content-Encoding", "gzip");
Ou seja, o negócio tem que ser feito no lado do servidor por causa de um header. O que eu tinha falado é se o cara compactar um arquivo js, e especificar esse arquivo browser não vai descompactar. Ou seja, não adianta fazer <script source=“mylib.js.gzip” />.
mesmo assim da pra usar essa solução e reduzir bastante o consumo de banda :smiley:

Errado, vc pode compactar usando gzip ou então vc pode tirar coisas inuteis para um .js em produção, por exemplo espaços em branco, comentarios e etc…

para fazer a compactação de tirar coisas inuteis do seu .js entra nesse site http://shrinksafe.dojotoolkit.org/, coloca o seu arquivo .js a ser compactado e salva oque ele retornar, pronto, já vai estar com o tamanho beeeemmmm menor!

boa sorte![/quote]

Cara, é justamente isso que eu quero… Mas nao quero deixar na maos do desenvolvedor fazer esse trabalho! Minha ideia eh integrar essa tarefa com o empacotamento do projeto WAR.