scalascaladoc

scaladoc: Exclude methods


I am using maven to generate scaladocs (see below)

Problem: I have some utility traits. Their methods are public as I want to mix them in to any classes (typical functions are String manipulations etc). Scaladoc, however, includes the methods in with the public interface methods of any class that mixes these utility traits. Hence, as well as seeing the scaladoc for someVeryUsefulMethod(value:Int), the scala doc also publishes someTrivialStringManipulation(s:String)

Question: How do I exclude unwanted methods from the scaladoc other than by changing their scope?

<plugin>
        <groupId>org.scala-tools</groupId>
        <artifactId>maven-scala-plugin</artifactId>
        <executions>
            <execution>
                <id>Scaladoc</id>
                <goals>
                    <goal>doc</goal>
                </goals>
                <phase>prepare-package</phase>
                <configuration>
                    <args>
                        <arg>-no-link-warnings</arg>
                    </args>
                </configuration>
            </execution>


Solution

  • OK, answer was stupidly obvious. Just use package scope on trait methods. They will then always be visible to the classes that use them but never printed in scaladoc