<div dir="ltr"><div><div><div>Mark,<br><br></div>   I made one additional change to the code and I believe the performance is now faster than the original code. Instead of searching the classpath, I used the classloader to find the version file.<br><br><a href="https://github.com/rritoch/abcl/commit/fd8bf57f921dbb015cbb8401d49b3427eec60f47">https://github.com/rritoch/abcl/commit/fd8bf57f921dbb015cbb8401d49b3427eec60f47</a><br><br></div>Best Regards,<br></div>  Ralph Ritoch<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 3, 2015 at 11:18 PM, Ralph Ritoch <span dir="ltr"><<a href="mailto:rritoch@gmail.com" target="_blank">rritoch@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Mark,<br><br></div>   I don't know if you are planning on coding the features that are being speculated but I have implemented this feature per the original specs. In addition to adding the version file I also moved some things around to facilitate resource filtering to fill in the version number on the version file. This replacement doesn't happen with ant but the lack of replacement doesn't break the ant build either. There are two commits which produce this feature.<br><br><a href="https://github.com/rritoch/abcl/commit/34feb3baa2bf6372e81fb91b176ac376d469e48f" target="_blank">https://github.com/rritoch/abcl/commit/34feb3baa2bf6372e81fb91b176ac376d469e48f</a><br><a href="https://github.com/rritoch/abcl/commit/fd0ecafc28b909a484436691dc7bf83b97875f5c" target="_blank">https://github.com/rritoch/abcl/commit/fd0ecafc28b909a484436691dc7bf83b97875f5c</a><br></div><br>This repairs the bug where the abcl-contrib package isn't being detected in single-jar applications. I have tested it and it is fully functional. <br><br>Best Regards,<br></div>  Ralph Ritoch<br><div><div><br><br></div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Aug 2, 2015 at 6:15 AM, Mark Evenson <span dir="ltr"><<a href="mailto:evenson@panix.com" target="_blank">evenson@panix.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 2015/8/1 19:30, Ralph Ritoch wrote:<br>
[…]<br>
<span><br>
> I wasn't aware that ABCL already has an<br>
> extensibility system for the lifecycle, such as<br>
> SYS:*MODULE-PROVIDER-FUNCTIONS*. If that can be used to override the<br>
> default places to search for the abcl-contrib packages, than great. I<br>
> didn't notice it in the code I was looking at.  The core problem that needs<br>
> to be solved is making a reasonable deployment system for distributed<br>
> single-jar (uberjar) applications.<br>
<br>
</span>[…]<br>
<br>
An additional mechanism for modifying ABCL behavior at startup lies in<br>
the ability to [add arbitrary code to the contents of system.lisp][1].<br>
One could use this to install an additional hook to<br>
SYS:*MODULE-PROVIDER-FUNCTIONS* which would be able to satisfy the<br>
(REQUIRE :abcl-contrib) by referring to PATHNAMEs within the current<br>
jar.  Thus, one could boot an überjar without recourse to anything<br>
additional in ABCL.<br>
<br>
[1]: <a href="http://abcl.org/trac/browser/trunk/abcl/abcl.properties.in#L13" rel="noreferrer" target="_blank">http://abcl.org/trac/browser/trunk/abcl/abcl.properties.in#L13</a><br>
<span><font color="#888888"><br>
<br>
--<br>
"A screaming comes across the sky.  It has happened before, but there<br>
</font></span><div><div>is nothing to compare to it now."<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>