LoginSignup
9
12

More than 5 years have passed since last update.

[gradle] gradleってなんだろう?

Last updated at Posted at 2015-12-20

Javaのビルドツールって、何を使ってますでしょうか?
私はmavenしか知らなかったのですが、gradleが流行っている?らしく、
ちょっと触ってみました。(ほんと、触った程度。。)

※OSはAmazon Linuxで試していきます。

何が良いのか?

gradleはビルドの記述をGroovyで書けるそうです。
とりあえず、私は「Groovy」が分かりません。。が、ひとまず進むことにします。
mavenのようにxmlて書かなくて良いだけは分かりました。

なにはともあれ、インストール

Java(JDK)はすでにインストールされているとします。(バージョン6以上)
gradleのビルドに必要になります。

gradleのダウンロード

公式

# 2.9が最新っぽいので。ダウンロード先は任意です。
$wget https://services.gradle.org/distributions/gradle-2.9-all.zip
$unzip gradle-2.9-all.zip
$rm -f gradle-2.9-all.zip
$ln -s gradle-2.9 gradle

以下のファイルに追記し、PATHを通しておく

.bash_profile
export GRADLE_HOME=$HOME/gradle
export PATH=$GRADLE_HOME/bin:$PATH

設定を反映させておく、gradleコマンドが通ればOK

$source .bash_profile

$gradle -v

------------------------------------------------------------
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.7.0_91 (Oracle Corporation 24.91-b01)
OS:           Linux 4.1.10-17.31.amzn1.x86_64 amd64

Javaプロジェクトの作成

ひとまず、何かしら実行できそうです。
mavenでもJavaプロジェクトのひな型を作れたので、gradleもきっとあるはず、、、、ありそうですね!

Javaプロジェクトの作成

gradle init --type java-libraryで作れます。

$mkdir java_test
$cd java_test/

$gradle init --type java-library
:wrapper
:init

BUILD SUCCESSFUL

Total time: 3.222 secs

This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.9/userguide/gradle_daemon.html

何かできました。以下のようなディレクトリ構造になるみたいですね。
ソースコードの構成はmavenと同じでした。

├── build.gradle:ビルドファイル。pom.xmlみたいのもの。
├── build/:ビルド成果物の出力先
│  └── libs/:JARファイルの出力先
└── src/
  ├── main/
  │  ├── java/:ソースコード
  │  │  ├──Library.java:サンプルコード
  │  └── resources/:JARに同梱されるリソース
  └── test/
    ├── java/:テスト用ソースコード
    │  ├──LibraryTest.java:サンプルテストコード
    └── resources/:テスト実行時に使われるリソース

サンプルコードをビルド

細かい説明は次回にして(笑)、まずはビルドしてみましょう。
gradle buildだけです。

$gradle build
:compileJava
・・
:processResources UP-TO-DATE
:classes
:jar
:assemble
:compileTestJava
・・
:processTestResources UP-TO-DATE
:testClasses
:test
:check
:build

BUILD SUCCESSFUL

Total time: 10.19 secs

# jarができたか確認
$ll build/libs/
-rw-rw-r-- 1 ec2-user ec2-user 591 Dec 20 22:54 java_test.jar

色々実行されたました。コロン(:)で書かれている部分がタスクと呼ばれ、
buildによって順次実行されていくようです。
おそらくテストだけしたいなら、gradle testでいけるはず。

また、buildディレクトリ配下に成果物が出力されていることも確認できました。

最後に

ひとまず実行はできましたが、mavenに対するメリットはまだ感じられません。
次回は、build.gradleファイルの中身を確認してみたいと思います。

ではでは。

9
12
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
9
12