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

Re: java-getopt

Hi Christopher,

> We are agreed that if sablecc uses getopt and mystuff
> uses sablecc and getopt2 then
> life is hard if getopt2 is not backward compatible with getopt.


> I don't think we need to solve that rare case immediately.
> Concentrating on the more common case of getopt2 is compatible with
> getopt, I still think that multiple jars are "better" than putting
> everything in 1 jar.

well, I am in full agreement with you here. In general you are absolutely

> A disadvantage of the 1 jar approach is the lack of
> transparency about which jar exports the published component getopt
> interface to client programs (unless you rename the classes or package
> to hide the interface).


> My suggestion of using manifest "Class-Path:" was just to avoid forcing
> existing users from having to edit their CLASSPATHS.

> I attach a small (6Kb) jar of my test sources.

Wow, thanks a lot, it sure cleared some issues. I think you are right...
I will have to go through your tests with my older JDK 1.3 as I am under
the impression that when used from CLASSPATH the jar's Class-Path entry
was simply ignored.

> P.S. Java Web Start (JNLP standards) has many auto-upgrade, library
> version pattern matching rules etc already, so maybe the hard
> versioning problems will be solved by Java Web Start.

I do not think so. At least not as of the 1.01 release I have tried some
time ago. First: you are not in full  controll of which libraries you want
and which you do not want and which versions you want and which you do
not want on your own system. Second: there is no library
install/browsing/upgrade support (all is besically application centered,
not "shared" libraries centered). Third: the filesystem for web start is a
mess ;o) You cannot easily fetch the libraries out and run them manually
when you want (and theirs GUI is pretty ugly as well, but well, one could
write one's own one). And I believe there is even no library sharing
across different applications (which is the whole point of having jar/lib
tool at the first place).

thanks a lot for your feedback,
best regards