You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The reduceEdges option does not always work correctly for direct dependencies for a module. For example, GraphIntegrationTest#transitiveExludes() shows this behavior. This is the currently created graph:
Edges are currently omitted when traversing the graph by checking if there is already another path for a new edge. In this example, this will not work, because the graph is created in this order:
module-1 and its dependencies to commons-codec, commons-lang3 and junit
module-2 and its dependencies to module-1, guava and spring-core
module-3 and its dependencies to module-1, module-2 and querydsl-core
When processing module-3 and the dependency to module-1 is visited first, the edge can not be omitted because there is no other path from module-3 to module-1. When module-2 is visited afterwards, an edge from module-3 to module-2 is created. Since module-2 does already have a path to module-1, the graph does now contain two paths to module-1.
The edge from module-2 to module-1 has to be omitted, because the path via module-2 is "older" (meaning resolved earlier). This can either be achieved after each module is completely processed or after the creation of the full graph.
The text was updated successfully, but these errors were encountered:
The
reduceEdges
option does not always work correctly for direct dependencies for a module. For example,GraphIntegrationTest#transitiveExludes()
shows this behavior. This is the currently created graph:However, the graph should look like:
Edges are currently omitted when traversing the graph by checking if there is already another path for a new edge. In this example, this will not work, because the graph is created in this order:
When processing module-3 and the dependency to module-1 is visited first, the edge can not be omitted because there is no other path from module-3 to module-1. When module-2 is visited afterwards, an edge from module-3 to module-2 is created. Since module-2 does already have a path to module-1, the graph does now contain two paths to module-1.
The edge from module-2 to module-1 has to be omitted, because the path via module-2 is "older" (meaning resolved earlier). This can either be achieved after each module is completely processed or after the creation of the full graph.
The text was updated successfully, but these errors were encountered: