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