2015-01-27 1 views
4

Я новичок с asciidoc. Я хочу создать HTML-документацию из комментария javadoc (в формате asciidoc) в java-файле.Как использовать AsciiDoclet для генерации файла asciidoc из javadoc-комментариев в .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> 

Dependency

<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 и т. д.
Благодаря ...

Update
Я изменил мою конфигурацию Maven-Javadoc-плагин следующим образом и выполняется mvn org.apache.maven.plugins:maven-javadoc-plugin:2.9:jar но его порождающие ява документы нормальный HTML он должен сгенерировать файл .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> 

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

ответ

1

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

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

+0

Спасибо @LightGuard, но когда я прочитал https://github.com/asciidoctor/asciidoclet/, мне не нужно создавать модуль для извлечения javadoc из комментария. – Piyush