We also cut ourselves off from the standard Linux java library deployment. See, for reference, the listing of /usr/share/java in Fedora 9 (http://people.apache.org/~tvolkert/javalib.txt). If we don't include version numbers, our different versions will stomp on each other in this folder.
-T On Fri, Mar 27, 2009 at 11:33 AM, Todd Volkert <[email protected]> wrote: > And here are some counter points: > > * With version numbers, you're not precluding users from partitioning > their libraries into directories, whereas without version numbers, > you're forcing them to. > > * With version numbers, users immediately know which version they're > using without having to compare file size or extract some META-INF > files to know its version -- let's go for simplicity. > > * The argument that you have to update your library dependencies is a > weak one, imho. I had to do it with a Pivot app I wrote, and it was a > 2 second change that I only undertake when I upgrade to a new Pivot > version, which won't be all that often. And larger, more enterprise > applications use frameworks like Maven to manage their dependencies, > so they don't have to worry about "updating their classpath in all of > their build and deployment environments" either. And along those > lines, Maven requires participating libraries to put their version > numbers in there, so by not doing so, we're precluding our users from > using Pivot in a Maven repository without modifying our distribution > structure. > > -T > > On Fri, Mar 27, 2009 at 11:25 AM, Greg Brown <[email protected]> wrote: >> One additional consideration. If the goal in embedding version numbers in >> the JAR file name is to help manage different installed versions, I'd >> suggest that an approach like the following is preferable. Each of the >> following would be a directory containing pivot-core.jar, pivot-wtk.jar, >> etc. (without embedded version numbers), and apache-pivot would be a >> symbolic link to the directory for the "current" version: >> >> apache-pivot->apache-pivot-1.1 >> apache-pivot-1.0 >> apache-pivot-1.0.1 >> apache-pivot-1.1 >> apache-pivot-1.2 >> >> This is effectively how Mac OSX manages system libraries. >> >> On Friday, March 27, 2009, at 11:18AM, "Greg Brown" <[email protected]> wrote: >>>-1 >>> >>>All, please consider the impact such a change would have before casting your >>>vote. You will now be responsible for manually updating dependencies as new >>>versions are released. You won't simply be able to drop in new JARs and be >>>off and running. This isn't as much of an issue for server-based >>>development, where Tomcat (or some such) will automatically load JARs from >>>your lib directory; in client-side deployment, you will be required to >>>update your classpath in all of your build and deployment environments. >>> >>>Other things to consider: >>> >>>- As Todd mentioned, .NET does not include version numbers in DLL names; it >>>uses the Global Assembly Cache (a sort of meta-directory for code) to >>>partition versions >>>- Maven employs a directory structure to partition versions >>>- Mac OSX employs a directory structure to partition versions >>>- Other Apache projects including Tomcat and Ant do not embed version >>>numbers in their JAR file names, only the distribution artifacts >>>- The JAR files will still contain the version information in the manifest >>> >>>G >>> >>>On Friday, March 27, 2009, at 11:07AM, "Christopher Brind" >>><[email protected]> wrote: >>>>+1 >>>> >>>>2009/3/27 Todd Volkert <[email protected]> >>>> >>>>> There is some disagreement among the PPMC members as to whether we >>>>> should include version numbers in our JAR files that we release, so >>>>> I'd like to call for a consensus vote: >>>>> >>>>> Please cast your vote: >>>>> [+1] include version numbers >>>>> [=0] don't care >>>>> [-1] don't include version numbers >>>>> >>>>> For some background, here are some links that discuss this issue: >>>>> >>>>> http://stackoverflow.com/questions/119426/jar-file-naming-conventions >>>>> - advocates embedding the version number >>>>> >>>>> >>>>> http://javahowto.blogspot.com/2006/05/java-jar-file-naming-conventions-and.html >>>>> - advocates embedding the version number unless the JAR is distributed >>>>> in a larger deliverable >>>>> >>>>> http://publib.boulder.ibm.com/wasce/V2.1.0/en/adding-java-libraries.html >>>>> - advocates using a directory structure to partition JARs >>>>> >>>>> ** note that .NET does not embed version numbers in the file name. >>>>> >>>>> Thanks! >>>>> -T >>>>> >>>> >>> >>> >> >
