Contents 
 Index 
 "Shell Script Reference" 
 < Previous 
 Next > 

30_tp_tools.b

Go to the documentation of this file.
00001 // This file has been modified on-the-fly with an input filter
00002 // to change it from shell syntax to C++ strictly for the purposes
00003 // of faking out Doxygen. Modifications include:
00004 
00005 // - changing # comments to C++ comments.
00006 // - ...
00007 
00008 // If you see other strangeness in the HTML version of the script file,
00009 // it comes from getting it to look more C++ like.
00010 
00011 
00012 /////////////////////////////////////////////////////////////////////////////////
00013 //// $Id: 30_tp_tools.b,v 1.2 2002/12/24 19:00:38 gmaxe Exp $
00014 ////
00015 /** @file
00016  ** @brief Calls a couple of other shell scripts which do CVS checkout
00017  ** and then eventually a doxygen build. 
00018  **
00019  ** True, in this simple example, nearly all of the functionality of
00020  ** the shell scripts (eventually) called by this one 
00021  ** (e.g., 31*.b and 32*.b, and deeper down 35*.b and 55*.b)
00022  ** could be placed into this file.
00023  ** 
00024  ** However, this is only a simple example. In my real world, a documentation
00025  ** suite includes several doxygen projects. Plus, I have many different
00026  ** documentation suites covering different aspects of our code and aimed
00027  ** at different (mostly internal) audiences.
00028  ** 
00029  ** In my environment, a given documentation suite has multiple 30*.b files,
00030  ** which call associated 31*.b and 32*.b files. (Lately, I've been wrapping
00031  ** yet another 30_build_all.b around all of the 30*.b files which can be
00032  ** hooked into the software build process.)
00033  ** 
00034  ** With respect to the 31*.b and 31*.b separation, I found it beneficial to
00035  ** compartmentalize the CVS checkout procedures (31*.b) from the actual
00036  ** doxygen calls (32*.b), because it facilitated the maintenance/tweak mode
00037  ** better. I could focus on one project and one area of a project to
00038  ** get it correct when doing partial system builds.
00039  ** 
00040  ** Moreover, I found many operations that either were repeated frequently
00041  ** within the build process or were being forgotten whenever I tried to
00042  ** do a partial build. These were pulled out into 35*.b and 55*.b files.
00043  ** Yes, in some cases, certain perl programs are called multiple times
00044  ** on the same set of information. The run-time inefficiencies and 
00045  ** delays (seconds) in repeating operations was deemed acceptable in 
00046  ** comparison to the alternative, which was a compromise in the 
00047  ** integrity of the system (readily evident in the TOC or index) if
00048  ** I forgot a step in the partial build process.
00049  **
00050  ** @note This file can be used as a template for other code directories
00051  ** that Doxygen is being run against. Make sure than any new 30 files are
00052  ** added to the 00 script files, in addition to appropriate
00053  ** entries in the other script files.
00054  **
00055  ** @ingroup tp_tools tp_shell
00056  **
00057  ** @author Glenn C. Maxey
00058  **/
00059 // //
00060 //// 2002 Created by Voyant Technologies, Inc., Westminster, Colorado, USA.
00061 ////
00062 //// Permission to use, copy, modify, and distribute this software and its 
00063 //// documentation under the terms of the GNU General Public License is hereby 
00064 //// granted. No representations are made about the suitability of this software 
00065 //// for any purpose. It is provided "as is" without express or implied warranty. 
00066 //// See the GNU General Public License (http://www.gnu.org/copyleft/gpl.html) 
00067 //// for more details.
00068 //// 
00069 //// Documents produced by this script are derivative works derived from the 
00070 //// input used in their production; they are not affected by this license.
00071 ////
00072 //// $Log: 30_tp_tools.b,v $
00073 //// Revision 1.2  2002/12/24 19:00:38  gmaxe
00074 //// New structure and new version using TOC and all.
00075 ////
00076 ////
00077 /////////////////////////////////////////////////////////////////////////////////
00078 
00079 // assumes that you are in the <rtfm/>techpubs/tp_tools directory  <home> where this
00080 // script was found. ... 
00081 echo "Entering 30_tp_tools..."
00082 
00083 set def_ver = 'v2-00-0a'
00084 if ($// argv > 0) then
00085    @ cnt = 1
00086    while ($// argv)
00087       //  echo "$argv[1] and $cnt"
00088       if ($cnt == 1) then
00089          set rel_ver = $argv[1]
00090       endif
00091       @ cnt++
00092       shift
00093    end
00094    /rtfm/techpubs/perl/master_update.pl voyant_master_nav.html $rel_ver
00095    set ret_val = $status
00096    if ($ret_val > 0) then
00097       echo "WARNING: Problems with master_update.pl 1."
00098       exit 1
00099    endif
00100 else
00101    echo -n "Enter latest build version [$def_ver]:"
00102    set rel_ver = $<
00103    if ($rel_ver =~ "") then
00104       set rel_ver = $def_ver
00105       //  If we're just using the default version from this script, then
00106       //  the master itself will probably have more accurate version numbers.
00107       echo "Version from master file will be used and not '$rel_ver'."
00108       /rtfm/techpubs/perl/master_update.pl voyant_master_nav.html
00109       set ret_val = $status
00110       if ($ret_val > 0) then
00111          echo "WARNING: Problems with master_update.pl 2."
00112          exit 1
00113       endif
00114       echo "Version existing in master file was used and not the default [$rel_ver]."
00115    else
00116       //  we entered a valid version and should update with that date.
00117       /rtfm/techpubs/perl/master_update.pl voyant_master_nav.html $rel_ver
00118       set ret_val = $status
00119       if ($ret_val > 0) then
00120          echo "WARNING: Problems with master_update.pl 3."
00121          exit 1
00122       endif
00123    endif
00124 endif
00125 // echo "Will look here: $rel_ver"
00126 
00127 
00128 31_perl.b
00129 set ret_val = $status
00130 if ($ret_val > 0) then
00131    echo "ERROR: Problems with 31_tp_tools.b ."
00132    exit 1
00133 endif
00134 
00135 31_script.b
00136 set ret_val = $status
00137 if ($ret_val > 0) then
00138    echo "ERROR: Problems with 31_tp_tools.b ."
00139    exit 1
00140 endif
00141 
00142 32_perl.b
00143 set ret_val = $status
00144 if ($ret_val > 0) then
00145    echo "ERROR: Problems with 32_tp_tools.b."
00146    exit 1
00147 endif
00148 
00149 32_script.b
00150 set ret_val = $status
00151 if ($ret_val > 0) then
00152    echo "ERROR: Problems with 32_tp_tools.b."
00153    exit 1
00154 endif
00155 
00156 exit 0
00157 


 "Shell Script Reference" 
 < Previous 
 Next > 


Open-Source tools compliments of Voyant Technologies, Inc. and Glenn C. Maxey.
01/13/2003

TP Tools v2-00-0a

# tpt-script-hcr-02