public static void CakeCleanPackage( this ICakeContext context, Action <CakeCleanPackageSettings> settings) { var cleanSettings = new CakeCleanPackageSettings { ToolsDirectory = context.Directory("./tools") }; settings(cleanSettings); context.CakeCleanPackage(cleanSettings); }
public static void CakeCleanPackage( this ICakeContext context, CakeCleanPackageSettings settings) { if (string.IsNullOrEmpty(settings.Id)) { throw new ArgumentNullException("Id is empty"); } if (string.IsNullOrEmpty(settings.Version)) { throw new ArgumentNullException("Version is empty"); } if (settings.ToolsDirectory?.FullPath is null || string.IsNullOrEmpty(settings.ToolsDirectory.FullPath)) { throw new ArgumentNullException("Tools directory path is empty"); } var deleteSettings = new DeleteDirectorySettings { Force = true, Recursive = true }; var addinDirectory = context.Directory( $"{settings.ToolsDirectory}/Addins/{settings.Id}.{settings.Version}"); if (context.DirectoryExists(addinDirectory)) { context.Information($"Removing {addinDirectory}"); context.DeleteDirectory(addinDirectory, deleteSettings); } var toolsDirectory = context.Directory( $"{settings.ToolsDirectory}/{settings.Id}.{settings.Version}"); if (context.DirectoryExists(toolsDirectory)) { context.Information($"Removing {toolsDirectory}"); context.DeleteDirectory(toolsDirectory, deleteSettings); } }