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