You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Konrad Windszus (Jira)" <ji...@apache.org> on 2023/03/01 16:33:00 UTC

[jira] [Comment Edited] (SLING-11728) Remove bi-directional dependencies between Engine and Servlets Resolver

    [ https://issues.apache.org/jira/browse/SLING-11728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17695193#comment-17695193 ] 

Konrad Windszus edited comment on SLING-11728 at 3/1/23 4:32 PM:
-----------------------------------------------------------------

For me the [JLS 13.5.2|https://docs.oracle.com/javase/specs/jls/se11/html/jls-13.html#jls-13.5] is clear in that regard:

{quote}Changes to the interface hierarchy cause errors in the same way that changes to the class hierarchy do, as described in §13.4.4. In particular, changes that result in any previous superinterface of a class no longer being a superinterface can break compatibility with pre-existing binaries, resulting in a VerifyError.{quote}

The "can break" points at the fact that this does not necessarily have to be the case. But I wouldn't rely on it, if it works for a certain edge case. So IMHO we should rather follow baselining recommendation....


was (Author: kwin):
For me the [JLS 13.5.2|https://docs.oracle.com/javase/specs/jls/se11/html/jls-13.html#jls-13.5] is clear in that regard:

"Changes to the interface hierarchy cause errors in the same way that changes to the class hierarchy do, as described in §13.4.4. In particular, changes that result in any previous superinterface of a class no longer being a superinterface can break compatibility with pre-existing binaries, resulting in a VerifyError."

The "can break" points at the fact that this does not necessarily have to be the case. But I wouldn't rely on it, if it works for a certain edge case. So IMHO we should rather follow baselining recommendation....

> Remove bi-directional dependencies between Engine and Servlets Resolver
> -----------------------------------------------------------------------
>
>                 Key: SLING-11728
>                 URL: https://issues.apache.org/jira/browse/SLING-11728
>             Project: Sling
>          Issue Type: Improvement
>          Components: API, Engine, Servlets
>    Affects Versions: Engine 2.12.0
>            Reporter: Oliver Lietz
>            Assignee: Oliver Lietz
>            Priority: Major
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> *Situation*
>  * bundle {{org.apache.sling.engine}} requires a {{ServletResolver}} which is provided by bundle {{org.apache.sling.servlets.resolver}}
>  * bundle {{org.apache.sling.servlets.resolver}} depends on {{org.apache.sling.engine.servlets}} API
> The bi-directional dependencies between Engine and Servlets Resolver prevent the creation of meaningful and light deployment units (testing, features).
> *Options*
>  # Merge {{org.apache.sling.engine}} and {{org.apache.sling.servlets.resolver}} into a single entity (bundle)
>  # Move {{org.apache.sling.engine.servlets.ErrorHandler}} into Sling API (package {{org.apache.sling.api.servlets}}) and adjust usage in Servlets Resolver
> # Keep as is – leading to bigger, less manageable deployment units



--
This message was sent by Atlassian Jira
(v8.20.10#820010)