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)