Skip to content

Commit 7e6cb84

Browse files
committed
Add "env.IsCleanTarget()" to the Build API
1 parent bf769e1 commit 7e6cb84

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

platformio/builder/main.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,11 +157,6 @@
157157
os.makedirs(env.subst("$BUILD_CACHE_DIR"))
158158
env.CacheDir("$BUILD_CACHE_DIR")
159159

160-
is_clean_all = "cleanall" in COMMAND_LINE_TARGETS
161-
if env.GetOption("clean") or is_clean_all:
162-
env.PioClean(is_clean_all)
163-
env.Exit(0)
164-
165160
if not int(ARGUMENTS.get("PIOVERBOSE", 0)):
166161
click.echo("Verbose mode can be enabled via `-v, --verbose` option")
167162

@@ -185,6 +180,10 @@
185180
for item in env.GetExtraScripts("pre"):
186181
env.SConscript(item, exports="env")
187182

183+
if env.IsCleanTarget():
184+
env.CleanProject("cleanall" in COMMAND_LINE_TARGETS)
185+
env.Exit(0)
186+
188187
env.SConscript("$BUILD_SCRIPT")
189188

190189
if "UPLOAD_FLAGS" in env:

platformio/builder/tools/piotarget.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
from SCons.Action import Action # pylint: disable=import-error
1818
from SCons.Script import ARGUMENTS # pylint: disable=import-error
19+
from SCons.Script import COMMAND_LINE_TARGETS # pylint: disable=import-error
1920
from SCons.Script import AlwaysBuild # pylint: disable=import-error
2021

2122
from platformio import compat, fs
@@ -27,7 +28,11 @@ def VerboseAction(_, act, actstr):
2728
return Action(act, actstr)
2829

2930

30-
def PioClean(env, clean_all=False):
31+
def IsCleanTarget(env):
32+
return env.GetOption("clean") or ("cleanall" in COMMAND_LINE_TARGETS)
33+
34+
35+
def CleanProject(env, clean_all=False):
3136
def _relpath(path):
3237
if compat.IS_WINDOWS:
3338
prefix = os.getcwd()[:2].lower()
@@ -103,7 +108,8 @@ def exists(_):
103108

104109
def generate(env):
105110
env.AddMethod(VerboseAction)
106-
env.AddMethod(PioClean)
111+
env.AddMethod(IsCleanTarget)
112+
env.AddMethod(CleanProject)
107113
env.AddMethod(AddTarget)
108114
env.AddMethod(AddPlatformTarget)
109115
env.AddMethod(AddCustomTarget)

0 commit comments

Comments
 (0)