Kotlinスクリプト(Kotlin Script, .kts)とは?
Kotlinスクリプトの概要
Kotlinスクリプト(.kts
)は、Kotlinのコードをスクリプトとして実行できる機能です。通常のKotlinファイル(.kt
)と異なり、main
関数を明示的に定義する必要がなく、スクリプトとして直ちに実行できます。
Kotlinスクリプトの活用例:
- 簡単なユーティリティスクリプト
- Gradleのビルドスクリプト
- 設定ファイルの記述
Kotlinスクリプトの実行方法
Kotlinスクリプトは、kotlinc
または kotlin
コマンドを使用して実行できます。
# Kotlinスクリプトを直接実行
kotlin my_script.kts
以下のような簡単なスクリプトを作成し、実行できます。
println("Hello, Kotlin Script!")
Gradleとは?
Gradleの概要
Gradleは、KotlinやJavaのプロジェクトのビルドを自動化するためのツールです。Kotlin DSL(build.gradle.kts
)を使用すると、Kotlinの構文でビルド設定を記述できます。
Gradleを使用すると、以下のようなタスクを自動化できます:
- コンパイル(ソースコードのビルド)
- 依存関係の管理(ライブラリの追加)
- テストの実行
- アーティファクトの作成(JAR, APK など)
Gradleのインストール
Gradleは公式サイト(https://gradle.org/install/)からインストールできます。あるいは、以下のコマンドで簡単にインストールできます。
# Macの場合
brew install gradle
# Windowsの場合(Scoopを利用)
scoop install gradle
Gradle Kotlin DSL(build.gradle.kts)の基本
Gradleのビルドスクリプトには、Kotlin DSL(build.gradle.kts
)とGroovy DSL(build.gradle
)の2種類があります。Kotlin DSLを使用すると、型安全なビルドスクリプトを記述できます。
プロジェクトのセットアップ
Gradleプロジェクトを作成するには、以下のコマンドを実行します。
gradle init --type kotlin-application
作成された build.gradle.kts
を編集して、Kotlinプロジェクトの依存関係を追加できます。
plugins {
kotlin("jvm") version "1.6.21"
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib")
}
tasks.register("hello") {
doLast {
println("Hello, Gradle with Kotlin DSL!")
}
}
依存関係の管理
Gradleでは dependencies
ブロックを使用して、外部ライブラリを追加できます。
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
testImplementation("org.junit.jupiter:junit-jupiter:5.8.1")
}
タスクの定義
Gradleでは、タスクを定義して、プロジェクトのビルドプロセスをカスタマイズできます。
tasks.register("customTask") {
doLast {
println("This is a custom Gradle task.")
}
}
タスクを実行するには、以下のコマンドを使用します。
gradle customTask
KotlinスクリプトとGradleの連携
KotlinスクリプトをGradleタスクとして実行
Gradleでは、Kotlinスクリプトをカスタムタスクとして実行できます。
tasks.register("runScript") {
doLast {
exec {
commandLine("kotlin", "scripts/my_script.kts")
}
}
}
このタスクを実行すると、指定したKotlinスクリプトが実行されます。
gradle runScript
Gradleタスクの自動化
Gradleを使用すると、以下のような処理を自動化できます。
- コードのフォーマット(
ktlint
) - ビルドの最適化
- 継続的インテグレーション(CI)との統合
例えば、ktlint
を追加してコードフォーマットを自動化できます。
plugins {
id("org.jlleitschuh.gradle.ktlint") version "10.3.0"
}
gradle ktlintCheck
まとめ
本記事では、KotlinスクリプトとGradleを活用したビルド自動化について解説しました。
- Kotlinスクリプト(
.kts
)を使うと、簡単にスクリプトを作成・実行できる - Gradleを使用すると、Kotlinプロジェクトのビルドを効率的に管理できる
- Kotlin DSL(
build.gradle.kts
)を活用することで、型安全なビルドスクリプトを記述できる - Gradleタスクを定義して、スクリプトやビルドプロセスを自動化できる
KotlinスクリプトとGradleを活用することで、開発の生産性を大幅に向上させることができます。ぜひプロジェクトに取り入れてみてください!