Maven定制插件可以使用CoreMaven提供的增量构建支持吗?还是它必须自己实现?

Maven定制插件可以使用CoreMaven提供的增量构建支持吗?还是它必须自己实现?,maven,maven-plugin,incremental-build,Maven,Maven Plugin,Incremental Build,自定义Maven插件是否可以使用CoreMaven提供的增量构建支持,或者最好是完全自己实现,对输入进行SHA1哈希等 注意到例如/target/maven status/maven compiler plugin/compile/default compile with createdFiles.lst和inputFiles.lst,因此认为现有的自定义例如代码生成器maven plugin可以读取一些文件作为输入,生成一些输出,可以更改为正确使用maven插件API进行增量构建?不清楚插件代

自定义Maven插件是否可以使用CoreMaven提供的增量构建支持,或者最好是完全自己实现,对输入进行SHA1哈希等

注意到例如/target/maven status/maven compiler plugin/compile/default compile with createdFiles.lst和inputFiles.lst,因此认为现有的自定义例如代码生成器maven plugin可以读取一些文件作为输入,生成一些输出,可以更改为正确使用maven插件API进行增量构建?不清楚插件代码需要做什么与现在不同的事情才能成为增量代码。看起来没有关于这件事的任何文件

现有代码确实使用了例如org.sonatype.plexus.build.incremental.BuildContext.hasDelta(文件),但在org.sonatype.plexus.build.incremental.DefaultBuildContext.hasDelta(文件)中使用了“return true”(返回true),这并不奇怪……;-)这不是在Maven中实现的,还是可以进行不同的配置?这是否需要takari生命周期插件?(对于我要求的特定插件来说,这将是一个问题,因为使用takari jar而不是普通jar会干扰其他插件。)

了解定制Maven插件可能必须与Maven core API接口,以公开其输入文件之间依赖关系的概念。在这个特定的定制Maven插件中,一些输入是从项目类路径上的依赖项读取的。增量支持也能处理这个问题吗

了解现有的Maven插件,如Maven编译器插件,正在与增量构建作斗争(a la Gradle);请参阅[1]、[2]和[3],因此本Q专门用于了解如何扩展自定义Maven插件以支持增量构建

[1]

[2]

[3]

Maven定制插件可以使用CoreMaven的增量构建支持吗

对。看看“querydsl maven插件”的来源。您还可以通过找到BuildContext.hasdalta方法的更多用法

它必须自己实施吗

可以吗?对不得不没有

通常,这样的问题只意味着不必要的先发制人优化。在开始实现任何东西之前,您必须有合理的理由期待增量构建