このブログを検索

2015/06/21

Kotlin M12 でCLIからビルド

これを読んでCLIでkotlinコードのビルドを試みた
http://qiita.com/saba1024/items/d525fb6c89d1180b409a
現在の最新のKotlinのバージョンは
Kotlin Compiler version 0.12.200
を使ってるので上に書いたQiitaの記事や、別のサイト
で挙げられているkotlincのオプションがなくなっていた。
0.12.200 では kotlincに -src, -output, -jar などのオプションは無い模様。
さっきのQiitaの記事の焼き直しになるが
具体的にやったことをメモしておく
環境
Mac OSX yosemite 10.10.3
kotlin M12のダウンロード
ここからkotlinをダウンロードした
https://github.com/JetBrains/kotlin/releases/tag/build-0.12.200
PATHに追加
Qiitaの例と同じく
/opt/kotlin に配置した
/opt/kotlin/bin を PATHに追加
(僕はzshを使っているので~/.zshenvの path=( ) に追加してごにょごにょしているが
macにはpath_helperというのがあるのでそれ使うのがいけてるのかな? )
ビルド対象のソース
//helloworld.kt
fun main(args : Array<String>) {
  println("Hello World!")
}
もしくはこれでもOKだ
fun main(args : Array<String>) = println("Hello World!")
ビルド
% cd sampe-project/
% kotlinc helloworld.kt
これだけ。
kotlincはシェルスクリプトになっていて、中ではkotlinc-jvmを実行するようになっていた。(見難いのでこの記事ではダブルクォートを削った)
#/bin/bash --posix
$(dirname $(which $0))/kotlinc-jvm "$@"
ビルドすると2つのクラスファイルが生成されていた。
なぜかjavapが文字化けして読みにくかったので中は詳しくみていない。
_DefaultPackage$helloworld$01be4776.class
_DefaultPackage.class
実行
% java -cp .:/opt/kotlinc/lib/kotlin-runtime.jar _DefaultPackage
Hello World!
感想(というほどでもないけど)
もとの記事でも近い事が書かれていたけど
scalaと比べると better java でエコシステムから何から java を置き換えて
新しい世界を提供するぜ!という感じがそこまでない。
実際のプロジェクトのビルドはgradleでやろうかと思っているけど
antとかmavenでもできるっぽい(やってないけど)