You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2023/08/30 13:58:14 UTC

[causeway] branch master updated: CAUSEWAY-3564: move model4adoc once again (that is to valuetypes)

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/master by this push:
     new baafcc1d34 CAUSEWAY-3564: move model4adoc once again (that is to valuetypes)
baafcc1d34 is described below

commit baafcc1d341ea0e06f6bee592f51d25f2a793cd6
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Aug 30 15:58:08 2023 +0200

    CAUSEWAY-3564: move model4adoc once again (that is to valuetypes)
---
 .../ROOT/pages/2023/2.0.0-RC3/mignotes.adoc        |  4 +-
 bom/pom.xml                                        | 16 +++---
 extensions/core/docgen/model4adoc/pom.xml          | 64 ----------------------
 extensions/core/docgen/pom.xml                     |  1 -
 regressiontests/pom.xml                            |  4 +-
 tooling/cli/pom.xml                                |  4 +-
 .../cli/adocfix/OrphanedIncludeStatementFixer.java |  4 +-
 .../tooling/cli/projdoc/ProjectDocModel.java       | 16 +++---
 .../tooling/cli/projdoc/ProjectDocWriter.java      |  2 +-
 .../test/adocfix/IncludeStatementFixerTest.java    |  2 +-
 tooling/java2adoc/pom.xml                          |  4 +-
 .../tooling/j2adoc/convert/HtmlToAsciiDoc.java     |  8 +--
 .../j2adoc/convert/J2AdocConverterDefault.java     |  4 +-
 .../j2adoc/format/UnitFormatterAbstract.java       |  4 +-
 .../j2adoc/format/UnitFormatterCompact.java        |  2 +-
 .../format/UnitFormatterWithSourceAndCallouts.java |  2 +-
 .../format/UnitFormatterWithSourceAndSections.java |  2 +-
 .../tooling/j2adoc/convert/HtmlToAsciiDocTest.java |  4 +-
 .../causeway/tooling/j2adoc/test/J2AdocTest.java   |  2 +-
 .../asciidoc/builder}/README.adoc                  |  0
 .../asciidoc/builder}/pom.xml                      | 52 +++++++++---------
 .../asciidoc/builder}/AsciiDocFactory.java         | 18 +++---
 .../asciidoc/builder}/AsciiDocWriter.java          |  2 +-
 .../valuetypes/asciidoc/builder}/BlockVisitor.java |  2 +-
 .../valuetypes/asciidoc/builder}/NodeWriter.java   |  2 +-
 .../asciidoc/builder}/StructuralNodeTraversor.java |  2 +-
 .../asciidoc/builder}/StructuralNodeVisitor.java   |  2 +-
 .../asciidoc/builder}/ast/ContentNodeAbstract.java |  2 +-
 .../asciidoc/builder}/ast/SimpleBlock.java         |  2 +-
 .../asciidoc/builder}/ast/SimpleCell.java          |  2 +-
 .../asciidoc/builder}/ast/SimpleColumn.java        |  2 +-
 .../asciidoc/builder}/ast/SimpleDocument.java      |  2 +-
 .../asciidoc/builder}/ast/SimpleList.java          |  2 +-
 .../asciidoc/builder}/ast/SimpleListItem.java      |  2 +-
 .../asciidoc/builder}/ast/SimpleRow.java           |  2 +-
 .../builder}/ast/SimpleStructuralNode.java         |  2 +-
 .../asciidoc/builder}/ast/SimpleTable.java         |  2 +-
 .../builder}/include/IncludeStatement.java         |  2 +-
 .../builder}/include/IncludeStatements.java        |  2 +-
 .../valuetypes/asciidoc/builder}/xref/Xref.java    |  2 +-
 .../test/ast/AbstractAsciiDocWriterTest.java       |  4 +-
 .../asciidoc/builder}/test/ast/AdmonitionTest.java |  6 +-
 .../builder}/test/ast/AttributedTableTest.java     | 10 ++--
 .../builder}/test/ast/CalloutContinuationTest.java |  6 +-
 .../builder}/test/ast/CollapsibleTest.java         |  6 +-
 .../builder}/test/ast/DocumentHeaderTest.java      |  8 +--
 .../asciidoc/builder}/test/ast/NestedListTest.java |  8 +--
 .../asciidoc/builder}/test/ast/OpenBlockTest.java  | 14 ++---
 .../asciidoc/builder}/test/ast/PlantumlTest.java   |  6 +-
 .../asciidoc/builder}/test/ast/SimpleListTest.java |  8 +--
 .../builder}/test/ast/SimpleTableTest.java         | 10 ++--
 .../asciidoc/builder}/test/ast/SourceTest.java     |  6 +-
 .../asciidoc/builder}/test/ast/_Debug.java         |  2 +-
 .../asciidoc/builder}/test/ast/admonition.adoc     |  0
 .../builder}/test/ast/callout-continuation.adoc    |  0
 .../asciidoc/builder}/test/ast/collapsible.adoc    |  0
 .../builder}/test/ast/document-header.adoc         |  0
 .../asciidoc/builder}/test/ast/list-nested.adoc    |  0
 .../test/ast/list-open-block-continuation.adoc     |  0
 .../asciidoc/builder}/test/ast/list-simple.adoc    |  0
 .../asciidoc/builder}/test/ast/plantuml-svg.adoc   |  0
 .../asciidoc/builder}/test/ast/source.adoc         |  0
 .../builder}/test/ast/table-attributed.adoc        |  0
 .../asciidoc/builder}/test/ast/table-simple.adoc   |  0
 valuetypes/asciidoc/pom.xml                        |  1 +
 65 files changed, 142 insertions(+), 208 deletions(-)

diff --git a/antora/components/relnotes/modules/ROOT/pages/2023/2.0.0-RC3/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2023/2.0.0-RC3/mignotes.adoc
index 8d7ef6e93e..f3eaf22355 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2023/2.0.0-RC3/mignotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2023/2.0.0-RC3/mignotes.adoc
@@ -71,8 +71,8 @@ moved to
 
 <!-- instead use -->
 <dependency>
-	<groupId>org.apache.causeway.extensions</groupId>
-	<artifactId>causeway-extensions-docgen-model4adoc</artifactId>
+	<groupId>org.apache.causeway.valuetypes</groupId>
+	<artifactId>causeway-valuetypes-asciidoc-builder</artifactId>
 </dependency>
 ----
 
diff --git a/bom/pom.xml b/bom/pom.xml
index a83b6b5fd8..b63e9388da 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -790,13 +790,6 @@ It is therefore a copy of org.apache:apache, with customisations clearly identif
 				<type>jar</type>
 				<scope>compile</scope>
 			</dependency>
-			<dependency>
-				<groupId>org.apache.causeway.extensions</groupId>
-				<artifactId>causeway-extensions-docgen-model4adoc</artifactId>
-				<version>2.0.0-SNAPSHOT</version>
-				<type>jar</type>
-				<scope>compile</scope>
-			</dependency>
 
 			<!-- org.apache.causeway.extensions (excel) -->
 			<dependency>
@@ -1278,6 +1271,13 @@ It is therefore a copy of org.apache:apache, with customisations clearly identif
 				<type>jar</type>
 				<scope>compile</scope>
 			</dependency>
+			<dependency>
+				<groupId>org.apache.causeway.valuetypes</groupId>
+				<artifactId>causeway-valuetypes-asciidoc-builder</artifactId>
+				<version>2.0.0-SNAPSHOT</version>
+				<type>jar</type>
+				<scope>compile</scope>
+			</dependency>
 			<dependency>
 				<groupId>org.apache.causeway.valuetypes</groupId>
 				<artifactId>causeway-valuetypes-asciidoc-metamodel</artifactId>
@@ -2439,7 +2439,7 @@ It is therefore a copy of org.apache:apache, with customisations clearly identif
 
                             <exclude>**/incubator/clients/kroviz/package.json.d/project.info</exclude>
 
-                            <exclude>**/causeway/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/adocmodel/test/**</exclude>
+                            <exclude>**/causeway/valuetypes/asciidoc/builder/src/test/resources/**</exclude>
 
                             <exclude>**/*.iml</exclude>
                             <exclude>**/webpack.config.js</exclude>
diff --git a/extensions/core/docgen/model4adoc/pom.xml b/extensions/core/docgen/model4adoc/pom.xml
deleted file mode 100644
index 8ce71b5909..0000000000
--- a/extensions/core/docgen/model4adoc/pom.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
-	license agreements. See the NOTICE file distributed with this work for additional
-	information regarding copyright ownership. The ASF licenses this file to
-	you under the Apache License, Version 2.0 (the "License"); you may not use
-	this file except in compliance with the License. You may obtain a copy of
-	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
-	by applicable law or agreed to in writing, software distributed under the
-	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
-	OF ANY KIND, either express or implied. See the License for the specific
-	language governing permissions and limitations under the License. -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.causeway.extensions</groupId>
-        <artifactId>causeway-extensions-docgen</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
-    </parent>
-    
-    <artifactId>causeway-extensions-docgen-model4adoc</artifactId>
-    <name>Apache Causeway Ext - Docgen Model for AsciiDoc</name>
-
-    <description>
-        Library for programmatic AsciiDoc generation.
-
-        The AsciiDoc name is trademarked by the Eclipse Foundation (https://www.eclipse.org/).
-		This project is *not* part of the specification effort for _AsciiDoc_ under the
-		AsciiDoc Working Group. See https://projects.eclipse.org/proposals/asciidoc-language
-		and https://accounts.eclipse.org/mailing-list/asciidoc-wg. However, we are happy to
-		help with transfer of source code, if any project (under the umbrella of the
-		AsciiDoc Working Group) is willing to take over.
-    </description>
-    
-    <properties>
-        <jar-plugin.automaticModuleName>org.apache.causeway.extensions.docgen.model4adoc</jar-plugin.automaticModuleName>
-        <git-plugin.propertiesDir>org/apache/causeway/extensions/docgen/model4adoc</git-plugin.propertiesDir>
-		<enforcer.skip>true</enforcer.skip>
-	</properties>
-
-	<dependencies>
-
-		<dependency>
-			<groupId>org.apache.causeway.commons</groupId>
-			<artifactId>causeway-commons</artifactId>
-		</dependency>
-
-		<dependency>
-			<groupId>org.asciidoctor</groupId>
-			<artifactId>asciidoctorj</artifactId>
-			<version>${asciidoctorj.version}</version>
-		</dependency>
-
-		<!-- TESTING -->
-
-		<dependency>
-			<groupId>org.apache.causeway.core</groupId>
-			<artifactId>causeway-core-internaltestsupport</artifactId>
-			<scope>test</scope>
-		</dependency>
-
-	</dependencies>
-
-</project>
diff --git a/extensions/core/docgen/pom.xml b/extensions/core/docgen/pom.xml
index e1b409b173..7dac991c5f 100644
--- a/extensions/core/docgen/pom.xml
+++ b/extensions/core/docgen/pom.xml
@@ -32,7 +32,6 @@
 
 	<modules>
 		<module>help</module>
-		<module>model4adoc</module>
 	</modules>
 
 </project>
diff --git a/regressiontests/pom.xml b/regressiontests/pom.xml
index 728eb6de9e..494b0dc63b 100644
--- a/regressiontests/pom.xml
+++ b/regressiontests/pom.xml
@@ -280,8 +280,8 @@
 			</dependency>
 
 			<dependency>
-				<groupId>org.apache.causeway.extensions</groupId>
-				<artifactId>causeway-extensions-docgen-model4adoc</artifactId>
+				<groupId>org.apache.causeway.valuetypes</groupId>
+				<artifactId>causeway-valuetypes-asciidoc-builder</artifactId>
 				<version>${project.version}</version>
 				<scope>test</scope>
 			</dependency>
diff --git a/tooling/cli/pom.xml b/tooling/cli/pom.xml
index c0f093b2cb..ea6f181444 100644
--- a/tooling/cli/pom.xml
+++ b/tooling/cli/pom.xml
@@ -86,8 +86,8 @@
 		</dependency>
 
 		<dependency>
-			<groupId>org.apache.causeway.extensions</groupId>
-			<artifactId>causeway-extensions-docgen-model4adoc</artifactId>
+			<groupId>org.apache.causeway.valuetypes</groupId>
+			<artifactId>causeway-valuetypes-asciidoc-builder</artifactId>
 		</dependency>
 
 		<dependency>
diff --git a/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/adocfix/OrphanedIncludeStatementFixer.java b/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/adocfix/OrphanedIncludeStatementFixer.java
index 6b323c4015..74d1a61014 100644
--- a/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/adocfix/OrphanedIncludeStatementFixer.java
+++ b/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/adocfix/OrphanedIncludeStatementFixer.java
@@ -25,10 +25,10 @@ import java.util.SortedSet;
 import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.commons.internal.base._Refs;
 import org.apache.causeway.commons.io.TextUtils;
-import org.apache.causeway.extensions.docgen.model4adoc.include.IncludeStatement;
-import org.apache.causeway.extensions.docgen.model4adoc.include.IncludeStatements;
 import org.apache.causeway.tooling.cli.CliConfig;
 import org.apache.causeway.tooling.j2adoc.J2AdocContext;
+import org.apache.causeway.valuetypes.asciidoc.builder.include.IncludeStatement;
+import org.apache.causeway.valuetypes.asciidoc.builder.include.IncludeStatements;
 
 import lombok.NonNull;
 import lombok.val;
diff --git a/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/projdoc/ProjectDocModel.java b/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/projdoc/ProjectDocModel.java
index 2b76d1dd3c..04edb71a3a 100644
--- a/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/projdoc/ProjectDocModel.java
+++ b/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/projdoc/ProjectDocModel.java
@@ -47,7 +47,6 @@ import org.apache.causeway.commons.internal.base._Strings;
 import org.apache.causeway.commons.internal.exceptions._Exceptions;
 import org.apache.causeway.commons.internal.graph._Graph;
 import org.apache.causeway.commons.io.FileUtils;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
 import org.apache.causeway.tooling.c4.C4;
 import org.apache.causeway.tooling.cli.CliConfig;
 import org.apache.causeway.tooling.cli.adocfix.OrphanedIncludeStatementFixer;
@@ -58,13 +57,14 @@ import org.apache.causeway.tooling.javamodel.ast.CodeClasses;
 import org.apache.causeway.tooling.projectmodel.ArtifactCoordinates;
 import org.apache.causeway.tooling.projectmodel.Dependency;
 import org.apache.causeway.tooling.projectmodel.ProjectNode;
-
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.block;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.cell;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.headRow;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.row;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.table;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
+
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.block;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.cell;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.headRow;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.row;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.table;
 
 import guru.nidi.codeassert.config.Language;
 import guru.nidi.codeassert.model.CodeClass;
diff --git a/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/projdoc/ProjectDocWriter.java b/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/projdoc/ProjectDocWriter.java
index 8f72612e98..848e037e00 100644
--- a/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/projdoc/ProjectDocWriter.java
+++ b/tooling/cli/src/main/java/org/apache/causeway/tooling/cli/projdoc/ProjectDocWriter.java
@@ -25,10 +25,10 @@ import org.asciidoctor.ast.Document;
 
 import org.apache.causeway.commons.internal.base._Refs;
 import org.apache.causeway.commons.io.FileUtils;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocWriter;
 import org.apache.causeway.tooling.cli.CliConfig;
 import org.apache.causeway.tooling.j2adoc.J2AdocContext;
 import org.apache.causeway.tooling.j2adoc.J2AdocUnit;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocWriter;
 
 import lombok.NonNull;
 import lombok.SneakyThrows;
diff --git a/tooling/cli/src/test/java/org/apache/causeway/tooling/cli/test/adocfix/IncludeStatementFixerTest.java b/tooling/cli/src/test/java/org/apache/causeway/tooling/cli/test/adocfix/IncludeStatementFixerTest.java
index 89f6f6f04b..144575d6aa 100644
--- a/tooling/cli/src/test/java/org/apache/causeway/tooling/cli/test/adocfix/IncludeStatementFixerTest.java
+++ b/tooling/cli/src/test/java/org/apache/causeway/tooling/cli/test/adocfix/IncludeStatementFixerTest.java
@@ -29,7 +29,7 @@ import org.junit.jupiter.api.Test;
 import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.commons.internal.collections._Sets;
 import org.apache.causeway.commons.io.TextUtils;
-import org.apache.causeway.extensions.docgen.model4adoc.include.IncludeStatements;
+import org.apache.causeway.valuetypes.asciidoc.builder.include.IncludeStatements;
 
 import lombok.NonNull;
 import lombok.val;
diff --git a/tooling/java2adoc/pom.xml b/tooling/java2adoc/pom.xml
index 12b5eed7b2..e121606f39 100644
--- a/tooling/java2adoc/pom.xml
+++ b/tooling/java2adoc/pom.xml
@@ -40,8 +40,8 @@
 		</dependency>
 
 		<dependency>
-			<groupId>org.apache.causeway.extensions</groupId>
-			<artifactId>causeway-extensions-docgen-model4adoc</artifactId>
+			<groupId>org.apache.causeway.valuetypes</groupId>
+			<artifactId>causeway-valuetypes-asciidoc-builder</artifactId>
 		</dependency>
 
 		<dependency>
diff --git a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/convert/HtmlToAsciiDoc.java b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/convert/HtmlToAsciiDoc.java
index 9ddffa55e6..0a266f6c26 100644
--- a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/convert/HtmlToAsciiDoc.java
+++ b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/convert/HtmlToAsciiDoc.java
@@ -30,7 +30,7 @@ import org.jsoup.select.NodeTraversor;
 import org.jsoup.select.NodeVisitor;
 
 import org.apache.causeway.commons.internal.base._Strings;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
 import lombok.SneakyThrows;
 import lombok.val;
@@ -38,7 +38,7 @@ import lombok.val;
 final class HtmlToAsciiDoc {
 
     @SneakyThrows
-    public static Document body(Element body) {
+    public static Document body(final Element body) {
 
         val adoc = AsciiDocFactory.doc();
 
@@ -138,7 +138,7 @@ final class HtmlToAsciiDoc {
 
 
         // first element on the stack is the document, that is the the root of the adoc abstract syntax tree
-        BlockHelper(Document adoc){
+        BlockHelper(final Document adoc){
             nodeStack.push(adoc);
         }
 
@@ -172,7 +172,7 @@ final class HtmlToAsciiDoc {
                     : nextBlock();
         }
 
-        void blockAppend(String source) {
+        void blockAppend(final String source) {
             val block = getBlock();
             block.setSource(block.getSource()+source);
         }
diff --git a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/convert/J2AdocConverterDefault.java b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/convert/J2AdocConverterDefault.java
index 8732904166..2db2f73597 100644
--- a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/convert/J2AdocConverterDefault.java
+++ b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/convert/J2AdocConverterDefault.java
@@ -34,8 +34,6 @@ import org.asciidoctor.ast.StructuralNode;
 
 import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.commons.internal._Constants;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
-import org.apache.causeway.extensions.docgen.model4adoc.ast.SimpleBlock;
 import org.apache.causeway.tooling.j2adoc.J2AdocContext;
 import org.apache.causeway.tooling.j2adoc.J2AdocUnit;
 import org.apache.causeway.tooling.j2adoc.format.MemberFormatter;
@@ -45,6 +43,8 @@ import org.apache.causeway.tooling.javamodel.ast.EnumConstantDeclarations;
 import org.apache.causeway.tooling.javamodel.ast.FieldDeclarations;
 import org.apache.causeway.tooling.javamodel.ast.Javadocs;
 import org.apache.causeway.tooling.javamodel.ast.MethodDeclarations;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
+import org.apache.causeway.valuetypes.asciidoc.builder.ast.SimpleBlock;
 
 import lombok.NonNull;
 import lombok.val;
diff --git a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterAbstract.java b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterAbstract.java
index a3c8db7447..91e3ecbf4e 100644
--- a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterAbstract.java
+++ b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterAbstract.java
@@ -37,14 +37,14 @@ import org.asciidoctor.ast.StructuralNode;
 
 import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.commons.internal.base._Strings;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
 import org.apache.causeway.tooling.j2adoc.J2AdocContext;
 import org.apache.causeway.tooling.j2adoc.J2AdocUnit;
 import org.apache.causeway.tooling.j2adoc.convert.J2AdocConverter;
 import org.apache.causeway.tooling.j2adoc.convert.J2AdocConverterDefault;
 import org.apache.causeway.tooling.javamodel.ast.Javadocs;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.block;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.block;
 
 import lombok.AccessLevel;
 import lombok.NonNull;
diff --git a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterCompact.java b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterCompact.java
index d72c7a763c..3587b4aa0c 100644
--- a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterCompact.java
+++ b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterCompact.java
@@ -22,11 +22,11 @@ import java.util.Optional;
 
 import org.asciidoctor.ast.StructuralNode;
 
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
 import org.apache.causeway.tooling.j2adoc.J2AdocContext;
 import org.apache.causeway.tooling.j2adoc.J2AdocUnit;
 import org.apache.causeway.tooling.j2adoc.convert.J2AdocConverter;
 import org.apache.causeway.tooling.j2adoc.convert.J2AdocConverterDefault;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
 import lombok.NonNull;
 import lombok.val;
diff --git a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterWithSourceAndCallouts.java b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterWithSourceAndCallouts.java
index 0329b91e07..e05e7aee07 100644
--- a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterWithSourceAndCallouts.java
+++ b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterWithSourceAndCallouts.java
@@ -22,11 +22,11 @@ import java.util.Optional;
 
 import org.asciidoctor.ast.StructuralNode;
 
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
 import org.apache.causeway.tooling.j2adoc.J2AdocContext;
 import org.apache.causeway.tooling.j2adoc.J2AdocUnit;
 import org.apache.causeway.tooling.j2adoc.convert.J2AdocConverter;
 import org.apache.causeway.tooling.j2adoc.convert.J2AdocConverterDefault;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
 import lombok.NonNull;
 import lombok.val;
diff --git a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterWithSourceAndSections.java b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterWithSourceAndSections.java
index 1e73bc3d46..62a87f1be2 100644
--- a/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterWithSourceAndSections.java
+++ b/tooling/java2adoc/src/main/java/org/apache/causeway/tooling/j2adoc/format/UnitFormatterWithSourceAndSections.java
@@ -31,13 +31,13 @@ import org.asciidoctor.ast.List;
 import org.asciidoctor.ast.StructuralNode;
 
 import org.apache.causeway.commons.collections.Can;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
 import org.apache.causeway.tooling.j2adoc.J2AdocContext;
 import org.apache.causeway.tooling.j2adoc.J2AdocUnit;
 import org.apache.causeway.tooling.j2adoc.convert.J2AdocConverter;
 import org.apache.causeway.tooling.j2adoc.convert.J2AdocConverterDefault;
 import org.apache.causeway.tooling.javamodel.ast.CallableDeclarations;
 import org.apache.causeway.tooling.javamodel.ast.Javadocs;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
 import lombok.NonNull;
 import lombok.val;
diff --git a/tooling/java2adoc/src/test/java/org/apache/causeway/tooling/j2adoc/convert/HtmlToAsciiDocTest.java b/tooling/java2adoc/src/test/java/org/apache/causeway/tooling/j2adoc/convert/HtmlToAsciiDocTest.java
index aa48c43b7e..8eee5101ff 100644
--- a/tooling/java2adoc/src/test/java/org/apache/causeway/tooling/j2adoc/convert/HtmlToAsciiDocTest.java
+++ b/tooling/java2adoc/src/test/java/org/apache/causeway/tooling/j2adoc/convert/HtmlToAsciiDocTest.java
@@ -26,8 +26,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.commons.io.TextUtils;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocWriter;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocWriter;
 
 import lombok.val;
 
diff --git a/tooling/java2adoc/src/test/java/org/apache/causeway/tooling/j2adoc/test/J2AdocTest.java b/tooling/java2adoc/src/test/java/org/apache/causeway/tooling/j2adoc/test/J2AdocTest.java
index f87157c08e..52a1d3c1a6 100644
--- a/tooling/java2adoc/src/test/java/org/apache/causeway/tooling/j2adoc/test/J2AdocTest.java
+++ b/tooling/java2adoc/src/test/java/org/apache/causeway/tooling/j2adoc/test/J2AdocTest.java
@@ -31,10 +31,10 @@ import org.junit.jupiter.api.Test;
 import org.apache.causeway.commons.collections.Can;
 import org.apache.causeway.commons.internal.collections._Sets;
 import org.apache.causeway.commons.io.TextUtils;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocWriter;
 import org.apache.causeway.tooling.j2adoc.J2AdocContext;
 import org.apache.causeway.tooling.j2adoc.util.AsciiDocIncludeTagFilter;
 import org.apache.causeway.tooling.javamodel.AnalyzerConfigFactory;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocWriter;
 
 import guru.nidi.codeassert.config.Language;
 import lombok.NonNull;
diff --git a/extensions/core/docgen/model4adoc/README.adoc b/valuetypes/asciidoc/builder/README.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/README.adoc
rename to valuetypes/asciidoc/builder/README.adoc
diff --git a/tooling/java2adoc/pom.xml b/valuetypes/asciidoc/builder/pom.xml
similarity index 57%
copy from tooling/java2adoc/pom.xml
copy to valuetypes/asciidoc/builder/pom.xml
index 12b5eed7b2..29a64474f0 100644
--- a/tooling/java2adoc/pom.xml
+++ b/valuetypes/asciidoc/builder/pom.xml
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
-	license agreements. See the NOTICE file distributed with this work for additional
-	information regarding copyright ownership. The ASF licenses this file to
-	you under the Apache License, Version 2.0 (the "License"); you may not use
-	this file except in compliance with the License. You may obtain a copy of
-	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
-	by applicable law or agreed to in writing, software distributed under the
-	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
-	OF ANY KIND, either express or implied. See the License for the specific
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 
+	license agreements. See the NOTICE file distributed with this work for additional 
+	information regarding copyright ownership. The ASF licenses this file to 
+	you under the Apache License, Version 2.0 (the "License"); you may not use 
+	this file except in compliance with the License. You may obtain a copy of 
+	the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 
+	by applicable law or agreed to in writing, software distributed under the 
+	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 
+	OF ANY KIND, either express or implied. See the License for the specific 
 	language governing permissions and limitations under the License. -->
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -15,21 +15,17 @@
 	<modelVersion>4.0.0</modelVersion>
 
 	<parent>
-		<groupId>org.apache.causeway.tooling</groupId>
-		<artifactId>causeway-tooling</artifactId>
+		<groupId>org.apache.causeway.valuetypes</groupId>
+		<artifactId>causeway-valuetypes-asciidoc</artifactId>
 		<version>2.0.0-SNAPSHOT</version>
 	</parent>
 
-	<artifactId>causeway-tooling-java2adoc</artifactId>
-
-	<name>Apache Causeway - Tooling - Java to Asciidoc (Code Mining)</name>
-	<description>
-        Code mining library for Java source to Asciidoc conversion.
-    </description>
+	<artifactId>causeway-valuetypes-asciidoc-builder</artifactId>
+	<name>Apache Causeway Val - Asciidoctor (Builder)</name>
 
 	<properties>
-		<skipTests>true</skipTests>
-		<enforcer.skip>true</enforcer.skip>
+		<jar-plugin.automaticModuleName>org.apache.causeway.valuetypes.asciidoc.builder</jar-plugin.automaticModuleName>
+		<git-plugin.propertiesDir>org/apache/causeway/valuetypes/asciidoc/builder</git-plugin.propertiesDir>
 	</properties>
 
 	<dependencies>
@@ -40,22 +36,24 @@
 		</dependency>
 
 		<dependency>
-			<groupId>org.apache.causeway.extensions</groupId>
-			<artifactId>causeway-extensions-docgen-model4adoc</artifactId>
+			<groupId>org.apache.causeway.valuetypes</groupId>
+			<artifactId>causeway-valuetypes-asciidoc-applib</artifactId>
 		</dependency>
 
 		<dependency>
-			<groupId>org.apache.causeway.tooling</groupId>
-			<artifactId>causeway-tooling-javamodel</artifactId>
+			<groupId>org.asciidoctor</groupId>
+			<artifactId>asciidoctorj</artifactId>
+			<version>${asciidoctorj.version}</version>
 		</dependency>
 
+		<!-- TESTING -->
+
 		<dependency>
-			<groupId>org.jsoup</groupId>
-			<artifactId>jsoup</artifactId>
+			<groupId>org.apache.causeway.core</groupId>
+			<artifactId>causeway-core-internaltestsupport</artifactId>
+			<scope>test</scope>
 		</dependency>
 
 	</dependencies>
 
 </project>
-
-
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/AsciiDocFactory.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/AsciiDocFactory.java
similarity index 95%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/AsciiDocFactory.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/AsciiDocFactory.java
index dec0c315c6..398c03a370 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/AsciiDocFactory.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/AsciiDocFactory.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc;
+package org.apache.causeway.valuetypes.asciidoc.builder;
 
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
@@ -36,14 +36,14 @@ import org.apache.causeway.commons.internal.base._Refs;
 import org.apache.causeway.commons.internal.base._Strings;
 import org.apache.causeway.commons.internal.base._Text;
 import org.apache.causeway.commons.io.TextUtils;
-import org.apache.causeway.extensions.docgen.model4adoc.ast.SimpleBlock;
-import org.apache.causeway.extensions.docgen.model4adoc.ast.SimpleCell;
-import org.apache.causeway.extensions.docgen.model4adoc.ast.SimpleColumn;
-import org.apache.causeway.extensions.docgen.model4adoc.ast.SimpleDocument;
-import org.apache.causeway.extensions.docgen.model4adoc.ast.SimpleList;
-import org.apache.causeway.extensions.docgen.model4adoc.ast.SimpleListItem;
-import org.apache.causeway.extensions.docgen.model4adoc.ast.SimpleRow;
-import org.apache.causeway.extensions.docgen.model4adoc.ast.SimpleTable;
+import org.apache.causeway.valuetypes.asciidoc.builder.ast.SimpleBlock;
+import org.apache.causeway.valuetypes.asciidoc.builder.ast.SimpleCell;
+import org.apache.causeway.valuetypes.asciidoc.builder.ast.SimpleColumn;
+import org.apache.causeway.valuetypes.asciidoc.builder.ast.SimpleDocument;
+import org.apache.causeway.valuetypes.asciidoc.builder.ast.SimpleList;
+import org.apache.causeway.valuetypes.asciidoc.builder.ast.SimpleListItem;
+import org.apache.causeway.valuetypes.asciidoc.builder.ast.SimpleRow;
+import org.apache.causeway.valuetypes.asciidoc.builder.ast.SimpleTable;
 
 import lombok.NonNull;
 import lombok.val;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/AsciiDocWriter.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/AsciiDocWriter.java
similarity index 98%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/AsciiDocWriter.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/AsciiDocWriter.java
index 5943fa762b..e09ae4fb3a 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/AsciiDocWriter.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/AsciiDocWriter.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc;
+package org.apache.causeway.valuetypes.asciidoc.builder;
 
 import java.io.File;
 import java.io.FileNotFoundException;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/BlockVisitor.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/BlockVisitor.java
similarity index 95%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/BlockVisitor.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/BlockVisitor.java
index 220635812e..e39e372c4a 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/BlockVisitor.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/BlockVisitor.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc;
+package org.apache.causeway.valuetypes.asciidoc.builder;
 
 import java.util.function.Predicate;
 
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/NodeWriter.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/NodeWriter.java
similarity index 99%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/NodeWriter.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/NodeWriter.java
index b59c0cab2f..1894c9d85b 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/NodeWriter.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/NodeWriter.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc;
+package org.apache.causeway.valuetypes.asciidoc.builder;
 
 import java.io.StringWriter;
 import java.io.Writer;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/StructuralNodeTraversor.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/StructuralNodeTraversor.java
similarity index 97%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/StructuralNodeTraversor.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/StructuralNodeTraversor.java
index 30a27bfa34..5b25cc0bae 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/StructuralNodeTraversor.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/StructuralNodeTraversor.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc;
+package org.apache.causeway.valuetypes.asciidoc.builder;
 
 import org.asciidoctor.ast.StructuralNode;
 
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/StructuralNodeVisitor.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/StructuralNodeVisitor.java
similarity index 98%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/StructuralNodeVisitor.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/StructuralNodeVisitor.java
index 5ff748769f..0f92596761 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/StructuralNodeVisitor.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/StructuralNodeVisitor.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc;
+package org.apache.causeway.valuetypes.asciidoc.builder;
 
 import org.asciidoctor.ast.Block;
 import org.asciidoctor.ast.Document;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/ContentNodeAbstract.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/ContentNodeAbstract.java
similarity index 98%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/ContentNodeAbstract.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/ContentNodeAbstract.java
index 99fc5ecee0..8934a03d60 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/ContentNodeAbstract.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/ContentNodeAbstract.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.ast;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleBlock.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleBlock.java
similarity index 97%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleBlock.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleBlock.java
index a7b6b07440..37162dd8fb 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleBlock.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleBlock.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.ast;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleCell.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleCell.java
similarity index 97%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleCell.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleCell.java
index ca22643810..296b3ed3fa 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleCell.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleCell.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.ast;
 
 import org.asciidoctor.ast.Cell;
 import org.asciidoctor.ast.Column;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleColumn.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleColumn.java
similarity index 97%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleColumn.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleColumn.java
index a7bce4de99..f2fd34315e 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleColumn.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleColumn.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.ast;
 
 import org.asciidoctor.ast.Column;
 import org.asciidoctor.ast.Table;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleDocument.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleDocument.java
similarity index 97%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleDocument.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleDocument.java
index 98c18ceadd..23609979fe 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleDocument.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleDocument.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.ast;
 
 import java.util.Collections;
 import java.util.HashMap;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleList.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleList.java
similarity index 95%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleList.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleList.java
index 43839a01d7..7473db2b0d 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleList.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleList.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.ast;
 
 import java.util.List;
 
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleListItem.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleListItem.java
similarity index 95%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleListItem.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleListItem.java
index 63f5b651a2..f8699dcba7 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleListItem.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleListItem.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.ast;
 
 import org.asciidoctor.ast.ListItem;
 
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleRow.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleRow.java
similarity index 94%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleRow.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleRow.java
index d75dbfede3..8abd70601d 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleRow.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleRow.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.ast;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleStructuralNode.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleStructuralNode.java
similarity index 97%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleStructuralNode.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleStructuralNode.java
index 209f9a0658..0a3cdf8c5d 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleStructuralNode.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleStructuralNode.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.ast;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleTable.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleTable.java
similarity index 96%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleTable.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleTable.java
index aa821e0824..0c0bd3ffad 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/ast/SimpleTable.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/ast/SimpleTable.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.ast;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/include/IncludeStatement.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/include/IncludeStatement.java
similarity index 97%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/include/IncludeStatement.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/include/IncludeStatement.java
index 36e672c77c..95543684eb 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/include/IncludeStatement.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/include/IncludeStatement.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.include;
+package org.apache.causeway.valuetypes.asciidoc.builder.include;
 
 import java.util.stream.Collectors;
 
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/include/IncludeStatements.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/include/IncludeStatements.java
similarity index 98%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/include/IncludeStatements.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/include/IncludeStatements.java
index 8e6cbb8939..e4fbdede0b 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/include/IncludeStatements.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/include/IncludeStatements.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.include;
+package org.apache.causeway.valuetypes.asciidoc.builder.include;
 
 import java.util.Optional;
 import java.util.function.BiConsumer;
diff --git a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/xref/Xref.java b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/xref/Xref.java
similarity index 97%
rename from extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/xref/Xref.java
rename to valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/xref/Xref.java
index 01395fd852..4f86eaa41f 100644
--- a/extensions/core/docgen/model4adoc/src/main/java/org/apache/causeway/extensions/docgen/model4adoc/xref/Xref.java
+++ b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/xref/Xref.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.xref;
+package org.apache.causeway.valuetypes.asciidoc.builder.xref;
 
 import java.util.stream.Collectors;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/AbstractAsciiDocWriterTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/AbstractAsciiDocWriterTest.java
similarity index 96%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/AbstractAsciiDocWriterTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/AbstractAsciiDocWriterTest.java
index 7466f1c9ae..95ef23e009 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/AbstractAsciiDocWriterTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/AbstractAsciiDocWriterTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
@@ -29,7 +29,7 @@ import org.junit.jupiter.api.Test;
 import org.apache.causeway.commons.internal.base._Strings;
 import org.apache.causeway.commons.internal.base._Text;
 import org.apache.causeway.commons.io.TextUtils;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocWriter;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocWriter;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/AdmonitionTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/AdmonitionTest.java
similarity index 89%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/AdmonitionTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/AdmonitionTest.java
index b6a8d8e078..5ca28c1774 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/AdmonitionTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/AdmonitionTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -24,9 +24,9 @@ import org.asciidoctor.ast.Document;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/AttributedTableTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/AttributedTableTest.java
similarity index 80%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/AttributedTableTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/AttributedTableTest.java
index 2bb1b2cca8..77e42a86a5 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/AttributedTableTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/AttributedTableTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -24,10 +24,10 @@ import org.asciidoctor.ast.Document;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.cell;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.headCell;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.table;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.cell;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.headCell;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.table;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/CalloutContinuationTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/CalloutContinuationTest.java
similarity index 91%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/CalloutContinuationTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/CalloutContinuationTest.java
index 35e3aacde8..4d4ac9cf5e 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/CalloutContinuationTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/CalloutContinuationTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -24,9 +24,9 @@ import org.asciidoctor.ast.Document;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/CollapsibleTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/CollapsibleTest.java
similarity index 89%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/CollapsibleTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/CollapsibleTest.java
index 64de114e25..b63c48041c 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/CollapsibleTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/CollapsibleTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -24,9 +24,9 @@ import org.asciidoctor.ast.Document;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/DocumentHeaderTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/DocumentHeaderTest.java
similarity index 82%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/DocumentHeaderTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/DocumentHeaderTest.java
index 1a155bdb83..e9e5c2b4b0 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/DocumentHeaderTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/DocumentHeaderTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -24,9 +24,9 @@ import org.asciidoctor.ast.Document;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.attrNotice;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.block;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.attrNotice;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.block;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
 
 class DocumentHeaderTest extends AbstractAsciiDocWriterTest {
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/NestedListTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/NestedListTest.java
similarity index 85%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/NestedListTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/NestedListTest.java
index 0b225cc0f6..0942b855ea 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/NestedListTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/NestedListTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -24,9 +24,9 @@ import org.asciidoctor.ast.Document;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.list;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.listItem;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.list;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.listItem;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/OpenBlockTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/OpenBlockTest.java
similarity index 80%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/OpenBlockTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/OpenBlockTest.java
index 57d59863e2..1e2b2490c4 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/OpenBlockTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/OpenBlockTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -24,13 +24,13 @@ import org.asciidoctor.ast.Document;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.block;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.list;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.listItem;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.openBlock;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.block;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.list;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.listItem;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.openBlock;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/PlantumlTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/PlantumlTest.java
similarity index 90%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/PlantumlTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/PlantumlTest.java
index a16117360e..2444d88d79 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/PlantumlTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/PlantumlTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -25,9 +25,9 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import org.apache.causeway.commons.collections.Can;
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/SimpleListTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/SimpleListTest.java
similarity index 82%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/SimpleListTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/SimpleListTest.java
index 6c0b848ce8..3c6de26a2f 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/SimpleListTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/SimpleListTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -24,9 +24,9 @@ import org.asciidoctor.ast.Document;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.list;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.listItem;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.list;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.listItem;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/SimpleTableTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/SimpleTableTest.java
similarity index 81%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/SimpleTableTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/SimpleTableTest.java
index 2b0bd96a27..23c29afe29 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/SimpleTableTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/SimpleTableTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -24,10 +24,10 @@ import org.asciidoctor.ast.Document;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.cell;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.headCell;
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.table;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.cell;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.headCell;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.table;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/SourceTest.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/SourceTest.java
similarity index 90%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/SourceTest.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/SourceTest.java
index 4e745c5585..3ea5efb1fa 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/SourceTest.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/SourceTest.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.io.IOException;
 
@@ -24,9 +24,9 @@ import org.asciidoctor.ast.Document;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-import org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory;
+import org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory;
 
-import static org.apache.causeway.extensions.docgen.model4adoc.AsciiDocFactory.doc;
+import static org.apache.causeway.valuetypes.asciidoc.builder.AsciiDocFactory.doc;
 
 import lombok.val;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/_Debug.java b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/_Debug.java
similarity index 98%
rename from extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/_Debug.java
rename to valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/_Debug.java
index e08da8fda8..fe89c42782 100644
--- a/extensions/core/docgen/model4adoc/src/test/java/org/apache/causeway/extensions/docgen/model4adoc/test/ast/_Debug.java
+++ b/valuetypes/asciidoc/builder/src/test/java/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/_Debug.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.extensions.docgen.model4adoc.test.ast;
+package org.apache.causeway.valuetypes.asciidoc.builder.test.ast;
 
 import java.util.Optional;
 
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/admonition.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/admonition.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/admonition.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/admonition.adoc
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/callout-continuation.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/callout-continuation.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/callout-continuation.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/callout-continuation.adoc
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/collapsible.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/collapsible.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/collapsible.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/collapsible.adoc
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/document-header.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/document-header.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/document-header.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/document-header.adoc
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/list-nested.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/list-nested.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/list-nested.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/list-nested.adoc
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/list-open-block-continuation.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/list-open-block-continuation.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/list-open-block-continuation.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/list-open-block-continuation.adoc
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/list-simple.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/list-simple.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/list-simple.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/list-simple.adoc
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/plantuml-svg.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/plantuml-svg.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/plantuml-svg.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/plantuml-svg.adoc
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/source.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/source.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/source.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/source.adoc
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/table-attributed.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/table-attributed.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/table-attributed.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/table-attributed.adoc
diff --git a/extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/table-simple.adoc b/valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/table-simple.adoc
similarity index 100%
rename from extensions/core/docgen/model4adoc/src/test/resources/org/apache/causeway/extensions/docgen/model4adoc/test/ast/table-simple.adoc
rename to valuetypes/asciidoc/builder/src/test/resources/org/apache/causeway/valuetypes/asciidoc/builder/test/ast/table-simple.adoc
diff --git a/valuetypes/asciidoc/pom.xml b/valuetypes/asciidoc/pom.xml
index 68be26e50a..2d212db5bc 100644
--- a/valuetypes/asciidoc/pom.xml
+++ b/valuetypes/asciidoc/pom.xml
@@ -33,6 +33,7 @@
 
 	<modules>
 		<module>applib</module>
+		<module>builder</module>
 		<module>metamodel</module>
 		<module>persistence-jdo</module>
 		<module>persistence-jpa</module>