kotlinの開発環境を構築する 1日目

やりたいことがあって、Javaを書く必要が出てきたので、かといってJavaもちょっと飽きたのでkotlinで書いてみることにする。
まずはkotlinの開発環境を構築していく。

開発環境の構築

kotlinのコードが書ける環境を作っていく。
また、kotlinにおける以下も調べる。

  • パッケージの管理
  • DI
  • ユニットテスト
  • モックライブラリ
  • 時間周りのライブラリ

Intellijの全部入り(?)を契約しているので、JetBrains toolboxからIntelliJ IDEA Ultimateをインストールしてkotlin JVMプロジェクトを作成する。

KotlinでHello world

以下を参考にHello worldする。
https://kotlinlang.org/docs/tutorials/getting-started.html

コード書いて、緑の三角ボタンを押すだけで実行できてしまった・・・
コンパイラの設定とかやらなくていいのか・・・

CLIでコンパイルしてみる

CLIコンパイラがあるらしい
https://kotlinlang.org/docs/tutorials/command-line.html

# コンパイル
kotlinc src/app.kt -d app.jar
# 実行
kotlin -classpath app.jar AppKt

Scratchで簡単に実行する

IntelliJにはScratchという一時的なファイルを作成する機能があり、これでkotlinスクリプトをサクッと実行できる。
https://kotlinlang.org/docs/tutorials/quick-run.html
Ctrl+Alt+Insertを押下してkotlinを選択してコードを書けば、右ペインに結果が表示される。

パッケージマネージャはないのか?

パッケージマネージャではなくビルドツールとしてAnt、Gradle、Mavenが存在する。

Gradleって何?

ビルド自動化ツール。

Gradleを導入する

SDKMANがインストールされていれば1コマンドで導入できる
https://gradle.org/install/

sdk install gradle 6.3

Gradleでプロジェクトを初期化する。
--dsl kotlinを付けるとkotlinシンタックスで記述できる。
使用言語を聞かれるのでkotlinを選択する。

gradle init --dsl kotlin

以下の様なファイルが作成された

  • build.gradle.tks
    • ビルドの設定ファイル。依存関係やタスクを定義する。
  • gradlew
  • gradlew.bat
  • settings.gradle.kts

gradlewって何?

ビルドを実行するスクリプト。通称Gradle Wapperと呼ばれる。
宣言されたバージョンのGradleを自動的にダウンロードして使ってくれる。
ちなみにgradlew.batはWindows用。

Gradleでビルドする

以下のコマンドでビルドできる。
成果物はbuildフォルダに格納される。

gradle build

実行するにはgradle runをすればいい。

DIコンテナを導入する

Gradleでパッケージを追加する方法を調べるついでにDIコンテナを導入する。
Koinというライブラリがよく使われるっぽい。
ドキュメントによるとbuild.gradle.ktsdependenciesに以下の記述を追加すればいいらしい

dependencies {

    // Koin for Kotlin
    implementation("org.koin:koin-core:2.1.5")

    // Koin for Unit tests
    testImplementation("org.koin:koin-test:2.1.5")
}

ドキュメントのサンプル通り、HelloMessageDataHelloServiceHelloServiceImplHelloApplicationクラスを作成してビルドする

org.koinのモジュールが見つからないエラー

ideaとgradleがsyncしていなかったらしく、gradleにideaプラグインを追加したら解決した。

plugins {
    id("idea")
}
gradle idea

そんなこんなでkoinの導入が完了した。

一旦今日はここまで。
Gradle kotlin DSLとKoinの導入あたりで結構ハマってしまった。
次回はユニットテスト周りを確認していく。

「kotlinの開発環境を構築する 1日目」への1件のフィードバック

コメントする