11

プラグインの一部として最初のtaglibを作成していますが、それを文書化したいと思います。javadocの追加(groovydocを文書化する場所はありますか、それとも本当に同じものですか?)非メソッドでは機能しないようです。

具体的には、defmytagを次のように文書化する方法:

/**
 * This doc shows up
 */
class MyTagLib {
  static namespace = "myns"

  /**
   * This doc does not show up, but I'd like to document attrs.
   */
  def mytag = {attrs ->
    out << "something"
  }
}

Grailsの多くのものはクロージャーを使用して指定されているため、それらを文書化することが本当に不可能な場合は、問題があるように見えます。使用する必要のある個別のドキュメントファイルを含む他の解決策はありますか?

4

2 に答える 2

3

新しい Groovy 1.6 RC について読んだところ、Jira にたどり着きました。Jira には groovydoc に関する未解決のバグがいくつかあります。具体的にはフィールドとプロパティのドキュメント化に関するバグがあり、まだ未解決です。最新のコメントは、トランクの部分的な実装について語っているので、それを確認する必要があります。

というわけで現状クリアです。その間、私は自分の taglib を公開し、それを文書化することを余儀なくされました。これは、通常の HTML ページ (wiki で生成されたもの) を使用して行いました。taglib の詳細を含む唯一のドキュメントが自動生成された多くのドレックに埋もれていることが判明した場合、私は実際に延期されるため、それについては言いたいことがあります。

于 2009-01-22T23:22:03.250 に答える
0

あなたの質問に興味を持ち、いろいろ調べてみました。これを行う良い方法はないようです。

現時点でこれを行うための最も最適な方法は、クラスレベルの javadoc ヘッダーで使用可能なタグとその引数を文書化することだと考えています。少なくともそうすることで、最終的な API 仕様に表示され、人々が見ることができます。

groovydoc についていくつかの議論があることに気付きましたが、特に Grails での使用に関して、それについて完全に公式なものを見つけることができないようです。次のコードを使用して、grails 1.0.3 アプリの 1 つで groovydoc を動作させることができましたが、taglib クロージャーを追加したときに、taglib クロージャーに関するドキュメント コメントをまったく取得しませんでした。

<property environment="env"/>
<target name="groovydoc">
  <taskdef name="groovydoc" classname="org.codehaus.groovy.ant.Groovydoc">
    <classpath>
      <path path="${env.GRAILS_HOME}/lib/groovy-all-1.5.6.jar"/>
    </classpath>
  </taskdef>
  <mkdir dir="docs/gapi"/>
  <groovydoc destdir="docs/gapi" sourcepath="grails-app" use="true" windowtitle="groovydoc" private="true"/>
</target>

groovydoc をいじり回せば、taglibs で動作するように groovydoc をマッサージできるかもしれません。または、試す時間があれば、Grails 1.1 ベータ版で動作するかもしれません。

于 2009-01-22T17:43:52.683 に答える