diff --git a/SpecFlow.Tools.MsBuild.Generation/MSBuildTraceListener.cs b/SpecFlow.Tools.MsBuild.Generation/MSBuildTraceListener.cs new file mode 100644 index 000000000..227080690 --- /dev/null +++ b/SpecFlow.Tools.MsBuild.Generation/MSBuildTraceListener.cs @@ -0,0 +1,25 @@ +using Microsoft.Build.Framework; +using Microsoft.Build.Utilities; +using TechTalk.SpecFlow.Tracing; + +namespace SpecFlow.Tools.MsBuild.Generation; + +public class MSBuildTraceListener : ITraceListener +{ + private readonly TaskLoggingHelper _taskLoggingHelper; + + public MSBuildTraceListener(TaskLoggingHelper taskLoggingHelper) + { + _taskLoggingHelper = taskLoggingHelper; + } + + public void WriteTestOutput(string message) + { + _taskLoggingHelper.LogMessage(MessageImportance.High, message); + } + + public void WriteToolOutput(string message) + { + _taskLoggingHelper.LogMessage(MessageImportance.High, "-> " + message); + } +} diff --git a/SpecFlow.Tools.MsBuild.Generation/WrappedGeneratorContainerBuilder.cs b/SpecFlow.Tools.MsBuild.Generation/WrappedGeneratorContainerBuilder.cs index 8a63dcb63..74acb4c81 100644 --- a/SpecFlow.Tools.MsBuild.Generation/WrappedGeneratorContainerBuilder.cs +++ b/SpecFlow.Tools.MsBuild.Generation/WrappedGeneratorContainerBuilder.cs @@ -1,8 +1,10 @@ using System.Collections.Generic; using BoDi; using TechTalk.SpecFlow.Analytics; +using TechTalk.SpecFlow.Configuration; using TechTalk.SpecFlow.Generator; using TechTalk.SpecFlow.Generator.Interfaces; +using TechTalk.SpecFlow.Tracing; namespace SpecFlow.Tools.MsBuild.Generation { @@ -27,6 +29,7 @@ public WrappedGeneratorContainerBuilder(GeneratorContainerBuilder generatorConta objectContainer.RegisterTypeAs(); objectContainer.RegisterTypeAs(); + objectContainer.RegisterTypeAs(); if (_generateFeatureFileCodeBehindTaskConfiguration.OverrideFeatureFileCodeBehindGenerator is null) { @@ -37,6 +40,8 @@ public WrappedGeneratorContainerBuilder(GeneratorContainerBuilder generatorConta objectContainer.RegisterInstanceAs(_generateFeatureFileCodeBehindTaskConfiguration.OverrideFeatureFileCodeBehindGenerator); } + objectContainer.Resolve().TraceConfigSource(objectContainer.Resolve(), objectContainer.Resolve()); + return objectContainer; } } diff --git a/TechTalk.SpecFlow.Generator/GeneratorContainerBuilder.cs b/TechTalk.SpecFlow.Generator/GeneratorContainerBuilder.cs index ece71c3e9..30c65e8ca 100644 --- a/TechTalk.SpecFlow.Generator/GeneratorContainerBuilder.cs +++ b/TechTalk.SpecFlow.Generator/GeneratorContainerBuilder.cs @@ -58,7 +58,7 @@ public IObjectContainer CreateContainer(SpecFlowConfigurationHolder configuratio generatorPluginEvents.RaiseCustomizeDependencies(container, specFlowConfiguration); - container.Resolve().TraceConfigSource(container.Resolve(), specFlowConfiguration.SpecFlowConfiguration); + //container.Resolve().TraceConfigSource(container.Resolve(), specFlowConfiguration.SpecFlowConfiguration); return container; }