Как включить buildnumber в maven pdf:pdf
Я пытаюсь включить номер сборки в PDF, которые генерируются с плагином Maven PDF. У меня есть вся документация проекта, над которой я работаю, написанная как сайт maven. Таким образом, вся документация хранится с исходным кодом.
pom.xml
Итак, в pom.xml я определил плагин buildnumber:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<format>{0,date,yyyy-MM-dd_HH-mm}_{1}</format>
<items>
<item>timestamp</item>
<item>${user.name}</item>
</items>
</configuration>
</plugin>
PDF.xml
И в pdf.xml
<cover>
<coverTitle>${project.name}</coverTitle>
<coverSubTitle>v. ${project.version}</coverSubTitle>
<coverType>Technical documentation</coverType>
<coverVersion>build: ${project.buildNumber}</coverVersion>
<projectName>${project.name}</projectName>
<projectLogo>images/telfortlogo.jpg</projectLogo>
</cover>
Я даже поставил фильтрацию ресурсов в ${basedir}/site
но это не имеет никакого эффекта. Я продолжаю получать ${buildNumber} вместо результата плагина buildnumber.
1 ответ
Чтобы получить что-то похожее, моя конфигурация плагина buildnumber выглядела так:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>pre-site</phase>
<goals>
<goal>create</goal>
</goals>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<format>{0,date,yyyy-MM-dd_HH-mm}_{1}</format>
<items>
<item>timestamp</item>
<item>${user.name}</item>
</items>
</configuration>
</execution>
</executions>
</plugin>
И в pdf.xml:
<cover>
<coverTitle>${project.name}</coverTitle>
<coverSubTitle>v. ${project.version} build ${buildNumber}</coverSubTitle>
<coverType>User Guide</coverType>
<projectName>${project.name}</projectName>
</cover>
Я считаю, что ваша проблема связана с тем, что вы выполняете buildnumber create цель на этапе создания ресурсов. И если вы используете mvn pdf:pdf
или же mvn site
, generate-ресурсы не будут выполнены. В моей настройке я настроил плагин pdf для запуска на этапе сайта:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pdf-plugin</artifactId>
<executions>
<execution>
<id>pdf</id>
<phase>site</phase>
<goals>
<goal>pdf</goal>
</goals>
Затем я могу получить PDF, который будет сгенерирован в конце фазы сайта.