Introduce canonicalization library for Windows subst drives - #22129
Conversation
ff4372b to
8b2ab6e
Compare
ef25e44 to
5d4429c
Compare
subst drives
5d4429c to
b13df1f
Compare
There 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
geoffw0
left a comment
There was a problem hiding this comment.
LGTM, subject to the internal PR getting approval, tests passing etc.
👍
f4e920c to
726705b
Compare
|
@geoffw0 could you re-approve? Note that the tests here cannot pass, because of the dependency on the internal PR. |
|
It's not the tests that slowed me down, it's the force push. I'll check it over now and re-approve... |
|
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. 👍 |
See internal PR for a full explanation.