From 6846070dcd7dc045953f3022ac81d787aa9dba04 Mon Sep 17 00:00:00 2001 From: Andreas Kupries Date: Wed, 19 Oct 2011 15:12:41 -0700 Subject: [PATCH] Modified the build scripts in the examples to handle compile/link failures more graceful. Instead of throwing whatever error occured, or trying to install something which does not exist bypass the latter, and let the log shown speak for itself. --- examples/clist/build.tcl | 21 ++++++++++++++++----- examples/random/build.tcl | 21 ++++++++++++++++----- examples/selfcompanion/build.tcl | 21 ++++++++++++++++----- examples/stack/build.tcl | 21 ++++++++++++++++----- examples/zlibwrap/build.tcl | 21 ++++++++++++++++----- 5 files changed, 80 insertions(+), 25 deletions(-) diff --git a/examples/clist/build.tcl b/examples/clist/build.tcl index 31079c99..b91ea7c6 100755 --- a/examples/clist/build.tcl +++ b/examples/clist/build.tcl @@ -70,6 +70,10 @@ proc log {args} { set chan stdout } # chan <=> tag, if not overriden + if {[string match {Files left*} $text]} { + set tag warn + set text \n$text + } if {$tag eq {}} { set tag $chan } #::_puts $tag/$text @@ -133,6 +137,11 @@ proc _install {{ldir {}}} { file delete -force [pwd]/BUILD critcl::app::main [list -cache [pwd]/BUILD -libdir $ldir -includedir $idir -pkg $src] + if {![file exists $ldir/$p]} { + set ::NOTE {warn {DONE, with FAILURES}} + break + } + file delete -force $ldir/$p$version file rename $ldir/$p $ldir/$p$version @@ -159,8 +168,9 @@ proc _gui {} { .st setwidget .t .t tag configure stdout -font {Helvetica 8} - .t tag configure stderr -background red -font {Helvetica 12} - .t tag configure ok -background green -font {Helvetica 8} + .t tag configure stderr -background red -font {Helvetica 12} + .t tag configure ok -background green -font {Helvetica 8} + .t tag configure warn -background yellow -font {Helvetica 12} grid .l -row 0 -column 0 -sticky new grid .e -row 0 -column 1 -sticky new @@ -187,15 +197,16 @@ proc _gui {} { return } proc Install {} { - global INSTALLPATH + global INSTALLPATH NOTE .i configure -state disabled + set NOTE {ok DONE} set fail [catch { _install $INSTALLPATH puts "" - tag ok - puts DONE + tag [lindex $NOTE 0] + puts [lindex $NOTE 1] } e o] .i configure -state normal diff --git a/examples/random/build.tcl b/examples/random/build.tcl index 631c1d1b..5ace25e3 100755 --- a/examples/random/build.tcl +++ b/examples/random/build.tcl @@ -72,6 +72,10 @@ proc log {args} { set chan stdout } # chan <=> tag, if not overriden + if {[string match {Files left*} $text]} { + set tag warn + set text \n$text + } if {$tag eq {}} { set tag $chan } #::_puts $tag/$text @@ -135,6 +139,11 @@ proc _install {{ldir {}}} { file delete -force [pwd]/BUILD critcl::app::main [list -cache [pwd]/BUILD -libdir $ldir -includedir $idir -pkg $src] + if {![file exists $ldir/$p]} { + set ::NOTE {warn {DONE, with FAILURES}} + break + } + file delete -force $ldir/$p$version file rename $ldir/$p $ldir/$p$version @@ -161,8 +170,9 @@ proc _gui {} { .st setwidget .t .t tag configure stdout -font {Helvetica 8} - .t tag configure stderr -background red -font {Helvetica 12} - .t tag configure ok -background green -font {Helvetica 8} + .t tag configure stderr -background red -font {Helvetica 12} + .t tag configure ok -background green -font {Helvetica 8} + .t tag configure warn -background yellow -font {Helvetica 12} grid .l -row 0 -column 0 -sticky new grid .e -row 0 -column 1 -sticky new @@ -189,15 +199,16 @@ proc _gui {} { return } proc Install {} { - global INSTALLPATH + global INSTALLPATH NOTE .i configure -state disabled + set NOTE {ok DONE} set fail [catch { _install $INSTALLPATH puts "" - tag ok - puts DONE + tag [lindex $NOTE 0] + puts [lindex $NOTE 1] } e o] .i configure -state normal diff --git a/examples/selfcompanion/build.tcl b/examples/selfcompanion/build.tcl index 1e37825c..ab772248 100755 --- a/examples/selfcompanion/build.tcl +++ b/examples/selfcompanion/build.tcl @@ -70,6 +70,10 @@ proc log {args} { set chan stdout } # chan <=> tag, if not overriden + if {[string match {Files left*} $text]} { + set tag warn + set text \n$text + } if {$tag eq {}} { set tag $chan } #::_puts $tag/$text @@ -133,6 +137,11 @@ proc _install {{ldir {}}} { file delete -force [pwd]/BUILD critcl::app::main [list -cache [pwd]/BUILD -libdir $ldir -includedir $idir -pkg $src] + if {![file exists $ldir/$p]} { + set ::NOTE {warn {DONE, with FAILURES}} + break + } + file delete -force $ldir/$p$version file rename $ldir/$p $ldir/$p$version @@ -159,8 +168,9 @@ proc _gui {} { .st setwidget .t .t tag configure stdout -font {Helvetica 8} - .t tag configure stderr -background red -font {Helvetica 12} - .t tag configure ok -background green -font {Helvetica 8} + .t tag configure stderr -background red -font {Helvetica 12} + .t tag configure ok -background green -font {Helvetica 8} + .t tag configure warn -background yellow -font {Helvetica 12} grid .l -row 0 -column 0 -sticky new grid .e -row 0 -column 1 -sticky new @@ -187,15 +197,16 @@ proc _gui {} { return } proc Install {} { - global INSTALLPATH + global INSTALLPATH NOTE .i configure -state disabled + set NOTE {ok DONE} set fail [catch { _install $INSTALLPATH puts "" - tag ok - puts DONE + tag [lindex $NOTE 0] + puts [lindex $NOTE 1] } e o] .i configure -state normal diff --git a/examples/stack/build.tcl b/examples/stack/build.tcl index f83b1f76..f15f7cbd 100755 --- a/examples/stack/build.tcl +++ b/examples/stack/build.tcl @@ -72,6 +72,10 @@ proc log {args} { set chan stdout } # chan <=> tag, if not overriden + if {[string match {Files left*} $text]} { + set tag warn + set text \n$text + } if {$tag eq {}} { set tag $chan } #::_puts $tag/$text @@ -135,6 +139,11 @@ proc _install {{ldir {}}} { file delete -force [pwd]/BUILD critcl::app::main [list -cache [pwd]/BUILD -libdir $ldir -includedir $idir -pkg $src] + if {![file exists $ldir/$p]} { + set ::NOTE {warn {DONE, with FAILURES}} + break + } + file delete -force $ldir/$p$version file rename $ldir/$p $ldir/$p$version @@ -161,8 +170,9 @@ proc _gui {} { .st setwidget .t .t tag configure stdout -font {Helvetica 8} - .t tag configure stderr -background red -font {Helvetica 12} - .t tag configure ok -background green -font {Helvetica 8} + .t tag configure stderr -background red -font {Helvetica 12} + .t tag configure ok -background green -font {Helvetica 8} + .t tag configure warn -background yellow -font {Helvetica 12} grid .l -row 0 -column 0 -sticky new grid .e -row 0 -column 1 -sticky new @@ -189,15 +199,16 @@ proc _gui {} { return } proc Install {} { - global INSTALLPATH + global INSTALLPATH NOTE .i configure -state disabled + set NOTE {ok DONE} set fail [catch { _install $INSTALLPATH puts "" - tag ok - puts DONE + tag [lindex $NOTE 0] + puts [lindex $NOTE 1] } e o] .i configure -state normal diff --git a/examples/zlibwrap/build.tcl b/examples/zlibwrap/build.tcl index 35798607..10d6f0f8 100755 --- a/examples/zlibwrap/build.tcl +++ b/examples/zlibwrap/build.tcl @@ -70,6 +70,10 @@ proc log {args} { set chan stdout } # chan <=> tag, if not overriden + if {[string match {Files left*} $text]} { + set tag warn + set text \n$text + } if {$tag eq {}} { set tag $chan } #::_puts $tag/$text @@ -138,6 +142,11 @@ proc _install {{ldir {}} {mode {}}} { critcl::app::main [list -with-mode $mode -cache [pwd]/BUILD -libdir $ldir -includedir $idir -pkg $src] } + if {![file exists $ldir/$p]} { + set ::NOTE {warn {DONE, with FAILURES}} + break + } + file delete -force $ldir/$p$version file rename $ldir/$p $ldir/$p$version @@ -164,8 +173,9 @@ proc _gui {} { .st setwidget .t .t tag configure stdout -font {Helvetica 8} - .t tag configure stderr -background red -font {Helvetica 12} - .t tag configure ok -background green -font {Helvetica 8} + .t tag configure stderr -background red -font {Helvetica 12} + .t tag configure ok -background green -font {Helvetica 8} + .t tag configure warn -background yellow -font {Helvetica 12} grid .l -row 0 -column 0 -sticky new grid .e -row 0 -column 1 -sticky new @@ -192,15 +202,16 @@ proc _gui {} { return } proc Install {} { - global INSTALLPATH + global INSTALLPATH NOTE .i configure -state disabled + set NOTE {ok DONE} set fail [catch { _install $INSTALLPATH puts "" - tag ok - puts DONE + tag [lindex $NOTE 0] + puts [lindex $NOTE 1] } e o] .i configure -state normal