Как использовать AsciiDoclet для создания файла asciidoc из комментариев javadoc в файле .java

Я новичок в asciidoc. Я хочу создать HTML-документацию из javadoc с комментариями (в формате asciidoc) в файле java.

например файл java

/**
 * = Asciidoclet
 *
 * Sample comments that include `source code`.
 *
 * [source,java]
 * --
 * public class Asciidoclet extends Doclet {
 *     private final Asciidoctor asciidoctor = Asciidoctor.Factory.create();
 *
 *     @SuppressWarnings("UnusedDeclaration")
 *     public static boolean start(RootDoc rootDoc) {
 *         new Asciidoclet().render(rootDoc);
 *         return Standard.start(rootDoc);
 *     }
 * }
 * --
 *
 * @author https://github.com/johncarl81[John Ericksen]
 */
public class Asciidoclet extends Doclet {
}

Я могу сгенерировать html файл из файла .ad, но я не знаю, как сгенерировать .ad (или любой файл формата asciidoc) из javadoc.
Итак, я хочу сгенерировать .ad (файл asciidoc), который я использую для сгенерировать html-документацию с помощью asciidoctor-maven-plugin. asciidoctor-maven-plugin проверит наличие файлов .ad в sourceDirectory и сгенерирует html-файл в outputDirectory.

</plugin>
<plugin>
    <groupId>org.asciidoctor</groupId>
    <artifactId>asciidoctor-maven-plugin</artifactId>
    <version>${asciidoctor.version}</version>
    <executions>
        <execution>
            <id>output-html</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>process-asciidoc</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <sourceDirectory>asciidocs</sourceDirectory>
        <outputDirectory>asciidocs-output</outputDirectory>
        <backend>html</backend>
        <doctype>book</doctype>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.9</version>
    <configuration>
        <source>1.7</source>
        <doclet>org.asciidoctor.Asciidoclet</doclet>
        <docletArtifact>
            <groupId>org.asciidoctor</groupId>
            <artifactId>asciidoclet</artifactId>
            <version>${asciidoclet.version}</version>
        </docletArtifact>
        <overview>src/main/java/overview.adoc</overview>
        <additionalparam>
            --base-dir ${project.basedir}
            --attribute "name=${project.name}"
            --attribute "version=${project.version}"
            --attribute "title-link=http://example.com[${project.name} ${project.version}]"
        </additionalparam>
    </configuration>
</plugin>

Зависимость

<asciidoclet.version>1.5.0</asciidoclet.version>
<asciidoctor.version>1.5.0</asciidoctor.version>

<dependency>
    <groupId>org.asciidoctor</groupId>
    <artifactId>asciidoctorj</artifactId>
    <version>1.5.2</version>
</dependency>

Я сослался на asciidoclet, но не могу получить никакой полезной информации. также все примеры проектов предназначены для создания html, pdf, epub и т. д.
Спасибо ...

Обновление
Я изменил конфигурацию maven-javadoc-plugin, как показано ниже, и выполнил mvn org.apache.maven.plugins:maven-javadoc-plugin:2.9:jar, но при создании обычных HTML-документов java он должен создать файл .adoc. Может ли кто-нибудь помочь мне в том, что я делаю не так?
Спасибо ...

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.9</version>
    <executions>
        <execution>
            <id>javadoc-jar</id>
            <phase>package</phase>
            <goals>
                <goal>jar</goal>
            </goals>
            <configuration>
                <includeDependencySources>true</includeDependencySources>
                <dependencySourceExcludes>
                    <dependencySourceExclude>commons-cli:*</dependencySourceExclude>
                </dependencySourceExcludes>
                <source>1.7</source>
                <doclet>org.asciidoctor.Asciidoclet</doclet>
                <docletArtifact>
                    <groupId>org.asciidoctor</groupId>
                    <artifactId>asciidoclet</artifactId>
                    <version>${asciidoclet.version}</version>
                </docletArtifact>
                <overview>src/main/java/overview.adoc</overview>
                <additionalparam>
                    --base-dir ${project.basedir}
                    --attribute "name=${project.name}"
                    --attribute "version=${project.version}"
                    --attribute "title-link=http://example.com[${project.name} ${project.version}]"
                </additionalparam>
            </configuration>
        </execution>
    </executions>
</plugin>

Я использую следующие зависимости.


person Piyush    schedule 27.01.2015    source источник


Ответы (1)


Похоже, ваше представление о том, что делает Asciidoclet, немного неверно. Он не был разработан для создания Asciidoc, но был разработан, чтобы иметь возможность писать javadoc в Asciidoc, который затем транслируется в html-вывод команды javadoc.

Что-то, что вы можете захотеть изучить, - это создание настраиваемого модуля включения для asciidoctor, который возьмет ваш исходный код asciidoc javadoc, удалит комментарии java и включит их в другие создаваемые вами выходные данные.

person LightGuard    schedule 28.01.2015
comment
Спасибо @LightGuard, но пока я читаю github.com/asciidoctor/asciidoclet, я думаю, что мы не необходимо создать модуль для извлечения javadoc из комментария. - person Piyush; 29.01.2015