我正在使用maven-changelog-plugin
生成一个git diff变更集。这个插件在我运行mvn site
或mvn changeset:changeset
时运行,并将变更集文件输出到target/site/changeset.html
和/target/changeset.xml
中。我希望将生成的文件包含在我运行mvn clean install
时构建的jar中。
如何将生成的文件包含在JAR中?我尝试使用build-helper-maven-plugin
添加工件或源代码,但似乎变更集是在最后一步创建的,或者无法发现。
我最近的尝试:
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changelog-plugin</artifactId>
<version>2.3</version>
<reportSets>
<reportSet>
<id>changelog-report</id>
<configuration>
<type>range</type>
<range>30</range>
</configuration>
<reports>
<report>changelog</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
<profiles>
<profile>
<id>add-changelog-to-artifact</id>
<activation>
<file><exists>target/site/changelog.html</exists></file>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>target/site/changelog.html</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
1条答案
按热度按时间b4lqfgs41#
maven-changelog-plugin
的问题在于,它总是在比需要它的构建步骤晚的一个步骤运行,我最终使用了gitlog-maven-plugin
,这允许我更改它执行的阶段