Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/orxonox/branches/particleEngine/doc/orxodox.checkFiles.pl @ 3991

Last change on this file since 3991 was 3451, checked in by bensch, 20 years ago

orxonox/trunk: now the doxygen-checkFile parses all files if no argument is given (not recursive)

  • Property svn:executable set to *
File size: 10.8 KB
Line 
1#!/usr/bin/perl
2##########################################################################
3#   orxonox - the future of 3D-vertical-scrollers                        #
4#                                                                        #
5#   Copyright (C) 2004 orx                                               #
6#                                                                        #
7#   This program is free software; you can redistribute it and/or modify #
8#   it under the terms of the GNU General Public License as published by #
9#   the Free Software Foundation; either version 2, or (at your option)  #
10#   any later version.                                                   #
11#                                                                        #
12#   ### File Specific:                                                   #
13#   main-programmer: Benjamin Grauer                                     #
14#   co-programmer: ...                                                   #
15#                                                                        #
16#   This Script is for parsing single or multiple files for their        #
17#   doxygeb-tags, and outputs the warnings and errors, but prehibits     #
18#   the progress from being displayed.                                   #
19#   Usage: ./orxodox.checkFiles.pl [fileName1 [fileName2 [...]]]         #
20#   This script ignores file-extensions, and assumes that either         #
21#   .h, .cc or both may exist, and searches for them.                    #
22##########################################################################
23
24$inputFiles = @ARGV[0];
25$tempDoxFile = "TMPorxodox";
26
27unless (open (DOXfile, ">$tempDoxFile"))
28 {
29   die("cannot open file\n");
30 }
31
32$processFiles = "";
33$numberOfFiles = 0;
34foreach $inputFile (@ARGV)
35  {
36    $tmpNumber = $numberOfFiles;
37
38    $inputFile =~ s/\.cc$//;
39    $inputFile =~ s/\.h$//;
40
41    print "checking file $inputFile: ";
42
43    $inputFile =~ s/$/\.h/;
44    if (-e $inputFile)
45      {
46        $processFiles = "$processFiles $inputFile";
47        $numberOfFiles++;
48        print "found .h ";
49      }
50    $inputFile =~ s/\.h$/\.cc/;
51    if (-e $inputFile)
52      {
53        $processFiles = "$processFiles $inputFile";
54        $numberOfFiles++;
55        print "...found .cc ";
56      }
57    if ($tmpNumber == $numberOfFiles) {print "no matching files found";}
58    print "\n";
59  }
60
61if ($numberOfFiles == 0 && @ARGV !=0){
62  die("no Files have been found\n");}
63
64print "==================================================================\n";
65print "Generating temporary Documentation File\n";
66print "==================================================================\n";
67
68print DOXfile "# THIS IS A DEFAULT FILE FOR DOXYGEN DOCUMENTATION";
69
70printf DOXfile "# Doxyfile 1.3.7 \
71## SAMPLE FILE (to be executed from orxonox/trunk/) \
72 \
73#--------------------------------------------------------------------------- \
74# Project related configuration options \
75#--------------------------------------------------------------------------- \
76PROJECT_NAME           = Orxonox \
77PROJECT_NUMBER         = 1 \
78OUTPUT_DIRECTORY       = doxygen/ \
79CREATE_SUBDIRS         = YES \
80OUTPUT_LANGUAGE        = English \
81USE_WINDOWS_ENCODING   = YES \
82BRIEF_MEMBER_DESC      = YES \
83REPEAT_BRIEF           = YES \
84ABBREVIATE_BRIEF       =  \
85ALWAYS_DETAILED_SEC    = NO \
86INLINE_INHERITED_MEMB  = NO \
87FULL_PATH_NAMES        = NO \
88STRIP_FROM_PATH        =  \
89STRIP_FROM_INC_PATH    =  \
90SHORT_NAMES            = NO \
91JAVADOC_AUTOBRIEF      = NO \
92MULTILINE_CPP_IS_BRIEF = NO \
93DETAILS_AT_TOP         = NO \
94INHERIT_DOCS           = YES \
95DISTRIBUTE_GROUP_DOC   = NO \
96TAB_SIZE               = 8 \
97ALIASES                =  \
98OPTIMIZE_OUTPUT_FOR_C  = NO \
99OPTIMIZE_OUTPUT_JAVA   = NO \
100SUBGROUPING            = YES \
101#--------------------------------------------------------------------------- \
102# Build related configuration options \
103#--------------------------------------------------------------------------- \
104EXTRACT_ALL            = NO \
105EXTRACT_PRIVATE        = YES \
106EXTRACT_STATIC         = YES \
107EXTRACT_LOCAL_CLASSES  = YES \
108EXTRACT_LOCAL_METHODS  = NO \
109HIDE_UNDOC_MEMBERS     = NO \
110HIDE_UNDOC_CLASSES     = NO \
111HIDE_FRIEND_COMPOUNDS  = NO \
112HIDE_IN_BODY_DOCS      = NO \
113INTERNAL_DOCS          = NO \
114CASE_SENSE_NAMES       = YES \
115HIDE_SCOPE_NAMES       = NO \
116SHOW_INCLUDE_FILES     = YES \
117INLINE_INFO            = YES \
118SORT_MEMBER_DOCS       = YES \
119SORT_BRIEF_DOCS        = NO \
120SORT_BY_SCOPE_NAME     = NO \
121GENERATE_TODOLIST      = YES \
122GENERATE_TESTLIST      = YES \
123GENERATE_BUGLIST       = YES \
124GENERATE_DEPRECATEDLIST= YES \
125ENABLED_SECTIONS       =  \
126MAX_INITIALIZER_LINES  = 30 \
127SHOW_USED_FILES        = YES \
128#--------------------------------------------------------------------------- \
129# configuration options related to warning and progress messages \
130#--------------------------------------------------------------------------- \
131QUIET                  = YES \
132WARNINGS               = YES \
133WARN_IF_UNDOCUMENTED   = YES \
134WARN_IF_DOC_ERROR      = YES \
135WARN_FORMAT            = \"\$file:\$line: \$text\" \
136WARN_LOGFILE           =  \
137#--------------------------------------------------------------------------- \
138# configuration options related to the input files \
139#--------------------------------------------------------------------------- \
140INPUT                  = $processFiles \
141FILE_PATTERNS          =  \
142RECURSIVE              = NO \
143EXCLUDE                =  \
144EXCLUDE_SYMLINKS       = NO \
145EXCLUDE_PATTERNS       =  \
146EXAMPLE_PATH           =  \
147EXAMPLE_PATTERNS       =  \
148EXAMPLE_RECURSIVE      = NO \
149IMAGE_PATH             =  \
150INPUT_FILTER           =  \
151FILTER_SOURCE_FILES    = NO \
152#--------------------------------------------------------------------------- \
153# configuration options related to source browsing \
154#--------------------------------------------------------------------------- \
155SOURCE_BROWSER         = NO \
156INLINE_SOURCES         = NO \
157STRIP_CODE_COMMENTS    = YES \
158REFERENCED_BY_RELATION = YES \
159REFERENCES_RELATION    = YES \
160VERBATIM_HEADERS       = YES \
161#--------------------------------------------------------------------------- \
162# configuration options related to the alphabetical class index \
163#--------------------------------------------------------------------------- \
164ALPHABETICAL_INDEX     = NO \
165COLS_IN_ALPHA_INDEX    = 5 \
166IGNORE_PREFIX          =  \
167#--------------------------------------------------------------------------- \
168# configuration options related to the HTML output \
169#--------------------------------------------------------------------------- \
170GENERATE_HTML          = YES \
171HTML_OUTPUT            = html \
172HTML_FILE_EXTENSION    = .html \
173HTML_HEADER            =  \
174HTML_FOOTER            =  \
175HTML_STYLESHEET        =  \
176HTML_ALIGN_MEMBERS     = YES \
177GENERATE_HTMLHELP      = NO \
178CHM_FILE               =  \
179HHC_LOCATION           =  \
180GENERATE_CHI           = NO \
181BINARY_TOC             = NO \
182TOC_EXPAND             = NO \
183DISABLE_INDEX          = NO \
184ENUM_VALUES_PER_LINE   = 4 \
185GENERATE_TREEVIEW      = NO \
186TREEVIEW_WIDTH         = 250 \
187#--------------------------------------------------------------------------- \
188# configuration options related to the LaTeX output \
189#--------------------------------------------------------------------------- \
190GENERATE_LATEX         = NO \
191LATEX_OUTPUT           = latex \
192LATEX_CMD_NAME         = latex \
193MAKEINDEX_CMD_NAME     = makeindex \
194COMPACT_LATEX          = NO \
195PAPER_TYPE             = a4wide \
196EXTRA_PACKAGES         =  \
197LATEX_HEADER           =  \
198PDF_HYPERLINKS         = NO \
199USE_PDFLATEX           = NO \
200LATEX_BATCHMODE        = NO \
201LATEX_HIDE_INDICES     = NO \
202#--------------------------------------------------------------------------- \
203# configuration options related to the RTF output \
204#--------------------------------------------------------------------------- \
205GENERATE_RTF           = NO \
206RTF_OUTPUT             = rtf \
207COMPACT_RTF            = NO \
208RTF_HYPERLINKS         = NO \
209RTF_STYLESHEET_FILE    =  \
210RTF_EXTENSIONS_FILE    =  \
211#--------------------------------------------------------------------------- \
212# configuration options related to the man page output \
213#--------------------------------------------------------------------------- \
214GENERATE_MAN           = NO \
215MAN_OUTPUT             = man \
216MAN_EXTENSION          = .3 \
217MAN_LINKS              = NO \
218#--------------------------------------------------------------------------- \
219# configuration options related to the XML output \
220#--------------------------------------------------------------------------- \
221GENERATE_XML           = NO \
222XML_OUTPUT             = xml \
223XML_SCHEMA             =  \
224XML_DTD                =  \
225XML_PROGRAMLISTING     = YES \
226#--------------------------------------------------------------------------- \
227# configuration options for the AutoGen Definitions output \
228#--------------------------------------------------------------------------- \
229GENERATE_AUTOGEN_DEF   = NO \
230#--------------------------------------------------------------------------- \
231# configuration options related to the Perl module output \
232#--------------------------------------------------------------------------- \
233GENERATE_PERLMOD       = NO \
234PERLMOD_LATEX          = NO \
235PERLMOD_PRETTY         = YES \
236PERLMOD_MAKEVAR_PREFIX =  \
237#--------------------------------------------------------------------------- \
238# Configuration options related to the preprocessor    \
239#--------------------------------------------------------------------------- \
240ENABLE_PREPROCESSING   = YES \
241MACRO_EXPANSION        = NO \
242EXPAND_ONLY_PREDEF     = NO \
243SEARCH_INCLUDES        = YES \
244INCLUDE_PATH           =  \
245INCLUDE_FILE_PATTERNS  =  \
246PREDEFINED             =  \
247EXPAND_AS_DEFINED      =  \
248SKIP_FUNCTION_MACROS   = YES \
249#--------------------------------------------------------------------------- \
250# Configuration::additions related to external references    \
251#--------------------------------------------------------------------------- \
252TAGFILES               =  \
253GENERATE_TAGFILE       =  \
254ALLEXTERNALS           = NO \
255EXTERNAL_GROUPS        = YES \
256PERL_PATH              = /usr/bin/perl \
257#--------------------------------------------------------------------------- \
258# Configuration options related to the dot tool    \
259#--------------------------------------------------------------------------- \
260CLASS_DIAGRAMS         = YES \
261HIDE_UNDOC_RELATIONS   = YES \
262HAVE_DOT               = NO \
263CLASS_GRAPH            = YES \
264COLLABORATION_GRAPH    = YES \
265UML_LOOK               = NO \
266TEMPLATE_RELATIONS     = NO \
267INCLUDE_GRAPH          = YES \
268INCLUDED_BY_GRAPH      = YES \
269CALL_GRAPH             = NO \
270GRAPHICAL_HIERARCHY    = YES \
271DOT_IMAGE_FORMAT       = png \
272DOT_PATH               =  \
273DOTFILE_DIRS           =  \
274MAX_DOT_GRAPH_WIDTH    = 1024 \
275MAX_DOT_GRAPH_HEIGHT   = 1024 \
276MAX_DOT_GRAPH_DEPTH    = 0 \
277GENERATE_LEGEND        = YES \
278DOT_CLEANUP            = YES \
279#--------------------------------------------------------------------------- \
280# Configuration::additions related to the search engine    \
281#--------------------------------------------------------------------------- \
282SEARCHENGINE           = NO \
283 \
284";
285
286close DOXfile;
287
288print "==================================================================\n";
289print "Generating Documentation of $processFiles\n";
290print "==================================================================\n";
291exec("doxygen $tempDoxFile");
292
293
294unlink $tmpDoxFile;
Note: See TracBrowser for help on using the repository browser.