Pluggable OpenIDConnect Driver
Description:
Link to ADR: https://gitlab.opengroup.org/osdu/pmc/community-implementation/-/issues/22
More details about the solution: https://community.opengroup.org/osdu/documentation/-/wikis/Pluggable-approach-for-Mappers-and-Drivers
Current:
Blockers for plugin approach:
- Redundant dependencies are present in root pom.
- OpenIDConnect Driver compiled without its dependencies in JAR making it not possible to use it as a plugin.
Not blockers, but part of code cleanup:
- @ConditionalOnProperties is present, but it is redundant, since Drivers won't be bundled all together, and there is no need to configure them that way.
Expected:
- Added Maven shade plugin, which allows to build uber JAR with required dependencies, and shade them to avoid classpath conflicts.
- Removed Spring @ConditionalOnProperties annotation. We do not need it anymore, Driver implementations won't be loaded to the application all at once.
- Removed redundant dependencies. Driver shouldn't have redundant dependencies, it complicates uber JAR usage.
- Move dependencies to module pom files, to not force consumers to download redundant ones.
- Module and artifact ID renamed according to convention.
Edited by Rustam Lotsmanenko (EPAM)