2

sbt ビルドをデバッグするときに sbt ソースに移動したいと思います。

sbt eclipse プラグインを使用することで、Build.scala ファイルなどをデバッグできます。これは素晴らしいことです。また、次を使用して sbt プラグイン ソースも含めることができます。

> reload plugins
> eclipse withSources=true

しかし、sbt 自体のソースは、sbt-eclipse によって生成された .classpath ファイルにはありません。ソース jar が ivy キャッシュにあることがわかりますが、sourcepath エントリがありません。

<classpathentry kind="lib" 
  path="/home/lee/.ivy2/cache/org.scala-sbt/main-settings/jars/main-settings-0.13.1-RC2.jar"
/>

生成されたクラスパスには、次のようなソースパスが必要です。(これは手動で編集したもので、sbt-eclipse で生成したい):

<classpathentry kind="lib" 
  path="/home/lee/.ivy2/cache/org.scala-sbt/main-settings/jars/main-settings-0.13.1-RC2.jar" 
  sourcepath="/home/lee/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.1-RC2-sources.jar"
/>

(sbt 13.1-RC2 および sbt eclipse 2.4.0 でテスト済み)

このsbt-dependency-managerプラグインが表示されますが、これはぎこちなく見えます...

sbt ビルドと一緒に sbt ソースを表示する簡単な方法はありますか?

4

1 に答える 1

0

私は、sbt-dependency-manager の創始者として、ソースを入手するだけの問題ではないことを認めなければなりません。ソースを手動でダウンロードして手動でデバッガーにアタッチすることはできますが、それでも Eclipse はそれらを使用できません。

sbt-dependency-manager はダウンロードするだけでなく、jar を再パッケージ化します。したがって、この方法で 2 つのバグを開く必要があります :-):

  • sbt-eclipse のフェッチソースについて
  • SBT自体のソースレイアウトについて

私はこの問題を回避しようとしましたが、これが私が知っている唯一の解決策です。もちろん、Idea または Ensime に切り替えることもできますが、これは私には受け入れられません。また、sbt-dependency-manager が役に立たないので、sbt-eclipse はまったく使用しません。

于 2013-11-20T07:29:27.590 に答える