JetBrainsがマルチプラットフォーム開発向けに開発するKotlin言語と、そのコンパイラ、標準ライブラリ、ビルドツール。
GradleUp/shadow
依存関係をまとめた fat/uber JAR の作成、パッケージの再配置、ファイル変換、R8/ProGuard による出力の縮小ができる Gradle プラグイン。
- スター
- 4,245
- フォーク
- 427
- 未解決の Issue
- 11
- 最終コミット
- 13 時間前
これは何?
Shadow は、プロジェクトとその依存関係を単一の fat または uber JAR にパッケージ化する Gradle プラグインです。Maven Shade Plugin に相当する Gradle 向けのプラグインで、ライブラリを1つの実行可能な成果物にまとめる際によく使われる機能を備えています。
依存関係の統合に加えて、クラスパスの競合を避けるためのパッケージの再配置(リネーム)、パッケージ化時のリソースファイルの変換やマージ、R8 または ProGuard による出力の最適化が可能です。Gradle Plugin Portal と Maven Central でプラグイン ID `com.gradleup.shadow` として公開されており、Gradle 8.0 以降に対応しています。プロジェクトは元のメンテナーから GradleUp 組織に移管されており、旧プラグイン ID `com.github.johnrengelman.shadow` はレガシービルドでのみ使用されます。
主な機能
- 01プロジェクトの依存関係を1つの成果物にまとめた fat/uber JAR を作成します。
- 02ライブラリ間のクラスパスの競合を避けるため、パッケージを再配置します。
- 03パッケージ化時にリソースファイルを変換・マージします。
- 04R8 または ProGuard で出力を最適化します。
- 05Gradle Plugin Portal と Maven Central から入手できます。
ユースケース
- 依存関係の多い Java または Kotlin アプリケーション向けに、単一の実行可能な JAR を作成する。
- クラスパス上の別バージョンとの競合を避けるため、ライブラリを非公開のパッケージ名に再配置する。
- R8 または ProGuard で未使用コードを削除し、配布用 JAR を縮小する。
クイックスタート
- 1
Gradle ビルドで ID が com.gradleup.shadow のプラグインを適用します
- 2
設定方法と使い方については、User Guide をお読みください
使う前に知っておきたいこと
- 最新リリースには Java 17 以降と Gradle 9.4 以降が必要です。
トピック
よくある質問
- shadow とは?
- 依存関係をまとめた fat/uber JAR の作成、パッケージの再配置、ファイル変換、R8/ProGuard による出力の縮小ができる Gradle プラグイン。 Shadow は、プロジェクトとその依存関係を単一の fat または uber JAR にパッケージ化する Gradle プラグインです。Maven Shade Plugin に相当する Gradle 向けのプラグインで、ライブラリを1つの実行可能な成果物にまとめる際によく使われる機能を備えています。
- shadow は無料で使えますか?ライセンスは?
- shadow は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- shadow は今もメンテナンスされていますか?
- 活発にメンテナンス中。shadow の最終コミットは 2026年11月7日 です。
- shadow は何に使えますか?
- 依存関係の多い Java または Kotlin アプリケーション向けに、単一の実行可能な JAR を作成する。 クラスパス上の別バージョンとの競合を避けるため、ライブラリを非公開のパッケージ名に再配置する。 R8 または ProGuard で未使用コードを削除し、配布用 JAR を縮小する。
- shadow のインストール方法は?
- Gradle ビルドで ID が com.gradleup.shadow のプラグインを適用します 設定方法と使い方については、User Guide をお読みください
- shadow はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/GradleUp/shadow
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Java、Kotlin、Androidライブラリをsourcesとjavadoc付きでMaven Centralやその他のNexusリポジトリに公開するGradleプラグインです。
Kotlinプロジェクトにチェックと自動フォーマットのタスクを追加する、ktlintをラップしたGradleプラグイン。
Gradleは、Java、Kotlin、Scala、Android、Groovy、C++、Swiftを対象とするマルチプロジェクトビルド向けのビルド自動化ツールです。
Dockerデーモンを使わず、MavenまたはGradleでJavaアプリケーション向けの最適化されたDocker・OCIコンテナイメージをビルドします。
JVM向け成果物をホストする、軽量なセルフホスト型Mavenリポジトリマネージャー。Nexus、Archiva、Artifactoryの軽量な代替です。