2012-01-16 10 views
12

Estoy usando sbt 0.11.2 para un proyecto Java/Scala mixto. Me di cuenta de que cuando ejecuto el comando doc desde sbt, no solo crea los scaladocs para los archivos fuente de Scala en src/main/scala, sino también para los archivos fuente de Java en src/main/java (el sbt wiki afirma crearlos solo para src/main/scala eso no parece verdad).Cómo excluir archivos fuente java en la tarea doc?

Sin embargo, esto no se ve muy bien. Por ejemplo, para una clase Java llamada Foo con métodos estáticos, hay dos entradas en el scaladoc generado: una clase Foo y un objeto Foo. La clase solo muestra el constructor y el objeto enumera los métodos estáticos.

¿Hay alguna manera en que pueda decirle a sbt que excluya la carpeta src/main/java de la generación scaladoc? Quiero crear javadocs para aquellos en su lugar.

Respuesta

12

La forma habitual de manejar eso es usar inspect para ver de dónde viene la información, y luego cámbiela. Inspeccionar en doc muestra compile:sources(for doc), que es un Seq[java.io.File], y se puede cambiar así:

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

Puede utilizar show compile:sources(for doc) para ver lo que contiene, y luego set para cambiarlo y comprobar de nuevo su valor.

+1

Gracias Daniel, agregando esta línea al 'build.sbt' de mi proyecto resuelve el problema. Desafortunadamente, la documentación de SBT es bastante superficial al explicar cada característica y configurar ajustes avanzados como este no es para principiantes de Scala como yo. Con suerte, se prestará más atención a todo el aspecto de la documentación de Scala y sus bibliotecas. – pemistahl

+1

@PeterStahl Yo no estoy de acuerdo. La documentación SBT cubre esto extensamente, en el inicio rápido y luego nuevamente en los temas avanzados. Enseña bastante sobre el enfoque anterior: cómo descubrir el funcionamiento de una tarea y cómo anularla. Lo sé, porque ha pasado apenas un mes desde que tuve que cavar más profundo que las configuraciones básicas, y todo lo anterior lo aprendí en la wiki de SBT. –

+1

Acepto que la información necesaria se puede encontrar en [esta página] (https://github.com/harrah/xsbt/wiki/Getting-Started-More-About-Settings). Sin embargo, es difícil para mí adaptar su contenido a nuevos problemas. La preparación didáctica de la wiki de SBT podría ser mejor. Especialmente más ejemplos aclararían muchas cosas. Aparte de eso, solo estaba hablando de la situación de la documentación de Scala en general, no solo de SBT. De todos modos, este no es el lugar correcto para discutir esto, así que terminemos aquí. ¡Gracias de nuevo! – pemistahl

Cuestiones relacionadas