【プログラミング】【ビルド】Gradle - j-komatsu/myCheatSheet GitHub Wiki

Gradle(グレードル)とは?

Gradle(グレードル)は、柔軟性と高速性を兼ね備えたビルドツールです。
JavaやKotlin、Androidアプリの開発に広く利用されています。

1. Gradleの特徴

特徴 説明
高い柔軟性 GroovyまたはKotlin DSLで記述可能
タスクベースの構造 タスク(Task)単位で処理を管理
依存関係管理 MavenやIvyを利用可能
インクリメンタルビルド 変更部分のみを再コンパイルし高速化
マルチプロジェクト対応 大規模プロジェクトにも適用可能

2. Gradleの基本構造

Gradleは、以下のような構成で管理されます。

プロジェクトルート/
 ├── build.gradle(または build.gradle.kts)
 ├── settings.gradle(または settings.gradle.kts)
 ├── gradle/wrapper/
 ├── src/
 │   ├── main/java/
 │   ├── main/resources/
 │   ├── test/java/
 │   ├── test/resources/
 └── gradlew(実行用スクリプト)
  • build.gradle / build.gradle.kts:ビルド設定
  • settings.gradle / settings.gradle.kts:プロジェクト設定
  • gradlew / gradlew.bat:Gradle Wrapper(環境依存なく実行可能)

3. Gradleの動作フロー

graph TD;
  A[プロジェクトのルート] -->|build.gradleを読む| B[設定フェーズ];
  B -->|依存関係を解決| C[実行フェーズ];
  C -->|ビルド処理を実行| D[成果物を出力];
Loading

4. Gradleのインストール

方法1: Gradle Wrapper を使用(推奨)

Gradle Wrapper を利用すると、環境に依存せずビルド可能。

./gradlew tasks

方法2: 手動インストール

公式サイト(https://gradle.org/install/)からダウンロードし、環境変数を設定。

export PATH=$PATH:/path/to/gradle/bin

5. Gradleの基本的な使い方

5.1 Gradleプロジェクトの作成

gradle init --type java-application

5.2 ビルドの実行

./gradlew build

5.3 タスクの一覧表示

./gradlew tasks

6. Gradleの設定例

6.1 build.gradle.kts の基本設定

plugins {
    kotlin("jvm") version "1.8.0"
}

dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib")
}

tasks.register<JavaExec>("run") {
    mainClass.set("com.example.MainKt")
}

6.2 build.gradle の基本設定(Groovy DSL)

plugins {
    id 'java'
}

dependencies {
    implementation 'org.apache.commons:commons-lang3:3.12.0'
}

task hello {
    doLast {
        println 'Hello, Gradle!'
    }
}

7. Gradleの依存関係管理

dependencies {
    implementation 'com.google.guava:guava:31.0.1-jre'
    testImplementation 'junit:junit:4.13.2'
}
  • implementation:通常のライブラリ依存
  • testImplementation:テスト時のみ使用するライブラリ依存

8. Gradleの実践的な利用方法

8.1 タスクのカスタマイズ

task customTask {
    doLast {
        println 'カスタムタスクの実行'
    }
}
./gradlew customTask

8.2 マルチプロジェクト構成

rootProject.name = 'MyProject'
include 'subproject'

9. GradleのTips

9.1 キャッシュを削除してクリーンビルド

./gradlew clean build

9.2 Gradleデーモンを無効化

gradle --stop

10. まとめ

Gradleは、柔軟なビルド設定と高速なビルド機能を持つ強力なツールです。
基本的な使い方を押さえつつ、必要に応じてカスタマイズすると、開発が効率的に進められます。

⚠️ **GitHub.com Fallback** ⚠️