diff options
Diffstat (limited to 'Assets/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs')
-rw-r--r-- | Assets/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/Assets/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs b/Assets/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs new file mode 100644 index 00000000..c4ec6f45 --- /dev/null +++ b/Assets/Plugins/Sirenix/Odin Inspector/Scripts/Editor/BuildAOTAutomation.cs @@ -0,0 +1,79 @@ +//-----------------------------------------------------------------------
+// <copyright file="BuildAOTAutomation.cs" company="Sirenix IVS">
+// Copyright (c) Sirenix IVS. All rights reserved.
+// </copyright>
+//-----------------------------------------------------------------------
+
+#if UNITY_EDITOR && UNITY_5_6_OR_NEWER
+
+namespace Sirenix.Serialization.Internal
+{
+ using Sirenix.Serialization;
+ using UnityEditor;
+ using UnityEditor.Build;
+ using System.IO;
+ using System;
+
+#if UNITY_2018_1_OR_NEWER
+
+ using UnityEditor.Build.Reporting;
+
+#endif
+
+#if UNITY_2018_1_OR_NEWER
+ public class PreBuildAOTAutomation : IPreprocessBuildWithReport
+#else
+ public class PreBuildAOTAutomation : IPreprocessBuild
+#endif
+ {
+ public int callbackOrder { get { return -1000; } }
+
+ public void OnPreprocessBuild(BuildTarget target, string path)
+ {
+ if (AOTGenerationConfig.Instance.ShouldAutomationGeneration(target))
+ {
+ AOTGenerationConfig.Instance.ScanProject();
+ AOTGenerationConfig.Instance.GenerateDLL();
+ }
+ }
+
+#if UNITY_2018_1_OR_NEWER
+
+ public void OnPreprocessBuild(BuildReport report)
+ {
+ this.OnPreprocessBuild(report.summary.platform, report.summary.outputPath);
+ }
+
+#endif
+ }
+
+#if UNITY_2018_1_OR_NEWER
+ public class PostBuildAOTAutomation : IPostprocessBuildWithReport
+#else
+ public class PostBuildAOTAutomation : IPostprocessBuild
+#endif
+ {
+ public int callbackOrder { get { return -1000; } }
+
+ public void OnPostprocessBuild(BuildTarget target, string path)
+ {
+ if (AOTGenerationConfig.Instance.DeleteDllAfterBuilds && AOTGenerationConfig.Instance.ShouldAutomationGeneration(target))
+ {
+ Directory.Delete(AOTGenerationConfig.Instance.AOTFolderPath, true);
+ File.Delete(AOTGenerationConfig.Instance.AOTFolderPath.TrimEnd('/', '\\') + ".meta");
+ AssetDatabase.Refresh();
+ }
+ }
+
+#if UNITY_2018_1_OR_NEWER
+
+ public void OnPostprocessBuild(BuildReport report)
+ {
+ this.OnPostprocessBuild(report.summary.platform, report.summary.outputPath);
+ }
+
+#endif
+ }
+}
+
+#endif // UNITY_EDITOR && UNITY_5_6_OR_NEWER
\ No newline at end of file |