Auto merge of #4594 - behnam:workspace, r=alexcrichton
authorbors <bors@rust-lang.org>
Tue, 10 Oct 2017 19:20:43 +0000 (19:20 +0000)
committerbors <bors@rust-lang.org>
Tue, 10 Oct 2017 19:20:43 +0000 (19:20 +0000)
commitcae562f9d2a1a4b670d39e1ca5e059ae33654bc4
tree8bc7faa737cb9632f792fc6410a50931c75994e6
parentd6843a77b270b72ae49213adcd2217ab1a964694
parentfd07cfd03057d761016256ae63d580981aa6bc11
Auto merge of #4594 - behnam:workspace, r=alexcrichton

[core/workspace] Create WorkspaceRootConfig

Create `WorkspaceRootConfig`, which knows its `root_dir` and lists of
`members` and `excludes`, to answer queries on which paths are a member
and which are not.

----

This is the first step of the fix, that's only a codemod to put together the relevant parts : `workspace.members`, `workspace.excludes`, and the `root_dir` (where `members` and `excludes` are relative to). There's no logic change in this PR to keep review easier.

The added tests are commented out, because they fail with the current logic. The next step to get these steps to pass.

Tracker: <https://github.com/rust-lang/cargo/issues/4089>
Old PR: <https://github.com/rust-lang/cargo/pull/4297>