Content/tasks.clean.cake (33 lines of code) (raw):

Sitecore.Tasks.CleanWildcardFoldersTask = Task("Clean-up :: Clean Wildcard Folders") .Description("Remove items from project ./dist and ./App_data folders") .Does(() => { Sitecore.Utils.AssertIfNullOrEmpty(Sitecore.Parameters.SrcDir, "SrcDir", "SRC_DIR"); var _layerDirectories = GetDirectories($"{Sitecore.Parameters.SrcDir}/Foundation") + GetDirectories($"{Sitecore.Parameters.SrcDir}/Feature") + GetDirectories($"{Sitecore.Parameters.SrcDir}/Project"); var _projectDirectories = Sitecore.Parameters.SupportHelix20 ? _layerDirectories.SelectMany(_dir => GetDirectories($"{_dir}/*/website")) : _layerDirectories.SelectMany(_dir => GetDirectories($"{_dir}/*/code")); var _wildcardDirectories = _projectDirectories .SelectMany(_dir => GetDirectories($"{_dir}/dist") + GetDirectories($"{_dir}/App_Data/{Sitecore.Parameters.UnicornSerializationRoot}")) .ToArray(); foreach (var directory in _wildcardDirectories) { CleanDirectory(directory); } }); Sitecore.Tasks.CleanArtifactsTask = Task("Clean-up :: Clean Artifacts") .Description("Clean artifacts (ARTIFACTS_DIR) and output (OUTPUT_DIR) directories") .Does(() => { Sitecore.Utils.AssertIfNullOrEmpty(Sitecore.Parameters.ArtifactsDir, "ArtifactsDir", "ARTIFACTS_DIR"); Sitecore.Utils.AssertIfNullOrEmpty(Sitecore.Parameters.OutputDir, "OutputDir", "OUTPUT_DIR"); EnsureDirectoryExists(Sitecore.Parameters.ArtifactsDir); Verbose($"Cleaning '{Sitecore.Parameters.ArtifactsDir}' directory"); CleanDirectory(Sitecore.Parameters.ArtifactsDir); EnsureDirectoryExists(Sitecore.Parameters.OutputDir); Verbose($"Cleaning '{Sitecore.Parameters.OutputDir}' directory"); CleanDirectory(Sitecore.Parameters.OutputDir); });