Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
abcl
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abcl
abcl
Commits
8e7a30b8
Commit
8e7a30b8
authored
Apr 01, 2012
by
mevenson@1c010e3e-69d0-11dd-93a8-456734b0d56f
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
abcl-asdf: Final touches on 0.8.0.
parent
2b8c2d3e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
5 deletions
+16
-5
contrib/abcl-asdf/abcl-asdf.lisp
contrib/abcl-asdf/abcl-asdf.lisp
+12
-5
contrib/abcl-asdf/packages.lisp
contrib/abcl-asdf/packages.lisp
+4
-0
No files found.
contrib/abcl-asdf/abcl-asdf.lisp
View file @
8e7a30b8
...
...
@@ -23,25 +23,31 @@
;;; We intercept compilation to ensure that load-op will succeed
(
defmethod
perform
((
op
compile-op
)
(
c
mvn
))
(
maybe-parse
-mvn
c
)
(
ensure-parsed
-mvn
c
)
(
abcl-asdf:resolve
c
))
(
defmethod
perform
((
operation
load-op
)
(
c
mvn
))
(
maybe-parse
-mvn
c
)
(
ensure-parsed
-mvn
c
)
(
java:add-to-classpath
(
abcl-asdf:as-classpath
(
abcl-asdf:resolve
c
))))
;;; A Maven URI has the form "mvn:group-id/artifact-id/version"
;;;
;;; Sometimes people write "group-id:artifact-id:version" to refer to
;;; Maven artifacts. One can use ABCL-ASDF:RESOLVE directly for
;;; serialized references to artifacts of this form.
;;;
;;; Currently we "stuff" the group-id/artifact-id into the 'name' and
;;; use the component 'version' for the version. Parts of ASDF
;;; *reallY* want ASDF:VERSION to be a triple of intergers, and never
;;; anything more, so that is part of the motivation behind this effort.
;;; ??? rename me to ENSURE-MVN-PARSE ??
(
defun
maybe-parse-mvn
(
component
)
(
defparameter
*mvn-repositories*
nil
"A list of all Maven repositories encountered in the lifetime of this instance of the implementation."
)
(
defun
ensure-parsed-mvn
(
component
)
(
with-slots
(
name
group-id
artifact-id
version
schema
path
)
version
schema
path
repository
)
component
(
when
(
null
asdf::artifact-id
)
(
let
((
parsed
(
abcl-asdf::split-string
name
"/"
))
...
...
@@ -63,6 +69,7 @@
(
error
"Failed to construct a mvn reference from name '~A' and version '~A'"
name
version
)))
(
setf
schema
"mvn"
)
(
pushnew
repository
*mvn-repositories*
)
;;; Always normalized path "on the way out" to contain group-id/artifact-id/version
(
setf
path
(
format
nil
"~A/~A/~A"
group-id
artifact-id
version
))))))
...
...
contrib/abcl-asdf/packages.lisp
View file @
8e7a30b8
...
...
@@ -13,6 +13,10 @@
#:init
;;; ASDF
;;; #:iri #:mvn
;;; #:ensure-parsed-mvn
;;; "Internal" API
;;;; Maven
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment