diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml new file mode 100644 index 00000000..c3bd56f2 --- /dev/null +++ b/.github/workflows/documentation.yaml @@ -0,0 +1,37 @@ +name: Documentation +on: + release: + types: [released] + +permissions: + contents: read + pages: write + id-token: write + +jobs: + deploy: + runs-on: ubuntu-latest + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 17 + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + + - name: Generate Docs + run: ./gradlew --no-daemon dokkaHtmlMultiModule + + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./build/dokka/htmlMultiModule + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/build.gradle.kts b/build.gradle.kts index 95841b8a..a62c5db3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,7 @@ plugins { alias(libs.plugins.kover) alias(libs.plugins.versioning) + alias(libs.plugins.dokka) } repositories { @@ -39,3 +40,7 @@ gitVersioning.apply { } } } + +subprojects { + apply(plugin = "org.jetbrains.dokka") +} diff --git a/settings.gradle.kts b/settings.gradle.kts index d194c50f..01050880 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -20,6 +20,7 @@ dependencyResolutionManagement { val kover = "0.7.1" val gitVersioning = "6.4.2" val lsp4j = "0.21.0" + val dokka = "1.8.20" create("libs") { version("kotlin", kotlin) @@ -32,6 +33,7 @@ dependencyResolutionManagement { plugin("shadow", "com.github.johnrengelman.shadow").version(shadow) plugin("kover", "org.jetbrains.kotlinx.kover").version(kover) plugin("versioning", "me.qoomon.git-versioning").version(gitVersioning) + plugin("dokka", "org.jetbrains.dokka").version(dokka) } } }