コード例 #1
0
        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();
        }
コード例 #2
0
        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)));
            }
        }
コード例 #3
0
        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));
        }