cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 1 | # Auto |
Christian Edward Gruber | a85ff72 | 2013-05-22 14:46:24 -0700 | [diff] [blame] | 2 | |
Colin Decker | 60a80ba | 2021-04-09 12:23:05 -0700 | [diff] [blame] | 3 | [](https://github.com/google/auto/actions/workflows/ci.yml) |
Misha Brukman | d1ec8e8 | 2019-10-03 15:30:05 -0700 | [diff] [blame] | 4 | |
Gregory Kick | 0265313 | 2013-07-30 15:01:49 -0500 | [diff] [blame] | 5 | A collection of source code generators for [Java][java]. |
Christian Edward Gruber | a85ff72 | 2013-05-22 14:46:24 -0700 | [diff] [blame] | 6 | |
cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 7 | ## Auto‽ |
Christian Edward Gruber | a85ff72 | 2013-05-22 14:46:24 -0700 | [diff] [blame] | 8 | |
cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 9 | [Java][java] is full of code that is mechanical, repetitive, typically untested |
| 10 | and sometimes the source of subtle bugs. _Sounds like a job for robots!_ |
Gregory Kick | 19ee07f | 2013-07-01 16:00:45 -0500 | [diff] [blame] | 11 | |
cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 12 | The Auto subprojects are a collection of code generators that automate those |
| 13 | types of tasks. They create the code you would have written, but without |
| 14 | the bugs. |
Gregory Kick | 19ee07f | 2013-07-01 16:00:45 -0500 | [diff] [blame] | 15 | |
| 16 | Save time. Save code. Save sanity. |
| 17 | |
cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 18 | ## Subprojects |
Gregory Kick | 19ee07f | 2013-07-01 16:00:45 -0500 | [diff] [blame] | 19 | |
cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 20 | * [AutoFactory] - JSR-330-compatible factories |
Christian Edward Gruber | 0c06a23 | 2014-02-26 16:19:33 -0800 | [diff] [blame] | 21 | |
Zac Sweers | 59b0699 | 2017-03-20 14:29:35 -0700 | [diff] [blame] | 22 | [](https://mvnrepository.com/artifact/com.google.auto.factory/auto-factory) |
Christian Edward Gruber | 0c06a23 | 2014-02-26 16:19:33 -0800 | [diff] [blame] | 23 | |
cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 24 | * [AutoService] - Provider-configuration files for [`ServiceLoader`] |
Christian Edward Gruber | 0c06a23 | 2014-02-26 16:19:33 -0800 | [diff] [blame] | 25 | |
Zac Sweers | 59b0699 | 2017-03-20 14:29:35 -0700 | [diff] [blame] | 26 | [](https://mvnrepository.com/artifact/com.google.auto.service/auto-service) |
Gregory Kick | 37c2e4c | 2014-01-17 15:13:45 -0600 | [diff] [blame] | 27 | |
emcmanus | ab2f067 | 2019-11-07 13:38:18 -0800 | [diff] [blame] | 28 | * [AutoValue] - Immutable [value-type] code generation for Java 7+. |
Christian Edward Gruber | 0c06a23 | 2014-02-26 16:19:33 -0800 | [diff] [blame] | 29 | |
Zac Sweers | 59b0699 | 2017-03-20 14:29:35 -0700 | [diff] [blame] | 30 | [](https://mvnrepository.com/artifact/com.google.auto.value/auto-value) |
Christian Edward Gruber | a85ff72 | 2013-05-22 14:46:24 -0700 | [diff] [blame] | 31 | |
cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 32 | * [Common] - Helper utilities for writing annotation processors. |
Christian Edward Gruber | 8e0b090 | 2014-09-30 17:52:16 -0700 | [diff] [blame] | 33 | |
Zac Sweers | 59b0699 | 2017-03-20 14:29:35 -0700 | [diff] [blame] | 34 | [](https://mvnrepository.com/artifact/com.google.auto/auto-common) |
Christian Edward Gruber | 8e0b090 | 2014-09-30 17:52:16 -0700 | [diff] [blame] | 35 | |
cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 36 | ## License |
Christian Edward Gruber | a85ff72 | 2013-05-22 14:46:24 -0700 | [diff] [blame] | 37 | |
emcmanus | 5ff5e37 | 2019-04-18 13:48:38 -0700 | [diff] [blame] | 38 | Copyright 2013 Google LLC |
Christian Edward Gruber | a85ff72 | 2013-05-22 14:46:24 -0700 | [diff] [blame] | 39 | |
| 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 | |
cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 52 | [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 Gruber | a85ff72 | 2013-05-22 14:46:24 -0700 | [diff] [blame] | 56 | |
cgruber | 1639603 | 2016-04-05 11:21:19 -0700 | [diff] [blame] | 57 | [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 |