Full disclosure, there is a regression in the test case for GROOVY-7456. The
unit test did not catch it since it runs with static compilation on. Setting
it to dynamic mode reproduces the runtime error:
groovy.lang.MissingMethodException: No signature of method: C.g() is applicable
for argument types: (C, String) values: [C@41fed14f, a]
// GROOVY-7456, GROOVY-7797
@Test
void testInvokePrivateTraitMethodFromTraitClosure() {
assertScript shell, '''
trait T {
@CompileDynamic
def f() {
['a'].collect { String s -> g(s) }
}
private String g(String s) {
s.toUpperCase()
}
}
class C implements T {
}
def c = new C()
assert c.f() == ['A']
'''
}
________________________________
From: Milles, Eric (TR Technology) <[email protected]>
Sent: Tuesday, February 27, 2024 4:51 PM
To: Groovy_Developers <[email protected]>
Subject: Re: [EXT] [VOTE] Release Apache Groovy 4.0.19
+1 (binding)
There is a jar with a "raw" classifier in the distribution. It was not present
in 4.0.18.
[cid:4ad0c3ce-21bc-4878-a68d-5a2a58aeafd5]
________________________________
From: Paul King <[email protected]>
Sent: Tuesday, February 27, 2024 4:41 AM
To: Groovy_Developers <[email protected]>
Subject: [EXT] [VOTE] Release Apache Groovy 4.0.19
External Email: Use caution with links and attachments.
Dear development community,
I am happy to start the VOTE thread for a Groovy 4.0.19 release!
This release includes 18 bug fixes/improvements as outlined in the changelog:
https://urldefense.com/v3/__https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12318123&version=12354149__;!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlF12ZZifw$
Tag:
https://urldefense.com/v3/__https://gitbox.apache.org/repos/asf?p=groovy.git;a=tag;h=refs*tags*GROOVY_4_0_19__;Ly8!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlGvkd-M1Q$
Tag commit id: 7d25a39ae4c26f38b86b181c98e079a40e1d787e
The artifacts to be voted on are located as follows (r67599).
Source release:
https://urldefense.com/v3/__https://dist.apache.org/repos/dist/dev/groovy/4.0.19/sources__;!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlHJk1C81A$
Convenience binaries:
https://urldefense.com/v3/__https://dist.apache.org/repos/dist/dev/groovy/4.0.19/distribution__;!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlE6ThamDQ$
Release artifacts are signed with a key from the following file:
https://urldefense.com/v3/__https://dist.apache.org/repos/dist/release/groovy/KEYS__;!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlENfu_U4A$
Please vote on releasing this package as Apache Groovy 4.0.19.
Reminder on ASF release approval requirements for PMC members:
https://urldefense.com/v3/__http://www.apache.org/legal/release-policy.html*release-approval__;Iw!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlE-h7b1EA$
Hints on validating checksums/signatures (but replace md5sum with sha256sum):
https://urldefense.com/v3/__https://www.apache.org/info/verification.html__;!!GFN0sa3rsbfR8OLyAw!fIeiOuXOxdqTRAajOlV_kBzgTKu5DnpaQm3o6oIRagkaMYXm_PeDKaOCLUOY5JNkHb5e1d3bBfJpNlEcTQDxGQ$
The vote is open for the next 72 hours and passes if a majority of at
least three +1 PMC votes are cast.
[ ] +1 Release Apache Groovy 4.0.19
[ ] 0 I don't have a strong opinion about this, but I assume it's ok
[ ] -1 Do not release Apache Groovy 4.0.19 because...
Here is my vote:
+1 (binding)