LoginSignup
3
4

More than 5 years have passed since last update.

Gradle で Hello Kotlin

Last updated at Posted at 2017-06-02

概要

Gradle で Kotlin をビルドできるようにするまでのセットアップ作業を示したものです。普段は Kotlin を使っておらず、たまにテキストエディタでちょっとしたコードを書く場合を想定しています。

Kotlin の採用実績

2017年5月に Google I/0 2017 で Kotkin が Android の開発言語としてサポートされることが公表されました。Kotlin を採用している個別の企業の例として Ruby on Rails の作者が在籍する Basecamp をはじめ、Amazon Web Services、Pinterest、Netflix、Uber などが挙げられます。Kotlin で書かれたプロジェクトの例として Corda が挙げられます。Corda は分散型台帳プラットフォームで、金融機関が参加するコンソーシアムによって開発されています。

セットアップ

方針

プログラミング言語を導入する場合、特定のバージョンだけでよいのか、プロジェクトごとにバージョンを使いわける必要があるのか考える必要があります。今回は後者を基準にツールを選ぶことにしました。以前は前者の方針で macOS の homebrew を使ってきました。

jabba

Java のパッケージマネージャーとして jabba を使うことにしました。このツールは Go で開発されています。

curl -sL https://github.com/shyiko/jabba/raw/master/install.sh | bash && . ~/.jabba/jabba.sh

インストールできる Java のバージョンのリストを表示させてみましょう。

jabba ls-remote

今回は 1.8.131 をインストールすることにしました。

jabba install 1.8.131

.profile に次のコードを追加しました。

jabba use 1.8

Java のバージョン番号を確認してみましょう。

java -version

SDKMAN!

Kotlin や Gradle の複数のバージョンを管理できるように SDKMAN! を導入することにしました。以前のコマンドツールの名前は gvm でしたが、Go Version Manager のコマンドツールと名前が重複していました。

curl -s "https://get.sdkman.io" | bash

.profile ファイルに次のコードを追加しました。

source "$HOME/.sdkman/bin/sdkman-init.sh"

Kotlin

sdk コマンドで Kotlin をインストールします。

sdk install kotlin

Kotlin のバージョンを確認してみましょう。

kotlin -version

Gradle

sdk コマンドで Gradle をインストールします。

sdk install gradle

プロジェクト

ターミナルで Hello Kotin を表示させるプログラムを書いてみましょう。開発元の JetBrains がサンプルコードのリポジトリを公開しています。

build.gragle

build.gradle を用意します。

build.gradle
buildscript {
  ext.kotlin_version = '1.1.2-2'

  repositories {
    mavenCentral()
  }

  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  }
}

apply plugin: 'kotlin'
apply plugin: 'application'
mainClassName = 'demo.HelloKt'

defaultTasks 'run'

repositories {
  mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

buildscript {} ブロックの代わりに plugins {} ブロックを使って次のように書き換えることができます。

build.gradle
plugins {
  id "org.jetbrains.kotlin.jvm" version "1.1.2-2"
}

apply plugin: 'kotlin'
apply plugin: 'application'
mainClassName = 'demo.HelloKt'

defaultTasks 'run'

repositories {
  mavenCentral()
}

dependencies {
  compile "org.jetbrains.kotlin:kotlin-stdlib:1.1.2-2"
}

plugins {} ブロックはトップレベルの宣言でなければならず、idversion に指定できるのは定数、リテラル、文字列です。

Hello.kt

src/main/kotlin/demo/Hello.kt のファイルを用意します。

Hello.kt
package demo

fun main(args: Array<String>) {
    println("Hello Kotlin!")
}

実行

プログラムを実行してみましょう。

gradle

明示的にタスクを指定することもできます。

gradle run
3
4
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
3
4