我有一个包含两个子模块的项目。
现在在服务器上的Gradle配置(构建文件)中,我从客户端创建一个jar文件,然后通过下面的代码片段将其包含在服务器上。最后,我根据服务器配置创建.war文件。
dependencies {
compile project(':client')
}
该体系结构类似于Spring Boot提出的资源处理方式。
现在,当我运行Gradle构建时,因为服务器依赖于客户端,所以服务器编译在客户端编译和测试完成之前不会启动。
我觉得我没有使用这种编译客户端和服务器的方式来使用Gradle的并行性。
是否有任何方法可以并行编译和运行测试用例,然后仅在子模块的任务完成时才创建.war文件?如何访问客户端和服务器模块的配置,然后在rootProject上创建一个新的war文件?
答案 0 :(得分:0)
您可以尝试在Gradle命令中添加flag --parallel。然而,这仍然是孵化功能。我注意到在运行Gradle守护程序时构建时间有了很大的改进,所以你也可以尝试一下。
答案 1 :(得分:0)
不,目前还没有这种级别的并行性。我认为团队正在慢慢致力于一般的并行任务执行,如in their spec所述。这应该允许您提出的那种行为。
也就是说,如果他们通过<mapper namespace="pl.my.package.MyNewMapper">
和maxParallelForks
选项独立运行,可以并行运行测试。 MrHaki在他的博客上给出了short how-to。请注意,这仅适用于单个forkEvery
任务实例。