Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

ハローワールド

以下が詳しい。
Gradle User Guide


helloディレクトリにbuild.gradleファイルを作り以下を記述(Groovy)

task hello doLast {
  println "Hello, world!"
}

コンソールで実行する。

>  gradle hello

依存関係をつける。

task hello doLast {
  println "Hello, world!"
}

task hi(dependsOn: hello) {
  println "hi"
}

これでgradle helloをすると、hiが実行された後にhelloが実行される。

5.times { x ->
    task "count_$x" doLast {
      println "number $x"
    }
}

のように動的にタスクを定義して、これを
コンソールで実行する。

>  gradle count_3

のように実行できる。

タスクは依存関係を追加できる。

5.times { x ->
    task "count_$x" doLast {
      println "number $x"
    }
}

count_3.dependsOn count_1, count_2

タスクはアクションを追加できる。

task hello doLast {
  println "Hello, world!"
}

hello.doFirst {
  println "addFirst!"
}

hello.doLast {
  println "addLast!"
}

hogeタスクに拡張プロパティを定義(extを使う)、他のタスクでそれを使う。

task hoge {
    ext.fuga = "3"
}

task printHoge doLast {
    println hoge.fuga
}

デフォルトタスクの設定、これでgradleとするとデフォルトのタスクが呼ばれる。

defaultTaskes 'hello', 'printHoge'

実行タスクにhogehogeタスクがあるかどうかで振る舞いをかえる。

task printVersion doLast {
  println "version = $version"
}

task hogehoge(dependsOn: 'printVersion') {
  println "do task hogehoge"
}

gradle.taskGraph.whenReady {taskGraph ->
  if (taskGraph.hasTask(hogehoge)) {
    version = '1.0hogehoge'
  } else {
    version = '1.0'
  }
}



1. build.gradle タスクを定義する。プロジェクトを定義する。
2. gradle.propeties ビルドに使うプロパティを設定する。
3. settings.gradle プロジェクトが複数ある場合にどのプロジェクトを使うか

Gradleの基本

プロジェクトとタスク
一つのビルドは一つ以上のプロジェクトを使って行われる。
一つのプロジェクトは一つ以上のタスクから構成されている。