Melhore a escrita das documentações Java com Asciidoclet
        Grande notícia para os desenvolvedores Java que prezam por uma documentação clara e eficaz! Abel Salgado Romero, através de seu Twitter, anunciou o retorno do Asciidoclet, um plugin que permite escrever JavaDocs usando o formato AsciiDoc implementado em Java através do Asciidoctor. A nova versão, Asciidoclet 2.0.0, agora oferece suporte para Java 11, 17 e 21, eliminando a necessidade de misturar HTML nas documentações.
O Asciidoclet moderniza a escrita e leitura dos JavaDocs, tornando-os mais fáceis de entender e com mais recursos do que o HTML tradicional. Para funcionar, ele usa recursos internos do Java, necessitando de configurações específicas que dependem da versão do Java utilizada.
Como usar o Asciidoclet
Para os usuários do Maven, o Asciidoclet pode ser integrado através do maven-javadoc-plugin. É crucial prestar atenção nas opções additionalJOptions para configurar o acesso aos internos do Java necessários. Abaixo, segue um exemplo de configuração para Java 11:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>3.6.3</version>
    <configuration>
        <source>11</source>
        <doclet>org.asciidoctor.asciidoclet.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=https://example.com[${project.name} ${project.version}]"
        </additionalparam>
        <additionalJOptions>
            <additionalJOption>-J--add-exports=jdk.javadoc/jdk.javadoc.internal.tool=ALL-UNNAMED</additionalJOption>
            <additionalJOption>-Xdoclint:all,-html,-accessibility</additionalJOption>
        </additionalJOptions>
    </configuration>
</plugin>
Para o Gradle, o processo é similar, mas as opções do javadoc devem omitir o "-" inicial. Aqui está um exemplo para o uso com Java 17+:
plugins {
    id 'java'
}
configurations {
    asciidoclet
}
dependencies {
    asciidoclet 'org.asciidoctor:asciidoclet:{asciidoclet-version}'
}
javadoc {
    options {
        docletpath = configurations.asciidoclet.files.asType(List)
        doclet = 'org.asciidoctor.asciidoclet.Asciidoclet'
        overview = "src/main/java/overview.adoc"
        addStringOption "-base-dir", "${projectDir}"
        addStringOption \
            "-attribute",
                "name=${project.name}," +
                "version=${project.version}," +
                "title-link=https://example.com[${project.name} ${project.version}]"
        jFlags \
            "--add-exports=jdk.javadoc/jdk.javadoc.internal.tool=ALL-UNNAMED",
            "--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED",
            "--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
            "--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED",
            "--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
            "--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"
    }
}
Documentação oficial
As documentações detalhadas estarão disponíveis em breve no site oficial do Asciidoctor. Até lá, os interessados podem consultar o repositório do GitHub para obter mais informações e exemplos de uso.
Comentário pessoal
Neste blog, desenvolvido em Java, utilizo o formato AsciiDoc para criar os posts, empregando a biblioteca Asciidoctor para converter esses textos em HTML. Essa abordagem otimiza significativamente a gestão do conteúdo, proporcionando um fluxo de trabalho eficiente e integrado.
Conclusão
O plugin do Asciidoclet facilita a criação de documentações, bem como as torna mais acessíveis e fáceis de entender. É um grande passo para melhorar a eficiência e a qualidade da documentação de código, permitindo que os desenvolvedores se concentrem mais na lógica e menos na formatação. Acompanhe as atualizações e prepare-se para transformar a maneira como você documenta seus projetos Java com Asciidoclet!