[
https://issues.apache.org/jira/browse/CAY-2304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16428055#comment-16428055
]
ASF GitHub Bot commented on CAY-2304:
-------------------------------------
GitHub user const1993 opened a pull request:
https://github.com/apache/cayenne/pull/281
CAY-2304
Add updating maven and gradle plugins class loaders with project
dependencies to remove dependency duplication in configuration files.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/const1993/cayenne feature/CAY-2304
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cayenne/pull/281.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #281
----
commit c161a439ddff9fc5c1897f79d20e8ca8affb5618
Author: kkomyak <const1993@...>
Date: 2018-04-04T09:06:12Z
CAY-2304
Add updating maven and gradle plugins class loaders with project
dependencies to remove dependency duplication in configuration files.
----
> Create custom ClassLoader for the Maven and Gradle plugins that will use
> project dependencies
> ---------------------------------------------------------------------------------------------
>
> Key: CAY-2304
> URL: https://issues.apache.org/jira/browse/CAY-2304
> Project: Cayenne
> Issue Type: Improvement
> Components: Non-GUI Tools
> Reporter: Nikita Timofeev
> Assignee: Nikita Timofeev
> Priority: Major
> Labels: gradle, maven, pull-request-available
>
> 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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)