-
-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define widget driver as an interface #128
base: master
Are you sure you want to change the base?
Conversation
9af7782
to
b858623
Compare
- Adds `IWidgetDriver` interface - Renames `WidgetDriver` to `BaseWidgetDriver` with old name (`WidgetDriver`) supported but deprecated The goal here is to mean that a client that is implementing a driver can more easily see at compile time what is changing between versions. However, this would mean that we need to change the versioning policy as any addition to IWidgetDriver would be a breaking change (so major version bump). Whereas, at the moment we don't do a major version bump because the abstract WidgetDriver class doesn't require the implementing client to implement anything.
b858623
to
697ea19
Compare
I like this idea. |
Yes, purpose would be to help us less make fewer mistakes in future. |
Quality Gate failedFailed conditions |
IWidgetDriver
interfaceWidgetDriver
toBaseWidgetDriver
with old name (WidgetDriver
) supported but deprecatedThe goal here is to mean that a client that is implementing a driver can more easily see at compile time what is changing between versions.
However, this would mean that we need to change the versioning policy as any addition to IWidgetDriver would be a breaking change (so major version bump). Whereas, at the moment we don't do a major version bump because the abstract WidgetDriver class doesn't require the implementing client to implement anything.
A further thought: if we want to introduce an optional driver method in future, then we can simply make it an optional field on
IWidgetDriver
itself. That way theClientWidgetApi
is forced to at least consider compatibility.