Kotlin .kt 소스 파일을 프로그래밍 방식으로 생성하는 Kotlin 및 Java API입니다.
google/auto
AutoValue, AutoFactory, AutoService와 Common 헬퍼를 포함하는 Java 어노테이션 처리 코드 생성기 모음입니다.
- 스타
- 10,560
- 포크
- 1,227
- 열린 이슈
- 88
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
Auto는 Java용 소스 코드 생성기 모음으로, 직접 작성하고 유지 관리하기 번거로운 기계적이고 반복적인 코드를 대신 생성합니다. 각 하위 프로젝트는 컴파일 시 어노테이션 프로세서로 실행되어 직접 작성해야 하는 Java 소스 코드를 생성합니다.
AutoValue는 Java 8 이상에서 사용할 불변 값 타입 클래스를 생성합니다. AutoFactory는 JSR-330 호환 팩토리 클래스를 생성합니다. AutoService는 ServiceLoader가 읽는 provider-configuration 파일을 생성합니다. Common은 어노테이션 프로세서를 작성할 때 쓸 헬퍼 유틸리티를 제공합니다.
각 하위 프로젝트는 Maven Central에 별도로 게시되므로 빌드에 필요한 생성기만 추가할 수 있습니다.
핵심 기능
- 01AutoValue는 Java 8 이상에서 사용할 불변 값 클래스를 생성합니다.
- 02AutoFactory는 JSR-330 호환 팩토리를 생성합니다.
- 03AutoService는 ServiceLoader용 provider-configuration 파일을 생성합니다.
- 04Common은 어노테이션 프로세서 작성에 유용한 헬퍼 유틸리티를 제공합니다.
- 05각 하위 프로젝트는 Maven Central에 별도로 게시됩니다.
활용 사례
- 불변 데이터 클래스의 equals, hashCode, 빌더 보일러플레이트를 직접 작성하지 않고 생성합니다.
- JSR-330 어노테이션을 사용해 의존성을 주입하는 팩토리 클래스를 생성합니다.
- META-INF 파일을 직접 수정하지 않고 ServiceLoader에 서비스 구현을 등록합니다.
- 공유 헬퍼 유틸리티를 기반으로 커스텀 어노테이션 프로세서를 개발합니다.
토픽
자주 묻는 질문
- auto은(는) 무엇인가요?
- AutoValue, AutoFactory, AutoService와 Common 헬퍼를 포함하는 Java 어노테이션 처리 코드 생성기 모음입니다. Auto는 Java용 소스 코드 생성기 모음으로, 직접 작성하고 유지 관리하기 번거로운 기계적이고 반복적인 코드를 대신 생성합니다. 각 하위 프로젝트는 컴파일 시 어노테이션 프로세서로 실행되어 직접 작성해야 하는 Java 소스 코드를 생성합니다.
- auto은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- auto은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- auto은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. auto의 마지막 커밋은 2026년 11월 6일입니다.
- auto은(는) 어디에 사용할 수 있나요?
- 불변 데이터 클래스의 equals, hashCode, 빌더 보일러플레이트를 직접 작성하지 않고 생성합니다. JSR-330 어노테이션을 사용해 의존성을 주입하는 팩토리 클래스를 생성합니다. META-INF 파일을 직접 수정하지 않고 ServiceLoader에 서비스 구현을 등록합니다. 공유 헬퍼 유틸리티를 기반으로 커스텀 어노테이션 프로세서를 개발합니다.
- auto은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/google/auto
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Guice는 팩토리나 직접적인 객체 생성 없이 의존성을 주입할 수 있는 Java 11 이상용 경량 DI 프레임워크입니다.
여러 언어와 파일 형식에 코드 포매터와 린터를 적용하는 Gradle 및 Maven용 빌드 플러그인 프레임워크입니다.
long polling과 웹훅을 모두 지원하는 Telegram Bot API 기반 Java 봇 개발 라이브러리입니다.
Java로 작성된 빠른 소스 코드 검색 및 상호 참조 엔진으로, 코드와 버전 관리 이력을 인덱싱합니다.
Maven 빌드를 장시간 실행되는 백그라운드 데몬에서 처리하고, 빠른 네이티브 클라이언트와 병렬 모듈 빌드로 빌드 속도를 높이는 도구입니다.