我使用inria-spoon库编写了源代码转换。在我的转换器中有以下函数(它确保我的"process"函数只对所需的类调用):
public boolean isToBeProcessed(CtInterface<?> ctClass) {
return isProcessible(ctClass);
}
所以只有需要的类被转换。但是似乎所有的类都是从源目录复制到目标目录的。我希望只将转换后的类复制到目标目录。
在inria-spoon中是否有一些配置或处理?
目前我通过JUnit测试用例调用我的转换器,使用以下函数:
public void testTransform()
{
final String[] arguments = { "-i", "E:/input",
"-o", "E:/output", "-p",
"com.transformer.ClassTransformer",
"-c"};
final Launcher launcher = new Launcher();
launcher.setArgs(arguments);
launcher.run();
}
选项[(-f|--generate-files) <generate-files>]
,也可与API,似乎是你想要的。