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