commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henri Yandell" <flame...@gmail.com>
Subject Re: Initial impressions.
Date Tue, 06 Feb 2007 23:43:11 GMT
On 2/6/07, Nelson Carpentier <nelz9999@gmail.com> wrote:
> Hello Everybody!
>
> Hopefully, this is more constructive than whiney.  I thought I'd share
> my initial impressions with you about trying to contribute...

Even whining can be good once we've got over the natural defensiveness :)

> I recently got an inkling to add a cool bit of functionality to the
> EqualsBuilder in the Commons-Lang project.
>
> I went through the documentation and stuff, figured out some of the
> style guidelines and other bits, then went ahead and did a "svn co" of
> the code I wanted to help with...

Main style guideline for any source is to adhere to the apparent style
of the source you're changing. And not to let the IDE reformat things
in your patches/commits (just spent a while dealing with a 1200 line
patch that was really only 200 lines... grrr).

> I started up a project in Eclipse and though there were errors showing
> up everywhere, I was able to get to the code I wanted to change.  I
> started modifying a bit of the code, and only tried to tackle all the
> errors popping up when I wanted to compile my code and write some
> tests against it...

Odd that there were errors. Lang's a very simple project in that the
only dependency it has is JUnit and the only source trees you'll need
to hook up are src/java and src/test. There will be lots of style
warnings in Eclipse though.

> That's when I figured out I was having a JDK versioning problem.  I

Ah, and a bunch of warnings about 'enum'. And probably some deprecated bits.

> was on a Mac (to which I am fairly new), and everything was running

I'm on a Mac too.

> the default of JDK 1.5.  I looked at some more of the documentation
> and found that the JAR should be built with JDK 1.2.  I figured out
> how to jump back to JDK 1.4.2 on the Mac, and maybe even to the JDK
> 1.3.X...  But no JDK 1.2.

There is no 1.2 on the Mac, and getting it on Linux is a pain in the
arse (apparantly it was poorly coded and used illegal APIs), so your
choices are to use Windows, use an old Linux install or use a glibc
patch on Linux. Oh - or use Solaris I presume.

Macs went from 1.1.x on OS 9 to 1.3.x on OS X.

For the last Lang release I pointed this out and we've moved the JVM
on which we build from 1.2 to 1.3.

> While on JDK 1.4.2, a lot of things seem to resolve themselves, but
> there are some packages I cannot fix, because they use "enum" which is
> a reserved word in later JDK's.  I haven't yet checked this in JDK
> 1.3.X, but I figured "Hey, why not go back to the recommended JDK
> 1.2?"

The enum stuff is just a warning. Or should be. Are you sure these are
errors and not just lots of warnings? I usually use the command line
for developing Lang, but I go to Eclipse quite often to do the more in
depth debugging.

> So, I went straight to http://java.sun.com.  There in my initial
> research, I found out that they really aren't keen on even giving out
> the 1.2 JDK, and there was even a big ol' warning that 1.3.X was soon
> to be EOL'd (End-of-life'd.).  (Nevermind the fact that I am not sure
> I even COULD get 1.2 installed on my Mac even if I found it...)

Once Lang 2.3 is out, I want to start thinking about 3.0 and
suggesting the shocking idea of moving the support up to 1.5+.

> So, now my question is this: Why must we support JDK 1.2 going
> forward?  I get that we want to be backwards compatible, but how much
> actual NEW development is going on in archaic JDK's?  If I, as a
> potential contributor, can't even find the JDKs for compiling back
> that far, shouldn't that be some kind of sign?  Is there no
> consideration made weighing the consequences of upping the JDK
> requirements VS. the consequences of making contribution so difficult?
>
> <taking a breath...>
>
> Ok.  Sorry if I got a bit rant-y there...

Great to hear :) My reasoning for wanting to move to 1.5+ have been so
we can remove deprecated methods (and packages - ie: enum), so we can
look at doing some newer and more interesting things with the new
things in the JDK (logging, regexps, generics, varargs), and so we can
release using Maven (it's 1.4+). This adds another reason - makes it
easier for contributors.

> I am just kind of amazed the difficulty I am having.

I think the source of the difficulty is the Eclipse setup. Sounds like
something isn't quite right there, or maybe that you're reading too
much into warnings.

> I assume we
> would want to make good contribution as easy as possible.  But if I
> can't just use the published documentation and the source code to
> figure out what I need to do, I think we are all doing the project(s)
> and community a disservice.
>
> So, did I miss something somewhere?  Is there a magic document
> somewhere that allays all my fears and answers all my questions?  Did
> I need to read all the archived forum responses?
>
> Thanks for your time reading my long-winded email!

Thanks for sending it. I think the JVM version has been a bit of red
herring for whatever your actual setup issue is - but it's definitely
a valid issue.

Hen

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message