261 Commits

Author SHA1 Message Date
Thibault Jouan
9a8ab69c8c Extract cucumber env and steps to ease code reuse
producer extensions like producer-rails must not reimplement all the
testing infrastructure, this extraction allows to setup everything with
just one require call in cucumber env:

    require 'producer/core/testing/cucumber'
2015-04-05 02:14:00 +00:00
Thibault Jouan
50a44d51b7 Bump patch version 2015-04-04 20:23:01 +00:00
Thibault Jouan
dbe7fea204 Fix backtrace filtering for producer own code
Using /producer-\w+ as pattern is incorrect, we have no guarantee that
the canonical repository or gem name will be included in the install
path. Just use /producer pattern to match lib files or executables.
2015-04-04 20:15:22 +00:00
Thibault Jouan
1ac859f8d9 Bump minor version 2015-04-04 05:28:54 +00:00
Thibault Jouan
433f830c54 Implement recipe arguments
CLI will stop arguments processing after the special `--' argument,
the rest will be saved in the env and accessible through a new task
keyword: `recipe_argv'.
2015-04-04 05:25:01 +00:00
Thibault Jouan
b32487253c Bump patch version 2015-04-03 23:22:29 +00:00
Thibault Jouan
1ccd95b80f Fix error formatting in debug mode
Backtrace filtering was only disabled for exception cause, this change
ensure no backtrace filtering at all in debug mode.

* Prevent main exception filtering when debug mode is enabled;
* Test when exception cause must be displayed;
* Test how exception cause must be displayed.
2015-04-03 23:18:28 +00:00
Thibault Jouan
b93e5717ce Filter ruby lib directory from error backtrace 2015-04-03 22:36:23 +00:00
Thibault Jouan
0da47a0acb Fix backtrace filtering for producer 2015-04-03 22:35:44 +00:00
Thibault Jouan
dc561de047 Fix backtrace filtering for net-ssh
Improve our filter pattern so it works for this kind of error:

SocketError: getaddrinfo: hostname nor servname provided, or not known
  /usr/local/lib/ruby/2.2/timeout.rb:74:in `timeout'
  /usr/local/lib/ruby/2.2/timeout.rb:125:in `timeout'
  /home/tj/.gem/ruby/22/gems/net-ssh-2.9.2/lib/net/ssh.rb:207:in `new'
  /home/tj/.gem/ruby/22/gems/net-ssh-2.9.2/lib/net/ssh.rb:207:in `start'
2015-04-03 22:34:46 +00:00
Thibault Jouan
b0b5257ec2 Bump version to 0.4.3 2015-02-18 01:06:37 +00:00
Thibault Jouan
7e3d753d5c Ensure env cleanup always happen in CLI#run 2014-11-18 19:21:42 +00:00
Thibault Jouan
a4571971e7 Filter net-ssh out of errors backtrace 2014-11-18 17:25:44 +00:00
Thibault Jouan
3b413a242f Implement `set?' task keyword:
When called from a task, will return true when given key exists and
false when key does not exist.
2014-11-18 16:48:11 +00:00
Thibault Jouan
1465b98f18 Accept a default value for `get' registry keyword 2014-11-18 15:56:25 +00:00
Thibault Jouan
86a84bbe12 Refactor with Forwardable module 2014-11-18 11:20:28 +00:00
Thibault Jouan
af1bb97287 Fix coding standards 2014-11-18 11:20:23 +00:00
Thibault Jouan
e93f5e6a57 Fix exception rescuing in CLI 2014-11-17 19:31:17 +00:00
Thibault Jouan
9f49cc5777 Bump version 2014-10-14 00:00:55 +00:00
Thibault Jouan
e22d0039e1 Implement CLI debug option 2014-10-12 23:45:01 +00:00
Thibault Jouan
25d03d4322 Improve CLI error reporting 2014-10-12 18:11:37 +00:00
Thibault Jouan
f6237bfc0c Implement `yaml_eq' condition keyword 2014-10-11 13:46:18 +00:00
Thibault Jouan
0ba12bfb90 Implement `yaml_write' action 2014-10-11 00:47:16 +00:00
Thibault Jouan
9780cdf220 Support YAML templates 2014-10-10 23:58:20 +00:00
Thibault Jouan
82879b56b4 Extract Task#template code in Template class 2014-10-10 16:36:06 +00:00
Thibault Jouan
6d74e499fa Bump version 2014-10-09 20:15:55 +00:00
Thibault Jouan
3cc52bb1a8 Fail when `sh' misses arguments 2014-10-09 20:14:44 +00:00
Thibault Jouan
3f82b923b7 Fail when `mkdir' misses arguments 2014-10-09 20:12:44 +00:00
Thibault Jouan
fdfd5df26f Fail when `file_replace_content' misses arguments 2014-10-09 20:06:15 +00:00
Thibault Jouan
7bdb778159 Refactor action arguments checks 2014-10-09 19:54:43 +00:00
Thibault Jouan
5549ebc676 Fail when `file_append' misses some arguments 2014-10-09 19:47:52 +00:00
Thibault Jouan
770f4df51e Output all arguments in `echo' action 2014-10-09 19:44:07 +00:00
Thibault Jouan
61c262a9f1 Fail when `file_write' misses some arguments 2014-10-09 19:11:16 +00:00
Thibault Jouan
3c4bcc1a4b Refactor actions with Action#setup 2014-10-09 01:06:42 +00:00
Thibault Jouan
336b43aaa7 Implement Action post-initialize hook 2014-10-09 00:20:52 +00:00
Thibault Jouan
c4006416e4 Support `file_write' status attributes 2014-10-08 22:36:32 +00:00
Thibault Jouan
a84b34b7ca Support `mkdir' status attributes 2014-10-08 22:36:27 +00:00
Thibault Jouan
6f2ff17b94 Bump minor version 2014-10-08 10:19:01 +00:00
Thibault Jouan
2e6625d444 Simplify Actions::Mkdir#apply 2014-10-08 08:44:25 +00:00
Thibault Jouan
f7aa853a88 Bump version 2014-10-02 03:20:40 +00:00
Thibault Jouan
9bc5c2aeec Implement `composed_macro' recipe keyword 2014-10-02 03:20:12 +00:00
Thibault Jouan
295fac40e1 Bump version 2014-09-28 14:34:01 +00:00
Thibault Jouan
6cd294a0b8 Implement `template' task keyword 2014-09-28 14:33:35 +00:00
Thibault Jouan
ff0287b545 Refactor Remote#execute 2014-09-27 13:12:02 +00:00
Thibault Jouan
52e8338a7d Fix coding standards 2014-09-27 12:15:53 +00:00
Thibault Jouan
2543fdeb00 Implement `file_match' condition keyword 2014-09-27 12:14:16 +00:00
Thibault Jouan
1f84b484bd Bump version 2014-09-26 19:06:25 +00:00
Thibault Jouan
7a7c8379ff Improve CLI usage:
* Rewrite arguments parsing with OptionParser;
* Allow processing of multiple recipes.
2014-09-26 19:06:10 +00:00
Thibault Jouan
85ee79ab88 Indent logging output on nested tasks 2014-09-26 10:26:00 +00:00
Thibault Jouan
2d4e04b2e5 Fail when accessing registry with invalid key 2014-09-26 00:24:19 +00:00