当我在一个视图中在 ClearCase 中运行我的"gradle build"命令时,等待命令完成,然后切换到另一个视图,然后在第二个视图中运行相同的命令,没有任何工作正常,因为守护程序不能很好地处理视图。为了让它正常工作,我必须在每次切换视图时运行"gradle --stop"(这非常频繁),或者运行"gradle --no daemon build",这完全违背了拥有守护进程的目的。最终最糟糕的部分是,偶尔我忘记杀死恶魔,然后对我们的完整软件构建进行完全干净的构建(~15 分钟),然后才意识到我构建了错误的代码库。
我不愿意完全摆脱守护进程,因为只要我保持一个视图,它就会产生如此积极的影响,所以我想知道是否有办法解决这个问题,或者它是否只是归结为这样一个事实,即 gradle 守护进程不是为与 ClearCase 一起使用而设计的。
在我看来,应该有某种方法可以使守护进程特定于视图,但也许从未这样做过。
如果可能,解决方法是使用快照视图而不是动态视图(动态视图使用 MVFS:多版本文件系统,虚拟文件系统)
您只能使用加载规则签出 Vob 的一部分,以便不下载所有内容。
更复杂的方法是开发一个 gradle 包装器,因为它是为了支持另一个基于 FUSE 的虚拟文件系统而实施的包装器:avasquez614/sec-cloud-fs
(这里是包装器)