-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Fix DUB dependencies #11798
Fix DUB dependencies #11798
Conversation
def _find_cache_dir(self) -> str: | ||
dubhome = self._find_dub_home() | ||
# TODO: handle (rare) case where dubhome is overriden | ||
# in Dub's settings file. | ||
return os.path.join(dubhome, 'cache') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need two logical functions for this? Just have one function, but add 'cache'
to every return site?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is to make easier a future change to take into account the user customization of dubhome location in the settings (JSON files that Dub reads in various places)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does that just change what the dubhome is while leaving the contents such as cache/ alone?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The user can customize the location of dubhome in its personal settings.
The cache root is always [dubhome]/cache
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not mandatory for Meson to handle this. In case of dependency not found, I can add to the error message the cache location we're searching in to indicate to the user that Meson will not try other cache location
@@ -1,12 +1,15 @@ | |||
project('dub-example', 'd') | |||
|
|||
error('MESON_SKIP_TEST: Dub support is broken at the moment (#11773)') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hold on, why was this ever unconditionally errored out in the first place???
We should never do that. Dub support wasn't broken until after the version is checked for the version that introduced breakage.
Disabling tests on all versions of Dub means we get zero integration tests for anything at all, even the commits that introduced conditional errors.
41b0451
to
b13afaa
Compare
I squashed everything (except dlang module fix and tests reactivation). |
7d6d6b5
to
aa48333
Compare
MacOS failures are unrelated (LLVM framework). |
I put this on hold for a while. Possibly we can enrich |
According this comment in dlang/dub#2644, it appears that the DUB cache database will stay. |
DUB 1.33.0 was just released, but the cache database is not in yet. |
Depending on DUB version, it will look either in the old cache structure or use the new DUB cache database
Was broken because of DubDependency.class_dubbin typing change. Passed under radar because Dub tests were deactivated in the same PR.
Test failure seems unrelated. |
Hi, anything blocking from merging this PR? |
Right now Dub support in meson is broken. See mesonbuild/meson#11798
Depending on DUB version, it will look either in the old cache structure or use the new DUB cache database (see dlang/dub#2642)
Fixes #11773