SublimeTextでkotlinをgradleでビルドする


テコテックAdventCalendar2017の8日目の記事です。

kotlinかわいいですね!
先日バージョン1.2がリリースされ、マルチプラットフォーム対応が強化されたようです。
ますますかわいくなりますね!
そんなkotlinを手軽に実行できる環境を作成してみました!

環境

  • Windows10
  • Sublime Text 3

準備

1. AndroidStudio3.0 のインストール

こちらからダウンロードしてインストールします。
AndroidStudioは3.0からkotlinがデフォルトで入るようになったので、これをインストールするだけで一通りのツールが揃います。

2. 環境変数Pathに以下のパスを設定

AndroidStudioをデフォルトの設定でインストールすると下記の場所に必要なツールがインストールされているはず。
カスタムした場合は適宜変更してください。
- C:\Program Files\Android\Android Studio\plugins\Kotlin\kotlinc\bin
- C:\Program Files\Android\Android Studio\gradle\gradle-4.1\bin
- C:\Program Files\Android\Android Studio\jre\bin

3. SublimeTextのビルド設定ファイルの作成

kotlinソースをビルドする設定ファイルを作成します。
作成する場所は「%homepath%\AppData\Roaming\Sublime Text 3\Packages\User」になります。
(SublimeTextのメニューから[基本設定]→[Packagesフォルダ]で開くフォルダの「User」フォルダ)
開いているファイルと同じ場所にあるbuild.gradleを読み込んで実行します。

kotlin-gradle.sublime-build
{
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.Kotlin",
    "shell_cmd": "gradle -Pmain=\"${file_name}\""
}

ビルドの実行

サンプルプログラムをビルドして動かしてみましょう。

1. サンプルプログラムの用意

適当なディレクトリに以下の内容のファイルを作成します。

hello.kt
fun main(args: Array<String>) {
    System.out.println("hello kotlin!")
}

2. build.gradleを用意

サンプルプログラムと同じ場所に保存します。

build.gradle
buildscript {
  ext.kotlin_version = '1.2.0'
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  }
}

apply plugin: 'kotlin'
apply plugin: 'application'

repositories {
  mavenCentral()
}

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

sourceSets {
  main.java.srcDirs += './'
}

defaultTasks 'run'

run {
  if (project.hasProperty('main')) {
    main(project.main.replace(".kt", "Kt").capitalize())
  }
}

3. ビルド実行

hello.ktを表示して、[ツール]→[ビルド]を選択するか Ctrl+B でビルドできます。

簡単ですね!
これでいつでもkotlinを愛でることができるようになりました!
IDEやコマンドラインで作業するのもいいですが、いつも使っているエディタで確認できるのは手軽でいいですね!