Thank you for your interest in contributing! This guide will help you get started with the development workflow.
- Getting Started
- Making Changes
- Submitting a Pull Request
- Reporting Issues
- Project Architecture
- Legal
| Requirement | Version | Notes |
|---|---|---|
| Java | 21+ | Required (LTS recommended) |
| Gradle | 9.4+ | Or use the included ./gradlew wrapper |
| Git | 2.x+ | For cloning and version control |
-
Fork the repository on GitHub.
-
Clone your fork locally:
git clone https://github.com/<your-username>/<repo>.git cd <repo>
-
Build the project to verify everything works:
./gradlew build
Tip
You do not need to install Gradle separately. The gradlew wrapper script
in the repository root will download the correct version automatically.
All development is based on the master branch.
-
Create a feature branch from
master:git checkout -b feature/your-feature master
-
Make your changes in small, focused commits.
-
Push your branch and open a pull request against
master.
- Follow standard Java conventions and the existing patterns in the codebase.
- Use Lombok annotations where the project
already does (e.g.,
@Getter,@RequiredArgsConstructor). - Use JetBrains annotations
(
@NotNull,@Nullable) for nullability contracts. - Keep methods short and focused. Prefer clear names over comments.
Write commit messages in imperative mood (e.g., "Add support for X", not "Added support for X" or "Adds support for X").
Add PNG alpha channel support
Implement alpha channel handling in PngImageReader to support
RGBA pixel buffers when the source image uses transparency.
- First line: concise summary, 72 characters or fewer.
- Blank line, then an optional body with additional context.
# Run all tests
./gradlew test
# Run a specific test class
./gradlew test --tests "dev.simplified.SomeTest"
# Full build (compile + test + checks)
./gradlew buildNote
All pull requests must pass the existing test suite. If your change adds new behavior, include corresponding tests.
-
Ensure your branch is up to date with
master:git fetch origin git rebase origin/master
-
Run the full build locally:
./gradlew build
-
Push your branch and open a pull request on GitHub.
-
In the PR description, explain what your change does and why.
-
A maintainer will review your PR and may request changes before merging.
- Use GitHub Issues to report bugs or request features.
- Include steps to reproduce, expected behavior, and actual behavior.
- Mention your Java version and operating system.
This is a single-module Gradle project built with java-library. Sources live
under src/main/java and tests under src/test/java. The project publishes to
JitPack directly from the master branch.
Key conventions:
- Package root -
dev.simplified.*under the group IDdev.simplified. - Dependencies - Other Simplified-Dev modules are pulled from JitPack as
com.github.simplified-dev:<artifact>:master-SNAPSHOT. - Java 21 - The toolchain is locked to Java 21 via
build.gradle.kts.
By submitting a contribution, you agree that your work will be licensed under the Apache License 2.0, the same license that covers this project.