From 780506af888bca8a994c867ac7249ac14ce02961 Mon Sep 17 00:00:00 2001 From: Christian Berger Date: Mon, 8 Apr 2024 22:34:45 +0200 Subject: [PATCH] fix(docs): generate docs for configuration options automatically --- .../WireMockServerBuildTimeConfig.java | 20 +-- .../quarkus-wiremock-devservices.adoc | 118 ++++++++++++++++++ .../ROOT/pages/includes/quarkus-wiremock.adoc | 93 -------------- docs/modules/ROOT/pages/index.adoc | 2 +- docs/pom.xml | 2 +- 5 files changed, 130 insertions(+), 105 deletions(-) create mode 100644 docs/modules/ROOT/pages/includes/quarkus-wiremock-devservices.adoc delete mode 100644 docs/modules/ROOT/pages/includes/quarkus-wiremock.adoc diff --git a/deployment/src/main/java/io/quarkiverse/wiremock/devservice/WireMockServerBuildTimeConfig.java b/deployment/src/main/java/io/quarkiverse/wiremock/devservice/WireMockServerBuildTimeConfig.java index 2a21550..d36c831 100644 --- a/deployment/src/main/java/io/quarkiverse/wiremock/devservice/WireMockServerBuildTimeConfig.java +++ b/deployment/src/main/java/io/quarkiverse/wiremock/devservice/WireMockServerBuildTimeConfig.java @@ -19,30 +19,30 @@ public interface WireMockServerBuildTimeConfig { boolean enabled(); /** - * Indicates whether WireMock server needs to be restarted after Quarkus live reload (see development mode for more - * information) or not. + * Restart WireMock Dev Service whenever Quarkus is reloaded. Otherwise, whenever files are changed in the + * {@code files-mapping} location you would need to restart the Dev Service (WireMock server) manually. */ @WithDefault("true") boolean reload(); /** - * Optional fixed port the WireMock Dev Service will listen to. + * Optional fixed port the WireMock Dev Service will listen to. If not defined, the port will be chosen randomly. *

- * If not defined, the port will be chosen randomly. + * WARNING: Only ports between 1025 and 65535 are permitted. */ OptionalInt port(); /** - * Path to the WireMock configuration files. - * If this starts with {@code classpath:} then files will be looked up on the classpath instead of the filesystem + * Path to the WireMock configuration files (root dir which contains the {@code mappings} and {@code __files} folders). + * If this starts with {@code classpath:} then files will be looked up on the classpath instead of the filesystem. */ @WithDefault("src/test/resources") String filesMapping(); /** - * If global response templating should be enabled for WireMock - * - * @see https://wiremock.org/3.x/docs/response-templating/ + * Response templating is enabled by default in WireMock 3, with this setting response templating can be enabled globally. + *

+ * Please refer to Response Templating for more details. */ @WithDefault("false") boolean globalResponseTemplating(); @@ -51,7 +51,7 @@ public interface WireMockServerBuildTimeConfig { * Control whether WireMock Extension service * loading, - * is enabled + * is enabled. */ @WithDefault("false") boolean extensionScanningEnabled(); diff --git a/docs/modules/ROOT/pages/includes/quarkus-wiremock-devservices.adoc b/docs/modules/ROOT/pages/includes/quarkus-wiremock-devservices.adoc new file mode 100644 index 0000000..de2a24f --- /dev/null +++ b/docs/modules/ROOT/pages/includes/quarkus-wiremock-devservices.adoc @@ -0,0 +1,118 @@ + +:summaryTableId: quarkus-wiremock-devservices +[.configuration-legend] +icon:lock[title=Fixed at build time] Configuration property fixed at build time - All other configuration properties are overridable at runtime +[.configuration-reference.searchable, cols="80,.^10,.^10"] +|=== + +h|[[quarkus-wiremock-devservices_configuration]]link:#quarkus-wiremock-devservices_configuration[Configuration property] + +h|Type +h|Default + +a|icon:lock[title=Fixed at build time] [[quarkus-wiremock-devservices_quarkus-wiremock-devservices-enabled]]`link:#quarkus-wiremock-devservices_quarkus-wiremock-devservices-enabled[quarkus.wiremock.devservices.enabled]` + + +[.description] +-- +If Dev Services for WireMock has been explicitly enabled or disabled. + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_WIREMOCK_DEVSERVICES_ENABLED+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_ENABLED+++` +endif::add-copy-button-to-env-var[] +--|boolean +|`true` + + +a|icon:lock[title=Fixed at build time] [[quarkus-wiremock-devservices_quarkus-wiremock-devservices-reload]]`link:#quarkus-wiremock-devservices_quarkus-wiremock-devservices-reload[quarkus.wiremock.devservices.reload]` + + +[.description] +-- +Restart WireMock Dev Service whenever Quarkus is reloaded. Otherwise, whenever files are changed in the `files-mapping` location you would need to restart the Dev Service (WireMock server) manually. + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_WIREMOCK_DEVSERVICES_RELOAD+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_RELOAD+++` +endif::add-copy-button-to-env-var[] +--|boolean +|`true` + + +a|icon:lock[title=Fixed at build time] [[quarkus-wiremock-devservices_quarkus-wiremock-devservices-port]]`link:#quarkus-wiremock-devservices_quarkus-wiremock-devservices-port[quarkus.wiremock.devservices.port]` + + +[.description] +-- +Optional fixed port the WireMock Dev Service will listen to. If not defined, the port will be chosen randomly. + +*WARNING:* Only ports between 1025 and 65535 are permitted. + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_WIREMOCK_DEVSERVICES_PORT+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_PORT+++` +endif::add-copy-button-to-env-var[] +--|int +| + + +a|icon:lock[title=Fixed at build time] [[quarkus-wiremock-devservices_quarkus-wiremock-devservices-files-mapping]]`link:#quarkus-wiremock-devservices_quarkus-wiremock-devservices-files-mapping[quarkus.wiremock.devservices.files-mapping]` + + +[.description] +-- +Path to the WireMock configuration files (root dir which contains the `mappings` and `__files` folders). If this starts with `classpath:` then files will be looked up on the classpath instead of the filesystem. + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_WIREMOCK_DEVSERVICES_FILES_MAPPING+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_FILES_MAPPING+++` +endif::add-copy-button-to-env-var[] +--|string +|`src/test/resources` + + +a|icon:lock[title=Fixed at build time] [[quarkus-wiremock-devservices_quarkus-wiremock-devservices-global-response-templating]]`link:#quarkus-wiremock-devservices_quarkus-wiremock-devservices-global-response-templating[quarkus.wiremock.devservices.global-response-templating]` + + +[.description] +-- +Response templating is enabled by default in WireMock 3, with this setting response templating can be enabled globally. + +Please refer to link:https://wiremock.org/3.x/docs/response-templating/[Response Templating] for more details. + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_WIREMOCK_DEVSERVICES_GLOBAL_RESPONSE_TEMPLATING+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_GLOBAL_RESPONSE_TEMPLATING+++` +endif::add-copy-button-to-env-var[] +--|boolean +|`false` + + +a|icon:lock[title=Fixed at build time] [[quarkus-wiremock-devservices_quarkus-wiremock-devservices-extension-scanning-enabled]]`link:#quarkus-wiremock-devservices_quarkus-wiremock-devservices-extension-scanning-enabled[quarkus.wiremock.devservices.extension-scanning-enabled]` + + +[.description] +-- +Control whether WireMock Extension link:https://wiremock.org/docs/extending-wiremock/#extension-registration-via-service-loading[service loading], is enabled. + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_WIREMOCK_DEVSERVICES_EXTENSION_SCANNING_ENABLED+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_EXTENSION_SCANNING_ENABLED+++` +endif::add-copy-button-to-env-var[] +--|boolean +|`false` + +|=== \ No newline at end of file diff --git a/docs/modules/ROOT/pages/includes/quarkus-wiremock.adoc b/docs/modules/ROOT/pages/includes/quarkus-wiremock.adoc deleted file mode 100644 index 37c3dcf..0000000 --- a/docs/modules/ROOT/pages/includes/quarkus-wiremock.adoc +++ /dev/null @@ -1,93 +0,0 @@ -:summaryTableId: quarkus-wiremock -[.configuration-legend] -icon:lock[title=Fixed at build time] Configuration property fixed at build time - All other configuration properties are overridable at runtime -[.configuration-reference.searchable, cols="80,.^10,.^10"] -|=== - -h|[[quarkus-wiremock_configuration]]link:#quarkus-wiremock_configuration[Configuration property] - -h|Type -h|Default - -a|icon:lock[title=Fixed at build time] [[quarkus-wiremock_quarkus.wiremock.devservices.enabled]]`link:#quarkus-wiremock_quarkus.wiremock.devservices.enabled[quarkus.wiremock.devservices.enabled]` - -[.description] --- -If DevServices has been explicitly enabled or disabled. DevServices is generally enabled by default, unless there is an existing configuration present. - -ifdef::add-copy-button-to-env-var[] -Environment variable: env_var_with_copy_button:+++QUARKUS_WIREMOCK_DEVSERVICES_ENABLED+++[] -endif::add-copy-button-to-env-var[] -ifndef::add-copy-button-to-env-var[] -Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_ENABLED+++` -endif::add-copy-button-to-env-var[] ---|boolean -|`true` - -a|icon:lock[title=Fixed at build time] [[quarkus-wiremock_quarkus.wiremock.devservices.port]]`link:#quarkus-wiremock_quarkus.wiremock.devservices.port[quarkus.wiremock.devservices.port]` - -[.description] --- -Optional fixed port the Dev Service will listen to. If not defined, the port will be chosen randomly. - -**WARNING**: Only ports between 1025 and 65535 are permitted. - -ifdef::add-copy-button-to-env-var[] -Environment variable: env_var_with_copy_button:+++QUARKUS_wiremock_DEVSERVICES_PORT+++[] -endif::add-copy-button-to-env-var[] -ifndef::add-copy-button-to-env-var[] -Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_PORT+++` -endif::add-copy-button-to-env-var[] ---|int -| - -a|icon:lock[title=Fixed at build time] [[quarkus-wiremock_quarkus.wiremock.devservices.reload]]`link:#quarkus-wiremock_quarkus.wiremock.devservices.reload[quarkus.wiremock.devservices.reload]` - -[.description] --- -Restart WireMock whenever Quarkus is reloaded. Otherwise, whenever files are changed in the `files-mapping` location you would need to manually -reload Quarkus. - -ifdef::add-copy-button-to-env-var[] -Environment variable: env_var_with_copy_button:+++QUARKUS_WIREMOCK_DEVSERVICES_RELOAD+++[] -endif::add-copy-button-to-env-var[] -ifndef::add-copy-button-to-env-var[] -Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_RELOAD+++` -endif::add-copy-button-to-env-var[] ---|boolean -|`true` - -a|icon:lock[title=Fixed at build time] [[quarkus-wiremock_quarkus.wiremock.devservices.files-mapping]]`link:#quarkus-wiremock_quarkus.wiremock.devservices.files-mapping[quarkus.wiremock.devservices.files-mapping]` - -[.description] --- -Path to root dir with `mappings` and `__files` folders. - -ifdef::add-copy-button-to-env-var[] -Environment variable: env_var_with_copy_button:+++QUARKUS_WIREMOCK_DEVSERVICES_FILES_MAPPING+++[] -endif::add-copy-button-to-env-var[] -ifndef::add-copy-button-to-env-var[] -Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_FILES_MAPPING+++` -endif::add-copy-button-to-env-var[] ---|string -|`src/test/resources` - -a|icon:lock[title=Fixed at build time] [[quarkus-wiremock_quarkus.wiremock.devservices.global-response-templating]]`link:#quarkus-wiremock_quarkus.wiremock.devservices.global-response-templating[quarkus.wiremock.devservices.global-response-templating]` - -[.description] --- -Response templating is enabled by default in WireMock 3, -with this setting response templating can be enabled globally. - -Please refer to https://wiremock.org/3.x/docs/response-templating/[Response Templating] for more details. - -ifdef::add-copy-button-to-env-var[] -Environment variable: env_var_with_copy_button:+++QUARKUS_WIREMOCK_DEVSERVICES_GLOBAL_RESPONSE_TEMPLATING+++[] -endif::add-copy-button-to-env-var[] -ifndef::add-copy-button-to-env-var[] -Environment variable: `+++QUARKUS_WIREMOCK_DEVSERVICES_GLOBAL_RESPONSE_TEMPLATING+++` -endif::add-copy-button-to-env-var[] ---|boolean -|`false` - -|=== diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc index 806109b..01d776a 100644 --- a/docs/modules/ROOT/pages/index.adoc +++ b/docs/modules/ROOT/pages/index.adoc @@ -139,4 +139,4 @@ TIP: Please refer to https://quarkus.io/guides/config-reference#property-express [[extension-configuration-reference]] == Extension Configuration Reference -include::includes/quarkus-wiremock.adoc[leveloffset=+1, opts=optional] +include::includes/quarkus-wiremock-devservices.adoc[leveloffset=+1, opts=optional] diff --git a/docs/pom.xml b/docs/pom.xml index d350dc5..3e2b57f 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -65,7 +65,7 @@ ${project.basedir}/../target/asciidoc/generated/config/ - quarkus-my-ext.adoc + quarkus-wiremock-devservices.adoc false