mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 10:07:14 +02:00
Memoize dev-platform instance cross the clonned build envs
This commit is contained in:
@ -19,6 +19,7 @@ import sys
|
|||||||
|
|
||||||
from SCons.Script import ARGUMENTS # pylint: disable=import-error
|
from SCons.Script import ARGUMENTS # pylint: disable=import-error
|
||||||
from SCons.Script import COMMAND_LINE_TARGETS # 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 import fs, util
|
||||||
from platformio.compat import IS_MACOS, IS_WINDOWS
|
from platformio.compat import IS_MACOS, IS_WINDOWS
|
||||||
@ -32,12 +33,17 @@ from platformio.project.config import ProjectOptions
|
|||||||
|
|
||||||
|
|
||||||
@util.memoized()
|
@util.memoized()
|
||||||
def PioPlatform(env):
|
def _PioPlatform():
|
||||||
|
env = DefaultEnvironment()
|
||||||
p = PlatformFactory.new(os.path.dirname(env["PLATFORM_MANIFEST"]))
|
p = PlatformFactory.new(os.path.dirname(env["PLATFORM_MANIFEST"]))
|
||||||
p.configure_project_packages(env["PIOENV"], COMMAND_LINE_TARGETS)
|
p.configure_project_packages(env["PIOENV"], COMMAND_LINE_TARGETS)
|
||||||
return p
|
return p
|
||||||
|
|
||||||
|
|
||||||
|
def PioPlatform(_):
|
||||||
|
return _PioPlatform()
|
||||||
|
|
||||||
|
|
||||||
def BoardConfig(env, board=None):
|
def BoardConfig(env, board=None):
|
||||||
with fs.cd(env.subst("$PROJECT_DIR")):
|
with fs.cd(env.subst("$PROJECT_DIR")):
|
||||||
try:
|
try:
|
||||||
|
Reference in New Issue
Block a user