[asdf-devel] how to add one more directory to an initialized registry?

Robert P. Goldman rpgoldman at sift.info
Mon Feb 17 14:47:36 UTC 2014


Attila Lendvai wrote:
> so, let's say i have an already initialized source registry, and from
> my .sbclrc i want to add one more directory to it.
> 
> currently this is what i kludged together, but it stinks:
> 
> (asdf:initialize-source-registry
>  (append
>   '(:source-registry)
>   (butlast asdf:*source-registry-parameter*)
>   `((:directory ,(merge-pathnames "whatever" (user-homedir-pathname))))
>   '(:inherit-configuration)))
> 
> or am i completely backwards with the cart, and i should just forget
> .sbclrc and use ~/.config/common-lisp/source-registry.conf.d/ for
> this?
> 
> the reason i prefer calling initialize-source-registry because then we
> can commit the right form into our env repo and the team members can
> have the exact same environment with less effort (just loading one
> repo-tracked file from .sbclrc).
> 

Sorry, why is it that you put in the line with
*source-registry-parameter* instead of simply adding the new directory?

BTW, for exactly your use case -- making it easy for people to put
configurations in a revision control system, and have an entire team get
their configuration that way, we added :HERE to the DSL for initializing
the source registry.

[I feel compelled to disclose that because we have so much legacy code
in that form, I still use the variable asdf:*central-registry* for my
own configuration purposes, with an in-house library that essentially
duplicates the function of Faré's directory traversal.]

Faré, why is it that *source-registry-parameter* is exported?  It seems
like a cache, and I don't understand why the user would need access to it.

Best,
r




More information about the asdf-devel mailing list