Return-Path: Delivered-To: apmail-ant-dev-archive@www.apache.org Received: (qmail 53043 invoked from network); 20 Jul 2007 17:13:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 20 Jul 2007 17:13:43 -0000 Received: (qmail 98811 invoked by uid 500); 20 Jul 2007 17:13:44 -0000 Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 98777 invoked by uid 500); 20 Jul 2007 17:13:43 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 98766 invoked by uid 500); 20 Jul 2007 17:13:43 -0000 Received: (qmail 98763 invoked by uid 99); 20 Jul 2007 17:13:43 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Jul 2007 10:13:43 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Jul 2007 10:13:41 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 2EC701A981D; Fri, 20 Jul 2007 10:13:21 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r558060 - in /ant/core/branches/ANT_17_BRANCH: ./ docs/manual/CoreTasks/ src/main/org/apache/tools/ant/taskdefs/ src/main/org/apache/tools/ant/taskdefs/compilers/ src/tests/antunit/taskdefs/ Date: Fri, 20 Jul 2007 17:13:19 -0000 To: ant-cvs@apache.org From: peterreilly@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070720171321.2EC701A981D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: peterreilly Date: Fri Jul 20 10:13:16 2007 New Revision: 558060 URL: http://svn.apache.org/viewvc?view=rev&rev=558060 Log: Merge - Bugzilla: 40776 work-around for javac generics bug Modified: ant/core/branches/ANT_17_BRANCH/WHATSNEW ant/core/branches/ANT_17_BRANCH/docs/manual/CoreTasks/javac.html ant/core/branches/ANT_17_BRANCH/src/main/org/apache/tools/ant/taskdefs/Javac.java ant/core/branches/ANT_17_BRANCH/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java ant/core/branches/ANT_17_BRANCH/src/tests/antunit/taskdefs/javac-test.xml Modified: ant/core/branches/ANT_17_BRANCH/WHATSNEW URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_17_BRANCH/WHATSNEW?view=diff&rev=558060&r1=558059&r2=558060 ============================================================================== --- ant/core/branches/ANT_17_BRANCH/WHATSNEW (original) +++ ant/core/branches/ANT_17_BRANCH/WHATSNEW Fri Jul 20 10:13:16 2007 @@ -175,6 +175,9 @@ * has a new strict attribute that checks if the jar complies with the jar packaging version specification. +* has a new attribute - includeDestClasses. + Bugzilla 40776. + Changes from Ant 1.6.5 to Ant 1.7.0 =================================== Modified: ant/core/branches/ANT_17_BRANCH/docs/manual/CoreTasks/javac.html URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_17_BRANCH/docs/manual/CoreTasks/javac.html?view=diff&rev=558060&r1=558059&r2=558060 ============================================================================== --- ant/core/branches/ANT_17_BRANCH/docs/manual/CoreTasks/javac.html (original) +++ ant/core/branches/ANT_17_BRANCH/docs/manual/CoreTasks/javac.html Fri Jul 20 10:13:16 2007 @@ -403,6 +403,29 @@ No + + includeDestClasses + + This attribute controls whether to include the + destination classes directory in the classpath + given to the compiler. + The default value of this is "true" and this + means that previously compiled classes are on + the classpath for the compiler. This means that "greedy" compilers + will not recompile dependant classes that are already compiled. + In general this is a good thing as it stops the compiler + for doing unnecessary work. However, for some edge cases, + involving generics, the javac compiler + needs to compile the dependant classes to get the generics + information. One example is documented in the bug report: + + Bug 40776 - a problem compiling a Java 5 project with generics. + Setting the attribute to "false" will cause the compiler + to recompile dependent classes. + Since Ant 1.7.1. + + No - default is "true" +

Parameters specified as nested elements

Modified: ant/core/branches/ANT_17_BRANCH/src/main/org/apache/tools/ant/taskdefs/Javac.java URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_17_BRANCH/src/main/org/apache/tools/ant/taskdefs/Javac.java?view=diff&rev=558060&r1=558059&r2=558060 ============================================================================== --- ant/core/branches/ANT_17_BRANCH/src/main/org/apache/tools/ant/taskdefs/Javac.java (original) +++ ant/core/branches/ANT_17_BRANCH/src/main/org/apache/tools/ant/taskdefs/Javac.java Fri Jul 20 10:13:16 2007 @@ -116,6 +116,7 @@ private String updatedProperty; private String errorProperty; private boolean taskSuccess = true; // assume the best + private boolean includeDestClasses = true; /** * Javac task for compilation of Java files. @@ -817,6 +818,25 @@ this.errorProperty = errorProperty; } + /** + * This property controls whether to include the + * destination classes directory in the classpath + * given to the compiler. + * The default value is "true". + * @param includeDestClasses the value to use. + */ + public void setIncludeDestClasses(boolean includeDestClasses) { + this.includeDestClasses = includeDestClasses; + } + + /** + * Get the value of the includeDestClasses property. + * @return the value. + */ + public boolean isIncludeDestClasses() { + return includeDestClasses; + } + /** * Get the result of the javac task (success or failure). * @return true if compilation succeeded, or Modified: ant/core/branches/ANT_17_BRANCH/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_17_BRANCH/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java?view=diff&rev=558060&r1=558059&r2=558060 ============================================================================== --- ant/core/branches/ANT_17_BRANCH/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java (original) +++ ant/core/branches/ANT_17_BRANCH/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java Fri Jul 20 10:13:16 2007 @@ -137,7 +137,7 @@ // add dest dir to classpath so that previously compiled and // untouched classes are on classpath - if (destDir != null) { + if (destDir != null && getJavac().isIncludeDestClasses()) { classpath.setLocation(destDir); } Modified: ant/core/branches/ANT_17_BRANCH/src/tests/antunit/taskdefs/javac-test.xml URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_17_BRANCH/src/tests/antunit/taskdefs/javac-test.xml?view=diff&rev=558060&r1=558059&r2=558060 ============================================================================== --- ant/core/branches/ANT_17_BRANCH/src/tests/antunit/taskdefs/javac-test.xml (original) +++ ant/core/branches/ANT_17_BRANCH/src/tests/antunit/taskdefs/javac-test.xml Fri Jul 20 10:13:16 2007 @@ -2,8 +2,43 @@ - + + + + + + + + public class A { B b;} + + + public class B { } + + + + + + + + + + + + + + + + + + + + + + + + --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional commands, e-mail: dev-help@ant.apache.org