3. 今日はGradle凄いぞ! な話は話しませんw 基本の紹介スライドの紹介 @literalice さん 「GradleによるG*なビルドシステムの構築」 http://www.slideshare.net/literalice/gradle- introduction サンプル http://bit.ly/gNu4Ad @nobeans さん “How about Gradle?" http://d.hatena.ne.jp/nobeans/20110225/12985 98901 4. ユーザドキュメントの和訳サイト @literalice さん http://www.monochromeroad.com/artifacts/ gradle/userguide/userguide.html GitHubで翻訳活動されています https://github.com/literalic
突然ですが、みなさんは task hello << { println 'Hello, world.' }と task hello { println 'Hello, world.' }の違いがわかりますか? 上記の違いはたった2文字 << だけです。 ところが、このたった2文字で 全く意味が変わってしまうので注意しましょう。 この違いというのが クロージャ ( {...} の中の処理 ) の実行タイミング です。 前者のように << をつけてタスクを定義した場合は hello タスクの実行時に呼び出されます。 ところが、後者の場合 hello タスクのインスタンス生成時に呼び出されてしまいます。 私は この違いで思いっきり はまってしまいました。 実行されるはずのないタスクがいきなり最初に実行されてしまうのですから... 前者と後者で 実際 何が違うのかと言うと... まず、前者の場合。
[2015/01/14 追記] 1行で書けることが分かったので追記しておきます。 ポイントはGroovyの闇仕様の「展開ドット演算子の代入用法」を使うところです。これによってeach部分が単なる代入で書けます。 def defaultEncoding = 'UTF-8' tasks.withType(AbstractCompile)*.options*.encoding = defaultEncoding tasks.withType(GroovyCompile)*.groovyOptions*.encoding = defaultEncoding更に1行に連鎖させてしまえばこうなります。 tasks.withType(AbstractCompile)*.options*.encoding = tasks.withType(GroovyCompile)*.groovyOptions*.en
Gradle Build Tool accelerates developer productivity Gradle is the open source build system of choice for Java, Android, and Kotlin developers. From mobile apps to microservices, from small startups to big enterprises, it helps teams deliver better software, faster. Build Anything Write in Java, Kotlin, C++, or any language of your choice. Package for deployment on any platform. Go monorepo or mul
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く