Repolode
google

google/auto

AutoValue、AutoFactory、AutoService、Commonのヘルパーを含む、Java向けアノテーション処理コードジェネレーター群です。

スター
10,560
フォーク
1,227
未解決の Issue
88
最終コミット
昨日

これは何?

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、ビルダーの定型コードを手書きせずに済ませる。
  • JSR-330アノテーションを使って依存関係を注入するファクトリークラスを生成する。
  • META-INFファイルを手作業で編集せずに、ServiceLoader向けのサービス実装を登録する。
  • 共通のヘルパーユーティリティを利用して、独自のアノテーションプロセッサを作成する。

トピック

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

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト