Подтвердить что ты не робот

Как исключить исходные файлы java в doc-задаче?

Я использую sbt 0.11.2 для смешанного проекта Java/ Scala. Я понял, что когда я запускаю команду doc изнутри sbt, он не только создает скалядоки для исходных файлов Scala в src/main/scala, но также для исходных файлов Java в src/main/java (sbt wiki утверждает, что они создаются только для src/main/scala, но это не так).

Однако это выглядит не очень хорошо. Например, для класса Java с именем Foo со статическими методами в сгенерированном scaladoc есть два элемента: a Foo и Foo. Класс перечисляет только конструктор, а объект перечисляет статические методы.

Можно ли каким-либо образом сказать sbt исключить папку src/main/java из поколения scaladoc? Я хочу создать javadocs для них.

4b9b3361

Ответ 1

Обычный способ справиться с этим - использовать inspect, чтобы узнать, откуда идет информация, а затем изменить его. Осмотр в doc показывает compile:sources(for doc), который является Seq[java.io.File], и может быть изменен следующим образом:

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

Вы можете использовать show compile:sources(for doc), чтобы увидеть, что он содержит, а затем set, чтобы изменить его и снова проверить его значение.