<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ruby-gems/mixlib-cli.git, branch experiment</title>
<subtitle>github.com: opscode/mixlib-cli
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/'/>
<entry>
<title>[MIXLIB-CLI-63] Add deprecated_option support</title>
<updated>2019-06-05T22:18:39+00:00</updated>
<author>
<name>Marc A. Paradise</name>
<email>marc.paradise@gmail.com</email>
</author>
<published>2019-06-04T20:04:11+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/commit/?id=e4f33ad8958387e5775a232f633f671df000b716'/>
<id>e4f33ad8958387e5775a232f633f671df000b716</id>
<content type='text'>
This commit adds deprecated option support by exposing a
new ClassMethod, `deprecated_option`. It will generate a
corresponding deprecated option, and if that option is used it will
handle mapping of the old option to the new and issue a warning.

`deprecated_option` accepts a subset of the parameters that `option` accepts.

Most importantly, a deprecated option can't have a default value.
There's a practical reason for this and a philosophical one.

Practically, it makes it easy to track the situation where someone has
set `use_separate_defaults` to `false`.  In that case, we currently
can't tell whether the user provided the flag, or it was set as a default.
This could have been addressed, but:

Philosophically it makes more sense to not have a default value on a
deprecated item. If it's deprecated, you want people to stop using it.
If it has a default, it's effectively forced in-use at all times.

See function docs for further accepted parameters.

To allow deprecated options without warnings, use parse_options as
`parse_options(ARGV, show_deprecations: false)`. By default, warnings
will be shown.

This also moves some formatting code into its own class -
it was causing methods to get mixed in that client classes didn't
need; and I reached the point where I needed to access the formatting
functions across methods in both Mixlib::CLI and
Mixlib::CLI::ClassMethods. It made more sense to move them outside of
the mixed-in bits, since it wasn't a concern of the caller that would be
inheriting those methods.

Signed-off-by: Marc A. Paradise &lt;marc.paradise@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds deprecated option support by exposing a
new ClassMethod, `deprecated_option`. It will generate a
corresponding deprecated option, and if that option is used it will
handle mapping of the old option to the new and issue a warning.

`deprecated_option` accepts a subset of the parameters that `option` accepts.

Most importantly, a deprecated option can't have a default value.
There's a practical reason for this and a philosophical one.

Practically, it makes it easy to track the situation where someone has
set `use_separate_defaults` to `false`.  In that case, we currently
can't tell whether the user provided the flag, or it was set as a default.
This could have been addressed, but:

Philosophically it makes more sense to not have a default value on a
deprecated item. If it's deprecated, you want people to stop using it.
If it has a default, it's effectively forced in-use at all times.

See function docs for further accepted parameters.

To allow deprecated options without warnings, use parse_options as
`parse_options(ARGV, show_deprecations: false)`. By default, warnings
will be shown.

This also moves some formatting code into its own class -
it was causing methods to get mixed in that client classes didn't
need; and I reached the point where I needed to access the formatting
functions across methods in both Mixlib::CLI and
Mixlib::CLI::ClassMethods. It made more sense to move them outside of
the mixed-in bits, since it wasn't a concern of the caller that would be
inheriting those methods.

Signed-off-by: Marc A. Paradise &lt;marc.paradise@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump version to 2.0.8 by Chef Expeditor</title>
<updated>2019-06-01T06:01:12+00:00</updated>
<author>
<name>Chef Expeditor</name>
<email>chef-ci@chef.io</email>
</author>
<published>2019-06-01T06:01:12+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/commit/?id=ae6e7e581520f81e048267f73d3ce43402886ba5'/>
<id>ae6e7e581520f81e048267f73d3ce43402886ba5</id>
<content type='text'>
Obvious fix; these changes are the result of automation not creative thinking.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Obvious fix; these changes are the result of automation not creative thinking.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #62 from chef/bk</title>
<updated>2019-06-01T06:01:02+00:00</updated>
<author>
<name>Tim Smith</name>
<email>tsmith@chef.io</email>
</author>
<published>2019-06-01T06:01:02+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/commit/?id=b02f49922fde9227eef53de8c6d3878254ba906e'/>
<id>b02f49922fde9227eef53de8c6d3878254ba906e</id>
<content type='text'>
Disable Travis testing &amp; Update codeowners</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Disable Travis testing &amp; Update codeowners</pre>
</div>
</content>
</entry>
<entry>
<title>Disable Travis testing &amp; Update codeowners</title>
<updated>2019-06-01T05:22:28+00:00</updated>
<author>
<name>Tim Smith</name>
<email>tsmith@chef.io</email>
</author>
<published>2019-06-01T05:21:55+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/commit/?id=828bafc9fec4c03d73f51f72e773cef7e176de30'/>
<id>828bafc9fec4c03d73f51f72e773cef7e176de30</id>
<content type='text'>
Signed-off-by: Tim Smith &lt;tsmith@chef.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Tim Smith &lt;tsmith@chef.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump version to 2.0.7 by Chef Expeditor</title>
<updated>2019-06-01T05:21:25+00:00</updated>
<author>
<name>Chef Expeditor</name>
<email>chef-ci@chef.io</email>
</author>
<published>2019-06-01T05:21:25+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/commit/?id=f6c74c373bb5770c336ca48a540aa2e75207400c'/>
<id>f6c74c373bb5770c336ca48a540aa2e75207400c</id>
<content type='text'>
Obvious fix; these changes are the result of automation not creative thinking.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Obvious fix; these changes are the result of automation not creative thinking.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #61 from chef/bk</title>
<updated>2019-06-01T05:21:13+00:00</updated>
<author>
<name>Tim Smith</name>
<email>tsmith@chef.io</email>
</author>
<published>2019-06-01T05:21:13+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/commit/?id=09ac0e54409bb2befc3eef9e195e9384042c4c29'/>
<id>09ac0e54409bb2befc3eef9e195e9384042c4c29</id>
<content type='text'>
Setup BuildKite for PR testing</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Setup BuildKite for PR testing</pre>
</div>
</content>
</entry>
<entry>
<title>Setup BuildKite for PR testing</title>
<updated>2019-06-01T05:20:35+00:00</updated>
<author>
<name>Tim Smith</name>
<email>tsmith@chef.io</email>
</author>
<published>2019-06-01T05:20:35+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/commit/?id=b03ac72c89472c3ed6c4c3e06d75b4151f1efd23'/>
<id>b03ac72c89472c3ed6c4c3e06d75b4151f1efd23</id>
<content type='text'>
Signed-off-by: Tim Smith &lt;tsmith@chef.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Tim Smith &lt;tsmith@chef.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Update CHANGELOG.md to reflect the promotion of 2.0.6</title>
<updated>2019-05-14T03:00:31+00:00</updated>
<author>
<name>Chef Expeditor</name>
<email>chef-ci@chef.io</email>
</author>
<published>2019-05-14T03:00:31+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/commit/?id=2e77705cc598188ad80d6130df79ffb19781fb18'/>
<id>2e77705cc598188ad80d6130df79ffb19781fb18</id>
<content type='text'>
Obvious fix; these changes are the result of automation not creative thinking.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Obvious fix; these changes are the result of automation not creative thinking.
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump version to 2.0.6 by Chef Expeditor</title>
<updated>2019-05-14T02:55:47+00:00</updated>
<author>
<name>Chef Expeditor</name>
<email>chef-ci@chef.io</email>
</author>
<published>2019-05-14T02:55:47+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/commit/?id=d6d1ed86a86de4434552af0813fd6543d15f0f0b'/>
<id>d6d1ed86a86de4434552af0813fd6543d15f0f0b</id>
<content type='text'>
Obvious fix; these changes are the result of automation not creative thinking.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Obvious fix; these changes are the result of automation not creative thinking.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #60 from chef/better_in</title>
<updated>2019-05-14T02:55:35+00:00</updated>
<author>
<name>Tim Smith</name>
<email>tsmith@chef.io</email>
</author>
<published>2019-05-14T02:55:35+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/ruby-gems/mixlib-cli.git/commit/?id=e4e22454f74f30cd748eeedef0c2310f04cf92d2'/>
<id>e4e22454f74f30cd748eeedef0c2310f04cf92d2</id>
<content type='text'>
Print out human readable lists of allowed CLI options</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Print out human readable lists of allowed CLI options</pre>
</div>
</content>
</entry>
</feed>
