Done.. Markus
On Tue, Jan 6, 2009 at 7:46 PM, Norman Maurer <nor...@apache.org> wrote: > +1 > Norman > > 2009/1/6 Oleg Kalnichevski <ol...@apache.org>: >> Markus Wiederkehr wrote: >>> >>> On Tue, Jan 6, 2009 at 2:19 PM, Stefano Bagnara <apa...@bago.org> wrote: >>>> >>>> Markus Wiederkehr ha scritto: >>>>> >>>>> Mime4j uses the retrotranslator maven plugin to build a JDK1.4 >>>>> compatible jar file. Now I've noticed a few problems with that. >>>>> >>>>> For example CipherStorageProvider contains this innocent looking lines >>>>> of code: >>>>> >>>>> catch (NoSuchAlgorithmException e) { >>>>> throw new IllegalArgumentException(e); >>>>> } >>>>> >>>>> The problem is that constructor IllegalArgumentException(Throwable) >>>>> was introduced in Java 5 and retrotranslator wants to embed its own >>>>> version of IllegalArgumentException because of that. >>>>> >>>>> Another problem is the @Deprecated annotation used in a few classes. >>>>> Retrotranslator seems to retain that annotation. Annotations require >>>>> enums, enums require classes from java.util.concurrent, and so on. >>>>> Resulting in over 130 classes that would need to be embedded, adding >>>>> 200 kb to the retrotranslated jar file. >>>>> >>>>> I also think Iterable would be nice to have in a few places. Enums, too. >>>>> >>>>> All these features can be used of course, but not without embedding a >>>>> lot of classes or adding a dependency on retrotranslator-runtime.jar. >>>>> >>>>> We already had this discussion and I was in favor of keeping JDK1.4 >>>>> support because it comes cheaply. I'm not so sure anymore if it's >>>>> worth it. >>>> >>>> +1 If someone will need java 1.4 support they will help reintroducing >>>> the retrotranslator stuff. AFAIK no mime4j user expressed the need to >>>> have a java 1.4 version yet. >>> >>> Another solution would be to declare a dependency on >>> retrotranslator-runtime in the POM using the scope "provided". >>> >>> This way retrotranslator translates java.lang.Enum in >>> net.sf.retrotranslator.runtime.java.lang.Enum_, for example. The >>> translated Enum_ does not have to be embedded, instead the 1.4 version >>> of Mime4j would have a dependency on retrotranslator-runtime. >>> >>> "Provided" would ensure that the regular Java 5 version of Mime4j >>> would not be affected because the dependency is not transitive. >>> >>> This is the solution I would like to go for if nobody objects. >>> >> >> +1 to dropping support for java 1.4 altogether. It is just not worth the >> trouble. >> >> Oleg >> >> >>> Markus >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org >>> For additional commands, e-mail: server-dev-h...@james.apache.org >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org >> For additional commands, e-mail: server-dev-h...@james.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org > For additional commands, e-mail: server-dev-h...@james.apache.org > > -- Always remember you're unique. Just like everyone else. --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org