我们具有用于构建一些AsciiDoc文档的单一来源结构。一些版本将Maven与AsciiDoctor插件一起使用;这是开发人员的要求。
但是我们需要一个共享的图像目录(另一个版本的要求)。而且我们不想在存储库中使用符号链接,以便人们可以在Windows上进行本地构建。
我们现在要做的方法是指向pom.xml中asciidoctor插件配置中的imagesdir:
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<configuration>
<imagesDir>${project.basedir}/../../_images</imagesDir>
</configuration>
</plugin>
尽管该版本有效,但无法将图像复制到target/generated-docs
中。而是在现有位置引用图像。
如何使Maven构建正确地复制这些图像,并将HTML文件中的引用复制到generate-docs内部的副本中?我当然可以编写一个后处理脚本,但是在Maven中必须有某种方法可以做到这一点。..
答案 0 :(得分:0)
您可以使用资源插件复制所有图像。将此添加到您的版本:
<build>
<resources>
<resource>
<directory>src/main/asciidoc/images</directory>
<targetPath>../generated-docs/images</targetPath>
<filtering>false</filtering>
</resource>
</resources>
</build>
请相应地调整文件夹名称。将filtering
设置为false
,因为图像是二进制文件,并且您不希望Maven在此处进行替换。
根据您的设置,您可能不再需要imagesDir
。 imagesDir将仅指定图像相对于创建的HTML文件的位置。因此,它应该始终是一个相对URL。您的示例将包含一个绝对URL。