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 2021/12/07 07:21:00 UTC

[jira] [Updated] (SLING-10972) Testing Sling Mock Oak: Shade Guava

     [ https://issues.apache.org/jira/browse/SLING-10972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Konrad Windszus updated SLING-10972:
------------------------------------
    Description: 
All Oak bundles are already shaded in [https://github.com/apache/sling-org-apache-sling-testing-sling-mock-oak/blob/4f738b2cb2e493c9dc45d0e0f0350705ac548062/pom.xml#L170-L196.]

This doesn't include the transitive dependency Guava which must be version 15 as Guava is not 100% backwards compatible (see https://issues.apache.org/jira/browse/OAK-7182). In some cases custom bundles shade/embed newer Guava classes without exporting those (e.g. https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/77104988d6971e7d43aa973f859bcdf5a9596f25/bundle/pom.xml#L288). As this currently prevents executing test with Sling Mock Oak, the Guava dependency should be shaded as well in sling-mock-oak.

That way one can user Guava 15 (the shaded version from Sling Mock Oak) for testing, while the same bundle can still embed/shade a newer version (by including it as dependency after sling-mock-oak) to use it at run time.

  was:
All Oak bundles are already shaded in [https://github.com/apache/sling-org-apache-sling-testing-sling-mock-oak/blob/4f738b2cb2e493c9dc45d0e0f0350705ac548062/pom.xml#L170-L196.]

This doesn't include the transitive dependency Guava which must be version 15 as Guava is not 100% backwards compatible (see https://issues.apache.org/jira/browse/OAK-7182). In some cases custom bundles shade/embed newer Guava classes without exporting those. As this currently prevents executing test with Sling Mock Oak, the Guava dependency should be shaded as well.

That way one can user Guava 15 (the shaded version from Sling Mock Oak) for testing, while the same bundle can still embed/shade a newer version (by including it as dependency after sling-mock-oak).


> Testing Sling Mock Oak: Shade Guava
> -----------------------------------
>
>                 Key: SLING-10972
>                 URL: https://issues.apache.org/jira/browse/SLING-10972
>             Project: Sling
>          Issue Type: Improvement
>          Components: Testing
>    Affects Versions: Testing Sling Mock Oak 3.1.0-1.40.0
>            Reporter: Konrad Windszus
>            Priority: Major
>
> All Oak bundles are already shaded in [https://github.com/apache/sling-org-apache-sling-testing-sling-mock-oak/blob/4f738b2cb2e493c9dc45d0e0f0350705ac548062/pom.xml#L170-L196.]
> This doesn't include the transitive dependency Guava which must be version 15 as Guava is not 100% backwards compatible (see https://issues.apache.org/jira/browse/OAK-7182). In some cases custom bundles shade/embed newer Guava classes without exporting those (e.g. https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/77104988d6971e7d43aa973f859bcdf5a9596f25/bundle/pom.xml#L288). As this currently prevents executing test with Sling Mock Oak, the Guava dependency should be shaded as well in sling-mock-oak.
> That way one can user Guava 15 (the shaded version from Sling Mock Oak) for testing, while the same bundle can still embed/shade a newer version (by including it as dependency after sling-mock-oak) to use it at run time.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)