[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Updating Jakarta Commons packages



[Barry Hawkins]
> General Recommendations
> 1. Use version numbers almost always.  Our current policy[0] shows this
> as optional, but I believe it should be more the standard we follow by
> default.  Java libraries, in this case Jakarta Commons libraries, are
> almost always vulnerable to incompatibilities between major versions.
> Seasoned Ant users and Maven as a whole[1] (thanks Trygve Laugstøl) have
> chosen versioned .jar files to address this.

Sounds like you are proposing so-name versioning for Java.  Done
right, it is a good idea.  Done wrong it isn't. :)

The librariy packages should have a version number that changes
whenever there is an incompatible change in the library binary.  No
more, and no less.  That way programs using the library only need to
rebuild with newer dependencies when needed, and it will keep working
across library upgrades as long as the library is backward compatbile.

> 2. Do not prefix the source package with "lib".  Libraries, at least
> most of the ones worth packaging, almost always ship their docs in
> the tarballs.  Having a source package whose name matches the binary
> package for the library itself loosely implies that is all it's for.
> Since some libraries also ship with examples and testing frameworks,
> this can become even more confusing, as can be seen in the one bug
> for libcommons-collections3-java[3].

I do not understand this argument.  There are several lib* packages
with both binaries and documentation included.  I do not see that as a
problem.

As for the java "programs", several of the packages is lacking
wrappers to start them in /usr/bin/, and I suspect that is the main
reason people perceive the packages as libraries only.  If people
believe that, that is.  I don't believe it.



Reply to: