Skip to content

Dev/2.1.0#14

Merged
ez-plugins merged 9 commits into
mainfrom
dev/2.1.0
Apr 19, 2026
Merged

Dev/2.1.0#14
ez-plugins merged 9 commits into
mainfrom
dev/2.1.0

Conversation

@ez-plugins
Copy link
Copy Markdown
Owner

@ez-plugins ez-plugins commented Apr 19, 2026

  • Removed Paper / MockBukkit from API to make it a Java-only package
  • Added codecov workflow for keeping track of test coverage

…lution

Maven resolves the full dependency graph upfront before any lifecycle phase,
so -Dmaven.test.skip=true cannot prevent test-scoped dependency resolution.
Building only the api module (-pl api) excludes the plugin module entirely,
which is correct since JitPack consumers only depend on ezseasons-api.
The API only uses org.bukkit.event.Event and HandlerList, which have been
stable since Bukkit 1.0. Pinning to 1.21.4-R0.1-SNAPSHOT decouples the
API artifact from the server version so it does not need to be updated
when the plugin targets a newer Minecraft/Paper release.
- api/pom.xml: remove paper-api provided dependency (API is now pure Java)
- SeasonsIntegration: add default onSeasonReset(previousResetMillis, resetMillis,
  nextResetMillis, reason) no-op callback; existing implementations unaffected
- Move SeasonResetEvent, SeasonsIntegrationRegisteredEvent,
  SeasonsIntegrationUnregisteredEvent from api module to plugin module
  (same FQN preserved; existing @eventhandler listeners recompile against plugin JAR)
- SeasonManager: call onSeasonReset on all registered integrations after Bukkit event
- EzSeasonsPlugin: expose getSeasonsApi() delegating to registry
- docs/api.md: document onSeasonReset, note events are in plugin JAR
- Bump version 2.0.3 -> 2.1.0
- README.md: version 2.0.3 → 2.1.0 throughout; update developer API section
  to describe the paper-free API artifact, onSeasonReset callback, and
  the distinction between API JAR and plugin JAR for events
- docs/index.md: version 2.0.3 → 2.1.0; improve Developer API feature row
- docs/getting-started.md: update download filename to 2.1.0
- docs/api.md: already updated in the refactor commit
SeasonResetCallbackUnitTest (11 tests):
- singleIntegrationReceivesOnSeasonResetAfterTrigger
- allRegisteredIntegrationsReceiveOnSeasonReset
- unregisteredIntegrationNoLongerReceivesCallback
- noRegisteredIntegrationDoesNotThrowAndEventStillFires
- nullReasonNormalisedToUnspecifiedForCallback
- blankReasonPassedThroughWithoutNormalisationForCallback
- onSeasonResetReceivesTimestampsThatMatchTheBukkitEvent
- bukkitEventFiresBeforeIntegrationCallback
- nullPluginReferenceInSeasonManagerSkipsCallbackGracefully
- nullApiFromPluginSkipsCallbacksWithoutNpe
- defaultOnSeasonResetIsNoOp

Total: 97 -> 108 tests passing.

Codecov:
- .codecov.yml: coverage thresholds, comment layout, test/ ignore
- tests.yml: add codecov/codecov-action@v5 step after JaCoCo report in
  unit-test-coverage job; uploads plugin/target/site/jacoco/jacoco.xml
@codecov-commenter
Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@ez-plugins ez-plugins merged commit 7aba0eb into main Apr 19, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants