Last change
on this file was
15018,
checked in by Mark Evenson, 8 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:
717 bytes
|
Line | |
---|
1 | (in-package :cl-user) |
---|
2 | |
---|
3 | (defpackage abcl-asdf |
---|
4 | (:use cl) |
---|
5 | (:import-from :abcl/build |
---|
6 | #:split-string) |
---|
7 | (:export |
---|
8 | ;;; Public API |
---|
9 | #:resolve |
---|
10 | |
---|
11 | |
---|
12 | ;; Configuring Maven |
---|
13 | |
---|
14 | #:with-aether |
---|
15 | |
---|
16 | #:ensure-mvn-version |
---|
17 | |
---|
18 | #:find-mvn |
---|
19 | |
---|
20 | #:*mvn-directory* |
---|
21 | |
---|
22 | #:init |
---|
23 | |
---|
24 | ;;; "Internal" API |
---|
25 | #:resolve-dependencies |
---|
26 | #:resolve-artifact |
---|
27 | |
---|
28 | ;;;; Maven |
---|
29 | #:*mvn-libs-directory* |
---|
30 | #:*maven-http-proxy* |
---|
31 | #:make-remote-repository |
---|
32 | #:*maven-remote-repository* |
---|
33 | #:resolve-artifact |
---|
34 | #:resolve-dependencies |
---|
35 | #:resolve-multiple-maven-dependencies |
---|
36 | |
---|
37 | #:as-classpath |
---|
38 | |
---|
39 | #:add-directory-jars-to-class-path |
---|
40 | #:need-to-add-directory-jar? |
---|
41 | |
---|
42 | #:*added-to-classpath* |
---|
43 | #:*inhibit-add-to-classpath*)) |
---|
44 | |
---|
45 | |
---|
46 | |
---|
47 | |
---|
48 | |
---|
49 | |
---|
50 | |
---|
Note: See
TracBrowser
for help on using the repository browser.