From 71db766f8a86e6c2c71748bb59ab7c5557bc2d05 Mon Sep 17 00:00:00 2001
From: Burton Johnsey
Date: Wed, 21 Sep 2022 22:59:51 -0700
Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E2=9C=A8=20convert=20Javadoc=20anc?=
=?UTF-8?q?hor=20tags=20to=20TSdoc=20links?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../typescript/generator/parser/Javadoc.java | 14 ++++++++++++--
.../typescript/generator/JavadocTest.java | 16 ++++++++++++++++
.../src/test/javadoc/test-javadoc.xml | 16 ++++++++++++++++
3 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java
index 840fd20f8..46deb6c1b 100644
--- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java
+++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java
@@ -256,11 +256,11 @@ private List getComments(String dComments, List tags) {
.replaceAll("\\s*
\\s*", nn)
.replaceAll("\\s*\\s*", nn)
.replaceAll("\\s*
\\s*", nn);
- result.addAll(Utils.splitMultiline(replacedHtmlLines, true));
+ result.addAll(Utils.splitMultiline(convertAnchorToLink(replacedHtmlLines), true));
}
if (tags != null) {
for (TagInfo tag : tags) {
- result.addAll(Utils.splitMultiline(tag.getName() + " " + tag.getText(), true));
+ result.addAll(Utils.splitMultiline(tag.getName() + " " + convertAnchorToLink(tag.getText()), true));
}
}
return result;
@@ -271,4 +271,14 @@ private static List combineComments(List firstComments, List([^<]+)", "{@link $1 $2}");
+ }
+
}
diff --git a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java
index e7795ecba..5ef800a82 100644
--- a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java
+++ b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java
@@ -105,6 +105,13 @@ public void testJavadoc() {
Assertions.assertTrue(!generated.contains("
"));
Assertions.assertTrue(generated.contains("Long\n * paragraph\n * \n * Second\n * paragraph"));
}
+ {
+ final String generated = new TypeScriptGenerator(settings).generateTypeScript(Input.from(ClassWithExternalLinks.class));
+ Assertions.assertFalse(generated.contains(""));
+ Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator link}"));
+ Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator/wiki the wiki}"));
+ }
}
/**
@@ -217,4 +224,13 @@ public static class ClassWithBrElements {
public static class ClassWithPElements {
}
+ /**
+ * Documentation for ClassWithExternalLinks
+ *
+ * This sentence has a link!
+ * @see the wiki
+ */
+ public static class ClassWithExternalLinks {
+ }
+
}
diff --git a/typescript-generator-core/src/test/javadoc/test-javadoc.xml b/typescript-generator-core/src/test/javadoc/test-javadoc.xml
index b1c3175e5..c9323d81d 100644
--- a/typescript-generator-core/src/test/javadoc/test-javadoc.xml
+++ b/typescript-generator-core/src/test/javadoc/test-javadoc.xml
@@ -2547,6 +2547,14 @@
+
+ Documentation for ClassWithExternalLinks
+
+ This sentence has a <a href="https://github.com/vojtechhabarta/typescript-generator">link</a>!
+
+
+
+
@@ -8213,6 +8221,14 @@
+
+ Documentation for ClassWithExternalLinks
+
+ This sentence has a <a href="https://github.com/vojtechhabarta/typescript-generator">link</a>!
+
+
+
+
From c927a8cdb4cc7151e682d99e39a5c062c14b246e Mon Sep 17 00:00:00 2001
From: Burton Johnsey
Date: Mon, 26 Sep 2022 13:35:30 -0700
Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=F0=9F=90=9B=20mutli-line=20anchor?=
=?UTF-8?q?=20tags=20not=20converted=20to=20TSdoc=20links?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../habarta/typescript/generator/parser/Javadoc.java | 2 +-
.../cz/habarta/typescript/generator/JavadocTest.java | 12 +++++++-----
.../src/test/javadoc/test-javadoc.xml | 4 ++--
3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java
index 46deb6c1b..c16dd33b7 100644
--- a/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java
+++ b/typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/Javadoc.java
@@ -278,7 +278,7 @@ private static List combineComments(List firstComments, List([^<]+)", "{@link $1 $2}");
+ return comment.replaceAll("(?:\\s+)?(.*)", "{@link $1 $2}");
}
}
diff --git a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java
index 5ef800a82..4732c03db 100644
--- a/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java
+++ b/typescript-generator-core/src/test/java/cz/habarta/typescript/generator/JavadocTest.java
@@ -107,10 +107,10 @@ public void testJavadoc() {
}
{
final String generated = new TypeScriptGenerator(settings).generateTypeScript(Input.from(ClassWithExternalLinks.class));
- Assertions.assertFalse(generated.contains(""));
- Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator link}"));
- Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator/wiki the wiki}"));
+ Assertions.assertFalse(generated.contains(""), "Anchor tags should be removed");
+ Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator link}"), "Links should be converted to TSDoc");
+ Assertions.assertTrue(generated.contains("{@link https://github.com/vojtechhabarta/typescript-generator/wiki the wiki}"), "Links should be converted to TSDoc");
}
}
@@ -228,7 +228,9 @@ public static class ClassWithPElements {
* Documentation for ClassWithExternalLinks
*
* This sentence has a link!
- * @see the wiki
+ * @see
+ * the wiki
*/
public static class ClassWithExternalLinks {
}
diff --git a/typescript-generator-core/src/test/javadoc/test-javadoc.xml b/typescript-generator-core/src/test/javadoc/test-javadoc.xml
index c9323d81d..a17642309 100644
--- a/typescript-generator-core/src/test/javadoc/test-javadoc.xml
+++ b/typescript-generator-core/src/test/javadoc/test-javadoc.xml
@@ -2551,7 +2551,7 @@
Documentation for ClassWithExternalLinks
This sentence has a <a href="https://github.com/vojtechhabarta/typescript-generator">link</a>!
-
+
@@ -8225,7 +8225,7 @@
Documentation for ClassWithExternalLinks
This sentence has a <a href="https://github.com/vojtechhabarta/typescript-generator">link</a>!
-
+