Uploaded image for project: 'Cayenne'
  1. Cayenne
  2. CAY-2304

Custom ClassLoader for Maven and Gradle plugins that use project dependencies

    Details

      Description

      Currently Maven plugin requires its own dependency for the JDBC driver,
      that is most likely will be among project dependencies.
      We can potentially remove this duplication by utilizing custom ClassLoader(namely URLClassLoader) in the plugin that will use project's dependencies as sources.

      Gradle plugin can have this feature too, but it is not completed yet (CAY-2301)

      Implementation note:

      • Plugins are already using cayenne DI so custom ClassLoader can be simply injected via ClassLoaderManager.
      • MavenProject class is available from the plugin and exposes Artifacts that are essentially dependencies available.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ntimofeev Nikita Timofeev
                Reporter:
                ntimofeev Nikita Timofeev
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: