You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2021/03/31 08:08:59 UTC
[camel-quarkus] branch master updated: docs: add xref support for
adoc file sourced from javadoc #2417
This is an automated email from the ASF dual-hosted git repository.
ppalaga pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/master by this push:
new e352db4 docs: add xref support for adoc file sourced from javadoc #2417
e352db4 is described below
commit e352db4331f686e2b41522d12ee3d5ce5b67dfc1
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Tue Mar 30 19:35:06 2021 +0200
docs: add xref support for adoc file sourced from javadoc #2417
---
.../ROOT/pages/reference/extensions/core.adoc | 2 +-
.../apache/camel/quarkus/main/CamelMainConfig.java | 4 +-
.../quarkus/maven/UpdateExtensionDocPageMojo.java | 64 +++++++++++++++++++++-
.../doc-templates/extension-doc-page.adoc | 10 ++--
4 files changed, 71 insertions(+), 9 deletions(-)
diff --git a/docs/modules/ROOT/pages/reference/extensions/core.adoc b/docs/modules/ROOT/pages/reference/extensions/core.adoc
index 76911be..ce404f2 100644
--- a/docs/modules/ROOT/pages/reference/extensions/core.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/core.adoc
@@ -168,7 +168,7 @@ What to do if it is not possible to extract CSimple expressions from a route def
|icon:lock[title=Fixed at build time] [[quarkus.camel.main.enabled]]`link:#quarkus.camel.main.enabled[quarkus.camel.main.enabled]`
-If `true` all `camel-main` features are enabled; otherwise no `camel-main` features are enabled. See the Bootstrap documentation on the camel webiste for more details.
+If `true` all `camel-main` features are enabled; otherwise no `camel-main` features are enabled. See described the xref:user-guide/bootstrap.adoc#_camel_main[Bootstrap] section of Camel Quarkus documentation for more details.
| `boolean`
| `true`
diff --git a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
index d69fb9f..140f125 100644
--- a/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
+++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
@@ -28,7 +28,9 @@ import org.apache.camel.quarkus.core.CamelConfig.FailureRemedy;
public class CamelMainConfig {
/**
* If {@code true} all {@code camel-main} features are enabled; otherwise no {@code camel-main} features are
- * enabled. See the Bootstrap documentation on the camel webiste for more details.
+ * enabled. See described the
+ * <a href="https://camel.apache.org/camel-quarkus/latest/user-guide/bootstrap.html#_camel_main">Bootstrap</a>
+ * section of Camel Quarkus documentation for more details.
*/
@ConfigItem(defaultValue = "true")
public boolean enabled;
diff --git a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java
index 5d5dea6..fc7a2e5 100644
--- a/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java
+++ b/tooling/maven-plugin/src/main/java/org/apache/camel/quarkus/maven/UpdateExtensionDocPageMojo.java
@@ -29,6 +29,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.regex.Pattern;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -41,6 +42,7 @@ import freemarker.template.TemplateModelException;
import freemarker.template.utility.DeepUnwrap;
import io.quarkus.annotation.processor.Constants;
import io.quarkus.annotation.processor.generate_doc.ConfigDocItem;
+import io.quarkus.annotation.processor.generate_doc.ConfigDocKey;
import io.quarkus.annotation.processor.generate_doc.DocGeneratorUtil;
import io.quarkus.annotation.processor.generate_doc.FsMap;
import org.apache.camel.catalog.Kind;
@@ -358,7 +360,7 @@ public class UpdateExtensionDocPageMojo extends AbstractDocGeneratorMojo {
}
}
- static List<ConfigDocItem> listConfigOptions(Path basePath, Path multiModuleProjectDirectory) {
+ static List<ConfigItem> listConfigOptions(Path basePath, Path multiModuleProjectDirectory) {
final List<String> configRootClasses = loadConfigRoots(basePath);
if (configRootClasses.isEmpty()) {
return Collections.emptyList();
@@ -389,7 +391,7 @@ public class UpdateExtensionDocPageMojo extends AbstractDocGeneratorMojo {
}
DocGeneratorUtil.sort(configDocItems);
- return configDocItems;
+ return configDocItems.stream().map(ConfigItem::of).collect(Collectors.toList());
}
static List<String> loadConfigRoots(Path basePath) {
@@ -408,4 +410,62 @@ public class UpdateExtensionDocPageMojo extends AbstractDocGeneratorMojo {
}
}
+ public static class ConfigItem {
+ private static final Pattern LINK_PATTERN = Pattern
+ .compile("\\Qlink:http\\Es?\\Q://camel.apache.org/camel-quarkus/latest/\\E([^\\[]+).html");
+
+ private final String key;
+ private final String illustration;
+ private final String configDoc;
+ private final String type;
+ private final String defaultValue;
+ private final boolean optional;
+
+ public static ConfigItem of(ConfigDocItem configDocItem) {
+ final ConfigDocKey configDocKey = configDocItem.getConfigDocKey();
+ final String adocSource = LINK_PATTERN.matcher(configDocKey.getConfigDoc()).replaceAll("xref:$1.adoc");
+ return new ConfigItem(
+ configDocKey.getKey(),
+ configDocKey.getConfigPhase().getIllustration(),
+ adocSource,
+ configDocKey.getType(),
+ configDocKey.getDefaultValue(),
+ configDocKey.isOptional());
+ }
+
+ public ConfigItem(String key, String illustration, String configDoc, String type, String defaultValue,
+ boolean optional) {
+ this.key = key;
+ this.illustration = illustration;
+ this.configDoc = configDoc;
+ this.type = type;
+ this.defaultValue = defaultValue;
+ this.optional = optional;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public String getIllustration() {
+ return illustration;
+ }
+
+ public String getConfigDoc() {
+ return configDoc;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public String getDefaultValue() {
+ return defaultValue;
+ }
+
+ public boolean isOptional() {
+ return optional;
+ }
+ }
+
}
diff --git a/tooling/maven-plugin/src/main/resources/doc-templates/extension-doc-page.adoc b/tooling/maven-plugin/src/main/resources/doc-templates/extension-doc-page.adoc
index 28e8bf4..2b6846a 100644
--- a/tooling/maven-plugin/src/main/resources/doc-templates/extension-doc-page.adoc
+++ b/tooling/maven-plugin/src/main/resources/doc-templates/extension-doc-page.adoc
@@ -75,13 +75,13 @@ The `allowContextMapAll` option is not supported in native mode as it requires r
|===
| Configuration property | Type | Default
-[#list configOptions as configDocItem][#assign anchor = toAnchor(configDocItem.configDocKey.key)]
+[#list configOptions as configDocItem][#assign anchor = toAnchor(configDocItem.key)]
-|[=configDocItem.configDocKey.configPhase.illustration] [[[=anchor]]]`link:#[=anchor][[=configDocItem.configDocKey.key]]`
+|[=configDocItem.illustration] [[[=anchor]]]`link:#[=anchor][[=configDocItem.key]]`
-[=configDocItem.configDocKey.configDoc]
-| `[=configDocItem.configDocKey.type]`
-| [#if configDocItem.configDocKey.defaultValue?has_content]`[=configDocItem.configDocKey.defaultValue]`[#elseif ! configDocItem.configDocKey.optional]required icon:exclamation-circle[title=Configuration property is required][/#if]
+[=configDocItem.configDoc]
+| `[=configDocItem.type]`
+| [#if configDocItem.defaultValue?has_content]`[=configDocItem.defaultValue]`[#elseif ! configDocItem.optional]required icon:exclamation-circle[title=Configuration property is required][/#if]
[/#list]
|===