Files
CommunityMarket/RELEASE_CHECKLIST.md
T
2026-01-15 11:21:20 +00:00

3.2 KiB

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)
  • 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

# 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