Slackbot
12/21/2022, 11:51 AMVampire
12/21/2022, 12:11 PMVampire
12/21/2022, 12:11 PMFiouz
12/21/2022, 12:29 PMephemient
12/21/2022, 12:56 PMFiouz
12/21/2022, 1:45 PMgradleApi()
only provides the current API?Vampire
12/21/2022, 1:48 PMVampire
12/21/2022, 1:49 PMFiouz
12/21/2022, 1:50 PMTom Tresansky
12/21/2022, 9:13 PM@Deprecated
the method, then we have to provide a replacement - but it wouldn’t be a permanent replacement, since we want the API to keep the same method name. If we did this, anyone wanting to keep their builds free of deprecation warnings would have to migrate to the new method. Then, once we @Deprecated
that new method, they would have to migrate back. This would stretch out the migration cycle and introduce a lot of churn on both our side and the author’s side.
We have identified many other APIs where similar improvements could be made, for instance SourceSetOutput
, where FileCollection
return types really ought to be `ConfigurableFileCollection`s, and are thinking about better ways to ease the pain of transition for plugin authors for 9.0 and later major versions.
We hoped that this particular change would be small enough that it wouldn’t affect most authors, but realized the potential consequences. We have other potential work in this area of the API that could require it, which is why we went ahead, along with issuing a warning in the upgrade notes.
Any way for compiling against an arbitrary Gradle API, as gradleApi() only provides the current API?We are also discussing potential ways to make this easier. Sorry for the trouble this may cause, but we hope it’s ultimately worth it as we continue to evolve our API to be more consistent and useful.
Thomas Broyer
12/22/2022, 11:41 AMFiouz
12/22/2022, 1:36 PMTom Tresansky
12/22/2022, 1:45 PMephemient
12/22/2022, 6:52 PMfun foo(): SomeType
@JvmName("foo")
fun legacyFoo(): SomeOtherType
Fiouz
02/01/2023, 2:46 PMNoSuchMethodError
for APIs that were not marked as deprecated/incubating); is there any flag I can enable to turn on an experimental compatibility layer?
Or should we just assume that affected plugins will just break with Gradle 8, until authors release a compatible variant/version? (that would delay adoption of Gradle 8)Tom Tresansky
02/02/2023, 12:34 PM