Esempio n. 1
0
        public static void CopyDirectoryRecursively(
            string source,
            string target,
            DirectoryExistsPolicy directoryPolicy       = DirectoryExistsPolicy.Fail,
            FileExistsPolicy filePolicy                 = FileExistsPolicy.Fail,
            Func <DirectoryInfo, bool> excludeDirectory = null,
            Func <FileInfo, bool> excludeFile           = null)
        {
            ControlFlow.Assert(Directory.Exists(source), $"Directory.Exists({source})");
            ControlFlow.Assert(!PathConstruction.IsDescendantPath(source, target),
                               $"Target directory '{target}' must not be in source directory '{source}'.");
            //ControlFlow.Assert(!Contains(source, target), $"Target '{target}' is not contained in source '{source}'.");

            Logger.Info($"Recursively copying from '{source}' to '{target}'...");
            CopyRecursivelyInternal(source, target, directoryPolicy, filePolicy, excludeDirectory, excludeFile);
        }
Esempio n. 2
0
        public static void DeleteDirectory(string directory)
        {
            if (!Directory.Exists(directory))
            {
                return;
            }

            if (PathConstruction.IsDescendantPath(EnvironmentInfo.BuildProjectDirectory, directory))
            {
                Logger.Warn($"Skipping directory '{directory}' because it is contained in the build project directory...");
                return;
            }

            Logger.Info($"Deleting directory '{directory}'...");
            DeleteDirectoryInternal(directory);
        }