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