Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 10 additions & 13 deletions contrib/abcl-asdf/abcl-asdf.asd
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,15 @@
:version "2.1.0"
:depends-on (jss abcl-build)
:components
((:module package
:pathname ""
:components ((:file "package")))
(:module base
:pathname ""
:components ((:file "abcl-asdf")
(:file "asdf-jar" :depends-on ("abcl-asdf")))
:depends-on (package maven))
(:module maven
:pathname ""
:components ((:file "maven")
(:file "mvn-module"))
:depends-on (package)))
((:module package :pathname ""
:components ((:file "package")))
(:module base :pathname ""
:components ((:file "abcl-asdf")
(:file "asdf-jar" :depends-on ("abcl-asdf")))
:depends-on (package maven))
(:module maven :pathname ""
:components ((:file "maven")
(:file "mvn-module"))
:depends-on (package))
:in-order-to ((test-op (test-op abcl-asdf-tests))))

10 changes: 10 additions & 0 deletions contrib/abcl-asdf/asdf-osgi-bundle.asd
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
;;;; -*- Mode: LISP -*-
(defsystem asdf-osgi-bundle
:author "Alan Ruttenberg"
:version "1.0.0"
:depends-on (abcl-asdf)
:long-description "<urn:abcl.org/release/1.8.0/contrib/abcl-asdf/asdf-osgi-bundle#>"
:version "1.0.0"
:components ((:module source :pathname ""
:components ((:file "osgi")
(:file "asdf-osgi-bundle")))))
25 changes: 25 additions & 0 deletions contrib/abcl-asdf/asdf-osgi-bundle.lisp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
(in-package :asdf)

(defclass bundle (jar-file)
;; bootdelegation and system-packages correspond to the framework
;; config vars org.osgi.framework.bootdelegation and
;; org.osgi.framework.system.packages.extra implementation is to
;; restart OSGI with the values appended to the existing
;; configuration in *osgi-configuration* I thought I understood the
;; difference but I don't - only system-packages has worked for me.
;; These should be lists of strings . What these accomplish might
;; better be done with "extension bundles" but I haven't tried them
;; yet.
((bootdelegation :initarg :bootdelegation :initform nil)
(system-packages :initarg :system-packages :initform nil)))

(defmethod perform ((operation load-op) (c bundle))
(let ((extra-bootdelegation (slot-value c 'bootdelegation))
(extra-system-packages (slot-value c 'system-packages)))
(if (or extra-bootdelegation extra-system-packages)
(warn "not handling :bootdelegation and :system-packages args yet"))
(abcl-asdf/osgi:add-bundle (component-pathname c))))

(defmethod perform ((operation compile-op) (c bundle))
(abcl-asdf/osgi:add-bundle (component-pathname c)))

Loading