[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