static string GetSearchPattern(FilesOptions options, ILogger logger)
        {
            string pattern = options.Pattern;

            if (pattern.IndexOfAny(Path.GetInvalidPathChars()) != -1)
            {
                logger.Log("Invalid character in pattern:" + options.Pattern + ". Ignored");
                pattern = "*.dll";
            }
            return(pattern);
        }
Esempio n. 2
0
 static Task <int> OnFiles(FilesOptions options)
 {
     return(Task.Factory.StartNew(() =>
     {
         var logger = configuration.Logger;
         var files = FileOptionsHelper.GetFiles(options, logger);
         var partitioner = Partitioner.Create(files, true);
         var loader = configuration.AssemblyLoader;
         return Parallel.ForEach(partitioner,
                                 (path) => loader.ProcessPath(path)
                                 ).IsCompleted ? 0 : 1;
     }));
 }
 public static string[] GetFiles(FilesOptions options, ILogger logger)
 {
     if (!string.IsNullOrEmpty(options.Directory))
     {
         try {
             if (string.IsNullOrEmpty(options.Pattern))
             {
                 return(Directory.GetFiles(options.Directory));
             }
             else
             {
                 return(Directory.GetFiles(options.Directory, GetSearchPattern(options, logger), GetSearchOptions(options)));
             }
         }
         catch (Exception e) { logger.Log("Error when obtaining files:" + e.Message); }
     }
     return(new string[] { });
 }
 static SearchOption GetSearchOptions(FilesOptions options)
 {
     return(options.AllDirectories ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly);
 }