3

我编写了一个 maven mojo,它对文件集指定的一组 java 类进行就地 JavaFlow 检测。也就是说,srcfile = destfile。

该插件在流程类阶段触发。

如果我做一个 mvn clean install 这工作得很好。但是,如果我在 mvn clean install 之后执行 mvn install 它会再次运行处理,即使所有类文件都没有更改。就我而言,这非常非常糟糕...... :(

由于我进行了适当的检测,因此我也不能真正使用文件时间戳。

我需要一些方法来告诉我的 mojo 只在由编译器重新编译的文件上运行:编译......有什么想法吗?

4

1 回答 1

2

我尝试使用 StaleSourceScanner,但它没有按我的意愿工作。

所以我最终在检测后对文件进行校验和,并在下一个构建步骤中检查它们。

作为一项附加的安全措施,我修改了 JavaFlow 源代码,以便如果一个类被检测两次,则会引发异常。

编辑:实际上,现在我使用 ASM 来检查该类是否已被检测...如果有,请不要检测它。没有校验和了。

于 2012-06-05T14:18:48.960 回答