Skip to content

Latest commit

 

History

History
59 lines (38 loc) · 2.19 KB

CONTRIBUTING.md

File metadata and controls

59 lines (38 loc) · 2.19 KB

Contributing

If you would like to contribute code to this project you can do so through GitHub by forking the repository and sending a pull request.

When submitting code, please make every effort to follow existing conventions and style in order to keep the code as readable as possible.

Before your code can be accepted into the project you must also sign the Individual Contributor License Agreement (CLA).

Building

LN-Invoice uses CashApp's Hermit. Hermit ensures that your team, your contributors, and your CI have the same consistent tooling. Here are the installation instructions.

Activate Hermit either by enabling the shell hooks (one-time only, recommended) or manually sourcing the env with . ./bin/activate-hermit.

Use gradle to run all tests

gradle build

Breaking changes

We use the Kotlin binary compatibility validator to check for API changes. If a change contains an API change and breaks the build, run the :apiDump task and commit the resulting changes to the .api files. .api files should not have removals and additions in the same change so that downstream apps do not immediately run into backwards-compatibility issues.

Upgrading dependencies

Dependency versions are listed in the Gradle catalog file: gradle/libs.versions.toml.

To check for dependencies to update:

 gradle dependencyUpdates -Drevision=release

Dependencies can be updated by editing the catalog file.

The version catalog update plugin can also format and update the catalog file. See the documentation for more detail.

Updating all available dependencies:

gradle versionCatalogUpdate

Gradle Versions Plugin: https://github.com/ben-manes/gradle-versions-plugin Version Catalog Update Plugin: https://github.com/littlerobots/version-catalog-update-plugin