Как включить 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, который будет сгенерирован в конце фазы сайта.

Другие вопросы по тегам