On 2/5/07, Al Maw <[EMAIL PROTECTED]> wrote:
Martijn Dashorst wrote:
> I have thought about it and *hard*. The issue is that if I run mvn
> install, then *EVERYTHING* in my local repo is overwritten with JDK 5
> compiled artifacts. That is a definite no go.

I must be missing something here...

Why is that a no go? It's compiled using javac -source 1.4 and therefore
is completely compatible with a 1.4 JDK. There's just no difference.

No, it is linked against a 1.5 JRE, and also possible 1.5
dependencies. Easymock 2.0 was one that has escaped the radar for very
long, until *I* compiled and linked using a JDK 1.4 environment.

I've also thought about this long and hard, as we have a similar set-up
for a some projects here. A similar set-up to the one I described works
well for us.

What works for you, doesn't necessarily work in this environment.

Are you seriously worried that compiling the project using a 1.5 JDK
with -source 1.4 doesn't work properly and Sun have a buggy
implementation of that or something? I've never heard of any issues with
that - it would be a pretty serious bug on their part.

That and the linking to the wrong rt.jar. This is really a big issue
and I don't want to trust on anything that could mess up these things.
It has bitten me while building releases for too many times.

> The issue is not convenience but ensuring correctness. The only way I
> can exclude any fuck ups with JDK compilation is using the current
> setup.

You're still free to compile things using a 1.4 JDK if you want to, in
just the same way that you have do at the moment. There is no difference
other than making JDK 5 users have to jump through unnecessary hoops.

There is. mvn install overwrites *ALL* artifacts in my local
repository with jars that are JDK 1.5 compiled *AND* linked. Call me
paranoid, but I don't want to release software in that way.

I want to be sure *EVERYBODY* on this team uses JDK 1.4 for building
the 1.4 artifacts. Using a 1.5 JDK doesn't check for 1.5 dependencies,
which fail the build for a 1.4 JDK.

 As
I said, the continuous integration server can ensure that no one uses
any JRE 5 library features, or you're free to link against a 1.4 JDK in
your source tree if you wish to ensure this while developing (which
actually is exactly the same as the current set-up - most people who
develop JDK 5 projects are probably running with a JDK 5 JRE linked to
their 1.4 projects, I should imagine). Regardless, IT'S THE SAME AS IT
IS NOW, only with fewer hoops.

NO, IT IS NOT! Otherwise you wouldn't change anything. It is not the
same, or else we wouldn't have this discussion.

Continuous integration is nice and all, but we still have to monitor
that, and be damned sure that the machine is setup to use ONLY a pure
1.4 jdk. Continuum didn't last more than 1 month. I don't trust our
commitment to bamboo any further than that.

Still -1

Martijn

--
Vote for Wicket at the http://www.thebeststuffintheworld.com/vote_for/wicket
Wicket 1.2.4 is as easy as 1-2-4. Download Wicket now!
http://wicketframework.org

Reply via email to