1
0
mirror of https://github.com/octoleo/plantuml.git synced 2024-06-09 19:52:25 +00:00

Merge branch 'ImproveDoc' of https://github.com/The-Lum/plantuml into ImproveDoc

This commit is contained in:
The-Lum 2023-11-15 20:07:39 +00:00
commit b92731aecd
2 changed files with 46 additions and 51 deletions

View File

@ -26,6 +26,7 @@ jobs:
do_release: ${{ steps.config.outputs.do_release }} do_release: ${{ steps.config.outputs.do_release }}
do_snapshot_release: ${{ steps.config.outputs.do_snapshot_release }} do_snapshot_release: ${{ steps.config.outputs.do_snapshot_release }}
pom_version: ${{ steps.config.outputs.pom_version }} pom_version: ${{ steps.config.outputs.pom_version }}
do_javadoc: ${{ steps.config.outputs.do_javadoc }}
do_test_linux: ${{ steps.config.outputs.do_test_linux }} do_test_linux: ${{ steps.config.outputs.do_test_linux }}
do_test_windows: ${{ steps.config.outputs.do_test_windows }} do_test_windows: ${{ steps.config.outputs.do_test_windows }}
steps: steps:
@ -53,7 +54,6 @@ jobs:
# Do a release when a git tag starting with 'v' has been created by a suitable user. # Do a release when a git tag starting with 'v' has been created by a suitable user.
# (We match against github.repository_owner as a kludge so that forked repos can release themselves when testing the workflow) # (We match against github.repository_owner as a kludge so that forked repos can release themselves when testing the workflow)
if [[ "${GITHUB_EVENT_NAME}" == "create" && "${REF_TYPE}" == "tag" && "${REF}" == v* && \ if [[ "${GITHUB_EVENT_NAME}" == "create" && "${REF_TYPE}" == "tag" && "${REF}" == v* && \
( "${ACTOR}" == "arnaudroques" || "${ACTOR}" == "${GITHUB_REPOSITORY_OWNER}" ) \ ( "${ACTOR}" == "arnaudroques" || "${ACTOR}" == "${GITHUB_REPOSITORY_OWNER}" ) \
]]; then ]]; then
@ -61,6 +61,8 @@ jobs:
echo "do_release=true" >> $GITHUB_OUTPUT echo "do_release=true" >> $GITHUB_OUTPUT
echo "pom_version=${REF#v}" echo "pom_version=${REF#v}"
echo "pom_version=${REF#v}" >> $GITHUB_OUTPUT # pom_version is the tag without the 'v' prefix echo "pom_version=${REF#v}" >> $GITHUB_OUTPUT # pom_version is the tag without the 'v' prefix
echo "do_javadoc=true" >> $GITHUB_OUTPUT
echo "This run will update the Javadoc"
elif [[ "${GITHUB_EVENT_NAME}" =~ push|workflow_dispatch && "${REF}" == "refs/heads/master" && "${ACTOR}" == "arnaudroques" ]]; then elif [[ "${GITHUB_EVENT_NAME}" =~ push|workflow_dispatch && "${REF}" == "refs/heads/master" && "${ACTOR}" == "arnaudroques" ]]; then
echo "::notice title=::This run will release a snapshot" echo "::notice title=::This run will release a snapshot"
@ -68,9 +70,13 @@ jobs:
V=$(perl -ne 'if (/return (\d{6,7});/) {$v=$1} if (/final int beta = (\d+);/) {$b=$1} END{print(substr($v, 0, 1),".", substr($v, 1, 4),"."); if ($b) {print(int(substr($v+1, 5)), "beta", $b);} else {print(int(substr($v, 5)))}}' src/net/sourceforge/plantuml/version/Version.java) V=$(perl -ne 'if (/return (\d{6,7});/) {$v=$1} if (/final int beta = (\d+);/) {$b=$1} END{print(substr($v, 0, 1),".", substr($v, 1, 4),"."); if ($b) {print(int(substr($v+1, 5)), "beta", $b);} else {print(int(substr($v, 5)))}}' src/net/sourceforge/plantuml/version/Version.java)
echo "pom_version=$V-SNAPSHOT" echo "pom_version=$V-SNAPSHOT"
echo "pom_version=$V-SNAPSHOT" >> $GITHUB_OUTPUT # pom_version is taken from Version.java echo "pom_version=$V-SNAPSHOT" >> $GITHUB_OUTPUT # pom_version is taken from Version.java
echo "do_javadoc=true" >> $GITHUB_OUTPUT
echo "This run will update the Javadoc"
else else
echo "This run will NOT make a release" echo "This run will NOT make a release"
echo "do_javadoc=false" >> $GITHUB_OUTPUT
echo "This run will NOT update the Javadoc"
fi fi
echo "do_test_linux=true" >> $GITHUB_OUTPUT echo "do_test_linux=true" >> $GITHUB_OUTPUT
echo "do_test_windows=false" >> $GITHUB_OUTPUT echo "do_test_windows=false" >> $GITHUB_OUTPUT
@ -116,43 +122,6 @@ jobs:
name: ${{ github.run_number }}-${{ matrix.os }}-java-${{ matrix.java_version }}-test-reports name: ${{ github.run_number }}-${{ matrix.os }}-java-${{ matrix.java_version }}-test-reports
path: build/reports/tests/ path: build/reports/tests/
test_windows:
needs: workflow_config
strategy:
fail-fast: false
matrix:
java_version: [ 8 ]
os: [ windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout the repository
if: needs.workflow_config.outputs.do_test_windows == 'true'
uses: actions/checkout@v4
- name: Set up java
if: needs.workflow_config.outputs.do_test_windows == 'true'
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java_version }}
distribution: temurin
cache: gradle
# Compile / Test / Package are separate steps so the reason for any failure is more obvious in GitHub UI
- name: Compile
if: needs.workflow_config.outputs.do_test_windows == 'true'
run: gradle -q compileJava --no-daemon
- name: Test
if: needs.workflow_config.outputs.do_test_windows == 'true'
run: gradle test --no-daemon -i
- name: Upload test reports
uses: actions/upload-artifact@v3
if: needs.workflow_config.outputs.do_test_windows == 'true'
with:
# Using github.run_number here to reduce confusion when downloading & comparing from several builds
name: ${{ github.run_number }}-${{ matrix.os }}-java-${{ matrix.java_version }}-test-reports
path: build/reports/tests/
build_artifacts: build_artifacts:
needs: [ workflow_config ] needs: [ workflow_config ]
@ -217,6 +186,30 @@ jobs:
key: "libs-${{ github.run_id }}" key: "libs-${{ github.run_id }}"
enableCrossOsArchive: true enableCrossOsArchive: true
deploy_javadoc:
needs: [ build_artifacts, test_linux ]
if: needs.workflow_config.outputs.do_javadoc == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: Set up java
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin
- name: Build Javadoc
run: gradle javadoc
- name: Deploy Javadoc to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./build/docs/javadoc
upload: upload:
if: | if: |
needs.workflow_config.outputs.do_release == 'true' || needs.workflow_config.outputs.do_release == 'true' ||
@ -300,7 +293,7 @@ jobs:
gradle --debug publish gradle --debug publish
push_to_docker_registry: push_to_docker_registry:
needs: [ workflow_config, upload, test_linux, test_windows ] needs: [ workflow_config, upload, test_linux ]
if: needs.workflow_config.outputs.do_release == 'true' if: needs.workflow_config.outputs.do_release == 'true'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

View File

@ -1,4 +1,4 @@
# PlantUML # 🌱 PlantUML
Generate UML diagrams from textual descriptions. Generate UML diagrams from textual descriptions.
@ -17,22 +17,24 @@ Generate UML diagrams from textual descriptions.
[![Release (latest by date)](https://img.shields.io/github/v/release/plantuml/plantuml)](https://github.com/plantuml/plantuml/releases/latest) [![Release (latest by date)](https://img.shields.io/github/v/release/plantuml/plantuml)](https://github.com/plantuml/plantuml/releases/latest)
[![Release Date](https://img.shields.io/github/release-date/plantuml/plantuml?color=blue)](https://github.com/plantuml/plantuml/releases/latest) [![Release Date](https://img.shields.io/github/release-date/plantuml/plantuml?color=blue)](https://github.com/plantuml/plantuml/releases/latest)
[![GitHub commits since latest release (by date)](https://img.shields.io/github/commits-since/plantuml/plantuml/latest)](https://github.com/plantuml/plantuml/commits/) [![GitHub commits since latest release (by date)](https://img.shields.io/github/commits-since/plantuml/plantuml/latest)](https://github.com/plantuml/plantuml/commits/)
[![javadoc](https://javadoc.io/badge2/net.sourceforge.plantuml/plantuml-gplv2/javadoc.svg)](https://javadoc.io/doc/net.sourceforge.plantuml/plantuml-gplv2)
[![Pre-release (latest by date)](https://img.shields.io/github/v/release/plantuml/plantuml?color=chocolate&include_prereleases)](https://github.com/plantuml/plantuml/releases/tag/snapshot) [![Pre-release (latest by date)](https://img.shields.io/github/v/release/plantuml/plantuml?color=chocolate&include_prereleases)](https://github.com/plantuml/plantuml/releases/tag/snapshot)
[![Pre-release Date](https://img.shields.io/github/release-date-pre/plantuml/plantuml?color=chocolate)](https://github.com/plantuml/plantuml/releases/tag/snapshot) [![Pre-release Date](https://img.shields.io/github/release-date-pre/plantuml/plantuml?color=chocolate)](https://github.com/plantuml/plantuml/releases/tag/snapshot)
[![GitHub last commit](https://img.shields.io/github/last-commit/plantuml/plantuml?color=chocolate)](https://github.com/plantuml/plantuml/commits/) [![GitHub last commit](https://img.shields.io/github/last-commit/plantuml/plantuml?color=chocolate)](https://github.com/plantuml/plantuml/commits/)
[![CI](https://github.com/plantuml/plantuml/actions/workflows/ci.yml/badge.svg?color=chocolate)](https://github.com/plantuml/plantuml/actions/workflows/ci.yml) [![CI](https://github.com/plantuml/plantuml/actions/workflows/ci.yml/badge.svg?color=chocolate)](https://github.com/plantuml/plantuml/actions/workflows/ci.yml)
[![snapshot javadoc](https://img.shields.io/badge/javadoc-snapshot-chocolate.svg?logo=github)](https://plantuml.github.io/plantuml/)
> [!IMPORTANT] > [!IMPORTANT]
> [PlantUML is **not** affected by the log4j vulnerability.](https://github.com/plantuml/plantuml/issues/826) > [PlantUML is **not** affected by the log4j vulnerability.](https://github.com/plantuml/plantuml/issues/826)
## About ## About
PlantUML is a component that allows you to create various UML diagrams through simple textual descriptions. From sequence diagrams to deployment diagrams and beyond, PlantUML provides an easy way to create visual representations of complex systems. PlantUML is a component that allows you to create various UML diagrams through simple textual descriptions. From sequence diagrams to deployment diagrams and beyond, PlantUML provides an easy way to create visual representations of complex systems.
### Supported Diagram Types ### 🗃️ Supported Diagram Types
- UML Diagrams - 🧩 UML Diagrams
- [Sequence diagram](http://plantuml.com/sequence-diagram) - [Sequence diagram](http://plantuml.com/sequence-diagram)
- [Use case diagram](http://plantuml.com/use-case-diagram) - [Use case diagram](http://plantuml.com/use-case-diagram)
- [Class diagram](http://plantuml.com/class-diagram) - [Class diagram](http://plantuml.com/class-diagram)
@ -43,7 +45,7 @@ PlantUML is a component that allows you to create various UML diagrams through s
- [Deployment diagram](http://plantuml.com/deployment-diagram) - [Deployment diagram](http://plantuml.com/deployment-diagram)
- [State diagram](http://plantuml.com/state-diagram) - [State diagram](http://plantuml.com/state-diagram)
- [Timing diagram](http://plantuml.com/timing-diagram) - [Timing diagram](http://plantuml.com/timing-diagram)
- Non-UML Diagrams - 📈 Non-UML Diagrams
- [JSON data](http://plantuml.com/json) - [JSON data](http://plantuml.com/json)
- [YAML data](http://plantuml.com/yaml) - [YAML data](http://plantuml.com/yaml)
- [EBNF (Extended Backus-Naur Form)](http://plantuml.com/ebnf) - [EBNF (Extended Backus-Naur Form)](http://plantuml.com/ebnf)
@ -59,35 +61,35 @@ PlantUML is a component that allows you to create various UML diagrams through s
- [Mathematical Notations (AsciiMath, JLaTeXMath)](http://plantuml.com/ascii-math) - [Mathematical Notations (AsciiMath, JLaTeXMath)](http://plantuml.com/ascii-math)
- [IE/ER (Information Engineering/Entity Relationship)](http://plantuml.com/ie-diagram) - [IE/ER (Information Engineering/Entity Relationship)](http://plantuml.com/ie-diagram)
### Additional Features ### 📣 Additional Features
- [Hyperlinks and tooltips](http://plantuml.com/link) - [Hyperlinks and tooltips](http://plantuml.com/link)
- [Rich text (Creole) with emoticons, unicode, and icons](http://plantuml.com/creole) - [Rich text (Creole) with emoticons, unicode, and icons](http://plantuml.com/creole)
- [OpenIconic icons](http://plantuml.com/openiconic) - [OpenIconic icons](http://plantuml.com/openiconic)
- [Sprite icons](http://plantuml.com/sprite) - [Sprite icons](http://plantuml.com/sprite)
### Learn More ### 📖 Learn More
For a more detailed overview, visit [PlantUML Official Website](https://plantuml.com/). For a more detailed overview, visit [PlantUML Official Website](https://plantuml.com/).
## Getting Started ## 🚀 Getting Started
Whether you're looking to use PlantUML as a standalone application or as a component in your own project, getting started is simple. Check out the official [PlantUML setup guide](https://plantuml.com/starting) for instructions on how to set up PlantUML on your system. Whether you're looking to use PlantUML as a standalone application or as a component in your own project, getting started is simple. Check out the official [PlantUML setup guide](https://plantuml.com/starting) for instructions on how to set up PlantUML on your system.
## Building from Source ## ⚙️ Building from Source
To build PlantUML from source, you'll need to have certain prerequisites installed and follow a series of steps outlined in our build guide. Find detailed instructions in our [BUILDING.md](https://github.com/plantuml/plantuml/blob/master/BUILDING.md) file. To build PlantUML from source, you'll need to have certain prerequisites installed and follow a series of steps outlined in our build guide. Find detailed instructions in our [BUILDING.md](https://github.com/plantuml/plantuml/blob/master/BUILDING.md) file.
## Contributing ## 🧱 Contributing
PlantUML is an open-source project, and we welcome contributions of all kinds. Whether you're helping us fix bugs, improve the docs, or spread the word, we appreciate your support. See our [contributing guide](CONTRIBUTING.md) for more information on how to get started. PlantUML is an open-source project, and we welcome contributions of all kinds. Whether you're helping us fix bugs, improve the docs, or spread the word, we appreciate your support. See our [contributing guide](CONTRIBUTING.md) for more information on how to get started.
## Support and Community ## 🧑‍🤝‍🧑 Support and Community
- [GitHub issues](https://github.com/plantuml/plantuml/issues/) - [GitHub issues](https://github.com/plantuml/plantuml/issues/)
- [Community Forum](https://forum.plantuml.net/) - [Community Forum](https://forum.plantuml.net/)
## License ## 📃 License
PlantUML is licensed under several licenses; you can choose the one that suits you best: PlantUML is licensed under several licenses; you can choose the one that suits you best: