summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/config.h
Commit message (Collapse)AuthorAgeFilesLines
* qdoc: Generate QA pagesMartin Smith2014-10-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | qdoc has a new command line option, -write-qa-pages. Using this flag on the command line will tell qdoc to generate a QA html page in each module's output directory. The QA page contains information that is useful for Quality Assurance checking of the module's docs. The QA file name begins with "aaa" so it will always be listed at the top of the output directory. The file name for the QA file for QtCore, for example, is aaa-qtcore-qa-page.html. Currently, the QA page only contains a report listing the intermodule link count for each module that is the target of links from the documented module. The link report can be used to optimize the search order qdoc uses when resolving inter-module links. By default, the search order is the same as the ordering of the modules in the depends list in the .qdocconf file. Using the report, the user can reorder that list according to the number of links found in each module. i.e. in descending order of link count. The modules are listed in descending order of link count. Additionally, an actual depends variable is printed. It can be cut and pasted into the module's qdocconf file. Change-Id: I442596aeb54dcdd5db4a0821096a5273c15627e6 Task-number: QTBUG-41850 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: qdoc was too slowMartin Smith2014-10-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hard-coded search order is now removed. The search order is now constructed from the depends variable in the qdocconf file. The basic idea is that qdoc is run once. It gets a list of all the qdocconf files for the modules in Qt5. First, qdoc runs in -prepare mode for each qdocconf file in the list. It generates the index file for each module, but these index files are never used. At the end of the -prepare phase for each module, qdoc keeps the tree structure for the module in a collection of trees. Second, qdoc runs in -generate mode for each qdocconf file in the list. But now it uses the existing tree for that module, so it doesn't have to read the sources files again, and it doesn't have to read any index files. Now it generates the docs for each module. The runtime for qdoc has been reduced by 90% when running qdoc for all of Qt5 on a not so new iMac. Before this update, qdoc took about 10 minutes to generate docs for Qt5. Now it takes a little over 1 minute. The new way to run qdoc is described in the Qt bug report referenced here. Note that running qdoc this new (old) way also generates fewer qdoc errors than when running qdoc the old way. This indicates that the index files qdoc uses when running the old way are incomplete. Note also that the old way of running qdoc is not affected by this update. The old way is still required for running qdoc in the current qmake/make system. That process must be changed to be able to use the faster qdoc. The details are provided in the Qt bug report. Change-Id: Ibec41d6fbaa9fc8cd070a05d04357bd02c4478f0 Task-number: QTBUG-41705 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* Remove QT_STATIC_CONSTThiago Macieira2014-07-071-1/+1
| | | | | | | | | | | This macro is no longer used. It was introduced probably by mistake, due to MSVC not following the strict string requirement of the C and C++ standards by default (you can assign a string literal to a non-const char*). Change-Id: I4b221dd435191b0eea689dbed35915cf3206648b Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* qdoc: Simplify config code for reading file pathsTopi Reinio2014-05-021-3/+1
| | | | | | | | | | | | | | | | | | | | This change greatly simplifies the code used for reading paths from config files: near-identical functions Config::getCanonicalPathList() and Config::getPathList() are combined into one, and the use of Config::getCleanPathList() is replaced with the above. Effectively, all paths read from the config files are now converted into canonical ones. It also adds support for absolute paths in config files. Task-number: QTBUG-36193 Change-Id: I2dc1ee6a67a400e056404ec1c09c6e81f643aa77 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* qdoc: Teach qdoc to use multiple trees (part 2)Martin Smith2014-03-311-0/+4
| | | | | | | | | | | | | | | | | | | qdoc now knows how to search the forrest of node trees in an optimal order. But there remain some problems with specific searches that cross module boundaries. These include group membership and C++ and QML module membership, as well ass C++ base class resolution. Part 3 will be concerned with fixing these remaining bugs. With this update, qdoc now takes less time to generate the docs for Qt 5. Testing indicates that qdoc run time has dropped from about 14 minutes to about 7.5 minutes on an iMac. Task-number: QTBUG-35377 Change-Id: I6bded6ef54124b4f6e5914cad4548f0b600209b0 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Improve qdoc performance.Jędrzej Nowacki2013-09-211-70/+144
| | | | | | | | | | | Valgrind blamed CppCodeMarker::addMarkUp as slow, the patch improves situation by ~12% Use of QStringLiterals instead of const char* reduce amount of allocations on startup. Change-Id: I8737e02785506bba7e23868ab3952eab09d543d2 Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Fix the qdoc \include commandMartin Smith2013-08-221-0/+2
| | | | | | | | | | | | | | | | qdoc's \include command now works as expected. This command is only for including a file that contains qdoc comments that contain qdoc commands to be processed by qdoc. The file to be included should have the .qdocinc suffix, although qdoc will accept any suffix now. The file must be in one of the directories specified by the sourcedirs variable in the qdocconf file. Task-number: QTBUG-33046 Change-Id: I45ea08932b4218aae369469968117fb5132f764b Reviewed-by: Alex Blasche <alexander.blasche@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Fixed QDoc's navigation mechanism.Jerome Pasion2013-06-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | The HTML pages need to display minimal navigation such as a link to the module landing page or Qt 5's index.html. -new variables available in qdocconf files: navigation.landingpage navigation.homepage navigation.cppclassespage navigation.qmltypespage buildversion The navigation variables are for the new navigation bar. The buildversion variable is to insert documentation build information into the pages. Note about compatibility with Qt Creator docs: The HTML template files for Qt Creator is retained to keep Qt Creator compatible with 5.0.x and 5.1.x. Change-Id: Ibb4d7cada19644204457d822b6b77b2aa7b70f8d Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Merge branch 'stable' into devSergio Ahumada2013-05-071-19/+22
|\ | | | | | | Change-Id: Ica003a10ede86914bbbb062a2dc277a2ce39a259
| * qdoc: Config class uses current path for each path varMartin Smith2013-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | The Config class is further modified to make use of the current directory information it stores with each configuration variable. Task-number: QTBUG-30725 Change-Id: I34c845e6c05d7868266324f1d54e56f94d709f95 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * qdoc: Config class keeps track of current pathMartin Smith2013-04-301-18/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Config class is modified to build a single multimap containing a record for each variable found in each .qdocconf file. Each reacord contains not only the name and value of the variable, but also its location in the qdocconf file it was read from and the path to that file. This single multimap replaces 3 maps in the Config class. Task-number: QTBUG-30725 Change-Id: I049a69790f943b24c014a24b55b2b39725a1b56f Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Add new option to qdoc.Jędrzej Nowacki2013-04-051-0/+1
|/ | | | | | | | | | 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>
* Doc: Support for meta-content in manifest XML filesTopi Reinio2013-02-151-0/+1
| | | | | | | | | | | | | | | | | | This change makes qdoc support additional attributes and tags written to example/demo manifest files. The goal is to enable highlighting of selected items, as well as having additional content to make searching for specific categories work better in Qt Creator welcome screen. This meta-content is stored in manifest-meta.qdocconf, which is loaded globally for all modules. Tag handling is also changed to use a QSet to eliminate possible duplicate tags. Task-number: QTBUG-29354 Change-Id: I2c4b2dff6229172efbecc2bfc1c269017edc4d56 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Fix translation contexts.Friedemann Kleint2013-02-071-0/+2
| | | | | | | | | | | Put all translations into the namespace QDoc and fix warnings about invalid tr()-usage by removing the free tr()-function from tr.h. Provide QCoreApplication::translate() for bootstrap builds. Change-Id: I2b6931188346f290e80e14b84adff8892d8a860f Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Allow qdocconf to specify where the examples are located in install.Eike Ziller2012-11-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | We have qdoc configurations for the different qtbase libraries and modules now, which specify e.g. "../../../examples/opengl" for the exampledirs. That means that qdoc finds examples like "2dpainting/2dpainting.pro" which is then installed into "[QT_INSTALL_EXAMPLES]/opengl/2dpainting/2dpainting.pro". (At the moment even into "[QT_INSTALL_EXAMPLES]/qtbase/opengl/...", which will be changed to match the structure in source.) In order for Qt Creator to find the examples, qdoc must write the path behind [QT_INSTALL_EXAMPLES] into the example manifest file. This patch introduces "examplesinstallpath" that allows qdoc configs to specify the missing part, e.g. the opengl qdocconf can add examplesinstallpath = opengl to tell qdoc that the examples will be installed into "[QT_INSTALL_EXAMPLES]/opengl/" Task-number: QTBUG-27801 Change-Id: Idf518e16d3ca0f9522b084e92f34725b93e9d11f Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Removed debug codeMartin Smith2012-11-161-1/+0
| | | | | | | | Just removing calls to qDebug(). Task-number: QTBUG-27878 Change-Id: I592ddbb8541b5b65aee9e0f940b50217e84b3a5e Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: better copying of .css filesMartin Smith2012-11-161-6/+28
| | | | | | | | | | | This change ignores templatedir for css files. It assumes that the paths in the stylesheets variable are relative to the qdocconf file that contains the stylesheets variable. Task-number: QTBUG-27878 Change-Id: I2155e58f352e17d710c93ad4e92679beb169d823 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: better copying of .css filesMartin Smith2012-11-141-0/+1
| | | | | | | | | | | | | | | | | | This fix searches for the css files specified in the stylesheets variable. It searches for them in the directory specified as the templatedir. It copies them into the style subdirectory of the outputdir. It also tests QT_INSTALL_DOCS before setting it to the library info. If it was set on the command line, it is not set from the library info. This change also includes some debug code, which will be removed after testing. Task-number: QTBUG-27878 Change-Id: I7a9469b840e13b966aca44b99aebba102e5d4f0c Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Implements the -no-link-errors optionMartin Smith2012-10-101-0/+1
| | | | | | | | | | | | The -no-link-errors flag tells qdoc not to print any link error messages at all. This is useful for finding and fixing all non-link errors in a module. Task number: QTBUG-26870 Change-Id: Id4b0eebb6c0509c57d2f01763b6dedbfb6756a91 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Augment imagedirs listMartin Smith2012-09-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Modularization of examples has resulted in putting all documentation and code for an example in each example subdirectory. In particular, each example subdirectory now contains a doc/images subdirectoy, where images are stored that are linked to from the example .qdoc files, which are in the doc/src subdirectory of the example directory. Because there are so many example subdirectories, it would be difficult to list all the doc/images directories in the imagedirs variable of the qdocconf file. Therefore, qdoc now searches all the directories listed in the exampledirs variable to find all the doc/images subdirectories there, and it adds these to the imagedirs variable for use in finding images called out in \image and \inlineimage commands. Task Nr: QTBUG-27248 Change-Id: I070ba1a558ab32e1db06429a71c083b55f9dd0ea Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* make src/tools/ compile without CamelCase headersOswald Buddenhagen2012-09-191-3/+3
| | | | | | | | so the build works with syncqt -minimal Change-Id: Ief5e8eb9a504dd6c84cff76cc3e5257450386a0f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Let qdoc respect excludedirs for examples.Frederik Gladhorn2012-08-291-1/+1
| | | | | Change-Id: I01063b38122aea3615801ff013c8c4a1589327fc Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Fix a bug in qdocs handling of excludedirsJan-Arve Saether2012-08-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug was there because the way qdoc tries to exclude the directories given in the "excludedirs" variable: It did a simple string comparision on the candidate path (to include) with every string in the "excludedirs" variable. However, this did not work for all cases, since the paths are not canonicalized. For instance, the problem I faced was that the following qdocconf fragment: (config file located in doc/qtwidgets.qdocconf) sourcedirs += .. excludedirs += snippets Since qdoc would recursively parse all subfolders of sourcedirs, it would at one point visit the snippets folder, but it would have the relative path "../doc/snippets", which did not match with "snippets", causing snippets to not be excluded. In addition, it seems that qdoc tries hard not to use absolute paths (maybe because of more human-friendly error messages). I therefore chose to canonicalize the relative paths. As a side-effect this also give a better output from qdoc, as ../doc/foo.qdoc:42: Missing link will become foo.qdoc:42: Missing link Change-Id: If9c25fa569abd03542bd12675acd44d8f4e0282c Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Added support for modularized example docMartin Smith2012-08-011-1/+1
| | | | | | | | | | | qdoc now searches for .qdoc files in the directories listed in the exampledirs variable. These files are added to the list of sources to be parsed. Task nr: QTBUG-26708 Change-Id: I6dfd7cd7b41e0bdf847f88b6d61ac0272902d4e1 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Removed some obsolete ifdefsMartin Smith2012-05-101-6/+2
| | | | | | | Also removed a few useless comments. Change-Id: I62a52bb826c1299ea9da3f0f3c23f267703c6509 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QDoc: Implement -installdir CLI option for module cross-linking.Casper van Donderen2012-04-251-0/+1
| | | | | | | | | | | | QDoc needs to know the final location of the installed documentation to generate correct relative links between the modules. Normally you can use QLibraryInfo::DocumentationPath for this, but since QDoc gets compiled during Qt bootstrapping QLibraryInfo is not available yet. The -installdir option still allows us to specify QLibraryInfo::DocumentationPath on the command line. Change-Id: Ic4729f4daad112f0d175931467cf09cfcf5145a3 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Support -indexdir on CLI and depends in qdocconf.Casper van Donderen2012-04-231-0/+1
| | | | | | | | | You can now specify a list of modules in the "depends" qdocconf variable. This stringlist is then used by the -indexdir option to specify in which directory to search for [depends entry]/[depends entry].index Change-Id: Icab6dd0133e180ac04365da9605743def6fb754d Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Add CLI option to not generate example docs.Casper van Donderen2012-03-281-0/+1
| | | | | Change-Id: I059ae76430adada020d338905b39ba3089c89615 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Update to prepare to run on a directory.Casper van Donderen2012-03-131-1/+0
| | | | | | | | | | This change sets some default file extensions to accept to generate documentation. It also removes support for the sourceModules qdocconf variable which is not used anymore. It was used just after modularization. Change-Id: Iabdcfb534dc662bd44e0928036fd68ee4e460b07 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Move qdoc into qtbase and bootstrap itLars Knoll2012-03-081-0/+199
We need qdoc in qtbase to be able to properly modularize our documentation and build it when building the different Qt modules. qdoc does contain a copy of the qml parser from qmldevtools, but this is the lesser evil compared to how we are currently forced to genereate our docs (and the fact that no developer can run qdoc and check the docs for their module). Change-Id: I9f748459382a11cf5d5153d1ee611d7a5d3f4ac1 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Martin Smith <martin.smith@nokia.com>