private void addContentFolder(string dir, ISpecFileListener listener) { var watcher = new FileSystemWatcher(dir); watcher.Changed += (x, file) => { Console.WriteLine("Detected a change to " + file.FullPath); _cache.FlushAll(); listener.Changed(); }; watcher.Created += (x, y) => { Console.WriteLine("Detected a new file at " + y.FullPath); listener.Added(); }; watcher.Deleted += (x, y) => { Console.WriteLine("Detected a file deletion at " + y.FullPath); listener.Deleted(); }; watcher.EnableRaisingEvents = true; watcher.IncludeSubdirectories = true; }
public void StartWatching(ISpecFileListener listener, JasmineConfiguration configuration) { PackageRegistry.Packages.Each(pak => pak.ForFolder(BottleFiles.WebContentFolder, dir => { var contentFolder = dir.AppendPath("content"); if (_fileSystem.DirectoryExists(contentFolder)) { addContentFolder(contentFolder, listener, configuration); } var watcher = new FileSystemWatcher(dir, "*.config"); watcher.Changed += (x, y) => listener.Recycle(); watcher.Deleted += (x, y) => listener.Recycle(); watcher.EnableRaisingEvents = true; watcher.IncludeSubdirectories = true; _watchers.Add(watcher); })); }