Thank you for your interest in contributing! We welcome contributions from everyone.
- Fork the repository and clone your fork.
- Ensure you have JDK 17+ installed.
- Build and test locally:
./gradlew :plugin:build :plugin:functionalTest --stacktrace- Follow the Kotlin Coding Conventions.
- We use detekt for static analysis. Run it before submitting:
./gradlew :plugin:detekt- Fix any warnings or errors reported. Suppress sparingly and only with justification.
- Create a branch from
mainwith a descriptive prefix:bugfix/— bug fixesenhancement/— new features or improvementsdocs/— documentation-only changes
- Make your changes in logical, atomic commits.
- Test thoroughly — both unit tests and functional tests should pass.
- Submit a pull request with a clear description.
- Ensure your branch is up to date with
main. - Reference related issues (e.g.,
Fixes #123). - Enable "Allow edits by maintainers".
- Be responsive to review feedback.
The source carries a -SNAPSHOT version. Releases are triggered by pushing a v* tag (e.g., v0.1.0). The CI workflow builds, tests, and publishes to the Gradle Plugin Portal and Maven Central.
Before contributing, you must sign the Meshtastic Contributor License Agreement via CLA Assistant.
- Discord: discord.gg/meshtastic
- Discussions: GitHub Discussions
- Code of Conduct: meshtastic.org/docs/legal/conduct
- Search existing issues before opening a new one.
- Provide a clear title, steps to reproduce, expected vs. actual behavior.
- Include Gradle version, JDK version, and OS.
Thank you for helping improve gradle-flatpak-sources!