【プログラミング】【ビルド】ビルドツールまとめ - j-komatsu/myCheatSheet GitHub Wiki

ビルドツールまとめ

1. ビルドツールとは?

💡 初心者向け説明

ビルドツールは、ソースコードを実行可能な形式(例: JARファイル、APKファイル)に変換するためのツールです。

✅ できること:

  • ソースコードのコンパイル
  • 依存関係(ライブラリなど)の管理
  • 単体テストの実行
  • アプリのパッケージ化

🔍 専門者向け説明

ビルドツールはCI/CDパイプラインの一環としても活用され、

  • ビルドスクリプトの自動化(再現性のあるビルド)
  • インクリメンタルビルド(変更部分のみ再コンパイル)
  • タスク指向 or 宣言指向のビルド管理(Gradle: DSL, Maven: XML) を実現する。

2. ビルドツールの比較

ビルドツール 設定方式 依存管理 ビルド速度 主な用途
Gradle Groovy/Kotlin DSL あり 高速(インクリメンタルビルド) Java/Android
Maven XML(pom.xml) あり 普通 Java/エンタープライズ開発
Ant XML(build.xml) なし(手動) 遅め レガシーシステム
Bazel Starlark(Python風) あり 超高速 大規模分散開発
sbt Scala DSL あり 高速(Scala用) Scala開発

3. 主要なビルドツールの使い方

🚀 Gradle(グレードル)

インストール方法

# MacOS
brew install gradle

# Windows
scoop install gradle

# Linux (Ubuntu)
sudo apt install gradle

プロジェクトの作成 & ビルド

# プロジェクト作成
gradle init

# ビルド実行
gradle build

設定ファイル(build.gradle.kts)の例

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

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

🏗️ Maven(メイヴン)

インストール方法

# MacOS
brew install maven

# Windows
choco install maven

プロジェクト作成 & ビルド

# プロジェクト作成
mvn archetype:generate -DgroupId=com.example -DartifactId=myapp -DinteractiveMode=false

# ビルド実行
mvn package

設定ファイル(pom.xml)の例

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>myapp</artifactId>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>2.5.4</version>
    </dependency>
  </dependencies>
</project>

4. ビルドツールの選び方(フローチャート)

graph TD;
  A[ビルドツールを選ぶ] -->|Android開発| B[Gradle]
  A -->|Java Webアプリ| C[Maven]
  A -->|Scalaプロジェクト| D[sbt]
  A -->|超大規模プロジェクト| E[Bazel]
  A -->|レガシーシステム| F[Ant]
Loading

5. まとめ

目的 おすすめツール
Android開発 Gradle
企業向けJava Maven
Scala開発 sbt
大規模開発 Bazel
レガシー向け Ant

Gradle は最新のAndroidやJava開発で最も採用される。 ✅ Maven はエンタープライズ向けの標準ツール。 ✅ Ant は古いが、未だに使われる場面あり。


📌 参考リンク

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