private bool IsProcessorSupportIncremental(IDocumentProcessor processor)
{
if (!ShouldTraceIncrementalInfo)
{
return false;
}
if (!(processor is ISupportIncrementalDocumentProcessor))
{
Logger.LogVerbose($"Processor {processor.Name} cannot suppport incremental build because the processor doesn't implement {nameof(ISupportIncrementalDocumentProcessor)} interface.");
return false;
}
if (!processor.BuildSteps.All(step => step is ISupportIncrementalBuildStep))
{
Logger.LogVerbose($"Processor {processor.Name} cannot suppport incremental build because the following steps don't implement {nameof(ISupportIncrementalBuildStep)} interface: {string.Join(",", processor.BuildSteps.Where(step => !(step is ISupportIncrementalBuildStep)).Select(s => s.Name))}.");
return false;
}
return true;
}