DescriptionDon't crash 'pub get' if a dev dependency is broken.
We were validating that the dependencies and dev_dependencies had no overlap
whenever we accessed [Pubspec.dependencies], but this meant that we had to parse
the dev_dependencies even if they were going unused. If that parse failed, it
could stop an entire "pub get" from working. Now we only do this validation when
[Pubspec.devDependencies] is accessed.
This also fixes a bug in where, if a pubspec from outside the filesystem (e.g. a
hosted dependency) has a relative path dependency, [PathSource.parseDescription]
would crash. Although this shouldn't happen since we don't parse the dev
dependencies anymore, [PathSource] will now handle it more gracefully if it
does.
Finally, this also works around an async_await bug that was causing stack traces
to be truncated.
R=rnystrom@google.com
BUG=22194
Committed: https://code.google.com/p/dart/source/detail?r=43267
Patch Set 1 #
Total comments: 8
Patch Set 2 : Code review changes #Patch Set 3 : Code review changes #Messages
Total messages: 7 (0 generated)
|