Rewrite介绍

OpenRewrite支持大规模分布式源代码重构,用于框架迁移、漏洞补丁和API迁移。

https://docs.openrewrite.org/

大规模自动化源代码重构

OpenRewrite支持大规模分布式源代码重构,用于框架迁移、漏洞补丁和API迁移。虽然最初的重点是 Java 语言,但 OpenRewrite 一直在扩大语言和框架的覆盖范围.

语义代码搜索和转换

OpenRewrite 项目是一个语义代码搜索以及 Java 和其他源代码的转换生态系统。它由一个预打包的重构配方平台组成,用于常见的框架迁移和风格一致性任务。它还允许您定义自定义配方以实现广泛的源代码转换。

OpenRewrite 有什么作用?

OpenRewrite 的工作原理是对无损语义树(LST) 表示您的源代码,并将修改后的树打印回源代码。然后,您可以查看代码中的更改并提交。对 LST 的修改在游客和访客被聚合成配方(recepes). OpenRewrite 配方对遵循原始格式的源代码进行微创更改。

例如,如果要在所有测试文件中一致地使用静态导入,而不是手动执行此操作,则可以使用 OpenRewrite 提供的 UseStaticImport 访问器。应用于下面的文件,您可以看到这生成的更改。

// Before OpenRewrite
import org.junit.Assert;
...

Assert.assertTrue(condition);
// After OpenRewrite
import static org.junit.Assert.assertTrue;
...

assertTrue(condition);

后续步骤