mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Allow to pass extra "EXTRA_LIB_BUILDERS" for Library Builder
This commit is contained in:
@ -460,8 +460,7 @@ def GetLibBuilders(env):
|
||||
compat_mode = int(env.get("LIB_COMPAT_MODE", 1))
|
||||
verbose = not (env.GetOption("silent") or env.GetOption('clean'))
|
||||
|
||||
def _init_lib_builder(src_dir):
|
||||
lb = LibBuilderFactory.new(env, src_dir)
|
||||
def _check_lib_builder(lb):
|
||||
if lb.name in env.get("LIB_IGNORE", []):
|
||||
if verbose:
|
||||
sys.stderr.write("Ignored library %s\n" % lb.path)
|
||||
@ -471,14 +470,14 @@ def GetLibBuilders(env):
|
||||
if verbose:
|
||||
sys.stderr.write("Platform incompatible library %s\n" %
|
||||
lb.path)
|
||||
return
|
||||
return False
|
||||
if compat_mode > 0 and not any([lb.is_framework_compatible(f)
|
||||
for f in env_frameworks]):
|
||||
if verbose:
|
||||
sys.stderr.write("Framework incompatible library %s\n" %
|
||||
lb.path)
|
||||
return
|
||||
return lb
|
||||
return False
|
||||
return True
|
||||
|
||||
for libs_dir in env['LIBSOURCE_DIRS']:
|
||||
libs_dir = env.subst(libs_dir)
|
||||
@ -487,13 +486,12 @@ def GetLibBuilders(env):
|
||||
for item in sorted(os.listdir(libs_dir)):
|
||||
if item == "__cores__" or not isdir(join(libs_dir, item)):
|
||||
continue
|
||||
lb = _init_lib_builder(join(libs_dir, item))
|
||||
if lb:
|
||||
lb = LibBuilderFactory.new(env, join(libs_dir, item))
|
||||
if _check_lib_builder(lb):
|
||||
items += (lb, )
|
||||
|
||||
for lib_dir in env.get("LIBSOURCE_EXTRA", []):
|
||||
lb = _init_lib_builder(lib_dir)
|
||||
if lb:
|
||||
for lb in env.get("EXTRA_LIB_BUILDERS", []):
|
||||
if _check_lib_builder(lb):
|
||||
items += (lb, )
|
||||
|
||||
return items
|
||||
|
@ -16,7 +16,7 @@ import json
|
||||
from os import getcwd, makedirs
|
||||
from os.path import getsize, isdir, isfile, join
|
||||
|
||||
from platformio import util, exception
|
||||
from platformio import exception, util
|
||||
from platformio.commands.boards import cli as cmd_boards
|
||||
from platformio.commands.init import cli as cmd_init
|
||||
|
||||
|
Reference in New Issue
Block a user