Пример #1
0
        private static CacheFile ReadCacheFile(JObject cursor)
        {
            var version   = ReadInt(cursor[VersionProperty]);
            var hash      = ReadString(cursor[DGSpecHashProperty]);
            var success   = ReadBool(cursor[SuccessProperty]);
            var cacheFile = new CacheFile(hash);

            cacheFile.Version = version;
            cacheFile.Success = success;

            if (version >= 2)
            {
                cacheFile.ProjectFilePath = ReadString(cursor[ProjectFilePathProperty]);

                foreach (JToken expectedFile in cursor[ExpectedPackageFilesProperty])
                {
                    string path = ReadString(expectedFile);

                    if (!string.IsNullOrWhiteSpace(path) && !File.Exists(path))
                    {
                        cacheFile.HasAnyMissingPackageFiles = true;
                        break;
                    }
                }

                cacheFile.LogMessages = LockFileFormat.ReadLogMessageArray(cursor[LockFileFormat.LogsProperty] as JArray, cacheFile.ProjectFilePath);
            }

            return(cacheFile);
        }