Ignore broken libraries; show link to the docs with lib_compat_mode // Resolve #759

This commit is contained in:
Ivan Kravets
2016-08-23 00:09:28 +03:00
parent d420e956e9
commit b3abee8513

View File

@ -479,6 +479,7 @@ def GetLibBuilders(env):
return False
return True
found_incompat = False
for libs_dir in env['LIBSOURCE_DIRS']:
libs_dir = env.subst(libs_dir)
if not isdir(libs_dir):
@ -486,13 +487,28 @@ def GetLibBuilders(env):
for item in sorted(os.listdir(libs_dir)):
if item == "__cores__" or not isdir(join(libs_dir, item)):
continue
try:
lb = LibBuilderFactory.new(env, join(libs_dir, item))
except ValueError:
sys.stderr.write("Skip library with broken manifest: %s\n" %
join(libs_dir, item))
continue
if _check_lib_builder(lb):
items += (lb, )
else:
found_incompat = True
for lb in env.get("EXTRA_LIB_BUILDERS", []):
if _check_lib_builder(lb):
items += (lb, )
else:
found_incompat = True
if verbose and found_incompat:
sys.stderr.write(
"More details about \"Library Compatibility Mode\": "
"http://docs.platformio.org/en/latest/librarymanager/ldf.html#"
"ldf-compat-mode\n")
return items