为不同任务配置多项目gradle版本

为不同任务配置多项目gradle版本,gradle,Gradle,我已经与Gradle建立了一个多项目,如下所示(当然,简化为呈现这种情况) 背景 这样设置的原因如下: 项目A是B和C的共同依赖项 我不希望B或C位于不同的源repo上,以避免发布管理开销,能够使用对A的依赖关系。特别是,我不希望在B和C项目中意外使用错误版本的A,造成中断 项目B和C使用build生成最终工件,但有自己的自定义任务来执行它们。例如,projectB使用customPlugin:run,project C使用bootRun 问题 项目B和C不需要出现在彼此的构建过程中。需要明

我已经与Gradle建立了一个多项目,如下所示(当然,简化为呈现这种情况)

背景 这样设置的原因如下:

  • 项目
    A
    B
    C
    的共同依赖项
  • 我不希望
    B
    C
    位于不同的源repo上,以避免发布管理开销,能够使用对
    A
    的依赖关系。特别是,我不希望在
    B
    C
    项目中意外使用错误版本的
    A
    ,造成中断
  • 项目
    B
    C
    使用
    build
    生成最终工件,但有自己的自定义任务来执行它们。例如,project
    B
    使用
    customPlugin:run
    ,project C使用
    bootRun
问题 项目
B
C
不需要出现在彼此的构建过程中。需要明确的是,在构建和运行
B
时,不需要在构建中包含
C
。反之亦然。但每一个项目的渐变构建都以某种方式相互注入

执行
build
任务时,将编译整个多项目树,并在其
target
文件夹中生成相应的工件。但是调用各自的run“task”会以某种方式再次触发构建,在这种情况下,无法容忍其他项目。这也是公平的,因为另一个项目是独立的,不得以任何方式包含到另一个项目中

在分别构建项目
B
C
时,我如何明确指示Gradle将其他项目留给自定义任务

非常感谢

root
  +--> A (java library)
  +--> B (java)
  +--> C (spring-boot)