source: trunk/abcl/contrib/abcl-asdf/t/eg/test-mvn-module.asd

Last change on this file was 15018, checked in by Mark Evenson, 7 years ago

asdf-mvn-module: enable use of MVN-MODULE in ASDF definitions

The MVN-MODULE component allows finer control over Maven's
behavior when the transitive dependency graph contains conflicting
requirements.

(:mvn-module NAME

:dependencies DEPENDENCIES
:managed-dependencies MANAGED-DEPENDENCIES
:exclusions EXCLUSIONS)

where

DEPENDENCIES

A list of Maven artifacts in the form of colon or slash separated
components GROUPID:ARTIFACTID:VERSIONID.

MANAGED-DEPENDENCIES

A List of maven artifacts. If an dependency with same GROUPID and
ARTIFACTID are encountered, the version specified here overrides.

EXCLUSIONS

A list of partial maven artifacts groupid:artifactid. Dependencies
with same groupid and artifactid are exluded

An example of a MVN-MODULE ASDF declaration:

(defsystem foo

:defsystem-depends-on (asdf-mvn-module)
:components ((:mvn-module maven

:dependencies
("net.sourceforge.owlapi/pellet-cli-ignazio1977/2.4.0-ignazio1977"

"org.semanticweb.elk/elk-owlapi/0.4.3"
"net.sourceforge.owlapi/org.semanticweb.hermit/1.3.8.413"
"net.sourceforge.owlapi/owlapi-distribution/4.2.6"
"net.sourceforge.owlapi/owlexplanation/2.0.0"
"de.sciss/prefuse-core/1.0.1"
"de.sciss/prefuse-demos/1.0.1")

:managed-dependencies
("org.slf4j/slf4j-api/1.7.21"

"net.sourceforge.owlapi:owlapi-distribution:4.2.6")

:exclusions
("net.sourceforge.owlapi:owlapi-osgidistribution"

"edu.stanford.protege:org.protege.editor.owl")))

c.f. <https://mailman.common-lisp.net/pipermail/armedbear-devel/2017-April/003810.html>

Originally from <https://github.com/alanruttenberg/abcl/blob/stage/contrib/abcl-asdf/>.

File size: 1.3 KB
Line 
1;;; From https://github.com/alanruttenberg/lsw2/blob/owlapiv4/owl2/owl2libs-mvn2.asd
2
3(defsystem test-mvn-module
4  :description "Non-Lisp dependencies necessary for OWL to function."
5  :defsystem-depends-on (asdf-mvn-module)
6  :components
7  ((:mvn-module maven
8    :dependencies
9    ("net.sourceforge.owlapi/pellet-cli-ignazio1977/2.4.0-ignazio1977"
10      "org.semanticweb.elk/elk-owlapi/0.4.3"
11      "net.sourceforge.owlapi/org.semanticweb.hermit/1.3.8.413"
12      "net.sourceforge.owlapi/owlapi-distribution/4.2.6"
13      "net.sourceforge.owlapi/owlexplanation/2.0.0"
14      "de.sciss/prefuse-core/1.0.1"
15      "de.sciss/prefuse-demos/1.0.1")
16    :managed-dependencies
17    ("org.slf4j/slf4j-api/1.7.21"
18     "net.sourceforge.owlapi:owlapi-distribution:4.2.6")
19    :exclusions
20    ("net.sourceforge.owlapi:owlapi-osgidistribution"
21     "edu.stanford.protege:org.protege.editor.owl"))
22   #+(or)
23   (:module rest :pathname "lib" :components
24            ((:bundle "uk.ac.manchester.cs.owl.factplusplus-1.6.5")
25       (:jar-file "LSWTreeview-1.0.0")
26       (:jar-file "QuotedStringAnnotationVisitor-1.0.0")))
27   (:module lib :pathname "lib"
28    :depends-on (maven #+(or) rest)))
29    :perform (load-op :after (o c)
30          (progn
31      (#"configure" 'org.apache.log4j.BasicConfigurator (jss::new 'NullAppender))
32      (print "configured log4j"))))
33
Note: See TracBrowser for help on using the repository browser.