Thread: [Doxygen-develop] DITA XML Support Status
Brought to you by:
dimitri
From: Joel S. <joe...@oa...> - 2011-07-05 22:32:58
|
> Hi, > > We are currently working on a DITA XML specialization for the C++ programming language. As part of the work we have implemented a backend for doxygen which produces DITA XML from C++ source code, a documented standard and a plug-in for the DITA open toolkit. > > We have been using the standard, the doxygen backend and DITA open toolkit plug-in in production for over a year now to produce the Symbian developer library and we feel they are stable enough to start donating them to the appropriate upstream projects. We are have started discussions with Oasis about approving the C++ standard and our plug-in is already available for download on the DITA open toolkit website. > > I was wondering if anyone else in the doxygen community would be interested in this work and if there is any desire to see it integrated back up stream? I have attached a patch that adds DITA xml support to doxygen. We have tested the patch on windows, Linux and Mac OS X and would be happy to support it (fix any defects raised, implement feature requests etc.) for the foreseeable future. > > Patch can be downloaded fromhttp://www.skynet.ie/~jonathan/dita_patch.diff.gz <http://www.skynet.ie/%7Ejonathan/dita_patch.diff.gz> > > Regards, > Jonathan. What are the plans for merging this into Doxygen? You mention this for C++, does it work for C as well? I am looking at this as a path to getting the RTEMS Doxygen generated documentation into the Eclipse Information Center. Thanks. -- Joel Sherrill, Ph.D. Director of Research& Development joe...@OA... On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 |
From: <jon...@no...> - 2011-07-06 08:11:53
|
Hi, Joel. > What are the plans for merging this into Doxygen? At the moment we continue to maintain it as a separate patch. The latest version (+ windows & linux binaries) can be downloaded from https://projects.developer.nokia.com/doxygen_dita/files. We plan to upload our latest version in the next few days (a few bug fixes, latest version of doxygen). You can also download the latest DITA OT plug-in from there. > You mention this for C++, does it work for C as well? I am looking at this as a path to getting the RTEMS Doxygen generated documentation into the Eclipse Information Center. We haven't tested it extensively on any C code but there is no reason it shouldn't. We use it on Symbian OS (which contains a lot of quirky idioms etc. as you can imagine) so it should suit your needs. Our documentations final destination is normally Eclipse Information Centre aswell. If you have any problems/questions regarding it please feel free to get in touch. Regards, Jonathan. |
From: <pau...@no...> - 2011-07-06 10:49:24
|
Hi Joel, > You mention this for C++, does it work for C as well? Yes this will work for C, you probably want to set OPTIMIZE_OUTPUT_FOR_C = YES in your config file. The discrepancy will be is that we treat, for the moment, C input as C++ so that the DITA output will be to the DITA C++ specialisation. There is not yet a DITA specialisation for C. There is some interest in OASIS in creating a Technical Sub-Committee for Programming Languages that could share the burden of creating specialisations but the sub-committee is not yet formed. If a specialisation for C were to exist then our patch could write to it because it decides output formats dynamically from any inputs that Doxygen can take (see line 25 onwards in xmlditaelementprefix.cpp). So for the moment, yes, it will take C input but produce DITA to the C++ specialisation. Let us know how you get on! Best regards, Paul Ross. > -----Original Message----- > From: ext Joel Sherrill [mailto:joe...@oa...] > Sent: 05 July 2011 23:20 > To: dox...@li...; Harrington Jonathan (Nokia- > SD/London) > Subject: [Doxygen-develop] DITA XML Support Status > > > Hi, > > > > We are currently working on a DITA XML specialization for the C++ > programming language. As part of the work we have implemented a backend > for doxygen which produces DITA XML from C++ source code, a documented > standard and a plug-in for the DITA open toolkit. > > > > We have been using the standard, the doxygen backend and DITA open > toolkit plug-in in production for over a year now to produce the > Symbian developer library and we feel they are stable enough to start > donating them to the appropriate upstream projects. We are have started > discussions with Oasis about approving the C++ standard and our plug-in > is already available for download on the DITA open toolkit website. > > > > I was wondering if anyone else in the doxygen community would be > interested in this work and if there is any desire to see it integrated > back up stream? I have attached a patch that adds DITA xml support to > doxygen. We have tested the patch on windows, Linux and Mac OS X and > would be happy to support it (fix any defects raised, implement feature > requests etc.) for the foreseeable future. > > > > Patch can be downloaded > fromhttp://www.skynet.ie/~jonathan/dita_patch.diff.gz > <http://www.skynet.ie/%7Ejonathan/dita_patch.diff.gz> > > > > Regards, > > Jonathan. > > What are the plans for merging this into Doxygen? > > You mention this for C++, does it work for C as well? I am > looking at this as a path to getting the RTEMS Doxygen > generated documentation into the Eclipse Information Center. > > Thanks. > > -- > Joel Sherrill, Ph.D. Director of Research& Development > joe...@OA... On-Line Applications Research > Ask me about RTEMS: a free RTOS Huntsville AL 35805 > Support Available (256) 722-9985 > > > > ----------------------------------------------------------------------- > ------- > All of the data generated in your IT infrastructure is seriously > valuable. > Why? It contains a definitive record of application performance, > security > threats, fraudulent activity, and more. Splunk takes this data and > makes > sense of it. IT sense. And common sense. > http://p.sf.net/sfu/splunk-d2d-c2 > _______________________________________________ > Doxygen-develop mailing list > Dox...@li... > https://lists.sourceforge.net/lists/listinfo/doxygen-develop |
From: Joel S. <joe...@oa...> - 2011-07-06 13:35:15
|
On 07/06/2011 03:11 AM, jon...@no... wrote: > Hi, Joel. > >> What are the plans for merging this into Doxygen? > At the moment we continue to maintain it as a separate patch. The latest version (+ windows& linux binaries) can be downloaded from https://projects.developer.nokia.com/doxygen_dita/files. We plan to upload our latest version in the next few days (a few bug fixes, latest version of doxygen). You can also download the latest DITA OT plug-in from there. > Thanks. I guess I should wait for that patch to try it. When you say latest, do you mean svn or 1.7.4? Other that the obvious reports of success or details on problems, what type of feedback would you like? It would be good to get this merged so it because more mainstream. As you posted recently, QtDoc now produces DITA so it would be a good time for Doxygen to pick up the capability. >> You mention this for C++, does it work for C as well? I am looking at this as a path to getting the RTEMS Doxygen generated documentation into the Eclipse Information Center. > We haven't tested it extensively on any C code but there is no reason it shouldn't. We use it on Symbian OS (which contains a lot of quirky idioms etc. as you can imagine) so it should suit your needs. Our documentations final destination is normally Eclipse Information Centre aswell. > We try not to have quirky code in RTEMS but it wouldn't surprise me if someone else found it quirky. We use a lot of static inline methods to encapsulate functionality in an OO style. I am just getting started on this experiment. Is there a good guide for the process of getting from Doxygen all the way to the Information Centre? > If you have any problems/questions regarding it please feel free to get in touch. > Thanks. I really appreciate the offer and will do my best not to abuse it. > Regards, > Jonathan. -- Joel Sherrill, Ph.D. Director of Research& Development joe...@OA... On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 |
From: <jon...@no...> - 2011-07-06 14:29:23
|
Hi, Joel. Latest patch and binaries now uploaded to https://projects.developer.nokia.com/doxygen_dita/files/. > When you say latest, do you mean svn or 1.7.4? Binaries were built against a svn checkout from today, but the patch should apply cleanly to the last stable doxygen release also. > Other that the obvious reports of success or details on problems, what type of feedback would you like? Where you think the format (dtd) could be improved, feature requests, bug reports etc. > It would be good to get this merged so it because more mainstream. I have created an "enhancement" on doxygens bugzilla and applied the patch so probably best to continue the conversation over there. The url is: https://bugzilla.gnome.org/show_bug.cgi?id=654087. > We try not to have quirky code in RTEMS but it wouldn't surprise me if someone else found it quirky. We use a lot of static inline methods to encapsulate functionality in an OO style. I am sure the kernel engineers here would take exception to my use of the word "quirky" :), but I'm not as smart as those guys so some of it looks "quirky" to me. > I am just getting started on this experiment. Is there a good guide for the process of getting from Doxygen all the way to the Information Centre? None that I know off. Once you get doxygen outputting the dita xml running the DITA OT with our plug-in should get you most of the way there (DITA OT supports outputting as Eclipse jar files). We need to use 64bit java and give it a LOT of ram to get it to build all of Symbian OS so that might be something to watch out for. Regards, Jonathan. |
From: Joel S. <joe...@oa...> - 2011-07-06 18:26:14
|
On 07/06/2011 09:28 AM, jon...@no... wrote: > Hi, Joel. > > Latest patch and binaries now uploaded to https://projects.developer.nokia.com/doxygen_dita/files/. > >> When you say latest, do you mean svn or 1.7.4? > Binaries were built against a svn checkout from today, but the patch should apply cleanly to the last stable doxygen release also. > >> Other that the obvious reports of success or details on problems, what type of feedback would you like? > Where you think the format (dtd) could be improved, feature requests, bug reports etc. > >> It would be good to get this merged so it because more mainstream. > I have created an "enhancement" on doxygens bugzilla and applied the patch so probably best to continue the conversation over there. The url is: https://bugzilla.gnome.org/show_bug.cgi?id=654087. > Thanks for the quick update but the patch doesn't build for me: xmlditagen.cpp: In member function ‘QString DITAGeneratorBase::nameLookup(const MemberDef*) const’: xmlditagen.cpp:1326:14: warning: unused variable ‘pN’ xmlditagen.cpp: In member function ‘void DITAFileGenerator::generateXMLForFile(FileDef*)’: xmlditagen.cpp:2443:18: warning: unused variable ‘nd’ xmlditagen.cpp: At global scope: xmlditagen.cpp:2593:6: warning: unused parameter ‘dl’ xmlditagen.cpp:2593:6: warning: unused parameter ‘xt’ xmlditagen.cpp:2638:6: warning: unused parameter ‘outDir’ xmlditagen.cpp: In function ‘void generateXML(QCString)’: xmlditagen.cpp:2667:67: error: cannot pass objects of non-trivially-copyable type ‘class QString’ through ‘...’ I added a .data() to the use of QString ix and it compiles now. I haven't looked at the warnings or used the executable yet. >> We try not to have quirky code in RTEMS but it wouldn't surprise me if someone else found it quirky. We use a lot of static inline methods to encapsulate functionality in an OO style. > I am sure the kernel engineers here would take exception to my use of the word "quirky" :), but I'm not as smart as those guys so some of it looks "quirky" to me. > :) >> I am just getting started on this experiment. Is there a good guide for the process of getting from Doxygen all the way to the Information Centre? > None that I know off. Once you get doxygen outputting the dita xml running the DITA OT with our plug-in should get you most of the way there (DITA OT supports outputting as Eclipse jar files). We need to use 64bit java and give it a LOT of ram to get it to build all of Symbian OS so that might be something to watch out for. > OK. I will just beg for help and collect the resulting notes into a howto so others have an easier path. > Regards, > Jonathan. -- Joel Sherrill, Ph.D. Director of Research& Development joe...@OA... On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 |
From: Joel S. <joe...@oa...> - 2011-07-07 18:54:57
|
Hi, I hope I am not wandering too far from Doxygen. Using the Nokia patch, I now have generated DITA XML for RTEMS. I placed it in a dita subdirectory next to the latex and html. I have installed the dita-ot 1.5.3 and can build its html help sample OK. I took their ant file and copied it to the Doxygen dita output directory. It runs along for a bit and then ends with this: BUILD FAILED /users/joel/doxygen/onlinedocs/doxygen/cpukit/dita/doxygen_html.xml:25: The following error occurred while executing this line: /users/joel/doxygen/DITA-OT1.5.3/build.xml:27: The following error occurred while executing this line: /users/joel/doxygen/DITA-OT1.5.3/build_preprocess.xml:30: Failed to run pipeline: [DOTJ012F][FATAL] Failed to parse the input file 'RTEMS CPU Kit with SuperCore.ditamap' due to the following exception. This may indicate that a plug-in for your document type is missing. Please correct the input based on the following message from the XML parser: :/users/joel/doxygen/onlinedocs/doxygen/cpukit/dita/dtd/cxxAPIMap.dtd (No such file or directory) I think it is pretty clear the the Doxygen generated DITA XML expects to find a cxxAPIMap.dtd file. Where does one get this set of DTDs? I am assuming it is obvious once I have a kit of the DTD files where they go in the dita-ot. Thanks in advance. -- Joel Sherrill, Ph.D. Director of Research& Development joe...@OA... On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 |
From: <jon...@no...> - 2011-07-08 08:04:39
|
Hi, Joel. To build the doxygen generated DITA (or the qdoc generated DITA for that matter) you need to install the Cxx specialisation plug-in which can be downloaded from https://projects.developer.nokia.com/doxygen_dita/files/cxxapirefv0.7.0.zip. The Cxx plug-in depends on the apiref plug-in so you will need to install that also. It's available for download from the DITA OT website. Instructions on how to install a plug-in are available on the DITA OT sourceforge site, http://dita-ot.sourceforge.net/dev_ref/useplugin.html. That will produce a basic html build of your content. You will then want to create your own plug-in that contains the css etc. that you want to apply to the documentation. Regards, Jonathan. -----Original Message----- From: ext Joel Sherrill [mailto:joe...@OA...] Sent: 07 July 2011 19:55 To: Harrington Jonathan (Nokia-SD/London) Cc: dox...@li... Subject: DITA XML Output cxxAPIMap.dtd Missing Hi, I hope I am not wandering too far from Doxygen. Using the Nokia patch, I now have generated DITA XML for RTEMS. I placed it in a dita subdirectory next to the latex and html. I have installed the dita-ot 1.5.3 and can build its html help sample OK. I took their ant file and copied it to the Doxygen dita output directory. It runs along for a bit and then ends with this: BUILD FAILED /users/joel/doxygen/onlinedocs/doxygen/cpukit/dita/doxygen_html.xml:25: The following error occurred while executing this line: /users/joel/doxygen/DITA-OT1.5.3/build.xml:27: The following error occurred while executing this line: /users/joel/doxygen/DITA-OT1.5.3/build_preprocess.xml:30: Failed to run pipeline: [DOTJ012F][FATAL] Failed to parse the input file 'RTEMS CPU Kit with SuperCore.ditamap' due to the following exception. This may indicate that a plug-in for your document type is missing. Please correct the input based on the following message from the XML parser: :/users/joel/doxygen/onlinedocs/doxygen/cpukit/dita/dtd/cxxAPIMap.dtd (No such file or directory) I think it is pretty clear the the Doxygen generated DITA XML expects to find a cxxAPIMap.dtd file. Where does one get this set of DTDs? I am assuming it is obvious once I have a kit of the DTD files where they go in the dita-ot. Thanks in advance. -- Joel Sherrill, Ph.D. Director of Research& Development joe...@OA... On-Line Applications Research Ask me about RTEMS: a free RTOS Huntsville AL 35805 Support Available (256) 722-9985 |