Update all sources to newer versions
Potherca opened this issue · 9 comments
I've been looking into the various sources used in this repo and there seems to be updates possible.
This is an overview of what needs to be done:
Source (Repo) | Current | Available | MR | Info |
---|---|---|---|---|
aws milo-minderbinder/AWS-PlantUML |
18.2.22 | Up To Date | - | |
awslib awslabs/aws-icons-for-plantuml |
7.0.0 | Up To Date | Merged | |
Azure RicardoNiepel/Azure-PlantUML |
2.1.0 | Up To Date | - | |
C4 RicardoNiepel/C4-PlantUML |
1.0.0 | No info | TODO | Version information requested (plantuml-stdlib/C4-PlantUML#26) |
cloudinsight rabelenda/cicon-plantuml-sprites |
1.0.0 | Up To Date | Merged | |
cloudogu cloudogu/plantuml-cloudogu-sprites |
1.0.2 | Up To Date | Merged | |
Elastic Crashedmind/PlantUML-Elastic-icons |
0.0.1 | Up To date | - | |
logos rabelenda/gilbarbara-plantuml-sprites |
1.0.0 | Up To Date | Merged | |
kubernetes michiel/plantuml-kubernetes-sprites |
5.3.45 | Up To Date | Merged | |
MaterialDesign Templarian/MaterialDesign |
0.0.1 | 4.0.96 | TODO | |
office Roemer/plantuml-office |
1.0.0 | Up To Date | Merged | |
osa Crashedmind/PlantUML-opensecurityarchitecture-icons |
0.0.1 | Up To Date | - | |
tupadr3 tupadr3/plantuml-icon-font-sprites |
2.2.0 | Up To Date | Merged |
MRs:
Well, it will help if you create a PR about this :-)
I'm hoping to check all libraries for updates and open MRs where needed this coming weekend.
I've opened the following merge-requests:
#11 to update the Cloudinsight version number Merged
#12 to update the Cloudogu sourceMerged
#13 to update the tupadr3 source. Superseded by #30 which has been merged
#14 to update the Office version numberMerged
I've made a first stab at automating the update of libs as well:
https://gist.github.com/Potherca/d52275853c3fb46e8244616676790b80
I might follow up on that later...
Not that I know of. As usual, once you know how, it isn't all that hard.
The steps to add an icon library are:
- Generate PlantUML sprite files
- Put all of the sprites in a repo
- Open an MR here to get the sprite repo included into stdLib
- Including an
INFO
file
- Including an
1. Generate PlantUML sprite files
Generating.puml
files from a bunch of SVGs can be done using plantuml.jar -encodesprite
1
It is quite common for icon-sets to either exist out of SVGs or be generated from SVGs, so source SVGs are often already available.
Figuring out which settings to use with encodesprite
can take some trial-and-error.2
I remember looking into https://github.com/tupadr3/font-icon-generator but I can really remember how things work, so for now YMMV.
2. Put all of the sprites in a repo
Once you have a bunch of generated .puml
files, it is a good idea to create a common/main file that includes all the sprites, to save users the hassle of having to load each sprite individually.3
Adding a README explaining things a bit is also a good move.
3. Open an MR here to get the sprite repo included into stdLib
To add an icon library to this project (i.e.e the PlantUML stdLib), open a merge request with:4
- A folder containing all of your PlantUML sprite files
- An entry to README file
- An
INFO
file
Including an INFO
file
The INFO
file should contain the version (i.e. the git tag or github release) of the icon-set you are adding and the source repo.
For instance:
VERSION=1.2.0
SOURCE=https://github.com/path-to/project
If the source repo tags newer versions when things change, updating things here can be automated.5
In the long run, it could even be possible to add/update icon-sets here without an intermediary repo, but for now, this is how it is done.
Footnotes
-
To quote the manual entry on sprites:
To encode sprite, you can use the command line like:
java -jar plantuml.jar -encodesprite 16z foo.png
wherefoo.png
is the image file you want to use (it will be converted to gray automatically). After-encodesprite
, you have to specify a format:4
,8
,16
,4z
,8z
or16z
. The number indicates the gray level and the optionalz
is used to enable compression in sprite definition. -
This blog post by Hubert Klein Ikkink might be of some help
-
Look at existing sprite sets for inspiration
-
A good example of this is #18
-
That is in fact what I have been doing for all MRs opened for this ticket
The only two items remaining are RicardoNiepel/C4-PlantUML
which seems to be dead in the water and Templarian/MaterialDesign
which has moved to https://github.com/Templarian/MaterialDesign-SVG.
As both of these will require separate attention, I am closing this issue.
Any follow-ups can be separate tickets/MRs.
RicardoNiepel/C4-PlantUML
has been revived and a v2.0.0
has been tagged!