I've finally had a chance to work on the annotation processor. It looks like I can roll this into XStream core. It simply won't work for Java versions prior to 1.6. It does work for Java 6 and 7.
The advantage of rolling into core is that for Java 6 and up, when you turn on autodetect, it just works. There are no examples needed. The chicken-and-egg problem just disappears. The only caveats are that you need to have Java 6 or higher, and XStream has to be in the classpath at compile time. I'll need your help to get all the backward compatibility issues knocked out. I think this is going to require a higher version of the maven-compiler-plugin (minimum 2.2, current is 2.1). Do you just want me to attach changes into a Jira issue? Jason Smith Software Engineer InfoTrust Group, Inc. 500 Discovery Parkway, Suite 200 Superior, CO 80027 Email [email protected] WEB www.infotrustgroup.com This e-mail and all information included herein do not constitute a legal agreement accorded by INFOTRUST GROUP and its affiliates and subsidiaries. All legal agreements must be formulated in writing by a legal representative of INFOTRUST GROUP. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. ________________________________________ From: Jörg Schaible [[email protected]] Sent: Tuesday, November 08, 2011 1:28 PM To: [email protected] Cc: Jason Smith Subject: Re: [xstream-dev] Re: @XStreamAlias - chicken and egg Hi Jason, On Freitag, 4. November 2011, you wrote: > 1.4.2, nice! I'll have to upgrade. > > Would you like to take this off the list? I don't want to spam the list > with details. No, that's what the development list is actually for - as long as the topic is about *developing* XStream ;-) So you're absolutely on topic. > It's one of the few software mailing lists that I've seen > where there is actually relevant information if you read the posts. シ :) > I'm using the Java 6 versions of everything, so I am not sure what it would > take to backport to Java 5. There are some differences, although Java 5 > does support some form of the annotation processors. With Java 6, it's > automatic. It might be acceptable to have it not work with Java 5, but > not break anything either. We'll see. If it's a separate module, it is easy to build it only for a specific version upwards. > I know it works with OpenJDK and Sun JDK. I have not tried it with IBM's > implementation. It isn't using any Sun-specific classes, so it should > work there. But it would have to be tried. I have a small compiler zoo, I can try. > I will have to check with my boss to make sure I can donate this code. I > don't think there will be a problem, but I won't submit any code until I > know it's okay. I'll just try and hack it into XStream proper, and then > we can talk about the final form. That would be great. Cheers, Jörg
