1*882aa7c7SMatt GilbrideAPI Common for Java 2*882aa7c7SMatt Gilbride============================== 3*882aa7c7SMatt Gilbride 4*882aa7c7SMatt Gilbride[](https://travis-ci.org/googleapis/api-common-java) 5*882aa7c7SMatt Gilbride 6*882aa7c7SMatt Gilbride- [Documentation](https://googleapis.dev/java/api-common/latest/index.html) 7*882aa7c7SMatt Gilbride 8*882aa7c7SMatt GilbrideAPI Common for Java is a library for foundational types relating to Google 9*882aa7c7SMatt GilbrideAPIs. It currently contains the following packages: 10*882aa7c7SMatt Gilbride- core: Core library containing API stability annotations and wrappers around 11*882aa7c7SMatt Gilbride Guava types 12*882aa7c7SMatt Gilbride- pathtemplate: Path Template library for manipulating strings that are 13*882aa7c7SMatt Gilbride formatted as Google API resource names. 14*882aa7c7SMatt Gilbride- resourcenames: Resource Name library used by generated resource name types 15*882aa7c7SMatt Gilbride 16*882aa7c7SMatt GilbrideJava Versions 17*882aa7c7SMatt Gilbride------------- 18*882aa7c7SMatt Gilbride 19*882aa7c7SMatt GilbrideJava 8 or above is required for using this library. 20*882aa7c7SMatt Gilbride 21*882aa7c7SMatt GilbrideTo build this project, JDK 11 or above is required. 22*882aa7c7SMatt GilbrideThe build produces Java bytecode targeted for Java 8. 23*882aa7c7SMatt Gilbride 24*882aa7c7SMatt GilbrideThe project uses Maven to build. 25*882aa7c7SMatt Gilbride 26*882aa7c7SMatt GilbrideVersioning 27*882aa7c7SMatt Gilbride---------- 28*882aa7c7SMatt Gilbride 29*882aa7c7SMatt GilbrideThis library follows [Semantic Versioning](http://semver.org/), but with some 30*882aa7c7SMatt Gilbrideadditional qualifications: 31*882aa7c7SMatt Gilbride 32*882aa7c7SMatt Gilbride1. Components marked with `@BetaApi` are considered to be "0.x" features inside 33*882aa7c7SMatt Gilbride a "1.x" library. This means they can change between minor and patch releases 34*882aa7c7SMatt Gilbride in incompatible ways. These features should not be used by any library "B" 35*882aa7c7SMatt Gilbride that itself has consumers, unless the components of library B that use 36*882aa7c7SMatt Gilbride `@BetaApi` features are also marked with `@BetaApi`. Features marked as 37*882aa7c7SMatt Gilbride `@BetaApi` are on a path to eventually become "1.x" features with the marker 38*882aa7c7SMatt Gilbride removed. 39*882aa7c7SMatt Gilbride1. Components marked with `@InternalApi` are technically public, but are only 40*882aa7c7SMatt Gilbride public for technical reasons, because of the limitations of Java's access 41*882aa7c7SMatt Gilbride modifiers. For the purposes of semver, they should be considered private. 42*882aa7c7SMatt Gilbride 43*882aa7c7SMatt GilbrideThis library is currently in major version one (``1.y.z``), which means that 44*882aa7c7SMatt Gilbrideany public API not specifically marked as `@BetaApi` or `@InternalApi` can be considered 45*882aa7c7SMatt Gilbridestable. They will not change without incrementing the major version to 2.x or later, 46*882aa7c7SMatt Gilbrideand probably not then. 47*882aa7c7SMatt Gilbride 48*882aa7c7SMatt GilbrideLicense 49*882aa7c7SMatt Gilbride------- 50*882aa7c7SMatt Gilbride 51*882aa7c7SMatt GilbrideBSD 3-Clause - See [LICENSE] for more information. 52*882aa7c7SMatt Gilbride 53*882aa7c7SMatt GilbrideBuild and Test 54*882aa7c7SMatt Gilbride-------------- 55*882aa7c7SMatt GilbrideTo build this library, please do the following. 56*882aa7c7SMatt Gilbride 57*882aa7c7SMatt Gilbride```sh 58*882aa7c7SMatt Gilbridemvn clean install 59*882aa7c7SMatt Gilbride``` 60*882aa7c7SMatt Gilbride 61*882aa7c7SMatt GilbrideAfter making changes, run the following commands to format your code and test your changes. 62*882aa7c7SMatt Gilbride 63*882aa7c7SMatt Gilbride```sh 64*882aa7c7SMatt Gilbridemvn fmt:format 65*882aa7c7SMatt Gilbridemvn test 66*882aa7c7SMatt Gilbride``` 67*882aa7c7SMatt Gilbride 68*882aa7c7SMatt Gilbride[CONTRIBUTING]:https://github.com/googleapis/api-common-java/blob/main/CONTRIBUTING.md 69*882aa7c7SMatt Gilbride[LICENSE]: https://github.com/googleapis/api-common-java/blob/main/LICENSE 70*882aa7c7SMatt Gilbride 71