blob: bbefd2751e062e3a5a493b2e2ddd8670ef76dea8 [file] [log] [blame] [view]
cgruber16396032016-04-05 11:21:19 -07001# Auto
Christian Edward Grubera85ff722013-05-22 14:46:24 -07002
Colin Decker60a80ba2021-04-09 12:23:05 -07003[![Build Status](https://github.com/google/auto/actions/workflows/ci.yml/badge.svg)](https://github.com/google/auto/actions/workflows/ci.yml)
Misha Brukmand1ec8e82019-10-03 15:30:05 -07004
Gregory Kick02653132013-07-30 15:01:49 -05005A collection of source code generators for [Java][java].
Christian Edward Grubera85ff722013-05-22 14:46:24 -07006
cgruber16396032016-04-05 11:21:19 -07007## Auto‽
Christian Edward Grubera85ff722013-05-22 14:46:24 -07008
cgruber16396032016-04-05 11:21:19 -07009[Java][java] is full of code that is mechanical, repetitive, typically untested
10and sometimes the source of subtle bugs. _Sounds like a job for robots!_
Gregory Kick19ee07f2013-07-01 16:00:45 -050011
cgruber16396032016-04-05 11:21:19 -070012The Auto subprojects are a collection of code generators that automate those
13types of tasks. They create the code you would have written, but without
14the bugs.
Gregory Kick19ee07f2013-07-01 16:00:45 -050015
16Save time. Save code. Save sanity.
17
cgruber16396032016-04-05 11:21:19 -070018## Subprojects
Gregory Kick19ee07f2013-07-01 16:00:45 -050019
cgruber16396032016-04-05 11:21:19 -070020 * [AutoFactory] - JSR-330-compatible factories
Christian Edward Gruber0c06a232014-02-26 16:19:33 -080021
Zac Sweers59b06992017-03-20 14:29:35 -070022 [![Maven Central](https://img.shields.io/maven-central/v/com.google.auto.factory/auto-factory.svg)](https://mvnrepository.com/artifact/com.google.auto.factory/auto-factory)
Christian Edward Gruber0c06a232014-02-26 16:19:33 -080023
cgruber16396032016-04-05 11:21:19 -070024 * [AutoService] - Provider-configuration files for [`ServiceLoader`]
Christian Edward Gruber0c06a232014-02-26 16:19:33 -080025
Zac Sweers59b06992017-03-20 14:29:35 -070026 [![Maven Central](https://img.shields.io/maven-central/v/com.google.auto.service/auto-service.svg)](https://mvnrepository.com/artifact/com.google.auto.service/auto-service)
Gregory Kick37c2e4c2014-01-17 15:13:45 -060027
emcmanusab2f0672019-11-07 13:38:18 -080028 * [AutoValue] - Immutable [value-type] code generation for Java 7+.
Christian Edward Gruber0c06a232014-02-26 16:19:33 -080029
Zac Sweers59b06992017-03-20 14:29:35 -070030 [![Maven Central](https://img.shields.io/maven-central/v/com.google.auto.value/auto-value.svg)](https://mvnrepository.com/artifact/com.google.auto.value/auto-value)
Christian Edward Grubera85ff722013-05-22 14:46:24 -070031
cgruber16396032016-04-05 11:21:19 -070032 * [Common] - Helper utilities for writing annotation processors.
Christian Edward Gruber8e0b0902014-09-30 17:52:16 -070033
Zac Sweers59b06992017-03-20 14:29:35 -070034 [![Maven Central](https://img.shields.io/maven-central/v/com.google.auto/auto-common.svg)](https://mvnrepository.com/artifact/com.google.auto/auto-common)
Christian Edward Gruber8e0b0902014-09-30 17:52:16 -070035
cgruber16396032016-04-05 11:21:19 -070036## License
Christian Edward Grubera85ff722013-05-22 14:46:24 -070037
emcmanus5ff5e372019-04-18 13:48:38 -070038 Copyright 2013 Google LLC
Christian Edward Grubera85ff722013-05-22 14:46:24 -070039
40 Licensed under the Apache License, Version 2.0 (the "License");
41 you may not use this file except in compliance with the License.
42 You may obtain a copy of the License at
43
44 http://www.apache.org/licenses/LICENSE-2.0
45
46 Unless required by applicable law or agreed to in writing, software
47 distributed under the License is distributed on an "AS IS" BASIS,
48 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
49 See the License for the specific language governing permissions and
50 limitations under the License.
51
cgruber16396032016-04-05 11:21:19 -070052[AutoFactory]: https://github.com/google/auto/tree/master/factory
53[AutoService]: https://github.com/google/auto/tree/master/service
54[AutoValue]: https://github.com/google/auto/tree/master/value
55[Common]: https://github.com/google/auto/tree/master/common
Christian Edward Grubera85ff722013-05-22 14:46:24 -070056
cgruber16396032016-04-05 11:21:19 -070057[java]: https://en.wikipedia.org/wiki/Java_(programming_language)
58[value-type]: http://en.wikipedia.org/wiki/Value_object
59[`ServiceLoader`]: http://docs.oracle.com/javase/7/docs/api/java/util/ServiceLoader.html