private Possible <INugetConfiguration> ParseNugetConfigurationFrom( [CanBeNull] IObjectLiteralExpression configurationExpression) { IExpression expression; if (configurationExpression == null) { return(new MalformedConfigurationFailure("An object literal with NuGet resolver-specific configuration is expected")); } var result = new NugetConfiguration(); if (configurationExpression.TryFindAssignmentPropertyInitializer(NaiveConfigurationParsingUtilities.CredentialProvidersFieldName, out expression)) { if (expression.Kind != SyntaxKind.ArrayLiteralExpression) { return(new MalformedConfigurationFailure("An array literal is expected for NuGet credential providers")); } var credentialProviders = expression.Cast <IArrayLiteralExpression>(); foreach (var element in credentialProviders.Elements) { var elementResult = ParseNugetConfigurationFrom(element.As <IObjectLiteralExpression>()); if (!elementResult.Succeeded) { return(elementResult); } result.CredentialProviders.Add(elementResult.Result); } } if (configurationExpression.TryFindAssignmentPropertyInitializer(NaiveConfigurationParsingUtilities.ToolUrlFieldName, out expression)) { // TODO: Consider validating that string is well-formed URL result.ToolUrl = expression.As <ILiteralExpression>()?.Text; } if (configurationExpression.TryFindAssignmentPropertyInitializer(NaiveConfigurationParsingUtilities.HashFieldName, out expression)) { result.Hash = expression.As <ILiteralExpression>()?.Text; } return(result); }
public NugetClient(NugetConfiguration config, AppSettings settings) { _config = config; _settings = settings; }