/// <summary> /// Creates an instance of <see cref="FileChangeProcessor"/>. /// </summary> public FileChangeProcessor( LoggingContext loggingContext, FileChangeTracker fileChangeTracker, InputChangeList inputChangeList = null) { Contract.Requires(loggingContext != null); Contract.Requires(fileChangeTracker != null); Contract.Requires(fileChangeTracker.IsTrackingChanges); m_loggingContext = loggingContext; m_fileChangeTracker = fileChangeTracker; m_inputChangeList = inputChangeList; }
/// <summary> /// Initial affected output list with the external source change list /// </summary> public void InitialAffectedOutputList(InputChangeList inputChangeList, PathTable pathTable) { foreach (var changePath in inputChangeList.ChangedPaths) { switch (changePath.PathChanges) { case PathChanges.DataOrMetadataChanged: case PathChanges.NewlyPresentAsFile: m_sourceChangeAffectedFiles.GetOrAdd(new FileArtifact(AbsolutePath.Create(pathTable, changePath.Path))); break; } } }