diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/protobuf/GeneratePbUtils.java b/protocol/src/main/java/com/zfoo/protocol/serializer/protobuf/GeneratePbUtils.java index a860e3d8..835d7dca 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/protobuf/GeneratePbUtils.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/protobuf/GeneratePbUtils.java @@ -14,15 +14,16 @@ package com.zfoo.protocol.serializer.protobuf; import com.zfoo.protocol.collection.CollectionUtils; -import com.zfoo.protocol.serializer.protobuf.codegen.IfaceGenerator; +import com.zfoo.protocol.serializer.protobuf.builder.JavaBuilder; +import com.zfoo.protocol.serializer.protobuf.wire.Option; +import com.zfoo.protocol.serializer.protobuf.wire.ProtoMessage; import com.zfoo.protocol.serializer.protobuf.wire.parser.Proto; import com.zfoo.protocol.serializer.protobuf.wire.parser.ProtoParser; import com.zfoo.protocol.util.FileUtils; import com.zfoo.protocol.util.StringUtils; import java.io.File; -import java.util.ArrayList; -import java.util.List; +import java.util.*; public class GeneratePbUtils { @@ -41,11 +42,8 @@ public class GeneratePbUtils { throw new RuntimeException(StringUtils.format("There are no proto files to build in proto path:[{}]", buildOption.getProtoPath())); } - var srcPath = new File(buildOption.getOutputPath()); - var protos = parseProtoFile(protoFiles); - IfaceGenerator ifaceGenerator = new IfaceGenerator(srcPath, protos); - ifaceGenerator.generate(); + generate(buildOption, protos); } public static List parseProtoFile(List protoFiles) { @@ -67,4 +65,51 @@ public class GeneratePbUtils { return protos; } + + public static void generate(PbBuildOption buildOption, List protos) { + Map allProtos = new HashMap<>(); + for (Proto proto : protos) { + allProtos.put(proto.getName(), proto); + } + + for (var proto : protos) { + List