Swank-Clojureを使用して、Clojureライブラリでハッキングするためのワークフロー
質問
Clojureライブラリでハッキングするための典型的なワークフローはありますか?
リポジトリから取得したサードパーティライブラリ「バー」に依存しているアプリケーション「Foo」があるとし、ProjectFooを介して含まれています lein deps
.
次に、ライブラリ「bar」でハッキングしたいと言って、Githubからクローンを作成します。
今、私はそれに依存するアプリケーション「foo」で作業しながら、私のローカルクローン「バー」をハッキングしたいと思います。 Swankの1つのインスタンスを使用して、「foo」のすべてのソースファイルとともに、「bar」のすべてのソースファイルがemacsで開くようにしたいと思います。
これを行う簡単な方法はありますか?
私は私のものを変えたいです 環境 プロジェクトではありません。したがって、これを達成するために、 "foo"のproject.cljを編集したくありません。
これには、起動する前にclassPathを設定する必要がありますか lein swank
, 、またはより良い方法はありますか?
解決
aを作成します checkouts
FOOプロジェクトのディレクトリと、このディレクトリ内のBarプロジェクトのクローンにシンリンクを作成します。
引用する Leiningen FAQ:
Q: :2つのプロジェクトを並行してハッキングしたいのですが、それらを切り替えるのは面倒です。
a: :プロジェクトルートにチェックアウトというディレクトリを作成し、他のプロジェクトのルーツをシンリンクする場合、Leiningenはそれらを並行してハッキングすることができます。つまり、依存関係の変更は、インストール/スイッチプロジェクト/DEPS/RESTART-REPLサイクル全体を通過することなく、メインプロジェクトで表示され、チェックアウトのコピーはProject.CLJで宣言された依存関係よりも優先されます。これは、プロジェクトを以下にリストするための代替ではないことに注意してください。それは単に便利なためにそれを補完します。