├── .github ├── release-please.yml └── release-trigger.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md └── SECURITY.md /.github/release-please.yml: -------------------------------------------------------------------------------- 1 | releaseType: java-yoshi 2 | bumpMinorPreMajor: true 3 | handleGHRelease: true 4 | branches: 5 | - releaseType: java-lts 6 | bumpMinorPreMajor: true 7 | branch: 1.10.1-sp 8 | handleGHRelease: true 9 | - bumpMinorPreMajor: true 10 | handleGHRelease: true 11 | releaseType: java-yoshi 12 | branch: java7 13 | - releaseType: java-backport 14 | bumpMinorPreMajor: true 15 | handleGHRelease: true 16 | branch: 2.0.x 17 | - releaseType: java-backport 18 | bumpMinorPreMajor: true 19 | handleGHRelease: true 20 | branch: 2.1.x 21 | - releaseType: java-backport 22 | bumpMinorPreMajor: true 23 | handleGHRelease: true 24 | branch: 2.2.x 25 | 26 | -------------------------------------------------------------------------------- /.github/release-trigger.yml: -------------------------------------------------------------------------------- 1 | enabled: true 2 | multiScmName: api-common-java 3 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | 2 | # Code of Conduct 3 | 4 | ## Our Pledge 5 | 6 | In the interest of fostering an open and welcoming environment, we as 7 | contributors and maintainers pledge to making participation in our project and 8 | our community a harassment-free experience for everyone, regardless of age, body 9 | size, disability, ethnicity, gender identity and expression, level of 10 | experience, education, socio-economic status, nationality, personal appearance, 11 | race, religion, or sexual identity and orientation. 12 | 13 | ## Our Standards 14 | 15 | Examples of behavior that contributes to creating a positive environment 16 | include: 17 | 18 | * Using welcoming and inclusive language 19 | * Being respectful of differing viewpoints and experiences 20 | * Gracefully accepting constructive criticism 21 | * Focusing on what is best for the community 22 | * Showing empathy towards other community members 23 | 24 | Examples of unacceptable behavior by participants include: 25 | 26 | * The use of sexualized language or imagery and unwelcome sexual attention or 27 | advances 28 | * Trolling, insulting/derogatory comments, and personal or political attacks 29 | * Public or private harassment 30 | * Publishing others' private information, such as a physical or electronic 31 | address, without explicit permission 32 | * Other conduct which could reasonably be considered inappropriate in a 33 | professional setting 34 | 35 | ## Our Responsibilities 36 | 37 | Project maintainers are responsible for clarifying the standards of acceptable 38 | behavior and are expected to take appropriate and fair corrective action in 39 | response to any instances of unacceptable behavior. 40 | 41 | Project maintainers have the right and responsibility to remove, edit, or reject 42 | comments, commits, code, wiki edits, issues, and other contributions that are 43 | not aligned to this Code of Conduct, or to ban temporarily or permanently any 44 | contributor for other behaviors that they deem inappropriate, threatening, 45 | offensive, or harmful. 46 | 47 | ## Scope 48 | 49 | This Code of Conduct applies both within project spaces and in public spaces 50 | when an individual is representing the project or its community. Examples of 51 | representing a project or community include using an official project e-mail 52 | address, posting via an official social media account, or acting as an appointed 53 | representative at an online or offline event. Representation of a project may be 54 | further defined and clarified by project maintainers. 55 | 56 | This Code of Conduct also applies outside the project spaces when the Project 57 | Steward has a reasonable belief that an individual's behavior may have a 58 | negative impact on the project or its community. 59 | 60 | ## Conflict Resolution 61 | 62 | We do not believe that all conflict is bad; healthy debate and disagreement 63 | often yield positive results. However, it is never okay to be disrespectful or 64 | to engage in behavior that violates the project’s code of conduct. 65 | 66 | If you see someone violating the code of conduct, you are encouraged to address 67 | the behavior directly with those involved. Many issues can be resolved quickly 68 | and easily, and this gives people more control over the outcome of their 69 | dispute. If you are unable to resolve the matter for any reason, or if the 70 | behavior is threatening or harassing, report it. We are dedicated to providing 71 | an environment where participants feel welcome and safe. 72 | 73 | Reports should be directed to *googleapis-stewards@google.com*, the 74 | Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to 75 | receive and address reported violations of the code of conduct. They will then 76 | work with a committee consisting of representatives from the Open Source 77 | Programs Office and the Google Open Source Strategy team. If for any reason you 78 | are uncomfortable reaching out to the Project Steward, please email 79 | opensource@google.com. 80 | 81 | We will investigate every complaint, but you may not receive a direct response. 82 | We will use our discretion in determining when and how to follow up on reported 83 | incidents, which may range from not taking action to permanent expulsion from 84 | the project and project-sponsored spaces. We will notify the accused of the 85 | report and provide them an opportunity to discuss it before any action is taken. 86 | The identity of the reporter will be omitted from the details of the report 87 | supplied to the accused. In potentially harmful situations, such as ongoing 88 | harassment or threats to anyone's safety, we may take action without notice. 89 | 90 | ## Attribution 91 | 92 | This Code of Conduct is adapted from the Contributor Covenant, version 1.4, 93 | available at 94 | https://www.contributor-covenant.org/version/1/4/code-of-conduct.html -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How to Contribute 2 | 3 | Want to contribute? Great! First, read this page (including the small print at the end). 4 | 5 | ### Before you contribute 6 | Before we can use your code, you must sign the 7 | [Google Individual Contributor License Agreement] 8 | (https://cla.developers.google.com/about/google-individual) 9 | (CLA), which you can do online. The CLA is necessary mainly because you own the 10 | copyright to your changes, even after your contribution becomes part of our 11 | codebase, so we need your permission to use and distribute your code. We also 12 | need to be sure of various other things—for instance that you'll tell us if you 13 | know that your code infringes on other people's patents. You don't have to sign 14 | the CLA until after you've submitted your code for review and a member has 15 | approved it, but you must do it before we can put your code into our codebase. 16 | Before you start working on a larger contribution, you should get in touch with 17 | us first through the issue tracker with your idea so that we can help out and 18 | possibly guide you. Coordinating up front makes it much easier to avoid 19 | frustration later on. 20 | 21 | ### Code reviews 22 | All submissions, including submissions by project members, require review. We 23 | use Github pull requests for this purpose. 24 | 25 | ### The small print 26 | Contributions made by corporations are covered by a different agreement than 27 | the one above, the 28 | [Software Grant and Corporate Contributor License Agreement] 29 | (https://cla.developers.google.com/about/google-corporate). 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2016, Google Inc. 2 | Redistribution and use in source and binary forms, with or without 3 | modification, are permitted provided that the following conditions are 4 | met: 5 | 6 | * Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | * Redistributions in binary form must reproduce the above 9 | copyright notice, this list of conditions and the following disclaimer 10 | in the documentation and/or other materials provided with the 11 | distribution. 12 | * Neither the name of Google Inc. nor the names of its 13 | contributors may be used to endorse or promote products derived from 14 | this software without specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 19 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 20 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 21 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 22 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | API Common for Java 2 | ============================== 3 | 4 | [![Build Status](https://travis-ci.org/googleapis/api-common-java.svg?branch=main)](https://travis-ci.org/googleapis/api-common-java) 5 | 6 | 🚌 In January 2023, this library has moved to [gapic-generator-java/api-common-java](https://github.com/googleapis/gapic-generator-java/tree/main/api-common-java). This repository will be archived in the future. Future releases will appear in the new repository (https://github.com/googleapis/gapic-generator-java/releases). 7 | The Maven artifact coordinates (com.google.api:api-common) remain the same. 8 | 9 | - [Documentation](https://googleapis.dev/java/api-common/latest/index.html) 10 | 11 | API Common for Java is a library for foundational types relating to Google 12 | APIs. It currently contains the following packages: 13 | - core: Core library containing API stability annotations and wrappers around 14 | Guava types 15 | - pathtemplate: Path Template library for manipulating strings that are 16 | formatted as Google API resource names. 17 | - resourcenames: Resource Name library used by generated resource name types 18 | 19 | > For new and existing Developers/ Contributors: 20 | > 21 | > In December 2022, api-common-java's build tool has been migrated from gradle to maven. 22 | > Gradle related files are no longer being maintained and will be removed. 23 | > 24 | > The artifact coordinates in Maven Central (`{{ group_id }}:{{ artifact_id }}`) remain the same. 25 | 26 | 27 | Java Versions 28 | ------------- 29 | 30 | Java 8 or above is required for using this library. 31 | 32 | To build this project, JDK 11 or above is required. 33 | The build produces Java bytecode targeted for Java 8. 34 | 35 | The project uses Maven to build. 36 | 37 | Contributing 38 | ------------ 39 | 40 | Contributions to this library are always welcome and highly encouraged. 41 | 42 | See the [CONTRIBUTING] documentation for more information on how to get started. 43 | 44 | Versioning 45 | ---------- 46 | 47 | This library follows [Semantic Versioning](http://semver.org/), but with some 48 | additional qualifications: 49 | 50 | 1. Components marked with `@BetaApi` are considered to be "0.x" features inside 51 | a "1.x" library. This means they can change between minor and patch releases 52 | in incompatible ways. These features should not be used by any library "B" 53 | that itself has consumers, unless the components of library B that use 54 | `@BetaApi` features are also marked with `@BetaApi`. Features marked as 55 | `@BetaApi` are on a path to eventually become "1.x" features with the marker 56 | removed. 57 | 1. Components marked with `@InternalApi` are technically public, but are only 58 | public for technical reasons, because of the limitations of Java's access 59 | modifiers. For the purposes of semver, they should be considered private. 60 | 61 | This library is currently in major version one (``1.y.z``), which means that 62 | any public API not specifically marked as `@BetaApi` or `@InternalApi` can be considered 63 | stable. They will not change without incrementing the major version to 2.x or later, 64 | and probably not then. 65 | 66 | License 67 | ------- 68 | 69 | BSD 3-Clause - See [LICENSE] for more information. 70 | 71 | Build and Test 72 | -------------- 73 | To build this library, please do the following. 74 | 75 | ```sh 76 | mvn clean install 77 | ``` 78 | 79 | After making changes, run the following commands to format your code and test your changes. 80 | 81 | ```sh 82 | mvn fmt:format 83 | mvn test 84 | ``` 85 | 86 | [CONTRIBUTING]:https://github.com/googleapis/api-common-java/blob/main/CONTRIBUTING.md 87 | [LICENSE]: https://github.com/googleapis/api-common-java/blob/main/LICENSE 88 | 89 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | To report a security issue, please use [g.co/vulnz](https://g.co/vulnz). 4 | 5 | The Google Security Team will respond within 5 working days of your report on g.co/vulnz. 6 | 7 | We use g.co/vulnz for our intake, and do coordination and disclosure here using GitHub Security Advisory to privately discuss and fix the issue. 8 | --------------------------------------------------------------------------------