Skip to content

Conversation

@gradinac
Copy link
Contributor

@gradinac gradinac commented Jun 18, 2021

This PR introduces a plugin configuration mechanism to separate plugin configuration from the JUnit feature. The core of this mechanism is the PluginConfigProvider service. The service currently implements 2 callbacks:

  • onLoad() - triggered when the JUnitPlatformFeature is loaded
  • onTestClassRegistered() - triggered when a test class is registered for inclusion in the image.

The provider receives a NativeImageConfiguration object that allows registering classes for reflection and build time initialization, removing the dependency to Native Image classes.

Currently, three such providers are implemented:

  • JUnit Platform
  • JUnit Jupiter
  • JUnit Vintage

All plugin-specific configuration has been moved from the feature to their respective provider.

Closes #54
Closes #51
Closes #50

@gradinac gradinac linked an issue Jun 18, 2021 that may be closed by this pull request
2 tasks
@lazar-mitrovic lazar-mitrovic marked this pull request as ready for review June 18, 2021 14:26
@lazar-mitrovic lazar-mitrovic marked this pull request as draft June 18, 2021 14:35
@gradinac gradinac force-pushed the gradinac/plugin-config-mechanism branch 3 times, most recently from a9b4f31 to d5d9fc8 Compare June 22, 2021 10:50
@lazar-mitrovic lazar-mitrovic marked this pull request as ready for review June 22, 2021 11:43
@lazar-mitrovic lazar-mitrovic added this to the 0.9.1 milestone Jun 22, 2021
@gradinac gradinac force-pushed the gradinac/plugin-config-mechanism branch from d5d9fc8 to 396f409 Compare June 23, 2021 13:24
@gradinac gradinac force-pushed the gradinac/plugin-config-mechanism branch from 396f409 to f29a82d Compare June 23, 2021 13:29
@graalvm graalvm deleted a comment from gradinac Jun 23, 2021
Copy link
Collaborator

@sbrannen sbrannen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is certainly improving a lot!

I've added several questions and suggestions.

@gradinac gradinac force-pushed the gradinac/plugin-config-mechanism branch 2 times, most recently from d4fa225 to 675f9e8 Compare June 28, 2021 19:31
@gradinac gradinac force-pushed the gradinac/plugin-config-mechanism branch from 675f9e8 to 9971efb Compare June 29, 2021 09:31
@gradinac gradinac merged commit ec8baf6 into master Jun 29, 2021
@gradinac gradinac deleted the gradinac/plugin-config-mechanism branch June 29, 2021 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

4 participants