Gradle

Gradle 8.0 におけるツールチェーンリポジトリの変更

TL;DR ツールチェーン と ツールチェーンリポジトリ Gradle 8.0 からのツールチェーンリポジトリ blog1.mammb.com TL;DR Gradle 8.0 で以下のようなワーニングや $ ./gradlew build --warning-mode all Using a toolchain installed via auto-provisioning, …

Gradle のビルドで使用するJavaバージョンを指定するには

blog1.mammb.com Gradle 6.7 以降で Java ツールチェーンを利用できるようになりました。Java ツールチェーンを使うことで、要件に合う JRE/JDK を自動検出し、見つからない場合には自動的にダウンロードしてビルドすることができます。 build.gradle.kts(bu…

逆引きGradle - もじく -

随時更新の Gradle 逆引き辞典です。 Gradle 設定 Gradle をバージョンアップする メッセージの不要なローカライズを無効化する Unable to find a usable idle daemon で応答しない場合の対処法 JCenter は2022年2月で終了しました ビルドスクリプトで IDEA …

プロジェクトの Gradle をバージョンアップするには

blog1.mammb.com Gradel プロジェクトのルートディレクトリで以下のコマンドを実行します。 $ ./gradlew wrapper --gradle-version=7.X.X 推奨はされていませんが gradle/wrapper/gradle-wrapper.properties の以下を希望のバージョンに書き換えることもでき…

Gradle で Asciidoc 変換して Github Action で Github Pages で公開する

build.gradle.kts index.adoc Github Action Github Pages build.gradle.kts org.asciidoctor.jvm.convert プラグインを導入して設定する。 plugins { id("org.asciidoctor.jvm.convert") version "3.3.2" } // asciidoctor config val asciidoctorExtension…

Gradle が Unable to find a usable idle daemon で応答しない場合の対処法

年に数回程度の頻度で、Gradle のビルドが応答しない場面に遭遇することがあります。 以下のように IDLE で止まり、応答なし。 $ gradlew war > IDLE かなり待たされた後で、Gradle デーモンのプロセスに到達できないというエラー。 FAILURE: Build failed w…

JCenter は2022年2月で終了するので Gradle プロジェクトは早めの対応を!

JCenter の終了 どうすれば良いか JCenter への依存の確認方法 JCenter の終了 JFrog の以下の発表によると、JCenter は 2022年2月1日 で利用できなくなるとのことです。 jfrog.com 当初は 2021年5月1日 で終了でしたが、2022年2月1日 まで延期されました。 …

Gradle で始める Payara 5 〜 CDI・JPA 〜

はじめに データソースの登録 CDI の有効化 JPA の導入 Entity の作成 リポジトリの作成 サービスの作成 リソースの作成 アプリケーションの実行 まとめ はじめに 前回作成した、 blog1.mammb.com に続き、データベース処理を追加してみましょう。 データソ…

Gradle で始める Payara 5

はじめに プロジェクトの作成 Payara を組み込みモードで動かす JUL(Java Util Logger) から SLF4J への変更 buildSrc の追加 war モジュールの作成 Hello サーブレット アプリケーションのデプロイ Hello JAX-RS まとめ はじめに いまさら何故? という気は…

Gradle Groovy DSL から Kotlin DSL への乗り換え方

はじめに スクリプトファイルの命名 Kotlin と Groovy の言語上の考慮事項 Gradle init によるプロジェクト生成 プラグインの適用 プラグインの設定 タスクの構成 タスクの作成 依存の指定 よくある設定 はじめに Gradle 5.0 よりGradle Kotlin DSL が提供さ…

Maven Central Repository への公開手順(Gradle版)

はじめに sonatype で JIRAアカウント作成 New Project の issue 登録 GnuPG の導入 GnuPG による鍵の生成 公開鍵を鍵サーバへ登録 秘密鍵をエクスポート Gradle プラグインの導入 build.gradle の設定 リポジトリへの公開 まとめ はじめに Maven Central Re…

Gradle 5.2 系の BOM サポート

Spring Boot を例に。 Gradle 5.2 から BOM インポートが正式にサポートされました。 implementation platform を使い以下のように書けます。 plugins { id 'java' id 'org.springframework.boot' version '2.1.8.RELEASE' } sourceCompatibility = targetC…

Kotlin を Gradle でビルドする minimal サンプル

Gradle プロジェクトの準備 ソースファイルの作成 ビルド&実行 ビルドスクリプトをKotlinで書く Gradle プロジェクトの準備 init タスクでプロジェクト準備します(gradle は導入済みの前提)。 $ mkdir kotlin-example $ cd kotlin-example $ gradle init kot…

Gradle で評価時の依存を定義するには evaluationDependsOn を使う

Gradle のマルチプロジェクトで、ビルドスクリプトの評価順序を定義するには evaluationDependsOn を使う。 ビルド成果物の依存は dependencies タスク間の実行時依存関係は dependsOn 評価時の依存は evaluationDependsOn ビルド成果物の依存は dependencie…

Gradle Copy タスクのまとめ

Copy タスク Copy タスクは Gradle の core で提供されている。 簡単な Copy タスク例は以下。 task copyConfig(type: Copy) { from 'config' into 'build/config' } gradle copyConfig でタスクを実行すると 'config' ディレクトリにあるファイルを'build/c…

gradle でファイルダウンロードを自動化する

ファイルのダウンロード ダウンロードプラグインを使うと簡単。 plugins { id 'java' id "de.undercouch.download" version "1.2" } repositories { mavenCentral() } task wrapper(type: Wrapper) { gradleVersion = '2.2.1' } task downloadAndUnzip { out…