Quem está acostumado com integração contínua e tem o build do sistema automatizado rodando de tempos em tempos não precisa se desesperar, porque já existem soluções para automatizar o build de uma aplicação Flex (actionscript) utilizando Maven.
As opções que eu encontrei são as seguintes: Flex-Mojos e Maven Flex Plugin.
Até onde eu pude perceber, o flex-mojos foi o que melhor funcionou para gerar o build da aplicação. Os dois oferecem archetypes para criação de novos projetos, com opções de um projeto flex application (SWF), um library simples (SWC) ou uma library com acesso a API flex (SWC também).
Para demonstrar, vou mostrar a criação do projeto a partir do Maven Flex Plugin:
mvn archetype:generate -DarchetypeCatalog="http://maven.servebox.org"Essa linha de comando irá lhe perguntar qual o archetype que você quer criar, groupID e artifactID (que vai ser o nome do projeto). Após isso, será gerado um POM.xml dentro de uma pasta com o nome do artefactID que você passou.
O POM deve ter mais ou menos esta cara:
<project><br /> <modelVersion>4.0.0</modelVersion><br /> <groupId>my.group.id</groupId><br /> <artifactId>my-artifact</artifactId><br /> <version>1.0-SNAPSHOT</version><br /> <name>My Simple Project</name><br /><br /> <packaging>swf</packaging><br /><br /> <pluginRepositories><br /> <pluginRepository><br /> <id>servebox</id><br /> <name>ServeBox Plugin Repository</name><br /> <url>http://maven.servebox.org/repository</url><br /> </pluginRepository><br /> </pluginRepositories><br /> <repositories><br /> <repository><br /> <id>servebox</id><br /> <name>ServeBox Plugin Repository</name><br /> <url>http://maven.servebox.org/repository</url><br /> </repository><br /> </repositories><br /><br /> <build><br /> ...<br /> <plugins><br /> <plugin><br /> <groupId>org.servebox.flex</groupId><br /> <artifactId>flex-plugin</artifactId><br /> <version>2.3.2</version><br /> <extensions>true</extensions><br /> </plugin><br /> </plugins><br /> </build><br /></project>Existe ainda a possibilidade de utilizar para o build o Flex-Mojos (caso misteriosamente não funcione com o maven lex plugin), bastando, para isso, modificar a linhas selecionadas acima por:
<plugin><br /> <groupId>org.sonatype.flexmojos</groupId><br /> <artifactId>flexmojos-maven-plugin</artifactId><br /> <version>3.2.0</version><br /> <extensions>true</extensions><br /></plugin>Além disso, você pode inserir configurações no seu build como a licença do flex (muito útil para quem utiliza a biblioteca de charts do flex, que só compila com a licença professional, então tem que incluir a licença nessas configurações), source paths etc, etc:
<plugin><br /> <groupId>org.sonatype.flexmojos</groupId><br /> <artifactId>flexmojos-maven-plugin</artifactId><br /> <version>3.2.0</version><br /> <extensions>true</extensions><br /> <configuration><br /> <licenses><br /> <flexbuilder3>SUA LICENÇA</flexbuilder3><br /> </licenses><br /> <sourcePaths><br /> <path>${basedir}/src/main/flex</path><br /> </sourcePaths><br /> <mergeResourceBundle>true</mergeResourceBundle><br /> </configuration><br /> <dependencies><br /> <dependency><br /> <groupId>com.adobe.flex</groupId><br /> <artifactId>license</artifactId><br /> <version>3.2.0.3958</version><br /> <type>jar</type><br /> </dependency><br /> </dependencies><br /></plugin>Uma vez gerado o POM, podemos gerar o projeto o projeto do eclipse através do goal:
mvn flex:eclipseVoilá! Pronto, feito isso, basta importar o projeto criado no eclipse. O seu projeto agora pode ser compilado pelo Maven, e suportar os goals convencionais do lifecycle do Maven 😉







