Uh oh!
There was an error while loading. Please reload this page.
Introduce canonicalization library for Windows subst drives - #22129
Conversation
ef25e44 to
5d4429cComparesubst drivesThere was a problem hiding this comment.
Pull request overview
Adds Windows subst drive canonicalization to Go and Java/Kotlin extraction paths.
Changes:
- Loads and invokes
canonicalize.dllfrom Go and Java. - Adds the Go Windows-system dependency and Bazel wiring.
- Updates cross-language integration expectations for canonical paths.
Show a summary per file
| File | Description |
|---|---|
MODULE.bazel | Exposes the Go Windows dependency. |
go/extractor/extractor.go | Resolves subst paths during normalization. |
go/extractor/util/subst_windows.go | Implements Windows DLL integration. |
go/extractor/util/subst_other.go | Adds the non-Windows no-op. |
go/extractor/util/BUILD.bazel | Builds platform-specific resolver sources. |
go/extractor/go.mod | Adds x/sys. |
go/extractor/go.sum | Records dependency checksums. |
java/kotlin-extractor/src/main/java/com/semmle/util/files/SubstResolver.java | Adds Java native resolution. |
java/kotlin-extractor/src/main/java/com/semmle/util/files/FileUtil.java | Applies resolution during canonicalization. |
go/ql/integration-tests/subst/file.expected | Updates Go expected paths. |
java/ql/integration-tests/java/subst/file.expected | Updates Java/Kotlin expected paths. |
javascript/ql/integration-tests/subst/file.expected | Updates JavaScript expected paths. |
python/ql/integration-tests/subst/file.expected | Updates Python expected paths. |
ruby/ql/integration-tests/subst/file.expected | Updates Ruby expected paths. |
rust/ql/integration-tests/subst/file.expected | Updates Rust expected paths. |
csharp/ql/integration-tests/windows/subst/file.expected | Updates C# expected paths. |
Review details
- Files reviewed: 15/16 changed files
- Comments generated: 2
- Review effort level: Medium
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
geoffw0
left a comment
There was a problem hiding this comment.
LGTM, subject to the internal PR getting approval, tests passing etc.
👍
jketema
commented
Jul 28, 2026
@geoffw0 could you re-approve? Note that the tests here cannot pass, because of the dependency on the internal PR. |
geoffw0
commented
Jul 28, 2026
It's not the tests that slowed me down, it's the force push. I'll check it over now and re-approve... |
jketema
commented
Jul 28, 2026
My test remark was a comment on:
Apologies for the force push, but it's just the easiest way to resolve submodule conflicts. The only thing new after the force push is 726705b, which is in line with the internal changes. |
Yep, I see the internal PR is now approved and has passing tests. 👍 |
Uh oh!
There was an error while loading. Please reload this page.
See internal PR for a full explanation.