Sim, e não usar a disponibilizada pelo .jar do SDK.

[]'s
--
Atenciosamente, Pergentino Araújo.
Arquiteto Java/Flex
Doutorando Engenharia Elétrica UnB
Currículo Lattes: http://lattes.cnpq.br/3092110184317060


2010/9/2 Daniel Rodrigues da Cunha Frank <[email protected]>

> 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
>

-- 
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

Responder a