On Wed, Dec 12, 2012 at 4:58 AM, Gary Gregory <garydgreg...@gmail.com>wrote:

> Thank you for doing another RC.
>
> While I was digging for a justification of the Clirr errors, I found this
> in the release notes: "Clirr reports several errors for this release due to
> moving constants from the Email class to the newly introduced
> EmailConstants interface. These changes are guaranteed to be binary
> compatible."
>
> Is it really binary compatible? What if I use reflection to access the
> constant on Email, will the reflection call be redirected to
> EmailConstants? There's unit test for ya ;)
>
> Using an interface to define constants is a no-no in my book. I've seen
> this discussed before in other places and for a long time, but to
> summarize, I see an interface as defining a contract for a class to
> implement. A constant does not fit.
>
> Constants in interface feels like a hack to provide the short hand of a
> class implementing an interface just to be able to access the constants
> without qualifying them with a type. Not nice design IMO and a dubious us
> of an interface, very Java 1.0. It seems that static imports is another
> attempt to solve this desire for a short hand to use constants.
>
> What to do? Move the constants back to their 1.2? What's so bad about that?
> Hm...
>
> Make the EmailConstants a class instead of an interface? If binary
> compatible is broken, the constants have to move back, and you can still
> have a new EmailConstants class and deprecate the old constants to point to
> the new class.
>
> Maybe I'll see this more clearly in the AM...
>
> Interested in you all's feedback.
>

Hi Gary,

well, I think we go in circles with this change ;-).

I assumed that this topic is settled after reading the comment from sebb in
the RC2 thread (see http://markmail.org/message/svrb7nf3ocz7lgmd).

Otoh, it's the first time I see constants in an interface and would be in
favor of reverting to the previous version (also because I do not fully
understand the rationale behind the change, some of the constants are not
even used and thus have been deprecated).

Maybe we should postpone this kind of refactoring to 2.0 and do it then in
a proper way. Introducing this interface just created headaches and I also
had to disable some checks (e.g. InterfaceIsAType in checkstyle) because of
it.

Thomas


> On Tue, Dec 11, 2012 at 5:24 PM, Thomas Neidhart
> <thomas.neidh...@gmail.com>wrote:
>
> > Hi,
> >
> > I would like to call a vote from commons-email-1.3 based on RC5.
> >
> > This release candidate has the following changes compared to RC4
> >
> > +) update index and building page with correct information wrt Java
> >    compatibility
> > +) update release notes with info on Java compatibility and Clirr errors
> > +) fix svn:keywords for all source files and remove use of $Date$ tags
> > +) add $Id$ tags for all newly introduced source files in 1.3
> > +) update javax.mail.mail dependency to 1.4.5
> > +) fix PMD warnings and add NOPMD comment for false positives
> > +) added findbugs exclude filter for false positives
> > +) fix release date in changes.xml
> > +) correctly removed *.asc.[md5,sha1] files from Nexus staging area
> >
> > The files:
> >
> > The artifacts are deployed to Nexus:
> > https://repository.apache.org/content/repositories/orgapachecommons-137/
> >
> > The tag:
> >
> https://svn.apache.org/repos/asf/commons/proper/email/tags/EMAIL_1_3_RC5/
> >
> > The site:
> > http://people.apache.org/builds/commons/email/1.3/RC5/
> >
> > Additional Notes:
> >
> > o the download page and api links to older releases only work on
> >   the published site and will be corrected after release.
> >
> > Please take a look at the commons-email-1.3 artifacts and vote!
> >
> > ------------------------------------------------
> > [ ] +1 release it
> > [ ] +0 go ahead I don't care
> > [ ] -1 no, do not release it because
> > ------------------------------------------------
> >
> > Vote will remain open for at least 72 hours.
> >
> > Thanks in advance,
> >
> > Thomas
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> > For additional commands, e-mail: dev-h...@commons.apache.org
> >
> >
>
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0
> Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>

Reply via email to