123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using UnityEditor;
- using UnityEditor.Build.Player;
- using UnityEngine;
- namespace HybridCLR.Editor.Commands
- {
- public class CompileDllCommand
- {
- public static void CompileDll(string buildDir, BuildTarget target)
- {
- var group = BuildPipeline.GetBuildTargetGroup(target);
- ScriptCompilationSettings scriptCompilationSettings = new ScriptCompilationSettings();
- scriptCompilationSettings.group = group;
- scriptCompilationSettings.target = target;
- Directory.CreateDirectory(buildDir);
- ScriptCompilationResult scriptCompilationResult = PlayerBuildInterface.CompilePlayerScripts(scriptCompilationSettings, buildDir);
- foreach (var ass in scriptCompilationResult.assemblies)
- {
- //Debug.LogFormat("compile assemblies:{1}/{0}", ass, buildDir);
- }
- Debug.Log("compile finish!!!");
- }
- public static void CompileDll(BuildTarget target)
- {
- CompileDll(SettingsUtil.GetHotUpdateDllsOutputDirByTarget(target), target);
- }
- [MenuItem("HybridCLR/CompileDll/ActiveBuildTarget", priority = 100)]
- public static void CompileDllActiveBuildTarget()
- {
- CompileDll(EditorUserBuildSettings.activeBuildTarget);
- }
- [MenuItem("HybridCLR/CompileDll/Win32", priority = 200)]
- public static void CompileDllWin32()
- {
- CompileDll(BuildTarget.StandaloneWindows);
- }
- [MenuItem("HybridCLR/CompileDll/Win64", priority = 201)]
- public static void CompileDllWin64()
- {
- CompileDll(BuildTarget.StandaloneWindows64);
- }
- [MenuItem("HybridCLR/CompileDll/Android", priority = 202)]
- public static void CompileDllAndroid()
- {
- CompileDll(BuildTarget.Android);
- }
- [MenuItem("HybridCLR/CompileDll/IOS", priority = 203)]
- public static void CompileDllIOS()
- {
- CompileDll(BuildTarget.iOS);
- }
- }
- }
|