Maven2でSlim3+Scenic3+PirkaEngineな環境を構築する #gaeja #slim3 #scenic3
PirkaEngine: http://code.google.com/p/pirka/
配布元にもpom.xmlの設定方法は書いてあるんですが、あれだけだとちょっとかゆいところに手が届かないので自分用で使ってるやつを簡単に晒してみます。(jubeat++でも実際に使用済)
最初にslim3のarchtype-pluginでブランクプロジェクトを作る
mvn archetype:generate -DarchetypeCatalog=http://slim3.googlecode.com/svn/trunk/repository
pom.xmlに追加する部分は要点だけ書いておきます(バージョン番号は新しいのが出たらそれで書き換えればOK)
<project>
<properties>
<pirka.version>0.3.0</pirka.version>
<pirka-slim3.version>0.2.0</pirka-slim3.version>
<scenic3.version>0.4.2</scenic3.version>
<slim3.rootPackage>【Your rootPackage】</slim3.rootPackage>
</properties>
<repositories>
<repository>
<id>maven.deathmarch.jp</id>
<name>The Deathmarch Maven2 Repository</name>
<url>http://maven.deathmarch.jp/maven2</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.pirkaengine</groupId>
<artifactId>pirka</artifactId>
<version>${pirka.version}</version>
</dependency>
<dependency>
<groupId>org.pirkaengine</groupId>
<artifactId>pirka-slim3</artifactId>
<version>${pirka-slim3.version}</version>
</dependency>
<dependency>
<groupId>scenic3</groupId>
<artifactId>scenic3</artifactId>
<version>${scenic3.version}</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>apt-maven-plugin</artifactId>
<configuration>
<encoding>utf-8</encoding>
<outputDirectory>${generated.src}</outputDirectory>
<options>
<option>slim3.rootPackage=${slim3.rootPackage}</option>
</options>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies-for-apt</id>
<configuration>
<includeArtifactIds>slim3-gen,scenic3</includeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<additionalConfig>
<file>
<name>.factorypath</name>
<content>
<![CDATA[
<factorypath>
<factorypathentry kind="WKSPJAR" id="/${artifactId}/${eclipse.lib}/slim3-gen-${slim3.version}.jar" enabled="true" runInBatchMode="false"/>
<factorypathentry kind="WKSPJAR" id="/${artifactId}/${eclipse.lib}/scenic3-${scenic3.version}.jar" enabled="true" runInBatchMode="false"/>
</factorypath>
]]>
</content>
</file>
<file>
<name>.settings/org.eclipse.jdt.apt.core.prefs</name>
<content>
<![CDATA[
eclipse.preferences.version=1
org.eclipse.jdt.apt.aptEnabled=true
org.eclipse.jdt.apt.genSrcDir=${generated.src}
org.eclipse.jdt.apt.reconcileEnabled=false
org.eclipse.jdt.apt.processorOptions/slim3.rootPackage=${slim3.rootPackage}
]]>
</content>
</file>
</additionalConfig>
</configuration>
</plugin>
</plugins>
</build>
</project>
ポイントはバージョン番号をプロパティに切り出していることと、Eclipse上でやっていたAPT設定をpomに書いたこと。これでmvn eclipse:eclipseした後にAPTだけ手動で設定しなおす必要がありませんwもっとちゃんとしたpomの書き方があるかも(汗
2011/6/26追記
アーキタイプを作ってくれた人があらわれました。ヒャッホー!

