Создание нескольких TLD с плагином Maven Javadoc и TLDGen - PullRequest
1 голос
/ 02 декабря 2010

У меня есть проект taglib, в котором я использую библиотеку TLDGen для создания файлов TLD из аннотаций в моих классах.Затем я подключил его к плагину Maven JavaDoc, чтобы он создавал файлы TLD с помощью цели Maven javadoc: javadoc.Pom часть, которая обрабатывает это следующим образом:

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

И это работает фантастически.Беда в том, что я знаю, хочу создать 2 ДВУ из этого проекта.Я могу передать атрибут -subpackages в элементе addtionalparam, чтобы я мог создать TLD именно с тем, что я хочу.

Но в этот момент у меня может быть только один элемент конфигурации.Я попытался перенести конфигурацию в раздел отчетов в моем pom с двумя наборами отчетов, чтобы посмотреть, поможет ли это, но не повезло.

Кто-нибудь когда-либо пытался сделать это раньше и может помочь мне указать верное направление для получения этогоправо?Ура!

1 Ответ

0 голосов
/ 20 июня 2011

Прошло много времени с тех пор, как этот вопрос был опубликован, но вот как я сделал многократную генерацию tld с TLDGen.Я начал с вашего вопроса, так как ребята из проекта использовали ваш ответ в качестве ссылки:).

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