GroovyDoc как плагин Maven

Есть ли где-нибудь плагин Maven, который использует GroovyDoc желательно в виде отчета?

Я думаю, что GMaven будет подходящим местом для поиска, но документы старые (1.0, тогда как текущая версия 1.3), а плагин GMaven не имеет никакого mojo, который подходит, как вы можете видеть:

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

Этот плагин имеет 9 целей:

заводной: компилировать
Описание: Сборники Groovy источников.

заводная: консоль
Описание: Запускает консоль Groovy GUI.

заводной: выполнить
Описание: выполняет скрипт Groovy.

заводной:generateStubs
Описание: Создание Java-заглушек из Groovy.

заводной: generateTestStubs
Описание: создание Java-заглушек из тестовых источников Groovy.

заводная: помощь
Описание: Показать справочную информацию о gmaven-plugin.
Вызов
mvn groovy:help -Ddetail=true -Dgoal=<goal-name>
для отображения подробностей параметров.

заводные: провайдеры
Описание: отображает информацию о настроенных и выбранных провайдерах Groovy.

заводные: оболочки
Описание: Запускает Groovy Shell (aka. Groovysh).

заводной: testCompile
Описание: Компилирует Groovy тестовые источники.

Так есть ли у кого-нибудь указатели на плагин maven groovydoc? Google не придумал ничего значимого.

4 ответа

Решение

Вам нужен плагин gmavenplus: 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>

и запустить: mvn gplus:generateStubs gplus:groovydoc

Хотя не существует Groovydoc Maven-совместимого плагина, генерировать документацию для ваших Groovy классов довольно легко с помощью Maven. Вот как мы делаем в наших проектах:

<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>

Я не думаю, что есть плагин Maven для Groovydoc, но вы можете использовать задачу Ant. GMaven следует другому подходу: generateStubs создает заглушки Java для классов Groovy, которые затем могут быть обработаны обычным плагином Javadoc. Однако я не знаю, насколько хорошо этот подход работает на практике, в частности потому, что в более новых версиях GMaven используется генератор заглушек Groovy-компилятора, который не был создан с целью создания надлежащего Javadoc.

Плагин Groovydoc Maven работал для меня: https://github.com/rvowles/groovydoc-maven-plugin

Другие вопросы по тегам