-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Watcher error for emacs temp file #2635
Comments
Looks like it is using a |
Hmm we do actually allow getting uris for AssetIds, which it looked like is partly where we had issues before. Given that I don't think its even possible to create a sensible uri from this I am inclined to close this as not planned. cc @natebosch |
See here which I think is the actual culprit
Any idea why we are using |
It's because the argument is the The real problem is that we aren't escaping properly when we go from OS to URI style path somewhere I think. That |
Fixes #2635 We normalize to URI path separators, and have considered them to be valid URIs in some places. This isn't safe since do don't do any encoding so special characters like `#` are not escaped. We can't do actual URI encoding for AssetIds since `$lib$` is used unencoded in too many places. We will consider AssetIds to be, as much as possible posix style instead of URI style. Remove some cases of treating them as URIs. - Use the current OS style for `errorCacheDirectory` since it is only ever used for OS file operations and does not get stored anywhere. - Use `p.posix.split` over `p.fromUri` when normalizing separators in asset ID paths just before an OS file operation.
Fixes #2635 We normalize to URI path separators, and have considered them to be valid URIs in some places. This isn't safe since do don't do any encoding so special characters like `#` are not escaped. We can't do actual URI encoding for AssetIds since `$lib$` is used unencoded in too many places. We will consider AssetIds to be, as much as possible posix style instead of URI style. Remove some cases of treating them as URIs. - Use the current OS style for `errorCacheDirectory` since it is only ever used for OS file operations and does not get stored anywhere. - Use `p.posix.split` over `p.fromUri` when normalizing separators in asset ID paths just before an OS file operation.
@bradyt - can you try a git override for We expect there may be build errors when you have files named |
Ah, maybe there wasn't really anything broken. I tried the following as you suggested. dependency_overrides:
build_runner_core:
version: '4.4.1-dev'
git:
url: https://github.com/dart-lang/build.git
path: build_runner_core Then I no longer see this:
But I still see the following:
But nothing actually "breaks". (Almost completely unrelated, but for context; if for example, I had an incorrect name in a Built class, then I would see logs like, |
Treating these files as inputs to other build steps is harder to change - currently most builders assume that files ending in I don't think we have a easy answer to that problem - there is a lot of stuff built on that assumption, and we don't want to hardcode support for a particular editor's behavior around "special" files. |
Seems to be similar to this issue: #1134.
If I use
pub run build_runner watch
, and edit a file with Emacs,Environment information:
The text was updated successfully, but these errors were encountered: