Melhore a escrita das documentações Java com Asciidoclet

Por Gaspar Barancelli Junior em 02 de maio de 2024
Imagem ilustrativa sobre o post 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!

// Compartilhe esse Post

💫
🔥 NOVO APP

Domine o Inglês em 30 dias!

Inteligência Artificial + Repetição Espaçada • Método cientificamente comprovado

✅ Grátis para começar 🚀 Resultados rápidos
×