【打包】增加缓存混淆资源
parent
78e17887dd
commit
18fd13b4d7
|
|
@ -7,6 +7,7 @@ using PhxhSDK.AOT.VersionUpdate;
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Obfuz.Settings;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
using BuildTarget = UnityEditor.BuildTarget;
|
||||
|
|
@ -119,23 +120,8 @@ internal class BatchBuild
|
|||
// 还原宏
|
||||
_RevertScriptDefines();
|
||||
|
||||
#region 打整包时缓存当前版本的AotDll
|
||||
|
||||
string aotDllStorePath = GetAotDllStorePath(info.workSpace, info.version);
|
||||
string aotDllPath = SettingsUtil.GetAssembliesPostIl2CppStripDir(EditorUserBuildSettings.activeBuildTarget);
|
||||
DirectoryInfo dir = new(aotDllPath);
|
||||
if (Directory.Exists(aotDllStorePath))
|
||||
Directory.Delete(aotDllStorePath, true);
|
||||
|
||||
Directory.CreateDirectory(aotDllStorePath);
|
||||
|
||||
FileInfo[] files = dir.GetFiles();
|
||||
foreach (FileInfo file in files)
|
||||
{
|
||||
file.CopyTo(Path.Combine(aotDllStorePath, file.Name), false);
|
||||
}
|
||||
|
||||
#endregion
|
||||
// 缓存打包时的文件
|
||||
_CacheBuildFiles(info);
|
||||
|
||||
PostLoginKey(info.version); // 上传Aot loginKey
|
||||
}
|
||||
|
|
@ -147,6 +133,49 @@ internal class BatchBuild
|
|||
}
|
||||
}
|
||||
|
||||
private static void _CacheAotDlls(UpdateLocalInfo info)
|
||||
{
|
||||
string aotDllStorePath = GetAotDllStorePath(info.workSpace, info.version);
|
||||
string aotDllPath = SettingsUtil.GetAssembliesPostIl2CppStripDir(EditorUserBuildSettings.activeBuildTarget);
|
||||
DirectoryInfo dir = new(aotDllPath);
|
||||
if (Directory.Exists(aotDllStorePath))
|
||||
Directory.Delete(aotDllStorePath, true);
|
||||
|
||||
Directory.CreateDirectory(aotDllStorePath);
|
||||
|
||||
FileInfo[] files = dir.GetFiles();
|
||||
foreach (FileInfo file in files)
|
||||
{
|
||||
file.CopyTo(Path.Combine(aotDllStorePath, file.Name), false);
|
||||
}
|
||||
}
|
||||
|
||||
private static void _CacheObfuzFiles(UpdateLocalInfo info)
|
||||
{
|
||||
// 备份 Assets/Obfuz/SymbolObfus 文件夹
|
||||
// 备份 Library/Obfuz/{buildTarget} 文件夹
|
||||
var obfuzSymbolPath = Application.dataPath + "/Obfuz/SymbolObfus";
|
||||
var obfuzBuildPath = Application.dataPath + $"/../Library/Obfuz/{EditorUserBuildSettings.activeBuildTarget}";
|
||||
var cacheObfuzPath = Application.dataPath + $"/../Yoo_Build_Cache/{info.workSpace}/{info.version}/CacheObfuz";
|
||||
var cacheObfuzSymbolPath = cacheObfuzPath + "/SymbolObfus";;
|
||||
var cacheObfuzBuildPath = cacheObfuzPath + $"/{EditorUserBuildSettings.activeBuildTarget}";
|
||||
if (Directory.Exists(cacheObfuzPath))
|
||||
Directory.Delete(cacheObfuzPath, true);
|
||||
Directory.CreateDirectory(cacheObfuzPath);
|
||||
DirectoryCopyHelper.CopyDirectory(obfuzSymbolPath, cacheObfuzSymbolPath);
|
||||
DirectoryCopyHelper.CopyDirectory(obfuzBuildPath, cacheObfuzBuildPath);
|
||||
}
|
||||
|
||||
private static void _CacheBuildFiles(UpdateLocalInfo info)
|
||||
{
|
||||
_CacheAotDlls(info);
|
||||
|
||||
if (ObfuzSettings.Instance.buildPipelineSettings.enable)
|
||||
{
|
||||
_CacheObfuzFiles(info);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 批处理增量更新资源
|
||||
/// jenkins打包增量更新时使用该方法
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
public class DirectoryCopyHelper
|
||||
{
|
||||
|
||||
public static void CopyDirectory(string srcPath,
|
||||
string dstPath)
|
||||
{
|
||||
// 目标目录不存在则创建
|
||||
if (!System.IO.Directory.Exists(dstPath))
|
||||
{
|
||||
System.IO.Directory.CreateDirectory(dstPath);
|
||||
}
|
||||
|
||||
// 获取源目录下的所有文件和子目录
|
||||
string[] files = System.IO.Directory.GetFiles(srcPath);
|
||||
string[] directories = System.IO.Directory.GetDirectories(srcPath);
|
||||
|
||||
// 复制文件
|
||||
foreach (string file in files)
|
||||
{
|
||||
string fileName = System.IO.Path.GetFileName(file);
|
||||
string destFile = System.IO.Path.Combine(dstPath, fileName);
|
||||
System.IO.File.Copy(file, destFile, true);
|
||||
}
|
||||
|
||||
// 递归复制子目录
|
||||
foreach (string directory in directories)
|
||||
{
|
||||
string dirName = System.IO.Path.GetFileName(directory);
|
||||
string destDir = System.IO.Path.Combine(dstPath, dirName);
|
||||
CopyDirectory(directory, destDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 582147fdd24d45f08d7c392cc1555d6b
|
||||
timeCreated: 1761127475
|
||||
Loading…
Reference in New Issue