dart-lang/pub

vendored package _macros broke executable caching for entry points

Closed this issue · 1 comments

PackageGraph._isPackageCached has the following code:

bool _isPackageCached(String package) {

This codes does not work for vendored packages like _macros because it checks whether location of a vendored package lands inside the cache.

This means executables for packages like build_runner which have indirect dependency on _macros are currently not cached and are always recompiled (including calling pub to download dependencies).

This completely breaks offline development workflow (which is how I discovered this) but also seems to be plain wasteful.

cc @sigurdm @jakemac53

Yeah - sdk packages should be considered cached as well.

Nice find - thanks!