From 1e33a81d6b21dd775cd54bcbe86cbc756155b522 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Jul 2026 12:52:11 +0000 Subject: [PATCH 1/8] Initial plan From 77c962b4d9f7b9cba3832750c0ab9a947988dc20 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Jul 2026 12:58:02 +0000 Subject: [PATCH 2/8] Add shared canonicalize library and Go/Kotlin integrations - Add shared/canonicalize/ C++ DLL that resolves Windows paths via GetFinalPathNameByHandleW with a full-path cache (matching C#'s CanonicalPathCache strategy). - Add JNI interface (canonicalize_jni.cpp) for Kotlin/Java consumers. - Add NativeCanonicalizer.java to kotlin-extractor for loading the DLL and exposing a resolve() method. - Call NativeCanonicalizer.resolve() in FileUtil.tryMakeCanonical(). - Add go/extractor/canonicalize package (Windows + non-Windows impls). - Use canonicalize.CanonicalizePath() in go extractor normalizedPath(). - Update Bazel build files for all new targets and deps. --- go/BUILD.bazel | 7 + go/extractor/BUILD.bazel | 1 + go/extractor/canonicalize/BUILD.bazel | 11 ++ .../canonicalize/canonicalize_other.go | 5 + .../canonicalize/canonicalize_windows.go | 65 +++++++ go/extractor/extractor.go | 3 +- .../java/com/semmle/util/files/FileUtil.java | 4 +- .../util/files/NativeCanonicalizer.java | 41 +++++ shared/canonicalize/BUILD.bazel | 31 ++++ shared/canonicalize/canonicalize.cpp | 163 ++++++++++++++++++ shared/canonicalize/canonicalize.h | 31 ++++ shared/canonicalize/canonicalize_jni.cpp | 25 +++ 12 files changed, 384 insertions(+), 3 deletions(-) create mode 100644 go/extractor/canonicalize/BUILD.bazel create mode 100644 go/extractor/canonicalize/canonicalize_other.go create mode 100644 go/extractor/canonicalize/canonicalize_windows.go create mode 100644 java/kotlin-extractor/src/main/java/com/semmle/util/files/NativeCanonicalizer.java create mode 100644 shared/canonicalize/BUILD.bazel create mode 100644 shared/canonicalize/canonicalize.cpp create mode 100644 shared/canonicalize/canonicalize.h create mode 100644 shared/canonicalize/canonicalize_jni.cpp diff --git a/go/BUILD.bazel b/go/BUILD.bazel index db719d88fb91..3a2bf7d78483 100644 --- a/go/BUILD.bazel +++ b/go/BUILD.bazel @@ -56,9 +56,16 @@ codeql_pkg_files( prefix = "tools/{CODEQL_PLATFORM}", ) +codeql_pkg_files( + name = "canonicalize-dll", + srcs = ["//shared/canonicalize:pkg"], + prefix = "tools/{CODEQL_PLATFORM}", +) + codeql_pack( name = "go", srcs = [ + ":canonicalize-dll", ":extractor-pack-arch", ":resources", "//go/codeql-tools", diff --git a/go/extractor/BUILD.bazel b/go/extractor/BUILD.bazel index 23158e25b15f..3a303868ae5f 100644 --- a/go/extractor/BUILD.bazel +++ b/go/extractor/BUILD.bazel @@ -16,6 +16,7 @@ go_library( importpath = "github.com/github/codeql-go/extractor", visibility = ["//visibility:public"], deps = [ + "//go/extractor/canonicalize", "//go/extractor/dbscheme", "//go/extractor/diagnostics", "//go/extractor/srcarchive", diff --git a/go/extractor/canonicalize/BUILD.bazel b/go/extractor/canonicalize/BUILD.bazel new file mode 100644 index 000000000000..02ee70ea6ac4 --- /dev/null +++ b/go/extractor/canonicalize/BUILD.bazel @@ -0,0 +1,11 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "canonicalize", + srcs = [ + "canonicalize_other.go", + "canonicalize_windows.go", + ], + importpath = "github.com/github/codeql-go/extractor/canonicalize", + visibility = ["//visibility:public"], +) diff --git a/go/extractor/canonicalize/canonicalize_other.go b/go/extractor/canonicalize/canonicalize_other.go new file mode 100644 index 000000000000..84880032456d --- /dev/null +++ b/go/extractor/canonicalize/canonicalize_other.go @@ -0,0 +1,5 @@ +//go:build !windows + +package canonicalize + +func CanonicalizePath(path string) string { return path } diff --git a/go/extractor/canonicalize/canonicalize_windows.go b/go/extractor/canonicalize/canonicalize_windows.go new file mode 100644 index 000000000000..e8b28dcb5247 --- /dev/null +++ b/go/extractor/canonicalize/canonicalize_windows.go @@ -0,0 +1,65 @@ +//go:build windows + +package canonicalize + +import ( + "os" + "path/filepath" + "syscall" + "unsafe" +) + +var ( + dll *syscall.DLL + procCanonicalize *syscall.Proc + procFree *syscall.Proc + available bool +) + +func init() { + dist := os.Getenv("CODEQL_DIST") + if dist == "" { + return + } + dllPath := filepath.Join(dist, "tools", "win64", "codeql_canonical_path.dll") + d, err := syscall.LoadDLL(dllPath) + if err != nil { + return + } + p, err := d.FindProc("canonicalize_path_u8") + if err != nil { + return + } + f, _ := d.FindProc("canonicalize_free_u8") + dll = d + procCanonicalize = p + procFree = f + available = true +} + +func CanonicalizePath(path string) string { + if !available { + return path + } + pathBytes := append([]byte(path), 0) + ret, _, _ := procCanonicalize.Call(uintptr(unsafe.Pointer(&pathBytes[0]))) + if ret == 0 { + return path + } + result := bytePtrToString((*byte)(unsafe.Pointer(ret))) + if procFree != nil { + procFree.Call(ret) + } + return result +} + +func bytePtrToString(p *byte) string { + if p == nil { + return "" + } + var n int + for ptr := unsafe.Pointer(p); *(*byte)(ptr) != 0; n++ { + ptr = unsafe.Add(ptr, 1) + } + return string(unsafe.Slice(p, n)) +} diff --git a/go/extractor/extractor.go b/go/extractor/extractor.go index 158f0029704d..472b748ed6a9 100644 --- a/go/extractor/extractor.go +++ b/go/extractor/extractor.go @@ -22,6 +22,7 @@ import ( "sync" "time" + "github.com/github/codeql-go/extractor/canonicalize" "github.com/github/codeql-go/extractor/dbscheme" "github.com/github/codeql-go/extractor/diagnostics" "github.com/github/codeql-go/extractor/srcarchive" @@ -766,7 +767,7 @@ func normalizedPath(ast *ast.File, fset *token.FileSet) string { if err != nil { return file } - return path + return canonicalize.CanonicalizePath(path) } // extractFile extracts AST information for the given file diff --git a/java/kotlin-extractor/src/main/java/com/semmle/util/files/FileUtil.java b/java/kotlin-extractor/src/main/java/com/semmle/util/files/FileUtil.java index 79ce2d8d8d3d..47c53ca817dd 100644 --- a/java/kotlin-extractor/src/main/java/com/semmle/util/files/FileUtil.java +++ b/java/kotlin-extractor/src/main/java/com/semmle/util/files/FileUtil.java @@ -1242,11 +1242,11 @@ public static String relativePathLink (File f, File base) public static File tryMakeCanonical (File f) { try { - return f.getCanonicalFile(); + return NativeCanonicalizer.resolve(f.getCanonicalFile()); } catch (IOException ignored) { Exceptions.ignore(ignored, "Can't log error: Could be too verbose."); - return new File(simplifyPath(f)); + return NativeCanonicalizer.resolve(new File(simplifyPath(f))); } } diff --git a/java/kotlin-extractor/src/main/java/com/semmle/util/files/NativeCanonicalizer.java b/java/kotlin-extractor/src/main/java/com/semmle/util/files/NativeCanonicalizer.java new file mode 100644 index 000000000000..60bf686022ff --- /dev/null +++ b/java/kotlin-extractor/src/main/java/com/semmle/util/files/NativeCanonicalizer.java @@ -0,0 +1,41 @@ +package com.semmle.util.files; + +import java.io.File; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class NativeCanonicalizer { + private static final boolean available; + + static { + boolean loaded = false; + if (File.separatorChar == '\\') { + String dist = System.getenv("CODEQL_DIST"); + if (dist != null && !dist.isEmpty()) { + try { + Path library = Paths.get(dist).resolve("tools").resolve("win64") + .resolve("codeql_canonical_path.dll").toAbsolutePath(); + System.load(library.toString()); + loaded = true; + } catch (RuntimeException | UnsatisfiedLinkError ignored) { + } + } + } + available = loaded; + } + + private NativeCanonicalizer() {} + + // UTF-16 JNI interface — no encoding conversion + private static native String nativeCanonicalizePath(String path); + + public static File resolve(File path) { + if (!available) return path; + String result = nativeCanonicalizePath(path.getAbsolutePath()); + return result != null ? new File(result) : path; + } + + public static boolean isAvailable() { + return available; + } +} diff --git a/shared/canonicalize/BUILD.bazel b/shared/canonicalize/BUILD.bazel new file mode 100644 index 000000000000..a9ee2b507209 --- /dev/null +++ b/shared/canonicalize/BUILD.bazel @@ -0,0 +1,31 @@ +load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library") +load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") + +cc_binary( + name = "codeql_canonical_path.dll", + srcs = ["canonicalize.cpp", "canonicalize_jni.cpp", "canonicalize.h"], + defines = ["CODEQL_CANONICALIZE_EXPORTS"], + linkopts = ["-lkernel32"], + linkshared = True, + target_compatible_with = ["@platforms//os:windows"], + deps = ["@rules_java//toolchains:jni"], + visibility = ["//visibility:public"], +) + +cc_library( + name = "canonicalize", + srcs = ["canonicalize.cpp"], + hdrs = ["canonicalize.h"], + defines = ["CODEQL_CANONICALIZE_EXPORTS"], + linkopts = ["-lkernel32"], + target_compatible_with = ["@platforms//os:windows"], + visibility = ["//visibility:public"], +) + +pkg_files( + name = "pkg", + srcs = [":codeql_canonical_path.dll"], + attributes = pkg_attributes(mode = "0755"), + target_compatible_with = ["@platforms//os:windows"], + visibility = ["//visibility:public"], +) diff --git a/shared/canonicalize/canonicalize.cpp b/shared/canonicalize/canonicalize.cpp new file mode 100644 index 000000000000..d5f7ba8aeca1 --- /dev/null +++ b/shared/canonicalize/canonicalize.cpp @@ -0,0 +1,163 @@ +#ifdef _WIN32 +#include "canonicalize.h" +#include +#include +#include +#include +#include + +namespace { + +class PathCache { +public: + static PathCache& instance() { + static PathCache cache; + return cache; + } + + const wchar_t* canonicalize(const wchar_t* path) { + std::wstring key(path); + + // Fast path: shared (read) lock for cache hit + { + std::shared_lock lock(mutex_); + auto it = cache_.find(key); + if (it != cache_.end()) { + return _wcsdup(it->second.c_str()); + } + } + + // Slow path: resolve and insert under exclusive lock + std::wstring resolved = resolve(path); + if (resolved.empty()) return nullptr; + + std::unique_lock lock(mutex_); + // Check again under exclusive lock (another thread may have inserted) + auto it = cache_.find(key); + if (it != cache_.end()) { + return _wcsdup(it->second.c_str()); + } + + // Evict a random entry if at capacity (matches C# strategy) + if (cache_.size() >= max_capacity_) { + auto evict = cache_.begin(); + std::advance(evict, std::rand() % cache_.size()); + cache_.erase(evict); + } + + auto [inserted, _] = cache_.emplace(std::move(key), std::move(resolved)); + return _wcsdup(inserted->second.c_str()); + } + +private: + PathCache() = default; + + static constexpr size_t max_capacity_ = 4096; + std::unordered_map cache_; + std::shared_mutex mutex_; + + static std::wstring resolve(const wchar_t* path) { + HANDLE h = CreateFileW( + path, + 0, + FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, + nullptr, + OPEN_EXISTING, + FILE_FLAG_BACKUP_SEMANTICS, + nullptr); + + if (h == INVALID_HANDLE_VALUE) { + return resolve_nonexistent(path); + } + + std::wstring result = get_final_path(h); + CloseHandle(h); + + if (result.empty()) return {}; + return strip_prefix(result); + } + + static std::wstring get_final_path(HANDLE h) { + wchar_t buf[MAX_PATH]; + DWORD len = GetFinalPathNameByHandleW(h, buf, MAX_PATH, FILE_NAME_NORMALIZED); + + if (len > 0 && len < MAX_PATH) { + return std::wstring(buf, len); + } + if (len >= MAX_PATH) { + std::wstring big(len + 1, L'\0'); + len = GetFinalPathNameByHandleW(h, big.data(), len + 1, FILE_NAME_NORMALIZED); + if (len > 0) return std::wstring(big.data(), len); + } + return {}; + } + + static std::wstring strip_prefix(const std::wstring& path) { + constexpr std::wstring_view unc_prefix = L"\\\\?\\UNC\\"; + constexpr std::wstring_view lp_prefix = L"\\\\?\\"; + + if (path.starts_with(unc_prefix)) { + return L"\\" + path.substr(unc_prefix.size() - 1); + } + if (path.starts_with(lp_prefix)) { + return std::wstring(path.substr(lp_prefix.size())); + } + return path; + } + + // For non-existent files: canonicalize parent, append filename + // (matches C#'s ConstructCanonicalPath) + static std::wstring resolve_nonexistent(const wchar_t* path) { + std::wstring spath(path); + auto sep = spath.find_last_of(L"\\/"); + if (sep == std::wstring::npos) return {}; + + std::wstring parent = spath.substr(0, sep); + std::wstring name = spath.substr(sep + 1); + + std::wstring canonical_parent = resolve(parent.c_str()); + if (canonical_parent.empty()) return {}; + + return canonical_parent + L"\\" + name; + } +}; + +} // namespace + +extern "C" { + +CODEQL_API const wchar_t* canonicalize_path_w(const wchar_t* path) { + if (!path || !*path) return nullptr; + return PathCache::instance().canonicalize(path); +} + +CODEQL_API void canonicalize_free_w(const wchar_t* path) { + free(const_cast(path)); +} + +CODEQL_API const char* canonicalize_path_u8(const char* path) { + if (!path || !*path) return nullptr; + + int wlen = MultiByteToWideChar(CP_UTF8, 0, path, -1, nullptr, 0); + if (wlen <= 0) return nullptr; + std::wstring wpath(wlen - 1, L'\0'); + MultiByteToWideChar(CP_UTF8, 0, path, -1, wpath.data(), wlen); + + const wchar_t* wresult = PathCache::instance().canonicalize(wpath.c_str()); + if (!wresult) return nullptr; + + int ulen = WideCharToMultiByte(CP_UTF8, 0, wresult, -1, nullptr, 0, nullptr, nullptr); + if (ulen <= 0) { free(const_cast(wresult)); return nullptr; } + char* result = static_cast(malloc(ulen)); + WideCharToMultiByte(CP_UTF8, 0, wresult, -1, result, ulen, nullptr, nullptr); + free(const_cast(wresult)); + + return result; +} + +CODEQL_API void canonicalize_free_u8(const char* path) { + free(const_cast(path)); +} + +} // extern "C" +#endif diff --git a/shared/canonicalize/canonicalize.h b/shared/canonicalize/canonicalize.h new file mode 100644 index 000000000000..ce852145772e --- /dev/null +++ b/shared/canonicalize/canonicalize.h @@ -0,0 +1,31 @@ +#ifndef CODEQL_CANONICALIZE_H +#define CODEQL_CANONICALIZE_H + +#ifdef _WIN32 + +#ifdef CODEQL_CANONICALIZE_EXPORTS +#define CODEQL_API __declspec(dllexport) +#else +#define CODEQL_API __declspec(dllimport) +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +// UTF-16 interface (for JNI / Java / Kotlin) +CODEQL_API const wchar_t* canonicalize_path_w(const wchar_t* path); +CODEQL_API void canonicalize_free_w(const wchar_t* path); + +// UTF-8 interface (for Go) +CODEQL_API const char* canonicalize_path_u8(const char* path); +CODEQL_API void canonicalize_free_u8(const char* path); + +#ifdef __cplusplus +} +#endif + +#endif // _WIN32 +#endif // CODEQL_CANONICALIZE_H diff --git a/shared/canonicalize/canonicalize_jni.cpp b/shared/canonicalize/canonicalize_jni.cpp new file mode 100644 index 000000000000..0bb8dc4fc482 --- /dev/null +++ b/shared/canonicalize/canonicalize_jni.cpp @@ -0,0 +1,25 @@ +#ifdef _WIN32 +#include +#include "canonicalize.h" + +extern "C" { + +JNIEXPORT jstring JNICALL +Java_com_semmle_util_files_NativeCanonicalizer_nativeCanonicalizePath( + JNIEnv *env, jclass cls, jstring jpath) { + + const jchar* path = env->GetStringChars(jpath, nullptr); + const wchar_t* result = canonicalize_path_w(reinterpret_cast(path)); + env->ReleaseStringChars(jpath, path); + + if (result == nullptr) return nullptr; + + jstring jresult = env->NewString( + reinterpret_cast(result), + static_cast(wcslen(result))); + canonicalize_free_w(result); + return jresult; +} + +} // extern "C" +#endif From 17cbc4990db80380893c68ad16b8c512879fe416 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Jul 2026 13:02:00 +0000 Subject: [PATCH 3/8] Use std::mt19937 instead of std::rand for cache eviction Replace std::rand() with std::mt19937 seeded by std::random_device for less predictable cache eviction. Also use .first from emplace() instead of structured binding with ignored second element. --- .../package-not-found-with-go-mod/work/go.mod | 4 -- .../package-not-found-with-go-mod/work/go.sum | 1 - .../go-mod-without-version/src/go.mod | 1 + .../test-extraction/src/go.sum | 45 ------------------- .../traced-extraction/src/go.sum | 45 ------------------- .../src/subdir2/go.mod | 4 +- .../src/subdir2/go.sum | 31 +------------ .../extractor-tests/go-mod-comments/go.mod | 3 +- go/ql/test/go.mod | 1 - .../semmle/go/dependencies/codeql-go/go.mod | 5 --- .../semmle/go/dependencies/sweb/go.mod | 26 ----------- shared/canonicalize/canonicalize.cpp | 8 ++-- 12 files changed, 10 insertions(+), 164 deletions(-) diff --git a/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.mod b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.mod index 52f47d8d3e25..eb0b661feb98 100644 --- a/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.mod +++ b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.mod @@ -1,7 +1,3 @@ go 1.19 -require ( - github.com/linode/linode-docs-theme v0.0.0-20220622135843-166f108e1933 -) - module test diff --git a/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.sum b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.sum index c4c3e8d972df..e69de29bb2d1 100644 --- a/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.sum +++ b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.sum @@ -1 +0,0 @@ -github.com/linode/linode-docs-theme v0.0.0-20220622135843-166f108e1933 h1:QchGQS6xESuyjdlNJEjvq2ftGX0sCTAhPhD5hAOJVMI= diff --git a/go/ql/integration-tests/go-mod-without-version/src/go.mod b/go/ql/integration-tests/go-mod-without-version/src/go.mod index 95a82c8aaf51..ded1135300c5 100644 --- a/go/ql/integration-tests/go-mod-without-version/src/go.mod +++ b/go/ql/integration-tests/go-mod-without-version/src/go.mod @@ -4,3 +4,4 @@ require golang.org/x/sys v0.18.0 // indirect module test +go 1.24.13 diff --git a/go/ql/integration-tests/test-extraction/src/go.sum b/go/ql/integration-tests/test-extraction/src/go.sum index a8e1b59ae4b1..e69de29bb2d1 100644 --- a/go/ql/integration-tests/test-extraction/src/go.sum +++ b/go/ql/integration-tests/test-extraction/src/go.sum @@ -1,45 +0,0 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/go/ql/integration-tests/traced-extraction/src/go.sum b/go/ql/integration-tests/traced-extraction/src/go.sum index a8e1b59ae4b1..e69de29bb2d1 100644 --- a/go/ql/integration-tests/traced-extraction/src/go.sum +++ b/go/ql/integration-tests/traced-extraction/src/go.sum @@ -1,45 +0,0 @@ -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod index 7a2ca787004f..f33ad2ef3e86 100644 --- a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod +++ b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod @@ -1,7 +1,5 @@ go 1.14 -require ( - github.com/microsoft/go-mssqldb v0.12.0 -) +require github.com/microsoft/go-mssqldb v0.12.0 module subdir2 diff --git a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum index 432407e3db02..506dc22b5e60 100644 --- a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum +++ b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum @@ -1,30 +1 @@ -github.com/Azure/go-autorest v13.3.2+incompatible h1:VxzPyuhtnlBOzc4IWCZHqpyH2d+QMLQEuy3wREyY4oc= -github.com/Azure/go-autorest/autorest v0.9.0 h1:MRvx8gncNaXJqOoLmhNjUAKh33JJF8LyxPhomEtOsjs= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.4 h1:1cM+NmKw91+8h5vfjgzK4ZGLuN72k87XVZBWyGwNjUM= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.1 h1:pZdL8o72rK+avFWl+p9nE8RWi1JInZrWJYlnpfXJwHk= -github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0 h1:yW+Zlqf26583pE43KhfnhFcdmSWlm5Ew6bxipnr/tbM= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/tracing v0.5.0 h1:TRn4WjSnkcSy5AEG3pnbtFSwNtwzjr4VYyQflFE619k= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/microsoft/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73 h1:OGNva6WhsKst5OZf7eZOklDztV3hwtTHovdrLHV+MsA= -github.com/microsoft/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 h1:ULYEB3JvPRE/IfO+9uO7vKV/xzVTO7XPAwm8xbf4w2g= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +github.com/microsoft/go-mssqldb v0.12.0 h1:nuQ0ygjq+dPZx78vkGH98aXZsk8tIdWHJaFV7ydhnqs= diff --git a/go/ql/test/extractor-tests/go-mod-comments/go.mod b/go/ql/test/extractor-tests/go-mod-comments/go.mod index fadc7257586e..f9e9c3f644f0 100644 --- a/go/ql/test/extractor-tests/go-mod-comments/go.mod +++ b/go/ql/test/extractor-tests/go-mod-comments/go.mod @@ -1,6 +1,7 @@ // atthetop module smowton/test // endofline + // onitsown go 1.14 -// afterwards +// afterwards diff --git a/go/ql/test/go.mod b/go/ql/test/go.mod index 2420613ecee8..f90aed12a7bf 100644 --- a/go/ql/test/go.mod +++ b/go/ql/test/go.mod @@ -1,4 +1,3 @@ module github.com/github/codeql-go/ql/test go 1.21 - diff --git a/go/ql/test/library-tests/semmle/go/dependencies/codeql-go/go.mod b/go/ql/test/library-tests/semmle/go/dependencies/codeql-go/go.mod index 06ecc65d84ae..eac8c4d8e452 100644 --- a/go/ql/test/library-tests/semmle/go/dependencies/codeql-go/go.mod +++ b/go/ql/test/library-tests/semmle/go/dependencies/codeql-go/go.mod @@ -1,8 +1,3 @@ module github.com/github/codeql-go go 1.13 - -require ( - golang.org/x/mod v0.2.0 - golang.org/x/tools v0.0.0-20200302225559-9b52d559c609 -) diff --git a/go/ql/test/library-tests/semmle/go/dependencies/sweb/go.mod b/go/ql/test/library-tests/semmle/go/dependencies/sweb/go.mod index 096134411f9b..876fde8baa2b 100644 --- a/go/ql/test/library-tests/semmle/go/dependencies/sweb/go.mod +++ b/go/ql/test/library-tests/semmle/go/dependencies/sweb/go.mod @@ -35,29 +35,3 @@ replace google.golang.org/appengine => github.com/golang/appengine v1.6.1 replace golang.org/x/mobile => github.com/golang/mobile v0.0.0-20190607214518-6fa95d984e88 replace golang.org/x/image => github.com/golang/image v0.0.0-20190622003408-7e034cad6442 - -require ( - github.com/Joker/jade v1.0.0 // indirect - github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398 // indirect - github.com/aymerick/raymond v2.0.2+incompatible // indirect - github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385 // indirect - github.com/fatih/structs v1.1.0 // indirect - github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4 // indirect - github.com/iris-contrib/blackfriday v2.0.0+incompatible // indirect - github.com/iris-contrib/formBinder v0.0.0-20190104093907-fbd5963f41e1 // indirect - github.com/iris-contrib/go.uuid v2.0.0+incompatible // indirect - github.com/json-iterator/go v1.1.6 // indirect - github.com/kataras/golog v0.0.0-20190624001437-99c81de45f40 // indirect - github.com/kataras/iris v11.1.1+incompatible - github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d // indirect - github.com/klauspost/compress v1.7.2 // indirect - github.com/klauspost/cpuid v1.2.1 // indirect - github.com/microcosm-cc/bluemonday v1.0.2 // indirect - github.com/mitchellh/go-homedir v1.1.0 - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.1 // indirect - github.com/ryanuber/columnize v2.1.0+incompatible // indirect - github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect - github.com/spf13/cobra v0.0.5 - github.com/spf13/viper v1.4.0 -) diff --git a/shared/canonicalize/canonicalize.cpp b/shared/canonicalize/canonicalize.cpp index d5f7ba8aeca1..e09b80f42d01 100644 --- a/shared/canonicalize/canonicalize.cpp +++ b/shared/canonicalize/canonicalize.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include namespace { @@ -40,12 +40,13 @@ class PathCache { // Evict a random entry if at capacity (matches C# strategy) if (cache_.size() >= max_capacity_) { + std::uniform_int_distribution dist(0, cache_.size() - 1); auto evict = cache_.begin(); - std::advance(evict, std::rand() % cache_.size()); + std::advance(evict, dist(rng_)); cache_.erase(evict); } - auto [inserted, _] = cache_.emplace(std::move(key), std::move(resolved)); + auto inserted = cache_.emplace(std::move(key), std::move(resolved)).first; return _wcsdup(inserted->second.c_str()); } @@ -55,6 +56,7 @@ class PathCache { static constexpr size_t max_capacity_ = 4096; std::unordered_map cache_; std::shared_mutex mutex_; + std::mt19937 rng_{std::random_device{}()}; static std::wstring resolve(const wchar_t* path) { HANDLE h = CreateFileW( From 1a12cd68ecf560dca53bd9524e02d8dfdabe6459 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Jul 2026 13:07:24 +0000 Subject: [PATCH 4/8] Revert integration-test changes --- .../package-not-found-with-go-mod/work/go.mod | 4 ++ .../package-not-found-with-go-mod/work/go.sum | 1 + .../go-mod-without-version/src/go.mod | 1 - .../test-extraction/src/go.sum | 45 +++++++++++++++++++ .../traced-extraction/src/go.sum | 45 +++++++++++++++++++ .../src/subdir2/go.mod | 4 +- .../src/subdir2/go.sum | 31 ++++++++++++- 7 files changed, 128 insertions(+), 3 deletions(-) diff --git a/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.mod b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.mod index eb0b661feb98..52f47d8d3e25 100644 --- a/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.mod +++ b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.mod @@ -1,3 +1,7 @@ go 1.19 +require ( + github.com/linode/linode-docs-theme v0.0.0-20220622135843-166f108e1933 +) + module test diff --git a/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.sum b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.sum index e69de29bb2d1..c4c3e8d972df 100644 --- a/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.sum +++ b/go/ql/integration-tests/diagnostics/package-not-found-with-go-mod/work/go.sum @@ -0,0 +1 @@ +github.com/linode/linode-docs-theme v0.0.0-20220622135843-166f108e1933 h1:QchGQS6xESuyjdlNJEjvq2ftGX0sCTAhPhD5hAOJVMI= diff --git a/go/ql/integration-tests/go-mod-without-version/src/go.mod b/go/ql/integration-tests/go-mod-without-version/src/go.mod index ded1135300c5..95a82c8aaf51 100644 --- a/go/ql/integration-tests/go-mod-without-version/src/go.mod +++ b/go/ql/integration-tests/go-mod-without-version/src/go.mod @@ -4,4 +4,3 @@ require golang.org/x/sys v0.18.0 // indirect module test -go 1.24.13 diff --git a/go/ql/integration-tests/test-extraction/src/go.sum b/go/ql/integration-tests/test-extraction/src/go.sum index e69de29bb2d1..a8e1b59ae4b1 100644 --- a/go/ql/integration-tests/test-extraction/src/go.sum +++ b/go/ql/integration-tests/test-extraction/src/go.sum @@ -0,0 +1,45 @@ +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/go/ql/integration-tests/traced-extraction/src/go.sum b/go/ql/integration-tests/traced-extraction/src/go.sum index e69de29bb2d1..a8e1b59ae4b1 100644 --- a/go/ql/integration-tests/traced-extraction/src/go.sum +++ b/go/ql/integration-tests/traced-extraction/src/go.sum @@ -0,0 +1,45 @@ +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod index f33ad2ef3e86..7a2ca787004f 100644 --- a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod +++ b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.mod @@ -1,5 +1,7 @@ go 1.14 -require github.com/microsoft/go-mssqldb v0.12.0 +require ( + github.com/microsoft/go-mssqldb v0.12.0 +) module subdir2 diff --git a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum index 506dc22b5e60..432407e3db02 100644 --- a/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum +++ b/go/ql/integration-tests/two-go-mods-one-failure/src/subdir2/go.sum @@ -1 +1,30 @@ -github.com/microsoft/go-mssqldb v0.12.0 h1:nuQ0ygjq+dPZx78vkGH98aXZsk8tIdWHJaFV7ydhnqs= +github.com/Azure/go-autorest v13.3.2+incompatible h1:VxzPyuhtnlBOzc4IWCZHqpyH2d+QMLQEuy3wREyY4oc= +github.com/Azure/go-autorest/autorest v0.9.0 h1:MRvx8gncNaXJqOoLmhNjUAKh33JJF8LyxPhomEtOsjs= +github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest v0.9.4 h1:1cM+NmKw91+8h5vfjgzK4ZGLuN72k87XVZBWyGwNjUM= +github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/adal v0.8.1 h1:pZdL8o72rK+avFWl+p9nE8RWi1JInZrWJYlnpfXJwHk= +github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/date v0.2.0 h1:yW+Zlqf26583pE43KhfnhFcdmSWlm5Ew6bxipnr/tbM= +github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= +github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= +github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= +github.com/Azure/go-autorest/tracing v0.5.0 h1:TRn4WjSnkcSy5AEG3pnbtFSwNtwzjr4VYyQflFE619k= +github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= +github.com/microsoft/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73 h1:OGNva6WhsKst5OZf7eZOklDztV3hwtTHovdrLHV+MsA= +github.com/microsoft/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413 h1:ULYEB3JvPRE/IfO+9uO7vKV/xzVTO7XPAwm8xbf4w2g= +golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From c80785831209585253ee70317ef297bc7cd3efd8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Jul 2026 13:12:12 +0000 Subject: [PATCH 5/8] Revert remaining go/ql/test changes --- .../extractor-tests/go-mod-comments/go.mod | 3 +-- go/ql/test/go.mod | 1 + .../semmle/go/dependencies/codeql-go/go.mod | 5 ++++ .../semmle/go/dependencies/sweb/go.mod | 26 +++++++++++++++++++ 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/go/ql/test/extractor-tests/go-mod-comments/go.mod b/go/ql/test/extractor-tests/go-mod-comments/go.mod index f9e9c3f644f0..fadc7257586e 100644 --- a/go/ql/test/extractor-tests/go-mod-comments/go.mod +++ b/go/ql/test/extractor-tests/go-mod-comments/go.mod @@ -1,7 +1,6 @@ // atthetop module smowton/test // endofline - // onitsown go 1.14 - // afterwards + diff --git a/go/ql/test/go.mod b/go/ql/test/go.mod index f90aed12a7bf..2420613ecee8 100644 --- a/go/ql/test/go.mod +++ b/go/ql/test/go.mod @@ -1,3 +1,4 @@ module github.com/github/codeql-go/ql/test go 1.21 + diff --git a/go/ql/test/library-tests/semmle/go/dependencies/codeql-go/go.mod b/go/ql/test/library-tests/semmle/go/dependencies/codeql-go/go.mod index eac8c4d8e452..06ecc65d84ae 100644 --- a/go/ql/test/library-tests/semmle/go/dependencies/codeql-go/go.mod +++ b/go/ql/test/library-tests/semmle/go/dependencies/codeql-go/go.mod @@ -1,3 +1,8 @@ module github.com/github/codeql-go go 1.13 + +require ( + golang.org/x/mod v0.2.0 + golang.org/x/tools v0.0.0-20200302225559-9b52d559c609 +) diff --git a/go/ql/test/library-tests/semmle/go/dependencies/sweb/go.mod b/go/ql/test/library-tests/semmle/go/dependencies/sweb/go.mod index 876fde8baa2b..096134411f9b 100644 --- a/go/ql/test/library-tests/semmle/go/dependencies/sweb/go.mod +++ b/go/ql/test/library-tests/semmle/go/dependencies/sweb/go.mod @@ -35,3 +35,29 @@ replace google.golang.org/appengine => github.com/golang/appengine v1.6.1 replace golang.org/x/mobile => github.com/golang/mobile v0.0.0-20190607214518-6fa95d984e88 replace golang.org/x/image => github.com/golang/image v0.0.0-20190622003408-7e034cad6442 + +require ( + github.com/Joker/jade v1.0.0 // indirect + github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398 // indirect + github.com/aymerick/raymond v2.0.2+incompatible // indirect + github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385 // indirect + github.com/fatih/structs v1.1.0 // indirect + github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4 // indirect + github.com/iris-contrib/blackfriday v2.0.0+incompatible // indirect + github.com/iris-contrib/formBinder v0.0.0-20190104093907-fbd5963f41e1 // indirect + github.com/iris-contrib/go.uuid v2.0.0+incompatible // indirect + github.com/json-iterator/go v1.1.6 // indirect + github.com/kataras/golog v0.0.0-20190624001437-99c81de45f40 // indirect + github.com/kataras/iris v11.1.1+incompatible + github.com/kataras/pio v0.0.0-20190103105442-ea782b38602d // indirect + github.com/klauspost/compress v1.7.2 // indirect + github.com/klauspost/cpuid v1.2.1 // indirect + github.com/microcosm-cc/bluemonday v1.0.2 // indirect + github.com/mitchellh/go-homedir v1.1.0 + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.1 // indirect + github.com/ryanuber/columnize v2.1.0+incompatible // indirect + github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect + github.com/spf13/cobra v0.0.5 + github.com/spf13/viper v1.4.0 +) From bfa81c30f40bfdd70617426022d998bad4647d6b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Jul 2026 13:23:21 +0000 Subject: [PATCH 6/8] Fix bazel formatting and non-windows build of canonicalize-dll --- go/BUILD.bazel | 5 ++++- shared/canonicalize/BUILD.bazel | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/go/BUILD.bazel b/go/BUILD.bazel index 3a2bf7d78483..3588f81195e1 100644 --- a/go/BUILD.bazel +++ b/go/BUILD.bazel @@ -58,7 +58,10 @@ codeql_pkg_files( codeql_pkg_files( name = "canonicalize-dll", - srcs = ["//shared/canonicalize:pkg"], + srcs = select({ + "@platforms//os:windows": ["//shared/canonicalize:pkg"], + "//conditions:default": [], + }), prefix = "tools/{CODEQL_PLATFORM}", ) diff --git a/shared/canonicalize/BUILD.bazel b/shared/canonicalize/BUILD.bazel index a9ee2b507209..afb18fc29bd3 100644 --- a/shared/canonicalize/BUILD.bazel +++ b/shared/canonicalize/BUILD.bazel @@ -3,13 +3,17 @@ load("@rules_pkg//pkg:mappings.bzl", "pkg_attributes", "pkg_files") cc_binary( name = "codeql_canonical_path.dll", - srcs = ["canonicalize.cpp", "canonicalize_jni.cpp", "canonicalize.h"], + srcs = [ + "canonicalize.cpp", + "canonicalize.h", + "canonicalize_jni.cpp", + ], defines = ["CODEQL_CANONICALIZE_EXPORTS"], linkopts = ["-lkernel32"], linkshared = True, target_compatible_with = ["@platforms//os:windows"], - deps = ["@rules_java//toolchains:jni"], visibility = ["//visibility:public"], + deps = ["@rules_java//toolchains:jni"], ) cc_library( From f7f537631c5b96d6f03edfeaea5b31e8aaaad707 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Jul 2026 13:40:08 +0000 Subject: [PATCH 7/8] Replace non-ASCII em-dash in NativeCanonicalizer.java comment --- .../main/java/com/semmle/util/files/NativeCanonicalizer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/kotlin-extractor/src/main/java/com/semmle/util/files/NativeCanonicalizer.java b/java/kotlin-extractor/src/main/java/com/semmle/util/files/NativeCanonicalizer.java index 60bf686022ff..61f665670fd4 100644 --- a/java/kotlin-extractor/src/main/java/com/semmle/util/files/NativeCanonicalizer.java +++ b/java/kotlin-extractor/src/main/java/com/semmle/util/files/NativeCanonicalizer.java @@ -26,7 +26,7 @@ public class NativeCanonicalizer { private NativeCanonicalizer() {} - // UTF-16 JNI interface — no encoding conversion + // UTF-16 JNI interface - no encoding conversion private static native String nativeCanonicalizePath(String path); public static File resolve(File path) { From 57083e7f407e3bd3b2f5f1d62f07e79644e1306d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Jul 2026 13:55:18 +0000 Subject: [PATCH 8/8] Load canonical-path DLL from CODEQL_EXTRACTOR_GO_ROOT, not CODEQL_DIST --- go/extractor/canonicalize/canonicalize_windows.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/go/extractor/canonicalize/canonicalize_windows.go b/go/extractor/canonicalize/canonicalize_windows.go index e8b28dcb5247..c417d40d217d 100644 --- a/go/extractor/canonicalize/canonicalize_windows.go +++ b/go/extractor/canonicalize/canonicalize_windows.go @@ -17,11 +17,11 @@ var ( ) func init() { - dist := os.Getenv("CODEQL_DIST") - if dist == "" { + root := os.Getenv("CODEQL_EXTRACTOR_GO_ROOT") + if root == "" { return } - dllPath := filepath.Join(dist, "tools", "win64", "codeql_canonical_path.dll") + dllPath := filepath.Join(root, "tools", "win64", "codeql_canonical_path.dll") d, err := syscall.LoadDLL(dllPath) if err != nil { return