Thanks for quick replies.
Actually, this feature is already available, I believe, through the :HERE directive in the configuration language.
This was something we added for the case that I found common, where there would be a project directory tree, with all the required code in subdirectories, and a master configuration file at the root.*
It is a little bit different from what I wanted to do. I'm trying to run a one-liner sbcl command with adding a specific directory to source registry.
Though CL_SOURCE_REGISTRY looks perfect for the purpose, it must be a string and doesn't accept relative pathnames.
# copying from my first email # doesn't work CL_SOURCE_REGISTRY=. sbcl --eval '(princ (asdf:system-source-directory :myapp))'
Of course, it can be done with --eval "(push #P"." asdf:*central-registry*)", but it's really verbose. Is there another way to do it?
Cheers, Eitaro
On Thu, Feb 19, 2015 at 11:55 AM, Robert P. Goldman rpgoldman@sift.net wrote:
Faré wrote:
Isn't it allowed because it's never clear what directory they are relative to, considering that the user may have changed the getcwd() arbitrarily between startup and asdf parsing the source-registry configuration, which would cause "interesting" subtle bugs, that I wanted to avoid — including security issues if a binary written in Lisp ever loads systems at runtime and examines a carefully crafted directory.
I suppose there's a case for allowing relative names, making them relative to the configuration file when in a configuration file (though that's not a common use case at all), and relative to *default-pathname-defaults* when in an environment string, leaving the user full responsibility to avoid subtle bugs. I'm not the one to convince anymore, though. Ask Robert. If he agrees with you, I'll gladly help with the required modifications to ASDF.
Actually, this feature is already available, I believe, through the :HERE directive in the configuration language.
This was something we added for the case that I found common, where there would be a project directory tree, with all the required code in subdirectories, and a master configuration file at the root.*
Have a look at that and see if it does what you want.
Cheers, r
- In practice, we create these trees by checking a project out from svn.
We'd have all the required libraries, in stable versions, included as svn externals.