diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6736efd943c..6e992c3e68b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,17 +9,17 @@ Please fill out either the individual or corporate Contributor License Agreement (CLA). * If you are an individual writing original source code and you're sure you - own the intellectual property, then you'll need to sign an [individual CLA] - (https://developers.google.com/open-source/cla/individual). + own the intellectual property, then you'll need to sign an [individual + CLA](https://developers.google.com/open-source/cla/individual). * If you work for a company that wants to allow you to contribute your work, - then you'll need to sign a [corporate CLA] - (https://developers.google.com/open-source/cla/corporate). + then you'll need to sign a [corporate + CLA](https://developers.google.com/open-source/cla/corporate). Follow either of the two links above to access the appropriate CLA and instructions for how to sign and return it. Once we receive it, we'll be able to accept your pull requests. -## Contributing A Patch +## Contributing a Patch 1. Submit an issue describing your proposed change to the repo in question. 1. The repo owner will respond to your issue promptly. @@ -27,9 +27,49 @@ accept your pull requests. Contributor License Agreement (see details above). 1. Fork the desired repo, develop and test your code changes. 1. Ensure that your code adheres to the existing style in the sample to which - you are contributing. Refer to the - [Google Cloud Platform Samples Style Guide] - (https://github.com/GoogleCloudPlatform/Template/wiki/style.html) for the - recommended coding standards for this organization. + you are contributing. 1. Ensure that your code has an appropriate set of unit tests which all pass. 1. Submit a pull request. + +## Style + +Samples in this repository follow the [Google Java Style Guide][java-style]. +This is enforced using the [Maven Checkstyle Plugin][checkstyle-plugin]. + +[java-style]: https://google.github.io/styleguide/javaguide.html +[checkstyle-plugin]: https://maven.apache.org/plugins/maven-checkstyle-plugin/ + +Use the [google-java-format][google-java-format] tool to automatically reformat +your source code to adhere to the style guide. It is available as a command-line +tool or IntelliJ plugin. + +[google-java-format]: https://github.com/google/google-java-format + +### Running the Linter + +To run the checkstyle plugin on an existing sample, run + +```shell +mvn clean verify -DskipTests +``` + +The `-DskipTests` is optional. It is useful if you want to verify that your code +builds and adheres to the style guide without waiting for tests to complete. + +### Adding the Checkstyle Plugin to New Samples + +The samples in this repository use a common parent POM to define plugins used +for linting and testing. Add the following to your sample POM to ensure that it +uses the common Checkstyle configuration. + +```xml + + com.google.cloud + doc-samples + 1.0.0 + + ../.. + +``` + +This is just used for testing. The sample should build without a parent defined.