Example #1
0
        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);
        }
Example #2
0
 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)));
     }
 }
Example #3
0
 public IEnumerable <string> Files(DirectoryPair directoryPair)
 => Dict.TryGetValue(directoryPair, out List <string> value) ? value : Enumerable.Empty <string>();