Introduce canonicalization library for Windows subst drives - #22129
Conversation
ef25e44 to
5d4429c
比较
subst drives
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.
👍
|
@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.