TaskGraph.useFilter 替代 kotlin dsl

2024-04-09

我正在寻找 gradle 中这行代码的替代方案,并且正在寻找 kotlin dsl 中的对应部分,任何人都可以对此进行一些说明,因为它阻止了我的构建,并且由于 usefilter 在 kotlin dsl 中不可用而不知所措

gradle.taskGraph.useFilter {
    if (task.name.contains("GoogleServices") && (task.name.contains("Perf") || task.name.contains("Demo") || task.name.contains("Dev") || task.name.contains("Debug"))) {
        return false
    }
    return true
}

useFilter https://github.com/gradle/gradle/blob/v5.6.0/subprojects/core/src/main/java/org/gradle/execution/taskgraph/TaskExecutionGraphInternal.java#L31是在非公共接口中声明的方法TaskExecutionGraphInternal这是公众的子类型TaskExecutionGraph由实际的任务图实现类来实现。

致电给useFilter在 Groovy 中工作是因为动态调度:它在运行时搜索实际类的所有方法,从而允许调用那些无法通过公共 API 获得的方法。

在 Kotlin 中,您必须将任务图显式转换为该接口才能静态调用此方法:

(gradle.taskGraph as org.gradle.execution.taskgraph.TaskExecutionGraphInternal)
    .useFilter { it.name.contains("GoogleServices") && ... }

请注意,使用非公共 Gradle API 会使您的构建变得脆弱并且对升级 Gradle 版本非常敏感。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TaskGraph.useFilter 替代 kotlin dsl 的相关文章

随机推荐

  • Android 上的 pthread_create 警告

    打电话后pthread create函数我收到下一条消息 W libc 26409 pthread create sched setscheduler 调用失败 不允许操作 用于创建线程的代码是 pthread attr t threadA
  • 防止单个单词在 css/html 中环绕浮动

    有没有什么方法可以防止一个或两个单词环绕浮动 但如果有更多文本则允许它 这是一个示例 其中第一个文本有问题 但第二个文本很好 http jsfiddle net wdPCp http jsfiddle net wdPCp div class
  • AllowAnonymous 不适用于 Azure 广告身份验证

    我有一个 Asp net MVC 应用程序 在其中使用 Azure AD 身份验证来对用户进行身份验证 我想允许用户无需登录即可访问某些 api 控制器 我尝试将 AllowAnonymous 属性放在控制器顶部以跳过这些控制器进行身份验证
  • 无法杀死的控制台窗口

    我正在 Visual C 2008 下使用 GLUT 开发基于 OpenGL 的 2d 模拟 有时当我遇到断言 或未处理的异常并闯入调试器时 GLUT 显示窗口关闭 但控制台窗口保持打开状态 它们只是不能杀了 它们不会出现在任务管理器 进程
  • 计算的属性不会在 Powershell 中引发异常。有哪些解决办法?

    显然有一个通过设计怪癖 https connect microsoft com PowerShell feedback details 782806 calculated properties do not throw exceptions
  • 使用 Firefox 打开确认对话框时显示“$apply already in Progress”

    我 有时 变得很奇怪 申请已在进行中在以下看似无辜的情况下打开确认对话框时出错 var mod angular module app mod controller ctrl function scope interval http scop
  • 如何知道ngOnChanges中哪些@Input发生了变化?

    我正在使用 Angular 2 现在我有两个 inputaa and bb 我想要做 If aa改变 做某事 If bb改变 做其他事情 如何知道哪些 Input发生了变化ngOnChanges Thanks Input aa Input
  • 分析心率监测器返回的数据

    我正在尝试通过蓝牙读取心率监视器传输的数据 但我真的不知道如何读取心率监视器返回的字节 每个供应商可能都有自己的将数据包装成字节的方法 但是如何将这些字节转换为某种可读格式 以便我可以分析其中的变化 例如 ASCII 值或某些十六进制值 我
  • 如何调试特定的 JavaScript 点击事件?

    在雅虎天气页面上 有一个链接标记为C改变温度单位Fahrenheit to Celsius 我正在寻找调试此操作并了解 JavaScript 在幕后执行的内容 将 F 转换为 C 调试此类操作的方法是什么 Link http weather
  • phpMyAdmin 错误 504 网关超时重新加载

    我的 phpmyadmin 有一个非常烦人的问题 它出乎意料地出现 据我所知 我的专用服务器没有发生任何变化 当我尝试在浏览器中执行任何查询或显示执行时间超过 1 秒的视图时 Windows 7 上的 firefox 即行为相同 我收到以下
  • 在类中声明一个数组。 C++

    我想创建一个初始化数组和函数的类push向数组添加一个元素而不是打印它 作为初学者 我知道初始化有问题 除了函数之外一切正常push 它不打印数组 我的班级出了什么问题 include
  • 使用 exiftool 编辑 MP4 元数据

    我有一个 MP4 文件Title元数据 exiftool movie mp4 这使 Audio Bits Per Sample 16 Audio Sample Rate 48000 Handler Type Metadata Handler
  • 获取USB设备的父信息C++

    我正在开发一个 MFC 工具 用于检查连接的 USB 设备的一些驱动程序信息 例如位置信息 父级 硬件 ID 等 我已经获得了我想要的所有其他信息 但我一直在获取设备父级信息 我用过安装程序API dll在我的代码中获取设备信息 使用获取U
  • MSBuild with Azure - PublishProfileSet 计算结果为“”

    我正在尝试将我的项目部署到 Azure 我首先在 Azure 上研究 EF 代码几个小时 但我只用了一次就创建了一个用户 我去发布更新 现在收到以下错误 Invoke build failed due to exception Expect
  • QGraphicsView 和 QGraphicsItem:缩放视图矩形时不缩放项目

    我正在使用 QtQGraphicsView and QGraphicsItem 子类 当视图矩形更改时 有没有办法不缩放视图中项目的图形表示 例如放大时 默认行为是我的项目相对于我的视图矩形进行缩放 我想可视化二维点 这些点应该由一个细矩形
  • 我怎样才能卷曲深度爬行?

    我的 Deepcrawl 爬行仅给出 null 值 ch curl init curl setopt ch CURLOPT URL https api deepcrawl com accounts 00000 projects 195334
  • is.na() 应用于非(列表或向量)类型“NULL”意味着什么?

    我想从没有 NA 的 data frame 中选择具有前向过程的 Cox 模型 这是一些示例数据 test lt data frame x 1 runif 100 0 1 x 2 runif 100 0 5 x 3 runif 100 10
  • 检测 iOS 中的旋转变化

    我正在制作一个 iOS 应用程序 需要在旋转时进行一些界面重新排列 我试图通过实施来检测这一点 void orientationChanged NSNotification note 但这会在设备正面朝上或正面朝下时向我发出通知 我想要一种
  • 如何将数组对象中的数据保存到 MongoDB

    我在将数据从数组对象保存到 MongoDB 数据库时遇到问题 我有带有嵌入子文档的主文档的架构 主文档和所有其他子文档的保存均成功 但子文档是数组除外 正如您从屏幕截图中看到的 子文档中的字段没有保存到数据库中 Robo 3T 的屏幕截图
  • TaskGraph.useFilter 替代 kotlin dsl

    我正在寻找 gradle 中这行代码的替代方案 并且正在寻找 kotlin dsl 中的对应部分 任何人都可以对此进行一些说明 因为它阻止了我的构建 并且由于 usefilter 在 kotlin dsl 中不可用而不知所措 gradle