Furyu
[フリュー公式]

Tech Blog

フリュー株式会社の技術ブログです

2018年12月13日

Gradle Kotlin DSLやってみた

こんばんはこんにちは、フリューのジョンです。
この記事はフリューAdvent Calendar 2018の12/13分となります。

2018/12/15 JJUG CCC 2018 Fall にて 既存アプリケーションでKotlinを導入してみた というタイトルで登壇します。
そのKotlinつながりでGradle Kotlin DSLについて書こうと思います。

Kotlin DSLとは

さてさてGradleのところを調べていると最近Kotlinという単語を見るようになりました。
どうやら Groovyではなく KotlinのDSLで書こうということらしいです。
個人的に触って感じているメリットとしては、「アプリケーションがKotlinならそのままKotlinでタスクなどを記述できる」という点でしょうか。
既存の書き方より優れている点は今のところは思い当たらないです。

Gradleプロジェクトを作成しよう

Gradle Initializrを使ってみましょう。 せっかくだからKotlinプロジェクトを選択します。

スクリーンショット 2018-12-12 11.40.30

downloadできたzipファイルを解凍して、IntelliJで開いてApp.ktにあるmain関数を実行してみましょう。

スクリーンショット 2018-12-12 13.42.30

Hello Worldとコンソールにでましたね。とりあえず、Gradleプロジェクトとしてアプリケーションが作成できていそうです。

Gradleタスクを書いてみよう

以下のようにbuild.gradle.ktsにタスクを追加してみましょう

// build.gradle.kts
tasks {
task("helloWorld") {
doLast { println("hello kotlin dsl world") }
}
}

動かしてみましょう。

$ ./gradlew helloWorld

以上です。hello kotlin dsl worldと表示されましたか?

まとめ

1.0になって間もなく、IntelliJで開いてもエラーと表示されているなど、使っていると壁にぶつかるところは多いと思います。
なので、本当に頑張る場合は、公式のサンプルを見比べながらタスクを作成してみてください。

Kotlin DSLガイド
Kotlin DSLサンプル


2018年07月19日

Spring Boot 2系でServiceによる起動をさせてみる

こんにちは、フリューのジョンです。

以前CentOS7でのSpring Bootの起動について記載させていただきました。
CentOS7でのSpring Bootの起動について

その後Spring Boot 2系がリリースされましたが、Gradleの場合は若干修正になりました。
とはいえ①の部分のみです。

Spring Boot 1系ではbootJarというタスクではなく以下のようなものでした。

今後はbootJarタスクを利用してやるようです。

詳しくは https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html を参考にしてください。