You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Kathey Marsden <km...@sbcglobal.net> on 2007/11/19 22:20:32 UTC
question about java/testing/org/apache/derby/build.xml file
I java/testing/org/apache/derby/build.xml we have the comment:
<!-- Fix this to use the Java SE 5 classpath -->
<pathelement path="${java16compile.classpath}"/>
but it uses java16compile.classpath. I found that this causes my build
to fail using IBM 1.6 jdk. Is there any reason not to change it to use
${java15compile.classpath} ?
Thanks
Kathey
below is a larger excerpt:
<!-- Compile package private tests. -->
<target name="compile">
<mkdir dir="${out.pptesting.dir}"/>
<javac
source="1.5"
target="1.5"
fork="yes"
bootclasspath="${empty}"
nowarn="on"
debug="true"
depend="${depend}"
deprecation="${deprecation}"
optimize="${optimize}"
proceed="${proceed}"
verbose="${verbose}"
srcdir="${derby.testing.src.dir}"
destdir="${out.pptesting.dir}">
<classpath>
<!-- Fix this to use the Java SE 5 classpath -->
<pathelement path="${java16compile.classpath}"/>
<pathelement path="${junit}"/>
<pathelement path="${out.dir}"/>
</classpath>
<!-- Can't rely on just compiling PackagePrivateTestSuite,
as ant
won't check the timestamp on the other Java files to
determine
if they have been changed since last compile then. -->
<include name="org/apache/derby/**/*java"/>
</javac>
</target>
Re: question about java/testing/org/apache/derby/build.xml file
Posted by Rick Hillegas <Ri...@Sun.COM>.
Hi Kathey,
I think that we do indeed want to make this change. However, currently
we don't require that you set java15compile.classpath. It is set
automatically only if you include "autosetProps=on" in your
ant.properties. This is the trajectory I thought we were on:
1) Continue to collect improvements to the PropertySetter, which was
checked in today as part of DERBY-3117 and which we have been discussing
in the thread titled "Automatic setting of compiler classpath properties
at build time"
2) After we finish collecting improvements, make "autosetProps=on" the
default.
3) Then we can count on java15compiler.classpath being set and we can
make the change you propose.
You can, of course, require that everyone set java15compiler.classpath
in their ant.properties now. If you do that, please make the build smart
enough to complain if java15compiler.classpath is not set and give the
user instructions for how to fix their build. I think that the
trajectory we are on will break the build for fewer people.
Regards,
-Rick
Kathey Marsden wrote:
> I java/testing/org/apache/derby/build.xml we have the comment:
> <!-- Fix this to use the Java SE 5 classpath -->
> <pathelement path="${java16compile.classpath}"/>
>
> but it uses java16compile.classpath. I found that this causes my build
> to fail using IBM 1.6 jdk. Is there any reason not to change it to
> use ${java15compile.classpath} ?
>
> Thanks
>
> Kathey
>
> below is a larger excerpt:
>
>
> <!-- Compile package private tests. -->
> <target name="compile">
> <mkdir dir="${out.pptesting.dir}"/>
>
> <javac
> source="1.5"
> target="1.5"
> fork="yes"
> bootclasspath="${empty}"
> nowarn="on"
> debug="true"
> depend="${depend}"
> deprecation="${deprecation}"
> optimize="${optimize}"
> proceed="${proceed}"
> verbose="${verbose}"
> srcdir="${derby.testing.src.dir}"
> destdir="${out.pptesting.dir}">
> <classpath>
> <!-- Fix this to use the Java SE 5 classpath -->
> <pathelement path="${java16compile.classpath}"/>
> <pathelement path="${junit}"/>
> <pathelement path="${out.dir}"/>
> </classpath>
> <!-- Can't rely on just compiling PackagePrivateTestSuite,
> as ant
> won't check the timestamp on the other Java files to
> determine
> if they have been changed since last compile then. -->
> <include name="org/apache/derby/**/*java"/>
> </javac>
> </target>
>
Re: question about java/testing/org/apache/derby/build.xml file
Posted by Knut Anders Hatlen <Kn...@Sun.COM>.
Kathey Marsden <km...@sbcglobal.net> writes:
> I java/testing/org/apache/derby/build.xml we have the comment:
> <!-- Fix this to use the Java SE 5 classpath -->
> <pathelement path="${java16compile.classpath}"/>
>
> but it uses java16compile.classpath. I found that this causes my build
> to fail using IBM 1.6 jdk. Is there any reason not to change it to
> use ${java15compile.classpath} ?
Hi Kathey,
The only reason is that it doesn't exist yet, unless you build with
Rick's new fancy property setter. If you want to use
java15compile.classpath in build.xml, you'll need to update
tools/ant/properties/compilepath.properties and add a note in
BUILDING.txt saying that one has to set the j15lib variable in
ant.properties (and additionally java15compile.classpath for IBM's SDK,
I think). Please also send a heads-up to the list so that people don't
get surprised because they haven't updated their build environment.
--
Knut Anders
Re: question about java/testing/org/apache/derby/build.xml file
Posted by Kristian Waagan <Kr...@Sun.COM>.
Kathey Marsden wrote:
> Kathey Marsden wrote:
>> <!-- Fix this to use the Java SE 5 classpath -->
>> <pathelement path="${java16compile.classpath}"/>
>>
>> but it uses java16compile.classpath. I found that this causes my build
>> to fail using IBM 1.6 jdk.
> Thanks all for responding. I think that this may be a bug with the jdk
> as it works ok on Windows and the sun 1.6 jdk. I'll approach it from
> that angle.
Hi Kathey,
I introduced the code you refer to as part of DERBY-3149, and it is
mentioned in that Jira that the compile classpath has to be changed.
There are no Java SE 6 dependencies in the code being compiled, but it
cannot be compiled with the 1.4.2 JDK.
Note that the target will not be executed if there is no Java SE 6
compiler specified. This check is wired into the 'pptesting' target in
the root-level build.xml.
The issue won't be closed until the classpath has been changed.
--
Kristian
>
>
> Kathey
>
>
Re: question about java/testing/org/apache/derby/build.xml file
Posted by Kathey Marsden <km...@sbcglobal.net>.
Kathey Marsden wrote:
> <!-- Fix this to use the Java SE 5 classpath -->
> <pathelement path="${java16compile.classpath}"/>
>
> but it uses java16compile.classpath. I found that this causes my build
> to fail using IBM 1.6 jdk.
Thanks all for responding. I think that this may be a bug with the jdk
as it works ok on Windows and the sun 1.6 jdk. I'll approach it from
that angle.
Kathey