23 changed files with 657 additions and 129 deletions
@ -0,0 +1,45 @@
|
||||
|
||||
package require punk::cap |
||||
|
||||
|
||||
tcl::namespace::eval punk::mix { |
||||
proc init {} { |
||||
package require punk::cap::handlers::templates ;#handler for templates cap |
||||
punk::cap::register_capabilityname punk.templates ::punk::cap::handlers::templates ;#time taken should generally be sub 200us |
||||
|
||||
#todo: use tcllib pluginmgr to load all modules that provide 'punk.templates' |
||||
#review - tcllib pluginmgr 0.5 @2025 has some bugs - esp regarding .tm modules vs packages |
||||
#We may also need to better control the order of module and library paths in the safe interps pluginmgr uses. |
||||
#todo - develop punk::pluginmgr to fix these issues (bug reports already submitted re tcllib, but the path issues may need customisation) |
||||
|
||||
#The punk::mix::templates module is implemented as a zip based archive (modpod header) |
||||
#This requires vfs::zip package or zipfs command in Tcl |
||||
#Both are binary requirements - either can fail on older systems. |
||||
if {[catch { |
||||
package require punk::mix::templates ;#registers as provider pkg for 'punk.templates' capability with punk::cap |
||||
} errTemplates]} { |
||||
#emit a warning - but continue on without templates anyway. (punk::mix required to load when using bootsupport paths) |
||||
puts stderr "punk::mix failed to load ZIP archive-based module punk::mix::templates\nUse a modern Tcl with zipfs, or a recent vfs::zip library\nError:$errTemplates" |
||||
} else { |
||||
set t [time { |
||||
if {[catch {punk::mix::templates::provider register *} errM]} { |
||||
puts stderr "punk::mix failure during punk::mix::templates::provider register *" |
||||
puts stderr $errM |
||||
puts stderr "-----" |
||||
puts stderr $::errorInfo |
||||
} |
||||
}] |
||||
} |
||||
puts stderr "->punk::mix::templates::provider register * t=$t" |
||||
} |
||||
init |
||||
} |
||||
|
||||
package require punk::mix::base |
||||
package require punk::mix::cli |
||||
|
||||
package provide punk::mix [tcl::namespace::eval punk::mix { |
||||
variable version |
||||
set version 0.2.1 |
||||
|
||||
}] |
||||
@ -1,37 +0,0 @@
|
||||
|
||||
package require punk::cap |
||||
|
||||
|
||||
tcl::namespace::eval punk::mix { |
||||
proc init {} { |
||||
package require punk::cap::handlers::templates ;#handler for templates cap |
||||
punk::cap::register_capabilityname punk.templates ::punk::cap::handlers::templates ;#time taken should generally be sub 200us |
||||
|
||||
#todo: use tcllib pluginmgr to load all modules that provide 'punk.templates' |
||||
#review - tcllib pluginmgr 0.5 @2025 has some bugs - esp regarding .tm modules vs packages |
||||
#We may also need to better control the order of module and library paths in the safe interps pluginmgr uses. |
||||
#todo - develop punk::pluginmgr to fix these issues (bug reports already submitted re tcllib, but the path issues may need customisation) |
||||
|
||||
package require punk::mix::templates ;#registers as provider pkg for 'punk.templates' capability with punk::cap |
||||
set t [time { |
||||
if {[catch {punk::mix::templates::provider register *} errM]} { |
||||
puts stderr "punk::mix failure during punk::mix::templates::provider register *" |
||||
puts stderr $errM |
||||
puts stderr "-----" |
||||
puts stderr $::errorInfo |
||||
} |
||||
}] |
||||
puts stderr "->punk::mix::templates::provider register * t=$t" |
||||
} |
||||
init |
||||
|
||||
} |
||||
|
||||
package require punk::mix::base |
||||
package require punk::mix::cli |
||||
|
||||
package provide punk::mix [tcl::namespace::eval punk::mix { |
||||
variable version |
||||
set version 0.2 |
||||
|
||||
}] |
||||
@ -0,0 +1,45 @@
|
||||
|
||||
package require punk::cap |
||||
|
||||
|
||||
tcl::namespace::eval punk::mix { |
||||
proc init {} { |
||||
package require punk::cap::handlers::templates ;#handler for templates cap |
||||
punk::cap::register_capabilityname punk.templates ::punk::cap::handlers::templates ;#time taken should generally be sub 200us |
||||
|
||||
#todo: use tcllib pluginmgr to load all modules that provide 'punk.templates' |
||||
#review - tcllib pluginmgr 0.5 @2025 has some bugs - esp regarding .tm modules vs packages |
||||
#We may also need to better control the order of module and library paths in the safe interps pluginmgr uses. |
||||
#todo - develop punk::pluginmgr to fix these issues (bug reports already submitted re tcllib, but the path issues may need customisation) |
||||
|
||||
#The punk::mix::templates module is implemented as a zip based archive (modpod header) |
||||
#This requires vfs::zip package or zipfs command in Tcl |
||||
#Both are binary requirements - either can fail on older systems. |
||||
if {[catch { |
||||
package require punk::mix::templates ;#registers as provider pkg for 'punk.templates' capability with punk::cap |
||||
} errTemplates]} { |
||||
#emit a warning - but continue on without templates anyway. (punk::mix required to load when using bootsupport paths) |
||||
puts stderr "punk::mix failed to load ZIP archive-based module punk::mix::templates\nUse a modern Tcl with zipfs, or a recent vfs::zip library\nError:$errTemplates" |
||||
} else { |
||||
set t [time { |
||||
if {[catch {punk::mix::templates::provider register *} errM]} { |
||||
puts stderr "punk::mix failure during punk::mix::templates::provider register *" |
||||
puts stderr $errM |
||||
puts stderr "-----" |
||||
puts stderr $::errorInfo |
||||
} |
||||
}] |
||||
} |
||||
puts stderr "->punk::mix::templates::provider register * t=$t" |
||||
} |
||||
init |
||||
} |
||||
|
||||
package require punk::mix::base |
||||
package require punk::mix::cli |
||||
|
||||
package provide punk::mix [tcl::namespace::eval punk::mix { |
||||
variable version |
||||
set version 999999.0a1.0 |
||||
|
||||
}] |
||||
@ -0,0 +1,3 @@
|
||||
0.2.1 |
||||
#First line must be a semantic version number |
||||
#all other lines are ignored. |
||||
@ -0,0 +1,45 @@
|
||||
|
||||
package require punk::cap |
||||
|
||||
|
||||
tcl::namespace::eval punk::mix { |
||||
proc init {} { |
||||
package require punk::cap::handlers::templates ;#handler for templates cap |
||||
punk::cap::register_capabilityname punk.templates ::punk::cap::handlers::templates ;#time taken should generally be sub 200us |
||||
|
||||
#todo: use tcllib pluginmgr to load all modules that provide 'punk.templates' |
||||
#review - tcllib pluginmgr 0.5 @2025 has some bugs - esp regarding .tm modules vs packages |
||||
#We may also need to better control the order of module and library paths in the safe interps pluginmgr uses. |
||||
#todo - develop punk::pluginmgr to fix these issues (bug reports already submitted re tcllib, but the path issues may need customisation) |
||||
|
||||
#The punk::mix::templates module is implemented as a zip based archive (modpod header) |
||||
#This requires vfs::zip package or zipfs command in Tcl |
||||
#Both are binary requirements - either can fail on older systems. |
||||
if {[catch { |
||||
package require punk::mix::templates ;#registers as provider pkg for 'punk.templates' capability with punk::cap |
||||
} errTemplates]} { |
||||
#emit a warning - but continue on without templates anyway. (punk::mix required to load when using bootsupport paths) |
||||
puts stderr "punk::mix failed to load ZIP archive-based module punk::mix::templates\nUse a modern Tcl with zipfs, or a recent vfs::zip library\nError:$errTemplates" |
||||
} else { |
||||
set t [time { |
||||
if {[catch {punk::mix::templates::provider register *} errM]} { |
||||
puts stderr "punk::mix failure during punk::mix::templates::provider register *" |
||||
puts stderr $errM |
||||
puts stderr "-----" |
||||
puts stderr $::errorInfo |
||||
} |
||||
}] |
||||
} |
||||
puts stderr "->punk::mix::templates::provider register * t=$t" |
||||
} |
||||
init |
||||
} |
||||
|
||||
package require punk::mix::base |
||||
package require punk::mix::cli |
||||
|
||||
package provide punk::mix [tcl::namespace::eval punk::mix { |
||||
variable version |
||||
set version 0.2.1 |
||||
|
||||
}] |
||||
@ -0,0 +1,45 @@
|
||||
|
||||
package require punk::cap |
||||
|
||||
|
||||
tcl::namespace::eval punk::mix { |
||||
proc init {} { |
||||
package require punk::cap::handlers::templates ;#handler for templates cap |
||||
punk::cap::register_capabilityname punk.templates ::punk::cap::handlers::templates ;#time taken should generally be sub 200us |
||||
|
||||
#todo: use tcllib pluginmgr to load all modules that provide 'punk.templates' |
||||
#review - tcllib pluginmgr 0.5 @2025 has some bugs - esp regarding .tm modules vs packages |
||||
#We may also need to better control the order of module and library paths in the safe interps pluginmgr uses. |
||||
#todo - develop punk::pluginmgr to fix these issues (bug reports already submitted re tcllib, but the path issues may need customisation) |
||||
|
||||
#The punk::mix::templates module is implemented as a zip based archive (modpod header) |
||||
#This requires vfs::zip package or zipfs command in Tcl |
||||
#Both are binary requirements - either can fail on older systems. |
||||
if {[catch { |
||||
package require punk::mix::templates ;#registers as provider pkg for 'punk.templates' capability with punk::cap |
||||
} errTemplates]} { |
||||
#emit a warning - but continue on without templates anyway. (punk::mix required to load when using bootsupport paths) |
||||
puts stderr "punk::mix failed to load ZIP archive-based module punk::mix::templates\nUse a modern Tcl with zipfs, or a recent vfs::zip library\nError:$errTemplates" |
||||
} else { |
||||
set t [time { |
||||
if {[catch {punk::mix::templates::provider register *} errM]} { |
||||
puts stderr "punk::mix failure during punk::mix::templates::provider register *" |
||||
puts stderr $errM |
||||
puts stderr "-----" |
||||
puts stderr $::errorInfo |
||||
} |
||||
}] |
||||
} |
||||
puts stderr "->punk::mix::templates::provider register * t=$t" |
||||
} |
||||
init |
||||
} |
||||
|
||||
package require punk::mix::base |
||||
package require punk::mix::cli |
||||
|
||||
package provide punk::mix [tcl::namespace::eval punk::mix { |
||||
variable version |
||||
set version 0.2.1 |
||||
|
||||
}] |
||||
@ -0,0 +1,45 @@
|
||||
|
||||
package require punk::cap |
||||
|
||||
|
||||
tcl::namespace::eval punk::mix { |
||||
proc init {} { |
||||
package require punk::cap::handlers::templates ;#handler for templates cap |
||||
punk::cap::register_capabilityname punk.templates ::punk::cap::handlers::templates ;#time taken should generally be sub 200us |
||||
|
||||
#todo: use tcllib pluginmgr to load all modules that provide 'punk.templates' |
||||
#review - tcllib pluginmgr 0.5 @2025 has some bugs - esp regarding .tm modules vs packages |
||||
#We may also need to better control the order of module and library paths in the safe interps pluginmgr uses. |
||||
#todo - develop punk::pluginmgr to fix these issues (bug reports already submitted re tcllib, but the path issues may need customisation) |
||||
|
||||
#The punk::mix::templates module is implemented as a zip based archive (modpod header) |
||||
#This requires vfs::zip package or zipfs command in Tcl |
||||
#Both are binary requirements - either can fail on older systems. |
||||
if {[catch { |
||||
package require punk::mix::templates ;#registers as provider pkg for 'punk.templates' capability with punk::cap |
||||
} errTemplates]} { |
||||
#emit a warning - but continue on without templates anyway. (punk::mix required to load when using bootsupport paths) |
||||
puts stderr "punk::mix failed to load ZIP archive-based module punk::mix::templates\nUse a modern Tcl with zipfs, or a recent vfs::zip library\nError:$errTemplates" |
||||
} else { |
||||
set t [time { |
||||
if {[catch {punk::mix::templates::provider register *} errM]} { |
||||
puts stderr "punk::mix failure during punk::mix::templates::provider register *" |
||||
puts stderr $errM |
||||
puts stderr "-----" |
||||
puts stderr $::errorInfo |
||||
} |
||||
}] |
||||
} |
||||
puts stderr "->punk::mix::templates::provider register * t=$t" |
||||
} |
||||
init |
||||
} |
||||
|
||||
package require punk::mix::base |
||||
package require punk::mix::cli |
||||
|
||||
package provide punk::mix [tcl::namespace::eval punk::mix { |
||||
variable version |
||||
set version 0.2.1 |
||||
|
||||
}] |
||||
Loading…
Reference in new issue