Overview
Artifact ID: | e01efa3b59f47f9f5355b71cce3ecd0b417dea65 |
---|---|
Page Name: | v2.0-modularization-SOTU |
Date: | 2019-01-17 18:08:45 |
Original User: | bjbarcla |
Mimetype: | text/x-markdown |
Next | 7f39f2a413d4b10ee1ad07c143ad5790fda1e3c3 |
Content
megatest branch: v2.01-local-mtfiles
opensrc branch: modularize-debug
goals:
enable development of eggs without altering megatest install area
decouple argument processing, debug messages, config file loading
modularity
- compiler checks missing bindings (like perl -w)
- not all modules loaded at start
- reuse
architecture notes:
installation different.
- was:
- make install -> /bin
- now:
- make install -> /tmpinstall/{bin,eggs,share},
how?
- link tree /tmpinstall/eggs
- during build, setenv CHICKEN_REPOSITORY /tmpinstall/eggs/…
- at runtime, (repository-path /tmpinstall/eggs/…)
- mtconfigf.scm
- common.scm
decoupling notes
mtdebug
;; configure mtdebug ;; TODO: move to megatest.scm with other command line arg processing (if (args:get-arg "-v") (debug:set-verbose-mode)) (if (args:get-arg "-q") (debug:set-quiet-mode)) (if (args:get-arg "-color") (case (string->symbol (args:get-arg "-color")) ((y Y yes YES t T) (debug:force-color)) ((n N no NO f F) (debug:suppress-color)))) debug 0,9 does not work
mtconfigf
(define *default-log-port* (current-error-port)) (let* ((normal-fn debug:print) (info-fn debug:print-info) (error-fn debug:print-error) (default-port *default-log-port*)) (configf:set-debug-printers normal-fn info-fn error-fn default-port)) (configf:add-eval-string "(import (prefix mtargs args:)) (import mtdebug) (import (prefix mtconfigf configf:))")
already: common_records.scm included by many megatest scm's
new:
- include modules.scm from common_records.scm
- include modules.scm from scm's and utils that do not include common_records.scm
modules.scm:
- use's new eggs
- sets up new eggs (to be moved to megatest.scm and other toplevels (sauth, dashboard.scm, etc..)
modules.scm
completed:
moved following from megatest source tree into opensrc/mtutils eggs:
- margs.scm -> mtargs
- debug: functions in common -> mtdebug
- configf.scm -> mtconfigf