Exemplo n.º 1
0
        private static Dictionary <string, FileAttributeItem> ComputeFileAttributes(DocumentBuildParameters parameters, DependencyGraph dg)
        {
            var filesInScope = from f in parameters.Files.EnumerateFiles()
                               let fileKey = ((RelativePath)f.File).GetPathFromWorkingFolder().ToString()
                                             select new
            {
                PathFromWorkingFolder = fileKey,
                FullPath = f.FullPath
            };
            var files = filesInScope;

            if (dg != null)
            {
                var filesFromDependency = from node in dg.GetAllDependentNodes()
                                          let fullPath = Path.Combine(EnvironmentContext.BaseDirectory, ((RelativePath)node).RemoveWorkingFolder())
                                                         select new
                {
                    PathFromWorkingFolder = node,
                    FullPath = fullPath
                };
                files = files.Concat(filesFromDependency);
            }


            return((from item in files
                    where File.Exists(item.FullPath)
                    group item by item.PathFromWorkingFolder into g
                    select new FileAttributeItem
            {
                File = g.Key,
                LastModifiedTime = File.GetLastWriteTimeUtc(g.First().FullPath),
                MD5 = StringExtension.GetMd5String(File.ReadAllText(g.First().FullPath)),
            }).ToDictionary(a => a.File));
        }
Exemplo n.º 2
0
        private static Dictionary<string, FileAttributeItem> ComputeFileAttributes(DocumentBuildParameters parameters, DependencyGraph dg)
        {
            var filesInScope = from f in parameters.Files.EnumerateFiles()
                               let fileKey = ((RelativePath)f.File).GetPathFromWorkingFolder().ToString()
                               select new
                               {
                                   PathFromWorkingFolder = fileKey,
                                   FullPath = f.FullPath
                               };
            var files = filesInScope;
            if (dg != null)
            {
                var filesFromDependency = from node in dg.GetAllDependentNodes()
                                          let fullPath = Path.Combine(EnvironmentContext.BaseDirectory, ((RelativePath)node).RemoveWorkingFolder())
                                          select new
                                          {
                                              PathFromWorkingFolder = node,
                                              FullPath = fullPath
                                          };
                files = files.Concat(filesFromDependency);
            }


            return (from item in files
                    where File.Exists(item.FullPath)
                    group item by item.PathFromWorkingFolder into g
                    select new FileAttributeItem
                    {
                        File = g.Key,
                        LastModifiedTime = File.GetLastWriteTimeUtc(g.First().FullPath),
                        MD5 = StringExtension.GetMd5String(File.ReadAllText(g.First().FullPath)),
                    }).ToDictionary(a => a.File);
        }