Hi folks,
Recently, in order to increase the modularity of our project's ASDF dependencies, I introduced a sub-class of MODULE called GROUP. We wanted to keep all of our main .lisp files in the toplevel, so the purpose of the class is simply to define a method for the COMPONENT-RELATIVE_PATHNAME generic function. The problem that I'm experiencing is that the dependencies at the MODULE (GROUP) level don't appear to be established (i.e. modifying one group does not cause its dependents to be re-compiled). Here is a snippet of the code:
;; a GROUP is an ASDF component whose files are located in its parent ;; component's directory. (defclass group (module) ())
(defmethod component-relative-pathname ((component group)) (make-pathname :host (pathname-host (component-pathname (component-parent component)))))
(defsystem :foo :components ((:file "packages") (:group "x" :depends-on ("packages") :components ((:file "a") (:file "b" :depends-on ("a")) (:file "c" :depends-on ("b")) (:file "d" :depends-on ("a" "b")))) (:group "y" :depends-on ("packages" "x"") :serial t :components (...))))
Any thoughts?
Regards,
- Scott Bell
On 3 February 2010 11:32, Scott Bell sblist@me.com wrote:
(:group "x" :depends-on ("packages")
If you're not in a subdirectory #p"x/", here add a :pathname #p""
:components ((:file "a") (:file "b" :depends-on ("a")) (:file "c" :depends-on ("b")) (:file "d" :depends-on ("a" "b"))))
Any thoughts?
There ought to be a FAQ.
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] The rule is perfect: in all matters of opinion our adversaries are insane. — Mark Twain
On 2/3/10 Feb 3 -11:53 AM, Faré wrote:
On 3 February 2010 11:32, Scott Bell sblist@me.com wrote:
(:group "x" :depends-on ("packages")
If you're not in a subdirectory #p"x/", here add a :pathname #p""
:components ((:file "a") (:file "b" :depends-on ("a")) (:file "c" :depends-on ("b")) (:file "d" :depends-on ("a" "b"))))
Any thoughts?
There ought to be a FAQ.
There is a FAQ in asdf.texinfo, and here is a patch. Note that the solution chosen was not the #P"" solution, but making an empty :relative pathname.
On 2/3/10 Feb 3 -10:32 AM, Scott Bell wrote:
Hi folks,
Recently, in order to increase the modularity of our project's ASDF dependencies, I introduced a sub-class of MODULE called GROUP. We wanted to keep all of our main .lisp files in the toplevel, so the purpose of the class is simply to define a method for the COMPONENT-RELATIVE_PATHNAME generic function. The problem that I'm experiencing is that the dependencies at the MODULE (GROUP) level don't appear to be established (i.e. modifying one group does not cause its dependents to be re-compiled).
I believe that this is https://bugs.launchpad.net/asdf/+bug/502946
probably you should subscribe to this bug.
Best, Robert
On 2010-02-03, at 11:41 AM, Robert Goldman wrote:
I believe that this is https://bugs.launchpad.net/asdf/+bug/502946
probably you should subscribe to this bug.
Thanks Robert, this is indeed the bug I'm experiencing.
Regards,
- Scott