> -----Original Message----- > From: Diane Holt [mailto:[EMAIL PROTECTED] > Sent: Friday, December 15, 2000 11:47 AM > To: [EMAIL PROTECTED] > Subject: Re: [PATCH] refactoring of javac task into factory > > > I'm all for the idea, since this way I wouldn't have to have my own > modified Javac.java anymore, but you might want to rethink the > include*RunTime defaults being "no" instead of "yes" -- 1) > having them be > "yes" would eliminate the problem of this aspect of it not being > backward-compatible, which I think would probably give your proposal a > better chance of being accepted;
I certainly see your point about whether or not it would be accepted. However, I believe that having the default set to "no" corrects what I see as a mistake in the design of ant. Why do I see the inclusion of the runtime libraries as a mistake? In the case of including the ant runtimes, I feel that the product that the make system builds should not be related in anyway with the make system itself. Therefore, the ant's libraries shouldn't be part of the build unless the user desires it. Therefore, default to "do not include". In the case of including the java runtimes? In the case of a majority of the core compilers (jdk 1.2/1.3) the java runtimes are already included. So why is ant including them? In the case of the other compilers (Jikes & JVC), I have included code in their compiler adapters that says, "If bootclasspath is not set, then include java runtimes, else, do what the user says." This is on lines 108 through 117 in Jikes.java. This only leaves out the 1.1 version of javac, which says that if a classpath is stated, then the compiler will not automatically include the runtime. Therefore, I believe that by setting the inclusion of these runtimes to no by default will not actually break anything. > 2) most people probably do want them > added in by default (I don't, but I believe most people do -- > otherwise, > there'd be a lot more modified Javac.java's out there, and > this probably > would have been more aggressively addressed earlier on). I believe that just because there isn't a lot of modified Javac.java's out there, that people want the inclusion of these runtimes. I think that some people just didn't realize what was being put into their classpath.
