public static ContainerBuilder UseForPeghTest(this ContainerBuilder builder, ICsArgumentPrompter csArgumentPrompter) { RegisterDefaultTypes(builder); builder.RegisterType <SecretRepository>().As <ISecretRepository>(); builder.RegisterType <PeghEnvironment>().As <IPeghEnvironment>(); builder.RegisterType <Disguiser>().As <IDisguiser>(); builder.RegisterInstance(csArgumentPrompter).As <ICsArgumentPrompter>(); return(builder); }
public SecretRepository(ICsArgumentPrompter csArgumentPrompter, ICsLambdaCompiler csLambdaCompiler, IDisguiser disguiser, IPeghEnvironment peghEnvironment, IXmlDeserializer xmlDeserializer, IXmlSerializer xmlSerializer, IXmlSchemer xmlSchemer) { CsArgumentPrompter = csArgumentPrompter; CsLambdaCompiler = csLambdaCompiler; Disguiser = disguiser; PeghEnvironment = peghEnvironment; XmlDeserializer = xmlDeserializer; XmlSchemer = xmlSchemer; XmlSerializer = xmlSerializer; Values = new Dictionary <string, object>(); var folder = PeghEnvironment.RootWorkFolder + @"\SecretSamples\"; if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } folder = PeghEnvironment.RootWorkFolder + @"\SecretRepository\"; if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } }
public static async Task <IServiceCollection> UseVishizhukelDvinAndPeghAsync(this IServiceCollection services, string applicationName, ICsArgumentPrompter csArgumentPrompter) { return(await UseVishizhukelAndPeghOptionallyDvinAsync(services, applicationName, csArgumentPrompter, true)); }
private static async Task <ContainerBuilder> UseVishizhukelAndPeghOptionallyDvinAsync(ContainerBuilder builder, string applicationName, ICsArgumentPrompter csArgumentPrompter, bool useDvin) { if (useDvin) { builder.UseDvinAndPegh(applicationName, csArgumentPrompter); } else { builder.UsePegh(applicationName, csArgumentPrompter); } var securedHttpGateSettings = await CreateSecuredHttpGateSettingsAsync(applicationName, csArgumentPrompter); builder.RegisterInstance <ISecuredHttpGateSettings>(securedHttpGateSettings); builder.RegisterType <HttpGate>().As <IHttpGate>(); builder.RegisterType <SecuredHttpGate>().As <ISecuredHttpGate>(); builder.RegisterType <TextFileWriter>().As <ITextFileWriter>(); builder.RegisterType <WebFileSource>().As <IWebFileSource>(); return(builder); }
public static async Task <ContainerBuilder> UseVishizhukelDvinAndPeghAsync(this ContainerBuilder builder, string applicationName, ICsArgumentPrompter csArgumentPrompter) { return(await UseVishizhukelAndPeghOptionallyDvinAsync(builder, applicationName, csArgumentPrompter, true)); }
public static IServiceCollection UseFusionNuclideProtchAndGitty(this IServiceCollection services, ICsArgumentPrompter csArgumentPrompter) { services.UseNuclideProtchGittyAndPegh(csArgumentPrompter); services.AddTransient <INugetPackageUpdater, NugetPackageUpdater>(); services.AddTransient <INugetPackageToPushFinder, NugetPackageToPushFinder>(); services.AddTransient <IAutoCommitterAndPusher, AutoCommitterAndPusher>(); services.AddTransient <IFolderUpdater, FolderUpdater>(); services.AddTransient <IChangedBinariesLister, ChangedBinariesLister>(); services.AddTransient <ICakeBuilder, CakeBuilder>(); services.AddTransient <IBinariesHelper, BinariesHelper>(); return(services); }
public static ContainerBuilder UseFusionNuclideProtchAndGitty(this ContainerBuilder builder, ICsArgumentPrompter csArgumentPrompter) { builder.UseNuclideProtchGittyAndPegh(csArgumentPrompter); builder.RegisterType <NugetPackageUpdater>().As <INugetPackageUpdater>(); builder.RegisterType <NugetPackageToPushFinder>().As <INugetPackageToPushFinder>(); builder.RegisterType <AutoCommitterAndPusher>().As <IAutoCommitterAndPusher>(); builder.RegisterType <FolderUpdater>().As <IFolderUpdater>(); builder.RegisterType <ChangedBinariesLister>().As <IChangedBinariesLister>(); builder.RegisterType <CakeBuilder>().As <ICakeBuilder>(); builder.RegisterType <BinariesHelper>().As <IBinariesHelper>(); return(builder); }
public static ContainerBuilder UseGittyAndPegh(this ContainerBuilder builder, ICsArgumentPrompter csArgumentPrompter) { builder.UsePegh(csArgumentPrompter); builder.RegisterType <DotNetCakeInstaller>().As <IDotNetCakeInstaller>(); builder.RegisterType <ProcessRunner>().As <IProcessRunner>(); builder.RegisterType <EmbeddedCakeScriptReader>().As <IEmbeddedCakeScriptReader>(); builder.RegisterType <DotNetCakeRunner>().As <IDotNetCakeRunner>(); builder.RegisterType <GitUtilities>().As <IGitUtilities>(); builder.RegisterType <GitHubUtilities>().As <IGitHubUtilities>(); return(builder); }
public static ContainerBuilder UsePegh(this ContainerBuilder builder, string applicationName, ICsArgumentPrompter csArgumentPrompter) { builder.RegisterInstance(csArgumentPrompter).As <ICsArgumentPrompter>(); builder.RegisterType <CsLambdaCompiler>().As <ICsLambdaCompiler>(); builder.RegisterType <Disguiser>().As <IDisguiser>(); builder.RegisterType <FolderDeleter>().As <IFolderDeleter>(); builder.RegisterType <FolderResolver>().As <IFolderResolver>(); builder.RegisterType <MethodNamesFromStackFramesExtractor>().As <IMethodNamesFromStackFramesExtractor>(); builder.RegisterType <PassphraseProvider>().As <IPassphraseProvider>(); builder.RegisterType <PeghEnvironment>().As <IPeghEnvironment>(); builder.RegisterType <PrimeNumberGenerator>().As <IPrimeNumberGenerator>(); builder.RegisterType <SecretRepository>().As <ISecretRepository>(); builder.RegisterType <SimpleLogReader>().As <ISimpleLogReader>(); builder.RegisterType <StringCrypter>().As <IStringCrypter>(); builder.RegisterType <XmlDeserializer>().As <IXmlDeserializer>(); builder.RegisterType <XmlSerializer>().As <IXmlSerializer>(); builder.RegisterType <XmlSchemer>().As <IXmlSchemer>(); LogConfiguration ??= new LogConfiguration(applicationName); builder.RegisterInstance(LogConfiguration); SimpleLogger ??= new SimpleLogger(LogConfiguration, new SimpleLogFlusher(), new MethodNamesFromStackFramesExtractor()); builder.RegisterInstance(SimpleLogger); builder.RegisterInstance <ILogger>(SimpleLogger); return(builder); }
public static IServiceCollection UseDvinAndPegh(this IServiceCollection services, ICsArgumentPrompter csArgumentPrompter) { services.UsePegh(csArgumentPrompter); services.AddTransient <IDvinRepository, DvinRepository>(); return(services); }
public static ContainerBuilder UseDvinAndPegh(this ContainerBuilder builder, ICsArgumentPrompter csArgumentPrompter) { builder.UsePegh(csArgumentPrompter); builder.RegisterType <DvinRepository>().As <IDvinRepository>(); return(builder); }
// ReSharper disable once UnusedMember.Global public static IServiceCollection UseGittyAndPegh(this IServiceCollection services, ICsArgumentPrompter csArgumentPrompter) { services.UsePegh(csArgumentPrompter); services.AddTransient <IDotNetCakeInstaller, DotNetCakeInstaller>(); services.AddTransient <IProcessRunner, ProcessRunner>(); return(services); }
public static ContainerBuilder UseGittyAndPegh(this ContainerBuilder builder, ICsArgumentPrompter csArgumentPrompter) { builder.UsePegh(csArgumentPrompter); builder.RegisterType <DotNetCakeInstaller>().As <IDotNetCakeInstaller>(); builder.RegisterType <ProcessRunner>().As <IProcessRunner>(); return(builder); }
private static async Task <IServiceCollection> UseVishizhukelAndPeghOptionallyDvinAsync(this IServiceCollection services, string applicationName, ICsArgumentPrompter csArgumentPrompter, bool useDvin) { if (useDvin) { services.UseDvinAndPegh(applicationName, csArgumentPrompter); } else { services.UsePegh(applicationName, csArgumentPrompter); } var securedHttpGateSettings = await CreateSecuredHttpGateSettingsAsync(applicationName, csArgumentPrompter); services.AddSingleton <ISecuredHttpGateSettings>(securedHttpGateSettings); services.AddTransient <IHttpGate, HttpGate>(); services.AddTransient <ISecuredHttpGate, SecuredHttpGate>(); services.AddTransient <ITextFileWriter, TextFileWriter>(); services.AddTransient <IWebFileSource, WebFileSource>(); return(services); }
public static IServiceCollection UsePegh(this IServiceCollection services, string applicationName, ICsArgumentPrompter csArgumentPrompter) { services.AddSingleton(csArgumentPrompter); services.AddTransient <ICsLambdaCompiler, CsLambdaCompiler>(); services.AddTransient <IDisguiser, Disguiser>(); services.AddTransient <IFolderDeleter, FolderDeleter>(); services.AddTransient <IFolderResolver, FolderResolver>(); services.AddTransient <IMethodNamesFromStackFramesExtractor, MethodNamesFromStackFramesExtractor>(); services.AddTransient <IPassphraseProvider, PassphraseProvider>(); services.AddTransient <IPeghEnvironment, PeghEnvironment>(); services.AddTransient <IPrimeNumberGenerator, PrimeNumberGenerator>(); services.AddTransient <ISecretRepository, SecretRepository>(); services.AddTransient <ISimpleLogReader, SimpleLogReader>(); services.AddTransient <IStringCrypter, StringCrypter>(); services.AddTransient <IXmlDeserializer, XmlDeserializer>(); services.AddTransient <IXmlSerializer, XmlSerializer>(); services.AddTransient <IXmlSchemer, XmlSchemer>(); LogConfiguration ??= new LogConfiguration(applicationName); services.AddSingleton(LogConfiguration); SimpleLogger ??= new SimpleLogger(LogConfiguration, new SimpleLogFlusher(), new MethodNamesFromStackFramesExtractor()); services.AddSingleton(SimpleLogger); return(services); }
private static async Task <SecuredHttpGateSettings> CreateSecuredHttpGateSettingsAsync(string applicationName, ICsArgumentPrompter csArgumentPrompter) { var peghContainer = new ContainerBuilder().UsePegh(applicationName, csArgumentPrompter).Build(); var repository = peghContainer.Resolve <ISecretRepository>(); var securedHttpGateSettingsSecret = new SecretSecuredHttpGateSettings(); var errorsAndInfos = new ErrorsAndInfos(); var securedHttpGateSettings = await repository.GetAsync(securedHttpGateSettingsSecret, errorsAndInfos); if (errorsAndInfos.AnyErrors()) { throw new Exception(errorsAndInfos.ErrorsToString()); } return(securedHttpGateSettings); }
// ReSharper disable once UnusedMember.Global public static IServiceCollection UseGittyAndPegh(this IServiceCollection services, ICsArgumentPrompter csArgumentPrompter) { services.UsePegh(csArgumentPrompter); services.AddTransient <IDotNetCakeInstaller, DotNetCakeInstaller>(); services.AddTransient <IProcessRunner, ProcessRunner>(); services.AddTransient <IEmbeddedCakeScriptReader, EmbeddedCakeScriptReader>(); services.AddTransient <IDotNetCakeRunner, DotNetCakeRunner>(); services.AddTransient <IGitUtilities, GitUtilities>(); services.AddTransient <IGitHubUtilities, GitHubUtilities>(); return(services); }