Pergentino, bom dia. A solução para o consumo excessivo de memória foi alterar sua task de mxmlc (Flex Ant Task) para exec?
Att., Daniel R.C.Frank Análise e Programação Em 2 de setembro de 2010 00:28, Pergentino Araújo <[email protected]>escreveu: > 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 > -- 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
