5cae01afd663cb93ecd672e6b8cd3b130edb98be
Sun "enhanced" the jar file specification to allow dependencies to be expressed inside jar files, which cause the JVM to try to magically add dependent jar files to the classpath. This is half-assed and wrong in too many ways to enumerate here. They then helpfully added activation.jar to mail.jar under the multiple misguided assumptions that no one would ever possibly need to use mail.jar without also having activation.jar in their classpath, with that exact name, and located precisely in the same directory. I can't possibly imagine devating from those implicit requirements. Maven then upped the ante on this little fiasco by deciding that any time the Java compiler generates a warning that they can't parse, they should fail the build. Clearly it's critical that your build system be conversant in every possible warning that might be emitted by your compiler. As a result, when I fix their boneheaded default of suppressing warnings by default, the build now fails with this demonstration of awesomeness: could not parse error message: warning: [path] bad path element "/home/mdb/.m2/repository/javax/mail/mail/1.4.1/activation.jar": no such file or directory Thank you Sun, and thank you Maven. Fortunately, I can tell javac to not emit warnings for these bogus jar dependencies, which I have done. git-svn-id: https://samskivert.googlecode.com/svn/trunk@2860 6335cc39-0255-0410-8fd6-9bcaacd3b74c
The samskivert library ---------------------- The samskivert library (SL) aims to provide useful reusable Java routines that do things for which I've been unable to find useful reusable implementations on the net. Given the emphasis on reusability, SL attempts to closely adhere to the following principles: * Each individual module should depend as little as possible on other SL modules. Obvious exceptions include modules that are a logical extension of other modules and modules that clearly require a service that is implemented by another SL module and would have to implement that service themselves in the absence of dependence on the other module. * Modules should be both simple to use and as general purpose as possible. To meet these two competing requirements, a balance must be struck at that sweet spot where reusability is maximized. * Code included in SL will freely depend on JDK packages available in the Java 2 platform and beyond. SL is initially a repository of software useful for server-side or stand alone applications and therefore need not make compromises to function in the jungle of JVMs in commonly available web browsers. * We are not here to reinvent the wheel, nor to provide a uniform interface to every software service under the sun. If something is available in a freely redistributable and reusable form from someone else, it won't be found in SL. If SL depends on such software from another source, it will provide clear documentation on how to get that software and make use of it within the scope of SL's particular needs. Again a balance of reusability will be struck here and software that is sufficiently difficult to make usable in an arbitrary environment will not be used by SL and may be "reinvented". Building -------- The library is built using ant. If you aren't already using ant for other projects, it can be found here: http://ant.apache.org/ Invoke ant with any of the following targets: all: builds the class files and javadoc documentation compile: builds only the class files (dist/classes) javadoc: builds only the javadoc documentation (dist/docs) tests: builds and runs the unit tests dist: builds the distribution jar file (dist/samskivert.jar) It is highly recommended to use the Ivy-based build file, which will automatically download any dependencies. The build file will also download Ivy if needed. For example, to build everything invoke: % ant -f build-ivy.xml all Distribution ------------ The samskivert library is released under the LGPL. The most recent version of the library is available here: http://code.google.com/p/samskivert/ Contribution ------------ Contributions to SL are welcome. Email mdb@samskivert.com with patches or suggestions. $Id$
Description
Languages
Java
96.5%
Shell
2.2%
HTML
1.3%