static void Execute(string solution, string config, bool log = false) { var fileSystem = new FileSystem(); var collectionLogger = new CollectionLogger(); try { var launcher = new Launcher(fileSystem, collectionLogger); launcher.Launch(solution, config); if (log) { var textLogger = new TextLogger(fileSystem); textLogger.WriteMany(collectionLogger.Records); Console.WriteLine($"Log file: {textLogger.InitializedFilePath}"); } } catch (Exception ex) { if (collectionLogger.Records.Count == 0 || collectionLogger.Records[collectionLogger.Records.Count - 1].Severity != MessageSeverity.Error) { collectionLogger.Write(new ErrorLogRecord("Error occurred.", ex)); } var textLogger = new TextLogger(fileSystem); textLogger.WriteMany(collectionLogger.Records); Console.WriteLine($"Error occurred: {ex.Message}, more details in log file: {textLogger.InitializedFilePath}"); } }
public void Run() { var fileSystem = new FileSystem(); var logger = new CollectionLogger(); var adapters = new IMsBuildCodeFileStoreAdapter[] { new TypeScriptMsBuildStoreAdapter(fileSystem), new CSharpMsBuildStoreAdapter(fileSystem) }; CodeGenerationPipelineLauncherMsBuild launcher = new CodeGenerationPipelineLauncherMsBuild(fileSystem, logger, adapters); var testSolutionPath = "..\\..\\..\\..\\SandboxProjects\\TestProjects.MetadataTest\\MetadataTest.All.sln"; var testConfig = "..\\..\\..\\..\\SandboxProjects\\TestProjects.MetadataTest\\Source\\CGPipeline.json"; launcher.Execute(testSolutionPath, testConfig); }