Try and clean up cycle detection output a bit
This commit is contained in:
parent
aa18bed75e
commit
ece6290c19
|
@ -5,7 +5,7 @@
|
||||||
* are made available under the terms of the GNU Lesser Public License v2.1
|
* are made available under the terms of the GNU Lesser Public License v2.1
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* cpw - implementation
|
* cpw - implementation
|
||||||
*/
|
*/
|
||||||
|
@ -157,4 +157,10 @@ public class DummyModContainer implements ModContainer
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return md != null ? getModId() :"Unknown Dummy Container @" + System.identityHashCode(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,4 +148,10 @@ public class InjectedModContainer implements ModContainer
|
||||||
{
|
{
|
||||||
return wrappedContainer.getSigningCertificate();
|
return wrappedContainer.getSigningCertificate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return "Wrapped{"+wrappedContainer.toString()+"}";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
* are made available under the terms of the GNU Lesser Public License v2.1
|
* are made available under the terms of the GNU Lesser Public License v2.1
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* cpw - implementation
|
* cpw - implementation
|
||||||
*/
|
*/
|
||||||
|
@ -25,6 +25,10 @@ import java.util.Set;
|
||||||
import java.util.SortedSet;
|
import java.util.SortedSet;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
|
|
||||||
|
import cpw.mods.fml.common.FMLLog;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Topological sort for mod loading
|
* Topological sort for mod loading
|
||||||
*
|
*
|
||||||
|
@ -174,7 +178,12 @@ public class TopologicalSort
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.printf("%s: %s\n%s\n%s\n", node, sortedResult, visitedNodes, expandedNodes);
|
FMLLog.severe("Mod Sorting failed.");
|
||||||
|
FMLLog.severe("Visting node %s", node);
|
||||||
|
FMLLog.severe("Current sorted list : %s", sortedResult);
|
||||||
|
FMLLog.severe("Visited set for this node : %s", visitedNodes);
|
||||||
|
FMLLog.severe("Explored node set : %s", expandedNodes);
|
||||||
|
FMLLog.severe("Likely cycle is in : %s", Sets.difference(expandedNodes, visitedNodes));
|
||||||
throw new ModSortingException("There was a cycle detected in the input graph, sorting is not possible", node, visitedNodes);
|
throw new ModSortingException("There was a cycle detected in the input graph, sorting is not possible", node, visitedNodes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue