LoginSignup

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

Gradleを触ってみる

Posted at

今日の目標

Gradleを触ってみる

使うもの

参考

Gradleとは

Java(JVM)環境におけるビルドシステム(Gradle User Guide | 第1章 はじめに
GradleのビルドスクリプトはXMLではなくGroovyで記述します。(Gradle User Guide | 第2章 概要

大きな特長はビルドスクリプトをGradleはGroovyで書けるってことなのかな。ちなみにMavenやAntはXML。

ではスタート

準備

まずはGradleをdownloadします。参考サイトの古き良き方法でやりました。
環境変数の設定まで行って、gradle -versionを打った結果が下記のとおり。

------------------------------------------------------------
Gradle 2.9
------------------------------------------------------------

Build time:   2015-11-17 07:02:17 UTC
Build number: none
Revision:     b463d7980c40d44c4657dc80025275b84a29e31f

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_65 (Oracle Corporation 25.65-b01)
OS:           Windows 8.1 6.3 amd64

さあ書くぞ!

Gradleはタスクという作業の単位を持っており、Gradleに任せたい作業はタスクという単位で記述するみたいです。

任意の場所にgradleファイルを作ります。参考にさせていただいたサイトと同じように、helloWorld1というディレクトリを作って、その中にbuild.gradleファイルを作ります。

helloWorld1/build.gradle
task helloWorld  {
    doLast {
        println "Hello,world!"
    }
}

保存後にgradle tasksを実行してみると、Other tasksにきちんとhelloWorldがあります。
gradle2.png

これで実行できるようになります。

gradle helloWorld
gradle3.png

ビルドシステムにはよくある依存関係はdependsOnを使えばtask間の依存関係を解決できます。

build.gradle
task helloWorld  {
    description = "Hello, world!を出力します"

    doLast {
        println "Hello,world!"
    }
}

task gradleHello(dependsOn: helloWorld) {
    description = "Welcome to Gradle!を出力します"

    doLast {
        println "Welcome to Gradle!"
    }
}

gradle -q gradleHello
gradle4.png

※-qオプションを付けるとビルド時にログが出力されなくなります
※descriptionはtasksの説明文です

gradle tasks --all
gradle5.png

Other tasksのところにdescriptionに代入した文字列が表示されています。一個下がっているのは依存性に関係しているのかな?

言語のビルドまでいかなかった。次やる機会があったらJavaをビルドしてみたい。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up