2012年3月6日火曜日

android-maven-pluginのライフサイクル

android-maven-pluginのcomponents.xmlで定義されているライフサイクルを表にまとめてみた。

packagingがapkの場合(通常のAndroidアプリケーション)


phase goal
generate-sources android:generate-sources
process-resources resources:resources
compile compiler:compile
process-classes android:proguard
process-test-resources resources:testResources
test-compile compiler:testCompile
test surefire:test
prepare-package android:dex
package jar:jar, android:apk
install install:install
pre-integration-test android:internal-pre-integration-test
integration-test android:internal-integration-test
deploy deploy:deploy

packagingがapklibの場合(Androidライブラリ)


phase goal
generate-sources android:generate-sources
process-resources resources:resources
compile compiler:compile
process-classes android:proguard
process-test-resources resources:testResources
test-compile compiler:testCompile
test surefire:test
package jar:jar, android:apklib
install install:install
deploy deploy:deploy

components.xml見るとprepare-packageフェイズでandroid:emmaを呼び出しているように見えるけど
android:emmaゴールなんて見つからんぞー!?

2012年3月4日日曜日

MacOS XにIntelliJとmavenで開発環境構築しようと思ったら...

Mavenとの相性が良いというのを聞きつけてIntelliJを使い始めてそっこーエラーに遭遇。
Maven Moduleからarchetypeを選択してプロジェクトを作成しようとするとコンソールらしきところに
[FATAL_ERROR] Cannot start Maven: No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your system.

環境変数のM2_HOMEが設定されてないよ的なメッセージが表示される。
.bash_profileに設定して読み込んでIntelliJを再起動してみても変わらず。
色々調べた結果、Mac OSのアプリケーションはbashで設定してる環境変数は読めないということがわかった。

解決方法


/etc/launchd.confを作成
sudo vi /etc/launchd.conf

内容
※ /usr/share/mavenの箇所は適宜読み替えて
setenv M2_HOME /usr/share/maven

Mac再起動
〜終わり〜