On Jan 22, 2012, at 8:50 AM, Theam Yong Chew wrote:
Hi devs,
I looked into the asdf jar loading mechanism in the contrib, and found that it doesn't work well on Windows (mainly pathname issues). Attached patch provides a suggested fix (please review).
[Applied to trunk][r13795] after review and test under UNIX. At least it doesn't break anything…
Need to get my MSFT test environment a bit more in order
Additionally, I think a suitable (OS portable?) argument for asdf-jar:package's
&key out #P"/var/tmp"
would be nice.
Got an idea for a single string that would work everywhere? Something like "./" *should* work, but it may not end up really being a temp space. A better idea might be to query the underlying JVM as to what directory the temporary file creations routines use, and ape that.
A conditional read macro at runtime to select "/var/tmp" or "c:/temp"?
Thanks for the good work!
Thanks for the patch!
[r13795]: http://trac.common-lisp.net/armedbear/changeset/13795
Yong. PS Any ideas on how we can avoid bundling the source too (maybe only the .asd file will still be needed). This will make jar files look more like binaries in a way... I tried to add a :exclude-source argument to package, but the resulting jar file failed to load (asdf wants source files still).
At various time I have gotten ASDF to exclude packaging the source, but the protocol always seems to break. Eventually, I just learned to stop fighting not including the source. For situations where it is commercially necessary to strip source, I would recommend the quick and dirty hack of stripping the generated archive.