| Check whether a project has, or might have, cycles in its subproject graph.
If the candidate parameter is null, this simply checks whether the master
project's current directed graph of (transitive) subprojects contains any
cycles. If the candidate is also passed, this checks whether the master
project's subproject graph would contain cycles if the candidate were added
as a (direct) subproject of the master project.
All cycles are reported even if they do not contain the master project.
If the master project already contains the candidate as a (direct) subproject,
the effect is as if the candidate were null.
Projects with no
SubprojectProvider are considered to have no
subprojects, just as if the provider returned an empty set.
Acquires read access.
Project types which let the user somehow configure subprojects in the GUI
(perhaps indirectly, e.g. via a classpath) should use this call to check
for possible cycles before adding new subprojects.
Parameters: master - a project to root the subproject graph from Parameters: candidate - a potential direct subproject of the master project, or null true if the master project currently has a cycle somewhere in itssubproject graph, regardless of the candidate parameter, or if thecandidate is not null and the master project does not currently havea cycle but would have one if the candidate were added as a subproject See Also: Issue #43845 |