Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement new plugin system using PF4J #1111

Open
wants to merge 19 commits into
base: master
Choose a base branch
from

Conversation

DRSchlaubi
Copy link
Contributor

@DRSchlaubi DRSchlaubi commented Nov 10, 2024

See #1110

!!! BREAKING CHANGES

Note

Old plugins will continue to work, however it is advised to update to the new system as legacy support should be removed eventually

Spring components with dependencies have to be annotated with @extension

Due to the nature of Bean installation in the new plugin system you might need to tell Lavalink to load certain components first

Example

@Extension(ordinal = 10) // ordinal needs to be higher than the ordinal of VkMusicSourceManager, which is inferred to be 0
@Service
@RestController
public class LavaSrcPlugin {
	private VkMusicSourceManager vkMusic;
}

@DRSchlaubi
Copy link
Contributor Author

Lets hope this gets merged soon: pf4j/pf4j#595

@DRSchlaubi
Copy link
Contributor Author

A new branch for the gradle plugin has been created.

@DRSchlaubi DRSchlaubi changed the title Implement new plugin systm using PF4J Implement new plugin system using PF4J Nov 12, 2024
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