feat[python]: support python

This commit is contained in:
godotg committed 2023-08-26 18:41:07 +08:00
1 parent 99d3cd8b3d
commit ec7f7eff92
8 files changed
+16 -16

No files matched your search

@@ -97,7 +97,7 @@ public abstract class GenerateCppUtils {
FileUtils.writeInputStreamToFile(createFile, fileInputStream); FileUtils.writeInputStreamToFile(createFile, fileInputStream);
} }
var protocolManagerTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("cpp/ProtocolManagerTemplate.h"))); var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("cpp/ProtocolManagerTemplate.h");
var headerBuilder = new StringBuilder(); var headerBuilder = new StringBuilder();
var initProtocolBuilder = new StringBuilder(); var initProtocolBuilder = new StringBuilder();
@@ -120,7 +120,7 @@ public abstract class GenerateCppUtils {
var registrationConstructor = registration.getConstructor(); var registrationConstructor = registration.getConstructor();
var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName(); var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName();
var protocolTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("cpp/ProtocolTemplate.h"))); var protocolTemplate = ClassUtils.getFileFromClassPathToString("cpp/ProtocolTemplate.h");
// protocol object // protocol object
var defineProtocolName = protocolClazzName.toUpperCase(); var defineProtocolName = protocolClazzName.toUpperCase();
@@ -106,7 +106,7 @@ public abstract class GenerateCsUtils {
var registrationConstructor = registration.getConstructor(); var registrationConstructor = registration.getConstructor();
var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName(); var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName();
var protocolTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("csharp/ProtocolTemplate.cs"))); var protocolTemplate = ClassUtils.getFileFromClassPathToString("csharp/ProtocolTemplate.cs");
var classNote = GenerateProtocolNote.classNote(protocolId, CodeLanguage.CSharp); var classNote = GenerateProtocolNote.classNote(protocolId, CodeLanguage.CSharp);
var fieldDefinition = fieldDefinition(registration); var fieldDefinition = fieldDefinition(registration);
@@ -91,10 +91,10 @@ public abstract class GenerateGdUtils {
public static void createProtocolManager(List<IProtocolRegistration> protocolList) throws IOException { public static void createProtocolManager(List<IProtocolRegistration> protocolList) throws IOException {
var byteBufferFile = new File(StringUtils.format("{}/{}", protocolOutputPath, "ByteBuffer.gd")); var byteBufferFile = new File(StringUtils.format("{}/{}", protocolOutputPath, "ByteBuffer.gd"));
var byteBufferTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("gdscript/buffer/ByteBuffer.gd"))); var byteBufferTemplate = ClassUtils.getFileFromClassPathToString("gdscript/buffer/ByteBuffer.gd");
FileUtils.writeStringToFile(byteBufferFile, StringUtils.format(byteBufferTemplate, protocolOutputRootPath), false); FileUtils.writeStringToFile(byteBufferFile, StringUtils.format(byteBufferTemplate, protocolOutputRootPath), false);
var protocolManagerTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("gdscript/ProtocolManagerTemplate.gd"))); var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ProtocolManagerTemplate.gd");
// 生成ProtocolManager.gd文件 // 生成ProtocolManager.gd文件
var importBuilder = new StringBuilder(); var importBuilder = new StringBuilder();
var initList = new ArrayList<String>(); var initList = new ArrayList<String>();
@@ -125,7 +125,7 @@ public abstract class GenerateGdUtils {
var writeObject = writeObject(registration); var writeObject = writeObject(registration);
var readObject = readObject(registration); var readObject = readObject(registration);
var protocolTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("gdscript/ProtocolTemplate.gd"))); var protocolTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ProtocolTemplate.gd");
protocolTemplate = StringUtils.format(protocolTemplate, protocolId, protocolClazzName, includeSubProtocol, classNote, fieldDefinition.trim(), protocolTemplate = StringUtils.format(protocolTemplate, protocolId, protocolClazzName, includeSubProtocol, classNote, fieldDefinition.trim(),
StringUtils.EMPTY_JSON, toStringMethod, writeObject.trim(), readObject.trim()); StringUtils.EMPTY_JSON, toStringMethod, writeObject.trim(), readObject.trim());
@@ -96,7 +96,7 @@ public abstract class GenerateGoUtils {
.filter(it -> Objects.nonNull(it)) .filter(it -> Objects.nonNull(it))
.forEach(it -> initProtocolBuilder.append(TAB).append(StringUtils.format("Protocols[{}] = new({})", it.protocolId(), it.protocolConstructor().getDeclaringClass().getSimpleName())).append(LS)); .forEach(it -> initProtocolBuilder.append(TAB).append(StringUtils.format("Protocols[{}] = new({})", it.protocolId(), it.protocolConstructor().getDeclaringClass().getSimpleName())).append(LS));
var protocolManagerTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("go/ProtocolManagerTemplate.go"))); var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("go/ProtocolManagerTemplate.go");
protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, initProtocolBuilder.toString().trim()); protocolManagerTemplate = StringUtils.format(protocolManagerTemplate, initProtocolBuilder.toString().trim());
FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.go")), protocolManagerTemplate, true); FileUtils.writeStringToFile(new File(StringUtils.format("{}/{}", protocolOutputRootPath, "ProtocolManager.go")), protocolManagerTemplate, true);
} }
@@ -109,8 +109,8 @@ public abstract class GenerateGoUtils {
var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName(); var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName();
var protocolTemplate = ArrayUtils.isEmpty(registration.getFields()) var protocolTemplate = ArrayUtils.isEmpty(registration.getFields())
? StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("go/ProtocolTemplateEmpty.go"))) ? ClassUtils.getFileFromClassPathToString("go/ProtocolTemplateEmpty.go")
: StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("go/ProtocolTemplate.go"))); : ClassUtils.getFileFromClassPathToString("go/ProtocolTemplate.go");
var classNote = GenerateProtocolNote.classNote(protocolId, CodeLanguage.Go); var classNote = GenerateProtocolNote.classNote(protocolId, CodeLanguage.Go);
var fieldDefinition = fieldDefinition(registration); var fieldDefinition = fieldDefinition(registration);
@@ -91,7 +91,7 @@ public abstract class GenerateJsUtils {
} }
// 生成ProtocolManager.js文件 // 生成ProtocolManager.js文件
var protocolManagerTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("javascript/ProtocolManagerTemplate.js"))); var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("javascript/ProtocolManagerTemplate.js");
var importBuilder = new StringBuilder(); var importBuilder = new StringBuilder();
var initProtocolBuilder = new StringBuilder(); var initProtocolBuilder = new StringBuilder();
@@ -115,7 +115,7 @@ public abstract class GenerateJsUtils {
var registrationConstructor = registration.getConstructor(); var registrationConstructor = registration.getConstructor();
var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName(); var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName();
var protocolTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("javascript/ProtocolTemplate.js"))); var protocolTemplate = ClassUtils.getFileFromClassPathToString("javascript/ProtocolTemplate.js");
var classNote = GenerateProtocolNote.classNote(protocolId, CodeLanguage.JavaScript); var classNote = GenerateProtocolNote.classNote(protocolId, CodeLanguage.JavaScript);
var valueOfMethod = valueOfMethod(registration); var valueOfMethod = valueOfMethod(registration);
@@ -90,7 +90,7 @@ public abstract class GenerateLuaUtils {
} }
// 生成Protocol.lua文件 // 生成Protocol.lua文件
var protocolManagerTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("lua/ProtocolManagerTemplate.lua"))); var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("lua/ProtocolManagerTemplate.lua");
var fieldBuilder = new StringBuilder(); var fieldBuilder = new StringBuilder();
var protocolBuilder = new StringBuilder(); var protocolBuilder = new StringBuilder();
for (var protocol : protocolList) { for (var protocol : protocolList) {
@@ -117,7 +117,7 @@ public abstract class GenerateLuaUtils {
var protocolId = registration.protocolId(); var protocolId = registration.protocolId();
var registrationConstructor = registration.getConstructor(); var registrationConstructor = registration.getConstructor();
var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName(); var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName();
var protocolTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("lua/ProtocolTemplate.lua"))); var protocolTemplate = ClassUtils.getFileFromClassPathToString("lua/ProtocolTemplate.lua");
var classNote = GenerateProtocolNote.classNote(protocolId, CodeLanguage.Lua); var classNote = GenerateProtocolNote.classNote(protocolId, CodeLanguage.Lua);
var valueOfMethod = valueOfMethod(registration); var valueOfMethod = valueOfMethod(registration);
@@ -88,7 +88,7 @@ public abstract class GeneratePyUtils {
} }
// 生成ProtocolManager.js文件 // 生成ProtocolManager.js文件
var protocolManagerTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("javascript/ProtocolManagerTemplate.js"))); var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("javascript/ProtocolManagerTemplate.js");
var importBuilder = new StringBuilder(); var importBuilder = new StringBuilder();
var initProtocolBuilder = new StringBuilder(); var initProtocolBuilder = new StringBuilder();
@@ -96,7 +96,7 @@ public abstract class GenerateTsUtils {
} }
// 生成ProtocolManager.ts文件 // 生成ProtocolManager.ts文件
var protocolManagerTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("typescript/ProtocolManagerTemplate.ts"))); var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("typescript/ProtocolManagerTemplate.ts");
var importBuilder = new StringBuilder(); var importBuilder = new StringBuilder();
var initProtocolBuilder = new StringBuilder(); var initProtocolBuilder = new StringBuilder();
@@ -121,7 +121,7 @@ public abstract class GenerateTsUtils {
var registrationConstructor = registration.getConstructor(); var registrationConstructor = registration.getConstructor();
var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName(); var protocolClazzName = registrationConstructor.getDeclaringClass().getSimpleName();
var protocolTemplate = StringUtils.bytesToString(IOUtils.toByteArray(ClassUtils.getFileFromClassPath("typescript/ProtocolTemplate.ts"))); var protocolTemplate = ClassUtils.getFileFromClassPathToString("typescript/ProtocolTemplate.ts");
var importSubProtocol = importSubProtocol(registration); var importSubProtocol = importSubProtocol(registration);
var classNote = GenerateProtocolNote.classNote(protocolId, CodeLanguage.TypeScript); var classNote = GenerateProtocolNote.classNote(protocolId, CodeLanguage.TypeScript);