Remove ScrChecks project and replace with streamlined parser#764
Remove ScrChecks project and replace with streamlined parser#764jasonleenaylor merged 3 commits intomainfrom
Conversation
The ScrChecks project under Lib/src was over-engineered for the limited functionality actually used by FieldWorks. Only character sequence parsing (grouping base characters with combining diacritics) was needed. - Delete entire Lib/src/ScrChecks/ project and tests - Remove unused interfaces: IChecksDataSource, IScriptureCheck, RecordErrorEventArgs - Remove ScrChecks from solution, build targets, installer targets - Replace with ParseCharacterSequences in TextFileDataSource using StringInfo.GetTextElementEnumerator for correct Unicode handling - Update CharContextCtrl and ValidCharactersDlg to remove reflection-based loading of ScrChecks - Clean up FwDirectoryFinder ScrChecks directory helper - Add comprehensive tests for diacritics, surrogate pairs, supplementary plane chars, and minority language scripts - Add Directory.props for Lib to standardize with Src Co-Authored-By: Claude
NUnit Tests 1 files ± 0 1 suites ±0 5m 41s ⏱️ -32s Results for commit 40e189d. ± Comparison against base commit dc5f62b. This pull request removes 382 and adds 26 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
| } | ||
|
|
||
| [Test] | ||
| public void GetReferences_EmptyLines_Handled() |
| public string ScrRefString | ||
| { | ||
| get { return string.Format(m_scrRefFmtString, m_iLine); } | ||
| set { ; } |
| /// Not used. | ||
| /// </summary> | ||
| /// -------------------------------------------------------------------------------- | ||
| /// <summary>Not used.</summary> |
There was a problem hiding this comment.
Since we're no longer implementing an interface, can we get rid of all these unused properties?
| public BCVRef MissingEndRef | ||
| { | ||
| get { return null; } | ||
| set { ; } |
There was a problem hiding this comment.
a couple more empty set blocks may be removable
papeh
left a comment
There was a problem hiding this comment.
From the installer build log (ValidateStagedAssemblies target):
Stale DLL validation failed - 1 problem(s):
ConvertLib.dll: staged=ConvertLib, Version=1.0.4840.23294, Culture=neutral, PublicKeyToken=null, build=ConvertLib, Version=1.0.9571.28134, Culture=neutral, PublicKeyToken=null (assembly mismatch)
D:\a\FieldWorks\FieldWorks\Build\Installer.legacy.targets(414,3): error MSB3073: The command "powershell -NoProfile -ExecutionPolicy Bypass -File "D:\a\FieldWorks\FieldWorks\Build\Agent\Remove-StaleDlls.ps1" -OutputDir "D:\a\FieldWorks\FieldWorks/BuildDir/FieldWorks_9.3_Build_x64/objects/FieldWorks" -RepoRoot "D:\a\FieldWorks\FieldWorks" -ReferenceDir "D:\a\FieldWorks\FieldWorks\Output\Release" -ValidateOnly" exited with code 1. [D:\a\FieldWorks\FieldWorks\Build\InstallerBuild.proj]
papeh
left a comment
There was a problem hiding this comment.
Looks good if https://github.com/sillsdev/FieldWorks/actions/runs/23161000648 passes
* Currently all the artifacts from projects under Lib\src are committed in DistFiles - leave that for future evaluation
The ScrChecks project under Lib/src was over-engineered for the limited functionality actually used by FieldWorks. Only character sequence parsing (grouping base characters with combining diacritics) was needed.
Co-Authored-By: Claude
This change is