Ответ 1
Я тоже это заметил. Это также происходит с пакетом akka.pattern
от Akka, а также, например, с пакетом upickle
из проекта с расширением.
Эти три пакета имеют две общие черты:
- Это объекты пакета
- Они определяют по крайней мере один тип в признаке mixin.
Итак, я немного экспериментировал с двумя проектами:
Проект A:
trait SomeFunctionality {
class P(val s: String)
}
package object projectA extends SomeFunctionality
Проект B (зависит от проекта A):
package projectB
import projectA._
object B extends App {
val p = new P("Test")
}
И voila: в ScalaDoc проекта B отображаются два пакета в корневом пакете:
projectA
projectB
Похоже, что оба вышеуказанных критерия должны быть соблюдены, поскольку устранение проблемы решает проблему.
Я считаю, что это ошибка в компиляторе scala. Поэтому я не могу помочь вам избежать этого, так как единственным способом было бы изменить источники scalaz в этом случае. Изменение ничего в ProjectB, кроме удаления всех ссылок на ProjectA, не помогло.
Обновить. Похоже, вы можете поручить компилятору исключить определенные пакеты из scaladoc.
scaladoc -skip-packages <pack1>:<pack2>:...:<packN> files.scala
Итак, это будет обходной путь здесь