Developer's Diary
Software development, with Terry Ebdon
|
I started migrating the PostProd project from WebDoxy to native Doxygen. I'm creating a new Doxyfile.
but haven't tested it yet. It's slightly complicated by having the project's markdown in the 'WebDoxy Projects' Git repo. I'll leave everything in place … actually that shouldn't be a problem, I just need to use a relative path; up then down into the various common folders – should be fairly simple. I want to get the PostProd project working before I start developing Groovy + HSQLDB versions of Zoo.zccdb
and Project Tasks.accdb
, as my workflow and some technical documentation is in that project. It's effectively a combined tech spec and user guide.
I downloaded PlantUML 1.2020.0 and regenerated PostProd with WebDoxy. PlantUML diagrams still appear as place holders. A build of PostProd without WebDoxy has the same problem of missing images. This might indicate a path issue, as I've previously fixed this problem, for journal project, by dropping WebDoxy and moving to a new folder.
If I move the HTML output to a subfolder of the current project then images are generated, providing it's not more than one level down. e.g. output = HTML
works but output = HTML/PostProd
does not work.
The Doxygen / PlantUML issue is very weird. The earlier fix allows diagrams that do not use !include
to work. Doxygen copies the PlantUML code, e.g. diagram.pu, into the output folder and runs PlantUML in that folder. This causes the current path to change. But I expect that and have previously used a chain of ../..
etc. in the include commands. I had to change the relative paths to account for moving the output folder. But the includes have become unreliable.
PlantUML now supports !log
commands and has a built in functions to access the current directory and check if a file exists. I used these to confirm the current folder and file and to check that the include target exists. Everything looked good, but the !include
command can't always load the file. I fixed that by using %dirpath()/../..
. This works but should be no different to omitting the function call. Also Doxygen sometimes doesn't try to call PlantUML at all. That's due to a cache file being present.
Deleting the cache file forces Doxygen to call PlantUML. I need to check that every image is being created, adjusting paths as required. Having found a work-around, and proved that it's not a WebDoxy bug, I can consider reinstating WebDoxy for this project. There's still a problem with a SALT diagram not being generated. I'll investigate that tomorrow. I should consider filing a bug report for this.
12-FEB-2020 👈 Top of page 👉 16-FEB-2020
© 2020 Terry Ebdon.
Find me coding on GitHub, networking on LinkedIn, answering questions on Stack Exchange and hanging out on twitter.