89 lines
2.3 KiB
Markdown
89 lines
2.3 KiB
Markdown
|
|
# Contributing to AuthLimbo v2
|
||
|
|
|
||
|
|
Thanks for considering a contribution. v2 is currently in design phase
|
||
|
|
(0.1.0-SNAPSHOT) — most of the value right now is in architecture
|
||
|
|
review, not code.
|
||
|
|
|
||
|
|
## Toolchain
|
||
|
|
|
||
|
|
- **JDK:** Eclipse Temurin (or any) 21+
|
||
|
|
- **Maven:** 3.9+
|
||
|
|
- **Paper:** 1.21.x (1.21.4 API target)
|
||
|
|
- **OS:** Linux preferred; Windows/macOS fine via standard JDK
|
||
|
|
|
||
|
|
## Build
|
||
|
|
|
||
|
|
```sh
|
||
|
|
mvn -B clean package
|
||
|
|
```
|
||
|
|
|
||
|
|
Artifact lands at `target/auth-limbo-v2-0.1.0-SNAPSHOT.jar`.
|
||
|
|
|
||
|
|
## Test server setup
|
||
|
|
|
||
|
|
A throwaway local Paper server is the easiest way to smoke-test
|
||
|
|
changes:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
mkdir -p test-server && cd test-server
|
||
|
|
# fetch latest Paper 1.21.x build from https://papermc.io
|
||
|
|
java -Xms1G -Xmx2G -jar paper.jar nogui
|
||
|
|
# accept eula.txt
|
||
|
|
# stop, copy target/auth-limbo-v2-*.jar into plugins/, restart
|
||
|
|
```
|
||
|
|
|
||
|
|
`test-server/` is in `.gitignore` — never commit world data or a Paper jar.
|
||
|
|
|
||
|
|
For AuthMe-integration testing, drop the AuthMe-ReReloaded fork jar in
|
||
|
|
the same `plugins/` folder. The v1 repo carries a vendored copy under
|
||
|
|
`lib/` for reference.
|
||
|
|
|
||
|
|
## Branch / PR policy
|
||
|
|
|
||
|
|
- `main` is protected. All work goes via feature branch + PR.
|
||
|
|
- Branch names: `feat/<thing>`, `fix/<thing>`, `docs/<thing>`.
|
||
|
|
- One logical change per PR. Squash on merge if the history is messy.
|
||
|
|
- Every PR must update `CHANGELOG.md` under `[Unreleased]`.
|
||
|
|
|
||
|
|
## Commit identity
|
||
|
|
|
||
|
|
This repo uses:
|
||
|
|
|
||
|
|
```
|
||
|
|
Author: s8n <admin@s8n.ru>
|
||
|
|
```
|
||
|
|
|
||
|
|
**Strip `Co-Authored-By:` trailers before committing.** This is repo
|
||
|
|
convention — see ai-lab memory `user_git_identity.md` for the full
|
||
|
|
rationale (post-2026-05-07 Forgejo rename + identity tightening).
|
||
|
|
|
||
|
|
```sh
|
||
|
|
git -c user.name="s8n" \
|
||
|
|
-c user.email="admin@s8n.ru" \
|
||
|
|
-c commit.gpgsign=false \
|
||
|
|
commit -m "scope: subject"
|
||
|
|
```
|
||
|
|
|
||
|
|
## Code style
|
||
|
|
|
||
|
|
- 4-space indent, no tabs.
|
||
|
|
- Java 21 idioms (records, pattern matching, switch expressions where they help).
|
||
|
|
- No unused imports, no wildcard imports.
|
||
|
|
- `@Nullable` / `@NotNull` annotations on public method boundaries.
|
||
|
|
- Logging via `getLogger()`, not `System.out`.
|
||
|
|
|
||
|
|
## Reporting issues
|
||
|
|
|
||
|
|
File issues at <https://git.s8n.ru/s8n/auth-limbo-v2/issues>. Include:
|
||
|
|
|
||
|
|
- Paper version (`/version`)
|
||
|
|
- AuthMe version
|
||
|
|
- Plugin version (`/plugins`)
|
||
|
|
- Log excerpt — at least 50 lines around the failure
|
||
|
|
- Repro steps
|
||
|
|
|
||
|
|
## License
|
||
|
|
|
||
|
|
By contributing, you agree your contribution is licensed under
|
||
|
|
[AGPL-3.0-or-later](LICENSE).
|