Olá pessoal vamos a mais um post sobre o GAS3.
Hoje vamos falar sobre a integração com Apache ANT. O Ant é uma ferramenta de build que é muito utilizada na comunidade java. Muitos utilizam o ANT em servidores de integração continua, e até mesmo para builds locais para facilitar a compilação/deploy das aplicações. Não vou entrar em detalhes sobre Apache ANT mesmo porque o foco do blog é o GraniteDS.
Primeiro passo é adicionar a linha abaixo no seu build.xml. Esta linha adiciona uma definição de tarefa ao projeto.
<taskdef name="gas3" classname="org.granite.generator.ant.AntJavaAs3Task"/>
E criar um target como o que segue a baixo.
<target name="generate.as3">
<gas3
outputdir="as3"
baseoutputdir="base_as3"
uid="myUidFieldName"
entitytemplate="/myEntityTemplate.gsp"
entitybasetemplate="/myEntityBaseTemplate.gsp"
interfacetemplate="/myInterfaceTemplate.gsp"
beantemplate="/myBeanTemplate.gsp"
beanbasetemplate="/myBeanBaseTemplate.gsp"
enumtemplate="/myEnumTemplate.gsp"
remotetemplate="/myRemoteTemplate.gsp"
remotebasetemplate="/myRemoteBaseTemplate.gsp"
tide="true"
as3typefactory="path.to.MyAs3TypeFactory"
entityfactory="path.to.MyEntityFactory"
remotedestinationfactory="path.to.MyRDFactory"
transformer="path.to.MyTransformer"
externalizelong="true"
externalizebiginteger="true"
externalizebigdecimal="true">
<classpath>
<pathelement location="classes"/>
</classpath>
<fileset dir="classes">
<include name="test/granite/ejb3/entity/**/*.class"/>
</fileset>
</gas3>
</target>
Se observarem usamos um as3typefactory, entityfactory, remotedestinatiofactory, transformer customizados. Para usar os padrões do GraniteDS basta remover estas tags do build. Na maioria das vezes a configuração do target que gera os as3 acaba ficando muito pequena, acabamos indicando sómente o outputdir e o diretório aonde contem as classes que queremos que ele gere para nós. Ou também indicamos se queremos utilizar os formatos de BigInteger e BigDecimal do GraniteDS.
Como podem ver não é difícil utilizar ant para gerar nossas classes as3 com o auxilio do GAS3. E também temos a documentação oficial que pode ser encontrada aqui.
Todas as opções que vimos no GAS3 e o Plugin para Flash Builder contem na para o ANT. Assim como também estão presentes no FlexMojos que será o tema do nosso próximo post.