source: trunk/abcl/contrib/abcl-asdf/README.markdown @ 13575

Last change on this file since 13575 was 13575, checked in by Mark Evenson, 10 years ago

Update ABCL-ASDF contrib to 0.4.1.

Document functions a bit better. Include an example that can be used
without reference to ASDF.

File size: 4.0 KB
Line 
1ABCL-ASDF
2=========
3
4To use:
5
6    CL-USER> (require 'abcl-contrib)
7
8    CL-USER> (require 'abcl-asdf)
9   
10   
11ABCL specific contributions to ASDF system definition mainly concerned
12with finding JVM artifacts such as jar archives to be dynamically loaded.
13
14Examples
15--------
16
17    ;;;; -*- Mode: LISP -*-
18    (in-package :asdf)
19
20    (defsystem :log4j
21      :components ((:mvn "log4j/log4j"
22                    :version "1.4.9")))
23
24API
25---
26
27We define an API as consisting of the following ASDF classes:
28
29JAR-DIRECTORY, JAR-FILE, and CLASS-FILE-DIRECTORY for JVM artifacts
30that have a currently valid pathname representation
31
32And the MVN and IRI classes descend from ASDF-COMPONENT, but do not
33directly have a filesystem location.
34
35For use outside of ASDF, we currently define one method,
36RESOLVE-DEPENDENCIES which locates, downloads, caches, and then loads
37into the currently executing JVM process all recursive dependencies
38annotated in the Maven pom.xml graph.
39
40Example 2
41---------
42
43Bypassing ASDF, one can directly issue requests for the Maven
44artifacts to be downloaded
45
46    CL-USER> (abcl-asdf:resolve-dependencies "com.google.gwt" "gwt-user")
47    WARNING: Using LATEST for unspecified version.
48    "/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"
49
50Notice that all recursive dependencies have been located and installed
51as well.
52
53
54Example 3
55---------
56
57For a filesystem of jar archives:
58
59    ./lib/ext/flora2-reasoner/XSBFlora.jar
60    ./lib/ext/iris-reasoner/iris/iris-0.58.jar
61    ./lib/ext/iris-reasoner/jgrapht/jgrapht-jdk1.5-0.7.1.jar
62    ./lib/ext/log4j/log4j-1.2.14.jar
63    ./lib/ext/mandrax-reasoner/commons-collections-2.1.jar
64    ./lib/ext/mandrax-reasoner/jdom-b10.jar
65    ./lib/ext/mandrax-reasoner/log4j-1.2.8.jar
66    ./lib/ext/mandrax-reasoner/mandarax-3.4.jar
67    ./lib/ext/mins-reasoner/mins-v0_3.jar
68    ./lib/ext/pellet-reasoner/aterm/1.6/aterm-java-1.6.jar
69    ./lib/ext/pellet-reasoner/commons-logging/1.1/commons-logging-1.1.jar
70    ./lib/ext/pellet-reasoner/kaon/1.2.9/rdfapi.jar
71    ./lib/ext/pellet-reasoner/owl-api/1.4.3/abstractparser.jar
72    ./lib/ext/pellet-reasoner/owl-api/1.4.3/io.jar
73    ./lib/ext/pellet-reasoner/owl-api/1.4.3/rdfparser.jar
74    ./lib/ext/pellet-reasoner/owl-api/1.4.3/validation.jar
75    ./lib/ext/pellet-reasoner/owl-api/owl-api-econn/2006-04-27/api.jar
76    ./lib/ext/pellet-reasoner/owl-api/owl-api-econn/2006-04-27/impl.jar
77    ./lib/ext/pellet-reasoner/pellet/pellet.jar
78    ./lib/ext/pellet-reasoner/relaxng/1.0/relaxngDatatype.jar
79    ./lib/ext/pellet-reasoner/xsdlib/xsdlib.jar
80    ./lib/ext/wsmo/WSML-grammar-20081202.jar
81    ./lib/ext/wsmo/wsmo-api-0.6.2.jar
82    ./lib/ext/wsmo/wsmo4j-0.6.2.jar
83    ./lib/ext/xsb-system/interprolog.jar
84
85The following ASDF defintion loads enough JVM artifacts to use the
86[IRIS reasoner][1]:
87
88    (defsystem :wsml2reasoner-jars
89      :version "0.6.4"  ;; last sync with SVN
90      :depends-on (:abcld) :components
91    ((:module wsml2reasoner
92      :pathname "lib/" :components
93      ((:jar-file "wsml2reasoner")))
94      (:module iris-libs
95        :pathname "lib/ext/iris-reasoner/iris/" :components
96      ((:jar-file "iris-0.58")))
97      (:module jgrapht-libs
98      :pathname "lib/ext/iris-reasoner/jgrapht/" :components
99      ((:jar-file "jgrapht-jdk1.5-0.7.1")))
100      (:module wsmo-libs
101      :pathname "lib/ext/wsmo/" :components
102      ((:jar-file "WSML-grammar-20081202")
103       (:jar-file "wsmo-api-0.6.2")
104       (:jar-file "wsmo4j-0.6.2")))
105      (:module log4j-libs
106   :pathname "lib/ext/log4j/" :components
107        ((:jar-file "log4j-1.2.14")))))
108
109[1]:  http://www.iris-reasoner.org/
110
111
112Problems
113-------
114
1150.4.1 2011-09-06
116
117o  locating the proper Maven3 libraries could work in more places
118   
119o  untested under Windows
120   
121o  more information should be optionally available when downloading
122   as this process can potentially take a long time.
Note: See TracBrowser for help on using the repository browser.