You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Matt Pavlovich (Jira)" <ji...@apache.org> on 2020/12/02 16:17:00 UTC
[jira] [Comment Edited] (WICKET-6855) Request: Provide separate
wicket-api.jar for interfaces
[ https://issues.apache.org/jira/browse/WICKET-6855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17242474#comment-17242474 ]
Matt Pavlovich edited comment on WICKET-6855 at 12/2/20, 4:16 PM:
------------------------------------------------------------------
1. Our product is built on top of Wicket
2. The problems arise with transitive dependencies. When we want to build a Page that works with another Java framework/API/service the depends on a different version of a transitive Wicket dependency we have an unsolvable jar wiring problem.
3. The wicket-api.jar (containing only Java models and interfaces with zero transitive dependencies) would allow us to build pages and components that work together across classloaders and isolate dependency conflicts.
For example:
wicket-request depends on wicket-util
wicket-util has these dependencies:
commons-fileupload/commons-fileupload
commons-io/commons-io
org.apache.commons/commons-collections4
wicket-core depends on wicket-request, wicket-util
com.github.openjson/openjson
org.danekja/jdk-serializable-functional
was (Author: mattrpav):
1. Our product is built on top of Wicket
2. The problems arise with transitive dependencies. When we want to build a Page that works with another Java framework/API/service the depends on a different version of a transitive Wicket dependency we have an unsolvable jar wiring problem.
3. The wicket-api.jar would allow us to build pages and components that work together across classloaders and isolate dependency conflicts.
For example:
wicket-request depends on wicket-util
wicket-util has these dependencies:
commons-fileupload/commons-fileupload
commons-io/commons-io
org.apache.commons/commons-collections4
wicket-core depends on wicket-request, wicket-util
com.github.openjson/openjson
org.danekja/jdk-serializable-functional
> Request: Provide separate wicket-api.jar for interfaces
> -------------------------------------------------------
>
> Key: WICKET-6855
> URL: https://issues.apache.org/jira/browse/WICKET-6855
> Project: Wicket
> Issue Type: Improvement
> Reporter: Matt Pavlovich
> Priority: Minor
>
> Providing a separate wicket-api.jar would provide benefit for web application developers and web frameworks that are built on top of wicket by providing a clean separation of concerns.
> # All public interfaces into a org.apache.wicket.api.* package (IPage, IPanel, etc)
> # All internal interfaces into a org.apache.wicket.spi.* package (page stores, serializers, etc)
> This allows for a single-jar dependency for web framework and extension layers.
> Similar patterns followed in other open source projects:
> apache log4j2-api
> apache camel-api
> etc..
--
This message was sent by Atlassian Jira
(v8.3.4#803005)