On 19/03/2009, Paul Benedict <pbened...@apache.org> wrote: > sebb, > > I must have mis-stated my point. If Commons Lang uses JCIP @Immutable > annotations, and another Commons project uses a theoretical XYZ > @NotMutable annotations, we will have lost the ability to track bugs > across project boundaries. So my point was that we should all agree > that using JCIP -- if you want to use them -- is the canonical > bug-detecting annotations for any Commons project. Let's just avoid > duplication.
OK. AFAIK, the JCIP annotations are the original ones for concurrency issues. And they are available with a Create Commons license. > > Paul > > > On Thu, Mar 19, 2009 at 6:07 AM, sebb <seb...@gmail.com> wrote: > > On 19/03/2009, Paul Benedict <pbened...@apache.org> wrote: > >> I think the use of JCIP annotations should be an Apache Commons-wide > >> decision. It would only be sensible to share the annotations across > >> projects. Otherwise, we could get fragmentation pretty easily. > > > > Fragmentation? > > > > If a project uses concurrency annotations, it should use the same > > library, buy I see no reason why every component should _have_ to use > > them. > > > >> > >> Paul > >> > >> > >> On Wed, Mar 18, 2009 at 9:48 PM, sebb <seb...@gmail.com> wrote: > >> > On 19/03/2009, Stephen Colebourne <scolebou...@btopenworld.com> wrote: > >> >> sebb wrote: > >> >> > >> >> > > >> >> > > Are you proposing including these pieces of annotation code in > [lang], > >> >> or > >> >> > > just referencing them? If its just referencing them, then it has > no real > >> >> > > effect, and should be fine (aprt from making the compilation a > little > >> >> more > >> >> > > complex) > >> >> > > > >> >> > > > >> >> > > >> >> > I'm not sure what you mean by "including" or "referencing". > >> >> > > >> >> > I am proposing to add > >> >> > > >> >> > import net.jcip.annotations.Immutable > >> >> > and > >> >> > @Immutable > >> >> > > >> >> > to the source files of classes that deserve it. Similarly for the > other > >> >> cases. > >> >> > > >> >> > Much like using @Override, except that the annotations are not part > of the > >> >> JDK. > >> >> > > >> >> > >> >> Thats OK technically (as there is no runtime dependency on > >> >> net.jcip.annotations). However, I suspect it will confuse users, as > very few > >> >> people realise that no dependency is created beyond compilation time. > >> >> > >> >> So, overall, I'm dubious as to whether the value is sufficient to > >> >> compilcate the compliation and to field the inevitable > confusion/questions > >> >> as to 'why we added a dependency' (when we didn't add one really...) > >> >> > >> > > >> > Again, I'm not sure I follow. > >> > > >> > I don't see how the addition of a single new dependency complicates > >> > the compilation. > >> > If there is any complication, it is from trying to follow what Maven > >> > is doing ;-). > >> > > >> > Nor do I see why users will be confused, so long as the site shows > >> > that LANG depends on Java 1.5 only. Many of them will just use Maven > >> > to pick up the new version. If necessary one can always add some > >> > information on the site as to how annotations behave. > >> > > >> > I think it's well worth the exercise of checking all the classes to > >> > see which annotation applies; if necessary the annotations (and > >> > imports) could be added as single-line comments. [But I really don't > >> > want to do that.] > >> > > >> > I suspect that the change to using generics will be a much greater > >> > challenge to users; if they can cope with that, then annotations > >> > should be relatively easy. > >> > > >> > Indeed hopefully users will start adding annotations to their own > code... > >> > > >> >> Stephen > >> >> > >> >> > >> >> --------------------------------------------------------------------- > >> >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > >> >> For additional commands, e-mail: dev-h...@commons.apache.org > >> >> > >> >> > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > >> > For additional commands, e-mail: dev-h...@commons.apache.org > >> > > >> > > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > >> For additional commands, e-mail: dev-h...@commons.apache.org > >> > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org