diff options
| author | genotrance <dev@genotrance.com> | 2018-07-10 12:30:56 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-07-10 12:30:56 -0500 |
| commit | ef59bd105d351edb5c969c6e4c153f2c4b71caf4 (patch) | |
| tree | ddefef940c73cfc7a31ff8cd8a975801a5a5208d | |
| parent | 9c2c252f043e93e4cf59b31b6cb7a4d1897f69ec (diff) | |
| parent | ab3185b611c138ad32c7149ba5260ba67bf0fb4a (diff) | |
| download | nimgen-ef59bd105d351edb5c969c6e4c153f2c4b71caf4.tar.gz nimgen-ef59bd105d351edb5c969c6e4c153f2c4b71caf4.zip | |
Merge pull request #14 from jyapayne/reset_files
Add section for resetting files
| -rw-r--r-- | README.md | 8 | ||||
| -rw-r--r-- | nimgen.nim | 13 |
2 files changed, 20 insertions, 1 deletions
@@ -118,6 +118,14 @@ The following keys can be used to prepare dependencies such as downloading ZIP f ```copy``` = copy a file to another location. Preferred over moving to preserve original. Comma separate for multiple entries. E.g. copy = "output/config.h.in=output/config.h" +_[n.post]_ + +This section is the same as the prepare section, but for performing actions after the project has been processed. + +```reset``` = whether or not to perform a git reset on all files after processing [default: false] + +```execute``` = command to run after processing + _[n.wildcard]_ File wildcards such as *.nim, ssl*.h, etc. can be used to perform tasks across a group of files. This is useful to define common operations such as global text replacements without having to specify an explicit section for every single file. These operations will be performed on every matching file that is defined as a _sourcefile_ or recursed files. Only applies on source files following the wildcard declarations. @@ -811,11 +811,22 @@ proc runCfg(cfg: string) = gConfig["n.wildcard"][wild]) for file in gConfig.keys(): - if file in @["n.global", "n.include", "n.exclude", "n.prepare", "n.wildcard"]: + if file in @["n.global", "n.include", "n.exclude", + "n.prepare", "n.wildcard", "n.post"]: continue runFile(file, gConfig[file]) + if gConfig.hasKey("n.post"): + for post in gConfig["n.post"].keys(): + let (key, val) = getKey(post) + if val == true: + let postVal = gConfig["n.post"][post] + if key == "reset": + gitReset() + elif key == "execute": + discard execProc(postVal) + # ### # Main loop |
