quicklisp でインストールできる、プロジェクト生成支援に quickproject と cl-project があったので試してみた。
quickprojct は、簡易プロジェクト用、 cl-project はテストもある豪華版みたい。
実際に利用する手順はほぼ同じみたい。
quickproject
;;;; quickprojectのインストール (ql:quickload :quiclproject)
;;;; プロジェクトのスケルトン生成 (quickproject:make-project "~/lisp/df-mon/" :depends-on '(:cl-ppcre :csv-parser) ) ;->"df-mon"
これで生成されるのは、README.txtとdf-mon.asd, df-mon.lisp, package.lisp の3つだけ。
このパスは asdfのパスに自動的に追加されるらしいので、そのままquicklispでロードできるはず。
cl-project
;;;; cl-prooject のインストール (ql:quickload :cl-project) ;;;; プロジェクトのスケルトン生成 #"~/lisp/" 以下はasdfのパスに含まれている。 (cl-project:make-project "~/lisp/diff-mon/" :depends-on '(:cl-ppcre :csv-parser) ) writing /Users/fu7mu4/lisp/diff-mon/.gitignore writing /Users/fu7mu4/lisp/diff-mon/README.markdown writing /Users/fu7mu4/lisp/diff-mon/README.org writing /Users/fu7mu4/lisp/diff-mon/diff-mon-test.asd writing /Users/fu7mu4/lisp/diff-mon/diff-mon.asd writing /Users/fu7mu4/lisp/diff-mon/src/diff-mon.lisp writing /Users/fu7mu4/lisp/diff-mon/t/diff-mon.lisp ;->#P"/Users/fu7mu4/lisp/diff-mon/diff-mon-test.asd" ;;;; プロジェクトのロード (ql:quickload :diff-mon) To load "diff-mon": Load 1 ASDF system: diff-mon ; Loading "diff-mon" [package diff-mon] ;->(:DIFF-MON)
cl-project は プロジェクトのフォルダに asd ファイルを生成してくれるが、 このパスを asdf のロードパスに追加したりしない。あらかじめ、lispのasdfのロードパスに含まれるフォルダを指定するのがいいのだろう。
また、tというテスト用のフォルダも作成してくれる。
この テストは prove (旧称 cl-test-more) を利用している。