From 39d314ccfae9a6e01978e28565b9727ac975c1df Mon Sep 17 00:00:00 2001 From: HendrikRauh <114620133+HendrikRauh@users.noreply.github.com> Date: Thu, 5 Mar 2026 21:36:40 +0100 Subject: [PATCH] add(tasks): implement reset task to clean project state --- tasks.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tasks.py b/tasks.py index 4533f54..d3f3906 100644 --- a/tasks.py +++ b/tasks.py @@ -1,4 +1,6 @@ from invoke import task +import os +import shutil @task def cleanbuild(c): @@ -38,6 +40,7 @@ def clean(c): """Clean build artifacts""" c.run("idf.py fullclean") + @task def config(c): """Open menuconfig to edit project settings""" @@ -48,3 +51,17 @@ def config(c): def saveconfig(c): """Save current config as sdkconfig.defaults""" c.run("idf.py save-defconfig") + + +@task +def reset(c): + """Reset project to clean state: remove build, config, and managed components""" + if os.path.exists("sdkconfig"): + os.remove("sdkconfig") + if os.path.exists("sdkconfig.old"): + os.remove("sdkconfig.old") + if os.path.exists("build"): + shutil.rmtree("build") + if os.path.exists("managed_components"): + shutil.rmtree("managed_components") +