This is an automated email from the ASF dual-hosted git repository. kwin pushed a commit to branch bugfix/javadoc-reference-with-labels-containing-spaces in repository https://gitbox.apache.org/repos/asf/maven-plugin-tools.git
commit 76eee712dece21d1633d7e06a16d69ccad6238d5 Author: Konrad Windszus <[email protected]> AuthorDate: Sun Nov 20 16:50:15 2022 +0100 [MPLUGIN-443] Detect javadoc link labels with spaces --- .../java/org/apache/maven/tools/plugin/javadoc/JavadocReference.java | 4 ++-- .../org/apache/maven/tools/plugin/javadoc/JavadocReferenceTest.java | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/javadoc/JavadocReference.java b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/javadoc/JavadocReference.java index 1501c822..e33a523a 100644 --- a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/javadoc/JavadocReference.java +++ b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/javadoc/JavadocReference.java @@ -46,11 +46,11 @@ public class JavadocReference private final Optional<String> label; /* - * Test at https://regex101.com/r/eDzWNx/1 + * Test at https://regex101.com/r/eDzWNx * Captures several groups: module name (1), package name and/or class name (2), member (3), label (4) */ private static final Pattern REFERENCE_VALUE_PATTERN = - Pattern.compile( "^\\s*(?:(.+)/)??([^#\\s/]+)?(?:#([^\\s\\(]+(?:\\([^\\)]*\\))?))?(?: +([^\\s/]+)\\s*)?$" ); + Pattern.compile( "^\\s*(?:(.+)/)??([^#\\s/]+)?(?:#([^\\s\\(]+(?:\\([^\\)]*\\))?))?(?: +(.*))?$" ); private static final int GROUP_INDEX_MODULE = 1; diff --git a/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/javadoc/JavadocReferenceTest.java b/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/javadoc/JavadocReferenceTest.java index 9f4d37f4..3f9b5635 100644 --- a/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/javadoc/JavadocReferenceTest.java +++ b/maven-plugin-tools-api/src/test/java/org/apache/maven/tools/plugin/javadoc/JavadocReferenceTest.java @@ -45,6 +45,8 @@ class JavadocReferenceTest JavadocReference.parse( "package.Class#member(ArgType1,ArgType2) label" ) ); assertEquals( new JavadocReference( Optional.of("my.module"), Optional.of( "package.Class" ), Optional.of( "member(ArgType1,ArgType2)" ), Optional.of("label") ), JavadocReference.parse( "my.module/package.Class#member(ArgType1,ArgType2) label" ) ); + assertEquals( new JavadocReference( Optional.empty(), Optional.empty(), Optional.of( "member" ), Optional.of("label with spaces") ), + JavadocReference.parse( "#member label with spaces" ) ); } }
