-
-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make sourcePaths
work as documented
#2041
Conversation
Thanks for your pull request and interest in making D better, @omerfirmak! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. |
e3aae06
to
8d674c3
Compare
Apparently, some projects in buildkite relied on the old behavior. |
`sourcePaths` is only default initialized when both top level and configuration level `sourcePaths` is empty. Fixes dlang#1913
8d674c3
to
0c4e676
Compare
Probably most people that use this will implicitly depend on this behavior. |
I think that, unfortunately, breaking projects that relied on the old behaviour is a no-no. As I mentioned in the issue itself, putting both apps in, say, |
Yeah, that's a given.
The question was more about whether you considered it a valid issue as well, being a user of the current behavior. |
If it didn't break any projects I'd say ok, but it does, so... |
There are enough issues with dub doing things that people don't expect that this should be fixed. But @atilaneves is right, it could break projects. So how about a big honking warning (for projects it will break) for a couple of years and not make it go live until then? |
I guess the simplest way to resolve matters like this is by adding a settings.json option to revert to the old behavior that would be available for a deprecation period of 2 years and could be enabled by default for next 3 releases or something like that. |
A global setting won't cut it, as it may need to be set in some packages, but must not be set in others. But adding a deprecation warning (along with mitigation instructions) would be a good idea in any case. We could also add that setting to the package recipe to allow silencing the warning by forcing the new behavior. |
sourcePaths
is only default initialized when bothtop level and configuration level
sourcePaths
is empty.Fixes #1913