Refactor LibKubernetesGenerator code structure (#1546)
* Refactor LibKubernetesGenerator code structure * clean up comment out code * No more locks * clean up dep * Update dependency paths in LibKubernetesGenerator.target
This commit is contained in:
@@ -6,22 +6,29 @@ namespace LibKubernetesGenerator
|
||||
internal class ModelGenerator
|
||||
{
|
||||
private readonly ClassNameHelper classNameHelper;
|
||||
private readonly ScriptObjectFactory scriptObjectFactory;
|
||||
|
||||
public ModelGenerator(ClassNameHelper classNameHelper)
|
||||
public ModelGenerator(ClassNameHelper classNameHelper, ScriptObjectFactory scriptObjectFactory)
|
||||
{
|
||||
this.classNameHelper = classNameHelper;
|
||||
this.scriptObjectFactory = scriptObjectFactory;
|
||||
}
|
||||
|
||||
public void Generate(OpenApiDocument swagger, IncrementalGeneratorPostInitializationContext context)
|
||||
{
|
||||
var sc = scriptObjectFactory.CreateScriptObject();
|
||||
|
||||
|
||||
foreach (var kv in swagger.Definitions)
|
||||
{
|
||||
var def = kv.Value;
|
||||
var clz = classNameHelper.GetClassNameForSchemaDefinition(def);
|
||||
context.RenderToContext(
|
||||
"Model.cs.template",
|
||||
new { clz, def, properties = def.Properties.Values },
|
||||
$"Models_{clz}.g.cs");
|
||||
|
||||
sc.SetValue("clz", clz, true);
|
||||
sc.SetValue("def", def, true);
|
||||
sc.SetValue("properties", def.Properties.Values, true);
|
||||
|
||||
context.RenderToContext("Model.cs.template", sc, $"Models_{clz}.g.cs");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user