diff options
author | Jędrzej Nowacki <jedrzej.nowacki@digia.com> | 2013-04-04 15:06:31 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-04-05 16:23:38 +0200 |
commit | d562119ff26e24914a050b8211b24d106a936018 (patch) | |
tree | 4afb9c33e074ec32260a6326728537c1e4275f12 /src/tools | |
parent | e3e42322c077b15970e15362420199a7be5ccf3d (diff) |
Add new option to qdoc.
The -redirect-documentation-to-dev-null option allows to get all qdoc
errors, without creating full documentation. It significantly reduces
amount IO operations.
Change-Id: I80fb6f9e304eb106f1c1d1e6320a1b38d788f6fc
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/qdoc/config.h | 1 | ||||
-rw-r--r-- | src/tools/qdoc/generator.cpp | 5 | ||||
-rw-r--r-- | src/tools/qdoc/generator.h | 1 | ||||
-rw-r--r-- | src/tools/qdoc/main.cpp | 7 |
4 files changed, 13 insertions, 1 deletions
diff --git a/src/tools/qdoc/config.h b/src/tools/qdoc/config.h index 521f1c12b8..e21998070a 100644 --- a/src/tools/qdoc/config.h +++ b/src/tools/qdoc/config.h @@ -198,6 +198,7 @@ private: #define CONFIG_OUTPUTFORMATS "outputformats" #define CONFIG_OUTPUTPREFIXES "outputprefixes" #define CONFIG_PROJECT "project" +#define CONFIG_REDIRECTDOCUMENTATIONTODEVNULL "redirectdocumentationtodevnull" #define CONFIG_QHP "qhp" #define CONFIG_QUOTINGINFORMATION "quotinginformation" #define CONFIG_SCRIPTDIRS "scriptdirs" diff --git a/src/tools/qdoc/generator.cpp b/src/tools/qdoc/generator.cpp index 47ebded1b1..e2ee660dd1 100644 --- a/src/tools/qdoc/generator.cpp +++ b/src/tools/qdoc/generator.cpp @@ -96,6 +96,7 @@ QStringList Generator::styleDirs; QStringList Generator::styleFiles; bool Generator::debugging_ = false; bool Generator::noLinkErrors_ = false; +bool Generator::redirectDocumentationToDevNull_ = false; Generator::Passes Generator::qdocPass_ = Both; void Generator::setDebugSegfaultFlag(bool b) @@ -267,7 +268,8 @@ void Generator::beginSubPage(const InnerNode* node, const QString& fileName) path += fileName; Generator::debugSegfault("Writing: " + path); outFileNames.insert(fileName,fileName); - QFile* outFile = new QFile(path); + + QFile* outFile = new QFile(redirectDocumentationToDevNull_ ? QStringLiteral("/dev/null") : path); if (!outFile->open(QFile::WriteOnly)) node->location().fatal(tr("Cannot open output file '%1'").arg(outFile->fileName())); QTextStream* out = new QTextStream(outFile); @@ -1472,6 +1474,7 @@ QString Generator::indent(int level, const QString& markedCode) void Generator::initialize(const Config &config) { outputFormats = config.getOutputFormats(); + redirectDocumentationToDevNull_ = config.getBool(CONFIG_REDIRECTDOCUMENTATIONTODEVNULL); if (!outputFormats.isEmpty()) { outDir_ = config.getOutputDir(); diff --git a/src/tools/qdoc/generator.h b/src/tools/qdoc/generator.h index e4bc85b2bc..ec1e49d2fb 100644 --- a/src/tools/qdoc/generator.h +++ b/src/tools/qdoc/generator.h @@ -200,6 +200,7 @@ private: static QStringList styleFiles; static bool debugging_; static bool noLinkErrors_; + static bool redirectDocumentationToDevNull_; static Passes qdocPass_; void appendFullName(Text& text, diff --git a/src/tools/qdoc/main.cpp b/src/tools/qdoc/main.cpp index 9c2dd4dcfc..a4e35c5f96 100644 --- a/src/tools/qdoc/main.cpp +++ b/src/tools/qdoc/main.cpp @@ -95,6 +95,7 @@ bool creationTimeBefore(const QFileInfo &fi1, const QFileInfo &fi2) static bool highlighting = false; static bool showInternal = false; +static bool redirectDocumentationToDevNull = false; static bool noLinkErrors = false; static bool obsoleteLinks = false; static QStringList defines; @@ -139,6 +140,8 @@ static void printHelp() "Run qdoc to read the index files and generate the docs\n" " -showinternal " "Include content marked internal\n" + " -redirect-documentation-to-dev-null " + "Save all documentation content to /dev/null. Useful if someone is interested in qdoc errors only.\n" " -version " "Display version of qdoc and exit\n") ); } @@ -257,6 +260,7 @@ static void processQdocconfFile(const QString &fileName) } config.setStringList(CONFIG_SYNTAXHIGHLIGHTING, QStringList(highlighting ? "true" : "false")); config.setStringList(CONFIG_SHOWINTERNAL, QStringList(showInternal ? "true" : "false")); + config.setStringList(CONFIG_REDIRECTDOCUMENTATIONTODEVNULL, QStringList(redirectDocumentationToDevNull ? "true" : "false")); config.setStringList(CONFIG_NOLINKERRORS, QStringList(noLinkErrors ? "true" : "false")); config.setStringList(CONFIG_OBSOLETELINKS, QStringList(obsoleteLinks ? "true" : "false")); @@ -573,6 +577,9 @@ int main(int argc, char **argv) else if (opt == "-showinternal") { showInternal = true; } + else if (opt == "-redirect-documentation-to-dev-null") { + redirectDocumentationToDevNull = true; + } else if (opt == "-no-examples") { Config::generateExamples = false; } |