[13350] | 1 | ASDF-JAR |
---|
| 2 | ======== |
---|
| 3 | |
---|
| 4 | ASDF-JAR provides a system for packaging ASDF systems into jar |
---|
| 5 | archives for ABCL. Given a running ABCL image with loadable ASDF |
---|
| 6 | systems the code in this package will recursively package all the |
---|
| 7 | required source and fasls in a jar archive . |
---|
| 8 | |
---|
| 9 | To install ASDF systems, [Quicklisp]() is probably the best |
---|
[14904] | 10 | contemporary solution. The QUICKLISP-ABCL <file:../quicklisp-abcl> |
---|
| 11 | may be used to install Quicklisp at runtime from within ABCL. |
---|
[13350] | 12 | |
---|
| 13 | [Quicklisp]: http://www.quicklisp.org |
---|
| 14 | |
---|
| 15 | Once the requisite ASDF systems have been installed, ensure that this |
---|
| 16 | contrib is loaded via |
---|
| 17 | |
---|
| 18 | CL-USER) (require :abcl-contrib) |
---|
[15686] | 19 | CL-USER> (asdf:make :asdf-jar) |
---|
[13350] | 20 | |
---|
[15686] | 21 | Then, one may package any locally loadable ASDF system via |
---|
| 22 | ASDF-JAR:PACKAGE as follows: |
---|
[13350] | 23 | |
---|
[15686] | 24 | CL-USER> (asdf-jar:package :chunga :verbose t) |
---|
| 25 | Packaging ASDF definition of #<ASDF/SYSTEM:SYSTEM "chunga"> |
---|
| 26 | Performing unforced compilation of /var/tmp/chunga-all-1.1.7.jar. |
---|
| 27 | Packaging contents in '/var/tmp/chunga-all-1.1.7.jar'. |
---|
| 28 | Packaging with recursive dependencies #<ASDF/SYSTEM:SYSTEM "trivial-gray-streams">. |
---|
| 29 | /Users/evenson/quicklisp/dists/quicklisp/software/chunga-20221106-git/streams.lisp |
---|
| 30 | =>chunga/streams.lisp |
---|
| 31 | /Users/evenson/quicklisp/dists/quicklisp/software/chunga-20221106-git/input.lisp |
---|
| 32 | =>chunga/input.lisp |
---|
| 33 | /Users/evenson/quicklisp/dists/quicklisp/software/chunga-20221106-git/specials.lisp |
---|
| 34 | =>chunga/specials.lisp |
---|
| 35 | /Users/evenson/quicklisp/dists/quicklisp/software/chunga-20221106-git/known-words.lisp |
---|
| 36 | =>chunga/known-words.lisp |
---|
| 37 | /Users/evenson/quicklisp/dists/quicklisp/software/chunga-20221106-git/util.lisp |
---|
| 38 | =>chunga/util.lisp |
---|
| 39 | /Users/evenson/quicklisp/dists/quicklisp/software/chunga-20221106-git/read.lisp |
---|
| 40 | =>chunga/read.lisp |
---|
| 41 | /Users/evenson/quicklisp/dists/quicklisp/software/chunga-20221106-git/output.lisp |
---|
| 42 | =>chunga/output.lisp |
---|
| 43 | /Users/evenson/quicklisp/dists/quicklisp/software/chunga-20221106-git/conditions.lisp |
---|
| 44 | =>chunga/conditions.lisp |
---|
| 45 | /Users/evenson/quicklisp/dists/quicklisp/software/chunga-20221106-git/packages.lisp |
---|
| 46 | =>chunga/packages.lisp |
---|
| 47 | /Users/evenson/quicklisp/dists/quicklisp/software/trivial-gray-streams-20210124-git/streams.lisp |
---|
| 48 | =>trivial-gray-streams/streams.lisp |
---|
| 49 | /Users/evenson/quicklisp/dists/quicklisp/software/trivial-gray-streams-20210124-git/package.lisp |
---|
| 50 | =>trivial-gray-streams/package.lisp |
---|
| 51 | #P"/var/tmp/chunga-all-1.1.7.jar" |
---|
| 52 | #<EQUAL HASH-TABLE 13 entries, 22 buckets {5368E7A9}> |
---|
[13350] | 53 | |
---|
[15686] | 54 | |
---|
| 55 | The resulting jar contains the source required to run the ASDF system |
---|
| 56 | including any transitive ASDF dependencies. Each such system is |
---|
| 57 | packaged under its own top level directory within the jar archive. |
---|
[13350] | 58 | |
---|
| 59 | To load the system from the jar one needs to add the ASDF file |
---|
[15686] | 60 | locations to the ASDF source registry, conveniently abstracted as the |
---|
| 61 | ASDF-JAR:ADD-TO-JAR function: |
---|
[13350] | 62 | |
---|
[15686] | 63 | CL-USER> (asdf-jar:add-to-asdf "/var/tmp/chunga-all-1.1.7.jar) |
---|
[13350] | 64 | |
---|
| 65 | a subsequent |
---|
| 66 | |
---|
[15686] | 67 | CL-USER> (asdf:load-system :chunga) |
---|
[13350] | 68 | |
---|
| 69 | should load the ASDF system from the jar. |
---|
| 70 | |
---|
| 71 | Setting CL:*LOAD-VERBOSE* will allow one to verify that the subsequent |
---|
| 72 | load is indeed coming from the jar. |
---|
[14305] | 73 | |
---|
| 74 | # Colophon |
---|
| 75 | |
---|
[15074] | 76 | Mark Evenson |
---|
| 77 | Created: 20-JUN-2011 |
---|
[15686] | 78 | Revised: 01-APR-2023 |
---|
| 79 | |
---|
| 80 | |
---|