[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