private FileIntegrity GetRelaxedFileIntegrity(BuildDefinitionEntry entry) { foreach (var existingFile in _context.ExistingFiles) { var existingFilePath = FilesManager.SanitizePath(PathsManager.Combine(_context.Settings.RootPath, existingFile.RelativePath)); var entryFilePath = FilesManager.SanitizePath(PathsManager.Combine(_context.Settings.GetGamePath(), entry.RelativePath)); if (existingFilePath == entryFilePath) { var integrity = FileIntegrity.None; if (existingFile.Size != entry.Size) { integrity |= FileIntegrity.InvalidSize; } if (integrity == FileIntegrity.None) { return(FileIntegrity.Valid); } return(integrity); } } return(FileIntegrity.NotExisting); }
public DownloadEntry(string remoteUrl, string partialRemoteUrl, string destinationFolder, string destinationFile, BuildDefinitionEntry definition) { RemoteUrl = remoteUrl; PartialRemoteUrl = partialRemoteUrl; DestinationFolder = destinationFolder; DestinationFile = destinationFile; Definition = definition; }
private bool HandleInvalidLastWriting(BuildDefinitionEntry entry) { var filePath = PathsManager.Combine(_context.Settings.GetGamePath(), entry.RelativePath); var hash = Hashing.GetFileHash(filePath); if (entry.Hash != hash) { FilesManager.Delete(filePath); return(false); } return(true); }
private PatchOperation GetOperation(BuildDefinitionEntry newFile, BuildDefinitionEntry oldFile) { if (newFile.Hash != oldFile.Hash) { return(PatchOperation.Updated); } if (newFile.Attributes != oldFile.Attributes) { return(PatchOperation.ChangedAttributes); } return(PatchOperation.Unchanged); }
private void SetDefinition(string filePath, BuildDefinitionEntry currentEntry) { File.SetAttributes(filePath, currentEntry.Attributes); File.SetLastWriteTimeUtc(filePath, currentEntry.LastWriting); }
private void HandleInvalidAttributes(BuildDefinitionEntry entry) { var filePath = PathsManager.Combine(_context.Settings.GetGamePath(), entry.RelativePath); File.SetAttributes(filePath, entry.Attributes); }