GroovyDoc as Maven Plugin

ぃ、小莉子 提交于 2020-01-01 09:08:09

问题


Is there a maven plugin available somewhere that utilizes GroovyDoc, preferably as a report?

I guess GMaven would be the place to look but the docs are ancient (1.0, whereas the current version is 1.3) and the GMaven plugin doesn't have any mojo that fits as you can see:

mvn help:describe -DgroupId=org.codehaus.gmaven -DartifactId=gmaven-plugin

This plugin has 9 goals:

groovy:compile
Description: Compiles Groovy sources.

groovy:console
Description: Launches the Groovy GUI console.

groovy:execute
Description: Executes a Groovy script.

groovy:generateStubs
Description: Generate Java stubs from Groovy sources.

groovy:generateTestStubs
Description: Generate Java stubs from Groovy test sources.

groovy:help
Description: Display help information on gmaven-plugin.
Call
mvn groovy:help -Ddetail=true -Dgoal=<goal-name>
to display parameter details.

groovy:providers
Description: Displays information about the Groovy runtime providers which are configured and selected.

groovy:shell
Description: Launches the Groovy Shell (aka. groovysh).

groovy:testCompile
Description: Compiles Groovy test sources.

So does anyone have any pointers to a maven groovydoc plugin? Google didn't come up with anything meaningful.


回答1:


You want the gmavenplus plugin: http://groovy.github.io/GMavenPlus/groovydoc-mojo.html

<project>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.gmavenplus</groupId>
        <artifactId>gmavenplus-plugin</artifactId>
        <version>1.5</version>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <!-- any version of Groovy \>= 1.5.0 (except 1.6 RC 1) should work here -->
      <version>2.4.7</version>
    </dependency>
  </dependencies>
</project>

and run: mvn gplus:generateStubs gplus:groovydoc




回答2:


Although there is not any Groovydoc maven compatible plugin, generating the documentation for your groovy classes is quite easy using Maven. This is the way we do in our projects:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-antrun-plugin</artifactId>
  <version>1.7</version>
  <executions>
    <execution>
      <id>groovydoc</id>
      <phase>site</phase>
      <goals>
        <goal>run</goal>
      </goals>
      <configuration>
        <target>
          <taskdef name="groovydoc"
            classname="org.codehaus.groovy.ant.Groovydoc" 
            classpathref="maven.compile.classpath"
          />
          <groovydoc destdir="${project.reporting.outputDirectory}/groovydoc"
            sourcepath="${basedir}/src/main/groovy" use="true"
            windowtitle="${project.name}"
            doctitle="${project.name}"
          >
            <link packages="java.,org.xml.,javax.,org.xml."
              href="http://download.oracle.com/javase/6/docs/api" />
            <link packages="org.apache.tools.ant." 
              href="http://evgeny-goldin.org/javadoc/ant/api" />
            <link packages="org.junit.,junit.framework."
              href="http://kentbeck.github.com/junit/javadoc/latest" />
            <link packages="groovy.,org.codehaus.groovy."
              href="http://groovy.codehaus.org/api/" />
            <link packages="org.codehaus.gmaven."
              href="http://evgeny-goldin.org/javadoc/gmaven" />
          </groovydoc>
        </target>
      </configuration>
    </execution>
  </executions>
</plugin>



回答3:


I don't think there is a Maven plugin for Groovydoc, but you can use the Ant task. GMaven follows a different approach: generateStubs creates Java stubs for Groovy classes, which can then be processed by the regular Javadoc plugin. However, I don't know how well this approach works in practice, in particular because newer versions of GMaven use the Groovy compiler's stub generator, which wasn't created with the goal of producing proper Javadoc in mind.




回答4:


The Groovydoc Maven Plugin worked for me: https://github.com/rvowles/groovydoc-maven-plugin



来源:https://stackoverflow.com/questions/5325259/groovydoc-as-maven-plugin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!