1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
# -*- tcl -*-
# Implementation of 'validate'.
# Available variables
# * argv - Cmdline arguments
# * base - Location of sak.tcl = Top directory of Tcllib distribution
# * cbase - Location of all files relevant to this command.
# * sbase - Location of all files supporting the SAK.
package require sak::util
package require sak::validate
set raw 0
set log 0
set stem {}
set tclv {}
if {[llength $argv]} {
# First argument may be a command.
set cmd [lindex $argv 0]
if {![catch {
package require sak::validate::$cmd
} msg]} {
set argv [lrange $argv 1 end]
} else {
set cmd all
}
# Now process any possible options (-v, -l, --log).
while {[string match -* [set opt [lindex $argv 0]]]} {
switch -exact -- $opt {
-v {
set raw 1
set argv [lrange $argv 1 end]
}
-l - --log {
set log 1
set stem [lindex $argv 1]
set argv [lrange $argv 2 end]
}
-t - --tcl {
set tclv [lindex $argv 1]
set argv [lrange $argv 2 end]
}
default {
sak::validate::usage Unknown option "\"$opt\""
}
}
}
} else {
set cmd all
}
# At last now handle all remaining arguments as module specifications.
if {![sak::util::checkModules argv]} return
if {$log} { set raw 0 }
array set mode {
00 short
01 log
10 verbose
11 _impossible_
}
sak::validate::$cmd $argv $mode($raw$log) $stem $tclv
##
# ###
|