Skip to content

Latest commit

 

History

History
90 lines (64 loc) · 4.26 KB

CONTRIBUTING.adoc

File metadata and controls

90 lines (64 loc) · 4.26 KB

Contributing to Spring Cloud GCP

We welcome contributions to Spring Cloud GCP.

Building the Project

The first step to contributing is to fork the repository and clone it onto your machine.

  1. Ensure you have Java version 8 or later installed on your machine.

  2. Try running some tests.

    Run ./mvnw clean test in the root directory of the project to run the tests. The ./mvnw is a self-contained Maven wrapper that allows you to build the project without having Maven installed on your local machine.

    You can run the tests of a specific module by using the -f flag like this: ./mvnw clean test -f spring-cloud-gcp-pubsub

  3. (Optional) Install the Google Cloud SDK. The Google Cloud SDK a set of tools that you can use to manage resources and applications hosted on Google Cloud Platform.

    For our purposes, it contains the gcloud command line tool which allows you to specify a GCP account and project with which you can run our integration tests and sample applications on your machine.

    1. Run gcloud auth application-default login to log into your Google Cloud Platform account.

    2. Run gcloud config set project [YOUR_PROJECT_ID] to set the GCP project ID you wish to use.

    3. Verify your settings using gcloud config list. This will display the account settings that will be used to authenticate with Google Cloud on your machine.

      Note
      These methods are recommended for local development only and not for production use. It is recommended to use Service Accounts for authentication in production applications.

Code formatting guidelines

The directory src/eclipse has two files for use with code formatting, eclipse-code-formatter.xml for the majority of the code formatting rules and eclipse.importorder to order the import statements.

Eclipse

Import these files by navigating Windows → Preferences and then the menu items Preferences > Java > Code Style > Formatter and Preferences > Java > Code Style > Organize Imports respectively.

IntelliJ IDEA

Install the plugin Eclipse Code Formatter. You can find it by searching in "Browse Repositories", under Settings > Plugins within IDEA (Once installed, you will need to reboot IDEA for it to take effect).

Then navigate to Settings > Other Settings (this might be under Preferences on Mac) and select the Eclipse Code Formatter. Select the eclipse-code-formatter.xml file for the field Eclipse Java Formatter config file and the file eclipse.importorder for the field Import order in the src/eclipse directory. Enable the Eclipse code formatter by clicking Use the Eclipse code formatter radio button at the top of the page, then click the OK button.

  • NOTE: If you configure the Eclipse Code Formatter from File > Other Settings > Default Settings, it will set this policy across all of your IDEA projects.

  • IDEA’s "Optimize imports on the fly" option turned on interferes with the Eclipse code formatter import optimization. Consider disabling the option if optimization does not yield the expected results.

Contributing a patch

  1. Submit an issue describing your proposed change.

  2. A repository owner will respond to your issue as soon as possible.

  3. If your proposed change is accepted, and you haven’t already done so, sign a Contributor License Agreement.

  4. Fork the repository, develop and test your code changes.

  5. Ensure that your code adheres to the Spring Style Guide.

  6. Ensure your code has an appropriate set of unit tests which all pass.

  7. Make sure all new or modified java files include the current year as the copyright range end. The range start should always be 2017:

    /*
     * Copyright 2017-YYYY the original author or authors.
     * ...
     */

    To automatically fix the headers in uncommitted files, run the following script with no arguments:

    $ bash util/update-license-year.sh

    To update already-committed files, pass a commit hash or a branch name to use as a baseline:

    $ bash util/update-license-year.sh master
  8. Create a pull request with the proposed code change. It will be approved and merged by a committer.