2016-04-12 12 views
2

SBTプロジェクトABに依存します。どちらのプロジェクトも、独立したVCSリポジトリを持ち、自動ビルディングとテストを含む独自のライフサイクルを持っています。公開されていないIntellij Ideaの共有SBTモジュール

これらのプロジェクトで作業する方法はありますか便利にはIntellij Ideaのはありますか? ことで

便利、私はほとんど意味:

  • sbt publish-localに変更があるたびに実行するには、no読み取り専用に公開瓶
  • 、プロジェクト間の実際の、編集可能なクラスにポイントをCMD-クリックしない必要がありません
  • ブレークポイントは、依存関係がSIMP宣言されている場合は、すべてこれが不可能であるよう

が見える期待どおりに動作製例えば、libraryDependencies。ただし、相対パスとの関係を宣言すると、ビルドシステムに失敗します。ここで

+0

は、IDEプロジェクト内のローカルプロジェクトを指すように、依存関係を置き換え、その後、両方のプロジェクトをインポートすることができるはずですmodel – pfn

+0

@pfn SBTの自動インポート機能により、手動で依存関係が設定されなくなりました。手動インポートは、モジュール依存関係をSBT構成に復元します。 –

+0

残念ながら、それはintellijのsbt構造のプラグインの制限です。 – pfn

答えて

1

は私のために働いていたものです:Project A

には、以下の内容のファイルlocal-dependencies.sbt(名前は重要ではない)を作成しました:

libraryDependencies ~= {l => l.filter(_.name != "my-utils")} 
lazy val utils = RootProject(file("../my-utils")) 
lazy val root = Project(id = "ProjectA", base = file(".")).dependsOn(utils) 

を最初の行はbuild.sbtれる定義されたlibraryDependenciesからmy-utilsを除外します自動ビルドには必要です。今

Project Amy-utilsとしてモジュール依存関係、および言及した問題に対処ライブラリではない依存関係を持っています。 local-dependencies.sbtはローカルのみENVのためのものであり、VCS、例えばに無視されるべきであることを

注:

$ cat .hgignore 

local-dependencies.sbt 
関連する問題