summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/location.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qdoc is moving back to qttoolsOswald Buddenhagen2015-10-221-448/+0
| | | | | | Change-Id: Icb5abd32a1cbc3e8d876341c877e8d2a963c0e25 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Always try to use the declaration locationMartin Smith2015-06-091-6/+15
| | | | | | | | | | | | | | | | qdoc now always tries to use an element's declaration location for the "location," "filepath," and "lineno" attributes in the index file, when it makes sense to use the declaration location. That's pretty much everything in C++. qdoc records both the declaration location and the definition location in the element's tree node. When it writes the element to the index file, it asks for the declaration location. Change-Id: I2d169a0f028bb0d46717e6f822dacc6dd20673b2 Task-number: QTBUG-46034 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Enable prepare-phase warnings in single-exec modeTopi Reinio2015-05-051-2/+2
| | | | | | | | | In single-exec mode, QDoc must never skip documentation warnings as there is no subsequent QDoc run to re-execute the same code paths (in generate phase) that generate warnings. Change-Id: I8da2f16cfb12b3b3509249d1c9941d63733176a9 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* qdoc: Generate QA pagesMartin Smith2014-10-171-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Doc: Adding mark-up to boolean default values.Jerome Pasion2013-10-081-1/+1
| | | | | | | | | | | | | | | | | Default values should have mark-up to denote that they are code. This commit changes: -"property is true" to "property is \c true". -"Returns true" to "Returns \c true". -"property is false" to "property is \c false". -"returns true" to "returns \c true". -"returns false" to "returns \c false". src/3rdparty and non-documentation instances were ignored. Task-number: QTBUG-33360 Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Config class uses current path for each path varMartin Smith2013-04-301-15/+0
| | | | | | | | | | 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-8/+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>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* qdoc: Adding the -log-progress optionMartin Smith2012-10-251-3/+7
| | | | | | | | | | | | | | | qdoc now sends progress log messages to stderr only if -log-progress appears on the command line. The progress messages are not printed to stderr if -log-progress is not used. i.e., -log-progress is off by default. Task number: QTBUG-27707 Change-Id: Id605d943506ab38639730bf16473b156d061dc53 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Don't load index in -prepare phaseMartin Smith2012-10-251-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | qdoc was loading index files during the -prepare phase, which it shouldn't do. The index files it was loading were from modules other than the one qdoc was running on. They had not been deleted because qdoc only clears the output directory of the module it is running on. Also added a static function to the Location class to print information messages on standard error. This is useful to see what qdoc is doing and when it is doing it because these log messages are interleaved in the qdoc error messages. More of these log messages will be added as needed. Also removed some unneeded qDebug() stuff in the code that processes the dependencies from the qdocconf file. Task number: QTBUG-27707 Change-Id: I1eec8d6ec89ff040969c2a1f62f21f551f347e05 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* qdoc: Clear outputdir in -prepare phase onlyMartin Smith2012-10-231-6/+11
| | | | | | | | | | | | | | | | qdoc now clears the outputdir in the -prepare phase but not in the -generate phase. It also does not print error and warning messages in the -prepare phase. It does print fatal errors in the -prepare phase, of course, and the QML parser prints syntax errors in the -prepare phase, but all the qdoc errors and warnings are only printed in the -generate phase. Task number: QTBUG-27688 Change-Id: I9973a473260b4f79428f6b8e12a5ac35f3be15b4 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* qdoc outputs warnings in a form which Creator will recognizeShawn Rutledge2012-10-131-2/+3
| | | | | | | | | | | Recently Creator started recognzing the warnings from qdoc, however because warnings are not labeleled with " warning: ", there is no yellow-triangle symbol in the Issues list. This patch makes the output look the same as warnings or errors that come from gcc. Change-Id: I895a656d22ce8b59da90c58b86a444c86c8edf84 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Fix a bug in how paths are made canonical and relativeJan Arve Saether2012-10-081-1/+1
| | | | | Change-Id: Id9b2de9097cab4520882b48a28fccd382c5e076d Reviewed-by: Martin Smith <martin.smith@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-1/+1
| | | | | | | | 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>
* Output absolute paths in qdoc messages.Frederik Gladhorn2012-09-111-2/+5
| | | | | Change-Id: I4499bb0464cca3703026e317e940612091bf55a2 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Fix a bug in qdocs handling of excludedirsJan-Arve Saether2012-08-171-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Clean path names before using themMartin Smith2012-07-131-1/+1
| | | | | | | | | | | The excludedirs variable doesn't work correctly when its values have '../' in them. The solution is to use QDir::cleanPath() on each path name before using it. Task Nr: QTBUG-26492 Change-Id: I2db74e79cf096c1c75ab5b10877320360c016fc7 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Move qdoc into qtbase and bootstrap itLars Knoll2012-03-081-0/+398
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>