Hello list,

I've been trying to use ABCL-JAR to package up my app for deployment to Google App Engine. I've come across a few issues; any comments would be appreciated. I've attached a patch to the ABCL-JAR:PACKAGE function that Works For Me(TM).

For the original code, see http://abcl.org/trac/browser/trunk/abcl/contrib/asdf-jar/asdf-jar.lisp?rev=14695

First, there was an issue where if the ROOT parameter is NIL the function would fail at line 90.

Second, The SYSTEM:ZIP function didn't want to nest JARs within the new JAR, so systems that depended on e.g. JSS via abcl-contrib.jar would fail. I filter out files in JARs on the assumption that one will just distribute those JARs along with the new one.

Third, my ASDF file includes a system that looks like:

(asdf:defsystem #:gabacle-clack-java
  :defsystem-depends-on (#:abcl-asdf)
  :version "0.1"
  :description "Java interface classes for Gabacle/Clack."
  :depends-on ()
  :components ((:module java-src
:pathname "src/"
:components ((:class-file-directory "java")))))

This may or may not be good style, but it seems to be legal. When traversing the ASDF files, the class file directory component comes back with a PATHNAME-TYPE of :UNSPECIFIC, so I filter such entries out so that SYSTEM:ZIP doesn't object.

On a minor note, at http://abcl.org/trac/browser/trunk/abcl/src/org/armedbear/lisp/zip.java?rev=14695#L227 "incorporation" is spelled "incoporation".

I hope this is useful. If people could point out where I've just got the wrong end of the stick, that would be great...

Cheers,

John :^P