org.scala_tools.maven
Class ScalaDocMojo

Package class diagram package ScalaDocMojo
java.lang.Object
  extended by org.apache.maven.plugin.AbstractMojo
      extended by org.scala_tools.maven.ScalaDocMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, org.apache.maven.reporting.MavenReport

public class ScalaDocMojo
extends org.apache.maven.plugin.AbstractMojo
implements org.apache.maven.reporting.MavenReport

Produces Scala API documentation.


Field Summary
protected  java.lang.String[] args
          compiler additionnals arguments
protected  java.lang.String bottom
          Specifies the text to be placed at the bottom of each output file.
protected  java.lang.String charset
          Charset for cross-platform viewing of generated documentation.
protected  BasicArtifact[] dependencies
          Additional dependencies/jar to add to classpath to run "scalaClassName" (scope and optional field not supported) ex : <dependencies> <dependency> <groupId>org.scala-tools</groupId> <artifactId>scala-compiler-addon</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
protected  boolean displayCmd
          Display the command line called ?
protected  java.lang.String doctitle
          Include title for the overview page.
protected  org.apache.maven.artifact.factory.ArtifactFactory factory
          Used to look up Artifacts in the remote repository.
protected  java.lang.String footer
          Include footer text for each page.
protected  java.lang.String header
          Include header text for each page
protected  java.lang.String[] jvmArgs
          Jvm Arguments.
protected  boolean linksource
          Generate source in HTML
protected  org.apache.maven.artifact.repository.ArtifactRepository localRepo
          Location of the local repository.
protected  org.apache.maven.project.MavenProjectBuilder mavenProjectBuilder
          Artifact factory, needed to download source jars.
protected  boolean nocomment
          Suppress description and tags, generate only declarations
protected  org.apache.maven.project.MavenProject project
           
protected  java.util.List<?> remoteRepos
          List of Remote Repositories used by the resolver
protected  org.apache.maven.artifact.resolver.ArtifactResolver resolver
          Used to look up Artifacts in the remote repository.
static java.lang.String SCALA_GROUPID
           
static java.lang.String SCALA_LIBRARY_ARTIFACTID
           
protected  java.lang.String scalaClassName
          className (FQN) of the scala tool to provide as
protected  java.lang.String scaladocClassName
          className (FQN) of the main scaladoc to use, if not define, the the scalaClassName is used
protected  java.lang.String scalaVersion
          Scala 's version to use
protected  java.io.File sourceDir
           
protected  java.io.File stylesheetfile
          File to change style of the generated documentation
protected  java.lang.String top
          Include top text for each page
protected  java.lang.String vscaladocVersion
          If you want to use vscaladoc to generate api instead of regular scaladoc, set the version of vscaladoc you want to use.
protected  java.lang.String windowtitle
          Specify window title of generated HTML documentation.
 
Fields inherited from interface org.apache.maven.reporting.MavenReport
CATEGORY_PROJECT_INFORMATION, CATEGORY_PROJECT_REPORTS, ROLE
 
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
 
Constructor Summary
ScalaDocMojo()
           
 
Method Summary
protected  void addToClasspath(org.apache.maven.artifact.Artifact artifact, java.util.Set<java.lang.String> classpath)
           
protected  void addToClasspath(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.util.Set<java.lang.String> classpath)
           
 boolean canGenerateReport()
           
protected  void checkScalaVersion()
           
 void doExecute()
           
 void execute()
           
 void generate(org.codehaus.doxia.sink.Sink sink, java.util.Locale locale)
           
 java.lang.String getCategoryName()
           
protected  java.util.List<org.apache.maven.model.Dependency> getDependencies()
           
 java.lang.String getDescription(java.util.Locale locale)
           
protected  JavaCommand getEmptyScalaCommand(java.lang.String mainClass)
           
 java.lang.String getName(java.util.Locale locale)
           
 java.lang.String getOutputName()
           
 java.io.File getReportOutputDirectory()
           
protected  JavaCommand getScalaCommand()
           
 boolean isExternalReport()
           
protected  java.util.Set<org.apache.maven.artifact.Artifact> resolveArtifactDependencies(org.apache.maven.artifact.Artifact artifact)
          This method resolves all transitive dependencies of an artifact.
protected  java.util.Set<org.apache.maven.artifact.Artifact> resolveDependencyArtifacts(org.apache.maven.project.MavenProject theProject)
          This method resolves the dependency artifacts from the project.
 void setReportOutputDirectory(java.io.File reportOutputDirectory)
           
 
Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

windowtitle

protected java.lang.String windowtitle
Specify window title of generated HTML documentation.


bottom

protected java.lang.String bottom
Specifies the text to be placed at the bottom of each output file. If you want to use html you have to put it in a CDATA section, eg. <![CDATA[Copyright 2005, <a href="http://www.mycompany.com">MyCompany, Inc.<a>]]>


charset

protected java.lang.String charset
Charset for cross-platform viewing of generated documentation.


doctitle

protected java.lang.String doctitle
Include title for the overview page.


footer

protected java.lang.String footer
Include footer text for each page.


header

protected java.lang.String header
Include header text for each page


linksource

protected boolean linksource
Generate source in HTML


nocomment

protected boolean nocomment
Suppress description and tags, generate only declarations


stylesheetfile

protected java.io.File stylesheetfile
File to change style of the generated documentation


top

protected java.lang.String top
Include top text for each page


sourceDir

protected java.io.File sourceDir

scaladocClassName

protected java.lang.String scaladocClassName
className (FQN) of the main scaladoc to use, if not define, the the scalaClassName is used


vscaladocVersion

protected java.lang.String vscaladocVersion
If you want to use vscaladoc to generate api instead of regular scaladoc, set the version of vscaladoc you want to use.


SCALA_GROUPID

public static final java.lang.String SCALA_GROUPID
See Also:
Constant Field Values

SCALA_LIBRARY_ARTIFACTID

public static final java.lang.String SCALA_LIBRARY_ARTIFACTID
See Also:
Constant Field Values

project

protected org.apache.maven.project.MavenProject project

factory

protected org.apache.maven.artifact.factory.ArtifactFactory factory
Used to look up Artifacts in the remote repository.


resolver

protected org.apache.maven.artifact.resolver.ArtifactResolver resolver
Used to look up Artifacts in the remote repository.


localRepo

protected org.apache.maven.artifact.repository.ArtifactRepository localRepo
Location of the local repository.


remoteRepos

protected java.util.List<?> remoteRepos
List of Remote Repositories used by the resolver


dependencies

protected BasicArtifact[] dependencies
Additional dependencies/jar to add to classpath to run "scalaClassName" (scope and optional field not supported) ex : <dependencies> <dependency> <groupId>org.scala-tools</groupId> <artifactId>scala-compiler-addon</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>


jvmArgs

protected java.lang.String[] jvmArgs
Jvm Arguments.


args

protected java.lang.String[] args
compiler additionnals arguments


scalaClassName

protected java.lang.String scalaClassName
className (FQN) of the scala tool to provide as


scalaVersion

protected java.lang.String scalaVersion
Scala 's version to use


displayCmd

protected boolean displayCmd
Display the command line called ?


mavenProjectBuilder

protected org.apache.maven.project.MavenProjectBuilder mavenProjectBuilder
Artifact factory, needed to download source jars.

Constructor Detail

ScalaDocMojo

public ScalaDocMojo()
Method Detail

canGenerateReport

public boolean canGenerateReport()
Specified by:
canGenerateReport in interface org.apache.maven.reporting.MavenReport

isExternalReport

public boolean isExternalReport()
Specified by:
isExternalReport in interface org.apache.maven.reporting.MavenReport

getCategoryName

public java.lang.String getCategoryName()
Specified by:
getCategoryName in interface org.apache.maven.reporting.MavenReport

getDescription

public java.lang.String getDescription(java.util.Locale locale)
Specified by:
getDescription in interface org.apache.maven.reporting.MavenReport

getName

public java.lang.String getName(java.util.Locale locale)
Specified by:
getName in interface org.apache.maven.reporting.MavenReport

getOutputName

public java.lang.String getOutputName()
Specified by:
getOutputName in interface org.apache.maven.reporting.MavenReport

getReportOutputDirectory

public java.io.File getReportOutputDirectory()
Specified by:
getReportOutputDirectory in interface org.apache.maven.reporting.MavenReport

setReportOutputDirectory

public void setReportOutputDirectory(java.io.File reportOutputDirectory)
Specified by:
setReportOutputDirectory in interface org.apache.maven.reporting.MavenReport

doExecute

public void doExecute()
               throws java.lang.Exception
Throws:
java.lang.Exception

getScalaCommand

protected JavaCommand getScalaCommand()
                               throws java.lang.Exception
Throws:
java.lang.Exception

generate

public void generate(org.codehaus.doxia.sink.Sink sink,
                     java.util.Locale locale)
              throws org.apache.maven.reporting.MavenReportException
Specified by:
generate in interface org.apache.maven.reporting.MavenReport
Throws:
org.apache.maven.reporting.MavenReportException

resolveDependencyArtifacts

protected java.util.Set<org.apache.maven.artifact.Artifact> resolveDependencyArtifacts(org.apache.maven.project.MavenProject theProject)
                                                                                throws java.lang.Exception
This method resolves the dependency artifacts from the project.

Parameters:
theProject - The POM.
Returns:
resolved set of dependency artifacts.
Throws:
org.apache.maven.artifact.resolver.ArtifactResolutionException
org.apache.maven.artifact.resolver.ArtifactNotFoundException
org.apache.maven.project.artifact.InvalidDependencyVersionException
java.lang.Exception

resolveArtifactDependencies

protected java.util.Set<org.apache.maven.artifact.Artifact> resolveArtifactDependencies(org.apache.maven.artifact.Artifact artifact)
                                                                                 throws java.lang.Exception
This method resolves all transitive dependencies of an artifact.

Parameters:
artifact - the artifact used to retrieve dependencies
Returns:
resolved set of dependencies
Throws:
org.apache.maven.artifact.resolver.ArtifactResolutionException
org.apache.maven.artifact.resolver.ArtifactNotFoundException
org.apache.maven.project.ProjectBuildingException
org.apache.maven.project.artifact.InvalidDependencyVersionException
java.lang.Exception

addToClasspath

protected void addToClasspath(java.lang.String groupId,
                              java.lang.String artifactId,
                              java.lang.String version,
                              java.util.Set<java.lang.String> classpath)
                       throws java.lang.Exception
Throws:
java.lang.Exception

addToClasspath

protected void addToClasspath(org.apache.maven.artifact.Artifact artifact,
                              java.util.Set<java.lang.String> classpath)
                       throws java.lang.Exception
Throws:
java.lang.Exception

execute

public void execute()
             throws org.apache.maven.plugin.MojoExecutionException,
                    org.apache.maven.plugin.MojoFailureException
Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException

getDependencies

protected java.util.List<org.apache.maven.model.Dependency> getDependencies()

checkScalaVersion

protected void checkScalaVersion()
                          throws java.lang.Exception
Throws:
java.lang.Exception

getEmptyScalaCommand

protected JavaCommand getEmptyScalaCommand(java.lang.String mainClass)
                                    throws java.lang.Exception
Throws:
java.lang.Exception