gpt4 book ai didi

Gradle 依赖于 buildscript 中的项目

转载 作者:行者123 更新时间:2023-12-04 04:25:59 27 4
gpt4 key购买 nike

如果可以在 Gradle 中使用来自其他项目的任务,我想尝试一下。假设 ProjectB 是一个 src/main/groovy 包含 com.MyTask 的项目,有父 ProjectA

在 ProjectC 的 build.gradle 中,也有父 ProjectA:

buildscript {
dependencies{
project(':ProjectB')
}
}

这似乎是合法的,因为在“project(:'ProjectB')”中引入一个错字很难失败。同样失败的是引入这一行:
import com.MyTask

项目引用在 buildscript 关闭中无效吗?还尝试将 com.MyTask 移动到 buildSrc/src/main/groovy 并获得相同的成功。

最佳答案

对我有用的解决方案是使“com.MyTask”在配置时和源代码中都可用。
ProjectA(父项)将其添加到 buildSrc/build.gradle 的 sourceSets 中:

sourceSets{
main{
groovy{
srcDir 'ProjectB/src/main/groovy'
}
}
}

现在 ProjectC 和所有其他项目都可以使用 MyTask。同时它与 ProjectB 的最终 jar 捆绑在一起。

Adam Murdoch、Luke Daley 和 Steve Ebersole 也对这个问题进行了彻底的讨论: http://gradle.1045684.n5.nabble.com/buildSrc-as-a-regular-project-td5677255.html

编辑:操作父 buildSrc 比独立项目更智能。这样 IntelliJ 就很开心了。

关于Gradle 依赖于 buildscript 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17050159/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com