我正在使用Eclipse的STS插件创建gradle多项目。我以为我在读完教程后得到了基本的知识,但我无法再现所显示的行为。添加时
allprojects {
task hello << {task -> println "I'm $task.project.name" }
}
subprojects {
hello << {println "- I GradleMaster"}
}
对于父项目的build.gradle,我将假设每个项目执行的任务'hello‘。为子项目实际进行了2次,但结果只是:
[sts] -----------------------------------------------------
[sts] Starting Gradle build for the following tasks:
[sts] :hello
[sts] -----------------------------------------------------
:hello
I'm GradleMaster
BUILD SUCCESSFUL
我的项目树看起来或多或少是这样的:
Application/
GradleMaster/
build.gradle
settings.gradle
EAR/
build.gradle
EJB/
build.gradle
AppClient/
build.gradle
include ':EAR', ':EJB', ':AppClient'
在写这个问题的时候,我没有想到这可能是Eclipse STS插件的问题,而不是Gradle本身的问题。事实上,我甚至没有提到我将Gradle与Eclipse一起使用,这使得这个问题几乎无法回答。
结果是STS插件调用任务的方式。有任务和任务选择器。调用任务只在项目中执行任务,而调用任务选择器则执行多生成项目中同名的所有任务。
st_oehme在Gradle论坛的帖子带我走上了正轨。
我知道我能做到 但这也会得到projA和projB,我只想在c,d,E上运行任务...请让我知道实现这一点的最佳方法。
IDE:spring工具套件4 框架:spring boot 版本:v6 我已经创建了一个由3个子项目a、B和C组成的多项目gradle构建。我想在根构建中创建一个自定义任务。gradle要实现以下操作,运行自定义任务将 1)执行子项目a的bootRun任务。 2)然后几秒钟后,执行子项目B和C的bootRun任务 *Bootrun是一个将项目作为spring boot应用程序运行的任务 注意,子
我有一个非常基本的多项目分级设置,如下所示: 文件包括这两个子项目。根项目不应用java插件,但两个子项目都应用了。使用时,所有东西都按预期生成。 但是,据我所知,由于我没有在根项目中应用插件,因此它不应该有任务。 的输出显示任务。 但的输出只显示列有和。 所以我的问题是--在这个场景中到底执行了什么?gradle只是找到所有子项目中匹配供应模式的每一个任务吗?是否有关于此任务名称解析的特定规则?
我正在使用以下项目结构Project ---子项目1 ---子项目2 ---子项目3 |build.gradle |设置。格拉德尔 子项目2取决于子项目1 子项目3取决于子项目2 对于所有子项目,我需要有任务“构建”,这将是每个项目的自定义任务。但在“构建”之前必须执行一些初始化任务(对于所有子项目都相同)。问题是,这个初始化任务必须在构建期间执行一次,而且只能执行一次,无论我在构建什么-根项目或
yield 指令可以很简单的将异步控制流以同步的写法表现出来,但与此同时我们将也会需要同时执行多个任务,我们不能直接这样写: // 错误写法,effects 将按照顺序执行 const users = yield call(fetch, '/users'), repos = yield call(fetch, '/repos') 由于第二个 effect 将会在第一个 call 执行完
https://docs.gradle.org/current/userguide/custom_tasks.html 如何使此任务在执行阶段运行?正在传递一个空闭包 唯一的解决办法? 但是hello任务似乎是在构建的配置阶段调用的。