Replace tt template with generated code

This commit is contained in:
Pranav K 2014-02-12 12:28:26 -08:00
parent 076ab987b1
commit 1c6f185989
1 changed files with 38 additions and 35 deletions

View File

@ -53,47 +53,48 @@
});
}
}
string outputNamespace = Host.ResolveParameterValue("directiveId", "namespaceDirectiveProcessor", "namespaceHint") ?? projectName;
#>
// <auto-generated />
GenerationEnvironment.AppendFormat(
@"// <auto-generated />
namespace <#= outputNamespace #>
{
namespace {0}
{{
using System.Globalization;
using System.Reflection;
using System.Resources;
internal static class <#= fileName #>
{
internal static class {1}
{{
private static readonly ResourceManager _resourceManager
= new ResourceManager("<#= projectName + "." + fileName #>", typeof(<#= fileName #>).GetTypeInfo().Assembly);
<#
foreach (var resourceString in resourceStrings)
{
#>
/// <summary>
<# foreach (var line in resourceString.Value.Split(new[] { Environment.NewLine }, StringSplitOptions.None)) { #>
/// <#= line.Replace("<", "&lt;").Replace(">", "&gt;") #>
<# } #>
/// </summary>
internal static string <#= resourceString.Name #><#= resourceString.ArgsCount > 0 ? resourceString.ParamsArray : string.Empty #>
{
<#
if (resourceString.ArgsCount == 0)
{
#>get { return GetString("<#= resourceString.Name #>"); }
<#
}
else
{
#>return string.Format(CultureInfo.CurrentCulture, GetString("<#= resourceString.Name #>"), <#= resourceString.ArgsArray #>);
<#
}#>
}
<#
}#>
= new ResourceManager(""{0}.{1}"", typeof({1}).GetTypeInfo().Assembly);
", projectName, fileName);
foreach (var resourceString in resourceStrings)
{
GenerationEnvironment.AppendLine();
GenerationEnvironment.AppendFormat(@" /// <summary>").AppendLine();
foreach (var line in resourceString.Value.Split(new[] { Environment.NewLine }, StringSplitOptions.None))
{
GenerationEnvironment.AppendFormat(" /// {0}", line.Replace("<", "&lt;").Replace(">", "&gt;"))
.AppendLine();
}
GenerationEnvironment.AppendFormat(
@" /// </summary>
internal static string {0}{1}
{{
", resourceString.Name, resourceString.ArgsCount > 0 ? resourceString.ParamsArray : string.Empty);
if (resourceString.ArgsCount == 0)
{
GenerationEnvironment.AppendFormat(
@" get {{ return GetString(""{0}""); }}", resourceString.Name);
}
else
{
GenerationEnvironment.AppendFormat(
@" return string.Format(CultureInfo.CurrentCulture, GetString(""{0}""), {1});", resourceString.Name, resourceString.ArgsArray);
}
GenerationEnvironment.AppendLine().Append(
@" }").AppendLine();
}
GenerationEnvironment.Append(@"
private static string GetString(string name)
{
string value = _resourceManager.GetString(name);
@ -102,6 +103,8 @@ namespace <#= outputNamespace #>
}
}
}
");
#>
<#
string outputPath = Path.Combine(ttDirectory, fileName + ".Designer.cs");
bool fileExists = File.Exists(outputPath);