chore[generation]: log path to generated protocol file

This commit is contained in:
godotg
2023-12-12 16:54:36 +08:00
parent f13cb15a56
commit bac14a426e
10 changed files with 104 additions and 39 deletions
@@ -32,6 +32,8 @@ import com.zfoo.protocol.util.ClassUtils;
import com.zfoo.protocol.util.FileUtils;
import com.zfoo.protocol.util.ReflectionUtils;
import com.zfoo.protocol.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -47,6 +49,7 @@ import static com.zfoo.protocol.util.StringUtils.TAB;
* @author godotg
*/
public abstract class GenerateCppUtils {
private static final Logger logger = LoggerFactory.getLogger(GenerateCppUtils.class);
// custom configuration
public static String protocolOutputRootPath = "zfoocpp";
@@ -111,7 +114,9 @@ public abstract class GenerateCppUtils {
initProtocolBuilder.append(TAB).append(TAB).append(StringUtils.format("protocols[{}] = new {}Registration();", protocolId, protocol.protocolConstructor().getDeclaringClass().getSimpleName())).append(LS);
}
protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, headerBuilder.toString(), initProtocolBuilder.toString().trim());
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.h")), protocolManagerTemplate, true);
var file = new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.h"));
FileUtils.writeStringToFile(file, protocolManagerTemplate, true);
logger.info("Generated C++ protocol manager file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
/**
@@ -145,7 +150,9 @@ public abstract class GenerateCppUtils {
, protocolOutputPath
, GenerateProtocolPath.getProtocolPath(protocolId)
, protocolClazzName);
FileUtils.writeStringToFile(new File(outputPath), protocolTemplate, true);
var file = new File(outputPath);
FileUtils.writeStringToFile(file, protocolTemplate, true);
logger.info("Generated C++ protocol file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
@@ -28,6 +28,8 @@ import com.zfoo.protocol.util.ClassUtils;
import com.zfoo.protocol.util.FileUtils;
import com.zfoo.protocol.util.ReflectionUtils;
import com.zfoo.protocol.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -38,12 +40,12 @@ import java.util.Map;
import static com.zfoo.protocol.util.FileUtils.LS;
import static com.zfoo.protocol.util.StringUtils.TAB;
import static com.zfoo.protocol.util.StringUtils.TAB_ASCII;
/**
* @author godotg
*/
public abstract class GenerateCsUtils {
private static final Logger logger = LoggerFactory.getLogger(GenerateCsUtils.class);
// custom configuration
public static String protocolOutputRootPath = "zfoocs";
@@ -113,7 +115,9 @@ public abstract class GenerateCsUtils {
}
var initProtocols = StringUtils.joinWith(StringUtils.COMMA + LS, initList.toArray());
protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, csBuilder.toString().trim(), initProtocols);
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputPath, "ProtocolManager.cs")), protocolManagerTemplate, true);
var file = new File(StringUtils.format("{}/{}", protocolOutputPath, "ProtocolManager.cs"));
FileUtils.writeStringToFile(file, protocolManagerTemplate, true);
logger.info("Generated C# protocol manager file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
/**
@@ -142,7 +146,9 @@ public abstract class GenerateCsUtils {
, protocolOutputRootPath
, GenerateProtocolPath.getCapitalizeProtocolPath(protocolId)
, protocolClazzName);
FileUtils.writeStringToFile(new File(outputPath), protocolTemplate, true);
var file = new File(outputPath);
FileUtils.writeStringToFile(file, protocolTemplate, true);
logger.info("Generated C# protocol file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
private static String fieldDefinition(ProtocolRegistration registration) {
@@ -31,6 +31,8 @@ import com.zfoo.protocol.util.ClassUtils;
import com.zfoo.protocol.util.FileUtils;
import com.zfoo.protocol.util.ReflectionUtils;
import com.zfoo.protocol.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -38,16 +40,15 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.zfoo.protocol.util.FileUtils.LS;
import static com.zfoo.protocol.util.StringUtils.TAB;
import static com.zfoo.protocol.util.StringUtils.TAB_ASCII;
/**
* @author godotg
*/
public abstract class GenerateGdUtils {
private static final Logger logger = LoggerFactory.getLogger(GenerateGdUtils.class);
// custom configuration
public static String protocolOutputRootPath = "zfoogd";
@@ -107,7 +108,9 @@ public abstract class GenerateGdUtils {
}
var initProtocols = StringUtils.joinWith(StringUtils.COMMA + LS, initList.toArray());
protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, importBuilder.toString().trim(), initProtocols);
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputPath, "ProtocolManager.gd")), protocolManagerTemplate, true);
var file = new File(StringUtils.format("{}/{}", protocolOutputPath, "ProtocolManager.gd"));
FileUtils.writeStringToFile(file, protocolManagerTemplate, true);
logger.info("Generated GdScript protocol manager file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
public static void createGdProtocolFile(ProtocolRegistration registration) throws IOException {
@@ -131,7 +134,9 @@ public abstract class GenerateGdUtils {
toStringJsonTemplate, toStringParams, StringUtils.EMPTY_JSON, writeObject.trim(), readObject.trim());
var outputPath = StringUtils.format("{}/{}/{}.gd", protocolOutputPath, GenerateProtocolPath.getProtocolPath(protocolId), protocolClazzName);
FileUtils.writeStringToFile(new File(outputPath), protocolTemplate, true);
var file = new File(outputPath);
FileUtils.writeStringToFile(file, protocolTemplate, true);
logger.info("Generated GdScript protocol file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
private static String includeSubProtocol(ProtocolRegistration registration) {
@@ -18,17 +18,17 @@ import com.zfoo.protocol.collection.ArrayUtils;
import com.zfoo.protocol.generate.GenerateOperation;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.generate.GenerateProtocolNote;
import com.zfoo.protocol.generate.GenerateProtocolPath;
import com.zfoo.protocol.registration.IProtocolRegistration;
import com.zfoo.protocol.registration.ProtocolRegistration;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.CodeLanguage;
import com.zfoo.protocol.serializer.cpp.GenerateCppUtils;
import com.zfoo.protocol.serializer.reflect.*;
import com.zfoo.protocol.util.ClassUtils;
import com.zfoo.protocol.util.FileUtils;
import com.zfoo.protocol.util.ReflectionUtils;
import com.zfoo.protocol.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -44,7 +44,7 @@ import static com.zfoo.protocol.util.StringUtils.TAB;
* @author godotg
*/
public abstract class GenerateGoUtils {
private static final Logger logger = LoggerFactory.getLogger(GenerateGoUtils.class);
// custom configuration
public static String protocolOutputRootPath = "zfoogo";
public static String protocolOutputPath = StringUtils.EMPTY;
@@ -105,7 +105,9 @@ public abstract class GenerateGoUtils {
var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("go/ProtocolManagerTemplate.go");
protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, initProtocolBuilder.toString().trim());
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.go")), protocolManagerTemplate, true);
var file = new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.go"));
FileUtils.writeStringToFile(file, protocolManagerTemplate, true);
logger.info("Generated Golang protocol manager file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
public static void createGoProtocolFile(ProtocolRegistration registration) throws IOException {
@@ -135,7 +137,9 @@ public abstract class GenerateGoUtils {
}
var outputPath = StringUtils.format("{}/{}.go", protocolOutputPath, protocolClazzName);
FileUtils.writeStringToFile(new File(outputPath), protocolTemplate, true);
var file = new File(outputPath);
FileUtils.writeStringToFile(file, protocolTemplate, true);
logger.info("Generated Golang protocol file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
private static String fieldDefinition(ProtocolRegistration registration) {
@@ -20,17 +20,17 @@ import com.zfoo.protocol.generate.GenerateProtocolNote;
import com.zfoo.protocol.generate.GenerateProtocolPath;
import com.zfoo.protocol.registration.IProtocolRegistration;
import com.zfoo.protocol.registration.ProtocolRegistration;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.CodeLanguage;
import com.zfoo.protocol.serializer.reflect.*;
import com.zfoo.protocol.util.ClassUtils;
import com.zfoo.protocol.util.FileUtils;
import com.zfoo.protocol.util.ReflectionUtils;
import com.zfoo.protocol.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -42,7 +42,7 @@ import static com.zfoo.protocol.util.StringUtils.TAB;
* @author godotg
*/
public abstract class GenerateJsUtils {
private static final Logger logger = LoggerFactory.getLogger(GenerateJsUtils.class);
// custom configuration
public static String protocolOutputRootPath = "zfoojs";
public static String protocolOutputPath = StringUtils.EMPTY;
@@ -108,7 +108,9 @@ public abstract class GenerateJsUtils {
}
protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, importBuilder.toString().trim(), StringUtils.EMPTY_JSON, initProtocolBuilder.toString().trim());
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputPath, "ProtocolManager.js")), protocolManagerTemplate, true);
var file = new File(StringUtils.format("{}/{}", protocolOutputPath, "ProtocolManager.js"));
FileUtils.writeStringToFile(file, protocolManagerTemplate, true);
logger.info("Generated JavaScript protocol manager file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
public static void createJsProtocolFile(ProtocolRegistration registration) throws IOException {
@@ -130,7 +132,9 @@ public abstract class GenerateJsUtils {
, fieldDefinition.trim(), protocolClazzName, protocolId, protocolClazzName
, writeObject.trim(), protocolClazzName, protocolClazzName, readObject.trim(), protocolClazzName);
var outputPath = StringUtils.format("{}/{}/{}.js", protocolOutputPath, GenerateProtocolPath.getProtocolPath(protocolId), protocolClazzName);
FileUtils.writeStringToFile(new File(outputPath), protocolTemplate, true);
var file = new File(outputPath);
FileUtils.writeStringToFile(file, protocolTemplate, true);
logger.info("Generated JavaScript protocol file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
private static String fieldDefinition(ProtocolRegistration registration) {
@@ -28,10 +28,15 @@ import com.zfoo.protocol.util.ClassUtils;
import com.zfoo.protocol.util.FileUtils;
import com.zfoo.protocol.util.ReflectionUtils;
import com.zfoo.protocol.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.zfoo.protocol.util.FileUtils.LS;
import static com.zfoo.protocol.util.StringUtils.TAB;
@@ -40,7 +45,7 @@ import static com.zfoo.protocol.util.StringUtils.TAB;
* @author godotg
*/
public abstract class GenerateLuaUtils {
private static final Logger logger = LoggerFactory.getLogger(GenerateLuaUtils.class);
// custom configuration
public static String protocolOutputRootPath = "zfoolua";
public static String protocolOutputPath = StringUtils.EMPTY;
@@ -105,7 +110,9 @@ public abstract class GenerateLuaUtils {
protocolBuilder.append(TAB).append(StringUtils.format("protocols[{}] = Protocols.{}", protocolId, protocolName)).append(LS);
}
protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, StringUtils.EMPTY_JSON, StringUtils.EMPTY_JSON, builderImports.toString().trim(), protocolBuilder.toString().trim());
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.lua")), protocolManagerTemplate, true);
var file = new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.lua"));
FileUtils.writeStringToFile(file, protocolManagerTemplate, true);
logger.info("Generated Lua protocol manager file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
public static void createLuaProtocolsInOneFile(List<IProtocolRegistration> registrations) {
@@ -156,10 +163,18 @@ public abstract class GenerateLuaUtils {
builderProtocol.append(StringUtils.format("Protocols.{} = {}", protocolClazzName, protocolClazzName)).append(LS);
}
builderProtocol.append("return Protocols");
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "Protocols.lua")), builderProtocol.toString(), true);
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolBase.lua")), builderProtocolBase.toString(), true);
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolWriter.lua")), builderProtocolWriter.toString(), true);
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolReader.lua")), builderProtocolReader.toString(), true);
var protocolsFile = new File(StringUtils.format("{}/{}", protocolOutputRootPath, "Protocols.lua"));
var protocolBaseFile = new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolBase.lua"));
var protocolWriterFile = new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolWriter.lua"));
var protocolReaderFile = new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolWriter.lua"));
FileUtils.writeStringToFile(protocolsFile, builderProtocol.toString(), true);
FileUtils.writeStringToFile(protocolBaseFile, builderProtocolBase.toString(), true);
FileUtils.writeStringToFile(protocolWriterFile, builderProtocolWriter.toString(), true);
FileUtils.writeStringToFile(protocolReaderFile, builderProtocolReader.toString(), true);
logger.info("Generated Lua protocols file:[{}] is in path:[{}]", protocolsFile.getName(), protocolsFile.getAbsolutePath());
logger.info("Generated Lua protocol base file:[{}] is in path:[{}]", protocolBaseFile.getName(), protocolBaseFile.getAbsolutePath());
logger.info("Generated Lua protocol writer file:[{}] is in path:[{}]", protocolWriterFile.getName(), protocolWriterFile.getAbsolutePath());
logger.info("Generated Lua protocol reader file:[{}] is in path:[{}]", protocolReaderFile.getName(), protocolReaderFile.getAbsolutePath());
}
public static void createProtocolManager(List<IProtocolRegistration> protocolList) throws IOException {
@@ -188,7 +203,9 @@ public abstract class GenerateLuaUtils {
protocolBuilder.append(TAB).append(StringUtils.format("protocols[{}] = {}", protocolId, protocolName)).append(LS);
}
protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, StringUtils.EMPTY_JSON, StringUtils.EMPTY_JSON, fieldBuilder.toString().trim(), protocolBuilder.toString().trim());
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.lua")), protocolManagerTemplate, true);
var file = new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.lua"));
FileUtils.writeStringToFile(file, protocolManagerTemplate, true);
logger.info("Generated Lua protocol manager file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
public static void createLuaProtocolFile(ProtocolRegistration registration) {
@@ -214,7 +231,9 @@ public abstract class GenerateLuaUtils {
var outputPath = StringUtils.format("{}/{}/{}.lua"
, protocolOutputRootPath, GenerateProtocolPath.getProtocolPath(protocolId), protocolClazzName);
FileUtils.writeStringToFile(new File(outputPath), protocolTemplate, true);
var file = new File(outputPath);
FileUtils.writeStringToFile(file, protocolTemplate, true);
logger.info("Generated Lua protocol file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
private static String valueOfMethod(ProtocolRegistration registration) {
@@ -23,6 +23,8 @@ import com.zfoo.protocol.serializer.protobuf.parser.Proto;
import com.zfoo.protocol.serializer.protobuf.parser.ProtoParser;
import com.zfoo.protocol.util.FileUtils;
import com.zfoo.protocol.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.util.*;
@@ -32,6 +34,8 @@ import static com.zfoo.protocol.util.StringUtils.TAB;
public abstract class GeneratePbUtils {
private static final Logger logger = LoggerFactory.getLogger(GeneratePbUtils.class);
/**
* EN: If the tag of a protobuf field exceeds this value, this field is considered to be a compatible protocol field
* CN: 如果protobuf的字段的tag超过这个值,则视这个字段为需要兼容的协议字段
@@ -145,12 +149,16 @@ public abstract class GeneratePbUtils {
}
builder.append("}");
var filePath = StringUtils.format("{}/{}.java", messageOutputPath, outClassName);
FileUtils.writeStringToFile(new File(filePath), builder.toString(), false);
var file = new File(filePath);
FileUtils.writeStringToFile(file, builder.toString(), false);
logger.info("Generated java protocol file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
} else {
for (var pbMessage : pbMessages) {
var code = buildMessage(pbGenerateOperation, protos, proto, pbMessage);
var filePath = StringUtils.format("{}/{}/{}.java", messageOutputPath, proto.getName(), pbMessage.getName());
FileUtils.writeStringToFile(new File(filePath), code, false);
var file = new File(filePath);
FileUtils.writeStringToFile(file, code, false);
logger.info("Generated java protocol file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
}
}
@@ -20,7 +20,6 @@ import com.zfoo.protocol.generate.GenerateProtocolNote;
import com.zfoo.protocol.generate.GenerateProtocolPath;
import com.zfoo.protocol.registration.IProtocolRegistration;
import com.zfoo.protocol.registration.ProtocolRegistration;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.CodeLanguage;
import com.zfoo.protocol.serializer.csharp.GenerateCsUtils;
import com.zfoo.protocol.serializer.reflect.*;
@@ -28,6 +27,8 @@ import com.zfoo.protocol.util.ClassUtils;
import com.zfoo.protocol.util.FileUtils;
import com.zfoo.protocol.util.ReflectionUtils;
import com.zfoo.protocol.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -42,6 +43,7 @@ import static com.zfoo.protocol.util.StringUtils.TAB;
* @author godotg
*/
public abstract class GeneratePyUtils {
private static final Logger logger = LoggerFactory.getLogger(GeneratePyUtils.class);
// custom configuration
public static String protocolOutputRootPath = "zfoopy";
@@ -108,7 +110,9 @@ public abstract class GeneratePyUtils {
protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, importBuilder.toString().trim(), StringUtils.EMPTY_JSON, initProtocolBuilder.toString().trim());
var outputPath = StringUtils.format("{}/{}", protocolOutputPath, "ProtocolManager.py");
FileUtils.writeStringToFile(new File(outputPath), protocolManagerTemplate, true);
var file = new File(outputPath);
FileUtils.writeStringToFile(file, protocolManagerTemplate, true);
logger.info("Generated Python protocol manager file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
public static void createPyProtocolFile(ProtocolRegistration registration) {
@@ -128,7 +132,9 @@ public abstract class GeneratePyUtils {
protocolTemplate = StringUtils.format(protocolTemplate, classNote, protocolClazzName
, fieldDefinition.trim(), protocolId, writeObject.trim(), protocolClazzName, readObject.trim());
var outputPath = StringUtils.format("{}/{}/{}.py", protocolOutputPath, GenerateProtocolPath.getProtocolPath(protocolId), protocolClazzName);
FileUtils.writeStringToFile(new File(outputPath), protocolTemplate, true);
var file = new File(outputPath);
FileUtils.writeStringToFile(file, protocolTemplate, true);
logger.info("Generated Python protocol file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
private static String fieldDefinition(ProtocolRegistration registration) {
@@ -22,7 +22,6 @@ import com.zfoo.protocol.generate.GenerateProtocolPath;
import com.zfoo.protocol.registration.IProtocolRegistration;
import com.zfoo.protocol.registration.ProtocolAnalysis;
import com.zfoo.protocol.registration.ProtocolRegistration;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.CodeLanguage;
import com.zfoo.protocol.serializer.enhance.EnhanceObjectProtocolSerializer;
import com.zfoo.protocol.serializer.reflect.*;
@@ -30,6 +29,8 @@ import com.zfoo.protocol.util.ClassUtils;
import com.zfoo.protocol.util.FileUtils;
import com.zfoo.protocol.util.ReflectionUtils;
import com.zfoo.protocol.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.IOException;
@@ -44,6 +45,7 @@ import static com.zfoo.protocol.util.StringUtils.TAB;
* @author godotg
*/
public abstract class GenerateTsUtils {
private static final Logger logger = LoggerFactory.getLogger(GenerateTsUtils.class);
// custom configuration
public static String protocolOutputRootPath = "zfoots";
@@ -109,10 +111,12 @@ public abstract class GenerateTsUtils {
protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, importBuilder.toString().trim(), initProtocolBuilder.toString().trim());
var outputPath = StringUtils.format("{}/{}", protocolOutputPath, "ProtocolManager.ts");
FileUtils.writeStringToFile(new File(outputPath), protocolManagerTemplate, true);
var file = new File(outputPath);
FileUtils.writeStringToFile(file, protocolManagerTemplate, true);
logger.info("Generated TypeScript protocol manager file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
public static void createTsProtocolFile(ProtocolRegistration registration) throws IOException {
public static void createTsProtocolFile(ProtocolRegistration registration) {
// 初始化index
GenerateProtocolFile.index.set(0);
@@ -131,7 +135,9 @@ public abstract class GenerateTsUtils {
protocolTemplate = StringUtils.format(protocolTemplate, importSubProtocol, classNote, protocolClazzName, fieldDefinition.trim()
, protocolId, protocolClazzName, protocolClazzName, writeObject.trim(), protocolClazzName, protocolClazzName, readObject.trim(), protocolClazzName);
var outputPath = StringUtils.format("{}/{}/{}.ts", protocolOutputPath, GenerateProtocolPath.getProtocolPath(protocolId), protocolClazzName);
FileUtils.writeStringToFile(new File(outputPath), protocolTemplate, true);
var file = new File(outputPath);
FileUtils.writeStringToFile(file, protocolTemplate, true);
logger.info("Generated TypeScript protocol file:[{}] is in path:[{}]", file.getName(), file.getAbsolutePath());
}
private static String importSubProtocol(ProtocolRegistration registration) {
@@ -24,8 +24,8 @@ public class GenerateProtobufTesting {
@Test
public void generateClassFromProto() {
var buildOption = new PbGenerateOperation();
buildOption.setProtoPath("D:\\github\\zfoo\\protocol\\src\\test\\protobuf");
buildOption.setOutputPath("D:\\github\\zfoo\\protocol\\src\\test\\zfoopb");
buildOption.setProtoPath("src\\test\\protobuf");
buildOption.setOutputPath("src\\test\\zfoopb");
buildOption.setJavaPackage("com.zfoo.protocol.generate.test");
// buildOption.setRecordClass(true);
// buildOption.setOneProtocol(true);