Changeset 13636


Ignore:
Timestamp:
10/20/11 18:05:30 (9 years ago)
Author:
Mark Evenson
Message:

Document the ABCL-ASDF contrib which dynamically loads JVM dependencies.

Smooth voice.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/doc/manual/abcl.tex

    r13634 r13636  
    2323
    2424\textsc{ABCL} is packaged as a single jar file usually named either
    25 ``abcl.jar'' or something like``abcl-0.28.0.jar'' if you are using a
     25``abcl.jar'' or possibly``abcl-0.28.0.jar'' if you are using a
    2626versioned package from your system vendor.  This byte archive can be
    2727executed under the control of a suitable JVM by using the ``-jar''
     
    9494  \item The generic function signatures of the DOCUMENTATION symbol do
    9595    not match the CLHS.
     96  \item The TIME form does not return a proper VALUES to its caller.
    9697\end{itemize}
    9798
     
    756757\section{Extensible Sequences}
    757758
    758 \ref{RHODES2007}
     759See \ref{RHODES2007} RHODES2007 for the design.
    759760
    760761The SEQUENCE package fully implements Christopher Rhodes' proposal for
     
    831832code is greater than 0x00ff.
    832833
     834\subsection{JSS optionally extends the Reader}
     835
     836The JSS contrib consitutes an additional, optional extension to the
     837reader in the definition of the #\" reader macro.
     838
    833839\section{ASDF}
    834840
     
    853859and MVN.
    854860
    855 \section{asdf-install}
    856 
    857 An implementation of ASDF-INSTALL.  Superceded by Quicklisp (qv.)
    858 
    859861\section{asdf-jar}
    860862
     
    864866required source and fasls in a jar archive.
    865867
     868\section{abcl-asdf}
     869
     870ABCL specific contributions to ASDF system definition mainly concerned
     871with finding JVM artifacts such as jar archives to be dynamically loaded.
     872
     873\subsection{ABCL-ASDF Examples}
     874
     875\begin{listing-lisp}
     876    ;;;; -*- Mode: LISP -*-
     877    (in-package :asdf)
     878
     879    (defsystem :log4j
     880      :components ((:mvn "log4j/log4j"
     881                    :version "1.4.9")))
     882\end{listing-lisp}
     883
     884\subsection{abcl-asdf API}
     885
     886We define an API as consisting of the following ASDF classes:
     887
     888\textsc[JAR-DIRECTORY}, \textsc{JAR-FILE}, and
     889\textsc{CLASS-FILE-DIRECTORY} for JVM artifacts that have a currently
     890valid pathname representation
     891
     892And the MVN and IRI classes descend from ASDF-COMPONENT, but do not
     893directly have a filesystem location.
     894
     895For use outside of ASDF, we currently define one method,
     896\textsc{RESOLVE-DEPENDENCIES} which locates, downloads, caches, and then loads
     897into the currently executing JVM process all recursive dependencies
     898annotated in the Maven pom.xml graph.
     899
     900\subsection{ABCL-ASDF Example 2}
     901
     902Bypassing ASDF, one can directly issue requests for the Maven
     903artifacts to be downloaded
     904
     905\begin{listing-lisp}
     906    CL-USER> (abcl-asdf:resolve-dependencies "com.google.gwt" "gwt-user")
     907    WARNING: Using LATEST for unspecified version.
     908    "/Users/evenson/.m2/repository/com/google/gwt/gwt-user/2.4.0-rc1/gwt-user-2.4.0-rc1.jar:/Users/evenson/.m2/repository/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA.jar:/Users/evenson/.m2/repository/javax/validation/validation-api/1.0.0.GA/validation-api-1.0.0.GA-sources.jar"
     909\end{listing-lisp}
     910
     911Notice that all recursive dependencies have been located and installed
     912as well.
     913
     914
    866915\section{jss}
    867916
     
    880929  CL-USER) (#"propertyNames" (#"getProperties" 'java.lang.System))
    881930\end{listing-lisp}
     931
     932\section{asdf-install}
     933
     934An implementation of ASDF-INSTALL.  Superseded by Quicklisp (qv.)
    882935
    883936\chapter{History}
Note: See TracChangeset for help on using the changeset viewer.