public Jenkins(Harness harness, IProcessManager processManager, IResultParser resultParser, ITunnelBore tunnelBore) { this.processManager = processManager ?? throw new ArgumentNullException(nameof(processManager)); this.TunnelBore = tunnelBore ?? throw new ArgumentNullException(nameof(tunnelBore)); Harness = harness ?? throw new ArgumentNullException(nameof(harness)); Simulators = new SimulatorLoader(processManager); Devices = new HardwareDeviceLoader(processManager); testSelector = new TestSelector(this, processManager, new GitHub(harness, processManager)); testVariationsFactory = new TestVariationsFactory(this, processManager); DeviceLoader = new JenkinsDeviceLoader(Simulators, Devices, Logs); resourceManager = new ResourceManager(); htmlReportWriter = new HtmlReportWriter(jenkins: this, resourceManager: resourceManager, resultParser: resultParser); markdownReportWriter = new MarkdownReportWriter(); }
public Jenkins(IHarness harness, IProcessManager processManager, IResultParser resultParser, ITunnelBore tunnelBore) { this.processManager = processManager ?? throw new ArgumentNullException(nameof(processManager)); this.TunnelBore = tunnelBore ?? throw new ArgumentNullException(nameof(tunnelBore)); Harness = harness ?? throw new ArgumentNullException(nameof(harness)); Simulators = new SimulatorLoader(processManager); Devices = new HardwareDeviceLoader(processManager); testSelector = new TestSelector(this, processManager, new GitHub(harness, processManager)); testVariationsFactory = new TestVariationsFactory(this, processManager); DeviceLoader = new JenkinsDeviceLoader(Simulators, Devices, Logs); resourceManager = new ResourceManager(); xamarinStorageHtmlReportWriter = new HtmlReportWriter(jenkins: this, resourceManager: resourceManager, resultParser: resultParser); // we only care about the vsdrops writer if we are in the CI, locally makes no sense if (harness.InCI && !string.IsNullOrEmpty(Harness.VSDropsUri)) { vsdropsHtmlReportWriter = new HtmlReportWriter(this, resourceManager, resultParser, linksPrefix: Harness.VSDropsUri, embeddedResources: true); } markdownReportWriter = new MarkdownReportWriter(); }