Kotlin 1.3.70 から Kotlin Scripting に対応しています。
Android Studio からも、*.main.kts
ファイルを設置するだけで Kotlin を Script として実行可能です。
Android Studio から Kotlin Script を使用する手順を解説します。
*.main.kts
スクリプトの設置
{任意のファイル名}.main.kts
の形式で Kotlin Script を設置します。.main.kts
以外の suffix では動かないので、必ず .main.kts
としてください。
サンプルとして以下のファイルを設置します。
script.main.kts
//@file:Repository("https://example.com/maven")
@file:DependsOn("com.ibm.icu:icu4j:70.1")
import com.ibm.icu.text.BreakIterator
fun CharSequence.displayLength(): Int {
val iterator = BreakIterator.getCharacterInstance()
iterator.setText(this.toString())
var count = 0
while (iterator.next() != BreakIterator.DONE) {
count++
}
return count
}
println("🧑🦰".displayLength())
スクリプトの実行
script.main.kts
を右クリックして Run 'script.main.kts'
からスクリプトを実行します。
スクリプトの実行結果が Run ウィンドウに表示されます。
1 度実行すると、次からは Run Configuration に登録された履歴から実行できるようになります。
スクリプトの実行 (プロジェクトをビルドしない)
2022/08/02: コメントで教えていただいて手順を更新しました
現時点の intelliJ Kotlin Plugin (211-1.6.10-release-923-AS7442.40) では、上記の Kotlin script としての実行では、開いているプロジェクト全体をビルドしてしまいます。
Run Configurations から Before launch の Build を削除するとプロジェクト全体のビルドなしで Kotlin script を実行できます。
外部依存設定
以下の設定により、Kotlin Script から外部のライブラリを利用することができます。
mavenCentral リポジトリは定義を省略しても依存解決に使えるようです。
実装 | 説明 |
---|---|
@Repository("...") |
外部 Maven リポジトリの定義 |
@DependsOn("...") |
外部 Maven ライブラリの依存定義 |
@Import("...") |
他の Kotlin Script を読み込む |
詳しくは以下のドキュメントを確認してください。