diff --git a/include/mrdocs/Generator.hpp b/include/mrdocs/Generator.hpp index f847d4de6..aee11e4ca 100644 --- a/include/mrdocs/Generator.hpp +++ b/include/mrdocs/Generator.hpp @@ -99,8 +99,6 @@ class MRDOCS_VISIBLE @param corpus The symbols to emit. The generator may modify the contents of the object before returning. - - @param config The configuration to use. */ MRDOCS_DECL virtual @@ -109,6 +107,22 @@ class MRDOCS_VISIBLE std::string_view outputPath, Corpus const& corpus) const; + /** Build reference documentation for the corpus. + + This function invokes the generator to emit + the documentation using the corpus configuration + options to determine the output location. + + @return The error, if any occurred. + + @param corpus The symbols to emit. The + generator may modify the contents of + the object before returning. + */ + MRDOCS_DECL + Error + build(Corpus const& corpus) const; + /** Build reference documentation for the corpus. This function invokes the generator to emit diff --git a/src/lib/Support/Generator.cpp b/src/lib/Support/Generator.cpp index 9e8101225..35cf3811f 100644 --- a/src/lib/Support/Generator.cpp +++ b/src/lib/Support/Generator.cpp @@ -54,6 +54,17 @@ build( return buildOne(fileName.str(), corpus); } +Error +Generator:: +build(Corpus const& corpus) const +{ + std::string absOutput = files::normalizePath( + files::makeAbsolute( + corpus.config->output, + corpus.config->configDir)); + return build(absOutput, corpus); +} + Error Generator:: buildOne( diff --git a/src/tool/GenerateAction.cpp b/src/tool/GenerateAction.cpp index f03f7bf0c..8bbab509a 100644 --- a/src/tool/GenerateAction.cpp +++ b/src/tool/GenerateAction.cpp @@ -200,12 +200,8 @@ DoGenerateAction( // -------------------------------------------------------------- // Normalize outputPath path MRDOCS_CHECK(settings.output, "The output path argument is missing"); - std::string absOutput = files::normalizePath( - files::makeAbsolute( - settings.output, - (*config)->configDir)); report::info("Generating docs\n"); - MRDOCS_TRY(generator.build(absOutput, *corpus)); + MRDOCS_TRY(generator.build(*corpus)); // -------------------------------------------------------------- //