How to exclude java source files in doc task?

2019-03-25 04:18发布

I'm using sbt 0.11.2 for a mixed Java/Scala project. I've realized that when I run the doc command from within sbt, it does not only create the scaladocs for the Scala source files in src/main/scala, but also for the Java source files in src/main/java (the sbt wiki claims to create them for src/main/scala only that seems not true).

However, this does not look very well. For instance, for a Java class named Foo with static methods there are two entries in the generated scaladoc: a Foo class and a Foo object. The class only lists the constructor and the object lists the static methods.

Is there any way I can tell sbt to exclude the src/main/java folder from the scaladoc generation? I want to create javadocs for those instead.

1条回答
我只想做你的唯一
2楼-- · 2019-03-25 05:20

The usual way to handle that is to use inspect to see where the information is coming from, and then change it. Inspecting at doc shows compile:sources(for doc), which is a Seq[java.io.File], and can be changed like this:

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

You can use show compile:sources(for doc) to see what it contains, and then set to change it and check again its value.

查看更多
登录 后发表回答