xref: /aosp_15_r20/external/auto/common/README.md (revision 1c2bbba85eccddce6de79cbbf1645fda32e723f0)
1*1c2bbba8SAndroid Build Coastguard Worker# Auto Common Utilities
2*1c2bbba8SAndroid Build Coastguard Worker
3*1c2bbba8SAndroid Build Coastguard Worker## Overview
4*1c2bbba8SAndroid Build Coastguard Worker
5*1c2bbba8SAndroid Build Coastguard WorkerThe Auto project has a set of common utilities to help ease use of the
6*1c2bbba8SAndroid Build Coastguard Workerannotation processing environment.
7*1c2bbba8SAndroid Build Coastguard Worker
8*1c2bbba8SAndroid Build Coastguard Worker## Utility classes of note
9*1c2bbba8SAndroid Build Coastguard Worker
10*1c2bbba8SAndroid Build Coastguard Worker`MoreTypes`
11*1c2bbba8SAndroid Build Coastguard Worker:   Utilities and `Equivalence` wrappers for `TypeMirror` and related subtypes
12*1c2bbba8SAndroid Build Coastguard Worker
13*1c2bbba8SAndroid Build Coastguard Worker`MoreElements`
14*1c2bbba8SAndroid Build Coastguard Worker:   Utilities for `Element` and related subtypes
15*1c2bbba8SAndroid Build Coastguard Worker
16*1c2bbba8SAndroid Build Coastguard Worker`SuperficialValidation`
17*1c2bbba8SAndroid Build Coastguard Worker:   Very simple scanner to ensure an `Element` is valid and free from distortion
18*1c2bbba8SAndroid Build Coastguard Worker    from upstream compilation errors
19*1c2bbba8SAndroid Build Coastguard Worker
20*1c2bbba8SAndroid Build Coastguard Worker`Visibility`
21*1c2bbba8SAndroid Build Coastguard Worker:   Utilities for working with `Element`s' visibility levels (public, protected,
22*1c2bbba8SAndroid Build Coastguard Worker    etc.)
23*1c2bbba8SAndroid Build Coastguard Worker
24*1c2bbba8SAndroid Build Coastguard Worker`BasicAnnotationProcessor`/`Step`
25*1c2bbba8SAndroid Build Coastguard Worker:   Simple types that
26*1c2bbba8SAndroid Build Coastguard Worker    -   implement a validating annotation processor
27*1c2bbba8SAndroid Build Coastguard Worker    -   defer invalid elements until later
28*1c2bbba8SAndroid Build Coastguard Worker    -   break processor actions into multiple steps (which may each handle
29*1c2bbba8SAndroid Build Coastguard Worker        different annotations)
30*1c2bbba8SAndroid Build Coastguard Worker
31*1c2bbba8SAndroid Build Coastguard Worker## Usage/Setup
32*1c2bbba8SAndroid Build Coastguard Worker
33*1c2bbba8SAndroid Build Coastguard WorkerAuto common utilities have a standard [Maven](http://maven.apache.org) setup
34*1c2bbba8SAndroid Build Coastguard Workerwhich can also be used from Gradle, Ivy, Ant, or other systems which consume
35*1c2bbba8SAndroid Build Coastguard Workerbinary artifacts from the central Maven binary artifact repositories.
36*1c2bbba8SAndroid Build Coastguard Worker
37*1c2bbba8SAndroid Build Coastguard Worker```xml
38*1c2bbba8SAndroid Build Coastguard Worker<dependency>
39*1c2bbba8SAndroid Build Coastguard Worker  <groupId>com.google.auto</groupId>
40*1c2bbba8SAndroid Build Coastguard Worker  <artifactId>auto-common</artifactId>
41*1c2bbba8SAndroid Build Coastguard Worker  <version>1.0-SNAPSHOT</version> <!-- or use a known release version -->
42*1c2bbba8SAndroid Build Coastguard Worker</dependency>
43*1c2bbba8SAndroid Build Coastguard Worker```
44