public virtual bool TryGetHostParamDefault(string paramName, out string value) { switch (paramName) { case "GlobalJsonExists": value = GlobalJsonFileExistsInPath.ToString(); return(true); default: return(_baseHost.TryGetHostParamDefault(paramName, out value)); } }
public IParameterSet SetupDefaultParamValuesFromTemplateAndHost(ITemplate templateInfo, string realName, out IReadOnlyList <string> paramsWithInvalidValues) { ITemplateEngineHost host = _environmentSettings.Host; IParameterSet templateParams = templateInfo.Generator.GetParametersForTemplate(_environmentSettings, templateInfo); List <string> paramsWithInvalidValuesList = new List <string>(); foreach (ITemplateParameter param in templateParams.ParameterDefinitions) { if (param.IsName) { templateParams.ResolvedValues[param] = realName; } else if (host.TryGetHostParamDefault(param.Name, out string?hostParamValue) && hostParamValue != null) { object?resolvedValue = templateInfo.Generator.ConvertParameterValueToType(_environmentSettings, param, hostParamValue, out bool valueResolutionError); if (!valueResolutionError) { if (resolvedValue is null) { throw new InvalidOperationException($"{nameof(resolvedValue)} cannot be null when {nameof(valueResolutionError)} is 'false'."); } templateParams.ResolvedValues[param] = resolvedValue; } else { paramsWithInvalidValuesList.Add(param.Name); } } else if (param.Priority != TemplateParameterPriority.Required && param.DefaultValue != null) { object?resolvedValue = templateInfo.Generator.ConvertParameterValueToType(_environmentSettings, param, param.DefaultValue, out bool valueResolutionError); if (!valueResolutionError) { if (resolvedValue is null) { throw new InvalidOperationException($"{nameof(resolvedValue)} cannot be null when {nameof(valueResolutionError)} is 'false'."); } templateParams.ResolvedValues[param] = resolvedValue; } else { paramsWithInvalidValuesList.Add(param.Name); } } } paramsWithInvalidValues = paramsWithInvalidValuesList; return(templateParams); }
// // Reads the parameters from the template and the host and setup their values in the return IParameterSet. // Host param values override template defaults. // public IParameterSet SetupDefaultParamValuesFromTemplateAndHost(ITemplate templateInfo, string realName, out IList <string> paramsWithInvalidValues) { ITemplateEngineHost host = _environmentSettings.Host; IParameterSet templateParams = templateInfo.Generator.GetParametersForTemplate(_environmentSettings, templateInfo); paramsWithInvalidValues = new List <string>(); foreach (ITemplateParameter param in templateParams.ParameterDefinitions) { if (param.IsName) { templateParams.ResolvedValues[param] = realName; } else if (host.TryGetHostParamDefault(param.Name, out string hostParamValue) && hostParamValue != null) { object resolvedValue = templateInfo.Generator.ConvertParameterValueToType(_environmentSettings, param, hostParamValue, out bool valueResolutionError); if (!valueResolutionError) { templateParams.ResolvedValues[param] = resolvedValue; } else { paramsWithInvalidValues.Add(param.Name); } } else if (param.Priority != TemplateParameterPriority.Required && param.DefaultValue != null) { object resolvedValue = templateInfo.Generator.ConvertParameterValueToType(_environmentSettings, param, param.DefaultValue, out bool valueResolutionError); if (!valueResolutionError) { templateParams.ResolvedValues[param] = resolvedValue; } else { paramsWithInvalidValues.Add(param.Name); } } } return(templateParams); }
// // Reads the parameters from the template and the host and setup their values in the return IParameterSet. // Host param values override template defaults. // public static IParameterSet SetupDefaultParamValuesFromTemplateAndHost(ITemplateEngineHost host, ITemplate template, string realName) { IParameterSet templateParams = template.Generator.GetParametersForTemplate(template); string hostParamValue; foreach (ITemplateParameter param in templateParams.ParameterDefinitions) { if (param.IsName) { templateParams.ResolvedValues[param] = realName; } else if (host.TryGetHostParamDefault(param.Name, out hostParamValue) && hostParamValue != null) { templateParams.ResolvedValues[param] = template.Generator.ConvertParameterValueToType(param, hostParamValue); } else if (param.Priority != TemplateParameterPriority.Required && param.DefaultValue != null) { templateParams.ResolvedValues[param] = template.Generator.ConvertParameterValueToType(param, param.DefaultValue); } } return(templateParams); }