/// <summary> /// Build the model of the specified type. /// </summary> /// <param name="model">The model to build.</param> /// <param name="output">The output type.</param> /// <param name="format">The format to apply.</param> public override void Build(Model model, string output, string format) { if (string.IsNullOrEmpty(output)) { output = @"Go"; } if (!Directory.Exists(output)) { Directory.CreateDirectory(output); } output = Path.Combine(output, "src/spike"); if (!Directory.Exists(output)) { Directory.CreateDirectory(output); } var template = new GoTemplate(); template.Model = model; // Build packet_compressor.go this.BuildTarget("PacketCompressor", output, template, ConventionType.Underscore); // Build packet_reader.go this.BuildTarget("PacketReader", output, template, ConventionType.Underscore); // Build packet_writer.go this.BuildTarget("PacketWriter", output, template, ConventionType.Underscore); // Build tcp_channel.go this.BuildTarget("TcpChannel", output, template, ConventionType.Underscore); //Make packets template.Target = "Packet"; foreach (var receive in model.Receives) { // Build the operation this.BuildOperation(receive, output, template, ConventionType.Underscore); } //Make CustomType template.Target = "ComplexType"; foreach (var customType in model.CustomTypes) { // Build the type this.BuildType(customType, output, template, ConventionType.Underscore); } }
/// <summary> /// Build the model of the specified type. /// </summary> /// <param name="model">The model to build.</param> /// <param name="output">The output type.</param> /// <param name="format">The format to apply.</param> public override void Build(Model model, string output, string format) { if (string.IsNullOrEmpty(output)) output = @"Go"; if (!Directory.Exists(output)) Directory.CreateDirectory(output); output = Path.Combine(output, "src/spike"); if (!Directory.Exists(output)) Directory.CreateDirectory(output); var template = new GoTemplate(); template.Model = model; // Build packet_compressor.go this.BuildTarget("PacketCompressor", output, template, ConventionType.Underscore); // Build packet_reader.go this.BuildTarget("PacketReader", output, template, ConventionType.Underscore); // Build packet_writer.go this.BuildTarget("PacketWriter", output, template, ConventionType.Underscore); // Build tcp_channel.go this.BuildTarget("TcpChannel", output, template, ConventionType.Underscore); //Make packets template.Target = "Packet"; foreach (var receive in model.Receives) { // Build the operation this.BuildOperation(receive, output, template, ConventionType.Underscore); } //Make CustomType template.Target = "ComplexType"; foreach (var customType in model.CustomTypes) { // Build the type this.BuildType(customType, output, template, ConventionType.Underscore); } }