Skip to content
  • mevenson@1c010e3e-69d0-11dd-93a8-456734b0d56f's avatar
    asdf-mvn-module: enable use of MVN-MODULE in ASDF definitions · 53256660
    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/>.
    53256660