예제 #1
0
        private Task startSnapshotRun(IReadOnlyList <FileMap> fileMaps, SnapshotExportMode exportMode)
        {
            if (exportMode == SnapshotExportMode.Snapshot)
            {
                return(startSnapshotRun(fileMaps, createSnapshotFromProjectFile));
            }

            return(startSnapshotRun(fileMaps, createProjectFromSnapshotFile));
        }
예제 #2
0
 private FileMap fileMapFor(string inputFileFullPath, string outputFileFullPath, SnapshotExportMode runOptionsExportMode)
 {
     return(runOptionsExportMode == SnapshotExportMode.Project ? new FileMap(outputFileFullPath, inputFileFullPath) : new FileMap(inputFileFullPath, outputFileFullPath));
 }
예제 #3
0
        private IEnumerable <FileMap> allFilesFrom(string inputFolder, string outputFolder, string inputFilter, string outputExtension, SnapshotExportMode exportMode)
        {
            var allInputFiles = AllFilesFrom(inputFolder, inputFilter);

            if (allInputFiles.Length == 0)
            {
                _logger.AddDebug($"No file found in '{inputFolder}'");
                yield break;
            }

            DirectoryHelper.CreateDirectory(outputFolder);

            foreach (var inputFile in allInputFiles)
            {
                var inputFileFullPath  = inputFile.FullName;
                var projectName        = FileHelper.FileNameFromFileFullPath(inputFileFullPath);
                var outputFileFullPath = Path.Combine(outputFolder, $"{projectName}{outputExtension}");

                yield return(fileMapFor(inputFileFullPath, outputFileFullPath, exportMode));
            }
        }