Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2006-09

fpdoc automation help

3 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Graeme Geldenhuys

Hi,

I am trying to setup some script(s) or a Makefile (if I can) to handle the documentation of tiOPF (open source project I work on and core of our projects).

* How does FPC handle the creation of html output using fpdoc? From what I can see it looks like everything is handled in a single Makefile.fpc (quite complex but guess it work well)

* How does it handle updates to the source code, without overwriting existing *.xml files.

* If running makeskel in update mode, how do you combine that *.xml file to the existing description *.xml file?

* Is all the above done in some nightly event (automagically)...?

So far I have created the following directory layout. I can only modify the Docs directory, the others are cast in stone. I had a look at the Lazarus docs layout as well, for some ideas. If I could automate the creation and updating of docs in some nightly event, it would be a perfect world! ;-)

tiOPF
/Docs
/html <==== generate html from fpdoc
/xml
/build_core.sh <===== 3 build scripts
/build_gui.sh
/build_options.sh
/core
/examples <==== small code samples
/tiobjects.xml <==== xml documentation
<... *.xml ...> <==== all other .xml files /gui
/examples
/tiobjects.xml
<... *.xml ...>
/options
/examples
/tiobjects.xml
<... *.xml ...>
/Source
/Core
/tiObjects.pas <==== all core source code <... *.pas ...>
/Options
/tiSomeOptions.pas <==== all options source code <... *.pas ...>
/GUI
/tiGUIUtils.pas <==== all gui components source code <... *.pas ...>

Regards,
- Graeme -

There's no place like 127.0.0.1

Reply by email

Michael Van Canneyt
to Graeme Geldenhuys
Graeme Geldenhuys wrote 9 lines
Hi, I am trying to setup some script(s) or a Makefile (if I can) to handle the documentation of tiOPF (open source project I work on and core of our projects). * How does FPC handle the creation of html output using fpdoc? From what I can see it looks like everything is handled in a single Makefile.fpc (quite complex but guess it work well)

I'm not sure I understand the question ? Are you referring to the makefile.fpc in the docs dir ?

* How does it handle updates to the source code, without overwriting existing *.xml files.

Makeskel accepts an output parameter. Make sure it is not equal to the input file...

* If running makeskel in update mode, how do you combine that *.xml file to the existing description *.xml file?

Copy and paste.

It cannot be done automatically, because the file is not perfect: e.g. presence of unit reference elements is not correctly processed.

In theory, you could make a mergefpdoc program which merges 2 documents. I just didn't get around to doing it.

* Is all the above done in some nightly event (automagically)...?

No, but it could be done.

Show quoted text 5 lines
So far I have created the following directory layout. I can only modify the Docs directory, the others are cast in stone. I had a look at the Lazarus docs layout as well, for some ideas. If I could automate the creation and updating of docs in some nightly event, it would be a perfect world! ;-)

If you can write the 'mergefpdoc' program, then it should be possible to automate everything.

Michael.

Reply by email

Graeme Geldenhuys
to Michael Van Canneyt
Michael Van Canneyt wrote 10 lines
> I am trying to setup some script(s) or a Makefile (if I can) to handle > the documentation of tiOPF (open source project I work on and core of > our projects). > > * How does FPC handle the creation of html output using fpdoc? From > what I can see it looks like everything is handled in a single > Makefile.fpc (quite complex but guess it work well) I'm not sure I understand the question ? Are you referring to the makefile.fpc in the docs dir ?

Yes, I downloaded all fpcdocs from SubVersion. It contains *.tex, *.xml, etc. One of those files in the root directory was Makefile.fpc and referred to makeskel and fpdoc. My knowledge of Makefiles are very limited. I will try and get my docs generated with simple bash scripts first, then work though that Makefile in fpcdocs and see if I can make any sense of it. :-)

Makeskel accepts an output parameter. Make sure it is not equal to the input file...

So you only generate the initial *.xml files once. After that you always run makeskel in "update" mode with different filenames for output.

> * Is all the above done in some nightly event (automagically)...? No, but it could be done.

Okay, this makes me feel a little better. :-) I will start my scripts off manually and over time, see what processes I could automate. It sounds the easiest to implement.

Regards,
- Graeme -

Reply by email