private bool TryReadEntry(Func <string> readNonEmptyLine, AssemblyListOptions options, string[] headers, out AssemblyListEntry entry) { entry = null; var line = readNonEmptyLine(); if (line == null) { return(false); } var parsedLine = ParseLine(line, options); // TODO: Should we use headers? Investigate available lists for header-consistency if (parsedLine.Length != options.NumberOfFields) { return(false); } entry = new AssemblyListEntry { Assembly = parsedLine[0], FileVersion = parsedLine[1], AssemblyVersion = parsedLine[2] }; return(true); }
private ITaskItem CreateAssemblyListEntryItem(AssemblyListEntry entry, ITaskItem sourceItem) { return(new TaskItem(entry.Assembly, new Dictionary <string, string> { ["FileVersion"] = entry.FileVersion, ["AssemblyVersion"] = entry.AssemblyVersion, ["Source"] = Path.GetFileName(sourceItem.GetMetadata("FullPath")) })); }