A few updates
I’m still alive
It’s been a while since my last post.
The reason is really simple: there was nothing happening that I felt was worthy to share through a dedicated blog post, so I decided to not publish.
I’m still alive and still planning to share stuff on this blog.
dart-apitool updates
There were a couple of small updates for dart-apitool that were mainly driven by remarks or issues from its users.
A couple of changes:
Force flutter
command
It is now possible to force dart-apitool to use the flutter
command even if dart
would work as well (if the package doesn’t have a Flutter dependency)
The new option to enable this behavior is --force-use-flutter
Default for --check-sdk-version
changed
We realized that there is no situation in which changing the SDK constraints of a package leads to breaking consumer code.
Pub will make sure that any incompatible packages are excluded from the dependency tree resolution algorithm.
This means that a package that increases its minimum required SDK might not be usable by a consumer still using a lower SDK, but this consumer just continues to use the package that it used before.
Therefore, we changed the default for this option to off
. At the same time we made sure that changing the SDK type is breaking regardless of the value for --check-sdk-version
.
Add “missing exports” information to the extract command
dart-apitool knows that your public API uses types that are not exported by your package.
This leads to a very weird situation in which the consumer can retrieve an instance of a type that it can not name explicitly.
The type can be used and interacted with but nothing that involves explicitly mentioning that type works (For example explicitly typed variables and parameters)
To help CI tools to detect this situation (that is not directly tied to semantic versioning so dart-apitool wouldn’t complain) we extended the extract command output to contain this information so that other tools in the CI can do something with it.
I’m back in the Android camp
I didn’t really make this a topic in the blog (beside the CalyxOS post from 3 years ago) but I switched to Apple and back to Android a couple of times.
This had different reasons, maybe I will write a dedicated blog post about this.
Only that much: The way Apple has recently been acting in Europe regarding the DMA was the final straw that broke the camel’s back for me. It made it clear to me that depending on a single company is quite risky, so I decided - instead of upgrading my iPhone - to switch back to the Android side.
I still use my Mac but phone and tablet are now Samsung (as well as watch and in-ear headphones).
That’s all for now. I hope that there will be more topics happening that I consider worth sharing here in the near future 🤞