Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joshuajeschek/javatopuml
Extracts PlantUML from Java Code
https://github.com/joshuajeschek/javatopuml
java npmjs plantuml uml uml-class-diagram
Last synced: 23 days ago
JSON representation
Extracts PlantUML from Java Code
- Host: GitHub
- URL: https://github.com/joshuajeschek/javatopuml
- Owner: joshuajeschek
- License: mit
- Created: 2022-01-22T15:18:37.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-02-01T09:31:59.000Z (almost 3 years ago)
- Last Synced: 2024-12-06T00:32:37.698Z (about 1 month ago)
- Topics: java, npmjs, plantuml, uml, uml-class-diagram
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/javatopuml
- Size: 83 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# javatopuml
Tool to create [PlantUML](https://plantuml.com/) Class-Diagrams from Java Code.
## Usage
1. Install globally
* npm:
```console
npm install javatopuml --global
```
* yarn:
```console
yarn global add javatopuml
```2. Invoke in any Java Project
```console
javatopuml
```
or with options:
```console
javatopuml [--path=INPUT_PATH; default: .] \
[--output=OUTPUT_PATH; default: ./target/puml] \
[--format=OUTPUT_FORMAT; default: puml] \
[--linkbyfields={true | false}; default: true] \
[--inheritance={true | false}; default: true]
```
⇒ The results will be saved in `target/plantuml````console
Positionals:
packages [array]Options:
--help Show help [boolean]
--version Show version number [boolean]
--path The path of the java project
[string] [default: current directory]
--output [string] [default: "./target/puml"]
--format [string] [default: "puml"]
--linkbyfields [boolean] [default: true]
--inheritance [boolean] [default: true]Examples:
javatopuml Generates a class diagram of the project
the command is invoked in
javatopuml my.super.nice.package Generates a class diagram of the package,
if it can be found in the current project
javatopuml --format=txt Outputs to .txt instead of
.puml
javatopuml --output=classdiagrams Outputs to
./classdiagrams/.puml instead
of ./target/plantuml/.puml
```### Options
| option | default | |
| ------------ | ----------------- | --------------------------------------------------------------------------------------------------------- |
| packages | | Fully Qualified Names of the packages that should be rendered. If ommited, full project will be rendered. |
| path | current directory | The input path, where the Java project is to be found. |
| ouput | ./target/puml | The output path of the diagram files. |
| format | puml | The output format of the diagram files. Will always be textbased. |
| linkbyfields | true | Wether the tool should generate links between classes based on the fields types. |
| inheritance | true | Wether the tool should generate links based on inheritance (extends & implements) |## ⚠️ known limitations
* the code has only been tested with valid java code, and not extensively
* records do not work yet.