…moval. The log message components were obviously generating a problem while formatting the string. By removing all information the output works. The information was not very helpful anyway. Also fixed the link in code documentation for DocSetOutputGenerator which was still pointing to the DoxygenConverter category.
…utGenerator. This relieves most of the output generators from the burder of repeating creation and removal of the same sets of common output directories. Only subclasses that need to create additional subdirectories, should handle their specifics.
Some of the dependent objects still used hard coded directory and file paths from CommandLineParser. These are now properly handled through OutputInfoProvider protocol properties, similar to the was documentation set was linked with it's parent documents output generator. To even more encapsulate different output generators implementations, all paths handling is now moved from the CommandLineParser to concrete generator subclasses. This makes the code more decoupled and OOP.
…or subclasses. Each concrete output generator is implemented as a subclass of OutputGenerator instead of extending DoxygenConverter by another category. This results in much cleaner class structure and responsibility division as well as much more decoupling between different output generation objects.