From 0320993aef478741a1b347276e4cca6133baa9dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?JasonXuDeveloper=20-=20=E5=82=91?= Date: Sat, 31 Jan 2026 09:11:10 +1100 Subject: [PATCH 1/2] fix(core): reset error baseline after filtering YooAsset catalog errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BuildManager was incorrectly detecting false positive errors during step 4/4 (GeneratePolymorphicCodes) because the error count baseline was not reset after step 3/4 filtered out known YooAsset catalog errors. The YooAsset PreprocessBuildCatalog throws "Object reference not set" when CatalogTools.CreateCatalogFile is called with null decryption services during HybridCLR's GenerateAll step. This error is correctly filtered by CheckForErrorsExcluding, but subsequent steps still saw the elevated error count. Co-Authored-By: Claude Opus 4.5 Signed-off-by: JasonXuDeveloper - 傑 --- .../Editor/CustomEditor/BuildManager.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/UnityProject/Packages/com.jasonxudeveloper.jengine.core/Editor/CustomEditor/BuildManager.cs b/UnityProject/Packages/com.jasonxudeveloper.jengine.core/Editor/CustomEditor/BuildManager.cs index 95608c61..046a1356 100644 --- a/UnityProject/Packages/com.jasonxudeveloper.jengine.core/Editor/CustomEditor/BuildManager.cs +++ b/UnityProject/Packages/com.jasonxudeveloper.jengine.core/Editor/CustomEditor/BuildManager.cs @@ -237,6 +237,10 @@ private void ExecuteCurrentStep() CheckForErrorsExcluding("Step 3/4 failed - HybridCLR generation failed", "Create package main catalog file failed"); + // Reset error baseline after filtering excluded errors + // so subsequent steps don't see the ignored YooAsset catalog errors + _errorCountAtStart = GetUnityErrorCount(); + _currentStep = BuildStep.GeneratePolymorphicCodes; break; From 1bca1ead3fe0e5946ea09745b1bf62e67f5a3f10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?JasonXuDeveloper=20-=20=E5=82=91?= Date: Sat, 31 Jan 2026 09:16:23 +1100 Subject: [PATCH 2/2] chore: ignore code coverage settings file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Settings.json for Unity Code Coverage is only used for local development. CI uses its own coverageOptions in the workflow file, so this file doesn't need to be tracked. Co-Authored-By: Claude Opus 4.5 Signed-off-by: JasonXuDeveloper - 傑 --- .gitignore | 3 ++ .../Settings.json | 41 ------------------- 2 files changed, 3 insertions(+), 41 deletions(-) delete mode 100644 UnityProject/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json diff --git a/.gitignore b/.gitignore index e169d7ed..09713c44 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,9 @@ UnityProject/Build/* /UnityProject/HybridCLRData /UnityProject/UserSettings +# Unity package settings (local preferences) +/UnityProject/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json + # Unity Test Framework temporary scenes /UnityProject/Assets/InitTestScene*.unity /UnityProject/Assets/InitTestScene*.unity.meta diff --git a/UnityProject/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json b/UnityProject/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json deleted file mode 100644 index ee83dca5..00000000 --- a/UnityProject/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "m_Dictionary": { - "m_DictionaryValues": [ - { - "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "IncludeAssemblies", - "value": "{\"m_Value\":\"JEngine.UI,JEngine.UI.Editor,JEngine.Util\"}" - }, - { - "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "Path", - "value": "{\"m_Value\":\"{ProjectPath}\"}" - }, - { - "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "HistoryPath", - "value": "{\"m_Value\":\"{ProjectPath}\"}" - }, - { - "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "PathsToInclude", - "value": "{\"m_Value\":\"\"}" - }, - { - "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "PathsToExclude", - "value": "{\"m_Value\":\"{ProjectPath}/Assets/Samples/**,{ProjectPath}/Packages/com.code-philosophy.hybridclr@8.9.0/**\"}" - }, - { - "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "EnableCodeCoverage", - "value": "{\"m_Value\":true}" - }, - { - "type": "System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", - "key": "VerbosityLevel", - "value": "{\"m_Value\":1}" - } - ] - } -} \ No newline at end of file