users@jaxb.java.net

Fwd: com.sun.tools.xjc.outline.Aspect -> com.sun.tools.xjc.model.Aspect

From: Aleksei Valikov <valikov_at_gmx.net>
Date: Fri, 12 Dec 2014 10:10:59 +0100

Hi,

I'm not sure my message got through to the dev ML, I hope it's OK to cc to
the users ML.

Best wishes,
Alexey


---------- Forwarded message ----------
From: Aleksei Valikov <valikov_at_gmx.net>
Date: Thu, Dec 11, 2014 at 10:47 PM
Subject: com.sun.tools.xjc.outline.Aspect -> com.sun.tools.xjc.model.Aspect
To: dev_at_jaxb.java.net

Hi,

I think there's a problem with 2.2.11.

I've just got this issue:

https://github.com/highsource/maven-jaxb2-plugin/issues/24

In essense the problem is that with the upgrade to 2.2.11 JAXB plugins
which used the Aspect class fail as they use
com.sun.tools.xjc.outline.Aspect class which was moved to
com.sun.tools.xjc.model in 2.2.11.

Now the effect of this is that some (a lot of ?) plugins will become
incompatible with 2.2.11. The thing is, many of the plugins were written a
long time ago and are not actively maintained - though still usable. If not
the refactoring, these plugins would've lived further on, but now they'll
have to die. I believe this is a significant damage to the JAXB2 plugin
ecosystem.

Next, until 2.2.11 most plugins were somewhat well 2.0 - 2.1 - 2.2
compatible. And people do use JAXB 2.1.x still pretty often. I'm not sure
what the exact reasons are, but they do.
The introduced refactoring will break this compatibility. Plugins will be
either 2.2.x or 2.1.x compatible, not both (unless you'll apply the
refactoring in 2.1.x as well).

I am not quite sure that these consequences were clear when the refactoring
was applied. The effects on JAXB plugins aren't really good. This might be
breaking a lot of builds. I'm really not sure if it's worth it.

Now there are following options:

* Revert the refactoring (until it's too late). This will only affect
plugins which followed the change in 2.2.11, which can't be too many. And
if they followed this change this would mean that they're actively
maintained and will also follow the reversion.
* Leave everything as is.
* Leave everything as is in 2.2.x but apply the same refactoring in 2.1.x
as well.
* Maybe there's some hacky technical way to "alias"
com.sun.tools.xjc.model.Aspect as com.sun.tools.xjc.outline.Aspect?

Please let me know, what you think and what the plan would be - this will
influence the advise I'll be giving to the users.

Best wishes,
Alexey