pen-solid
Visual Studio Code + Bazel
GitHub Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Contributing

Understanding the Layout

  • api - This is where the protocol buffer files are located.
  • conf - These are configuration files used by Bazel.
  • docs - a Hugo website (WIP).
  • golang - The Go Project implementing the generated APIs.
  • java - The Java Project implementing the generated APIS.
  • third_party - A best practice directory for storing third_party assets.
  • tools - Helper scripts for VSCode to utilize Go with Bazel.

Important Files

  • vscode-bazel-tutorial.code-workspace - responsible for configuring vscode.
  • WORKSPACE - responsible for dependency management in Bazel.
  • api/BUILD - the build file for the API model and GRPC.
  • golang/BUILD - the Go build file with dependencies on the API.
  • java/BUILD - the Java build file with dependencies on the API.

SDLC

Steps

  1. Ensure you have a GitHub account.
  2. Request access if the repository is private.
  3. Fork the repository. This makes a copy to your local GitHub account.
  4. Clone the newly created fork to your developer machine.
    • git clone <repository name>
  5. Make any changes or additions to the code.
  6. Write automated test cases.
  7. Verify all tests are passing and all code is commented and meets the style guide requirements. _ bazel test //... runs all tests _ bazel coverage //java/... runs test coverage on a specific target.
  8. Commit your code, and push back to your fork.
    • git commit add .
    • git commit -a
    • Add comments, if you are referencing a feature or bug, please indicate the number first.
    • git push
  9. Verify the build runs in GitHub actions on your own branch. This is important, especially if you are updating BUILD or WORKSPACE files.
  10. From the GitHub interface, create a pull request and ensure you comment the reasons and thought processes behind the change or additions. * Understanding Pull Requests
  11. Once created, you will collaborate with the mantainers for QA purposes, unless they simply accept the changed and merge it.
  12. If not, you may be asked to make some changes and create a new PR.

Licensing

All content on this site is licened under the Apache 2.0 license. Please see the LICENSE file in the source code. If you contribute to the project, please add your name to the contributors file and link to your GitHub profile.