Comments (2)
Just re-read the library interface doc:
Runfiles strategies:
Manifest-based: reads the runfiles manifest file to look up runfiles.
Directory-based: appends the runfile's path to the runfiles root. The client is responsible for checking that the resulting path exists.
I guess this is correct according to spec then.
Looking at the Java implementation, it uses the manifest-based approach only on Windows [ref]. In the same spirit, i wonder if it would be better to default to directory-based strategy first when both .runfiles_manifest and .runfiles directories exist?
from rules_go.
The .runfiles
directory always exists, but it may be empty or contain only the binary itself. That makes it difficult to decide whether it is safe to use when the manifest exists. Basing the decision on the OS is also difficult, as we may be in a host != exec build and Windows can optionally use runfiles directories as well.
Given how tricky all of this is, I would prefer to change this only if there are concrete performance benefits and we understand all the implications.
I may work on the spec in the future and agree that this inconsistency is a major pain point.
from rules_go.
Related Issues (20)
- Is `nogo` still experimental? HOT 3
- Missing CC Toolchains for macOS AMD and ARM HOT 1
- GOPACKAGESDRIVER_BAZEL_QUERY_SCOPE implementation is not with "./..." and "bultin" args at the same time HOT 2
- gopackagesdriver does not handle relative queries correctly when run from a subdirectory of the workspace HOT 1
- go_test: goroutine leak in RegisterTimeoutHandler
- Is there any way to automatically generate the deps in the BUILD.bazel file? HOT 1
- How to cross compile to a different libc implementation? HOT 4
- Refer to Bzlmod/MODULE.bazel after configuring go_deps, it cannot work normally HOT 1
- go_host_sdk is wrongly called in bzlmod HOT 1
- Feature request: support `-typed` flag in `gomock` rule
- Analysis phase improvements for rules HOT 20
- `bazel mod tidy` does not generate `github.com/bazelbuild/bazel-gazelle` repo HOT 3
- Support GOOS=wasip1
- Go 1.23.0 Windows build fails with "stdlib: The system cannot find the path specified." HOT 3
- No matching toolchains found for types @io_bazel_rules_go//go:toolchain HOT 2
- nogo incorrectly flags strict dependency error HOT 4
- gomock: no way to pass extra flags to mockgen HOT 1
- bug(rules/proto): missing attribute attr.importmap HOT 2
- bug(nogo): fails on @@com_github_aws_aws_sdk_go//internal/context:context
- bug(nogo): false positive dependency cycle issues
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rules_go.