2011-12-07 10 views
5

私はプロジェクトを開発するために使用しているコードを格納するためにローカルMavenリポジトリを使用しています。私はproject.cljファイルにこのリポジトリを引用しています。このようにしてローカルジャーに頼ることができました(前のquestion私の方法でこれを行う方法)。Leiningenローカル依存関係管理の自動化

私はこれらのプロジェクトを積極的に開発していますので、バージョンを探している私のproject.cljファイルがあります。しかし、依存関係を更新するには、その依存関係のバージョン番号を増やしてから、lein installを実行して、それをMavenリポジトリにビルドする必要があります。

leiningenには、mavenリポジトリからのものに依存するプロジェクトをビルドするときに、これが自動的に行われる場所がありますか?リインはただそれらのものを探し、必要に応じてそれらを再構築できますか?

+0

この重複の[http://stackoverflow.com/questions/5693621/keeping-dependency-versions-up-to-date-in-leiningen-projects] ..? –

+0

私は実際に投稿する前にその質問を見ました。それは私の答えの一部を与えました(私のバージョン文字列として "LATEST"を使用しました - 実際には機能していませんでしたが、なぜかまだ分かりません)。しかし、私は、ローカルプロジェクトのコード変更を自動的に取り上げるか、ローカルプロジェクトをコンパイルして使用する際に、それを自動的に取り上げるという考え方に沿ってもっと考えています。 – benekastah

答えて

8

2つのプロジェクトを並列に開発したい場合は、1つを他のプロジェクトに依存させて、checkoutsディレクトリのシンボリックリンクを使用して、スナップショットを常にインストールする必要がなくなります。

Qを:Leiningen READMEから引用し

私は、並列に二つのプロジェクトをハックしたいが、それはそれらの間を切り替えるには迷惑なんです。
A:チェックアウトの依存関係と呼ばれる機能を使用します。あなたのプロジェクトのルートにcheckoutsというディレクトリを作成し、他のプロジェクトのルートをそこにシンボリックリンクすると、Leiningenはそれらを並行してハックすることができます。つまり、依存関係の変更は、install/switch-projects/deps/restart-replの全サイクルを実行することなく、メインプロジェクトに表示されます。これは、依存関係のプロジェクトのリストを置き換えるものではないことに注意してください。それは単により厳しい変更サイクルのためにそれを補うだけです。

+0

これはまさに私が必要とするもののようです。唯一の考えは、プロジェクトファイルの依存関係をどのように引用するのかまだ分かりません。バージョンとして単に '' LATEST''を使う必要がありますか?次にプロジェクトを実行するときにすべてのコード変更をロードしますか?その側面はどのように機能しますか? – benekastah

+0

上記のコメントで私の質問に興味がある人は、@Christian Bergさんがもっと詳しく[こちら](http://stackoverflow.com/a/8434053/777929)に行きます。ありがとう、キリスト教! – benekastah

+0

あなたは大歓迎です!これを学ぶためにLeiningenのソースコードを掘り下げなければならなかった... –

0

依存関係のバージョンのスナップショットはありますか? Mavenはビルド時に* -SNAPSHOTの依存関係をすべて自動的に更新するはずです。

+0

です。なぜそれが動作していないのか分かりません。 – benekastah

関連する問題