mirror of
https://github.com/octoleo/plantuml.git
synced 2024-11-21 20:45:10 +00:00
Merge branch 'ImproveDoc' of https://github.com/The-Lum/plantuml into ImproveDoc
This commit is contained in:
commit
b92731aecd
71
.github/workflows/ci.yml
vendored
71
.github/workflows/ci.yml
vendored
@ -26,6 +26,7 @@ jobs:
|
||||
do_release: ${{ steps.config.outputs.do_release }}
|
||||
do_snapshot_release: ${{ steps.config.outputs.do_snapshot_release }}
|
||||
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_windows: ${{ steps.config.outputs.do_test_windows }}
|
||||
steps:
|
||||
@ -53,7 +54,6 @@ jobs:
|
||||
|
||||
# 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)
|
||||
|
||||
if [[ "${GITHUB_EVENT_NAME}" == "create" && "${REF_TYPE}" == "tag" && "${REF}" == v* && \
|
||||
( "${ACTOR}" == "arnaudroques" || "${ACTOR}" == "${GITHUB_REPOSITORY_OWNER}" ) \
|
||||
]]; then
|
||||
@ -61,6 +61,8 @@ jobs:
|
||||
echo "do_release=true" >> $GITHUB_OUTPUT
|
||||
echo "pom_version=${REF#v}"
|
||||
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
|
||||
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)
|
||||
echo "pom_version=$V-SNAPSHOT"
|
||||
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
|
||||
echo "This run will NOT make a release"
|
||||
echo "do_javadoc=false" >> $GITHUB_OUTPUT
|
||||
echo "This run will NOT update the Javadoc"
|
||||
fi
|
||||
echo "do_test_linux=true" >> $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
|
||||
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:
|
||||
needs: [ workflow_config ]
|
||||
@ -217,6 +186,30 @@ jobs:
|
||||
key: "libs-${{ github.run_id }}"
|
||||
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:
|
||||
if: |
|
||||
needs.workflow_config.outputs.do_release == 'true' ||
|
||||
@ -300,7 +293,7 @@ jobs:
|
||||
gradle --debug publish
|
||||
|
||||
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'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
26
README.md
26
README.md
@ -1,4 +1,4 @@
|
||||
# PlantUML
|
||||
# 🌱 PlantUML
|
||||
|
||||
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 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/)
|
||||
[![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 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/)
|
||||
[![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]
|
||||
> [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.
|
||||
|
||||
### Supported Diagram Types
|
||||
### 🗃️ Supported Diagram Types
|
||||
|
||||
- UML Diagrams
|
||||
- 🧩 UML Diagrams
|
||||
- [Sequence diagram](http://plantuml.com/sequence-diagram)
|
||||
- [Use case diagram](http://plantuml.com/use-case-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)
|
||||
- [State diagram](http://plantuml.com/state-diagram)
|
||||
- [Timing diagram](http://plantuml.com/timing-diagram)
|
||||
- Non-UML Diagrams
|
||||
- 📈 Non-UML Diagrams
|
||||
- [JSON data](http://plantuml.com/json)
|
||||
- [YAML data](http://plantuml.com/yaml)
|
||||
- [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)
|
||||
- [IE/ER (Information Engineering/Entity Relationship)](http://plantuml.com/ie-diagram)
|
||||
|
||||
### Additional Features
|
||||
### 📣 Additional Features
|
||||
|
||||
- [Hyperlinks and tooltips](http://plantuml.com/link)
|
||||
- [Rich text (Creole) with emoticons, unicode, and icons](http://plantuml.com/creole)
|
||||
- [OpenIconic icons](http://plantuml.com/openiconic)
|
||||
- [Sprite icons](http://plantuml.com/sprite)
|
||||
|
||||
### Learn More
|
||||
### 📖 Learn More
|
||||
|
||||
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.
|
||||
|
||||
## 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.
|
||||
|
||||
## 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.
|
||||
|
||||
## Support and Community
|
||||
## 🧑🤝🧑 Support and Community
|
||||
|
||||
- [GitHub issues](https://github.com/plantuml/plantuml/issues/)
|
||||
- [Community Forum](https://forum.plantuml.net/)
|
||||
|
||||
## License
|
||||
## 📃 License
|
||||
|
||||
PlantUML is licensed under several licenses; you can choose the one that suits you best:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user