From 56036d151abeb3dddd48be500b91df1105839b73 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Thu, 24 Aug 2023 17:30:34 -0700 Subject: [PATCH] GH-285 - Migrate documentation to Antora. --- .github/workflows/deploy-docs.yml | 31 +++++++ .github/workflows/docs.yaml | 36 -------- .gitignore | 6 ++ pom.xml | 83 +++++------------- spring-modulith-distribution/pom.xml | 4 - .../antora/.github/workflows/deploy-docs.yml | 33 +++++++ src/docs/antora/antora-playbook.yml | 37 ++++++++ src/docs/antora/antora.yml | 17 ++++ .../images/event-publication-registry-end.png | Bin .../event-publication-registry-start.png | Bin .../ROOT/assets}/images/observability.png | Bin src/docs/antora/modules/ROOT/nav.adoc | 10 +++ .../modules/ROOT/pages/appendix.adoc} | 22 ++--- .../modules/ROOT/pages/documentation.adoc} | 8 +- .../modules/ROOT/pages/events.adoc} | 44 +++++----- .../modules/ROOT/pages/fundamentals.adoc} | 18 ++-- .../modules/ROOT/pages/index.adoc} | 19 +++- .../modules/ROOT/pages/moments.adoc} | 0 .../modules/ROOT/pages/production-ready.adoc} | 16 ++-- .../modules/ROOT/pages/runtime.adoc} | 8 +- .../modules/ROOT/pages/testing.adoc} | 14 +-- .../modules/ROOT/pages/verification.adoc} | 5 +- .../partials/spring-modulith-events-jdbc-src | 1 + .../resources/antora-resources/antora.yml | 7 ++ src/docs/asciidoc/index.adoc | 37 -------- 25 files changed, 247 insertions(+), 209 deletions(-) create mode 100644 .github/workflows/deploy-docs.yml delete mode 100644 .github/workflows/docs.yaml create mode 100644 src/docs/antora/.github/workflows/deploy-docs.yml create mode 100644 src/docs/antora/antora-playbook.yml create mode 100644 src/docs/antora/antora.yml rename src/docs/{asciidoc => antora/modules/ROOT/assets}/images/event-publication-registry-end.png (100%) rename src/docs/{asciidoc => antora/modules/ROOT/assets}/images/event-publication-registry-start.png (100%) rename src/docs/{asciidoc => antora/modules/ROOT/assets}/images/observability.png (100%) create mode 100644 src/docs/antora/modules/ROOT/nav.adoc rename src/docs/{asciidoc/90-appendix.adoc => antora/modules/ROOT/pages/appendix.adoc} (93%) rename src/docs/{asciidoc/60-documentation.adoc => antora/modules/ROOT/pages/documentation.adoc} (97%) rename src/docs/{asciidoc/30-events.adoc => antora/modules/ROOT/pages/events.adoc} (92%) rename src/docs/{asciidoc/10-fundamentals.adoc => antora/modules/ROOT/pages/fundamentals.adoc} (94%) rename src/docs/{asciidoc/00-preface.adoc => antora/modules/ROOT/pages/index.adoc} (71%) rename src/docs/{asciidoc/50-moments.adoc => antora/modules/ROOT/pages/moments.adoc} (100%) rename src/docs/{asciidoc/80-observability.adoc => antora/modules/ROOT/pages/production-ready.adoc} (86%) rename src/docs/{asciidoc/70-runtime.adoc => antora/modules/ROOT/pages/runtime.adoc} (88%) rename src/docs/{asciidoc/40-testing.adoc => antora/modules/ROOT/pages/testing.adoc} (95%) rename src/docs/{asciidoc/20-verification.adoc => antora/modules/ROOT/pages/verification.adoc} (79%) create mode 120000 src/docs/antora/modules/ROOT/partials/spring-modulith-events-jdbc-src create mode 100644 src/docs/antora/resources/antora-resources/antora.yml delete mode 100644 src/docs/asciidoc/index.adoc diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 00000000..b2d407b9 --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,31 @@ +name: Deploy Docs +on: + push: + branches-ignore: [ gh-pages ] + tags: '**' + repository_dispatch: + types: request-build-reference # legacy + #schedule: + #- cron: '0 10 * * *' # Once per day at 10am UTC + workflow_dispatch: +permissions: read-all +jobs: + build: + runs-on: ubuntu-latest + if: github.repository_owner == 'spring-projects' + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: docs-build + fetch-depth: 1 + - name: Dispatch (partial build) + if: github.ref_type == 'branch' + env: + GH_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} + run: gh workflow run deploy-docs.yml -r $(git rev-parse --abbrev-ref HEAD) -f build-refname=${{ github.ref_name }} + - name: Dispatch (full build) + if: github.ref_type == 'tag' + env: + GH_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} + run: gh workflow run deploy-docs.yml -r $(git rev-parse --abbrev-ref HEAD) diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml deleted file mode 100644 index e6b1dd4b..00000000 --- a/.github/workflows/docs.yaml +++ /dev/null @@ -1,36 +0,0 @@ -name: Publish Documentation - -on: - workflow_dispatch: - schedule: - - cron: '0 0 * * *' - - -jobs: - build: - name: Publish documentation - runs-on: ubuntu-latest - - steps: - - - name: Check out sources - uses: actions/checkout@v3 - - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: 17 - cache: 'maven' - - - name: Setup Graphviz - uses: ts-graphviz/setup-graphviz@v1 - - - name: Deploy documentation - env: - ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }} - ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }} - GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USER }} - GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }} - run: ./mvnw -B clean deploy -Pdocumentation diff --git a/.gitignore b/.gitignore index e6a40dbb..6a538e6f 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,9 @@ changelog.txt #IntelliJ Stuff .idea *.iml + +# Antora +node +node_modules +package.json +package-lock.json \ No newline at end of file diff --git a/pom.xml b/pom.xml index c0f79e42..0350ccbc 100644 --- a/pom.xml +++ b/pom.xml @@ -41,7 +41,6 @@ UTF-8 UTF-8 6.0.11 - 0.0.7 3.2.0-M2 @@ -277,76 +276,34 @@ limitations under the License. - org.asciidoctor - asciidoctor-maven-plugin - 2.2.2 - - - org.jruby - jruby - 9.3.7.0 - - - org.asciidoctor - asciidoctorj - 2.5.7 - - - org.asciidoctor - asciidoctorj-diagram - 2.2.3 - - - io.spring.asciidoctor.backends - spring-asciidoctor-backends - ${spring-asciidoctor-backends.version} - - - + io.spring.maven.antora + antora-component-version-maven-plugin + 0.0.4 - - html - generate-resources - process-asciidoc + antora-component-version - - spring-html - ../src/docs/asciidoc - index.adoc - ${generated-docs.directory}/html - - highlight.js - js/highlight - github - - - + + + io.spring.maven.antora + antora-maven-plugin + 0.0.4 + true - book - - shared - font - false - images - ${project.name} - ${project.version} - ${spring.version} - 4 - true - - - asciidoctor-diagram - + ../src/docs/antora/antora-playbook.yml + + + + + -