----- Original Message -----
> From: "Jochen Theodorou" <blackd...@gmx.org>
> To: "MG" <mg...@arscreat.com>, "dev" <dev@groovy.apache.org>
> Sent: Monday, December 23, 2024 10:39:55 AM
> Subject: Re: Replacing javax.* with jakarta.*

> On 21.12.24 16:43, MG wrote:
>> Hi Jochen,
>>
>>  1. that sounds like a good idea, but I am just wondering if ppl who are
>>     in this situation might not potentially have other (Java) libraries
>>     in use, for which they would need to do the renaming of the class
>>     references also.
> 
> In my last project I was using Spring with jakarta namespace, and
> several and yes, that impacted several other choices I made in
> libraries. But usually there jakarta was either the only choice or they
> offered both.
> 
>>  2. So maybe having a chapter in the Groovy documentation which explains
>>     how to do this so it plays well with Groovy might be the more
>>     generally applicable & easier to do option ?
>>      1. (Note: "plays well with Groovy" might not be an issue here, but
>>         I am just thinking back to the pains of Minecraft obfuscation
>>         not working with Groovy generated bytecode)
> 
> The problem with obfuscation is actually the obfuscation of the MOP
> relevant methods and the obfuscation of extension methods, that are part
> of the Groovy runtime.
> 
> But a chapter about how to change the class names is not going to be
> easy to understand. Imagine a gradle dependency groovy-servlet:javax and
> you need it as jakarta. Then you would have to transform the dependency
> after gradle added it. Possible, but painful. And with maven I do not
> know how you would do that.

I think it's easier to have the dependency to use "jakarta.*" by default and 
use "javax" as classifier if you want the "javax.*" dependencies.
For me, i think it's easier to add a post step after creating the jar to 
rewrite it to use "javax" with the shade plugin and add the classfier "javax" 
and publish both artefacts.

> 
> bye Jochen

Rémi

Reply via email to