auto README

The project's README from github.com/google/auto. As one markdown file: README.md.

Auto

Build Status

A collection of source code generators for Java.

Overview

Java is full of code that is mechanical, repetitive, typically untested and sometimes the source of subtle bugs. Sounds like a job for robots!

The Auto subprojects are a collection of code generators that automate those types of tasks. They create the code you would have written, but without the bugs.

Save time. Save code. Save sanity.

Subprojects

License

Copyright 2013 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

auto (google/auto)

Searching Database…

10.6K ·GitHub
What is this?Auto is a collection of source code generators for Java that automatically produce the mechanical, repetitive boilerplate code developers would otherwise write by hand.
Is this one library or a bundle of separate tools?It is an umbrella collection bundling four distinct annotation-processor subprojects: AutoFactory, AutoService, AutoValue, and Common, each solving a different code-generation problem.
How do I start using one of these generators?You add the specific subproject you need (AutoFactory, AutoService, or AutoValue) as a dependency to your Java build and annotate your classes; the annotation processor then generates the supporting code at compile time.
Do I need a specific Java version for these?AutoValue requires Java 8 or newer; the other subprojects work with standard Java annotation processing during compilation, no extra runtime is needed.
Do I need to pick the right subproject for my use case?Yes, there is no single do-it-all generator: AutoFactory, AutoService, AutoValue, and Common each target a different, specific problem, so you choose the one that matches what you're building.
What does AutoValue actually generate?AutoValue generates the boilerplate for immutable value-type classes in Java 8+, such as constructors, equals, hashCode, and toString, from a simple abstract class you write.
What is AutoFactory for?AutoFactory generates JSR-330-compatible factory classes, removing the need to hand-write factory boilerplate for dependency-injected objects.
What problem does AutoService solve?AutoService generates the provider-configuration files Java's ServiceLoader mechanism needs, so you don't have to maintain them by hand.
Why did Google build this instead of writing the code manually?Repetitive Java boilerplate is mechanical, often untested, and a frequent source of subtle bugs, so Auto's generators produce that code automatically and correctly.
Creator
google
Size
53 MB
Stars
10.6K
Age
13y
Commits · 90 Days