public PlatformsInstallationScriptProvider(
     IEnumerable <IProgrammingPlatform> platforms,
     DefaultPlatformsInformationProvider platformDetector,
     IStandardOutputWriter outputWriter)
 {
     this.platforms        = platforms;
     this.platformDetector = platformDetector;
     this.outputWriter     = outputWriter;
 }
 public DefaultBuildScriptGenerator(
     DefaultPlatformsInformationProvider platformsInformationProvider,
     PlatformsInstallationScriptProvider environmentSetupScriptProvider,
     IOptions <BuildScriptGeneratorOptions> cliOptions,
     ICompatiblePlatformDetector compatiblePlatformDetector,
     IEnumerable <IChecker> checkers,
     ILogger <DefaultBuildScriptGenerator> logger,
     IStandardOutputWriter writer)
 {
     this.platformsInformationProvider   = platformsInformationProvider;
     this.environmentSetupScriptProvider = environmentSetupScriptProvider;
     this.cliOptions = cliOptions.Value;
     this.compatiblePlatformDetector = compatiblePlatformDetector;
     this.logger   = logger;
     this.checkers = checkers;
     this.writer   = writer;
     this.logger.LogDebug("Available checkers: {checkerCount}", this.checkers?.Count() ?? 0);
 }