当我在 settings.gradle 文件中包含项目时,如何不包含构建任务?

     2023-02-26     88

关键词:

【中文标题】当我在 settings.gradle 文件中包含项目时,如何不包含构建任务?【英文标题】:How can I not include a build task when I include a project in my settings.gradle file? 【发布时间】:2013-01-24 15:27:05 【问题描述】:

我的settings.gradle 文件如下所示:

include "serverTest", "shared"

serverTest build.gradle 文件看起来像:

group = 'gradle'
version = '1.0'
defaultTasks 'build'
apply plugin: 'java'
apply plugin: 'eclipse'
sourceCompatibility = JavaVersion.VERSION_1_6

dependencies

  compile project(':shared')

目录结构是: 顶层包含 settings.gradle 文件,其中包含文件夹 shared 和 serverTest 。然后在serverTest目录中有build.gradle文件。

当我在顶层运行 gradle 时,它​​会输出:

:shared:compileJava UP-TO-DATE
:shared:processResources UP-TO-DATE
:shared:classes UP-TO-DATE
:shared:jar UP-TO-DATE
:serverTest:compileJava UP-TO-DATE
:serverTest:processResources UP-TO-DATE
:serverTest:classes UP-TO-DATE
:serverTest:jar UP-TO-DATE
:serverTest:assemble UP-TO-DATE
:serverTest:compileTestJava
:serverTest:processTestResources UP-TO-DATE
:serverTest:testClasses
:serverTest:test

我不希望它执行任务:serverTest:test。我尝试将我的 defaultTasks 更改为仅 compileJava 但这不起作用,还有其他人有什么想法吗?

【问题讨论】:

我假设您还为根项目声明了defaultTasks?据我所知,只考虑默认项目的defaultTasks(根据调用 Gradle 的目录确定)。 您是一直想跳过serverTest:test 任务,还是偶尔跳过? @HieryNomus 当我从顶层运行它时总是 @PeterNiederwieser 但即使我确实在根项目上设置了 defaultTasks,它不会仍然执行与现在在 serverTest 项目中相同的任务吗? 好吧,如果您将build 设置为默认值,那肯定包括test究竟你想达到什么目的? 【参考方案1】:

好吧,这个问题已经以不同的方式提出,问题的主题是;

如何排除构建任务的子任务?

1 . gradle build -x test

上述指令在从 CLI 执行 gradle build 命令时很有帮助;这不包括测试任务,但我们想在 build.gradle 文件中以编程方式排除测试任务。请在下方查看相应问题的答案。

2 。 check.dependsOn -= 测试

将这个小脚本复制到您的 build.gradle 文件中。 现在,当您从 CLI 执行 gradle build 时,您的测试根本不会运行。

干杯!

【讨论】:

【参考方案2】:

只有存在构建任务时,您才可以尝试禁用该任务...类似于:

project(":serverTest").test.onlyIf  !gradle.taskGraph.hasTask(":shared:build") 

【讨论】:

为啥 Gradle 需要 settings.gradle 文件?

】为啥Gradle需要settings.gradle文件?【英文标题】:WhydoesGradleneedasettings.gradlefile?为什么Gradle需要settings.gradle文件?【发布时间】:2014-01-2218:10:27【问题描述】:我要将我的Android项目从Ant转换为Gradle。我的Eclipse工作区非常简单:Wo... 查看详情

当我在php中包含文件时,它给我一个空白屏幕?(代码片段)

我试图在页面顶部包含标题,但它给了我一个空白屏幕。当我删除它时,PHP文件运行并显示内容:<?phpinclude("header.php");?>出了什么问题?答案该文件可能存在错误。尝试转换显示错误并报告:ini_set('display_errors',1);error_reporting... 查看详情

当我在 MySQL 中的 select 语句中包含更多列时,输出不同

】当我在MySQL中的select语句中包含更多列时,输出不同【英文标题】:DifferentoutputwhenIincludemorecolumnstotheselectstatementinMySQL【发布时间】:2021-04-1514:02:51【问题描述】:为什么我在运行这两个查询时没有得到相同的结果?如果我运... 查看详情

ESLint 不相信我在我的 tsconfig 中包含了 .vue 文件

...我正在尝试让ESLint解析我的TypeScript文件和Vue组件,但是当我运行vue-cli-se 查看详情

使用 DLL 时在应用程序中包含 .lib 文件

...即使我在DLL中的函数已正确导出,它也无法找到该方法。当我在我的应用程序的附加依赖项中包含相应D 查看详情

如何在 Cocoa 应用程序中包含 OpenCV?

...coaApplication?【发布时间】:2010-09-2808:04:23【问题描述】:当我使用“命令行工具”c++stdc++模板创建xCode项目时,我能够包含和编译opencv头文件并运行一些代码。但我想在“Cocoa应用程序”上下文中使用OpenCV。使用该模板创建时,... 查看详情

在 ifdef 中包含预编译的头文件

...要这样的东西:#ifdef_WIN32#include"precompiled.h"#endif//#ifdefWIN32当我在Windows上 查看详情

C# 压缩文件。如何提取或跳过名称中包含无效字符的文件?

...:我在.zip存档中有一个名为“TheShootingStar”.jpeg的文件。当我尝试通过ZipFile.ExtractToDirectory或ZipArchiveEntry.E 查看详情

在 MFC dll 中包含 boost mutex 头文件时断言

...件包含到使用我的mfcdll项目编译的任何.cpp文件中,那么当我在调试模式下运行使用此dll的程序 查看详情

在 Nginx 中包含虚拟主机文件

...nNginx【发布时间】:2014-01-3108:36:44【问题描述】:以前,我在我的CentOS6机器上通过yum安装了Nginx。这给了我/etc/nginx/conf.d文件夹,我在其中为每个站点创建了一个单独的文件,其中包含server指令和其他配置。现在,我必须将Phusion... 查看详情

Flutter build apk - 请更新您的 settings.gradle 文件

】Flutterbuildapk-请更新您的settings.gradle文件【英文标题】:Flutterbuildapk-pleaseupdateyoursettings.gradlefile【发布时间】:2020-07-1607:11:07【问题描述】:Flutterrun在macos上运行良好但是当我尝试构建我的应用程序的发布apk版本时,它会引发... 查看详情

如何从我在网上找到的模板中在 Rails 6 中包含多个 js 文件?

】如何从我在网上找到的模板中在Rails6中包含多个js文件?【英文标题】:HowdoincludemultiplejsfilesinRails6fromatemplateIfoundonline?【发布时间】:2021-09-0310:32:29【问题描述】:事情是这样的……我为此损失了将近一个月,我真的不知道该... 查看详情

不能在文件中包含网点

...现在我想在我的viewController.m文件中创建一个Outlet。但是当我尝试使用助手编辑器从情节提要连接到viewcontroller.m文件时,什么都没有发生,并且我不允许将插座连接到该文 查看详情

如何在 CMake 项目中包含外部库

...到困惑。我正在尝试这样做以使我正在开发的库更便携。当我将其设置为可执行文件时,该库已正常编译,但当我将其更改为库时,它不会包含该库。目前,当我尝试将我的库包含在另一个项目中时,它会显示“无法打开包含文... 查看详情

发出可拖动元素中包含的拖动元素

...leelement【发布时间】:2018-09-1900:34:28【问题描述】:嗯,当我将一个包含在另一个可拖动div中的可拖动div拖动到另一个可拖动div时,我遇到了问题。Draggabledivs我在两个div上都附加了2个事件处理程序,但是当我拖动div#1中包含的di... 查看详情

在 Python 中包含外部文件

...模拟参数包含在一个外部文件中。最简单的方法是什么?我在StackOverflow问题中找到了一个答案Howtoimportamodulegiventhefullpath? 查看详情

在gradle项目中包含jar文件[重复]

...在尝试在我的“Java”gradle项目中包含一个本地jar文件。我在项目的“主/资源”文件夹中添加了jar文件。并在build.gradle中添加了以下几行:-编译文件(\'./src/main/resources/abc.jar 查看详情

从我的项目中包含的 jar 调用属性文件

...证的jar(我构建了它:MyJar.jar),在那个jar中我必须读取我在包中的一些属性(例如com.jar)。myproject.properties)在我的项目的属性文件中。我在MyJar.jar中有一个方法 查看详情