When using ./pants options, hide options from super-scopes.
Review Request #3528 - Created March 2, 2016 and submitted
The `./pants options` output is pretty verbose, especially for common flags like --colors that are inherited by every subscope. This change adds a --skip-inherited flag (enabled by default) which omits options which are inherited from parent scopes (and have the same value as the parent scope). Now, running: ``` ./pants --no-colors \ --options-colors \ --test-junit-colors \ --no-jvm-platform-validate-colors \ options --name=colors ``` Produces the much more concise output: ``` colors = False (from FLAG) options.colors = True (from HARDCODED) test.junit.colors = True (from HARDCODED) ```
Added a test to tests/python/pants_test/test_options_integration.py.
CI went green: https://travis-ci.org/pantsbuild/pants/builds/113200666
Status: Closed (submitted)
In commit 84e9127e9de5771cbb6f925a1e351dcb46e9c4a5, Thanks Eric!
I would have preferred it if you'd waited for my shipit before submitting. We're trying to have non-trivial changes reviewed by people from at least two different orgs, and in this case you only got one shipit, and that within Square. I posit that this change is non-trivial because it adds an option, so it can't be easily reverted. Thanks!