Return-Path: Delivered-To: apmail-commons-dev-archive@www.apache.org Received: (qmail 76596 invoked from network); 20 Mar 2009 02:30:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 20 Mar 2009 02:30:07 -0000 Received: (qmail 13033 invoked by uid 500); 20 Mar 2009 02:30:00 -0000 Delivered-To: apmail-commons-dev-archive@commons.apache.org Received: (qmail 12957 invoked by uid 500); 20 Mar 2009 02:29:59 -0000 Mailing-List: contact dev-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Developers List" Delivered-To: mailing list dev@commons.apache.org Received: (qmail 12946 invoked by uid 99); 20 Mar 2009 02:29:59 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Mar 2009 19:29:59 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of paulus.benedictus@gmail.com designates 74.125.46.157 as permitted sender) Received: from [74.125.46.157] (HELO yw-out-1718.google.com) (74.125.46.157) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 Mar 2009 02:29:53 +0000 Received: by yw-out-1718.google.com with SMTP id 9so563571ywk.60 for ; Thu, 19 Mar 2009 19:29:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type:content-transfer-encoding; bh=Gd96M5ipJSSHs197EyY1FtJs+JshMJHdb2Db8JbNYr0=; b=uTbk6W57gvNuFQo2gzoDj5BSafa8KW/qNGHSDGMJzI7XUOOzkO4lMxhHiVUi1Ha5Do Kj4/cL5rH39xgcapKUewobsH/MyPl/6x7vh1I51VX9d8bX3nH8qnhXR8i59b7xGO2Ros cUmyTJleMBG/7VFoL1yG1/XtwG7fiR3ZMuwHM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=qqpaW7glPQXp9PDqKCzDldluTXpeNatRczTmN6VWd9gt2ftqkIbtfomn/U8Lk3+o3g SOVJplK8QAhL0I5C5Y9z6i9WU8LjqK+LehX3iJ+wT6GRfEMO38ZEUafv6rTsHas6uhIq ErudCsfWolz75OHkG9FBzY2yk+K2j8DtJDd4s= MIME-Version: 1.0 Sender: paulus.benedictus@gmail.com Received: by 10.100.109.13 with SMTP id h13mr3571756anc.21.1237516172297; Thu, 19 Mar 2009 19:29:32 -0700 (PDT) In-Reply-To: <55afdc850903191926l4ce1f90fs834f3cd9b5170c74@mail.gmail.com> References: <25aac9fc0903180851n7c8c6875waeea71313ce6696d@mail.gmail.com> <25aac9fc0903181600v1bb4bb2cu45dd07008dcd14e6@mail.gmail.com> <49C1A6BE.5000003@btopenworld.com> <25aac9fc0903181908s753b5bbel98dc448794531e3b@mail.gmail.com> <49C1AC32.7070404@btopenworld.com> <25aac9fc0903181948p6edead9cv8bc72270e9159e5f@mail.gmail.com> <49C25F63.5000806@btopenworld.com> <55afdc850903191805j63a1b85eq1b145d2d98e8bfe3@mail.gmail.com> <25aac9fc0903191824i7d1eea0ej8fca29ca4d3d929d@mail.gmail.com> <55afdc850903191926l4ce1f90fs834f3cd9b5170c74@mail.gmail.com> Date: Thu, 19 Mar 2009 21:29:32 -0500 X-Google-Sender-Auth: b06e1c68df2815b6 Message-ID: Subject: Re: [LANG] 3.0 JCIP Annotations From: Paul Benedict To: Commons Developers List Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Sebb, After Lang 3.0 gets released, why not branch just for the JCIP stuff? Sometimes you can only convince my demonstration. I think that would be an acceptable evaluation. Paul On Thu, Mar 19, 2009 at 9:26 PM, Niall Pemberton wrote: > On Fri, Mar 20, 2009 at 1:24 AM, sebb wrote: >> On 20/03/2009, Niall Pemberton wrote: >>> On Thu, Mar 19, 2009 at 3:06 PM, Stephen Colebourne >>> >>> wrote: >>> =A0> sebb wrote: >>> =A0>> >>> =A0>> On 19/03/2009, Stephen Colebourne w= rote: >>> =A0>>> >>> =A0>>> =A0So, overall, I'm dubious as to whether the value is sufficien= t to >>> =A0>>> compilcate the compliation and to field the inevitable >>> =A0>>> confusion/questions >>> =A0>>> as to 'why we added a dependency' (when we didn't add one really= ...) >>> =A0>> >>> =A0>> Again, I'm not sure I follow. >>> =A0>> >>> =A0>> I don't see how the addition of a single new dependency complicat= es >>> =A0>> the compilation. >>> =A0> >>> =A0> Because [lang] has no dependencies at present. That is a feature. >>> =A0> >>> =A0>> Nor do I see why users will be confused, so long as the site show= s >>> =A0>> that LANG depends on Java 1.5 only. =A0Many of them will just use= Maven >>> =A0>> to pick up the new version. If necessary one can always add some >>> =A0>> information on the site as to how annotations behave. >>> =A0> >>> =A0> But due to the way maven generates documentation, and the data in = the pom, >>> =A0> it will /appear/ like [lang] does have a dependency. >>> =A0> >>> =A0> Since most users are unaware that annotation dependencies are not = needed at >>> =A0> runtime, they will take the belt and braces approach and include t= he >>> =A0> 'dependency'. Or stop using [lang]. >>> =A0> >>> =A0>> Indeed hopefully users will start adding annotations to their own= code... >>> =A0> >>> =A0> This change doesn't actually help with that, other than providing >>> =A0> advertising for JCIP. >>> =A0> >>> =A0> I'm basically -0 to this change, as I think the confusion outweigh= s the >>> =A0> gains. >>> >>> >>> I agree with Stephen. >>> >>> =A0As well as the point he makes its also causing the >>> =A0net.jcip.annotations package to be included in the OSGi Import-Packa= ge >>> =A0statement in the manifest which I assume will make this a required >>> =A0dependency when using lang in an OSGi environment. I guess that the >>> =A0maven-bundle-plugin can probably be configured to stop that happenin= g >>> =A0but even if it can then I don't really see the point of using this >>> =A0over just plain comments in the javadocs. >> >> The point is that the annotations can be checked using automated >> tools, so changes that break the contract are detected. Much the same >> reason as using generics. > > Theres a question over whether this is actually working ATM. > >> means to automate checking it. Updating Javadoc is as much work but no >> a automated checking benefit. >> >> Seems to me that most of the reasons for not implementing this are >> that Maven does not seem handle the compile-time only dependency >> properly. > > True but thats our build tool of choice ATM and this feature is only > for documenting/checking and doesn't actually add anything to Lang's > functionality - esp when it could just be as easily documented in the > javadocs without the annotations. > > Niall > >>> >>> =A0Niall >>> >>> >>> >>> =A0> Stephen > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org > For additional commands, e-mail: dev-help@commons.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org For additional commands, e-mail: dev-help@commons.apache.org