diff --git a/scripts/clean.ce b/scripts/clean.ce new file mode 100644 index 00000000..e412d548 --- /dev/null +++ b/scripts/clean.ce @@ -0,0 +1,51 @@ +// cell clean - Remove build artifacts from modules/ + +var io = use('io') + +log.console(io.searchpath()) + +if (!io.exists('.cell/build')) { + log.console("No build directory found") + $_.stop() + return +} + +log.console("Cleaning build artifacts...") + +// Recursively delete directory contents +function remove_dir(path) { + var files = io.enumerate(path, false) // non-recursive first + + // Delete all files and subdirectories + for (var i = 0; i < files.length; i++) { + var file = files[i] + if (io.is_directory(file)) { + remove_dir(file) // Recurse into subdirectory + } else { + try { + io.rm(file) + } catch (e) { + log.error("Failed to remove " + file + ": " + e) + } + } + } + + // Now remove the empty directory + try { + io.rm(path) + } catch (e) { + log.error("Failed to remove directory " + path + ": " + e) + } +} + +// Remove the build directory +try { + remove_dir('.cell/build') + log.console("Build directory removed") +} catch (e) { + log.error("Failed during cleanup: " + e) +} + +log.console("Clean complete!") + +$_.stop() \ No newline at end of file