Commit Graph

20 Commits

Author SHA1 Message Date
Brian Picciano
2eb4a37533 mcfg: make Parse and Populate return a Context, to allow for sub-commands 2019-04-04 12:52:43 -04:00
Brian Picciano
c0afa3d126 mcfg: Parse now takes a Context, which allows for implementing WithCLITail 2019-04-04 12:20:40 -04:00
Brian Picciano
4536db8968 merr: refactor Wrap/WrapSkip/New to take multiple contexts rather than annotations 2019-02-27 13:05:51 -05:00
Brian Picciano
e1e52db208 refactor everything to use context's annotation system, making some significant changes to annotations themselves along the way 2019-02-24 15:36:07 -05:00
Brian Picciano
4b446a0efc mctx: refactor so that contexts no longer carry mutable data
This change required refactoring nearly every package in this project,
but it does a lot to simplify mctx and make other code using it easier
to think about.

Other code, such as mlog and mcfg, had to be slightly modified for this
change to work as well.
2019-02-07 19:42:12 -05:00
Brian Picciano
8e2cffd65b mcfg: make ParamValue not embed Param, so that a Source which is []ParamValue makes sense, and can replace SourceMap 2019-01-25 17:33:36 -05:00
Brian Picciano
b33b157e15 mcfg: update docs to make running Populate more than once explicitly allowed 2019-01-25 16:46:39 -05:00
Brian Picciano
05a69589bc mcfg: use merr for returned errors, and make help output prioritize required params towards the top 2019-01-24 22:02:04 -05:00
Brian Picciano
96db88b7d0 mcfg: allow Source param to Populate to be nil 2019-01-11 17:44:53 -05:00
Brian Picciano
6e8338a5f8 mcfg: refactor to remove Child and Hook stuff, and use mctx instead 2019-01-08 14:21:55 -05:00
Brian Picciano
132c51eaf0 mcfg: move Path out of ParamValue and into Param, which allows for shuffling around a whole bunch of code to make things make a bit more sense 2018-08-13 21:02:06 -04:00
Brian Picciano
be17ee942a mcfg: simplify populateParams 2018-08-13 20:05:22 -04:00
Brian Picciano
8084268bbf mcfg: shuffle some code around so there's a common way of retrieving all ParamValues out of a Cfg 2018-08-13 18:44:46 -04:00
Brian Picciano
7861cf148e mcfg: always lowercase param and child names 2018-08-13 11:50:57 -04:00
Brian Picciano
196df2b739 mcfg: add ParamJSON and fix required params error message 2018-08-09 18:05:04 -06:00
Brian Picciano
7db5197a1e mcfg: add some helper methods to Cfg related to its Path 2018-05-28 03:10:57 +00:00
Brian Picciano
4e0d440d09 mcfg: refactor slightly to separate Run into StartRun and StopRun 2018-05-28 02:39:56 +00:00
Brian Picciano
c5c11dc067 mcfg: make Child set its hooks to happen _then_, not recursively/concurrently during the parents', otherwise you can't effect a child's behavior with parent configs (e.g. changing the handler being passed into an http server) 2018-05-27 07:58:51 +00:00
Brian Picciano
0feba17791 give mcfg.Cfg a TestRun method which can be used during tests 2018-02-15 22:46:32 +00:00
Brian Picciano
3d43caba18 implement mcfg package, which includes both configuration, runtime setup, and organizing both into heirarchies 2018-02-14 18:24:54 +00:00