This is an automated email from the ASF dual-hosted git repository. sruehl pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/plc4x.git
commit 43f68ed8f034950380fcd93eb49906fc20305e9e Author: Sebastian Rühl <[email protected]> AuthorDate: Tue Sep 9 08:39:57 2025 +0200 fix(codegen): fix multiple comment being not properly stiched together --- code-generation/protocol-base-mspec/pom.xml | 4 ++++ .../language/mspec/parser/MessageFormatListener.java | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/code-generation/protocol-base-mspec/pom.xml b/code-generation/protocol-base-mspec/pom.xml index 567e789728..adff691918 100644 --- a/code-generation/protocol-base-mspec/pom.xml +++ b/code-generation/protocol-base-mspec/pom.xml @@ -87,6 +87,10 @@ <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + </dependency> <dependency> <groupId>org.antlr</groupId> <artifactId>antlr4-runtime</artifactId> diff --git a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatListener.java b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatListener.java index 927410feaa..0edc7e78f8 100644 --- a/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatListener.java +++ b/code-generation/protocol-base-mspec/src/main/java/org/apache/plc4x/plugins/codegenerator/language/mspec/parser/MessageFormatListener.java @@ -23,6 +23,7 @@ import org.antlr.v4.runtime.ParserRuleContext; import org.antlr.v4.runtime.RuleContext; import org.antlr.v4.runtime.Token; import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.plc4x.plugins.codegenerator.language.mspec.LazyTypeDefinitionConsumer; import org.apache.plc4x.plugins.codegenerator.language.mspec.MSpecBaseListener; import org.apache.plc4x.plugins.codegenerator.language.mspec.MSpecLexer; @@ -120,7 +121,7 @@ public class MessageFormatListener extends MSpecBaseListener implements LazyType var defLine = startToken.getLine(); if (!frontComments.isEmpty() && frontComments.getFirst().getLine() == defLine - 1) { - frontComments.reversed().forEach(token -> comment.append(token.getText())); + frontComments.reversed().stream().map(Token::getText).forEach(tokenText -> comment.append(tokenText).append('\n')); } if (eolComment != null && eolComment.getLine() == defLine) { @@ -130,7 +131,12 @@ public class MessageFormatListener extends MSpecBaseListener implements LazyType if (comment.isEmpty()) { return null; } - return comment.toString(); + String commentString = comment.toString(); + if (StringUtils.isBlank(commentString)) { + return null; + } + commentString = StringUtils.stripEnd(commentString, "\n"); + return commentString; } @Override
