private IEnumerable<Uri> LoadPlugins(YamlNode rootNode)
{
var result = new List<Uri>();
var rootMapping = (YamlMappingNode) rootNode;
YamlNode node;
if (rootMapping.Children.TryGetValue(new YamlScalarNode("plugins"), out node))
{
var pluginsNode = node as YamlSequenceNode;
if (pluginsNode != null)
{
foreach (var item in parser.EnumerateNodesOf(pluginsNode))
{
var scalar = item as YamlScalarNode;
if (scalar != null)
{
try
{
result.Add(new Uri(scalar.Value));
}
catch (UriFormatException)
{
output.Warning(String.Format("Invalid plugin reference: {0}", scalar.Value));
}
}
else
{
output.Warning("Invalid child item ");
}
}
}
}
return result;
}