private static void EnsurePrivilegesMac(string filePath) { var filename = filePath + "/Contents/MacOS/" + PathsManager.GetFilename(filePath).Replace(".app", ""); var processChmod = new Process(); processChmod.StartInfo.FileName = "chmod"; processChmod.StartInfo.Arguments = "+x \"" + filename + "\""; processChmod.Start(); var processAttr = new Process(); processAttr.StartInfo.FileName = "xattr"; processAttr.StartInfo.Arguments = "-d com.apple.quarantine \"" + filePath + "\""; processAttr.Start(); }
private void CopyFiles(string sourceFolder, string destinationFolder) { var files = FilesManager.GetFiles(sourceFolder); foreach (var file in files) { var newFile = file.Replace(sourceFolder, destinationFolder); FilesManager.Copy(file, newFile); _context.ReportProgress(string.Format(_context.LocalizedMessages.BuildFileProcessed, PathsManager.GetFilename(file))); } }
private void BuildDefinition() { var files = FilesManager.GetFilesInfo(_context.Settings.GetApplicationFolderPath()); var definitions = new BuildDefinition(); definitions.Entries = new BuildDefinitionEntry[files.Length + 1]; for (var i = 0; i < files.Length; i++) { var file = files[i]; definitions.Entries[i] = new BuildDefinitionEntry() { Attributes = file.Attributes, Hash = Hashing.GetFileHash(PathsManager.Combine(_context.Settings.GetApplicationFolderPath(), file.RelativePath)), LastWriting = file.LastWriting, RelativePath = file.RelativePath, Size = file.Size }; _context.ReportProgress(string.Format(_context.LocalizedMessages.BuildDefinitionProcessed, PathsManager.GetFilename(file.RelativePath))); } var versionFile = FilesManager.GetFileInfo(_context.Settings.GetVersionFilePath(_context.BuildVersion)); definitions.Entries[files.Length] = new BuildDefinitionEntry() { Attributes = versionFile.Attributes, Hash = Hashing.GetFileHash(_context.Settings.GetVersionFilePath(_context.BuildVersion)), LastWriting = versionFile.LastWriting, RelativePath = versionFile.RelativePath, Size = versionFile.Size }; _context.ReportProgress(string.Format(_context.LocalizedMessages.BuildDefinitionProcessed, PathsManager.GetFilename(versionFile.RelativePath))); File.WriteAllText(_context.Settings.GetBuildDefinitionPath(_context.BuildVersion), _context.Serializer.Serialize(definitions)); }