2012-01-16 2 views
12

私は混合Java/Scalaプロジェクトにsbt 0.11.2を使用しています。私はdocコマンドをsbtから実行すると、src/main/scalaのScalaソースファイル用のscaladocsを作成するだけでなく、src/main/javaのJavaソースファイルも作成することを認識しました(sbt wikiはsrc/main/scalaそれは真実ではないようです)。docタスクでjavaソースファイルを除外する方法は?

しかし、これはあまりうまく見えません。例えば、静的メソッドを持つFooという名前のJavaクラスの場合、生成されたスカラドックには、FooクラスとFooオブジェクトの2つのエントリがあります。クラスはコンストラクターのみをリストし、オブジェクトは静的メソッドをリストします。

src/main/javaフォルダをscaladoc生成から除外するようにsbtに指示する方法はありますか?代わりにそれらのjavadocを作成したいと思います。

答えて

12

これを処理する通常の方法は、情報の出所を確認するためにinspectを使用し、それを変更することです。 docで検査することはSeq[java.io.File]である、compile:sources(for doc)を示しており、次のように変更することができます:

sources in (Compile, doc) ~= (_ filter (_.getName endsWith ".scala")) 

あなたはそれを変更して、再度その値を確認することが含まれているかを確認するshow compile:sources(for doc)を使用して、setことができます。

+1

Danielさん、プロジェクトの 'build.sbt'にこの行を追加すると、問題は解決します。残念ながら、SBTのドキュメンテーションは、各機能の説明と高度な設定の構成にはかなり浅いものですが、このようなものは私のような初心者のためのものではありません。うまくいけば、Scalaとそのライブラリのドキュメント全体の側面にもっと注意を払うことが望ましいでしょう。 – pemistahl

+1

@PeterStahl私は同意しないことを願います。 SBTの文書では、これを広範囲にカバーしています。クイックスタート時に、さらに高度なトピックでも説明します。上のアプローチ:タスクの動作を発見する方法と、それを上書きする方法を教えています。私はこれを知っています。基本的な設定より深く掘り下げなければならなかったのはわずか1カ月だったので、上記のすべてをSBT wikiで学びました。 –

+1

[このページ](https://github.com/harrah/xsbt/wiki/Getting-Started-More-About-Settings)に必要な情報が記載されていることに同意します。しかし、新しい問題にコンテンツを適応させるのは難しいです。 SBT wikiの教訓的な準備がより良いかもしれません。特に多くの事例が多くの事柄を明らかにするであろう。それとは別に、私は単にSBTだけでなく、Scalaのドキュメントの一般的な状況についても話していました。とにかく、これはこれについて議論する正しい場所ではないので、ここで終わりましょう。再度、感謝します! – pemistahl

関連する問題