ตอนนี้เริ่มมี flex component เข้ามาปะปนใน java project ด้วย
ก็เลยอยากให้ process กับ project structure ที่ใช้พัฒนา flex
เป็นมาตรฐานเดียวกัน
search ดูใน google พบว่ามีคนทำ plugin อยู่ 2 ราย
แต่รายที่ลองแล้ว work ก็คือ
maven-flex2-plugin
เป้าหมายของ maven-flex2-plugin ก็คือ
การช่วย build และ สร้าง package swc (flex library) หรือ swf (flex application) ให้เรา
การใช้งาน ก็เริ่มด้วยการสร้าง pom.xml
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>cnug</groupId>
<!-- ชื่อของ artifact -->
<artifactId>hangman</artifactId>
<version>1.0</version>
<!-- ชนิดของ package -->
<packaging>swf</packaging>
<properties>
<flex.home>/home/pphetra/dev/flex</flex.home>
</properties>
<!-- PLUGIN REPOSITORIES -->
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central Maven Repository</name>
<url>http://repo1.maven.org/maven2</url>
</pluginRepository>
<pluginRepository>
<id>maven-snapshots</id>
<name>Maven Snapshots Repository</name>
<url>http://snapshots.maven.codehaus.org/maven2</url>
</pluginRepository>
<pluginRepository>
<id>israfil</id>
<name>israfil Repository</name>
<url>http://www.israfil.net/maven2</url>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>
<groupId>net.israfil.mojo</groupId>
<artifactId>maven-flex2-plugin</artifactId>
<version>1.0</version>
<extensions>true</extensions>
<configuration>
<useNetwork>true</useNetwork>
<strict>true</strict>
<warning>true</warning>
<!-- application mxml file -->
<main>main.mxml</main>
</configuration>
</plugin>
</plugins>
</build>
</project>
ส่วน project structure, เราจะวาง code ของ flex ไว้ใน
src/main/flex
ตัวอย่าง application hangman ที่ผมลองสร้างดู
ผมวาง code ไว้ใน directory แบบนี้
+ src
+ main
+ flex
- main.mxml
+ assets
- win.png
- lose.png
- mistake0.png
...
+ hangman
+ core
- Game.as
+ ui
- GameGraphics.as
- Unreveal.as
- Letters.as