mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 18:17:13 +02:00
Better handling of installed libs for Project Generator
This commit is contained in:
@ -21,3 +21,4 @@
|
||||
platform = atmelavr
|
||||
framework = arduino
|
||||
board = engduinov3
|
||||
lib_install = 574
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
import sys
|
||||
|
||||
VERSION = (2, 8, "0.dev6")
|
||||
VERSION = (2, 8, "0.dev7")
|
||||
__version__ = ".".join([str(s) for s in VERSION])
|
||||
|
||||
__title__ = "platformio"
|
||||
|
@ -137,6 +137,8 @@ def ConvertInoToCpp(env):
|
||||
|
||||
def DumpIDEData(env):
|
||||
|
||||
BOARD_CORE = env.get("BOARD_OPTIONS", {}).get("build", {}).get("core")
|
||||
|
||||
def get_includes():
|
||||
includes = []
|
||||
# includes from used framework and libs
|
||||
@ -154,19 +156,7 @@ def DumpIDEData(env):
|
||||
# installed libs
|
||||
for d in env.get("LIBSOURCE_DIRS", []):
|
||||
lsd_dir = env.subst(d)
|
||||
for name in env.get("LIB_USE", []) + sorted(listdir(lsd_dir)):
|
||||
if not isdir(join(lsd_dir, name)):
|
||||
continue
|
||||
# ignore user's specified libs
|
||||
if name in env.get("LIB_IGNORE", []):
|
||||
continue
|
||||
include = (
|
||||
join(lsd_dir, name, "src")
|
||||
if isdir(join(lsd_dir, name, "src"))
|
||||
else join(lsd_dir, name)
|
||||
)
|
||||
if include not in includes:
|
||||
includes.append(include)
|
||||
_append_lib_includes(lsd_dir, includes)
|
||||
|
||||
# includes from toolchain
|
||||
toolchain_dir = env.subst(
|
||||
@ -180,6 +170,25 @@ def DumpIDEData(env):
|
||||
|
||||
return includes
|
||||
|
||||
def _append_lib_includes(libs_dir, includes):
|
||||
for name in env.get("LIB_USE", []) + sorted(listdir(libs_dir)):
|
||||
if not isdir(join(libs_dir, name)):
|
||||
continue
|
||||
# ignore user's specified libs
|
||||
if name in env.get("LIB_IGNORE", []):
|
||||
continue
|
||||
if name == "__cores__" and isdir(join(libs_dir, name, BOARD_CORE)):
|
||||
return _append_lib_includes(
|
||||
join(libs_dir, name, BOARD_CORE), includes)
|
||||
|
||||
include = (
|
||||
join(libs_dir, name, "src")
|
||||
if isdir(join(libs_dir, name, "src"))
|
||||
else join(libs_dir, name)
|
||||
)
|
||||
if include not in includes:
|
||||
includes.append(include)
|
||||
|
||||
def get_defines():
|
||||
defines = []
|
||||
# global symbols
|
||||
|
@ -98,6 +98,8 @@ class MeasurementProtocol(TelemetryBase):
|
||||
dpdata.append("Click/%s" % click.__version__)
|
||||
if app.get_session_var("caller_id"):
|
||||
dpdata.append("Caller/%s" % app.get_session_var("caller_id"))
|
||||
if getenv("PLATFORMIO_IDE"):
|
||||
dpdata.append("IDE/%s" % getenv("PLATFORMIO_IDE"))
|
||||
self['an'] = " ".join(dpdata)
|
||||
|
||||
def _prefill_custom_data(self):
|
||||
|
Reference in New Issue
Block a user