Skip to content

Commit 859ae43

Browse files
committed
Mac Zipping fix
1 parent 57ee28c commit 859ae43

File tree

1 file changed

+44
-23
lines changed

1 file changed

+44
-23
lines changed

Editor/OSXBuildPostProcessor.cs

Lines changed: 44 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System;
12
using System.IO;
23
using UnityEditor.Build.Reporting;
34
using UnityEditor.Build;
@@ -56,32 +57,52 @@ public void OnPostprocessBuild(BuildReport report)
5657
}
5758
VerboseLog("Zip package installed");
5859

59-
var process = new Process()
60-
{
61-
StartInfo = new ProcessStartInfo()
60+
string buildName = Path.GetFileName(sourceDir);
61+
string buildFolder = Directory.GetParent(sourceDir).FullName;
62+
63+
float compressionLevel = 6;
64+
65+
switch (OSXBuildSettings.Instance.zipCompressionLevel)
66+
{
67+
case CompressionLevel.None:
68+
compressionLevel = 0;
69+
break;
70+
71+
case CompressionLevel.Fastest:
72+
compressionLevel = 1;
73+
break;
74+
75+
case CompressionLevel.Optimal:
76+
compressionLevel = 9;
77+
break;
78+
}
79+
80+
var process = new Process()
6281
{
63-
FileName = "bash",
64-
Arguments = $"-c \"cd {buildFolderWsl} && zip -{compressionLevel} -r {buildName}.zip {buildName}\"",
65-
RedirectStandardOutput = true,
66-
RedirectStandardError = true,
67-
UseShellExecute = false,
68-
CreateNoWindow = true,
69-
},
70-
EnableRaisingEvents = true,
71-
};
72-
process.OutputDataReceived += Process_OutputDataReceived;
73-
process.ErrorDataReceived += Process_ErrorDataReceived;
74-
process.Start();
75-
process.BeginOutputReadLine();
76-
process.BeginErrorReadLine();
77-
process.WaitForExit(OSXBuildSettings.Instance.wslProcessTimeout * 1000);
78-
if (!process.HasExited)
79-
{
80-
process.Kill();
81-
}
82+
StartInfo = new ProcessStartInfo()
83+
{
84+
FileName = "bash",
85+
Arguments = $"-c \"cd {buildFolder} && zip -{compressionLevel} -r {buildName}.zip {buildName}\"",
86+
RedirectStandardOutput = true,
87+
RedirectStandardError = true,
88+
UseShellExecute = false,
89+
CreateNoWindow = true,
90+
},
91+
EnableRaisingEvents = true,
92+
};
93+
process.OutputDataReceived += Process_OutputDataReceived;
94+
process.ErrorDataReceived += Process_ErrorDataReceived;
95+
process.Start();
96+
process.BeginOutputReadLine();
97+
process.BeginErrorReadLine();
98+
process.WaitForExit(OSXBuildSettings.Instance.wslProcessTimeout * 1000);
99+
if (!process.HasExited)
100+
{
101+
process.Kill();
102+
}
82103
#endif
83104

84-
if (File.Exists(zipFileName))
105+
if (File.Exists(zipFileName))
85106
{
86107
VerboseLog($"OSX Build zip created successfully at {zipFileName}");
87108
}

0 commit comments

Comments
 (0)