simonjwright / coldframe

ColdFrame generates Ada framework code and documentation from UML models.
https://simonjwright.github.io/coldframe
GNU General Public License v2.0
8 stars 1 forks source link

HTML Document Generation Fails #11

Closed AlexProudfoot closed 3 years ago

AlexProudfoot commented 3 years ago

The images are generated without incident but generation of the html file fails.

alex@mint-vm$ make Air_Traffic_Controller.html
generating diagrams for Air_Traffic_Controller.html ...
cd Air_Traffic_Controller.images/
${DOT:-dot} -Tpng -oAir_Traffic_Controller.overall.png -Tcmapx -oAir_Traffic_Controller.overall.cmapx Air_Traffic_Controller.overall.dot
${CIRCO:-circo} -Tpng -oAir_Traffic_Controller.Air_Traffic_Controller.class.png -Tcmapx -oAir_Traffic_Controller.Air_Traffic_Controller.class.cmapx Air_Traffic_Controller.Air_Traffic_Controller.class.dot
${CIRCO:-circo} -Tpng -oAir_Traffic_Controller.Control_Zone.class.png -Tcmapx -oAir_Traffic_Controller.Control_Zone.class.cmapx Air_Traffic_Controller.Control_Zone.class.dot
${CIRCO:-circo} -Tpng -oAir_Traffic_Controller.Duty_Station.class.png -Tcmapx -oAir_Traffic_Controller.Duty_Station.class.cmapx Air_Traffic_Controller.Duty_Station.class.dot
${CIRCO:-circo} -Tpng -oAir_Traffic_Controller.Off_Duty_Controller.class.png -Tcmapx -oAir_Traffic_Controller.Off_Duty_Controller.class.cmapx Air_Traffic_Controller.Off_Duty_Controller.class.dot
${CIRCO:-circo} -Tpng -oAir_Traffic_Controller.On_Duty_Controller.class.png -Tcmapx -oAir_Traffic_Controller.On_Duty_Controller.class.cmapx Air_Traffic_Controller.On_Duty_Controller.class.dot
${CIRCO:-circo} -Tpng -oAir_Traffic_Controller.Shift_Specification.class.png -Tcmapx -oAir_Traffic_Controller.Shift_Specification.class.cmapx Air_Traffic_Controller.Shift_Specification.class.dot
generating Air_Traffic_Controller.html ...
Bad param=value pair on command line
SAXON 6.5.5 from Michael Kay
Usage:  java com.icl.saxon.StyleSheet [options] source-doc style-doc {param=value}...
Options: 
  -a              Use xml-stylesheet PI, not style-doc argument 
  -ds             Use standard tree data structure 
  -dt             Use tinytree data structure (default)
  -o filename     Send output to named file or directory 
  -m classname    Use specified Emitter class for xsl:message output 
  -r classname    Use specified URIResolver class 
  -t              Display version and timing information 
  -T              Set standard TraceListener
  -TL classname   Set a specific TraceListener
  -u              Names are URLs not filenames 
  -w0             Recover silently from recoverable errors 
  -w1             Report recoverable errors and continue (default)
  -w2             Treat recoverable errors as fatal
  -x classname    Use specified SAX parser for source file 
  -y classname    Use specified SAX parser for stylesheet 
  -?              Display this message 
/home/alex/coldframe/Makefile.inc:223: recipe for target 'Air_Traffic_Controller.html' failed
make: *** [Air_Traffic_Controller.html] Error 1
AlexProudfoot commented 3 years ago

I take it my model has an error somewhere. However, the error message (Bad param=value pair on command line) doesn't state what the problematic command line is so I have no way of knowing how to correct the problem other than examining the entire model.

AlexProudfoot commented 3 years ago

OK. Changing the name of the enclosing directory from "Air Traffic Control" to "Temp" removes the problem. I take it that spaces in paths cause problems.

simonjwright commented 3 years ago

The Unix base of a lot of the tooling (particularly make) means that problems like this may well crop up again. This one is fixable. However, while investigating it I said

$ echo $PWD
/Users/simon/coldframe/issues/Air Traffic Control
$ export COLDFRAME=$PWD/../..
$ make Air_Traffic_Control.gen
Makefile:2: /Users/simon/coldframe/issues/Air: No such file or directory
Makefile:2: /Users/simon/coldframe/issues/Air: No such file or directory
Makefile:2: Traffic: No such file or directory
Makefile:2: Control/Traffic: No such file or directory
Makefile:2: /Users/simon/coldframe/issues/Makefile.inc: No such file or directory
make: *** No rule to make target `/Users/simon/coldframe/issues/Makefile.inc'.  Stop.

I don’t see any way of fixing that series of failures!