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