Vou dormir feliz! Só para compartilhar, existe a possibilidade de chamar diretamente o mxmlc.exe via ant, passando os argumentos como parâmetro para a chamada.
Fica meio feio a organização do target, mas esta foi a melhor forma e mais performática que achei e, para a falta de documentação em relação ao ANTFLEX, fica mais fácil de você aplicar os parâmetros normais de compilação<http://www.docsultant.com/site2/articles/flex_cmd.html#mxmlc_3_syntax> . Ahh, a memória que antes chegava a 1Gb, agora não passa de 100 e o tempo que antes era de 6 minutos, agora é de 1 minuto. :) Para os interessados, segue trecho em anexo. P.S.1: Para quem quer ainda mais desempenho, existe como você executar em paralelo várias compilações, para se aprofundar, busquem algo como "<parallel threadcount="4">" no Google. P.S.2: Ajustem o trecho para as suas necessidades, este trecho é o básico. Abraços. <target name="build-module" description="Compilação de módulos passados como parâmetros"> <exec executable="${mxmlc}"> <arg line="-benchmark=true" /> <arg line="-keep-generated-actionscript=false" /> <arg line="-debug=false" /> <arg line="-context-root=meucontexto" /> <arg line="-output=${modulo}.swf" /> <arg line="-incremental=true" /> <arg line="-services=services-config.xml" /> <arg line="-load-externs=xmlGerado.xml" /> <arg line="-load-config=flex-config.xml" /> <arg line="-compiler.source-path=src" /> <arg line="-compiler.external-library-path=${FLEX_HOME}/frameworks/libs/player/9/" /> <arg line="-compiler.library-path+=${FLEX_HOME}/frameworks/libs" /> <arg line="" /> <arg line="-- ${src.modulos.dir}/${modulo}.as" /> </exec> </target> -- Atenciosamente, Pergentino Araújo. Arquiteto Java/Flex Doutorando Engenharia Elétrica UnB Currículo Lattes: http://lattes.cnpq.br/3092110184317060 2010/9/1 Pergentino Araújo <[email protected]> > Pessoal, > > estou em busca da solução perfeita para compilação "em massa" de módulos, > onde no momento possuo mais de 30 e isto tem gerado dois grandes problemas: > 1. Tempo de compilação > 2. Memória utilizada > > Para solucionar a 1a situação, faço uso do parâmetro incremental, setando-o > como true, porém o 2o problema está me tirando a paciência. > > A forma mais válida que achei até hoje é criar uma target que recebe como > parâmetro o nome do módulo e, desta forma, posso criar uma target que faz > antcall's, semelhante a apresentada abaixo: > > <target name="build-modules"> > <antcall target="build-module"> > <param name="modulo" value="CadastroAtividade"/> > </antcall> > ... > ... > </target> > > Percebi que, quando passo pra compilação do 11º módulo, o tempo de > compilação aumente e, consequentemente a sua memória. Neste momento, a > memória está passando de 1GB e isto não cheira bem. > > Para entender como funciona de fato "por baixo dos panos", adicionei o > parâmetro "-debug" na execução do ant e percebi que toda vez que eu chamo > uma antcall, ele não reutiliza o que já foi carregado para a memória, > adicionando tudo de novo. Seria basicamente chamar outra vez o ant que sai > engordando a memória. > > Será que existe alguma solução ou terei de apelar pra, toda vez, sair > comentando o build.xml, retirando os "antcalls" ? > > -- > Atenciosamente, Pergentino Araújo. > -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
