Look up `dub.selections.json` files in parent directories too (#2272)
* Look up `dub.selections.json` files in parent directories too

In case the root package directory doesn't contain a `dub.selections.json`
file, look in parent directories too and load the first (deepest) one.

This allows using a 'central' `dub.selections.json` file for a repository
containing multiple dub projects, making it automatically apply to all
builds in that source tree if located in the repository root directory
(unless a local `dub.selections.json` overrides it).

Such an 'inherited' selections file is never mutated when running dub for
a nested project, i.e., changes are always saved to a *local*
`dub.selections.json` file.
1 parent 0975986 commit 6c0bfc70dcfb8bea11d2a611d1ff3f7d97555bb6
@Martin Kinkelin Martin Kinkelin authored on 18 Jun
GitHub committed on 18 Jun
Showing 7 changed files
View
changelog/selections_from_parent_dir.dd 0 → 100644
View
source/dub/dub.d
View
source/dub/packagemanager.d
View
source/dub/project.d
View
source/dub/recipe/selection.d
View
source/dub/test/base.d
View
source/dub/test/selections_from_parent_dir.d 0 → 100644