fpdoc is broken for LINK'ed documentation

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

fpdoc is broken for LINK'ed documentation

Graeme Geldenhuys-2
Hi,

I've been trying to figure this out all morning, and after 2 hours I
still can't see why fpdoc doesn't work correctly.

I have linked documentation in descendant classes - so as not to
duplicate documentation in the XML description files. I currently use
the IPF linear output writer, and DO specify the --duplinkeddoc
parameter (which I originally implemented myself).

It used to work, but now with FPC 2.6.1 and FPC 2.7.1 I can't get it
to work at all. The nodes that have linked documentation doesn't even
appear inside fpdoc as a TPasElement instance?? Thus putting a
breakpoint inside TLinearWriter.WriteProperty() looking for a specific
property name (eg: HelpFile) for example, is never reached.for the
TfpgApplication class. This makes no sense.

Here is a snippet of the XML description file.

--------------------[ fpg_main.xml]----------------------------
<element name="TfpgApplication">
<short>A concrete class that encapsulates a fpGUI application</short>
</element>

<element name="TfpgApplication.InvokeHelp"
link="#fpgui.fpg_base.TfpgApplicationBase.InvokeHelp">
<short>fake</short>
</element>

<element name="TfpgApplication.HelpFile"
link="#fpgui.fpg_base.TfpgApplicationBase.HelpFile">
<short>fake</short>
</element>
---------------------------------------


The fpg_base.xml file does contain the documentation for the HelpFile
and InvokeHelp topics. I can see them in the final IPF help output
under the TfpgApplicationBase class. But the TfpgApplication class
documentation doesn't contain either of those.

What I have tried:
  * I changed the 'link' value by removing the package name, then by
removing the unit name. Neither makes any difference.
  * I first had no 'short' description tags in the TfpgApplication
elements, so add them to think that it might help fpdoc
    find those documentation elements. It made no difference.
  * I implemented a fpdoc project file, instead of using a script.
That made no difference.
  * I tied various fpdoc output formats (HTML, TXT, RTF, IPF etc).
That made no difference.


Anybody got a clue what is going on? Is there some obvious (to others)
that I am doing wrong?

If you wanted to test this, all the fpdoc description files are in the
fpGUI repository. You can pull it from the git repository, or if you
don't have git installed, you can download a tarbal of the latest code
from GitHub. Here is the direct link for the tarbal download:

    https://github.com/graemeg/fpGUI/tarball/master


I also attached my test script I used to generate the IPF documentation.


--
Regards,
  - Graeme -


_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

runme2.sh (4K) Download Attachment