Skip to content

Shade all implementation dependencies #609

@mkw

Description

@mkw

Is your feature request related to a problem? Please describe.

Allure unexpected upgraded Jackson from the 2.11.x family to the 2.12.x family. A bug-fix related to incorrect serialization of Java 8 times caused failures in tests.

Describe the solution you'd like

Ideally, all dependencies that are not required to be exposed to Allure user should be shaded, repackaged to a non-standard location and placed in the Allure jars. This would remove them from the Allure dependencies and prevent such problems in the future.

Describe alternatives you've considered

Simply removing the dependencies entirely would be even better, as was recently done for jOOR and Tika, as was done in #595, but this is likely impractical for Jackson and others.

Additional context

We are attempting to inject Allure into our Java build process for 1,000s of different projects. While we attempt to have some consistency in versioning, there are so many edge cases that there are exceptions to almost everything. Having very common dependencies like Jackson be pinned by Allure make it extremely difficult to use broadly. We have temporarily modified our build rules to ignore the version of Jackson requested by Allure, but this is likely not a sustainable solution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions