Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dashboard and Linkage Checker to take option to resolve dependency graphs with Gradle's way #2007

Open
suztomo opened this issue Apr 2, 2021 · 0 comments
Labels
enhancement New feature or request p3

Comments

@suztomo
Copy link
Contributor

suztomo commented Apr 2, 2021

Dashboard (and Linkage Checker's ClassPathBuilder) to take an option to resolve dependency graphs with Gradle's way.

While reading errors in #1982 (comment), I noticed that the dependency conflicts (due to picking up old library versions) do not occur to Gradle users.

Where is this affected?

The LtsCompatibilityTestRunner resolves the dependencies of the BOM:

    ImmutableList<Artifact> bomManagedDependencies = bom.getManagedDependencies();
    ClassPathBuilder classPathBuilder = new ClassPathBuilder();
    ClassPathResult resolvedDependencies = classPathBuilder.resolve(bomManagedDependencies, false);

This resolves the dependencies in Maven's closest-win strategy. This strategy is prone to getting old dependencies which cause dependency conflicts. For Gradle users, the resolution is different; it uses highest-win strategy. Therefore, the current result shown in the pull request contain false positives and false negatives.

GradleDependencyMediation?

We already have MavenDependencyMediation. I think the implementation would be creating GradleDependencyMediation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request p3
Projects
None yet
Development

No branches or pull requests

2 participants