我们有生成大部分代码的脚本。
我们不想使用脚本生成所有代码。
通常,我们会将此代码保持独立,但我们正在考虑生成代码部分的脚本,这些代码也将由程序员修改,例如:函数/类定义,即首先我们解析指定函数参数和枚举的头文件,然后生成所有空函数。
我们可以确保程序员永远不会修改脚本生成的代码。
我们需要一种方法来在脚本编辑后自动合并这些文件;例如我们的输入定义文件已更新(外部),我们需要修改函数参数。
两个脚本:“上一个”和“当前”(相同)
修改“当前”并重新生成代码; “P4编辑”进入变更列表
合并代码:
2.A。 Base =从“上一个”生成的代码;在临时文件夹
2.b中。左=从“当前”生成的代码
2.C。对=现有代码;当前版本已检入P4
将“当前”保存为“上一个”
我无法弄清楚如何自动化第2步。我们有100多个文件要自动生成,因此手动合并不是一种选择。
使用“p4merge.exe”需要GUI交互;据我所知。
我查看了“p4 merge”,“p4 integrate”,“p4 resolve”和“p4 sync”,但我无法弄清楚如何调用正确的行为。
任何帮助都将受到赞赏,包括替代方法。
干杯。
答案 0 :(得分:1)
根据詹姆斯德林的评论,我想出了如何实现我想要的目标。
一个脚本“当前”。
将生成的文件添加到P4(始终为版本#1)
“p4 sync [file]#1”然后“p4编辑[文件]”
修改“当前”并重新生成代码
再次运行“p4 sync”(无需修订)以标记要解决的文件。
运行“p4 resolve -am”以自动解析文件。
即使在多次迭代脚本之后,这也应该可以工作。只要我能避免冲突,那么这应该是完全自动化的。
答案 1 :(得分:0)
不是将机器生成的代码与人工编写的代码放在相同的源文件中,而是改变代码生成策略,以便工具生成超类代码,人类可以单独创建子类机器生成的类,它们覆盖了提供所需行为的必要方法。
这是我过去通常做过这种发展的方式。