Skip to content

Latest commit

 

History

History
79 lines (50 loc) · 2.79 KB

CONTRIBUTING.md

File metadata and controls

79 lines (50 loc) · 2.79 KB

Introduction

Thank you for considering contributing to natls!

Development Guide

We're looking for all kinds of contributions in all the different subprojects, may it be additional statements that get parsed, new analyzers, language server endpoints, updates to the docs, filing issues or feature requests.

GitHub Workflow

  1. Fork this repository on GitHub.

  2. Clone your fork locally:

    $ git clone <url-to-your-fork>
  3. Add the official repository (upstream) as a remote repository:

    $ git remote add upstream https://github.com/MarkusAmshove/natls.git
  4. Build the project once to download all dependencies (or import it in your IDE):

    $ ./gradlew build

    This will download gradle and a JDK if they aren't already on your machine and also download all dependencies of natls. Furthermore it'll build the project and execute all tests.

  5. Create a branch for your bugfix or feature based off the main branch:

    $ git checkout -b <name-bugfix-or-feature> main

    You can also name the branch based on subprojects, e.g. natparse/parse-read-by etc.

  6. If the changes you make take a few days, be sure to occasionally pull the latest changes from upstream, to ensure that your local branch is up-to-date:

    $ git pull upstream main
  7. When your work is done, push your local branch to your fork:

    $ git push origin <name-of-bugfix-or-feature>
  8. Create a pull request on GitHub.

NOTE: When the build fails after your changes and you don't know why, don't hesitate to create a pull request anyway, we might be able to help you!

Building the project

All projects of natls are built with Gradle

The default gradlew build will do a complete build of all subprojects.

The default build task will also run all tests and do a check on the coding style.

If you want to get information about code coverage, you can run gradlew cover to run all tests and get an aggregated report. The report will be locateld in <repository-root>/build/reports/jacoco/cover/html/index.html

Coding Style

To adhere to the formatting of the project, you can find formatter profiles in the repository, namely EclipseFormatter.xml and IntelliFormatter.xml. Additionally, the formatting is checked by Spotless in the Gradle build.

Formatting can also be run with gradlew spotlessApply.

How-To implement X