asciidoctor / asciidoctor-diagram

:left_right_arrow: Asciidoctor diagram extension, with support for AsciiToSVG, BlockDiag (BlockDiag, SeqDiag, ActDiag, NwDiag), Ditaa, Erd, GraphViz, Mermaid, Msc, PlantUML, Shaape, SvgBob, Syntrax, UMLet, Vega, Vega-Lite and WaveDrom.
http://asciidoctor.org
MIT License
432 stars 106 forks source link

[PROPOSED] Replace ERD (Haskell) with erd-go #402

Closed barthel closed 1 year ago

barthel commented 1 year ago

As part of https://github.com/asciidoctor/docker-asciidoctor/issues/51 I have been trying to create a multi-platform Asciidoctor Docker image.

In doing so, erd (https://github.com/BurntSushi/erd) was a challenge, as there is only one x86 platform variant.

To remove this limitation, I looked at erd-go (https://github.com/kaishuu0123/erd-go/) and included it. Since it supports the same CLI parameters, replacing the executable was enough.

To further promote platform independence, I would like to propose an official switch to or support of erd-go.

barthel commented 1 year ago

erd was introduced with #118

barthel commented 1 year ago

WDYT? @pepijnve @mojavelinux

pepijnve commented 1 year ago

That makes a whole lot of sense. Should simplify (and significantly shorten) the CI builds as well. Installing the Haskell environment eats up a lot of time just for erd. Referenced PR should make this work already.

barthel commented 1 year ago

Used and testable via Docker Image https://hub.docker.com/r/uwebarthel/asciidoctor/

Github project (Dockerfile): https://github.com/barthel/docker-asciidoctor

dduportal commented 1 year ago

Hello folks, sorry for being a party crasher bu you might want to look at https://github.com/asciidoctor/docker-asciidoctor/issues/343#issuecomment-1482429267 .

It is hard to evaluate the safety of erd-go as it has not been updated since Feb. 2021, before the Travis credentials leaks. If at least we can help the author by switching their CI to GitHub Actions and have a new release fully from GitHub, that would be a first trustable step. Eventually forking the repository to asciidoctor (if someone agrees to maintain it)?

A cleanup of the golang version and its gomod version (dependabot) would also clearly help.

@barthel Are you up to the challenge?

pepijnve commented 1 year ago

@dduportal I understand the concern. Not really an issue for the diagram extension itself since it supports both the Haskell and Go version now preferring the former over the latter.

barthel commented 1 year ago

@dduportal You are not a party chrasher. Security concerns are important and valid at any time.

The goal of using erd-go is to use a platform independend tool. As a consequence, erd-go will be compiled for each platform and no pre-compiled executables are used.

Let's discuss in https://github.com/asciidoctor/docker-asciidoctor/issues/343#issuecomment-1482429267

barthel commented 1 year ago

Challange accepted for a more than less platform independent Asciidoctor.