SublimeTextでkotlinをgradleでビルドする
テコテックAdventCalendar2017の8日目の記事です。
kotlinかわいいですね!
先日バージョン1.2がリリースされ、マルチプラットフォーム対応が強化されたようです。
ますますかわいくなりますね!
そんなkotlinを手軽に実行できる環境を作成してみました!
環境
- Windows10
- Sublime Text 3
準備
1. AndroidStudio3.0 のインストール
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を読み込んで実行します。
{
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.Kotlin",
"shell_cmd": "gradle -Pmain=\"${file_name}\""
}
ビルドの実行
サンプルプログラムをビルドして動かしてみましょう。
1. サンプルプログラムの用意
適当なディレクトリに以下の内容のファイルを作成します。
fun main(args: Array<String>) {
System.out.println("hello kotlin!")
}
2. 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やコマンドラインで作業するのもいいですが、いつも使っているエディタで確認できるのは手軽でいいですね!
Author And Source
この問題について(SublimeTextでkotlinをgradleでビルドする), 我々は、より多くの情報をここで見つけました https://qiita.com/teco_iida/items/2d32aa64b3eeb0bfee67著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .