7

我有使用 AsciiDoc 的用户指南,尽管我没有花太多时间,但它非常漂亮。

AsciiDoc 插件很棒。所以我想在用户指南中传递我的 Maven 最终名称。

问题:如何做到这一点?

<finalName>${project.artifactId}-${project.version}-${version.state}-r${buildNumber}</finalName>

我的asciidoctor-maven-plugin配置是:

<plugin>
    <groupId>org.asciidoctor</groupId>
    <artifactId>asciidoctor-maven-plugin</artifactId>
    <version>${asciidoctor.maven.plugin.version}</version>
    <dependencies>
        <dependency>
            <groupId>org.asciidoctor</groupId>
            <artifactId>asciidoctorj-pdf</artifactId>
            <version>${asciidoctorj.pdf.version}</version>
        </dependency>
        <!-- Comment this section to use the default jruby artifact provided by the plugin -->
        <dependency>
            <groupId>org.jruby</groupId>
            <artifactId>jruby-complete</artifactId>
            <version>${jruby.version}</version>
        </dependency>
        <!-- Comment this section to use the default AsciidoctorJ artifact provided by the plugin -->
        <dependency>
            <groupId>org.asciidoctor</groupId>
            <artifactId>asciidoctorj</artifactId>
            <version>${asciidoctorj.version}</version>
        </dependency>
    </dependencies>
    <configuration>
        <sourceDirectory>src/docs/asciidoc</sourceDirectory>
        <sourceDocumentName>manual.adoc</sourceDocumentName>
        <!-- Attributes common to all output formats -->
        <attributes>
            <sourcedir>${project.build.sourceDirectory}</sourcedir>
        </attributes>
    </configuration>
    <executions>
        <execution>
            <id>generate-pdf-doc</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>process-asciidoc</goal>
            </goals>
            <configuration>
                <backend>pdf</backend>
                <!-- Since 1.5.0-alpha.9 PDF back-end can use 'rouge' as well as 'coderay'
            source highlighting -->
                <sourceHighlighter>rouge</sourceHighlighter>
                <attributes>
                    <icons>font</icons>
                    <pagenums/>
                    <toc/>
                    <idprefix/>
                    <idseparator>-</idseparator>
                </attributes>
            </configuration>
        </execution>
    </executions>
</plugin>
4

1 回答 1

10

官方用户指南在其传递 POM 属性部分中介绍了这种情况:

可以将 POM 中定义的属性传递给 Asciidoctor 处理器。这很方便,例如在生成的文档中包含 POM 工件版本号。

这是通过attributesconfiguration. AsciiDoc 属性值以通常的 Maven 方式定义:${myMavenProperty}.

<attributes>  
     <project-version>${project.version}</project-version>  
</attributes>

然后可以在文档中使用自定义 AsciiDoc 属性,如下所示:

The latest version of the project is {project-version}.

因此,您可以将以下内容应用于您现有的configuration

<configuration>
    <sourceDirectory>src/docs/asciidoc</sourceDirectory>
    <sourceDocumentName>manual.adoc</sourceDocumentName>
    <!-- Attributes common to all output formats -->
    <attributes>
        <sourcedir>${project.build.sourceDirectory}</sourcedir>
        <!-- the new property -->
        <final-name>${project.build.finalName}</final-name>
    </attributes>
</configuration>
于 2016-06-16T11:42:12.493 回答