[armedbear] #436: feature request maven exclude dependency

armedbear armedbear-devel at common-lisp.net
Thu Jan 12 22:25:20 UTC 2017


#436: feature request maven exclude dependency
------------------------------+-----------------
      Reporter:  aruttenberg  |      Owner:
          Type:  enhancement  |     Status:  new
      Priority:  major        |  Milestone:
     Component:  (A)MOP       |    Version:
    Resolution:               |   Keywords:
Parent Tickets:               |
------------------------------+-----------------

Comment (by aruttenberg):

 Here's a snippet that poc shows how one can do this at the direct
 dependent level.
 {{{
     (let* ((node
              (#"getRoot" (#"collectDependencies" (ensure-repository-
 system) (ensure-session) collect-request))))
       (let ((evil (find-if (lambda(e) (equal (#"getArtifactId"
 (#"getArtifact" e)) "org.protege.editor.owl"))
                            (jss::j2list (#"getChildren" node)))))
         (#"remove" (#"getChildren" node) evil)
         (let ((dependency-request
                 (jss:new 'DependencyRequest))
 }}}

 For deeper dependents I think you need to use pass a `DependencyFilter` in
 the constructor of  the `DependencyRequest`. See
 `PatternExclusionsDependencyFilter` and `OrDependencyFilter`

 For syntax I might suggest using the syntax that
 `PatternExclusionsDependencyFilter` uses, so it would be:

 (:mvn "net.sourceforge.owlapi/owlapi-distribution/4.2.6" :exclude
 (":org.protege.editor.owl:" ..)) for my example case of exclusion by
 artifactID

 The patterns apparently support version ranges.

 The MVN URL Scheme doesn't seem to provide for exclusions. If you used
 them then they would be the form for both the dependency and the
 exclusions - you still need to specify the exclusions separately.

 https://ops4j1.jira.com/wiki/display/paxurl/Mvn+Protocol

 I vote for the pattern over the URL

--
Ticket URL: <http://abcl.org/trac/ticket/436#comment:1>
armedbear <http://abcl.org>
armedbear


More information about the armedbear-ticket mailing list