kscriptをひとつまみ
はじめに
kscript
を使ってみよ!
と意気込んでとりかかってみたものの、参考となる情報がめちゃくちゃ少ない、、、
頼れるものは公式のGithubくらいなもので、だいぶ時間がかかったような気がします。
そこで、実際に使ってみた感じの備忘録的な意味を込めてzennを書いていきます。
そも、kscriptって?
Enhanced scripting support for Kotlin on *nix-based and Windows systems.
Kotlin has some built-in support for scripting already, but it is not yet feature-rich enough to be a viable alternative in the shell.
-翻訳
*nix ベースのシステムおよび Windows システム上で Kotlin のスクリプトサポートを強化します。
Kotlin にはすでにスクリプト機能がいくつか組み込まれていますが、シェルでの実行可能な代替手段となるには、まだ機能が豊富ではありません。
→ Linux
やWindows
のコマンドライン上でKotlinScript
を実行するためのコマンドラインツールです!
インストール
以下のコマンドで導入しました。
AndroidStudioのコンソールで実行しています。
curl -s "https://get.sdkman.io" | bash # install sdkman
source "$HOME/.sdkman/bin/sdkman-init.sh" # add sdkman to PATH
sdk install kotlin # install Kotlin
sdk install kscript # install kscript
kscript --help # install check
サンプルコード
適当なサンプルコードをひとつまみ
#!/usr/bin/env kscript
はKotlinScript
ファイル内の先頭に必ずつけてください。
@file:DependsOn
で依存関係を追加します。
@file:Import
で指定するパスは相対パスになるので、慣れていないと苦戦するかもです、、、!
#!/usr/bin/env kscript
@file:DependsOn("org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.24")
@file:Import("./print1.kt")
@file:Import("./print2.kt")
print1()
print2()
KotlinScript
ではKotlin
コードの実行や、kotlin
ファイルの呼び出しができます。
また、KotlinScript
からKotlinScript
を実行することもまたできます。
println("I'm print1")
println("I'm print2")
実行します。
AndroidStudio
のFirebaseEmulator
をうまく利用して、それっぽいテストで使ったりもできます。
firebase emulators:start --import firebase_data/data_init --export-on-exit
env FIRESTORE_EMULATOR_HOST=localhost:8080 GCLOUD_PROJECT="sample-project" kscript kscript/sample.kts
I'm print1
I'm print2
参考
Discussion