#navi_header|Groovy| Gradle使う時の細かいTipsとかメモ書き。 #outline|| #more|| 検証環境: - Win7 64bit - JDK7 - Gradle 1.4 ---- * "--daemon"オプション Gradle 1.4 + Win7 + Cygwin上ではそれなりに安定して動いてます。 $ gradle --daemon でデーモン化されますが、自分は $HOME/.gradle/gradle.properties に org.gradle.daemon=true を指定しました。 参考: - Gradleで--daemonオプションを付けた際にnew Fileするとうまくいかない - No Programming, No Life -- http://npnl.hatenablog.jp/entry/20110727/1311717020 - Gradle Daemonを使う - Starlight -Little Programmer’s Diary- -- http://d.hatena.ne.jp/Kazuhira/20120806/1344239890 ** Gradleで作業してたフォルダをリネームしたり削除しようとしたら「まだ使ってるプログラムがいます」とかでエラーになる時は Windowsで練習してる時に遭遇しました。 "--daemon"で起動すると、どこかで参照しているらしく、Gradleプロジェクトのフォルダをリネームしたり削除しようとしたら上記のようなエラーになる場合があります。 そのような時は、"gradle --stop"で一旦Gradleのdaemonを終了させてみてください。 * 'application' plugin の run タスクでコマンドライン引数を指定したい build.gradle: #pre||> apply plugin: 'groovy' apply plugin: 'application' mainClassName = 'Main' defaultTasks 'clean', 'run' repositories { mavenLocal() mavenCentral() } run { // fixed arguments args('abc') args(['def', 'ghi']) // dynamic arguments (from "-Prunargs=..." on gradle command line) if (project.hasProperty('runargs')) { args project.runargs.split(',') } } dependencies { compile 'org.codehaus.groovy:groovy-all:1.8.9' } ||< src/main/groovy/Main.groovy: #pre||> class Main { static void main(String []args) { println 'args = ' + args.length args.each { println it } } } ||< 実行結果: #pre||> $ gradle -Prunargs="hello,'abc def',ghi" :clean :compileJava UP-TO-DATE :compileGroovy :processResources UP-TO-DATE :classes :run args = 6 abc def ghi hello 'abc def' ghi BUILD SUCCESSFUL Total time: 3.253 secs ||< 元ネタ: - Chapter 42. The Application Plugin -- http://www.gradle.org/docs/current/userguide/application_plugin.html - JavaExec - Gradle DSL Version 1.4 -- http://www.gradle.org/docs/current/dsl/org.gradle.api.tasks.JavaExec.html - gradle-user - Gradle application plugin question -- http://gradle.1045684.n5.nabble.com/Gradle-application-plugin-question-td5539555.html - gradle-user - Command line arguments to application? -- http://gradle.1045684.n5.nabble.com/Command-line-arguments-to-application-td3999977.html --- "Adam Murdoch"さんのアイデアを頂戴しました。元は"split('\\s+')"でしたが、空白文字自体を引数に含めることができなくなるので、"split(',')"に調整してます。 #navi_footer|Groovy|