[armedbear-devel] packaging external libs with abcl

Mark Evenson evenson at panix.com
Mon Sep 21 09:51:18 UTC 2009

On 9/21/09 12:59 AM, Matthew D. Swank wrote:
> On Fri, 11 Sep 2009 16:25:07 +0200
> Alessio Stalla<alessiostalla at gmail.com>  wrote:
>> On Fri, Sep 11, 2009 at 3:20 PM, Matthew D. Swank<akopa at charter.net>
>> wrote:
>>> I've been messing with running abcl on the google appengine, and I
>>> was wondering what was the best way to package libraries,
>>> especially the results of loading an asdf system and its
>>> dependencies?
>> This has been somewhat discussed in the thread "[OT] best way to
>> structure and deploy a project" which I started. What I ended up doing
>> is to use ANT to build my system, both the Java part (natively) and
>> the Lisp part, by making it invoke ABCL with --load
>> compile-system.lisp, where compile-system.lisp is (push such-and-such
>> asdf:*central-registry*) (asdf:oos 'asdf:compile-op :the-system). ANT
>> packages it all in a jar, with a directory structure such as, e.g.,
>> system-name/
>>    bin/                --classes, .lisp, fasls
>>    lib/                 --lisp libraries
>> This is similar to what ABCL itself does (in fact, my ant file is
>> basically a trimmed down version of abcl's), except abcl has no
>> library dependencies.
>> Now, afaik asdf can only load from files, so the jar contains a main
>> class written in Java that detects if it's been launched from a jar,
>> and if it is, it extracts the jar in a temporary directory and uses
>> asdf to load the system from there. This of course cannot work on
>> AppEngine; maybe the patch to load from jars addresses this issue as
>> well?
> I must have miss read the doc, I don't even have r/o
> access to the file system.  I'm not sure how I'd bootstrap an abcl
> application on the google app engine.

I think one has to package everything inside 'abcl.jar', placing your 
code in the 'org.armedbear.lisp' directory.  This should be what 
*LISP-HOME* gets set to.  I have yet to get enough time to figure out 
how to deploy to Google App Engine (GAE) myself:  it's on a long TODO 
list which got pushed further down with having to figure out how to use 
the Eclipse plugin to deploy to GAE.

"A screaming comes across the sky.  It has happened before, but there
is nothing to compare to it now."

More information about the armedbear-devel mailing list