groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cédric Champeau <cedric.champ...@gmail.com>
Subject Binary incompatibility introduced in Groovy 2.3.6
Date Tue, 10 Nov 2015 07:35:40 GMT
Hi guys,

I just wanted to let you know that a regression has been reported by a
Gradle user, and it comes down to a binary incompatibility introduced in
Groovy 2.3.6:
https://discuss.gradle.org/t/compilestatic-automatic-type-conversion-failure-gradle-2-8-regression/12684/4

And the corresponding JIRA issue:
https://issues.apache.org/jira/browse/GROOVY-7071

I would like by this email to tell you to be very conservative when
updating public methods. Always make sure you keep the old version around
when you update the parameter types, and *never* change return types,
because it's a binary breaking change.

I already introduced a binary compatibility report a few months ago, but
the library that I used wasn't feature complete at that time:
https://github.com/apache/incubator-groovy/blob/783f6d408017a23ce60c950476ebbcbef50b8a10/gradle/binarycompatibility.gradle#L32-L32

Ideally we should take time to upgrade the plugin and enforce binary
compatibility.

Best regards,

Cédric

Mime
View raw message