Repolode
GradleUp

GradleUp/shadow

Gradle-плагин для сборки fat/uber JAR, переноса пакетов, преобразования файлов и уменьшения размера сборки с помощью R8/ProGuard.

Звёзды
4,245
Форки
427
Открытые issues
11
Последний коммит
16 часов назад

Что это?

Shadow — Gradle-плагин, который упаковывает проект вместе с его зависимостями в один fat или uber JAR. Это аналог Maven Shade Plugin для Gradle, охватывающий типичные задачи по объединению библиотек в один запускаемый артефакт.

Помимо объединения зависимостей, плагин умеет переносить (переименовывать) пакеты, чтобы избежать конфликтов в classpath, преобразовывать и объединять файлы ресурсов при упаковке, а также оптимизировать результат с помощью R8 или ProGuard. Плагин опубликован в Gradle Plugin Portal и Maven Central с ID com.gradleup.shadow и поддерживает Gradle 8.0 и более поздние версии. Проект перешёл в организацию GradleUp от первоначального мейнтейнера; старый ID плагина com.github.johnrengelman.shadow используется только в сборках, которые его ещё не сменили.

Ключевые возможности

  • 01Собирает fat/uber JAR, объединяя зависимости проекта в один артефакт.
  • 02Переносит пакеты, чтобы избежать конфликтов библиотек в classpath.
  • 03Преобразует и объединяет файлы ресурсов при упаковке.
  • 04Оптимизирует результат с помощью R8 или ProGuard.
  • 05Доступен в Gradle Plugin Portal и Maven Central.

Сценарии использования

  • Создание одного запускаемого JAR для приложения на Java или Kotlin с большим количеством зависимостей.
  • Перенос библиотеки в собственный пакет, чтобы избежать конфликтов с другими версиями в classpath.
  • Уменьшение размера распространяемого JAR за счёт удаления неиспользуемого кода с помощью R8 или ProGuard.

Быстрый старт

  1. 1

    Примените в сборке Gradle плагин с идентификатором com.gradleup.shadow

  2. 2

    Ознакомьтесь с User Guide, чтобы узнать о настройке и использовании

Что важно знать

  • Для последних версий требуются Java 17 или новее и Gradle 9.4 или новее.

Темы

Частые вопросы

Что такое shadow?
Gradle-плагин для сборки fat/uber JAR, переноса пакетов, преобразования файлов и уменьшения размера сборки с помощью R8/ProGuard. Shadow — Gradle-плагин, который упаковывает проект вместе с его зависимостями в один fat или uber JAR. Это аналог Maven Shade Plugin для Gradle, охватывающий типичные задачи по объединению библиотек в один запускаемый артефакт.
shadow можно использовать бесплатно? Какая у него лицензия?
shadow распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
shadow всё ещё поддерживается?
Активно поддерживается. Последний коммит в shadow — 7 нояб. 2026 г..
Для чего можно использовать shadow?
Создание одного запускаемого JAR для приложения на Java или Kotlin с большим количеством зависимостей. Перенос библиотеки в собственный пакет, чтобы избежать конфликтов с другими версиями в classpath. Уменьшение размера распространяемого JAR за счёт удаления неиспользуемого кода с помощью R8 или ProGuard.
Как установить shadow?
Примените в сборке Gradle плагин с идентификатором com.gradleup.shadow Ознакомьтесь с User Guide, чтобы узнать о настройке и использовании
Где скачать shadow?
Исходный код и инструкции по установке — на GitHub: https://github.com/GradleUp/shadow

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Язык программирования Kotlin, его компилятор, стандартная библиотека и инструменты сборки для кроссплатформенной разработки, создаваемые JetBrains.

53,5 тыс.+20 за неделю6,5 тыс.KotlinБез лицензииОбновлён 5 часов назад

Лёгкий Maven-менеджер репозиториев для JVM-артефактов с самостоятельным размещением — альтернатива Nexus, Archiva и Artifactory.

1,9 тыс.+4 за неделю243KotlinApache-2.0Активно поддерживаетсяОбновлён 6 дней назад