Skip to content

Commit 5d0b4e8

Browse files
author
yunlongliu
committed
* MenuItem - BuildDll
1 parent 0bd07e0 commit 5d0b4e8

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

DemoProject/Assets/Plugins/PureScript/Editor/PureScriptBuilder.cs

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,26 @@ public static void AutoInjectAssemblys()
4343
}
4444
}
4545

46+
[MenuItem("PureScript/BuildDll", false, 1)]
47+
public static void BuildDll()
48+
{
49+
string outputDir = ".";
50+
var target = EditorUserBuildSettings.activeBuildTarget;
51+
var group = BuildPipeline.GetBuildTargetGroup(target);
52+
53+
ScriptCompilationSettings scriptCompilationSettings = new ScriptCompilationSettings();
54+
scriptCompilationSettings.group = group;
55+
scriptCompilationSettings.target = target;
56+
var buildDir = $"{outputDir}/build";
57+
if (false == Directory.Exists(buildDir))
58+
{
59+
Directory.CreateDirectory(buildDir);
60+
}
61+
ScriptCompilationResult scriptCompilationResult = PlayerBuildInterface.CompilePlayerScripts(scriptCompilationSettings, buildDir);
62+
63+
//MoveAssemblys(outputDir, buildDir, true);
64+
}
65+
4666
/// <summary>
4767
/// bind adapter before strip.
4868
/// called by UnityEditor when AssemblyStripper.StripAssemblies.
@@ -145,7 +165,15 @@ public static void CopyManagedFile(string workDir,string managedPath)
145165
{
146166
CreateOrCleanDirectory(managedPath);
147167

148-
foreach (string fi in Directory.GetFiles(workDir))
168+
if (string.IsNullOrEmpty(workDir))
169+
{
170+
Debug.LogError(" ============ workDir is null");
171+
return;
172+
}
173+
174+
Debug.LogWarning("copy dir : " + workDir);
175+
var files = Directory.GetFiles(workDir);
176+
foreach (string fi in files)
149177
{
150178
string fname = Path.GetFileName(fi);
151179
string targetfname = Path.Combine(managedPath, fname);

0 commit comments

Comments
 (0)