Repolode
google

google/auto

Набор генераторов кода для Java на основе обработки аннотаций: AutoValue, AutoFactory, AutoService и вспомогательные утилиты Common.

Звёзды
10,560
Форки
1,227
Открытые issues
88
Последний коммит
23 часа назад

Что это?

Auto — это набор генераторов исходного кода для Java, предназначенных для механического и повторяющегося кода, который утомительно писать и поддерживать вручную. Каждый подпроект работает как процессор аннотаций во время компиляции и генерирует исходный код Java, который иначе пришлось бы писать самостоятельно.

AutoValue генерирует неизменяемые классы-значения для Java 8 и новее. AutoFactory генерирует фабричные классы, совместимые с JSR-330. AutoService генерирует файлы конфигурации провайдеров, которые читает ServiceLoader. Common предоставляет вспомогательные утилиты для создания процессоров аннотаций.

Подпроекты публикуются в Maven Central отдельно, поэтому в сборку можно добавить только нужные генераторы.

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

  • 01AutoValue генерирует неизменяемые классы-значения для Java 8 и новее.
  • 02AutoFactory генерирует фабрики, совместимые с JSR-330.
  • 03AutoService генерирует файлы конфигурации провайдеров для ServiceLoader.
  • 04Common предоставляет вспомогательные утилиты для процессоров аннотаций.
  • 05Каждый подпроект отдельно публикуется в Maven Central.

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

  • Заменить написанный вручную шаблонный код equals, hashCode и builder для неизменяемых классов данных.
  • Генерировать фабричные классы, внедряющие зависимости с помощью аннотаций JSR-330.
  • Регистрировать реализации сервисов для ServiceLoader, не редактируя вручную файлы META-INF.
  • Создавать собственные процессоры аннотаций на основе общих вспомогательных утилит.

Темы

#java#code-generation#annotation-processing#immutable#dependency-injection#maven

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

Что такое auto?
Набор генераторов кода для Java на основе обработки аннотаций: AutoValue, AutoFactory, AutoService и вспомогательные утилиты Common. Auto — это набор генераторов исходного кода для Java, предназначенных для механического и повторяющегося кода, который утомительно писать и поддерживать вручную. Каждый подпроект работает как процессор аннотаций во время компиляции и генерирует исходный код Java, который иначе пришлось бы писать самостоятельно.
auto можно использовать бесплатно? Какая у него лицензия?
auto распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
auto всё ещё поддерживается?
Активно поддерживается. Последний коммит в auto — 6 нояб. 2026 г..
Для чего можно использовать auto?
Заменить написанный вручную шаблонный код equals, hashCode и builder для неизменяемых классов данных. Генерировать фабричные классы, внедряющие зависимости с помощью аннотаций JSR-330. Регистрировать реализации сервисов для ServiceLoader, не редактируя вручную файлы META-INF. Создавать собственные процессоры аннотаций на основе общих вспомогательных утилит.
Где скачать auto?
Исходный код и инструкции по установке — на GitHub: https://github.com/google/auto

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

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

Guice — лёгкий фреймворк для внедрения зависимостей в Java 11+, который избавляет от необходимости использовать фабрики и создавать объекты напрямую.

12,7 тыс.1,7 тыс.JavaApache-2.0Обновлён 8 дней назад

Ускоритель сборок Maven: запускает сборки в постоянно работающих фоновых демонах, использует быстрый нативный клиент и собирает модули параллельно.

3,5 тыс.253JavaApache-2.0Активно поддерживаетсяОбновлён 22 часа назад