This repository has been archived by the owner on Jan 10, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Simon Brown
committed
Feb 16, 2023
1 parent
928e12f
commit 0e39785
Showing
1 changed file
with
63 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,65 @@ | ||
# structurizr-graphviz | ||
|
||
This library provides automatic facilities for Structurizr views. | ||
This library provides automatic facilities for Structurizr views. | ||
It's a wrapper around the [Graphviz tool](http://www.graphviz.org), | ||
which allows you to apply the Graphviz layout algorithm to the views in a Structurizr workspace. | ||
|
||
> You will need Graphviz installed. | ||
For example: | ||
|
||
```java | ||
Workspace workspace = ... | ||
|
||
GraphvizAutomaticLayout graphviz = new GraphvizAutomaticLayout(); | ||
graphviz.apply(workspace); | ||
``` | ||
|
||
The ```structurizr-graphviz``` library does the following for every view in the workspace: | ||
|
||
1. Export the view to a DOT file. | ||
2. Run Graphviz (via the ```dot``` command), with the output format set to SVG. | ||
3. Parse the generated SVG to extract layout information, and apply this to the Structurizr view (element x,y positions, relationship vertices, and paper size). | ||
|
||
Once the layout has been applied, you can upload your workspace to the Structurizr cloud service/on-premises installation as usual. | ||
|
||
## Changelog | ||
|
||
### 1.7.0 (16th February 2023) | ||
|
||
- Updated to reflect breaking changes in `structurizr-core`. | ||
|
||
### 1.6.1 (1st October 2021) | ||
|
||
- Adds support for custom elements on deployment views. | ||
|
||
### 1.6.0 (3rd September 2021) | ||
|
||
- Adds support for custom page sizes. | ||
- Adds support for custom views. | ||
- Takes layout settings from the view when specified, otherwise defaults are used. | ||
|
||
### 1.5.0 (28th March 2021) | ||
|
||
- Adds support for relationships between deployment nodes. | ||
- Adds support for element grouping. | ||
- Fixes a bug with double-quote characters in element names. | ||
|
||
### 1.4.0 (18th December 2020) | ||
|
||
- Adds support for return/response messages on dynamic views. | ||
- Adds support for software system instances on deployment views. | ||
- Fixes a bug where a view's paper size isn't set when the diagram is larger than A0. | ||
|
||
### 1.3.7 (27th June 2020) | ||
|
||
- Fixes a bug that assumed some numbers in the SVG output from Graphviz would be integers. | ||
|
||
### 1.3.6 (9th June 2020) | ||
|
||
- Fixes issues with running the Graphviz extension in non-English locales. | ||
|
||
### 1.3.5 (8th April 2020) | ||
|
||
- Initial version. | ||
|