Skip to content

Pluggable OpenIDConnect Driver

Rustam Lotsmanenko (EPAM) requested to merge plugin-driver into main

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)

Merge request reports