2010-12-02 5 views
1

J'ai un projet taglib que j'utilise la bibliothèque TLDGen pour aider à construire mes fichiers TLD à partir d'annotations dans mes classes. Je l'ai ensuite branché sur le plugin Maven JavaDoc pour le faire construire les fichiers TLD via l'objectif javadoc: javadoc Maven. Partie Pom qui gère cela est la suivante:Générer plusieurs TLD avec Maven Javadoc Plugin & TLDGen

<build> 
    ... 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <version>2.7</version> 
      <configuration> 
       <doclet>org.tldgen.TldDoclet</doclet> 
       <docletArtifact> 
        <groupId>com.google.code.tldgen</groupId> 
        <artifactId>tldgen-all</artifactId> 
        <version>1.0.0</version> 
       </docletArtifact> 
       <show>private</show> 
       <additionalparam>-name test 
        -uri "http://www.mycompany.com/tags/wibble" 
        -tldFile ..\..\..\src\main\resources\META-INF\w.tld 
       </additionalparam> 
       <useStandardDocletOptions>true</useStandardDocletOptions> 
       <author>false</author> 
       <encoding>utf-8</encoding> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Et cela fonctionne de manière fantastique. Le problème est que je sais vouloir créer 2 TLD de ce projet. Je peux passer un attribut -subpackages dans l'élément addtionalparam afin que je puisse produire un TLD avec exactement ce que je veux.

Mais je ne peux avoir qu'un élément de configuration à ce point. J'ai essayé de déplacer la configuration dans la section de rapport dans mon pom avec deux rapports pour voir si cela aide mais pas de chance.

Est-ce que quelqu'un a déjà essayé cela et peut m'aider à me diriger dans la bonne direction pour bien faire les choses? À votre santé!

Répondre

0

Cela fait un moment que cette question a été postée, mais voici comment j'ai fait plusieurs tld de génération avec TLDGen. Je suis parti de votre question, puisque les gars du projet ont utilisé votre réponse comme référence :).

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-javadoc-plugin</artifactId> 
    <version>2.7</version> 
    <configuration> 
     <includes> 
      <include>**</include> 
     </includes> 
     <doclet>org.tldgen.TldDoclet</doclet> 
     <docletArtifacts> 
      <!-- listing all dependencies for tldgen: 
      the tldgen library, commons-logging, commons-io, 
      commons-lang, geronimo-jsp_2.1_spec, log4j, saxon, stax 
      not sure if they have to be listed here, will have to check; if I 
      don't set them I get class not found errors, but I'm guessing I 
      have a misconfiguration --> 
     </docletArtifacts> 
     <show>private</show> 
     <additionalparam> 
      -htmlFolder ${basedir}/target/docs 
      -tldFolder ${basedir}/src/main/java/META-INF 
      -license NONE 
     </additionalparam> 
     <useStandardDocletOptions>true</useStandardDocletOptions> 
     <author>false</author> 
     <encoding>utf-8</encoding> 
    </configuration> 
    <dependencies> 
     <dependency> 
      <groupId>javax.xml.bind</groupId> 
      <artifactId>jsr173_api</artifactId> 
      <version>1.0</version> 
     </dependency> 
    </dependencies> 
    <executions> 
     <execution> 
      <phase>generate-resources</phase>        
      <goals> 
       <goal>javadoc</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
Questions connexes