Summary:
Creation of the adb client requires the logger to already be initialized, so this should never be called at the global scope in a module, or you'll get weird import-order related bugs.
I noticed this while debugging, I don't think it's impacting anything right now, but have made it lazy just to avoid confusion in future.
Reviewed By: passy
Differential Revision: D16162266
fbshipit-source-id: 5363292d5cfcf2867a2654777cd8f4baed01d2c0
Summary:
A lot of the failures in the dashboard are due to unsupported android devices.
We can track this individually, but it shouldn't be affecting how reliable we think things are.
This adds an Error type, that when thrown, adds an extra field to log messages to specify that it's a known incompatibility.
Reviewed By: passy
Differential Revision: D15394863
fbshipit-source-id: 9d7948fbb8c94bd7a64434496e10392532a61eed
Summary: Splits the utility into a public and private part - just for the opaque types to work. The private part validates arguments and does the command running. Both are safe to use, but the non-internal one is easier, you don't have to validate anything.
Reviewed By: passy
Differential Revision: D15393477
fbshipit-source-id: 92f63180fb94af4337fdf8c7dace5bc5a85d5a54