private static JObject GetCacheFile(CacheFile cacheFile) { var json = new JObject(); json[VersionProperty] = WriteInt(cacheFile.Version); json[DGSpecHashProperty] = WriteString(cacheFile.DgSpecHash); json[SuccessProperty] = WriteBool(cacheFile.Success); if (cacheFile.Version >= 2) { json[ProjectFilePathProperty] = cacheFile.ProjectFilePath; json[ExpectedPackageFilesProperty] = new JArray(cacheFile.ExpectedPackageFilePaths); json[LockFileFormat.LogsProperty] = cacheFile.LogMessages == null ? new JArray() : LockFileFormat.WriteLogMessages(cacheFile.LogMessages, cacheFile.ProjectFilePath); } return(json); }