Article

2017年6月29日

仕事ではAndroid開発もJavaも縁遠いMr.Nyanです。

GemFire(Apache Geode)の続きの予定でしたが、この先ビルドシステムないと面倒&GeodeチュートリアルがこのGradleありきで記述されていたため、今回はGradle導入します。

Gradleとは

自称世界No.1のプログラミング言語Java界隈では有名なビルドツールらしいです。
チュートリアルなのに、何の説明もなくbuild.gradleファイル晒してくるところから察するにきっとJavaでの開発ではデファクト的なものなのでしょう。

DSLで記述可能ということで、もはや秘伝のタレ化して触るのが恐ろしいMakefile+シェルスクリプトdeployの組み合わせから脱却したい方(=筆者)にはうってつけのツールです。

インストール

こちら

http://qiita.com/vvakame/items/83366fbfa47562fafbf4

を参考にしました。

インストール先は素のWindows10環境です。Cygwinもないため、おススメされているGVMを使わず古き良き方法でインストールします。

あらかじめ必要なものは、バージョン6以上のJavaのみです。

まず、

執筆時点(2017/6/26)最新の

https://services.gradle.org/distributions/gradle-4.0-bin.zip

をダウンロードし、

先に作成しておいたC:\Gradle ディレクトリへ中身(gradle-4.0)を展開します。

次に、環境変数の設定。

[Windowsキー]+[Pause/Breakキー] > [システムの詳細設定] > [環境変数]

と進み、

変数Path へ C:\Gradle\gradle-4.0\bin を追加します。

以上でインストールはできているので、

コマンドプロンプトから

> gradle -version

と打ち込んで、バージョンを確認します。

Microsoft Windows [Version 10.0.15063]
(c) 2017 Microsoft Corporation. All rights reserved.

c:\demo>java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

c:\demo>gradle -version

------------------------------------------------------------
Gradle 4.0
------------------------------------------------------------

Build time: 2017-06-14 15:11:08 UTC
Revision: 316546a5fcb4e2dfe1d6aa0b73a4e09e8cecb5a5

Groovy: 2.4.11
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_77 (Oracle Corporation 25.77-b03)
OS: Windows 10 10.0 amd64

お約束

早速スクリプトで遊んでみましょう。

次の内容でbuild.gradleファイルを作成します。

task hello(dependsOn: 'hells') << {
 println "Welcome to Gradle World!!"
}
task hells << {
 4.times { println "Hell$it World!!" }
}

このhelloタスクを実行してみると、

> gradle -q hello

次のような出力になります。

c:\demo>gradle -q hello
Hell0 World!!
Hell1 World!!
Hell2 World!!
Hell3 World!!
Welcome to Gradle World!!

簡単にスクリプトの説明をすると、最初のhelloタスクは遅延評価指定(dependsOn)により依存するタスクhellsが指定してあり、hellsタスクを先に実行するようにしています。この例のとおり、先に実行されるhellsタスクを後に記述しても問題ありません。

さいごに

よくあるGradleインストール編でした。C/C++開発用のplug-inが充実すれば仕事でも使いたいですね。

Tags

About Author

Mr.Nyan

Leave a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Recent Comments

Social Media