エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

SDKMAN調査・まとめ

きっかけ

Java Advent Calendar で知らないFWを調べてるうちに、SDKMANにたどり着いた。

SDKMANとは

開発環境の管理ツール。
KotlinやGradleなどのFWなどのバージョン管理・切り替えができる。

環境

ProductName: Mac OS X
ProductVersion: 10.13.6
BuildVersion:   17G3025
java version "10-ea" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10-ea+37)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10-ea+37, mixed mode)

SDKMAN

インストール

$ curl -s "https://get.sdkman.io" | bash
$ source "~/.sdkman/bin/sdkman-init.sh"

SDK!っていうワードアートが出るのが印象的。
意外と早くインストールできる。

試しにGradleインストール

バージョン確認

$ sdk list gradle

上記でバージョン一覧が表示できる。 下記の内容で表示がされるはず。

==== BROADCAST =================================================================
* 06/12/18: Kotlin 1.3.11 released on SDKMAN! #kotlin
* 05/12/18: Gradle 4.10.3 released on SDKMAN! #gradle
* 04/12/18: Grails 3.3.9 released on SDKMAN! #grailsfw
================================================================================
================================================================================
Available Gradle Versions
================================================================================
     5.0                 4.4                 2.14.1              1.11           
     5.0-rc-5            4.3.1               2.14                1.10           
     5.0-rc-4            4.3                 2.13                1.9            
     5.0-rc-3            4.2.1               2.12                1.8            
     5.0-rc-2            4.2                 2.11                1.7            
     5.0-rc-1            4.1                 2.10                1.6            
     4.10.3              4.0.2               2.9                 1.5            
     4.10.2              4.0.1               2.8                 1.4            
     4.10.1              4.0                 2.7                 1.3            
     4.10                3.5.1               2.6                 1.2            
     4.9                 3.5                 2.5                 1.1            
     4.8.1               3.4.1               2.4                 1.0            
     4.8                 3.4                 2.3                 0.9.2          
     4.7                 3.3                 2.2.1               0.9.1          
     4.6                 3.2.1               2.2                 0.9            
     4.5.1               3.2                 2.1                 0.8            
     4.5                 3.1                 2.0                 0.7            
     4.4.1               3.0                 1.12                               

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================

バージョン一覧出したけど、指定するの面倒くさくなったので、デフォルトバージョンをインストールする。
きっと最新バージョンがインストールされるはず。

$ sdk install gradle

インストールされたか試す。

$ gradle -v

あっさりインストールできた。。。
本当にインストールされてるのか???
画面表示だけされて、「実はしてませんでした!(ノω・)テヘ」みたいなことがあるかもしれんので、とりあえずバージョン確認。

$ gradle -v

Welcome to Gradle 5.0!

Here are the highlights of this release:
 - Kotlin DSL 1.0
 - Task timeouts
 - Dependency alignment aka BOM support
 - Interactive `gradle init`

For more details see https://docs.gradle.org/5.0/release-notes.html


------------------------------------------------------------
Gradle 5.0
------------------------------------------------------------

Build time:   2018-11-26 11:48:43 UTC
Revision:     7fc6e5abf2fc5fe0824aec8a0f5462664dbcd987

Kotlin DSL:   1.0.4
Kotlin:       1.3.10
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          10-ea (Oracle Corporation 10-ea+37)
OS:           Mac OS X 10.13.6 x86_64

本当にインストールされてる。。。

Gradleが本当に動作するか試してみる

簡単すぎるので、本当に本当に動くのか、試してみる。

まずは、サンプルを作る。

適当にディレクトリ掘って、下記のbuild.gradleを作る。

task hello {
  println 'hello SAGA!'
}

佐賀、俺の中では東京クラスの県だと思ってる。
日本の中心は東京ではなく、佐賀だと思うわ。
いや、むしろ世界の中心は佐賀であると思う。
近い内に佐賀に行きたい。

脱線した。
とりあえず、タスクを実行してみる。

$ gradle hello

> Configure project :
hello SAGA!

BUILD SUCCESSFUL in 0s

マジで動く。。。
インストールはちゃんとされているな。

考察・まとめ

Javaさえインストールしてしまえば、開発環境は簡単に用意できる。
macでやってしまったから、homebrewでよくね?って思ってしまったが、windowsでも同じことができると思うと、かなりいい感じだと思う。
windowsにも homebrew と似た chocolatyがあるけど、ぶっちゃけ使いづらいんだよね。。。

Javaの問題は環境準備の面倒くささ。
今後、こういった環境準備のツールは、戦国時代になるんじゃなかろうか?
いまのところ、知っているツールでは、シンプルで使いやすい。
設定ファイルも不要だから、知識をつけないと使えないってのもなさそう。

参考サイト

SDKMANでGradleとKotlinをインストールする方法(Mac) - Qiita

Graal VM の native image を使って Java で爆速 Lamdba の夢を見る - Qiita