public DirectoryCreated(MsBuildFileSystemWatcherEntries entries, string rootDirectory, IFileSystem fileSystem, IMsBuildFileSystemFilter fileSystemFilter, string directoryFullPath) {
     _entries = entries;
     _rootDirectory = rootDirectory;
     _fileSystem = fileSystem;
     _fileSystemFilter = fileSystemFilter;
     _directoryFullPath = directoryFullPath;
 }
Exemple #2
0
        public MsBuildFileSystemWatcher(string directory, string filter, int delayMilliseconds, int recoveryDelayMilliseconds, IFileSystem fileSystem, IMsBuildFileSystemFilter fileSystemFilter, IActionLog log, TaskScheduler taskScheduler = null)
        {
            Requires.NotNullOrWhiteSpace(directory, nameof(directory));
            Requires.NotNullOrWhiteSpace(filter, nameof(filter));
            Requires.Range(delayMilliseconds >= 0, nameof(delayMilliseconds));
            Requires.Range(recoveryDelayMilliseconds >= 0, nameof(recoveryDelayMilliseconds));
            Requires.NotNull(fileSystem, nameof(fileSystem));
            Requires.NotNull(fileSystemFilter, nameof(fileSystemFilter));

            _directory                 = directory;
            _filter                    = filter;
            _delayMilliseconds         = delayMilliseconds;
            _recoveryDelayMilliseconds = recoveryDelayMilliseconds;
            _fileSystem                = fileSystem;
            _fileSystemFilter          = fileSystemFilter;
            _taskScheduler             = taskScheduler ?? TaskScheduler.Default;
            _log = log;

            _entries        = new MsBuildFileSystemWatcherEntries();
            _queue          = new ConcurrentQueue <IFileSystemChange>();
            _broadcastBlock = new BroadcastBlock <Changeset>(b => b, new DataflowBlockOptions {
                TaskScheduler = _taskScheduler
            });
            SourceBlock = _broadcastBlock.SafePublicize();
            _fileSystemFilter.Seal();
        }
Exemple #3
0
 public DirectoryCreated(MsBuildFileSystemWatcherEntries entries, string rootDirectory, IFileSystem fileSystem, IMsBuildFileSystemFilter fileSystemFilter, string directoryFullPath)
 {
     _entries           = entries;
     _rootDirectory     = rootDirectory;
     _fileSystem        = fileSystem;
     _fileSystemFilter  = fileSystemFilter;
     _directoryFullPath = directoryFullPath;
 }
 public DirectoryRenamed(MsBuildFileSystemWatcherEntries entries, string rootDirectory, IFileSystem fileSystem, IMsBuildFileSystemFilter fileSystemFilter, string oldFullPath, string fullPath) {
     _entries = entries;
     _rootDirectory = rootDirectory;
     _fileSystem = fileSystem;
     _fileSystemFilter = fileSystemFilter;
     _oldFullPath = oldFullPath;
     _fullPath = fullPath;
 }
 public DirectoryRenamed(MsBuildFileSystemWatcherEntries entries, string rootDirectory, IFileSystem fileSystem, IMsBuildFileSystemFilter fileSystemFilter, string oldFullPath, string fullPath)
 {
     _entries          = entries;
     _rootDirectory    = rootDirectory;
     _fileSystem       = fileSystem;
     _fileSystemFilter = fileSystemFilter;
     _oldFullPath      = oldFullPath;
     _fullPath         = fullPath;
 }
        public MsBuildFileSystemWatcher(string directory, string filter, int delayMilliseconds, int recoveryDelayMilliseconds, IFileSystem fileSystem, IMsBuildFileSystemFilter fileSystemFilter, IActionLog log, TaskScheduler taskScheduler = null) {
            Requires.NotNullOrWhiteSpace(directory, nameof(directory));
            Requires.NotNullOrWhiteSpace(filter, nameof(filter));
            Requires.Range(delayMilliseconds >= 0, nameof(delayMilliseconds));
            Requires.Range(recoveryDelayMilliseconds >= 0, nameof(recoveryDelayMilliseconds));
            Requires.NotNull(fileSystem, nameof(fileSystem));
            Requires.NotNull(fileSystemFilter, nameof(fileSystemFilter));

            _directory = directory;
            _filter = filter;
            _delayMilliseconds = delayMilliseconds;
            _recoveryDelayMilliseconds = recoveryDelayMilliseconds;
            _fileSystem = fileSystem;
            _fileSystemFilter = fileSystemFilter;
            _taskScheduler = taskScheduler ?? TaskScheduler.Default;
            _log = log;

            _entries = new MsBuildFileSystemWatcherEntries();
            _queue = new ConcurrentQueue<IFileSystemChange>();
            _broadcastBlock = new BroadcastBlock<Changeset>(b => b, new DataflowBlockOptions { TaskScheduler = _taskScheduler });
            SourceBlock = _broadcastBlock.SafePublicize();
            _fileSystemFilter.Seal();
        }
 public DirectoryDeleted(MsBuildFileSystemWatcherEntries entries, string rootDirectory, string fullPath) {
     _entries = entries;
     _rootDirectory = rootDirectory;
     _fullPath = fullPath;
 }
 public DirectoryDeleted(MsBuildFileSystemWatcherEntries entries, string rootDirectory, string fullPath)
 {
     _entries       = entries;
     _rootDirectory = rootDirectory;
     _fullPath      = fullPath;
 }
        public MsBuildFileSystemWatcherEntriesTest() {
            _entries = new MsBuildFileSystemWatcherEntries();
/*
Basic relative path structure
├─[A]
│  ├─[A]
│  │  ├─[A]
│  │  │  ├─a.x
│  │  │  └─a.y
│  │  ├─[B]
│  │  │  ├─a.x
│  │  │  └─a.y
│  │  ├─c.x
│  │  └─c.y
│  ├─[B]
│  │  ├─[A]
│  │  ├─b.x
│  │  └─b.y
│  │
│  ├─c.x
│  └─c.y
├─[B]
│  ├─[A]
│  │  ├─[A]
│  │  │  ├─a.x
│  │  │  └─a.y
│  │  ├─[B]
│  │  │  ├─a.x
│  │  │  └─a.y
│  │  ├─c.x
│  │  └─c.y
│  └─[B]
│     ├─[A]
│     ├─b.x
│     └─b.y
├─.x
└─.y
*/
            _entries.AddDirectory(@"A", @"A");
            _entries.AddDirectory(@"A\A", @"A\A");
            _entries.AddDirectory(@"A\A\A", @"A\A\A");
            _entries.AddDirectory(@"A\A\B", @"A\A\B");
            _entries.AddDirectory(@"A\B", @"A\B");
            _entries.AddDirectory(@"A\B\A", @"A\B\A");
            _entries.AddDirectory(@"B", @"B");
            _entries.AddDirectory(@"B\A", @"B\A");
            _entries.AddDirectory(@"B\A\A", @"B\A\A");
            _entries.AddDirectory(@"B\A\B", @"B\A\B");
            _entries.AddDirectory(@"B\B", @"B\B");
            _entries.AddDirectory(@"B\B\A", @"B\B\A");

            _entries.AddFile(@"A\A\A\a.x", @"A\A\A\a.x");
            _entries.AddFile(@"A\A\A\a.y", @"A\A\A\a.y");
            _entries.AddFile(@"A\A\B\a.x", @"A\A\B\a.x");
            _entries.AddFile(@"A\A\B\a.y", @"A\A\B\a.y");
            _entries.AddFile(@"A\A\c.x", @"A\A\c.x");
            _entries.AddFile(@"A\A\c.y", @"A\A\c.y");
            _entries.AddFile(@"A\B\b.x", @"A\B\b.x");
            _entries.AddFile(@"A\B\b.y", @"A\B\b.y");
            _entries.AddFile(@"A\c.x", @"A\c.x");
            _entries.AddFile(@"A\c.y", @"A\c.y");
            _entries.AddFile(@"B\A\A\a.x", @"B\A\A\a.x");
            _entries.AddFile(@"B\A\A\a.y", @"B\A\A\a.y");
            _entries.AddFile(@"B\A\B\a.x", @"B\A\B\a.x");
            _entries.AddFile(@"B\A\B\a.y", @"B\A\B\a.y");
            _entries.AddFile(@"B\A\c.x", @"B\A\c.x");
            _entries.AddFile(@"B\A\c.y", @"B\A\c.y");
            _entries.AddFile(@"B\B\b.x", @"B\B\b.x");
            _entries.AddFile(@"B\B\b.y", @"B\B\b.y");
            _entries.AddFile(@".x", @".x");
            _entries.AddFile(@".y", @".y");

            _entries.ProduceChangeset();
        }