Merge pull request #993 from centricular/cached-dep-required-attr
dependency: Check that cached_dep has the 'required' attribute
This commit is contained in:
commit
f8bf37979b
|
@ -1856,12 +1856,10 @@ requirements use the version keyword argument instead.''')
|
||||||
# Cached dep has the wrong version. Check if an external
|
# Cached dep has the wrong version. Check if an external
|
||||||
# dependency or a fallback dependency provides it.
|
# dependency or a fallback dependency provides it.
|
||||||
cached_dep = None
|
cached_dep = None
|
||||||
|
|
||||||
# Don't re-use cached dep if it wasn't required but this one is,
|
# Don't re-use cached dep if it wasn't required but this one is,
|
||||||
# so we properly go into fallback/error code paths
|
# so we properly go into fallback/error code paths
|
||||||
if 'required' in kwargs and cached_dep is not None:
|
if kwargs.get('required', True) and not getattr(cached_dep, 'required', False):
|
||||||
if not cached_dep.required and kwargs.get('required', True):
|
cached_dep = None
|
||||||
cached_dep = None
|
|
||||||
|
|
||||||
if cached_dep:
|
if cached_dep:
|
||||||
dep = cached_dep
|
dep = cached_dep
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
project('dep-test', 'c', version : '1.0')
|
project('dep-test', 'c', version : '1.0')
|
||||||
|
|
||||||
foo_dep = dependency('foo-bar-xyz-12.3', required : false)
|
foo_dep = dependency('foo-bar-xyz-12.3', required : false)
|
||||||
bar_dep = dependency('foo-bar-xyz-12.3', required : true)
|
bar_dep = dependency('foo-bar-xyz-12.3')
|
||||||
|
|
Loading…
Reference in New Issue