[pantsd] Add support for fetching watchman via BinaryUtil.
Review Request #3557 - Created March 10, 2016 and submitted
|jsirois, nhoward_tw, peiyu, stuhood|
- Add BinaryUtil support for WatchmanLauncher.
- Decouple WatchmanLauncher from FSEventService in favor of cleaner usage in PantsDaemonLauncher.
testable_memoized_propertyin support of setting of
memoized_propertyproperties for testing.
- Special case the removal of
--watchman-pathin favor of BinaryUtil-style options - don't think we need a deprecation cycle for this due to the experimental nature of current watchman support.
- Test refactoring.
+ additional manual testing
So, I know the subsystem singletons are a big pain in the butt with regard to testing, but making properties mutable like this really rubs me the wrong way.
If this is going to be for the purposes of testing, using the existing subsystem-reset code to handle this (and improving it if need be) would seem cleaner. Perhaps by adding support to the subsytem context managers in https://github.com/pantsbuild/pants/blob/master/tests/python/pants_test/subsystem/subsystem_util.py for using a mocked instance of a subsystem?
Should this take a pre-conversion log level (IE, a python warning level string) and then convert it?
Alternatively, maybe the other constructor below should.
Address Stu's feedback.
s/mutable_memoized_property/testable_memoized_property/ in the description
Address Peiyu's feedback.
Revision 3 (+187 -165)