Thanks to Andrew and David for carrying this useful discussion forward.
I have a couple comments::
1) Concerning the ant code below: I would feel better if we factored
this code up into the init target. Hopefully, all targets end up calling
init one way or another.
2) I applied the proposed changes to BUILDING.txt. I still ended up with
a section 3.1 which told me to set my JAVA_HOME to the 1.4 installation.
3) Concerning David's question "What does it buy me?": At the end of the
day, Andrew's work has made it possible to build Derby from a 1.5 or 1.6
shell window. That's the big win from my perspective. I don't have to
switch shell windows as I cycle through build and test. Yes, you still
have to include the jdk16 variable in your ant.properties. But this
doesn't seem any worse than the 1.4 build: you still have to include the
jdk14 variable in your ant.properties even though you are building in a
1.4 shell window.
Once 1.6 goes GA and is no longer experimental, we can require it as the
standard build platform. That's a good time to sand this down further.
Regards,
-Rick
Andrew McIntyre wrote:
On 5/5/06, David W. Van Couvering <[EMAIL PROTECTED]> wrote:
Hm, reading this patch, it seems a little convoluted. If you still have
to set the jdk16 property, what's the value of setting JAVA_HOME to a
1.6 directory? What does it buy me? Perhaps we should explain, because
reading it as it is, I tend to ask "why would I want to do that?"
That's a good point. You could add the following to all of the
jdk16-specific targets, if that's what you're looking for:
<!-- Set jdk16 property to java.home if Ant is running in a 1.6 VM -->
<condition property="jdk16" value="${java.home}/..">
<and>
<not>
<isset property="jdk16"/>
</not>
<contains string="${java.specification.version}" substring="1.6"/>
</and>
</condition>
This would need to be added to each jdk16-specific target, not just at
the top level, as the target could be called separately from any other
target at the leaf level.
andrew