Consume Harmony via NuGet instead of submodule#2354
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughRemoves the ChangesHarmony submodule → NuGet + optional local source
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 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 |
C# FwHeadless Unit Tests48 tests 48 ✅ 15s ⏱️ Results for commit bac24cf. ♻️ This comment has been updated with latest results. |
C# Unit Tests165 tests 165 ✅ 20s ⏱️ Results for commit bac24cf. ♻️ This comment has been updated with latest results. |
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
# Conflicts: # backend/harmony
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@backend/Harmony.props`:
- Line 7: The HarmonySourcePath property definition uses
System.IO.Path::GetFullPath with backslash path separators which fails on
Linux/macOS platforms where backslashes are treated as literal characters.
Replace the System.IO.Path::GetFullPath call with MSBuild::NormalizePath in both
the RepoRoot property (line 6) and the HarmonySourcePath property (line 7) to
ensure cross-platform path composition compatibility with .NET 8+. This will
properly normalize path separators on all platforms without hardcoding
platform-specific backslashes.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: ca966302-8f6a-4360-a75e-b6a20968c469
📒 Files selected for processing (32)
.claude/agents/harmony-sentinel.md.claude/hooks/session-start.sh.claude/skills/_shared/apply-rules.md.claude/skills/_shared/dispatch-matrix.md.github/workflows/codeql.yml.github/workflows/fw-lite.yaml.github/workflows/integration-test-gha.yaml.github/workflows/integration-test.yaml.github/workflows/lexbox-api.yaml.github/workflows/lexbox-fw-headless.yaml.gitignore.gitmodulesFwLiteOnly.slnfLexBox.slnLexBoxOnly.slnfREADME.mdTaskfile.ymlbackend/AGENTS.mdbackend/Directory.Build.propsbackend/Directory.Build.props.user.examplebackend/Directory.Packages.propsbackend/FwHeadless/FwHeadless.csprojbackend/FwHeadless/dev.Dockerfilebackend/FwLite/LcmCrdt/LcmCrdt.csprojbackend/Harmony.App.References.propsbackend/Harmony.Core.References.propsbackend/Harmony.Linq2db.References.propsbackend/Harmony.propsbackend/LexBoxApi/LexBoxApi.csprojbackend/LexBoxApi/dev.Dockerfilebackend/LexData/LexData.csprojbackend/harmony
💤 Files with no reviewable changes (9)
- .gitmodules
- .github/workflows/lexbox-fw-headless.yaml
- .github/workflows/lexbox-api.yaml
- .github/workflows/codeql.yml
- backend/harmony
- .github/workflows/integration-test.yaml
- .github/workflows/integration-test-gha.yaml
- Taskfile.yml
- LexBox.sln
Summary
backend/harmonygit submodule; LexBox now depends onSIL.Harmony,SIL.Harmony.Core, andSIL.Harmony.Linq2dbfrom NuGet (pinned inDirectory.Packages.props).UseHarmonySource=true, default sibling path../harmony).task setup.Test plan
dotnet build backend/LexBoxApi/LexBoxApi.csprojdotnet build backend/FwLite/LcmCrdt/LcmCrdt.csprojdotnet build backend/FwHeadless/FwHeadless.csprojUseHarmonySource=truewith a local../harmonyclone