Skip to content

fix(windows): remove unneeded dirs#80

Closed
richard-ramos wants to merge 4 commits into
mainfrom
fix/dirs
Closed

fix(windows): remove unneeded dirs#80
richard-ramos wants to merge 4 commits into
mainfrom
fix/dirs

Conversation

@richard-ramos

Copy link
Copy Markdown
Member

This is because otherwise, with latest nimble, you can end up exceeding 260 characters, thus ending up with an error due to path being too long

This is because otherwise, with latest nimble, you can end up exceeding 260 characters, thus ending up with an error due to path being too long
Copilot AI review requested due to automatic review settings April 14, 2026 17:57

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Nimble package install manifest to avoid Windows “path too long” failures (260 char limit) by installing only a curated subset of the vendored trees instead of whole directories.

Changes:

  • Replaces installDirs with dynamically generated installFiles based on walking installRoots.
  • Adds a skip list to exclude bulky/unneeded vendor subdirectories (tests/tools/docs/etc.) and hidden paths.
  • Removes the later redundant import os, strutils, sequtils block.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread lsquic.nimble Outdated
Comment on lines +73 to +88
proc collectInstallFiles(root: string) =
for kind, path in walkDir(root):
let norm = normalizeInstallPath(path)
case kind
of pcDir:
if not isSkippedInstallPath(norm):
collectInstallFiles(norm)
of pcFile:
if not isSkippedInstallPath(norm):
installFiles.add(norm)
else:
discard

installFiles = rootInstallFiles
for root in installRoots:
collectInstallFiles(root)

Copilot AI Apr 14, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The install manifest is built by recursively walking installRoots at Nimble file evaluation time, so every Nimble command (e.g., nimble test, nimble tasks, etc.) will traverse the entire vendored libs/ trees. This can noticeably slow down unrelated commands and can also fail early with an OSError if those directories are missing (e.g., partial checkouts) even when the command wouldn’t need installation. Consider moving the directory walk behind an install-only gate (or overriding task install to compute installFiles there), so the expensive filesystem traversal only happens for nimble install/develop.

Copilot uses AI. Check for mistakes.
Copilot AI review requested due to automatic review settings April 14, 2026 20:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread lsquic.nimble
Comment on lines +7 to +46
skipDirs = @[
"benchmarks",
"tests",
"libs/lsquic/bin",
"libs/lsquic/docs",
"libs/lsquic/qir",
"libs/lsquic/tests",
"libs/lsquic/tools",
"libs/lsquic/src/liblsquic/ls-qpack/bin",
"libs/lsquic/src/liblsquic/ls-qpack/fuzz",
"libs/lsquic/src/liblsquic/ls-qpack/test",
"libs/lsquic/src/liblsquic/ls-qpack/tools",
"libs/lsquic/src/lshpack/test",
"libs/lsquic/src/lshpack/bin",
"libs/vac_boringssl/.bcr",
"libs/vac_boringssl/.github",
"libs/vac_boringssl/bench",
"libs/vac_boringssl/cmake",
"libs/vac_boringssl/crypto/cipher/test",
"libs/vac_boringssl/crypto/evp/test",
"libs/vac_boringssl/crypto/fipsmodule/bn/test",
"libs/vac_boringssl/crypto/fipsmodule/policydocs",
"libs/vac_boringssl/crypto/pkcs7/test",
"libs/vac_boringssl/crypto/pkcs8/test",
"libs/vac_boringssl/crypto/rsa/test",
"libs/vac_boringssl/crypto/test",
"libs/vac_boringssl/crypto/x509/test",
"libs/vac_boringssl/docs",
"libs/vac_boringssl/fuzz",
"libs/vac_boringssl/gen/test_support",
"libs/vac_boringssl/infra",
"libs/vac_boringssl/pki",
"libs/vac_boringssl/rust",
"libs/vac_boringssl/ssl/test",
"libs/vac_boringssl/third_party/benchmark",
"libs/vac_boringssl/third_party/googletest",
"libs/vac_boringssl/third_party/wycheproof_testvectors",
"libs/vac_boringssl/tool",
"libs/vac_boringssl/util",
]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nph] reported by reviewdog 🐶

Suggested change
skipDirs = @[
"benchmarks",
"tests",
"libs/lsquic/bin",
"libs/lsquic/docs",
"libs/lsquic/qir",
"libs/lsquic/tests",
"libs/lsquic/tools",
"libs/lsquic/src/liblsquic/ls-qpack/bin",
"libs/lsquic/src/liblsquic/ls-qpack/fuzz",
"libs/lsquic/src/liblsquic/ls-qpack/test",
"libs/lsquic/src/liblsquic/ls-qpack/tools",
"libs/lsquic/src/lshpack/test",
"libs/lsquic/src/lshpack/bin",
"libs/vac_boringssl/.bcr",
"libs/vac_boringssl/.github",
"libs/vac_boringssl/bench",
"libs/vac_boringssl/cmake",
"libs/vac_boringssl/crypto/cipher/test",
"libs/vac_boringssl/crypto/evp/test",
"libs/vac_boringssl/crypto/fipsmodule/bn/test",
"libs/vac_boringssl/crypto/fipsmodule/policydocs",
"libs/vac_boringssl/crypto/pkcs7/test",
"libs/vac_boringssl/crypto/pkcs8/test",
"libs/vac_boringssl/crypto/rsa/test",
"libs/vac_boringssl/crypto/test",
"libs/vac_boringssl/crypto/x509/test",
"libs/vac_boringssl/docs",
"libs/vac_boringssl/fuzz",
"libs/vac_boringssl/gen/test_support",
"libs/vac_boringssl/infra",
"libs/vac_boringssl/pki",
"libs/vac_boringssl/rust",
"libs/vac_boringssl/ssl/test",
"libs/vac_boringssl/third_party/benchmark",
"libs/vac_boringssl/third_party/googletest",
"libs/vac_boringssl/third_party/wycheproof_testvectors",
"libs/vac_boringssl/tool",
"libs/vac_boringssl/util",
]
skipDirs =
@[
"benchmarks", "tests", "libs/lsquic/bin", "libs/lsquic/docs", "libs/lsquic/qir",
"libs/lsquic/tests", "libs/lsquic/tools", "libs/lsquic/src/liblsquic/ls-qpack/bin",
"libs/lsquic/src/liblsquic/ls-qpack/fuzz",
"libs/lsquic/src/liblsquic/ls-qpack/test",
"libs/lsquic/src/liblsquic/ls-qpack/tools", "libs/lsquic/src/lshpack/test",
"libs/lsquic/src/lshpack/bin", "libs/vac_boringssl/.bcr",
"libs/vac_boringssl/.github", "libs/vac_boringssl/bench",
"libs/vac_boringssl/cmake", "libs/vac_boringssl/crypto/cipher/test",
"libs/vac_boringssl/crypto/evp/test",
"libs/vac_boringssl/crypto/fipsmodule/bn/test",
"libs/vac_boringssl/crypto/fipsmodule/policydocs",
"libs/vac_boringssl/crypto/pkcs7/test", "libs/vac_boringssl/crypto/pkcs8/test",
"libs/vac_boringssl/crypto/rsa/test", "libs/vac_boringssl/crypto/test",
"libs/vac_boringssl/crypto/x509/test", "libs/vac_boringssl/docs",
"libs/vac_boringssl/fuzz", "libs/vac_boringssl/gen/test_support",
"libs/vac_boringssl/infra", "libs/vac_boringssl/pki", "libs/vac_boringssl/rust",
"libs/vac_boringssl/ssl/test", "libs/vac_boringssl/third_party/benchmark",
"libs/vac_boringssl/third_party/googletest",
"libs/vac_boringssl/third_party/wycheproof_testvectors", "libs/vac_boringssl/tool",
"libs/vac_boringssl/util",
]

Comment thread lsquic.nimble
Comment on lines +48 to +56
skipFiles = @[
"extras.nim",
"generate_lsquic_ffi.nim",
"build.sh",
"libs/vac_boringssl/ssl/ssl_c_test.c",
"libs/vac_boringssl/ssl/ssl_internal_test.cc",
"libs/vac_boringssl/ssl/ssl_test.cc",
"libs/vac_boringssl/ssl/span_test.cc",
]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nph] reported by reviewdog 🐶

Suggested change
skipFiles = @[
"extras.nim",
"generate_lsquic_ffi.nim",
"build.sh",
"libs/vac_boringssl/ssl/ssl_c_test.c",
"libs/vac_boringssl/ssl/ssl_internal_test.cc",
"libs/vac_boringssl/ssl/ssl_test.cc",
"libs/vac_boringssl/ssl/span_test.cc",
]
skipFiles =
@[
"extras.nim", "generate_lsquic_ffi.nim", "build.sh",
"libs/vac_boringssl/ssl/ssl_c_test.c",
"libs/vac_boringssl/ssl/ssl_internal_test.cc", "libs/vac_boringssl/ssl/ssl_test.cc",
"libs/vac_boringssl/ssl/span_test.cc",
]

Comment thread lsquic.nimble
Comment on lines +58 to +61
installFiles = @[
"lsquic.nim",
"boringssl.nim",
]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nph] reported by reviewdog 🐶

Suggested change
installFiles = @[
"lsquic.nim",
"boringssl.nim",
]
installFiles = @["lsquic.nim", "boringssl.nim"]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants