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

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

Bless abcl-asdf-0.5.0 to fix bugs.

Outstanding issue is that it doesn't work on MSFT.

File size: 4.4 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
115### 0.5.0 2012-01-22
116
117   o  just bless this as a release to stablize its offered API "as is"
118   
119   o  definitely failing under MSFT
120   
121   o  ASDF version has to be a three value integer (i.e. no "-snapshot"
122      after version).  Should be fixed with appropiate :AROUND method
123      as implementation specific monkeypatch.
124       
125
126### 0.4.1 2011-09-06
127
128    o  locating the proper Maven3 libraries could work in more places
129   
130    o  untested under Windows
131   
132    o  more information should be optionally available when downloading
133       as this process can potentially take a long time.
134
135
136#### Colophone
137
138    Mark <evenson.not.org@gmail.com>
139   
140    Created: 2011-01-01
141    Revised: 2012-01-22
142   
Note: See TracBrowser for help on using the repository browser.