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

Custom ClassLoader for Maven and Gradle plugins that use project dependencies

    XMLWordPrintableJSON

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

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

              Dates

                Created:
                Updated:
                Resolved: