Пример #1
0
        public static void CakeCleanPackage(
            this ICakeContext context,
            Action <CakeCleanPackageSettings> settings)
        {
            var cleanSettings = new CakeCleanPackageSettings
            {
                ToolsDirectory = context.Directory("./tools")
            };

            settings(cleanSettings);

            context.CakeCleanPackage(cleanSettings);
        }
Пример #2
0
        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);
            }
        }