Community
Participate
Working Groups
Cycles can happen between bundles thanks to fragments (A depends on B, but fragment C hosted on B may refer to A). #topoSort() should be modified to support possible cycles. And it should be extracted to a utility class.
Fixed the topological sort to handle cycles, and eextracted the implementation into a standalone class, with test cases. Committed as https://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=7cf94f1de53cc9583684ffd4a91fb26c0be3d19e
We don't have any bundles with cycles, but the tests run fine on I20140428-2000 and verified that the following situation is handled: bundleA depends on bundle B bundleB hosts fragmentC fragmentC depends on bundleA so that bundleB has a dependency on bundleA.