「~/.roswell/」の下をつらつら見ていると、「local-projects」というフォルダがあった。二カ所。
~/.roswell/local-projects/
~/.roswell/lisp/quicklisp/local-projects/
ああ、ここの下に自分がつくりたいプログラムをいれておけば、いいんだな、と見当をつけてとりあえず、「cl-project」でprojectを作成した。
CL-USER> (cl-project:make-project #p"~/.roswell/local-projects/keiba/" :author 名前 :email メールアドレス :license ライセンス :depends-on '(:cl-dbi :cl-ppcre)) writing ~/.roswell/local-projects/keiba/keiba.asd writing ~/.roswell/local-projects/keiba/keiba-test.asd writing ~/.roswell/local-projects/keiba/README.org writing ~/.roswell/local-projects/keiba/README.markdown writing ~/.roswell/local-projects/keiba/.gitignore writing ~/.roswell/local-projects/keiba/src/keiba.lisp writing ~/.roswell/local-projects/keiba/t/keiba.lisp T
(asdf:load-system :keiba)でsystemをロードすると、cl-dbiもロードされる模様。ふむ。なるほど。
CL-USER> (asdf:load-system :keiba) ; compiling file "/Users/yamada/.roswell/local-projects/keiba/src/keiba.lisp" (written 10 JUN 2018 09:29:31 AM): ; compiling (IN-PACKAGE :CL-USER) ; compiling (DEFPACKAGE KEIBA ...) ; compiling (IN-PACKAGE :KEIBA) ; /Users/yamada/.cache/common-lisp/sbcl-1.3.11-macosx-x64/Users/yamada/.roswell/local-projects/keiba/src/keiba-TMP.fasl written ; compilation finished in 0:00:00.005 T
(ros::load-system "keiba")でも同じみたいだ。
わからないのは
CL-USER> asdf:*central-registry* (#P"/Users/yamada/.roswell/lisp/quicklisp/quicklisp/")
なのに、#p"~/.roswell/local-projects/keiba/"をasdfが認識していること。qlが下記のようになっているのでRoswellはわからなくもないけど。
CL-USER> ql:*local-project-directories* (#P"/Users/yamada/.roswell/local-projects/" #P"/Users/yamada/.roswell/lisp/quicklisp/local-projects/")
不思議。