In doing so,mscgen (https://www.mcternan.me.uk//mscgen/) was a challenge, as there is only one glibc platform or static linked variant and not suitable for Alpine on arm platforms.
To remove this limitation, I looked at mscgenjs-cli (https://github.com/mscgenjs/mscgenjs-cli) and included it.
Since it supports compatible (and more) CLI parameters, replacing the executable was enough.
To further promote platform independence, I would like to propose an official switch to or support of mscgenjs-cli.
mscgen:
Usage: mscgen -T <type> [-o <file>] [-i] <infile>
mscgen -l
Where:
-T <type> Specifies the output file type, which maybe one of 'png', 'eps',
'svg' or 'ismap'
-i <infile> The file from which to read input. If omitted or specified as
'-', input will be read from stdin. The '-i' flag maybe
omitted if <infile> is specified as the last option on the
command line.
-o <file> Write output to the named file. This option must be specified if
input is taken from stdin, otherwise the output filename
defaults to <infile>.<type>. This may also be specified as '-'
to write output directly to stdout.
-p Print parsed msc output (for parser debug).
-l Display program licence and exit.
Mscgen version 0.20, Copyright (C) 2010 Michael C McTernan,
Michael.McTernan.2001@cs.bris.ac.uk
Mscgen comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
welcome to redistribute it under certain conditions; type `mscgen -l' for
details.
PNG rendering by libgd, www.libgd.org
mscgenjs-cli:
Usage: mscgen_js [options] [infile]
Options:
-T --output-type <type> svg|png|jpeg|mscgen|msgenny|xu|json|ast|dot|doxygen
-I --input-type <type> mscgen|msgenny|xu|json|ast
-i --input-from <file> File to read from. use - for stdin.
-o --output-to <file> File to write to. use - for stdout.
-p --parser-output Print parsed msc output
-s --css <string> Additional styles to use. Experimental
-n --named-style <style> basic|lazy|classic|noentityboxes
-m --mirror-entities Repeat the entities on the chart's
bottom
-v --vertical-alignment <align> Vertical alignment of labels on regular
arcs. Experimental
above|middle|below (default: "middle")
--puppeteer-options <file> (advanced) pass puppeteer launch options
see README.md for details
-l --license Display license and exit
-V, --version output the version number
-h, --help display help for command
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,
mscgen
(https://www.mcternan.me.uk//mscgen/) was a challenge, as there is only oneglibc
platform or static linked variant and not suitable for Alpine onarm
platforms.To remove this limitation, I looked at
mscgenjs-cli
(https://github.com/mscgenjs/mscgenjs-cli) and included it. Since it supports compatible (and more) CLI parameters, replacing the executable was enough.To further promote platform independence, I would like to propose an official switch to or support of
mscgenjs-cli
.mscgen
:mscgenjs-cli
: