API для программной генерации исходных файлов Kotlin .kt из Kotlin и Java.
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.
- Создавать собственные процессоры аннотаций на основе общих вспомогательных утилит.
Темы
Частые вопросы
- Что такое 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+, который избавляет от необходимости использовать фабрики и создавать объекты напрямую.
Фреймворк плагинов для Gradle и Maven, который запускает форматтеры и линтеры для разных языков и типов файлов.
Библиотека Java для создания Telegram-ботов на основе Telegram Bot API с поддержкой long polling и вебхуков.
Быстрый движок поиска по исходному коду и перекрёстных ссылок на Java, который индексирует код и историю системы контроля версий.
Ускоритель сборок Maven: запускает сборки в постоянно работающих фоновых демонах, использует быстрый нативный клиент и собирает модули параллельно.