release: 1.4.15

This commit is contained in:
2026-06-10 21:52:43 +08:00
parent f0a21e33ec
commit f1084a5db9
5 changed files with 280 additions and 48 deletions

View File

@@ -31,7 +31,7 @@ namespace Topon_Adapter.Editor
EditorGUILayout.LabelField("TopOn Android 调试工具", EditorStyles.boldLabel);
EditorGUILayout.HelpBox(
"正式 release 默认关闭 DebugUI。关闭后构建后处理会剔除 debugger-ui 及其诊断库,避免 anr_data.db 降级崩溃。",
"正式 release 默认关闭 DebugUI。verbto util 独立控制,默认强制指定到 1.1.3,避免回落到存在数据库降级风险的旧版本。",
MessageType.Info);
EditorGUI.BeginChangeCheck();
@@ -39,15 +39,19 @@ namespace Topon_Adapter.Editor
new GUIContent("启用 DebugUI 依赖", "仅用于开发/测试包;正式 release 应保持关闭。"),
settings.enableDebuggerUI);
using (new EditorGUI.DisabledScope(!settings.enableDebuggerUI))
settings.forceVerbtoUtilVersion = EditorGUILayout.Toggle(
new GUIContent("强制指定 verbto util", "无论 DebugUI 是否启用,都声明下方的 com.verbto.tools:util 坐标;取消勾选后交给 Taku/宿主项目自动处理。"),
settings.forceVerbtoUtilVersion);
using (new EditorGUI.DisabledScope(!settings.forceVerbtoUtilVersion))
{
settings.forceVerbtoUtilVersion = EditorGUILayout.Toggle(
new GUIContent("强制 util 1.1.3", "启用 DebugUI 时同时声明 com.verbto.tools:util:1.1.3,避免回落到 1.0.6。"),
settings.forceVerbtoUtilVersion);
settings.verbtoUtilDependency = EditorGUILayout.TextField(
new GUIContent("util 坐标", "默认 com.verbto.tools:util:1.1.3Taku 修复后可取消强制指定。"),
ToponBuildSettingsStore.GetVerbtoUtilDependency(settings));
}
settings.stripResolvedDebuggerArtifacts = EditorGUILayout.Toggle(
new GUIContent("禁用时剔除旧产物", "关闭 DebugUI 时,从生成的 Gradle 工程中删除旧 Resolver 带入的 debugger-ui/util AAR。"),
new GUIContent("禁用时剔除 DebugUI 旧产物", "关闭 DebugUI 时,从生成的 Gradle 工程中删除旧 Resolver 带入的 debugger-ui AAR不会把 verbto util 当作 DebugUI 一起剔除。"),
settings.stripResolvedDebuggerArtifacts);
if (EditorGUI.EndChangeCheck())
@@ -65,6 +69,15 @@ namespace Topon_Adapter.Editor
EditorGUILayout.HelpBox("当前配置不会打包 TopOn DebugUI。", MessageType.None);
}
if (settings.forceVerbtoUtilVersion)
{
EditorGUILayout.HelpBox($"当前会强制声明 {ToponBuildSettingsStore.GetVerbtoUtilDependency(settings)}。", MessageType.None);
}
else
{
EditorGUILayout.HelpBox("当前不会干预 verbto util 版本,由 Taku/宿主项目依赖解析决定。", MessageType.Info);
}
DrawResolverStatus(context);
}
@@ -90,7 +103,7 @@ namespace Topon_Adapter.Editor
}
else
{
report.AddMessage("TopOn DebugUI 已关闭,构建产物会剔除 debugger-ui/util 诊断库。");
report.AddMessage("TopOn DebugUI 已关闭,构建产物不会打包 debugger-ui。");
}
if (!settings.enableDebuggerUI && ToponBuildSettingsStore.HasStaleDebuggerResolverOutput(context.repositoryRoot))
@@ -98,6 +111,20 @@ namespace Topon_Adapter.Editor
report.AddWarning("检测到旧 Resolver 输出仍包含 TopOn DebugUI本次构建会在生成 Gradle 后剔除,建议后续重新 Resolve。");
}
if (settings.forceVerbtoUtilVersion)
{
var dependency = ToponBuildSettingsStore.GetVerbtoUtilDependency(settings);
report.AddMessage($"TopOn 将强制声明 {dependency}。");
if (ToponBuildSettingsStore.HasUnforcedVerbtoUtilOutput(context.repositoryRoot, dependency))
{
report.AddWarning($"检测到旧 Resolver 输出或本地 AAR 可能不是 {dependency};本次构建会在生成 Gradle 后改写为强制版本。");
}
}
else
{
report.AddMessage("TopOn 不干预 verbto util 版本。");
}
return report;
}
@@ -108,13 +135,26 @@ namespace Topon_Adapter.Editor
private static void DrawResolverStatus(BuildWindowExtensionContext context)
{
var hasStaleOutput = ToponBuildSettingsStore.HasStaleDebuggerResolverOutput(context.repositoryRoot);
var artifacts = ToponBuildSettingsStore.FindResolvedDebuggerArtifacts(context.repositoryRoot);
var profile = context?.profile;
var settings = profile == null
? ToponBuildSettingsStore.CreateDefault()
: ToponBuildSettingsStore.LoadForProfileName(profile.profileName, context.repositoryRoot);
var dependency = ToponBuildSettingsStore.GetVerbtoUtilDependency(settings);
var hasStaleDebuggerOutput = ToponBuildSettingsStore.HasStaleDebuggerResolverOutput(context.repositoryRoot);
var hasUnforcedUtilOutput = ToponBuildSettingsStore.HasUnforcedVerbtoUtilOutput(context.repositoryRoot, dependency);
var debuggerArtifacts = ToponBuildSettingsStore.FindResolvedDebuggerArtifacts(context.repositoryRoot);
var utilArtifacts = ToponBuildSettingsStore.FindResolvedVerbtoUtilArtifacts(context.repositoryRoot);
EditorGUILayout.Space(6);
EditorGUILayout.LabelField("本地依赖状态", EditorStyles.boldLabel);
EditorGUILayout.LabelField("旧 Resolver 输出", hasStaleOutput ? "检测到 debugger-ui/util" : "未检测到");
EditorGUILayout.LabelField("已解析 AAR/JAR", artifacts.Count == 0 ? "未检测到" : $"{artifacts.Count} 个");
EditorGUILayout.LabelField("旧 DebugUI 输出", hasStaleDebuggerOutput ? "检测到 debugger-ui" : "未检测到");
EditorGUILayout.LabelField("DebugUI AAR/JAR", debuggerArtifacts.Count == 0 ? "未检测到" : $"{debuggerArtifacts.Count} 个");
EditorGUILayout.LabelField("verbto util 强制", settings.forceVerbtoUtilVersion ? dependency : "自动/不干预");
EditorGUILayout.LabelField("verbto util 本地产物", utilArtifacts.Count == 0 ? "未检测到" : $"{utilArtifacts.Count} 个");
if (settings.forceVerbtoUtilVersion && hasUnforcedUtilOutput)
{
EditorGUILayout.HelpBox("检测到本地/Resolver 中存在非强制版本的 verbto utilAndroid Gradle 工程生成后会改写依赖,并清理旧版本本地产物。", MessageType.Warning);
}
}
}
}