【打包】修改打包流程

main
刘涛 2026-04-10 13:27:30 +08:00
parent 7d6d3f3c75
commit 8e02bfead0
2 changed files with 37 additions and 17 deletions

View File

@ -128,7 +128,6 @@ internal class BatchBuild
thinkingDataAppId = YooAssetBuildBase.thinkingDataAppId,
thinkingDataServerUrl = YooAssetBuildBase.thinkingDataServerUrl,
};
PackDataInst.CreateResourceJson(info);
BuildTargetGroup currentTargetGroup =
BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget);
@ -139,12 +138,24 @@ internal class BatchBuild
#if DEVELOPMENT_BUILD || DEBUG
isDebugBuild = true;
#endif
ExtBuildInfoHelper.CreateFirstExtBuildInfo(info.buildTicks, info.workSpace, info.version, info.buildCode,
isDebugBuild, defines);
var extBuildInfo = ExtBuildInfoHelper.PrepareFullBuildInfo(
info.buildTicks,
info.workSpace,
info.version,
info.buildCode,
isDebugBuild,
defines,
YooAssetBuildBase.ShouldPackDefaultRes(),
YooAssetBuildBase.ShouldPackDllRes(),
YooAssetBuildBase.ShouldPackConfigRes());
info.localFullVersion = extBuildInfo.ComposeResVersion();
PackDataInst.CreateResourceJson(info);
BuildLauncher.SetEnableHotUpdate(enableHotUpdate);
if (enableHotUpdate)
if (YooAssetBuildBase.ShouldBuildHotUpdateDll())
BuildLauncher.BuildHotUpdateDlls();
else if (enableHotUpdate)
Debug.Log("检测到 packDllRes=false已跳过热更新 DLL 重编步骤,将沿用上次已生成的 DLL 资源。");
YooAssetBuildBase.BuildContentAndPlayer();
@ -228,9 +239,25 @@ internal class BatchBuild
ExtBuildInfoHelper.VertifyExitBuildInfo(YooAssetBuildBase.workSpace, YooAssetBuildBase.appVersion);
DebugUtil.Log($"验证ExBuildInfo完成{DateTime.Now}");
BuildTargetGroup currentTargetGroup = BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget);
string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(currentTargetGroup);
ExtBuildInfoHelper.PrepareHotUpdateBuildInfo(
YooAssetBuildBase.workSpace,
YooAssetBuildBase.appVersion,
#if DEVELOPMENT_BUILD || DEBUG
true,
#else
false,
#endif
defines,
YooAssetBuildBase.ShouldPackDefaultRes(),
YooAssetBuildBase.ShouldPackDllRes(),
YooAssetBuildBase.ShouldPackConfigRes());
var skipCheck = true;
if (enableHotUpdate)
if (YooAssetBuildBase.ShouldBuildHotUpdateDll())
{
if (skipCheck)
{
@ -255,22 +282,15 @@ internal class BatchBuild
}
}
else if (enableHotUpdate)
{
Debug.Log("检测到 packDllRes=false已跳过热更新 DLL 重编步骤,将沿用上次已生成的 DLL 资源。");
}
else
{
Debug.Log("未开启热更");
}
BuildTargetGroup currentTargetGroup = BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget);
string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(currentTargetGroup);
// 写入打包信息到Yoo_Build_Cache
#if DEVELOPMENT_BUILD || DEBUG
ExtBuildInfoHelper.UpdateExtBuildInfo(YooAssetBuildBase.workSpace, YooAssetBuildBase.appVersion, true,
defines);
#else
ExtBuildInfoHelper.UpdateExtBuildInfo(YooAssetBuildBase.workSpace, YooAssetBuildBase.appVersion, false, defines);
#endif
DebugUtil.Log($"开始打包热更资源:{DateTime.Now}");
bool result = YooAssetBuildBase.BuildOnlyResUpdate();
DebugUtil.Log($"打包热更资源完成:{DateTime.Now}");

@ -1 +1 @@
Subproject commit bdf307da1f8cb9f8bd4740d9158b22b8052274e4
Subproject commit 8ef16e625b609ff66d6ccb8bbfaa060bb022eeca