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