CCNet.Build.GenerateNuspec.Program.ParseDependencies C# (CSharp) Method

ParseDependencies() private static method

private static ParseDependencies ( string dependencies ) : Version>.Dictionary
dependencies string
return Version>.Dictionary
		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;
		}
	}