我在github上维护一个开源项目,其中包含README.md包含当前版本项目的安装说明的文件1.0.0-SNAPSHOT.
将新版本发布到maven central时,是否可以自动更新此中包含的版本号README.md?
版本执行时maven-release-plugin,pom.xml中的版本已更新,但我在文档中找不到任何正确更新此外部文件的内容.
例:
README.md文件目前在1.0.0-SNAPSHOT.它位于maven源/资源之外,但它是在git上管理的.on mvn release:prepare,它应该更新为1.0.0,然后maven应该在标记新版本之前提交/推送更改.然后,mvn release:perform它应该转到下一个开发版本1.0.1-SNAPSHOT.
(链接到项目)
您可以像评论中提到的那样使用 maven-resources-plugin。
我没有尝试,但配置应该是这样的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>readme-md</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}</directory>
<includes>
<include>README.md</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<encoding>UTF-8</encoding>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
在你的 README.md 中,你想要的版本是你放置占位符的地方${project.version}。
我们告诉插件将资源从${project.basedir}maven 解析到根目录的目录复制到根目录,但只包含匹配README.md.
过滤选项用变量替换所有占位符,这些变量可以定义为系统属性、项目属性、在 pom.xml 或命令行中定义的过滤器资源。在这种情况下,我们使用项目属性version。
尽管评论是正确的,但最终会出现不一致的情况,以防发布出错。您可以通过在成功mvn resources:resources后显式调用来克服这个问题mvn release:perform。我希望这有帮助。
| 归档时间: |
|
| 查看次数: |
2435 次 |
| 最近记录: |