00001 * 00002 /*! 00003 * @file ./dox_filter.sh 00004 * 00005 * @brief Convince Doxygen to parse files other than source code 00006 * as part of documentation set. 00007 * 00008 * This script is invoked from with @b doxygen via @b bootjvm.dox as 00009 * the @b INPUT_FILTER value. 00010 * 00011 * For shell scripts, strip non-comments and convert shell comments 00012 * beginning in column 1 from (<b>^#</b>) to (<b> *</b>). These appear 00013 * to Doxygen to be 'C' style intermediate comments (of stylistic 00014 * interest). 00015 * 00016 * Convert comment with an explanation point (<b>^#!</b>) character 00017 * to look like a Doxygen start-of-documentation tag (<b>/</b><b>*!</b>), 00018 * a special form of a 'C' style open comment (of syntactic interest). 00019 * 00020 * Convert comment with a slash (<b>^#/</b>) character to look like 00021 * a Doxygen end-of-documentation tag (<b>*</b><b>/</b>), a special 00022 * form of a 'C' style close comment (of syntactic interest). 00023 * 00024 * Other selected files may be converted also, but only the header areas 00025 * need to begin with a script-style comment. For a simple example, 00026 * please refer to @link ./LICENSE LICENSE@endlink. 00027 * 00028 * 00029 * @todo A Windows .BAT version of this script needs to be written 00030 * 00031 * 00032 * @section Control 00033 * 00034 * \$URL: https://svn.apache.org/path/name/dox_filter.sh $ \$Id: dox_filter.sh 0 09/28/2005 dlydick $ 00035 * 00036 * Copyright 2005 The Apache Software Foundation 00037 * or its licensors, as applicable. 00038 * 00039 * Licensed under the Apache License, Version 2.0 ("the License"); 00040 * you may not use this file except in compliance with the License. 00041 * You may obtain a copy of the License at 00042 * 00043 * http://www.apache.org/licenses/LICENSE-2.0 00044 * 00045 * Unless required by applicable law or agreed to in writing, 00046 * software distributed under the License is distributed on an 00047 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 00048 * either express or implied. 00049 * 00050 * See the License for the specific language governing permissions 00051 * and limitations under the License. 00052 * 00053 * @version \$LastChangedRevision: 0 $ 00054 * 00055 * @date \$LastChangedDate: 09/28/2005 $ 00056 * 00057 * @author \$LastChangedBy: dlydick $ 00058 * Original code contributed by Daniel Lydick on 09/28/2005. 00059 * 00060 * @section Reference 00061 * 00062 */ /* 00063 * (Use #! and #/ with dox_filter.sh to fool Doxygen into 00064 * parsing this non-source text file for the documentation set. 00065 * Use the above open comment to force termination of parsing 00066 * since it is not a Doxygen-style 'C' comment.) 00067 * 00068 * 00069 *################################################################## 00070 * 00071 * Look for all INPUT= files with '.sh' extension and convert them 00072 * to look like a block of 'C' code comments so Doxygen can parse 00073 * out their documentation tags. 00074 * 00075 * Magic, but _very_ vanilla Unix, method to extract file extension 00076 * Process '*.sh' and specific files with filter to convert their 00077 * comments per above 00078 * 00079 * EOF 00080