ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Khesin <a...@silicongo.com>
Subject msft jvc compiler and bootclasspath
Date Fri, 09 Nov 2001 17:47:58 GMT
I am running and using 1.3 JRE, with build.compiler set to jvc (msft).  The
code that I am compiling is targeted to JRE 1.1.4 (for compatibility with
IE), so the javac task looks like so:
    <javac srcdir="src" destdir="classes"
      classpath="${classpath}" includeAntRuntime="no" target="1.1"/>

The problem I am running into is that there does not seem to be a clean way
to prevent 1.3 JRE classlibs from being passed to jvc, which is a bad thing
since the build does not catch when I use an API not available in JRE 1.1.

The source of the problem is in
org.apache.tools.ant.taskdefs.compilers.Jvc.execute() method which
explicitly sets includeJavaRuntime to true, which in turn transfers
classpath from runtime environment (JRE 1.3) to jvc.  I can see two ways of
solving it:

(1) add bootclasspath="." to javac task which prevents Jvc.execute from
setting includeJavaRuntime, but than the task does not work when I run in
with non-MSFT compilers

(2) remove includeJavaRuntime = true trick from Jvc.execute, since as far as
I know, jvc compiler figures out its bootclasspath by itself.

I've tried (2) and it seems to work, but I am wary of just leaving it in my
ant build since it was put there for a reason (which I do not understand).

Has anyone run into this problem and can suggest a better solution?

Thanks!
Alex

--
To unsubscribe, e-mail:   <mailto:ant-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-user-help@jakarta.apache.org>


Mime
View raw message