home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / config_forte.tcl < prev    next >
Text File  |  1997-10-10  |  2KB  |  66 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc. 1997
  4. #
  5. #      File:        @(#)config_forte.tcl    /main/titanic/4
  6. #      Description:    Configure Forte Environment, i.e. import systems
  7. #            'Framework' and 'DisplayProject' into ObjectDesign
  8. #            and Implementation
  9. #---------------------------------------------------------------------------
  10. # SccsId = @(#)config_forte.tcl    /main/titanic/4    10 Oct 1997    Copyright 1997 Cayenne Software Inc.
  11.  
  12. proc importBuiltins {} {
  13.     set cc [ClientContext::global]
  14.     set phaseV [$cc currentPhase]
  15.     foreach sys {Framework DisplayProject} {
  16.     puts ""
  17.     set sysV [$phaseV findSystemVersion $sys "system"]
  18.     if {![$sysV isNil]} {
  19.         puts "System '$sys' already exists: not configuring it again."
  20.         continue
  21.     }
  22.  
  23.     set file [m4_path_name config $sys.tcl]
  24.     if {![file exist $file]} {
  25.         puts "Import of system '$sys' failed: file '$file' not found."
  26.     } else {
  27.         puts "Importing system '$sys'...  (this action will take some time)"
  28.         source $file
  29.     }
  30.     }
  31. }
  32.  
  33. proc makeCfgSystems {} {
  34.     set cc [ClientContext::global]
  35.     set configV [$cc currentConfig]
  36.     set phaseV [$cc currentPhase]
  37.     foreach sys {Framework DisplayProject} {
  38.     puts ""
  39.     set sysV [$phaseV findSystemVersion $sys "system"]
  40.     if {[$sysV isNil]} {
  41.         puts "Creating System '$sys'."
  42.         set sysV [$phaseV createSystemVersion $sys "cl" "system" $configV]
  43.         $sysV freeze "Configure Forte"
  44.     } elseif {[$sysV status] == "working"} {
  45.         $sysV freeze "Configure Forte"
  46.     }
  47.     }
  48. }
  49.  
  50.  
  51. puts "Configure Forte Environment"
  52. puts "==========================="
  53.  
  54. set cc [ClientContext::global]
  55. set phaseType [[[$cc currentPhase] phase] type]
  56. if {$phaseType == "ObjectDesign"} {
  57.     importBuiltins
  58.     puts "\n'Configure Forte Environment' finished."
  59. } elseif {$phaseType == "Implementation"} {
  60.     makeCfgSystems
  61.     puts "\n'Configure Forte Environment' finished."
  62. } else {
  63.     puts "\n'Configure Forte Environment' failed: invalid phase type '$phaseType'."
  64. }
  65.  
  66.