-
Notifications
You must be signed in to change notification settings - Fork 9.3k
Set apiVersion and languageVersion to 2.0 to ensure backwards compatibility #9040
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
base: master
Are you sure you want to change the base?
Conversation
yschimke
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is pointless as is, unless you also update okio. OkHttp might be compatible, but it relies on very recent versions of Okio which arent.
Can you start there and we can happily follow their lead. Mostly the same maintainers I know.
7639233 to
abbfe82
Compare
|
Sorry about that - not really used to these workflows + I don't have an Android SDK on my machine. I think this should be it 🤞 |
5de0707 to
7581937
Compare
|
I think I have found an easier path, and especially one that doesn't require us to change much - the source code is already 2.0 compatible, only the tests aren't, and they don't need to be, so why bother? The change is now focusing only on "main" source sets, leaving the tests to use any 2.0+ feature. |
7581937 to
e2a9113
Compare
|
I'll wait for square/okio#1690 to land before this |
Co-authored-by: Zongle Wang <[email protected]>
|
The Okio PR sounds promising, so I'll land this assuming it will also. Thanks for the PR. Are you ok with the suggested changes for matching tasks I accepted? They are also on the Okio PR. |
|
Shit, I think that suggestion broke it. Not sure if we need to follow this https://kotlinlang.org/docs/whatsnew21.html#new-api-for-kotlin-gradle-plugin-extensions |
|
Yeah, we can try out something like extensions.configure<KotlinBaseExtension> {
(this as HasConfigurableKotlinCompilerOptions<*>?)?.let {
compilerOptions {
apiVersion = KotlinVersion.KOTLIN_2_0
languageVersion = KotlinVersion.KOTLIN_2_0
}
}
} |
Address #9032 by setting apiVersion and languageVersion to 2.0. This ensures that the code can be compiled with Kotlin 2.2.0+ but users as low as 1.9.0 are able to run this without being forced to update. For reference, 2.2.0 supports compilation as low as 1.6.0.
Compiled locally, seems to work fine, but my laptop is not setup to compile the Android modules btw