Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 86763 invoked from network); 28 Apr 2006 20:36:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 28 Apr 2006 20:36:48 -0000 Received: (qmail 95403 invoked by uid 500); 28 Apr 2006 20:36:46 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 95368 invoked by uid 500); 28 Apr 2006 20:36:46 -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 95359 invoked by uid 99); 28 Apr 2006 20:36:46 -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 13:36:46 -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-2.sun.com) (192.18.42.249) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Apr 2006 13:36:45 -0700 Received: from d1-sfbay-03.sun.com ([192.18.39.113]) by nwkes-gis-mail-2.sun.com (8.12.9/8.12.9) with ESMTP id k3SKaOgL020777 for ; Fri, 28 Apr 2006 13:36:24 -0700 (PDT) Received: from conversion-daemon.d1-sfbay-03.sun.com by d1-sfbay-03.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) id <0IYG0060187JQD00@d1-sfbay-03.sun.com> (original mail from Richard.Hillegas@Sun.COM) for derby-dev@db.apache.org; Fri, 28 Apr 2006 13:36:24 -0700 (PDT) Received: from [129.150.20.229] by d1-sfbay-03.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) with ESMTPSA id <0IYG00IN498O8B30@d1-sfbay-03.sun.com> for derby-dev@db.apache.org; Fri, 28 Apr 2006 13:36:24 -0700 (PDT) Date: Fri, 28 Apr 2006 13:36:31 -0700 From: Rick Hillegas Subject: Javadoc lies Sender: Richard.Hillegas@Sun.COM To: Derby Development Message-id: <44527CCF.90008@sun.com> MIME-version: 1.0 Content-type: text/plain; format=flowed; charset=ISO-8859-1 Content-transfer-encoding: 7BIT X-Accept-Language: en-us, en User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N 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