diff --git a/net/src/main/java/com/zfoo/net/config/model/NetConfig.java b/net/src/main/java/com/zfoo/net/config/model/NetConfig.java
index 05ec380d..81d1ba8f 100644
--- a/net/src/main/java/com/zfoo/net/config/model/NetConfig.java
+++ b/net/src/main/java/com/zfoo/net/config/model/NetConfig.java
@@ -24,9 +24,12 @@ import java.util.Objects;
public class NetConfig {
private String id;
private String protocolLocation;
-
/**
- * 协议生成属性变量对应于{@link GenerateOperation}
+ * {@link GenerateOperation}
+ */
+ private boolean oneProtocol;
+ /**
+ * {@link GenerateOperation}
*/
private boolean foldProtocol;
private String protocolPath;
@@ -78,6 +81,14 @@ public class NetConfig {
this.protocolLocation = protocolLocation;
}
+ public boolean isOneProtocol() {
+ return oneProtocol;
+ }
+
+ public void setOneProtocol(boolean oneProtocol) {
+ this.oneProtocol = oneProtocol;
+ }
+
public boolean isFoldProtocol() {
return foldProtocol;
}
diff --git a/net/src/main/java/com/zfoo/net/packet/PacketService.java b/net/src/main/java/com/zfoo/net/packet/PacketService.java
index 3d240050..9610d487 100644
--- a/net/src/main/java/com/zfoo/net/packet/PacketService.java
+++ b/net/src/main/java/com/zfoo/net/packet/PacketService.java
@@ -92,6 +92,7 @@ public class PacketService implements IPacketService {
var protocolLocation = netConfig.getProtocolLocation();
var generateOperation = new GenerateOperation();
+ generateOperation.setOneProtocol(netConfig.isOneProtocol());
generateOperation.setFoldProtocol(netConfig.isFoldProtocol());
generateOperation.setProtocolPath(netConfig.getProtocolPath());
generateOperation.setProtocolParam(netConfig.getProtocolParam());
diff --git a/net/src/main/java/com/zfoo/net/schema/NetDefinitionParser.java b/net/src/main/java/com/zfoo/net/schema/NetDefinitionParser.java
index c5fb1cc6..2b8d8985 100644
--- a/net/src/main/java/com/zfoo/net/schema/NetDefinitionParser.java
+++ b/net/src/main/java/com/zfoo/net/schema/NetDefinitionParser.java
@@ -101,6 +101,8 @@ public class NetDefinitionParser implements BeanDefinitionParser {
// 协议protocol.xml文件的位置。 注意:直接写protocol.xml 则是从resources目录下读
resolvePlaceholder("protocol-location", "protocolLocation", builder, element, parserContext);
+ // 协议文件是否生成在同一个协议文件中
+ resolvePlaceholder("one-protocol", "oneProtocol", builder, element, parserContext);
// 文件是否折叠
resolvePlaceholder("fold-protocol", "foldProtocol", builder, element, parserContext);
// 生成各种语言的协议列表
diff --git a/net/src/main/resources/net-1.0.xsd b/net/src/main/resources/net-1.0.xsd
index efc15536..b6e911a6 100644
--- a/net/src/main/resources/net-1.0.xsd
+++ b/net/src/main/resources/net-1.0.xsd
@@ -65,7 +65,8 @@
-
+
+
diff --git a/protocol/src/main/java/com/zfoo/protocol/generate/GenerateOperation.java b/protocol/src/main/java/com/zfoo/protocol/generate/GenerateOperation.java
index 77c68eea..99a7760c 100644
--- a/protocol/src/main/java/com/zfoo/protocol/generate/GenerateOperation.java
+++ b/protocol/src/main/java/com/zfoo/protocol/generate/GenerateOperation.java
@@ -33,6 +33,12 @@ public class GenerateOperation {
*/
public static final GenerateOperation NO_OPERATION = new GenerateOperation();
+ /**
+ * EN: All protocol files are generated in a single protocol file.
+ * CN: 所有的协议文件生成在一个协议文件里
+ */
+ private boolean oneProtocol;
+
/**
* EN: Fold the protocol. The generated protocol file will maintain the same directory structure as the Java source file.
* It will not be folded by default.
@@ -66,6 +72,14 @@ public class GenerateOperation {
this.protocolPath = protocolPath;
}
+ public boolean isOneProtocol() {
+ return oneProtocol;
+ }
+
+ public void setOneProtocol(boolean oneProtocol) {
+ this.oneProtocol = oneProtocol;
+ }
+
public boolean isFoldProtocol() {
return foldProtocol;
}