ba241c0c8d
This carries a number of benefits: - It allows the front end to trivially support schemes other than "file:" (e.g. "http:") by allowing the client to supply a FileSystem implementation that handles them. - It is more consistent with the functionality of the ".packages" file (which allows packages to map to any kind of URI). - It allows the "bazel root" feature to be rewritten to use a magic scheme rather than a magic path. (This eliminates concerns about the magic path overlapping with a user's use case). Note that this feature has been renamed to "multi root" since it is sufficiently generic to be applicable to build systems other than Bazel. - It reduces the risk of forgetting to use the front end's FileSystem abstraction to access the file system, since the native file system interfaces do not accept URIs. R=danrubel@google.com Review-Url: https://codereview.chromium.org/2614063007 .