gradle チュートリアル
gradleを使い始める
サーチ…
備考
Gradleはオープンソースの汎用ビルドツールです。これはJavaコミュニティで広く普及しており、Android用の推奨構築ツールです 。
ハイライトされたGradleの機能
- 宣言的なビルドスクリプトは 、 GroovyまたはKotlinで書かれたコードです。
- 柔軟なコンベンションベースのアプローチを使用する多くのコアプラグインとコミュニティプラグイン
- 増分は 、依存関係が変更されていないタスクが再実行されないようにビルドします。
- MavenとIvyの組み込み依存性解決。貢献したプラグインはnpmのような他の
repositories
からの依存性解決を提供しrepositories
。 - ファーストクラスのマルチプロジェクトビルド。
- Maven 、 Antなどの他のビルドツールとの統合
- 開発者が協力してGradleビルドを最適化する能力を高めるビルドスキャン 。
詳しくは
Gradleの機能の詳細については、 Gradle User Guideの 概要を 参照してください 。
Gradleを試してみるには、ここでガイドをチェックしてみてください。 Javaのクイックスタートガイドを見て、初めてGradleを使用する方法を学び、別のビルドツールから移行することができます。
Gradleのインストール
要件:インストールされたJava JDKまたはJRE(Gradle 3.xバージョンの場合はバージョン7以上)
インストール手順:
- 公式WebサイトからGradleの配布をダウンロードする
- ZIPの解凍
-
GRADLE_HOME
環境変数を追加します。この変数は、前の手順の展開されたファイルを指す必要があります。 -
GRADLE_HOME/bin
をPATH
環境変数に追加すると、コマンドラインインターフェイス(CLI)からGradleを実行できます。 - CLIで
gradle -v
と入力して、Gradleのインストールをテストします。出力には、インストールされているGradleのバージョンと現在のGradleの設定の詳細が含まれている必要があります
詳しい情報は、 公式のユーザーガイドに記載されています。
OS X / macOSで自作してインストールする
homebrewのユーザーは、実行してgradleをインストールできます
brew install gradle
SdkManでインストールする
SdkManのユーザーは、 以下を実行してGradleをインストールできます。
sdk install gradle
特定のバージョンをインストールする
sdk list gradle
sdk install gradle 2.14
バージョンを切り替える
sdk use gradle 2.12
Eclipse用Gradleプラグインのインストール
EclipseにGradleプラグインをインストールするために必要な手順は次のとおりです。
- Eclipseを開き、[ ヘルプ] - > [ Eclipse Marketplace]に移動します
- 検索バーにbuildshipと入力してEnterキーを押します
- "Buildship Gradle Integration 1.0"を選択し、 Installをクリックします。
- 次のウィンドウで、[ 確認 ]をクリックします。
- その後、契約の条項とライセンスを受け入れてから、 Finishをクリックします。
- インストール後、Eclipseを再起動し、 「はい」をクリックします。
こんにちは世界
Gradleタスクは、プロジェクトbuild.gradleファイル内のGroovyコードを使用して記述できます。これらのタスクは、ターミナルで> gradle [taskname]
を使用するか、EclipseなどのIDE内からタスクを実行することで実行できます。
GrailsでHello Worldの例を作成するには、Groovyを使用して文字列をコンソールに出力するタスクを定義する必要があります。 GroovyのprintLn
をprintLn
て、JavaのSystem.out.printLn
メソッドを呼び出して、テキストをコンソールに出力します。
build.gradle
task hello {
doLast {
println 'Hello world!'
}
}
> gradle hello
または> gradle -q hello
を使ってこのタスクを実行することができます。 -q
は、gradleログメッセージを抑制するために使用され、タスクの出力のみが表示されます。
> gradle -q hello
出力:
> gradle -q hello
Hello world!
タスクの詳細
まず第一に:演算子<<
(leftShift)はdoLast {closure}
と等価です。 gradle 3.2からは推奨されていません 。すべてのタスクコードはbuild.gradleに書き込まれています。
タスクは、ビルドが実行するいくつかのアトミックな作品を表します。これは、いくつかのクラスをコンパイルすること、JARを作成すること、Javadocを生成すること、またはいくつかのアーカイブをリポジトリに公開することである可能性があります。
Gradleは、大きく分けて2つのタスクをサポートしています。
いくつかのタスク定義スタイルを見てみましょう:
task hello {
doLast{
//some code
}
}
または:
task(hello) {
doLast{
//some code
}
}
上記の作業は同等です。また、 dependsOn
、 mustRunAfter
、 type
などのようにタスクにいくつかの拡張機能を追加することができます。タスク定義の後に次のようにアクションを追加することでタスクを拡張することができます:
task hello {
doLast{
println 'Inside task'
}
}
hello.doLast {
println 'added code'
}
これを実行すると、次のようになります。
> gradle -q hello
Inside task
added code
タスクの依存性に関する質問とここで調べられた順序付け
2つの大きなタイプのタスクについて話しましょう。
シンプル:
アクションクロージャで定義したタスク:
task hello {
doLast{
println "Hello from a simple task"
}
}
強化された
強化されているのは、あらかじめ設定された動作を持つタスクです。プロジェクトで使用しているすべてのプラグインは、 拡張 タスクまたは拡張タスクです 。私たちを作りましょう。あなたはそれがどのように機能するのか理解します:
task hello(type: HelloTask)
class HelloTask extends DefaultTask {
@TaskAction
def greet() {
println 'hello from our custom task'
}
}
また、次のようにパラメータをタスクに渡すこともできます。
class HelloTask extends DefaultTask {
String greeting = "This is default greeting"
@TaskAction
def greet() {
println greeting
}
}
これからは次のようにタスクを書き直すことができます:
//this is our old task definition style
task oldHello(type: HelloTask)
//this is our new task definition style
task newHello(type: HelloTask) {
greeting = 'This is not default greeting!'
}
これを実行すると、次のようになります。
> gradle -q oldHello
This is default greeting
> gradle -q newHello
This is not default greeting!
開発用のすべての質問については、 公式サイトへのプラグイン