add: Script Templates for global classes

This commit is contained in:
h z
2025-02-11 01:10:40 +00:00
parent 8c118838bf
commit b90b424e06
2 changed files with 17 additions and 1 deletions

View File

@@ -8,7 +8,7 @@
<RootNamespace>Polonium.Tasks</RootNamespace>
<AssemblyName>Polonium.Tasks</AssemblyName>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Version>0.0.91</Version>
<Version>0.0.92-d</Version>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<GenerateDependencyFile>true</GenerateDependencyFile>
<TargetsForTfmSpecificBuildOutput>

View File

@@ -18,6 +18,9 @@ public class GenerateProxyNodesTask : Task
[Required]
public string OutputDirectory { get; set; }
[Required]
public string TemplateDirectory { get; set; }
[Required]
public string AttributeName { get; set; }
@@ -58,6 +61,19 @@ public class GenerateProxyNodesTask : Task
string outputFile = Path.Combine(OutputDirectory, $"{className}.cs");
File.WriteAllText(outputFile, sb.ToString());
Log.LogMessage(MessageImportance.High, $"Generated proxy file: {outputFile}");
StringBuilder sbx = new StringBuilder();
sbx
.AppendLine("// meta-default: true")
.AppendLine("using _BINDINGS_NAMESPACE_;")
.AppendLine("using System;")
.AppendLine("public partial class _CLASS_ : GlobalClasses._BASE_")
.AppendLine("{")
.AppendLine("}");
if(!Directory.Exists($"{TemplateDirectory}/{className}"))
Directory.CreateDirectory($"{TemplateDirectory}/{className}");
string templateFile = $"{TemplateDirectory}/{className}/Polonium_{className}.cs";
File.WriteAllText(templateFile, sbx.ToString());
}
}
return true;