Gradle - ビルドツール †
Gradle とは †Gradle はAndroid Atudio のビルドツールとして採用されるなど、次世代のビルドツールとして注目されている。 インストール方法 †(1) 公式サイトのDOWNLOADS からGradleをダウンロード (2) ダウンロードしたzipを解凍し、環境変数 GRADLE_HOME に解凍したディレクトリのPATHを設定する (3) GRADLE_HOME/bin にPATHを通す Gradleプロジェクトの作成 †gradle init --type java-library type には pom、java-application、java-library、scala-library、groovy-library、groovy-application、basic などが指定できる。 Gradleが期待する基本的なディレクトリ構成 †規約に従ったディレクトリ構成の場合は、ビルドスクリプトの大幅な記述量削減が可能となる。 プロジェクトルート タスク †"gradle" に続けてタスク名を入力する事で、該当のタスクを実行する事ができる gradle init --type java-library 以下、主なタスクの一覧(他、詳細は後述)
基本形 †apply plugin: 'java'
// In this section you declare where to find the dependencies of your project
repositories {
jcenter()
}
jar {
manifest {
// net.magata.example.TestMain をメインクラスとする場合
attributes 'Main-Class': 'net.magata.example.TestMain'
}
}
dependencies {
compile 'グループID:アーティファクトID:バージョン'
// Use JUnit test framework
testImplementation 'junit:junit:X.XX'
}
タスクの作成 †簡単なタスクを作成し、実行してみる 新規タスクの作成 †適当なディレクトリを作成し、配下に以下のファイルを作成する。(ファイル名:build.gradle) task hello {
doLast {
println "hello!"
}
}
ショートカット記法を使用する場合 task hello << {
println "hello!"
}
タスクの実行方法 †./gradlew hello 結果: :hello hello! BUILD SUCCESSFUL Total time: 2.415 secs タスクに依存関係を追加する †task myTask1 {
doLast {
println "This is myTask1"
}
}
task myTask2(dependsOn: myTask1) {
doLast {
println "This is myTask2"
}
}
実行 ./gradlew myTask2 > Task :myTask1 This is myTask1 > Task :myTask2 This is myTask2 BUILD SUCCESSFUL in 0s タスクに後処理を追加する †task myTask1 {
doLast {
println "This is myTask1"
}
}
myTask1.doLast {
print "After myTask1"
}
実行 ./gradlew myTask1 > Task :myTask1 This is myTask1 After myTask1 BUILD SUCCESSFUL in 0s Tips †プラグインの追加 †build.gradle apply plugin: 'java' apply plugin: 'application' または plugins {
id 'java'
id 'application'
}
デフォルトタスクの設定 †build.gradle defaultTasks 'タスク名1' 'タスク名2' コマンドライン引数をメインクラスに渡す †run {
if (project.hasProperty('args')) {
args project.args.split('\\s+')
}
}
実行例 ./gradlew run -Pargs="arg1 arg2" JVMパラメータを指定する †build.gradle applicationDefaultJvmArgs = ["-Xms1024m", "-Xmx1024m"] ※http://gradle.monochromeroad.com/docs/userguide/application_plugin.html 関連: JavaVMのチューニングメモ メインクラスを指定する †./gradlew run 時に実行するメインクラスを指定する mainClassName = "org.gradle.sample.Main" Javaのバージョンを指定する †apply plugin: 'java' sourceCompatibility = '1.8' targetCompatibility = '1.8' ソースの文字コードを指定する †compileJava.options.encoding = 'UTF-8' compileTestJava.options.encoding = 'UTF-8' コマンドライン引数で指定されたクラスを実行する †run {
// 引数で指定されたクラスを実行する
if (project.hasProperty('main')) {
main(project.main)
}
}
実行例 ./gradlew run -Pmain="TestApp1" ※TestApp1.java の main メソッドが実行される。 test 実行時に標準出力への出力内容を表示する †test {
testLogging.showStandardStreams = true
}
|