Kotlin CLI の使い方 – kotlin, kotlinc, kotlinc-js, kotlin-dce-js


Kotlin 1.2.41 を前提に、 Kotlin CLI の使い方をまとめました。

スクリプトを実行する場合

拡張子 kts のファイルを作って実行します。 拡張子が kts でない場合は、中身の如何にかかわらず実行してくれません。 error: source entry is not a Kotlin file というエラーが出ます。

このスクリプトにおいて、 sample.ktsmain関数 がなくても実行できます。

コード例

ファイルをコンパイルする

JVM コンパイル

次のコマンドを実行して、 Kotlin のファイル (拡張子 kt) をコンパイルして .class ファイルを作成します。

この場合、 SampleKt.class が生成されます。

次のようにすると JAR が作成されます。

出力された Sample.jar を次のようにして実行します。 方法は2通りあります。

JAR 実行方法 1
JAR 実行方法 2

JS コンパイル

次のようにすると JavaScript ファイル sample.js が出力されます。 mapファイル, metaファイル はオプションを付けることで出力可能です。

Kotlin DCE JS

DCE とは dead code elimination のことで、 使われていないコードは JavaScript のファイルを意味なく大きくするだけなので消しましょうという機能です。 (参考: https://kotlinlang.org/docs/reference/javascript-dce.html)

例えば次のように Hello.kt を作成します。 ここで 関数a は使われていないコードとして作成します。

これを次のようにコンパイルします。

出力される hello.js は次のようになります。

ここで kotlin-dce-js を次のように実行します。

オプション -d で出力ディレクトリを指定できますが、ここでは指定していません。 デフォルトの min ディレクトリに次の hello.js が出力されます。

使用されていなかった 関数 a は除去されていますね。

REPL (Read Eval Print Loop)

次のコマンドで、 REPL を実行できます。

:quit を入力することで終了できます。 私はよく Ctrl+D で終了しています。

ヘルプ

kotlin, kotlinc, kotlinc-js, kotlin-dce-js の各コマンドに -h オプション を付けて実行するとそれぞれのコマンドのヘルプが表示されます。