返回介绍

深入了解 Tasks - 定位 tasks

发布于 2020-07-06 13:40:57 字数 2282 浏览 938 评论 0 收藏 0

你经常需要在构建文件里找到你定义的 tasks,
举个例子,
为了配置它们或者使用它们作为依赖. 有许多种方式都可以来实现定位.
首先,
每一个任务都必须是一个 project 的有效属性,
并使用任务名来作为属性名:

例子 15.4. 通过属性获取 tasks

build.gradle

  1. task hello
  2. println hello.name
  3. println project.hello.name

Tasks 也可以通过 tasks collection 来得到.

例子 15.5. 通过 tasks collection 获取 tasks

build.gradle

  1. task hello
  2. println tasks.hello.name
  3. println tasks['hello'].name

你也可以使用 tasks.getByPath() 方法通过任务的路径来使用任何 project 里的任务.
你可以通过使用任务的名字, 任务的相对路径或者绝对路径作为 getByPath() 方法的输入.

例子 15.6. 通过路径获取 tasks

build.gradle

  1. project(':projectA') {
  2. task hello
  3. }
  4. task hello
  5. println tasks.getByPath('hello').path
  6. println tasks.getByPath(':hello').path
  7. println tasks.getByPath('projectA:hello').path
  8. println tasks.getByPath(':projectA:hello').path

gradle -q hello 的输出

  1. > gradle -q hello
  2. :hello
  3. :hello
  4. :projectA:hello
  5. :projectA:hello

参考
TaskContainer 可以知道跟多关于定位 tasks 的选项.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文