Memoize dev-platform instance cross the clonned build envs

This commit is contained in:
Ivan Kravets
2022-04-19 13:51:43 +03:00
parent 943c6bc59c
commit 624421e4b0

View File

@ -19,6 +19,7 @@ import sys
from SCons.Script import ARGUMENTS # pylint: disable=import-error
from SCons.Script import COMMAND_LINE_TARGETS # pylint: disable=import-error
from SCons.Script import DefaultEnvironment # pylint: disable=import-error
from platformio import fs, util
from platformio.compat import IS_MACOS, IS_WINDOWS
@ -32,12 +33,17 @@ from platformio.project.config import ProjectOptions
@util.memoized()
def PioPlatform(env):
def _PioPlatform():
env = DefaultEnvironment()
p = PlatformFactory.new(os.path.dirname(env["PLATFORM_MANIFEST"]))
p.configure_project_packages(env["PIOENV"], COMMAND_LINE_TARGETS)
return p
def PioPlatform(_):
return _PioPlatform()
def BoardConfig(env, board=None):
with fs.cd(env.subst("$PROJECT_DIR")):
try: