public static bool ResolveEnvironmentVariables(IEnvironmentVariableContext context, StringBuilder resultBuilder, Action <string> failLog = null) { Match match; do { match = envVarsRegex.Match(resultBuilder.ToString()); if (match.Success) { string value = context.GetEnvironmentVariable(match.Groups[1].Captures[0].Value); if (value == null) { if (failLog != null) { failLog(match.Value); } return(false); } else { resultBuilder.Remove(match.Index, match.Length); resultBuilder.Insert(match.Index, value); } } } while (match.Success); return(true); }
public static bool ResolveEnvironmentVariables(IEnvironmentVariableContext context, StringBuilder resultBuilder, Action<string> failLog = null) { Match match; do { match = envVarsRegex.Match(resultBuilder.ToString()); if (match.Success) { string value = context.GetEnvironmentVariable(match.Groups[1].Captures[0].Value); if (value == null) { if (failLog != null) failLog(match.Value); return false; } else { resultBuilder.Remove(match.Index, match.Length); resultBuilder.Insert(match.Index, value); } } } while (match.Success); return true; }
/// <summary> /// Creates the model loader /// </summary> /// <param name="suiteFactory">Factory interface to create new suite instances</param> /// <param name="parametersLoaders">Parameter loader implementations</param> /// <param name="output">Output interface to issue warnings</param> /// <param name="pluginLoader">Plugin loader interface</param> /// <param name="environmentVariableContext">Environment variable context</param> /// <param name="suiteValidator">Suite validator interface</param> public LocalYamlModelLoader(ISuiteFactory suiteFactory, IEnumerable<IYamlProjectParametersLoader> parametersLoaders, IUserOutput output, IPluginLoader pluginLoader, IEnvironmentVariableContext environmentVariableContext, ISuiteValidator suiteValidator) : base(suiteFactory, parametersLoaders, output, pluginLoader, environmentVariableContext, suiteValidator) { Contract.Requires(suiteFactory != null); Contract.Requires(output != null); Contract.Requires(pluginLoader != null); Contract.Requires(environmentVariableContext != null); Contract.Requires(suiteValidator!= null); }
public FSRepositoryReferenceBuilder(Suite suite, IFSRepositoryFingerprintFactory fingerprintFactory, IFileSystemRepositoryAccess repository, [TargetRoot] IFileSystemDirectory targetRoot, IUserOutput output, IEnvironmentVariableContext environmentVariableContext) { this.suite = suite; this.fingerprintFactory = fingerprintFactory; this.repository = repository; this.targetRoot = targetRoot; this.output = output; this.environmentVariableContext = environmentVariableContext; }
/// <summary> /// Initializes the yaml loader /// </summary> /// <param name="suiteFactory">Factory interface to create new suite instances</param> /// <param name="parametersLoaders">Parameter loader implementations</param> /// <param name="output">Output interface to issue warnings</param> /// <param name="pluginLoader">Plugin loader interface</param> /// <param name="environmentVariableContext">Environment variable context</param> /// <param name="validator">Suite validator interface</param> protected YamlModelLoaderBase(ISuiteFactory suiteFactory, IEnumerable<IYamlProjectParametersLoader> parametersLoaders, IUserOutput output, IPluginLoader pluginLoader, IEnvironmentVariableContext environmentVariableContext, ISuiteValidator validator) { Contract.Requires(suiteFactory != null); Contract.Requires(output != null); Contract.Requires(pluginLoader != null); Contract.Requires(environmentVariableContext != null); Contract.Requires(validator != null); Contract.Ensures(this.suiteFactory == suiteFactory); Contract.Ensures(this.parametersLoaders == parametersLoaders); this.suiteFactory = suiteFactory; this.parametersLoaders = parametersLoaders; this.output = output; this.pluginLoader = pluginLoader; this.validator = validator; versioningEnvironmentVariableContext = new VersioningEnvironmentVariableContext(environmentVariableContext); parser = new YamlParser(); }
/// <summary> /// Initializes the yaml loader /// </summary> /// <param name="suiteFactory">Factory interface to create new suite instances</param> /// <param name="parametersLoaders">Parameter loader implementations</param> /// <param name="output">Output interface to issue warnings</param> /// <param name="pluginLoader">Plugin loader interface</param> /// <param name="environmentVariableContext">Environment variable context</param> /// <param name="validator">Suite validator interface</param> protected YamlModelLoaderBase(ISuiteFactory suiteFactory, IEnumerable <IYamlProjectParametersLoader> parametersLoaders, IUserOutput output, IPluginLoader pluginLoader, IEnvironmentVariableContext environmentVariableContext, ISuiteValidator validator) { Contract.Requires(suiteFactory != null); Contract.Requires(output != null); Contract.Requires(pluginLoader != null); Contract.Requires(environmentVariableContext != null); Contract.Requires(validator != null); Contract.Ensures(this.suiteFactory == suiteFactory); Contract.Ensures(this.parametersLoaders == parametersLoaders); this.suiteFactory = suiteFactory; this.parametersLoaders = parametersLoaders; this.output = output; this.pluginLoader = pluginLoader; this.validator = validator; versioningEnvironmentVariableContext = new VersioningEnvironmentVariableContext(environmentVariableContext); parser = new YamlParser(); }
public UriBasedPatternResolutionContext(IEnvironmentVariableContext environmentVariableContext, Uri uri) { Contract.Requires(environmentVariableContext != null); Contract.Requires(uri != null); this.environmentVariableContext = environmentVariableContext; string host = uri.Host; string path = uri.AbsolutePath.TrimStart('/'); string[] pathParts = path.Split('/'); if (pathParts.Length == 1) { repositoryName = null; dependencyName = host; fileName = Path.GetFileNameWithoutExtension(pathParts[0]); extension = Path.GetExtension(pathParts[0]).With(ex => ex.TrimStart('.')); version = null; } else if (pathParts.Length == 2) { repositoryName = null; dependencyName = host; fileName = Path.GetFileNameWithoutExtension(pathParts[1]); extension = Path.GetExtension(pathParts[1]).With(ex => ex.TrimStart('.')); version = pathParts[0]; } else if (pathParts.Length == 3) { repositoryName = host; dependencyName = pathParts[0]; fileName = Path.GetFileNameWithoutExtension(pathParts[2]); extension = Path.GetExtension(pathParts[2]).With(ex => ex.TrimStart('.')); version = pathParts[1]; } else { throw new InvalidReferenceException("Invalid FS repository dependency URI: " + uri); } }
public UriBasedPatternResolutionContext(IEnvironmentVariableContext environmentVariableContext, Uri uri) { Contract.Requires(environmentVariableContext != null); Contract.Requires(uri != null); this.environmentVariableContext = environmentVariableContext; string host = uri.Host; string path = uri.AbsolutePath.TrimStart('/'); string[] pathParts = path.Split('/'); if (pathParts.Length == 1) { repositoryName = null; dependencyName = host; fileName = Path.GetFileNameWithoutExtension(pathParts[0]); extension = Path.GetExtension(pathParts[0]).With(ex => ex.TrimStart('.')); version = null; } else if (pathParts.Length == 2) { repositoryName = null; dependencyName = host; fileName = Path.GetFileNameWithoutExtension(pathParts[1]); extension = Path.GetExtension(pathParts[1]).With(ex => ex.TrimStart('.')); version = pathParts[0]; } else if (pathParts.Length == 3) { repositoryName = host; dependencyName = pathParts[0]; fileName = Path.GetFileNameWithoutExtension(pathParts[2]); extension = Path.GetExtension(pathParts[2]).With(ex => ex.TrimStart('.')); version = pathParts[1]; } else { throw new InvalidReferenceException("Invalid FS repository dependency URI: " + uri); } }
public MercurialSuite([SuiteRoot] IFileSystemDirectory suiteRoot, IEnvironmentVariableContext environmentVariableContext) { this.suiteRoot = suiteRoot; this.environmentVariableContext = environmentVariableContext; }
public MercurialSuite([SuiteRoot] IFileSystemDirectory suiteRoot, IEnvironmentVariableContext environmentVariableContext) { this.suiteRoot = suiteRoot; this.environmentVariableContext = environmentVariableContext; }
public VersioningEnvironmentVariableContext(IEnvironmentVariableContext baseImpl) { this.baseImpl = baseImpl; }
public VersioningEnvironmentVariableContext(IEnvironmentVariableContext baseImpl) { this.baseImpl = baseImpl; }
/// <summary> /// Creates the model loader /// </summary> /// <param name="suiteFactory">Factory interface to create new suite instances</param> /// <param name="parametersLoaders">Parameter loader implementations</param> /// <param name="output">Output interface to issue warnings</param> /// <param name="pluginLoader">Plugin loader interface</param> /// <param name="environmentVariableContext">Environment variable context</param> /// <param name="suiteValidator">Suite validator interface</param> public LocalYamlModelLoader(ISuiteFactory suiteFactory, IEnumerable <IYamlProjectParametersLoader> parametersLoaders, IUserOutput output, IPluginLoader pluginLoader, IEnvironmentVariableContext environmentVariableContext, ISuiteValidator suiteValidator) : base(suiteFactory, parametersLoaders, output, pluginLoader, environmentVariableContext, suiteValidator) { Contract.Requires(suiteFactory != null); Contract.Requires(output != null); Contract.Requires(pluginLoader != null); Contract.Requires(environmentVariableContext != null); Contract.Requires(suiteValidator != null); }
public NugetPackagerParametersLoader(IUserOutput output, IEnvironmentVariableContext environmentVariableContext) : base(output) { this.environmentVariableContext = environmentVariableContext; }