Skip to content
Snippets Groups Projects
Select Git revision
  • master default
1 result

puml-includes

  • Clone with SSH
  • Clone with HTTPS
  • PlantUML includes

    Utility project to test PlantUML files rendering and the "!include" directive in these files, that are used in the UML diagrams of the EMERALD project.

    !include in puml files

    The typical "!include" directive of PlantUML (that search files in folders) doesn't work in Gitlab (see Wiki Page Plantuml using !include). A workaround is to place the files in some url publicly available.

    The UML files of EMERALD typically include several common files to define common graphical elements (arrows, colors, names, etc.). For example:

    @startuml 
    
    RCM Sequence Diagram
    **!include ..\roles.wsd**
    **!include ..\color_pallette.wsd**
    
    [..]
    
    @enduml

    PlantUML blocks

    PlantUML blocks (plantuml** ... **) inside in markdown files didn't render in Tecnalia's Gitlab (self-managed version), unlike in the Gitlab server where this is configured by default. After completing the integration, PlantUML converts plantuml blocks to an HTML image tag, with the source pointing to the PlantUML instance. And the PlantUML diagram delimiters @startuml/@enduml aren’t required anymore, as these are replaced by the plantuml block.

    In markdown files (*.md):

    plantuml** Bob -> Alice : hello Alice -> Bob : hi ** For additional acceptable extensions, review the languages.yaml file.

    07/2024: This was solved installing the corresponding UML server and configuring git.code.tecnalia.dev to connect to it and finally render the plantUML text files as diagrams.

    PlantUML files

    PlantUML files (*.uml, *.puml...) not rendering in GitLab repos was a long-time known issue (https://gitlab.com/gitlab-org/gitlab/-/issues/17325). The workaround for this could be to check out the repos locally and see the figures using Visual Studio Code with a PlantUML plugin or similar tools.

    02/2025: It has been finally solved and included in the release 19.7 (see merge request 179301).Now the .pu or .puml files are rendered (when PlantUML integration is enabled) on the gitlab instance. It adds a rich view for graph files. Supported extensions are: mermaid plantuml pu puml iuml d2 dot gv noml vg vl

    (Example: https://gitlab.com/schurzi/playground/-/blob/main/plantuml_include/included_part.iuml renders the diagram)

    Hopefully, this feature will be automatically translated to Tecnalia's Gitlab when the release (actual version is v17.8.2) is updated.

    (Example: https://git.code.tecnalia.dev/emerald/public/puml-includes/-/blob/master/testDiagram.puml renders only text)

    03/2025: Updated to GitLab Community Edition v17.9.1 Now, the puml files render as diagrams!!

    Examples: https://git.code.tecnalia.dev/emerald/public/puml-includes/-/blob/master/testDiagram.puml renders only text)

    https://git.code.tecnalia.dev/emerald/public/puml-includes/-/blob/master/included_part.iuml

    https://git.code.tecnalia.dev/emerald/public/puml-includes/-/blob/master/bad_including.puml (includes a wrong !including clause, and gives an error :-())

    https://git.code.tecnalia.dev/emerald/public/puml-includes/-/blob/master/including.puml (includes a correct (https://) !including clause!)