otclient-redemption/docs
Eduardo Dantas 4a2de8de5f
fix(cache): canonicalize manifest line endings (#1802)
fix(cache): canonicalize vcpkg manifest line endings

Normalize manifest line endings when generating shared build-cache fingerprints so equivalent vcpkg configurations use the same dependency pool regardless of Git checkout settings.

Root cause:
- Equivalent Git content can be checked out using CRLF or LF depending on core.autocrlf and local Git configuration.
- The previous shared-cache resolver hashed raw manifest bytes.
- Two otherwise equivalent worktrees could therefore resolve to different dependency fingerprints and separate vcpkg pools.

Main changes:
- Normalize CRLF and LF when fingerprinting vcpkg.json.
- Normalize CRLF and LF when fingerprinting vcpkg-configuration.json.
- Keep registry, overlay, port, patch, and arbitrary payload trees byte-signatured because their contents may be line-ending-sensitive.
- Advance the shared-cache contract from schema v3 to schema v4.
- Retain recognition of schemas v1 through v3 for auditing and transient cleanup.
- Require an exact full-fingerprint metadata match before cleaning fingerprint-specific transient data.
- Keep shortened cache directory names backed by full SHA-256 identity metadata.
- Update shared-cache setup and cleanup tooling for the v4 layout.
- Update documentation with v4 fingerprinting behavior, migration rules, cleanup procedures, and cache paths.

Windows build updates:
- Move Windows CI to the Visual Studio 2026 hosted runner.
- Verify that Visual Studio 2026 provides the native C++ v145 toolset.
- Configure MSBuild discovery specifically for the Visual Studio 18.x prerelease range.
- Remove the previous Chocolatey-based Visual Studio toolset installation path.

Validation:
- Reproduced the Release x64 dependency contract in two worktrees with different manifest line endings.
- Verified both worktrees now resolve to the same schema v4 dependency fingerprint.
- Ran SharedBuildCache.cmake in CMake script mode.
- Verified the windows-release preset listing.
- Ran PowerShell parser checks.
- Ran JSON parsing checks.
- Ran documentation portability checks.
- Ran git diff --check.

This keeps shared vcpkg cache identity stable across CRLF and LF checkouts while preserving byte-sensitive hashing for dependency content where physical file representation can affect behavior.
2026-08-14 17:56:59 -03:00
..
building docs: reorganize and update project documentation (#1740) 2026-06-11 19:50:58 -03:00
development fix(cache): canonicalize manifest line endings (#1802) 2026-08-14 17:56:59 -03:00
exampleHTML_flex improve(HTML): add full flex support (#1672) 2026-04-18 16:26:35 -03:00
client-assets-auto-install.md fix: make client asset installation archive-first (#1739) 2026-06-12 09:11:21 -03:00
convert_stdext_format.py improve: add support to fmt format to logger class (#1169) 2025-05-27 20:47:23 -03:00
generate_spell_data.py improve: game_actionbar multiple Bars (#1354) 2025-10-25 04:28:51 -03:00
otml-variables.md feat: add otml alias resolution (#1634) 2026-02-25 18:00:53 -03:00
string-encoding-policy.md refactor: string encoding to use utf8cpp and add tests (#1443) 2025-11-20 02:08:02 -03:00