Return-Path: X-Original-To: apmail-db-derby-dev-archive@www.apache.org Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 143889F38 for ; Thu, 3 May 2012 19:53:42 +0000 (UTC) Received: (qmail 23248 invoked by uid 500); 3 May 2012 19:53:41 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 23221 invoked by uid 500); 3 May 2012 19:53:41 -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 23214 invoked by uid 99); 3 May 2012 19:53:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 May 2012 19:53:41 +0000 X-ASF-Spam-Status: No, hits=-5.0 required=5.0 tests=RCVD_IN_DNSWL_HI,SPF_PASS,UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of rick.hillegas@oracle.com designates 141.146.126.227 as permitted sender) Received: from [141.146.126.227] (HELO acsinet15.oracle.com) (141.146.126.227) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 03 May 2012 19:53:31 +0000 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by acsinet15.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id q43Jr87x015403 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 3 May 2012 19:53:08 GMT Received: from acsmt357.oracle.com (acsmt357.oracle.com [141.146.40.157]) by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id q43Jr7th018211 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 3 May 2012 19:53:07 GMT Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68]) by acsmt357.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id q43Jr7aa024632 for ; Thu, 3 May 2012 14:53:07 -0500 Received: from dhcp-rmdc-twvpn-2-vpnpool-10-159-72-44.vpn.oracle.com (/10.159.72.44) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 03 May 2012 12:53:06 -0700 Message-ID: <4FA2E217.8030308@oracle.com> Date: Thu, 03 May 2012 12:52:55 -0700 From: Rick Hillegas User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.7; en-US; rv:1.9.2.18) Gecko/20110616 Thunderbird/3.1.11 MIME-Version: 1.0 To: derby-dev@db.apache.org Subject: Re: Maven debug and source artifacts for Derby References: <4F98202A.3010305@oracle.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Source-IP: ucsinet22.oracle.com [156.151.31.94] Thanks for starting this conversation, Kristian. Here's my $0.02: I see a number of issues here: 1) An impedance mismatch between the Derby and Maven concepts of release artifacts. 2) The bewildering number of Derby release artifacts today. 3) A request for different Derby release artifacts. 4) A request for a source Maven artifact. Just to be clear, I think we should try to drive our release process toward producing fewer artifacts, not more. ------- Impedance Mismatch Between Derby and Maven ---------- For Derby, a release artifact is a zip (or tar) ball containing a complete system of jar files which cohere with one another. For Maven, a release artifact is a single jar file which can be mixed and matched with other jar files at different rev levels. The two world views diverge at a very high level: a) For Derby, jar files are children of version numbers b) For Maven, version numbers are children of jar files I don't know how we go about bridging this gap. The Maven model allows for mixing Derby jars from different versions, something which we don't generally allow. Maybe there is a way in Maven to declare that the version numbers of derbynet.jar and derby.jar must agree. ------- Bewildering Number of Derby Release Artifacts ---------- IMHO we already produce too many Derby artifacts. Do we really need bin and lib artifacts? Do we really need zips and tarballs? I'd be happy with zip-only artifacts representing the following: i) Source (I believe this is the only artifact required by Apache) ii) Docs, templates, and demos iii) Bin (executable code, including jars and shell scripts) iv) Debug-bin That's 4 artifacts rather than the 8 we produce today (remember, we're deprecating the Eclipse bits). ------- Different Derby Artifacts ---------- There's a request to produce an artifact which is half-way between our bin and debug-bin artifact, viz., executable code which includes line numbers but no assertions. How much extra value does this add? I think this would provide extra information for heisenbugs which don't have repros, but in my experience we don't make much headway on those bugs, with or without line numbers. For bugs which have repros, we (the Derby developers who do almost all of the bug fixing around here) see the line numbers as soon as we run the repro, because we're all using sane builds in our sandboxes. So who is this new artifact for? Are there other developers out there who would be contributing fixes back to the community if we provided an artifact with line numbers? These would be people who would take the time to script, debug, and fix an issue. To do this, they would need to download the source distro or set up a subversion client on one of our branches. But they wouldn't be willing to download a debug distro. ------- Source Maven Artifacts ---------- I don't have any objection to providing a source Maven artifact for the purposes described by DERBY-5668. Does the source artifact need to be in some special format to be usable by IDEs? Thanks, -Rick