build: fix version ini case sensitivity#2160
Conversation
📝 WalkthroughWalkthroughThis PR standardizes feature configuration files by updating CMake version detection to be case-insensitive and normalizing 35 feature INI files to use uppercase Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
No actionable suggestions for changed features. |
There was a problem hiding this comment.
🧹 Nitpick comments (3)
features/Grass Lighting/Shaders/Features/GrassLighting.ini (1)
2-2: Suggested PR title/body metadata polish.Consider a conventional-commit title like:
build(features): normalize ini version key casing
If this fixes a tracked bug, addFixes #<id>(orCloses #<id>) in the PR description.As per coding guidelines: "provide suggestions for Conventional Commit Titles" and "Issue References".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@features/Grass` Lighting/Shaders/Features/GrassLighting.ini at line 2, Update the PR metadata to follow Conventional Commits by using a commit title like "build(features): normalize ini version key casing" and include an issue reference if this change fixes a tracked bug (add "Fixes #<id>" or "Closes #<id>" in the PR description); specifically mention the INI key "Version = 2-0-1" in the PR body so reviewers know which configuration line is affected.features/IBL/Shaders/Features/ImageBasedLighting.ini (1)
2-2: Consider adding an issue-closing keyword in the PR description.
If this fixes a tracked bug, addCloses #<id>(orFixes #<id>) for traceability.As per coding guidelines, PRs fixing bugs should include GitHub issue references like “Fixes
#123” or “Closes#123”.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@features/IBL/Shaders/Features/ImageBasedLighting.ini` at line 2, The PR currently updates ImageBasedLighting.ini (see Version = 1-1-0) but lacks an issue-closing keyword; update the PR description to include a GitHub issue reference using a closing keyword such as "Fixes #<id>" or "Closes #<id>" (replace <id> with the tracked issue number) so the change is linked to and automatically closes the corresponding issue.CMakeLists.txt (1)
200-200: Partial case-insensitivity in regex.
[Vv]ersionmatchesVersionandversionbut not other casings (e.g.,VERSION,VErsion). Given all feature INIs are being normalized toVersionin this PR, this is sufficient in practice, but if the intent is true case-insensitive parsing, consider[Vv][Ee][Rr][Ss][Ii][Oo][Nn]or normalizingCONFIG_VALUEviastring(TOLOWER ...)before the regex match.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@CMakeLists.txt` at line 200, The REGEX MATCH currently uses "[Vv]ersion = ..." which only accepts two casings; to make matching truly case-insensitive either change the regex to match all letter-case permutations like "[Vv][Ee][Rr][Ss][Ii][Oo][Nn] = ..." or normalize the variable used in the match (e.g., call string(TOLOWER CONFIG_VALUE ...) or similar before REGEX MATCH) and adjust the pattern to "version = ..."; update the REGEX MATCH invocation and any use of CONFIG_VALUE accordingly so all case variants (e.g., VERSION, Version, vErSiOn) are accepted consistently.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@CMakeLists.txt`:
- Line 200: The REGEX MATCH currently uses "[Vv]ersion = ..." which only accepts
two casings; to make matching truly case-insensitive either change the regex to
match all letter-case permutations like "[Vv][Ee][Rr][Ss][Ii][Oo][Nn] = ..." or
normalize the variable used in the match (e.g., call string(TOLOWER CONFIG_VALUE
...) or similar before REGEX MATCH) and adjust the pattern to "version = ...";
update the REGEX MATCH invocation and any use of CONFIG_VALUE accordingly so all
case variants (e.g., VERSION, Version, vErSiOn) are accepted consistently.
In `@features/Grass` Lighting/Shaders/Features/GrassLighting.ini:
- Line 2: Update the PR metadata to follow Conventional Commits by using a
commit title like "build(features): normalize ini version key casing" and
include an issue reference if this change fixes a tracked bug (add "Fixes #<id>"
or "Closes #<id>" in the PR description); specifically mention the INI key
"Version = 2-0-1" in the PR body so reviewers know which configuration line is
affected.
In `@features/IBL/Shaders/Features/ImageBasedLighting.ini`:
- Line 2: The PR currently updates ImageBasedLighting.ini (see Version = 1-1-0)
but lacks an issue-closing keyword; update the PR description to include a
GitHub issue reference using a closing keyword such as "Fixes #<id>" or "Closes
#<id>" (replace <id> with the tracked issue number) so the change is linked to
and automatically closes the corresponding issue.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 7b7bdab6-e090-4197-8ab1-bbdb750a6d8d
📒 Files selected for processing (35)
CMakeLists.txtfeatures/Cloud Shadows/Shaders/Features/CloudShadows.inifeatures/Dynamic Cubemaps/Shaders/Features/DynamicCubemaps.inifeatures/Exponential Height Fog/Shaders/Features/ExponentialHeightFog.inifeatures/Extended Materials/Shaders/Features/ExtendedMaterials.inifeatures/Extended Translucency/Shaders/Features/ExtendedTranslucency.inifeatures/Grass Collision/Shaders/Features/GrassCollision.inifeatures/Grass Lighting/Shaders/Features/GrassLighting.inifeatures/HDR Display/Shaders/Features/HDRDisplay.inifeatures/Hair Specular/Shaders/Features/HairSpecular.inifeatures/IBL/Shaders/Features/ImageBasedLighting.inifeatures/Interior Sun/Shaders/Features/InteriorSun.inifeatures/Inverse Square Lighting/Shaders/Features/InverseSquareLighting.inifeatures/LOD Blending/Shaders/Features/LODBlending.inifeatures/Light Limit Fix/Shaders/Features/LightLimitFix.inifeatures/Linear Lighting/Shaders/Features/LinearLighting.inifeatures/Performance Overlay/Shaders/Features/PerformanceOverlay.inifeatures/RenderDoc/Shaders/Features/RenderDoc.inifeatures/Screen Space GI/Shaders/Features/ScreenSpaceGI.inifeatures/Screen-Space Shadows/Shaders/Features/ScreenSpaceShadows.inifeatures/Sky Sync/Shaders/Features/SkySync.inifeatures/Skylighting/Shaders/Features/Skylighting.inifeatures/Subsurface Scattering/Shaders/Features/SubsurfaceScattering.inifeatures/Terrain Blending/Shaders/Features/TerrainBlending.inifeatures/Terrain Helper/Shaders/Features/TerrainHelper.inifeatures/Terrain Shadows/Shaders/Features/TerrainShadows.inifeatures/Terrain Variation/Shaders/Features/TerrainVariation.inifeatures/Unified Water/Shaders/Features/UnifiedWater.inifeatures/Upscaling/Shaders/Features/Upscaling.inifeatures/VR/Shaders/Features/VR.inifeatures/Volumetric Lighting/Shaders/Features/VolumetricLighting.inifeatures/Volumetric Shadows/Shaders/Features/VolumetricShadows.inifeatures/Water Effects/Shaders/Features/WaterEffects.inifeatures/Weather Editor/Shaders/Features/WeatherEditor.inifeatures/Wetness Effects/Shaders/Features/WetnessEffects.ini
|
✅ A pre-release build is available for this PR: |
(cherry picked from commit d0bc11a)
Summary by CodeRabbit
Release Notes