GitHub Action
Deploy - Publish Javadoc
(Tested on Java 8, 11, 17, 19, Maven, Gradle, Ubuntu, Macos, Windows)
Automatically generate Javadoc from your Java project and publish it to GitHub Page.
- Your project need to use Maven or Gradle.
The workflow, usually declared in .github/workflows/publish-javadoc.yml
, looks like:
.github/workflows/publish-javadoc-maven.yml
name: Deploy Javadoc
on:
push:
branches:
- master
- main
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Deploy JavaDoc π
uses: MathieuSoysal/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
javadoc-branch: javadoc
java-version: 17
target-folder: javadoc # url will be https://<username>.github.io/<repo>/javadoc
project: maven # or gradle
# subdirectories: moduleA moduleB #for subdirectories support, needs to be run with custom command
The workflow, usually declared in .github/workflows/publish-javadoc.yml
, looks like:
.github/workflows/publish-javadoc-gradle.yml
name: Deploy Javadoc
on:
push:
branches:
- master
- main
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Deploy JavaDoc π
uses: MathieuSoysal/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
javadoc-branch: javadoc
java-version: 17
target-folder: javadoc
project: gradle
If you want to use a custom command for generating Javadoc, you can use the custom-command
input. This input is a string that will be executed in the root of your project. For example, if you want to use the javadoc
command, you can use the following workflow:
.github/workflows/publish-javadoc-custom-command.yml
name: Deploy Javadoc
on:
push:
branches:
- master
- main
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Deploy JavaDoc π
uses: MathieuSoysal/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
javadoc-branch: javadoc
java-version: 17
target-folder: javadoc
project: gradle
custom-command: javadoc -d javadoc -sourcepath src/main/java -subpackages .
Don't forget to configure your repository settings with your new GitHub Page. π
[![Javadoc](https://img.shields.io/badge/JavaDoc-Online-green)](https://YOUR-USERNAME.github.io/YOUR-REPO/javadoc/)
In the badge link, replace YOUR-USERNAME with your GitHub Username and replace YOUR-REPO with the name of your GitHub repository.
Want to contribute to Javadoc Publisher? Awesome! Check out the contributing guidelines to get involved.
- Install nektos/act & clone the repo
git clone [email protected]:MathieuSoysal/Javadoc-publisher.yml.git
OR - Use the devcontainer of the repo: with GitHub Codespaces
act workflow_dispatch -W .github/workflows/test-action-local.yml -P ubuntu-latest=quay.io/jamezp/act-maven
If you like or use this project, please don't forget to give it a star βοΈ. Thanks!
The Dockerfile and associated scripts and documentation in this project are released under the Apache 2.0 License.