diff --git a/HISTORY.rst b/HISTORY.rst index c68e7f6f..f2c17c6d 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -30,6 +30,7 @@ PlatformIO Core 6 - Do not resolve dependencies from the project "src" folder when the `test_build_src `__ option is not enabled - Fixed an issue when a custom `pio test --project-config `__ was not handled properly (`issue #4299 `_) +* Allowed to ``Import("projenv")`` in a library extra script (`issue #4305 `_) * Improved a serial port finder for a board with predefined HWIDs 6.0.2 (2022-06-01) diff --git a/docs b/docs index a3c98fe6..b3bb4bfe 160000 --- a/docs +++ b/docs @@ -1 +1 @@ -Subproject commit a3c98fe6f3cf13738d16b497f0396c7bbe20ae0c +Subproject commit b3bb4bfe67f98edbf5acfbdbb2cf61d7912dec29 diff --git a/platformio/builder/tools/piolib.py b/platformio/builder/tools/piolib.py index f868ed2d..3a0072c2 100644 --- a/platformio/builder/tools/piolib.py +++ b/platformio/builder/tools/piolib.py @@ -1142,6 +1142,8 @@ def ConfigureProjectLibBuilder(env): _print_deps_tree(lb, level + 1) project = ProjectAsLibBuilder(env, "$PROJECT_DIR") + env.Export(dict(projenv=project.env)) + ldf_mode = LibBuilderBase.lib_ldf_mode.fget(project) # pylint: disable=no-member click.echo("LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf") diff --git a/platformio/builder/tools/platformio.py b/platformio/builder/tools/platformio.py index 69875a70..9b2aedb8 100644 --- a/platformio/builder/tools/platformio.py +++ b/platformio/builder/tools/platformio.py @@ -23,7 +23,6 @@ from SCons.Node import FS # pylint: disable=import-error from SCons.Script import COMMAND_LINE_TARGETS # pylint: disable=import-error from SCons.Script import AlwaysBuild # pylint: disable=import-error from SCons.Script import DefaultEnvironment # pylint: disable=import-error -from SCons.Script import Export # pylint: disable=import-error from SCons.Script import SConscript # pylint: disable=import-error from platformio import __version__, fs @@ -180,8 +179,6 @@ def ProcessProjectDeps(env): ) env.Exit(1) - Export("projenv") - def ParseFlagsExtended(env, flags): # pylint: disable=too-many-branches if not isinstance(flags, list):