Skip to content

Refactor plugin-spi - #4299

Merged
Yeregorix merged 15 commits into
api-18from
api18/refactor-plugin-spi
Aug 9, 2026
Merged

Refactor plugin-spi#4299
Yeregorix merged 15 commits into
api-18from
api18/refactor-plugin-spi

Conversation

@Yeregorix

@Yeregorix Yeregorix commented Jul 31, 2026

Copy link
Copy Markdown
Member

Sponge | SpongeAPI

To summarize:

  • plugin-meta 0.9.0
  • plugin-spi 0.5.0
  • Proper factorized implementation for all platforms. Previously plugin-spi was only truly implemented on SV. SN and SF were just emulating the same behavior as the default plugin-spi locators / loaders but were not really implementing it.
  • Introduced recursive locators which now allow plugins to provide their own locators.
  • Added sided entrypoints.
  • Added conflict declarations in plugin manifest.
  • Added plugins in our unit tests.
  • SN and SF are now using sponge manifests instead of mod manifests.
  • Cleaned a bunch of technical debt.

API:
- Support recursive locators so that Sponge locators can find plugin services. Before that the SPI was unusable by plugins.
- Split language service into reader and loader services.
- Allow multiple metadata files (e.g. extra file for tests).

Impl:
- Factorize code into SpongeCommon. This harmonizes the behavior of our SPI across different platforms.
- Connect plugin-spi services to platform mod discovery services. Files discovered by Neo locators can be read by Sponge readers and vice versa.
- @plugin annotation is no longer required.
- Less dark magic is involved.
@Yeregorix
Yeregorix force-pushed the api18/refactor-plugin-spi branch from 69987b3 to 56bdcb8 Compare August 9, 2026 20:15
@Yeregorix
Yeregorix merged commit 3775c17 into api-18 Aug 9, 2026
9 checks passed
@Yeregorix
Yeregorix deleted the api18/refactor-plugin-spi branch August 9, 2026 20:15
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.

1 participant