diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleBuilder.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleBuilder.cs
index 9cd61d2..28845ee 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleBuilder.cs
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/AssetBundleBuilder.cs
@@ -48,6 +48,12 @@ namespace YooAsset.Editor
BuildAssetBundleOptions opt = BuildAssetBundleOptions.None;
opt |= BuildAssetBundleOptions.StrictMode; //Do not allow the build to succeed if any errors are reporting during it.
+ if (Parameters.DryRunBuild)
+ {
+ opt |= BuildAssetBundleOptions.DryRunBuild;
+ return opt;
+ }
+
if (Parameters.CompressOption == ECompressOption.Uncompressed)
opt |= BuildAssetBundleOptions.UncompressedAssetBundle;
else if (Parameters.CompressOption == ECompressOption.LZ4)
@@ -107,7 +113,8 @@ namespace YooAsset.Editor
{
new TaskPrepare(), //前期准备工作
new TaskGetBuildMap(), //获取构建列表
- new TaskBuilding(), //开始执行构建
+ new TaskBuilding(), //开始执行构建
+ new TaskVerifyBuildResult(), //验证构建结果
new TaskEncryption(), //加密资源文件
new TaskCreatePatchManifest(), //创建清单文件
new TaskCreateReport(), //创建报告文件
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildParameters.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildParameters.cs
index b11008e..b7d54a4 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildParameters.cs
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildParameters.cs
@@ -46,6 +46,11 @@ namespace YooAsset.Editor
public IEncryptionServices EncryptionServices;
+ ///
+ /// 演练构建模式
+ ///
+ public bool DryRunBuild;
+
///
/// 强制重新构建整个项目,如果为FALSE则是增量打包
///
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildReport/ReportSummary.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildReport/ReportSummary.cs
index 8957d18..4fb2ce6 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildReport/ReportSummary.cs
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildReport/ReportSummary.cs
@@ -59,6 +59,7 @@ namespace YooAsset.Editor
public string EncryptionServicesClassName;
// 构建参数
+ public bool DryRunBuild;
public bool ForceRebuild;
public string BuildinTags;
public ECompressOption CompressOption;
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildSystem/BuildRunner.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildSystem/BuildRunner.cs
index f259af3..9c2ef75 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildSystem/BuildRunner.cs
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildSystem/BuildRunner.cs
@@ -28,7 +28,8 @@ namespace YooAsset.Editor
}
catch (Exception e)
{
- Debug.LogError($"Build task {task.GetType().Name} failed : {e}");
+ Debug.LogError($"Build task {task.GetType().Name} failed !");
+ Debug.LogError($"Detail error : {e}");
succeed = false;
break;
}
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskBuilding.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskBuilding.cs
index 4de9dad..74821e3 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskBuilding.cs
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskBuilding.cs
@@ -31,164 +31,29 @@ namespace YooAsset.Editor
context.SetContextObject(unityManifestContext);
// 拷贝原生文件
+ if (buildParametersContext.Parameters.DryRunBuild == false)
+ {
+ CopyRawBundle(buildMapContext, buildParametersContext);
+ }
+ }
+
+ ///
+ /// 拷贝原生文件
+ ///
+ private void CopyRawBundle(BuildMapContext buildMapContext, AssetBundleBuilder.BuildParametersContext buildParametersContext)
+ {
foreach (var bundleInfo in buildMapContext.BundleInfos)
{
if (bundleInfo.IsRawFile)
{
string dest = $"{buildParametersContext.PipelineOutputDirectory}/{bundleInfo.BundleName}";
- foreach(var buildAsset in bundleInfo.BuildinAssets)
+ foreach (var buildAsset in bundleInfo.BuildinAssets)
{
- if(buildAsset.IsRawAsset)
+ if (buildAsset.IsRawAsset)
EditorTools.CopyFile(buildAsset.AssetPath, dest, true);
}
}
}
-
- // 验证构建结果
- if (buildParametersContext.Parameters.VerifyBuildingResult)
- {
- VerifyingBuildingResult(context, unityManifest);
- }
- }
-
- ///
- /// 验证构建结果
- ///
- private void VerifyingBuildingResult(BuildContext context, AssetBundleManifest unityManifest)
- {
- var buildParameters = context.GetContextObject();
- var buildMapContext = context.GetContextObject();
- string[] buildedBundles = unityManifest.GetAllAssetBundles();
-
- // 1. 过滤掉原生Bundle
- List expectBundles = new List(buildedBundles.Length);
- foreach(var bundleInfo in buildMapContext.BundleInfos)
- {
- if (bundleInfo.IsRawFile == false)
- expectBundles.Add(bundleInfo);
- }
-
- // 2. 验证数量
- if (buildedBundles.Length != expectBundles.Count)
- {
- Debug.LogWarning($"构建过程中可能存在无效的资源,导致和预期构建的Bundle数量不一致!");
- }
-
- // 3. 正向验证Bundle
- foreach (var bundleName in buildedBundles)
- {
- if (buildMapContext.IsContainsBundle(bundleName) == false)
- {
- throw new Exception($"Should never get here !");
- }
- }
-
- // 4. 反向验证Bundle
- bool isPass = true;
- foreach (var expectBundle in expectBundles)
- {
- bool isMatch = false;
- foreach (var buildedBundle in buildedBundles)
- {
- if (buildedBundle == expectBundle.BundleName)
- {
- isMatch = true;
- break;
- }
- }
- if (isMatch == false)
- {
- isPass = false;
- Debug.LogWarning($"没有找到预期构建的Bundle文件 : {expectBundle.BundleName}");
- }
- }
- if(isPass == false)
- {
- throw new Exception("构建结果验证没有通过,请参考警告日志!");
- }
-
- // 5. 验证Asset
- int progressValue = 0;
- foreach (var buildedBundle in buildedBundles)
- {
- string filePath = $"{buildParameters.PipelineOutputDirectory}/{buildedBundle}";
- string[] allBuildinAssetPaths = GetAssetBundleAllAssets(filePath);
- string[] expectBuildinAssetPaths = buildMapContext.GetBuildinAssetPaths(buildedBundle);
- if (expectBuildinAssetPaths.Length != allBuildinAssetPaths.Length)
- {
- Debug.LogWarning($"构建的Bundle文件内的资源对象数量和预期不匹配 : {buildedBundle}");
- isPass = false;
- continue;
- }
-
- foreach (var buildinAssetPath in allBuildinAssetPaths)
- {
- var guid = AssetDatabase.AssetPathToGUID(buildinAssetPath);
- if (string.IsNullOrEmpty(guid))
- {
- Debug.LogWarning($"无效的资源路径,请检查路径是否带有特殊符号或中文:{buildinAssetPath}");
- isPass = false;
- continue;
- }
-
- bool isMatch = false;
- foreach (var exceptBuildAssetPath in expectBuildinAssetPaths)
- {
- var guidExcept = AssetDatabase.AssetPathToGUID(exceptBuildAssetPath);
- if (guid == guidExcept)
- {
- isMatch = true;
- break;
- }
- }
- if (isMatch == false)
- {
- Debug.LogWarning($"在构建的Bundle文件里发现了没有匹配的资源对象:{buildinAssetPath}");
- isPass = false;
- continue;
- }
- }
-
- EditorTools.DisplayProgressBar("验证构建结果", ++progressValue, buildedBundles.Length);
- }
- EditorTools.ClearProgressBar();
- if (isPass == false)
- {
- throw new Exception("构建结果验证没有通过,请参考警告日志!");
- }
-
- // 卸载所有加载的Bundle
- Debug.Log("构建结果验证成功!");
- }
-
- ///
- /// 解析.manifest文件并获取资源列表
- ///
- private string[] GetAssetBundleAllAssets(string filePath)
- {
- string manifestFilePath = $"{filePath}.manifest";
- List assetLines = new List();
- using (StreamReader reader = File.OpenText(manifestFilePath))
- {
- string content;
- bool findTarget = false;
- while (null != (content = reader.ReadLine()))
- {
- if (content.StartsWith("Dependencies:"))
- break;
- if (findTarget == false && content.StartsWith("Assets:"))
- findTarget = true;
- if (findTarget)
- {
- if (content.StartsWith("- "))
- {
- string assetPath = content.TrimStart("- ".ToCharArray());
- assetLines.Add(assetPath);
- }
- }
- }
- }
- return assetLines.ToArray();
}
}
}
\ No newline at end of file
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCopyBuildinFiles.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCopyBuildinFiles.cs
index 7d17483..2f1efb1 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCopyBuildinFiles.cs
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCopyBuildinFiles.cs
@@ -15,7 +15,7 @@ namespace YooAsset.Editor
{
// 注意:我们只有在强制重建的时候才会拷贝
var buildParameters = context.GetContextObject();
- if (buildParameters.Parameters.ForceRebuild)
+ if (buildParameters.Parameters.DryRunBuild == false && buildParameters.Parameters.ForceRebuild)
{
// 清空流目录
AssetBundleBuilderHelper.ClearStreamingAssetsFolder();
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreatePatchManifest.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreatePatchManifest.cs
index 886b2f3..a29a15e 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreatePatchManifest.cs
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreatePatchManifest.cs
@@ -62,14 +62,14 @@ namespace YooAsset.Editor
// 内置标记列表
List buildinTags = buildParameters.Parameters.GetBuildinTags();
+ bool dryRunBuild = buildParameters.Parameters.DryRunBuild;
foreach (var bundleInfo in buildMapContext.BundleInfos)
{
var bundleName = bundleInfo.BundleName;
string filePath = $"{buildParameters.PipelineOutputDirectory}/{bundleName}";
- string hash = HashUtility.FileMD5(filePath);
- string crc32 = HashUtility.FileCRC32(filePath);
- long size = FileUtility.GetFileSize(filePath);
- int version = buildParameters.Parameters.BuildVersion;
+ string hash = GetFileHash(filePath, dryRunBuild);
+ string crc32 = GetFileCRC(filePath, dryRunBuild);
+ long size = GetFileSize(filePath, dryRunBuild);
string[] tags = buildMapContext.GetAssetTags(bundleName);
bool isEncrypted = encryptionContext.IsEncryptFile(bundleName);
bool isBuildin = IsBuildinBundle(tags, buildinTags);
@@ -101,6 +101,27 @@ namespace YooAsset.Editor
}
return false;
}
+ private string GetFileHash(string filePath, bool dryRunBuild)
+ {
+ if (dryRunBuild)
+ return "00000000000000000000000000000000"; //32位
+ else
+ return HashUtility.FileMD5(filePath);
+ }
+ private string GetFileCRC(string filePath, bool dryRunBuild)
+ {
+ if (dryRunBuild)
+ return "00000000"; //8位
+ else
+ return HashUtility.FileCRC32(filePath);
+ }
+ private long GetFileSize(string filePath, bool dryRunBuild)
+ {
+ if (dryRunBuild)
+ return 0;
+ else
+ return FileUtility.GetFileSize(filePath);
+ }
///
/// 获取资源列表
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreatePatchPackage.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreatePatchPackage.cs
index ca3f5e1..bc0eedc 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreatePatchPackage.cs
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreatePatchPackage.cs
@@ -11,7 +11,10 @@ namespace YooAsset.Editor
void IBuildTask.Run(BuildContext context)
{
var buildParameters = context.GetContextObject();
- CopyPatchFiles(buildParameters);
+ if (buildParameters.Parameters.DryRunBuild == false)
+ {
+ CopyPatchFiles(buildParameters);
+ }
}
///
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreateReport.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreateReport.cs
index 5ec5800..e472f62 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreateReport.cs
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskCreateReport.cs
@@ -35,8 +35,9 @@ namespace YooAsset.Editor
buildReport.Summary.ShadersBundleName = AssetBundleGrouperSettingData.Setting.ShadersBundleName;
buildReport.Summary.EncryptionServicesClassName = buildParameters.Parameters.EncryptionServices == null ?
"null" : buildParameters.Parameters.EncryptionServices.GetType().FullName;
-
+
// 构建参数
+ buildReport.Summary.DryRunBuild = buildParameters.Parameters.DryRunBuild;
buildReport.Summary.ForceRebuild = buildParameters.Parameters.ForceRebuild;
buildReport.Summary.BuildinTags = buildParameters.Parameters.BuildinTags;
buildReport.Summary.CompressOption = buildParameters.Parameters.CompressOption;
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskEncryption.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskEncryption.cs
index e9d840f..6804b3a 100644
--- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskEncryption.cs
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskEncryption.cs
@@ -26,9 +26,18 @@ namespace YooAsset.Editor
var buildParameters = context.GetContextObject();
var buildMapContext = context.GetContextObject();
- EncryptionContext encryptionContext = new EncryptionContext();
- encryptionContext.EncryptList = EncryptFiles(buildParameters, buildMapContext);
- context.SetContextObject(encryptionContext);
+ if (buildParameters.Parameters.DryRunBuild)
+ {
+ EncryptionContext encryptionContext = new EncryptionContext();
+ encryptionContext.EncryptList = new List();
+ context.SetContextObject(encryptionContext);
+ }
+ else
+ {
+ EncryptionContext encryptionContext = new EncryptionContext();
+ encryptionContext.EncryptList = EncryptFiles(buildParameters, buildMapContext);
+ context.SetContextObject(encryptionContext);
+ }
}
///
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskVerifyBuildResult.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskVerifyBuildResult.cs
new file mode 100644
index 0000000..ea28328
--- /dev/null
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskVerifyBuildResult.cs
@@ -0,0 +1,168 @@
+using System;
+using System.Linq;
+using System.IO;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEditor;
+using UnityEngine;
+
+namespace YooAsset.Editor
+{
+ public class TaskVerifyBuildResult : IBuildTask
+ {
+ void IBuildTask.Run(BuildContext context)
+ {
+ var buildParametersContext = context.GetContextObject();
+ var unityManifestContext = context.GetContextObject();
+
+ // 验证构建结果
+ if (buildParametersContext.Parameters.VerifyBuildingResult)
+ {
+ VerifyingBuildingResult(context, unityManifestContext.UnityManifest);
+ }
+ }
+
+ ///
+ /// 验证构建结果
+ ///
+ private void VerifyingBuildingResult(BuildContext context, AssetBundleManifest unityManifest)
+ {
+ var buildParameters = context.GetContextObject();
+ var buildMapContext = context.GetContextObject();
+ string[] buildedBundles = unityManifest.GetAllAssetBundles();
+
+ // 1. 过滤掉原生Bundle
+ List expectBundles = new List(buildedBundles.Length);
+ foreach(var bundleInfo in buildMapContext.BundleInfos)
+ {
+ if (bundleInfo.IsRawFile == false)
+ expectBundles.Add(bundleInfo);
+ }
+
+ // 2. 验证数量
+ if (buildedBundles.Length != expectBundles.Count)
+ {
+ Debug.LogWarning($"构建过程中可能存在无效的资源,导致和预期构建的Bundle数量不一致!");
+ }
+
+ // 3. 正向验证Bundle
+ foreach (var bundleName in buildedBundles)
+ {
+ if (buildMapContext.IsContainsBundle(bundleName) == false)
+ {
+ throw new Exception($"Should never get here !");
+ }
+ }
+
+ // 4. 反向验证Bundle
+ bool isPass = true;
+ foreach (var expectBundle in expectBundles)
+ {
+ bool isMatch = false;
+ foreach (var buildedBundle in buildedBundles)
+ {
+ if (buildedBundle == expectBundle.BundleName)
+ {
+ isMatch = true;
+ break;
+ }
+ }
+ if (isMatch == false)
+ {
+ isPass = false;
+ Debug.LogWarning($"没有找到预期构建的Bundle文件 : {expectBundle.BundleName}");
+ }
+ }
+ if(isPass == false)
+ {
+ throw new Exception("构建结果验证没有通过,请参考警告日志!");
+ }
+
+ // 5. 验证Asset
+ if(buildParameters.Parameters.DryRunBuild == false)
+ {
+ int progressValue = 0;
+ foreach (var buildedBundle in buildedBundles)
+ {
+ string filePath = $"{buildParameters.PipelineOutputDirectory}/{buildedBundle}";
+ string[] allBuildinAssetPaths = GetAssetBundleAllAssets(filePath);
+ string[] expectBuildinAssetPaths = buildMapContext.GetBuildinAssetPaths(buildedBundle);
+ if (expectBuildinAssetPaths.Length != allBuildinAssetPaths.Length)
+ {
+ Debug.LogWarning($"构建的Bundle文件内的资源对象数量和预期不匹配 : {buildedBundle}");
+ isPass = false;
+ continue;
+ }
+
+ foreach (var buildinAssetPath in allBuildinAssetPaths)
+ {
+ var guid = AssetDatabase.AssetPathToGUID(buildinAssetPath);
+ if (string.IsNullOrEmpty(guid))
+ {
+ Debug.LogWarning($"无效的资源路径,请检查路径是否带有特殊符号或中文:{buildinAssetPath}");
+ isPass = false;
+ continue;
+ }
+
+ bool isMatch = false;
+ foreach (var exceptBuildAssetPath in expectBuildinAssetPaths)
+ {
+ var guidExcept = AssetDatabase.AssetPathToGUID(exceptBuildAssetPath);
+ if (guid == guidExcept)
+ {
+ isMatch = true;
+ break;
+ }
+ }
+ if (isMatch == false)
+ {
+ Debug.LogWarning($"在构建的Bundle文件里发现了没有匹配的资源对象:{buildinAssetPath}");
+ isPass = false;
+ continue;
+ }
+ }
+
+ EditorTools.DisplayProgressBar("验证构建结果", ++progressValue, buildedBundles.Length);
+ }
+ EditorTools.ClearProgressBar();
+ if (isPass == false)
+ {
+ throw new Exception("构建结果验证没有通过,请参考警告日志!");
+ }
+ }
+
+ // 卸载所有加载的Bundle
+ Debug.Log("构建结果验证成功!");
+ }
+
+ ///
+ /// 解析.manifest文件并获取资源列表
+ ///
+ private string[] GetAssetBundleAllAssets(string filePath)
+ {
+ string manifestFilePath = $"{filePath}.manifest";
+ List assetLines = new List();
+ using (StreamReader reader = File.OpenText(manifestFilePath))
+ {
+ string content;
+ bool findTarget = false;
+ while (null != (content = reader.ReadLine()))
+ {
+ if (content.StartsWith("Dependencies:"))
+ break;
+ if (findTarget == false && content.StartsWith("Assets:"))
+ findTarget = true;
+ if (findTarget)
+ {
+ if (content.StartsWith("- "))
+ {
+ string assetPath = content.TrimStart("- ".ToCharArray());
+ assetLines.Add(assetPath);
+ }
+ }
+ }
+ }
+ return assetLines.ToArray();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskVerifyBuildResult.cs.meta b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskVerifyBuildResult.cs.meta
new file mode 100644
index 0000000..14d6cd1
--- /dev/null
+++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildTasks/TaskVerifyBuildResult.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b883ac0c3c25e8143847a9326e2961cf
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/AssetListReporterViewer.cs b/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/AssetListReporterViewer.cs
index e9da48d..586d882 100644
--- a/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/AssetListReporterViewer.cs
+++ b/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/AssetListReporterViewer.cs
@@ -234,7 +234,7 @@ namespace YooAsset.Editor
label.style.unityTextAlign = TextAnchor.MiddleLeft;
label.style.marginLeft = 3f;
//label.style.flexGrow = 1f;
- label.style.width = 250;
+ label.style.width = 280;
element.Add(label);
}
diff --git a/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/AssetListReporterViewer.uxml b/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/AssetListReporterViewer.uxml
index facc4b3..3771057 100644
--- a/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/AssetListReporterViewer.uxml
+++ b/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/AssetListReporterViewer.uxml
@@ -11,7 +11,7 @@
-
+
diff --git a/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/BundleListReporterViewer.cs b/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/BundleListReporterViewer.cs
index c83d035..56db149 100644
--- a/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/BundleListReporterViewer.cs
+++ b/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/BundleListReporterViewer.cs
@@ -145,7 +145,7 @@ namespace YooAsset.Editor
label.style.unityTextAlign = TextAnchor.MiddleLeft;
label.style.marginLeft = 3f;
//label.style.flexGrow = 1f;
- label.style.width = 250;
+ label.style.width = 280;
element.Add(label);
}
@@ -237,7 +237,7 @@ namespace YooAsset.Editor
label.style.unityTextAlign = TextAnchor.MiddleLeft;
label.style.marginLeft = 3f;
//label.style.flexGrow = 1f;
- label.style.width = 250;
+ label.style.width = 280;
element.Add(label);
}
diff --git a/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/BundleListReporterViewer.uxml b/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/BundleListReporterViewer.uxml
index 754b497..2c8b222 100644
--- a/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/BundleListReporterViewer.uxml
+++ b/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/BundleListReporterViewer.uxml
@@ -4,7 +4,7 @@
-
+
@@ -13,7 +13,7 @@
-
+
diff --git a/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/SummaryReporterViewer.cs b/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/SummaryReporterViewer.cs
index 6ffc527..6b36904 100644
--- a/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/SummaryReporterViewer.cs
+++ b/Assets/YooAsset/Editor/AssetBundleReporter/VisualViewers/SummaryReporterViewer.cs
@@ -76,6 +76,7 @@ namespace YooAsset.Editor
_items.Add(new ItemWrapper(string.Empty, string.Empty));
_items.Add(new ItemWrapper("构建参数", string.Empty));
+ _items.Add(new ItemWrapper("DryRunBuild", $"{buildReport.Summary.DryRunBuild}"));
_items.Add(new ItemWrapper("ForceRebuild", $"{buildReport.Summary.ForceRebuild}"));
_items.Add(new ItemWrapper("BuildinTags", $"{buildReport.Summary.BuildinTags}"));
_items.Add(new ItemWrapper("CompressOption", $"{buildReport.Summary.CompressOption}"));