Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 99972 invoked from network); 28 Apr 2006 21:01:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 28 Apr 2006 21:01:23 -0000 Received: (qmail 41491 invoked by uid 500); 28 Apr 2006 21:01:23 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 41273 invoked by uid 500); 28 Apr 2006 21:01:22 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 41264 invoked by uid 99); 28 Apr 2006 21:01:22 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Apr 2006 14:01:22 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [192.18.42.249] (HELO nwkes-gis-mail-1.sun.com) (192.18.42.249) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Apr 2006 14:01:21 -0700 Received: from d1-sfbay-01.sun.com (d1-sfbay-01 [192.18.39.111]) by nwkes-gis-mail-1.sun.com (8.12.9/8.12.9) with ESMTP id k3SL106O012535 for ; Fri, 28 Apr 2006 14:01:00 -0700 (PDT) Received: from conversion-daemon.d1-sfbay-01.sun.com by d1-sfbay-01.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) id <0IYG007019F3I100@d1-sfbay-01.sun.com> (original mail from David.Vancouvering@Sun.COM) for derby-dev@db.apache.org; Fri, 28 Apr 2006 14:01:00 -0700 (PDT) Received: from [129.150.23.126] by d1-sfbay-01.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) with ESMTPSA id <0IYG00293ADOUW30@d1-sfbay-01.sun.com> for derby-dev@db.apache.org; Fri, 28 Apr 2006 14:01:00 -0700 (PDT) Date: Fri, 28 Apr 2006 14:01:02 -0700 From: "David W. Van Couvering" Subject: Re: Javadoc lies In-reply-to: <44527CCF.90008@sun.com> Sender: David.Vancouvering@Sun.COM To: derby-dev@db.apache.org Message-id: <4452828E.7050808@sun.com> MIME-version: 1.0 Content-type: text/plain; format=flowed; charset=ISO-8859-1 Content-transfer-encoding: 7BIT References: <44527CCF.90008@sun.com> User-Agent: Thunderbird 1.5.0.2 (Windows/20060308) X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N It seems to me the real problem is that the way we compile source and the way we compile javadoc are inconsistent. With that in mind, I have two thoughts, with no backing in understanding how things really work... 1) Fix javadoc compilation to be in line with source compilation: build it with two different versions of javadoc depending upon the source being javadoc'd. 2) Fix our source compilation to be consistent with javadoc -- that is, build everything with jdk 1.6. I thought we had looked at doing this using the option that indicates that the target is 1.4. Again, I am woefully short of facts, but they were two ideas I thought I'd put out there to see if they might help. David Rick Hillegas wrote: > Right now the javadoc generated for jdk1.6 is telling a shocking lie. I > can fix this but only by inducing javadoc to tell a different lie. I > would like advice on how to get javadoc to tell the truth, the whole > truth, and nothing but the truth. If that's not possible, I'd like to > know which lie the community prefers. > > 1) How it is today. > > Right now, if you point your ant.properties at a 1.6 installation, we > build javadoc with the 1.6 javadoc tool. The tool assumes that you built > your whole classtree against 1.6 and that the compiler therefore caught > certain kinds of errors. In particular, if a class successfully compiles > under jdk1.4 against the jdk1.4 version of an interface, then the 1.6 > javadoc tool assumes that the class implements additional methods added > to that interface in jdk1.6. Here's an example of the problems this causes: > > a) EmbeddedDataSource, compiled under jdk1.4, implements the 1.4 version > of javax.sql.DataSource > b) The 1.6 javadoc falsely says that EmbeddedDataSource implements the > Wrapper methods added to javax.sql.DataSource by jdk1.6 > > 2) A possible fix and its countervailing lie > > It would be possible to use the 1.4 javadoc tool to build javadoc for > all the classes compiled under 1.4. Then we could use the 1.6 compiler > to build the whole classtree again. With a little jiggery-pokery, we > might be able to copy the additional javadoc html into the 1.4 javadoc > tree and use the 1.6 index.html to zipper the two trees together. Mind > you, I haven't built this yet, I'm just waving my hands. For the example > case above, we would end up with something like the following: > > c) EmbeddedDataSource would NOT assert that it implements the jdk1.6 > Wrapper methods > d) However, now EmbeddedDataSource would fail to say that it has an > important subclass, EmbeddedDataSource40 > > 3) Other solutions? > > Does anyone have a better solution? Better means easier and/or more > truthful. > > 4) Lies and the lying liars who like them > > If not, which lie do you prefer: (1b) or (2d). > > Thanks, > -Rick > >