| # Contributing | |
| We welcome contributions to our code, and will always endeavor to respond in a quick and helpful manner to Pull Requests. | |
| 1. **Please sign one of the contributor license agreements below** (simple and pain-free). | |
| 1. Fork the repo, develop and test your code changes, add docs. | |
| 1. A Pull Request should be a set of changes that addresses one issue in the issue tracker. Please file one Pull Request per issue, and address one issue per Pull Request. If you want to make a change that doesn't have a corresponding issue in the issue tracker, please [submit a new issue][issues] first. | |
| 1. Make sure that your commit messages clearly describe the changes. | |
| 1. Send a pull request. | |
| [issues]: https://github.com/googleapis/google-api-dotnet-client/issues | |
| ## Contributor License Agreements | |
| Before we can accept your pull requests you'll need to sign a Contributor | |
| License Agreement (CLA): | |
| - **If you are an individual writing original source code** and **you own the intellectual property**, | |
| then you'll need to sign an [individual CLA][individual-cla]. | |
| - **If you work for a company that wants to allow you to contribute your work**, | |
| then you'll need to sign a [corporate CLA][corporate-cla]. | |
| You can sign these electronically (just scroll to the bottom). After that, | |
| we'll be able to accept your pull requests. | |
| [individual-cla]: https://developers.google.com/open-source/cla/individual | |
| [corporate-cla]: https://developers.google.com/open-source/cla/corporate | |
| # Code Layout | |
| These libraries are split into: | |
| - [Generated client libraries][client-libs]: The per-service libraries as used by users. The source code for these is generated by the Client Generator. | |
| - [Client Generator][client-gen]: The code generator for the above. | |
| - [Support Libraries][support-libs]: Support code for the client libraries. | |
| [support-libs]: https://github.com/googleapis/google-api-dotnet-client/tree/main/Src/Support | |
| [client-libs]: https://github.com/googleapis/google-api-dotnet-client/tree/main/Src/Generated | |
| [client-gen]: https://github.com/googleapis/google-api-dotnet-client/tree/main/ClientGenerator | |
| ## Building and .NET Core | |
| We use Visual Studio 2022 to edit the Support Libraries. | |
| We use [dotnet cli][dotnetcli] for testing and building both the generated Client Libraries and the Support Libraries. | |
| [dotnetcli]: https://github.com/dotnet/cli | |
| ## Tests | |
| Support Library tests use [XUnit][xunit]. | |
| Tests are run using the `dotnet test` command in the relevant source directory. | |
| [xunit]: https://xunit.github.io/ | |