Skip to content

Commit 2cafae9

Browse files
committed
chore: mac build script to build without alttester
1 parent 52f8664 commit 2cafae9

File tree

1 file changed

+66
-21
lines changed

1 file changed

+66
-21
lines changed

sample/Assets/Editor/MacBuilder.cs

Lines changed: 66 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,43 +6,88 @@
66
using AltTester.AltTesterUnitySDK;
77
using System;
88

9-
public class BuildScript
9+
public class MacBuilder
1010
{
11+
private const string DefaultBuildPath = "Builds/MacOS/SampleApp.app";
12+
13+
static void Build()
14+
{
15+
BuildPlayer(DefaultBuildPath, BuildOptions.None);
16+
}
17+
1118
static void BuildForAltTester()
19+
{
20+
BuildPlayer(DefaultBuildPath, BuildOptions.Development | BuildOptions.IncludeTestAssemblies | BuildOptions.AutoRunPlayer, true);
21+
}
22+
23+
private static void BuildPlayer(string defaultBuildPath, BuildOptions buildOptions, bool setupForAltTester = false)
1224
{
1325
try
1426
{
15-
BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions();
16-
buildPlayerOptions.scenes = new string[] {
27+
string buildPath = GetBuildPathFromArgs(defaultBuildPath);
28+
BuildPlayerOptions buildPlayerOptions = CreateBuildPlayerOptions(buildPath, buildOptions);
29+
30+
if (setupForAltTester)
31+
{
32+
SetupAltTester(buildPlayerOptions);
33+
}
34+
35+
var results = BuildPipeline.BuildPlayer(buildPlayerOptions);
36+
}
37+
catch (Exception exception)
38+
{
39+
Debug.LogException(exception);
40+
}
41+
}
42+
43+
private static string GetBuildPathFromArgs(string defaultBuildPath)
44+
{
45+
string[] args = Environment.GetCommandLineArgs();
46+
for (int i = 0; i < args.Length; i++)
47+
{
48+
if (args[i] == "--buildPath" && i + 1 < args.Length)
49+
{
50+
return args[i + 1];
51+
}
52+
}
53+
return defaultBuildPath;
54+
}
55+
56+
private static BuildPlayerOptions CreateBuildPlayerOptions(string buildPath, BuildOptions buildOptions)
57+
{
58+
return new BuildPlayerOptions
59+
{
60+
scenes = new[]
61+
{
1762
"Assets/Scenes/SelectAuthMethod.unity",
1863
"Assets/Scenes/UnauthenticatedScene.unity",
1964
"Assets/Scenes/AuthenticatedScene.unity",
2065
"Assets/Scenes/ZkEvmGetBalance.unity",
2166
"Assets/Scenes/ZkEvmGetTransactionReceipt.unity",
2267
"Assets/Scenes/ZkEvmSendTransaction.unity",
2368
"Assets/Scenes/ImxNftTransfer.unity"
24-
};
25-
26-
buildPlayerOptions.locationPathName = "Builds/MacOS/SampleApp.app";
27-
buildPlayerOptions.target = BuildTarget.StandaloneOSX;
28-
buildPlayerOptions.options = BuildOptions.Development | BuildOptions.IncludeTestAssemblies | BuildOptions.AutoRunPlayer;
29-
30-
// Setup for AltTester
31-
var buildTargetGroup = BuildTargetGroup.Standalone;
32-
AltBuilder.AddAltTesterInScriptingDefineSymbolsGroup(buildTargetGroup);
33-
if (buildTargetGroup == UnityEditor.BuildTargetGroup.Standalone)
34-
AltBuilder.CreateJsonFileForInputMappingOfAxis();
35-
var instrumentationSettings = new AltInstrumentationSettings();
36-
AltBuilder.InsertAltInScene(buildPlayerOptions.scenes[0], instrumentationSettings);
69+
},
70+
locationPathName = buildPath,
71+
target = BuildTarget.StandaloneOSX,
72+
options = buildOptions
73+
};
74+
}
3775

38-
var results = BuildPipeline.BuildPlayer(buildPlayerOptions);
39-
AltBuilder.RemoveAltTesterFromScriptingDefineSymbols(BuildTargetGroup.Standalone);
76+
private static void SetupAltTester(BuildPlayerOptions buildPlayerOptions)
77+
{
78+
var buildTargetGroup = BuildTargetGroup.Standalone;
79+
AltBuilder.AddAltTesterInScriptingDefineSymbolsGroup(buildTargetGroup);
4080

41-
}
42-
catch (Exception exception)
81+
if (buildTargetGroup == BuildTargetGroup.Standalone)
4382
{
44-
Debug.LogException(exception);
83+
AltBuilder.CreateJsonFileForInputMappingOfAxis();
4584
}
85+
86+
var instrumentationSettings = new AltInstrumentationSettings();
87+
AltBuilder.InsertAltInScene(buildPlayerOptions.scenes[0], instrumentationSettings);
88+
89+
// Clean up AltTester settings after build
90+
AltBuilder.RemoveAltTesterFromScriptingDefineSymbols(buildTargetGroup);
4691
}
4792
}
4893

0 commit comments

Comments
 (0)