Closed william-ferguson-au closed 2 years ago
Near as I can tell
Might be a good a idea to split it into 3 modules.
as far as I can see, the min version in the build files (that is the version that has direct technical effect) is 24
so I'm a bit puzzled by what you seem to hint at with "WAMP needs a min version of 26" ..
further, "prominently displayed on the ReadMe.": this would result in numbers in locations that need to be kept manually in sync. I'd rather just link into the respective line in build.gradle ...
Might be a good a idea to split it into 3 modules.
why? that sounds like work;) just buying a newer phone is easier
The minSdkVersion that you declare in the Autobahn build.gradle is just what you declare as the min version required by the library. It's impact is that it forces clients to either upgrade their minSdkVersion to match, explicitly ignore the version declared by Autobahn, or use another library.
It doesn't guarantee that Autobahn actually conforms to that minimum. But it does allow you to easily check when building Autobahn for any code that exceeds that min SDK using the Gradle lint task.
And when you do you will see that the ArgumentUnpacker class has 3 uses that require 26. Hence WAMP needs 26.
Recommend you start using the @RequiresApi annotation to mark out sections where you step up an API so that users of the library at least get compilation warnings when they try and use the parts beyond what they are configured for.
As to why split it into 2 or 3 modules:
The minSdkVersion ..
yes, I understand that
And when you do you will see that the ArgumentUnpacker class has 3 uses that require 26.
ok, fixed that!
As to why split it into 2 or 3 modules:
sure. however, still, that's work to do for a goal I don't care about: Autobahn was created for WAMP, and it was just the case at that time that there wasn't any WebSocket library at all for Android, so I implemented WebSocket in Autobahn as well ...
It would be really useful if the min version of the Android API required for the Autobahn release was prominently displayed on the ReadMe.
I just spent several hours upgrading from the 2014 version of Autobahn to get killed by the Android 24 min API.