diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 000000000..4314dc23c --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,67 @@ +# Copyright 2023 Google LLC +# +# Licensed 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. + +# A workflow that updates the gh-pages branch whenever a new release is made +name: Update documentation + +on: + push: + branches: [ main ] + repository_dispatch: + types: [gh-pages] + workflow_dispatch: + +jobs: + gh-page-sync: + runs-on: ubuntu-latest + + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - name: Checkout Repo + uses: actions/checkout@v2 + + - name: Gradle Wrapper Validation + uses: gradle/wrapper-validation-action@v1.0.4 + + - name: Set up JDK 17 + uses: actions/setup-java@v2.3.1 + with: + java-version: '17' + distribution: 'temurin' + + # Run dokka and create tar + - name: Generate documentation + run: | + ./gradlew dokkaHtml + + echo "Creating tar for generated docs" + cd $GITHUB_WORKSPACE/build/dokka/html && tar cvf ~/android-maps-utils-docs.tar . + + echo "Unpacking tar into gh-pages branch" + git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/* + cd $GITHUB_WORKSPACE && git checkout gh-pages && tar xvf ~/android-maps-utils-docs.tar + + # Commit changes and create a PR + - name: PR Changes + uses: peter-evans/create-pull-request@v3 + with: + token: ${{ secrets.SYNCED_GITHUB_TOKEN_REPO }} + commit-message: 'docs: Update docs' + author: googlemaps-bot + committer: googlemaps-bot + labels: docs + title: 'docs: Update docs' + body: | + Updated GitHub pages with latest from `./gradlew dokkaHtml`. + branch: googlemaps-bot/update_gh_pages diff --git a/build.gradle b/build.gradle index d138c86b3..296368fb5 100644 --- a/build.gradle +++ b/build.gradle @@ -28,9 +28,11 @@ buildscript { classpath 'com.mxalbert.gradle:jacoco-android:0.2.1' classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.9.0" } } + allprojects { repositories { google() @@ -104,9 +106,9 @@ subprojects { project -> } tasks.register('javadocJar', Jar) { - dependsOn javadoc + dependsOn dokkaHtml archiveClassifier = 'javadoc' - from javadoc.destinationDir + from dokkaHtml.outputDirectory } publishing { diff --git a/library/build.gradle b/library/build.gradle index 18b4ce196..2ffc1ad81 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -15,6 +15,7 @@ */ plugins { id 'kotlin-android' + id 'org.jetbrains.dokka' } android {