このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。
仕事ではAndroid開発もJavaも縁遠いMr.Nyanです。
GemFire(Apache Geode)の続きの予定でしたが、この先ビルドシステムないと面倒&Geodeチュートリアルがこの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が充実すれば仕事でも使いたいですね。
keisuke.kimura in Livox Mid-360をROS1/ROS2で動かしてみた
Sorry for the delay in replying. I have done SLAM (FAST_LIO) with Livox MID360, but for various reasons I have not be...
Miya in ウエハースケールエンジン向けSimulated Annealingを複数タイルによる並列化で実装しました
作成されたプロファイラがとても良さそうです :) ぜひ詳細を書いていただきたいです!...
Deivaprakash in Livox Mid-360をROS1/ROS2で動かしてみた
Hey guys myself deiva from India currently i am working in this Livox MID360 and eager to knwo whether you have done the...
岩崎システム設計 岩崎 満 in Alveo U50で10G Ethernetを試してみる
仕事の都合で、検索を行い、御社サイトにたどりつきました。 内容は大変参考になりま...
Prabuddhi Wariyapperuma in Livox Mid-360をROS1/ROS2で動かしてみた
This issue was sorted....