public void Add(ITaskItem item) { var itemSpec = item.ItemSpec; var input = item.GetMetadata("RelativeDir") ?? Path.GetDirectoryName(itemSpec); var output = Path.GetDirectoryName(item.GetMetadata("OutputSpec")); var directoryPair = new DirectoryPair(input, output); var file = Path.GetFileName(itemSpec); Add(directoryPair, file); }
public void Add(DirectoryPair pair, string file) { if (Dict.TryGetValue(pair, out List <string> value)) { value.Add(file); } else { Dict.Add(pair, new List <string>(Enumerable.Repeat(file, 1))); } }
public IEnumerable <string> Files(DirectoryPair directoryPair) => Dict.TryGetValue(directoryPair, out List <string> value) ? value : Enumerable.Empty <string>();