private static Dictionary<string, Version> ParseDependencies(string dependencies)
{
var result = new Dictionary<string, Version>();
if (String.IsNullOrEmpty(dependencies))
return result;
// xxx quick dirty workaround
var packages = Args.ReleaseNotes.Split('|')
.Where(File.Exists)
.SelectMany(File.ReadLines)
.Where(line => line.StartsWith("- "))
.Select(line => line.Split(' '))
.ToDictionary(parts => parts[1], parts => new Version(parts[2]));
foreach (var item in dependencies.Split('|'))
{
if (!packages.ContainsKey(item))
throw new InvalidOperationException(
String.Format("Cannot find dependency '{0}' within used packages.", item));
result.Add(item, packages[item]);
}
return result;
}
}