Commit graph

35 commits

Author SHA1 Message Date
7b7821c0ee MERGE: bring in the latest Scons Doxygen Builder
Actually, the Lumiera project picked an early version of this tool in August 2008.
See the commits:
6d5cf0e642
9643f46cc8

This subtree add/merge commit brings in a consolidated history of the Scons Doxygen code
from the scons-contrib repository, combined with the old Mercurial history.

We need a current version of this tool which has been ported to Python-3
2025-04-08 04:04:42 +02:00
37a56bd564 Anchor: Directory for Scons tools 2025-04-08 04:10:02 +02:00
Mats Wichmann
5d1bf3c0be sconsDoxy: Update doxygen testcase and rename
Signed-off-by: Mats Wichmann <mats@linux.com>
2022-07-31 17:12:23 -06:00
Tanjeff-N. Moos
ebf51f227c sconsDoxy: Restructure code: close file in case of exception.
Up to now, the file was opened, then DoxyfileParse() was invoked, then the file
was closed. If DoxyfileParse() throws an exception, the file would not be
closed. The new solution auto-closes the file in any case.
2022-07-31 16:22:56 +02:00
Tanjeff-N. Moos
035a38b177 sconsDoxy: Better fix: get_contents() -> get_text_contents(). 2022-07-30 09:19:08 +02:00
Tanjeff-N. Moos
865fe4e3c5 sconsDoxy: Bugfix: Convert <bytes> object to <string>.
In DoxyfileParse(), the 'file_contents' parameter is a <bytes> object.
Since the shlex.shlex() member doesn't accept <bytes> objects, we
convert it to a <str>.
2022-07-29 21:31:17 +02:00
Mats Wichmann
4cf4e09049 sconsDoxy: Move all markdown READMEs to reST
It's a pain to mentally switch markup style if modifying notes
on several tools. pandoc used for the conversion.

Signed-off-by: Mats Wichmann <mats@linux.com>
2022-02-12 08:36:50 -07:00
kprussing
11ee48ec9f sconsDoxy: Remove the symlink for doxygen
The symlink in the doxygen tool example interferes with installing using
pip because it tries to do a recursive installation.
2021-07-03 01:59:28 -04:00
Mats Wichmann
cce3dad4fe sconsDoxy: Run converters on chapel and doxygen tools
Signed-off-by: Mats Wichmann <mats@linux.com>
2021-03-05 08:55:42 -07:00
Russel Winder
35e74d755d sconsDoxy: Import the final state of the Mercurial repository without the history. 2020-06-02 19:26:31 +01:00
Richard van der Hoff
0224e8e22a Fix a TypeError in DoxyEmitter
There is a problem with 7674543f, in that if HTML_FILE_EXTENSION or
MAN_EXTENSION is not specified, we'll try to concatenate a string with
None, and get a type error. We should check that they are set before
trying to use them.
2013-08-12 22:06:23 +01:00
Richard van der Hoff
c876fe0044 Add support for @INCLUDE tags in doxyfiles
Doxygen configs can include other doxygen configs. Add support for
@INCLUDE tag.
2013-08-12 22:34:57 +01:00
Richard van der Hoff
22dfdfb824 Fix test method names
PEP8 says that method names should use lowercase_names.
2013-08-12 21:42:23 +01:00
Richard van der Hoff
d50e42638b check that DoxyfileParse still works when there's a comment in the config. 2013-08-12 21:31:57 +01:00
Richard van der Hoff
3926ea513a Fix Doxyfile parsing when the first tag occurs on the first line.
Also, add a couple of regression tests.
2013-08-12 15:38:49 +01:00
Richard van der Hoff
0d12211c55 Assume we are not generating man pages by default.
Set output_formats["MAN"] to "NO", by default, as suggested at
http://www.scons.org/wiki/DoxygenBuilder#Note_added_by_Reinderien. Despite
what the Doxygen docs say, GENERATE_MAN is off by default, and a
browse of the source suggests that it's been that way since at least
2008 / Doxygen 1.5.7.
2013-08-12 12:32:21 +01:00
Russel Winder
92cee51e2e Backout of pull request #2, 12:f443da08d6ef, as per Eric's comments on BitBucket. 2013-08-12 17:35:23 +01:00
Russel Winder
eb47568aaa Restructure so that the plugin is a module and a package, it's just more flexible.
Clarify notes regarding history.
2013-08-12 16:05:59 +01:00
Russel Winder
701e7f053e Commit reconcilled conflicting merge. 2013-08-12 15:21:06 +01:00
Eric Anderson
2e8fe4797a Add stamp file to improve change detection
Add ".last_updated" targets to doxygen output directories, so that
doxygen isn't automatically considered up-to-date just because the
output directory exists.
2012-06-06 10:52:33 -04:00
Dirk Baechle
46cdd8aa0e added support for MAN pages 2012-01-24 21:46:04 +01:00
Dirk Baechle
495765024c Handle dependencies and output file ext overrides
- corrected basic dependencies (builds and 'scons -c' seem to work now)
- added support for output file EXTENSION override variables (HTML and MAN pages)
- TODOs: 1.) targets for MAN output don't work yet, 2.) more testing
2012-01-19 23:56:29 +01:00
Russel Winder
56cedc74f3 Add a copyright acknowledgement for Boehme's contributions. 2010-03-07 16:34:37 +00:00
Russel Winder
537286fdbc Add an Emacs mode line. 2010-03-07 16:32:27 +00:00
Russel Winder
ca90827f94 Merge in all the changes from Beohme's version. 2010-03-07 16:29:21 +00:00
Christoph Boehme
ad3e94a567 Scons-Wiki: Adding tagfile to targets and html templates to sources (Boehme)
Robert Lupton noted that you have to change the source paths if you keep your Doxyfile in a subdirectory and use relative paths.
I found that I had to do the same for the target path in the Doxyfile. (see after line 160)

The following code adds the tagfile to the target list. I added it in line 166:

   # add the tag file if neccessary:
   tagfile = data.get("GENERATE_TAGFILE", "")
   if tagfile != "":
      if not os.path.isabs(tagfile):
         conf_dir = os.path.dirname(str(source[0]))
         tagfile = os.path.join(conf_dir, tagfile)
      targets.append(env.File(tagfile));

To add the html templates from the Doxyfile to the list of sources,
you need to apply Robert Lupton's change and add the following snippet in line 137:

   # Add additional files to the list ouf source files:
   def append_additional_source(option):
      file = data.get(option, "")
      if file != "":
         if not os.path.isabs(file):
            file = os.path.join(conf_dir, file)
         if os.path.isfile(file):
            sources.append(file)

   append_additional_source("HTML_STYLESHEET")
   append_additional_source("HTML_HEADER")
   append_additional_source("HTML_FOOTER")

You can easily add dependencies on other output file templates by adding additional calls to append_additional_source().

__Addendum 18 July 2007__: I added some code to add tagfiles to the list of sources.
Since the tagfiles-option allows for equal-signs in the value, I had to change the parsing code a bit.
The code now also includes the other changes I proposed.
2025-04-07 04:55:42 +02:00
Norton
30ef78ac30 Scons-Wiki: generate fake target file in output directory (Norton) 2025-04-07 04:55:42 +02:00
Matthew Nicolson
b3ed295388 Scons-Wiki: Doxygen Builder
__Remark__: as of 2025, this is the oldest code version that can be documented.
The content is taken from an Achive.org snapshot from June 21, 2006
https://web.archive.org/web/20060621095023/http://www.scons.org/wiki/DoxygenBuilder

Based on the comments added 2010-03-07 by Russel Winder,
this code can be attributed to Matthew Nicolson
2025-04-07 04:55:42 +02:00
Dirk Reiners
153dcfb5b2 Scons-Wiki: variable substituion and hierarchical doxygen (Reiners)
Improvements added by Dirk Reiners:

I added two (at least for me ;)) important features of doxygen:
variable substituion and hierarchical doxygen files.

Variable substituion allows doxygen to reference variables from the scons environment using $(VARNAME).
This is very useful for things like version numbers or for only having certain parts (as defined by scons)
included in the documentation without having to mess with doxygen files.

Hierarchical doxygen files just interpret the @INCLUDE key as an include.

I also had trouble with files that started with a key, I fixed that.

Note that I'm a python newbie, so there are probably more elegant ways to do some of the things I did.
Feel free to change them.

Hope it helps.
2025-04-07 04:55:42 +02:00
Russel Winder
904f5eec64 Add some notes of analysis as a record of reasoning regarding the choice of merges. 2010-03-07 16:19:46 +00:00
Russel Winder
b9b02a51a4 Add an ignore list so as to be able to ignore generated files. 2010-03-07 13:46:27 +00:00
Russel Winder
3514289a1c Add things so that the tests run. 2010-03-07 13:46:01 +00:00
Russel Winder
cb8f493718 Add Norton's example. See http://scons.tigris.org/ds/viewMessage.do?dsForumId=1272&dsMessageId=954207 2010-03-05 21:28:18 +00:00
Russel Winder
bb3755562e Scons-Wiki: Improvements until 2010
Start a Mercurial repo to track further changes to the DoxygenBuilder
This base is taken from http://www.scons.org/wiki/DoxygenBuilder.
2010-03-05 20:58:30 +00:00
9643f46cc8 Scons-Wiki: Improvements until 2008
This code was taken from the Wiki and incorporated into
the Lumiera.org build system in August 2008
2008-08-28 02:57:12 +02:00