108 lines
3.2 KiB
Markdown
108 lines
3.2 KiB
Markdown
# Release Checklist for Modrinth
|
|
|
|
Use this checklist before uploading a new release to Modrinth.
|
|
|
|
## Pre-Release Verification
|
|
|
|
### Build & Code Quality
|
|
- [ ] Code compiles without errors (`mvn clean package`)
|
|
- [ ] No critical warnings in compiler output
|
|
- [ ] All tests pass (if applicable)
|
|
- [ ] Plugin JAR is created in `target/communitymarket-x.x.x.jar`
|
|
|
|
### Functional Testing
|
|
- [ ] Plugin loads without errors on a fresh Paper 1.21+ server
|
|
- [ ] Economy detection works:
|
|
- [ ] Scenario A: Vault + EssentialsX → Uses Vault
|
|
- [ ] Scenario B: Vault only (no economy) → Clear error message, plugin disables
|
|
- [ ] Scenario C: EssentialsX only (no Vault) → Uses EssentialsX directly
|
|
- [ ] Scenario D: Neither installed → Clear error message, plugin disables
|
|
- [ ] `/market` command opens the main menu
|
|
- [ ] `/cmarket` alias works
|
|
|
|
### Feature Testing
|
|
- [ ] **Listings**: Create, browse, purchase, cancel, expire
|
|
- [ ] **Auctions**: Create, bid, buyout, anti-snipe extension, expire
|
|
- [ ] **Claim Storage**: Items delivered correctly, claim GUI works
|
|
- [ ] **Earnings**: Earnings accumulate, withdraw works
|
|
- [ ] **Admin**: View all, remove listings, cancel auctions, reload config
|
|
|
|
### Configuration
|
|
- [ ] Default config.yml has safe values
|
|
- [ ] Language files (en_US.yml, pt_PT.yml) are complete
|
|
- [ ] Config reload (`/market admin` → reload) works
|
|
|
|
### Documentation
|
|
- [ ] README.md is up to date
|
|
- [ ] CHANGELOG.md has current version entry
|
|
- [ ] LICENSE file is present
|
|
|
|
---
|
|
|
|
## Modrinth Upload Checklist
|
|
|
|
### Project Information
|
|
- [ ] Project name: `CommunityMarket`
|
|
- [ ] Summary: "A GUI-only marketplace plugin for fixed-price listings and auctions"
|
|
- [ ] Description: Use content from README.md
|
|
- [ ] Categories: Economy, Miscellaneous
|
|
- [ ] Client-side: No (Server-side only)
|
|
- [ ] Server-side: Required
|
|
- [ ] License: MIT
|
|
|
|
### Version Details
|
|
- [ ] Version number matches pom.xml and CHANGELOG.md
|
|
- [ ] Version type: Release (or Alpha/Beta if applicable)
|
|
- [ ] Game versions: 1.21, 1.21.1 (add newer as supported)
|
|
- [ ] Loaders: Paper, Purpur
|
|
- [ ] Changelog: Copy from CHANGELOG.md
|
|
|
|
### Files
|
|
- [ ] Upload primary JAR: `communitymarket-x.x.x.jar`
|
|
- [ ] Do NOT upload `original-communitymarket-x.x.x.jar` (doesn't include shaded dependencies)
|
|
|
|
### Dependencies (Modrinth)
|
|
- [ ] Mark Vault as optional dependency (if available on Modrinth)
|
|
- [ ] Mark EssentialsX as optional dependency (if available on Modrinth)
|
|
|
|
### Gallery (Optional)
|
|
- [ ] Screenshot of main menu
|
|
- [ ] Screenshot of browse listings
|
|
- [ ] Screenshot of create listing flow
|
|
|
|
---
|
|
|
|
## Post-Release
|
|
|
|
- [ ] Verify download works correctly
|
|
- [ ] Test downloaded JAR on a clean server
|
|
- [ ] Announce release (if applicable)
|
|
- [ ] Tag release in Git: `git tag -a v1.0.0 -m "Release 1.0.0"`
|
|
- [ ] Push tag: `git push origin v1.0.0`
|
|
|
|
---
|
|
|
|
## Version Naming Convention
|
|
|
|
- **Major.Minor.Patch** (e.g., 1.0.0)
|
|
- Major: Breaking changes or major feature additions
|
|
- Minor: New features, backwards compatible
|
|
- Patch: Bug fixes, small improvements
|
|
|
|
---
|
|
|
|
## Quick Commands
|
|
|
|
```bash
|
|
# Clean build
|
|
mvn clean package
|
|
|
|
# Run local test server (if configured)
|
|
# Place JAR in test-server/plugins/
|
|
|
|
# Create Git tag
|
|
git tag -a v1.0.0 -m "Release 1.0.0"
|
|
git push origin v1.0.0
|
|
```
|
|
|